Node<D, S, N>: {
    Class: Node.Class<D, S, N>;
    TypeGuard: Node.TypeGuard<D, S>;
}

Represents a node type. All node types must be subtypes of BaseNode. An node type has 5 components:

Type Parameters

  • D extends BaseNode.Data

    Type parameter for the data contained in the node type.

  • S extends BaseNode.ScratchData

    Type parameter for the scratch data contained in the node type.

  • N extends BaseNode.Class<D, S>

    Type parameter for the instance of the class with functionality for this node type.

Type declaration