A node of a type this version of Cube doesn't know, e.g. from a query saved by a newer version. It can be shown, inspected and edited around, but never validated or executed.

It gets one synthetic input port per input it had (in0, in1, ...), so its edges are real connections: the graph rules, healing on removal and layout all apply to them. Since what its ports mean is unknown, it never accepts new inputs.

It keeps the JSON it was saved as, so re-saving writes it back as it was (PLAN §4.10): everything but id and inputs, which come from the query.

Hierarchy (View Summary)

Properties

hasInputs: boolean

Whether the saved JSON had an inputs key, which re-saving then writes too

id: string

Unique within the query and shown to users, e.g. filter101

json: JsonObject

The saved JSON without id and inputs, kind included, e.g. {kind: 'future', rows: […]}

key: number

Assigned at construction from a monotonic sequence: the node's identity for change detection

rest: JsonObject

The keys of the node's saved JSON that this version does not know, kept so a re-save writes them back (PLAN §10.3); edits keep them too

Accessors

  • get acceptsNewInputs(): boolean

    Whether edits may change which nodes feed this one. Not for a node whose port semantics are unknown, such as an Unknown node.

    Returns boolean

  • get consumesInputOrder(): boolean

    Whether the node takes rows by their order, as a Limit does: the emitter then writes its input's order as a sort just before it (PLAN §11.4)

    Returns boolean

  • get portLabels(): readonly string[]

    Labels for the input ports, shown on the edges that feed them

    Returns readonly string[]

  • get ports(): readonly string[]

    The named input slots, in order: none for a source, one for a unary transform, two for a binary one

    Returns readonly string[]

  • get savedKind(): undefined | string

    The type it was saved with, e.g. future

    Returns undefined | string

  • get type(): string

    The type discriminator, e.g. filter

    Returns string

Methods

  • The description without the values users typed, which may be sensitive, for logs and telemetry. By default the description, which has none.

    Returns string

  • Whether the node has none of the settings it needs yet, e.g. a Join with no key pair: the canvas shows it as not set, not by its description

    Returns boolean

  • Never valid: what the node does is unknown. It gives no reason, so it shows the generic error.

    Parameters

    • inputSchemas: readonly Schema[]
    • Optionalerrors: string[]

    Returns boolean

  • The node to keep once its two inputs swap ports: by default this node. A node whose settings name its inputs by side, such as a Join's key columns, returns a new node (same id) with those settings swapped too.

    Returns QueryNode