interface CollectionTag {
    collection: "map" | "seq";
    createNode?: ((schema, value, ctx) => yaml.Node<unknown>);
    default?: boolean;
    format?: string;
    identify?: ((value) => boolean);
    nodeClass?: (new () => yaml.Node<unknown>);
    stringify?: undefined;
    tag: string;
    test?: undefined;
    resolve(value, onError, options): unknown;


  • TagBase
    • CollectionTag


collection: "map" | "seq"

The source collection type supported by this tag.

createNode?: ((schema, value, ctx) => yaml.Node<unknown>)

Type declaration

    • (schema, value, ctx): yaml.Node<unknown>
    • An optional factory function, used e.g. by collections when wrapping JS objects as AST nodes.


      • schema: yaml.Schema
      • value: unknown
      • ctx: CreateNodeContext

      Returns yaml.Node<unknown>

default?: boolean

If true, together with test allows for values to be stringified without an explicit tag. For most cases, it's unlikely that you'll actually want to use this, even if you first think you do.

format?: string

If a tag has multiple forms that should be parsed and/or stringified differently, use format to identify them.

identify?: ((value) => boolean)

Type declaration

    • (value): boolean
    • Used by YAML.createNode to detect your data type, e.g. using typeof or instanceof.


      • value: unknown

      Returns boolean

nodeClass?: (new () => yaml.Node<unknown>)

Type declaration

    • new (): yaml.Node<unknown>
    • The Node child class that implements this tag. If set, used to select this tag when stringifying.

      Returns yaml.Node<unknown>

stringify?: undefined
tag: string

The identifier for your data type, with which its stringified form will be prefixed. Should either be a !-prefixed local !tag, or a fully qualified tag:domain,date:foo.

test?: undefined


  • Turns a value into an AST node. If returning a non-Node value, the output will be wrapped as a Scalar.


    Returns unknown

Generated using TypeDoc