Skip to content

JSON tool input use cases for consideration #15

@danfuzz

Description

@danfuzz

There are a lot of useful coordinates in the cross-product of:

  • Source: {stdin, file named via commandline argument, content of commandline argument}
  • Content: {parsed JSON document, text/binary blob, list of newline-separated strings, list of NUL-separated strings}
  • Internal Destination: {single pipeline input, streamed multiple pipeline inputs, assigned variable}

Things that become pipeline input:

  • Commandline arguments:
    • Single JSON document (e.g. quoted string).
    • Single literal string.
    • File name (including stdin) of a single JSON document.
    • File name (including stdin) of a concatenation of one or more JSON documents.
      • Presented as stream.
      • Presented as single array of all contents.
    • File name (including stdin) of a text or binary file.
      • Presented as a single string of the entire blob.
      • Parsed as newline-separated lines.
        • Presented as stream.
        • Presented as single array of all contents.
      • Parsed as NUL-separated lines.
        • Presented as stream.
        • Presented as single array of all contents.

Things that become assigned variables, defined via commandline arguments:

  • JSON document.
  • Literal string.
  • Contents of named text or binary file.
    • Single string of the entire blob.
    • Parsed as newline-separated lines, presented as array of strings.
    • Parsed as NUL-separated lines, presented as array of strings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions