interface CollectionTag {
    collection: "map" | "seq";
    createNode?: ((schema: yaml.Schema, value: unknown, ctx: CreateNodeContext) => yaml.Node);
    default?: boolean;
    format?: string;
    identify?: ((value: unknown) => boolean);
    nodeClass?: (new () => yaml.Node);
    stringify?: undefined;
    tag: string;
    test?: undefined;
    resolve(value: yaml.YAMLMap.Parsed<ParsedNode, null | ParsedNode> | yaml.YAMLSeq.Parsed<ParsedNode>, onError: ((message: string) => void), options: ParseOptions): unknown;
}

Hierarchy

  • TagBase
    • CollectionTag

Properties

collection: "map" | "seq"

The source collection type supported by this tag.

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

An optional factory function, used e.g. by collections when wrapping JS objects as AST nodes.

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: unknown) => boolean)

Used by YAML.createNode to detect your data type, e.g. using typeof or instanceof.

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

The Node child class that implements this tag. If set, used to select this tag when stringifying.

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

Methods

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

    Parameters

    Returns unknown