summaryrefslogtreecommitdiff
path: root/node_modules/yaml/index.d.ts
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-01-21 14:39:46 +0100
committerMinteck <contact@minteck.org>2022-01-21 14:39:46 +0100
commit3a04cb197f152f171fba679663a91a9bb61d710e (patch)
tree825d8f9b0daab3e434d85704144ca87492da9b92 /node_modules/yaml/index.d.ts
parentc2aa7bf38fb30de2d04f87f8e7780e4c768ae6b1 (diff)
downloadcobalt-3a04cb197f152f171fba679663a91a9bb61d710e.tar.gz
cobalt-3a04cb197f152f171fba679663a91a9bb61d710e.tar.bz2
cobalt-3a04cb197f152f171fba679663a91a9bb61d710e.zip
Add config management
Diffstat (limited to 'node_modules/yaml/index.d.ts')
-rw-r--r--node_modules/yaml/index.d.ts372
1 files changed, 372 insertions, 0 deletions
diff --git a/node_modules/yaml/index.d.ts b/node_modules/yaml/index.d.ts
new file mode 100644
index 0000000..53eb011
--- /dev/null
+++ b/node_modules/yaml/index.d.ts
@@ -0,0 +1,372 @@
+import { CST } from './parse-cst'
+import {
+ AST,
+ Alias,
+ Collection,
+ Merge,
+ Node,
+ Scalar,
+ Schema,
+ YAMLMap,
+ YAMLSeq
+} from './types'
+import { Type, YAMLError, YAMLWarning } from './util'
+
+export { AST, CST }
+export { default as parseCST } from './parse-cst'
+
+/**
+ * `yaml` defines document-specific options in three places: as an argument of
+ * parse, create and stringify calls, in the values of `YAML.defaultOptions`,
+ * and in the version-dependent `YAML.Document.defaults` object. Values set in
+ * `YAML.defaultOptions` override version-dependent defaults, and argument
+ * options override both.
+ */
+export const defaultOptions: Options
+
+export interface Options extends Schema.Options {
+ /**
+ * Default prefix for anchors.
+ *
+ * Default: `'a'`, resulting in anchors `a1`, `a2`, etc.
+ */
+ anchorPrefix?: string
+ /**
+ * The number of spaces to use when indenting code.
+ *
+ * Default: `2`
+ */
+ indent?: number
+ /**
+ * Whether block sequences should be indented.
+ *
+ * Default: `true`
+ */
+ indentSeq?: boolean
+ /**
+ * Allow non-JSON JavaScript objects to remain in the `toJSON` output.
+ * Relevant with the YAML 1.1 `!!timestamp` and `!!binary` tags as well as BigInts.
+ *
+ * Default: `true`
+ */
+ keepBlobsInJSON?: boolean
+ /**
+ * Include references in the AST to each node's corresponding CST node.
+ *
+ * Default: `false`
+ */
+ keepCstNodes?: boolean
+ /**
+ * Store the original node type when parsing documents.
+ *
+ * Default: `true`
+ */
+ keepNodeTypes?: boolean
+ /**
+ * When outputting JS, use Map rather than Object to represent mappings.
+ *
+ * Default: `false`
+ */
+ mapAsMap?: boolean
+ /**
+ * Prevent exponential entity expansion attacks by limiting data aliasing count;
+ * set to `-1` to disable checks; `0` disallows all alias nodes.
+ *
+ * Default: `100`
+ */
+ maxAliasCount?: number
+ /**
+ * Include line position & node type directly in errors; drop their verbose source and context.
+ *
+ * Default: `false`
+ */
+ prettyErrors?: boolean
+ /**
+ * When stringifying, require keys to be scalars and to use implicit rather than explicit notation.
+ *
+ * Default: `false`
+ */
+ simpleKeys?: boolean
+ /**
+ * The YAML version used by documents without a `%YAML` directive.
+ *
+ * Default: `"1.2"`
+ */
+ version?: '1.0' | '1.1' | '1.2'
+}
+
+/**
+ * Some customization options are availabe to control the parsing and
+ * stringification of scalars. Note that these values are used by all documents.
+ */
+export const scalarOptions: {
+ binary: scalarOptions.Binary
+ bool: scalarOptions.Bool
+ int: scalarOptions.Int
+ null: scalarOptions.Null
+ str: scalarOptions.Str
+}
+export namespace scalarOptions {
+ interface Binary {
+ /**
+ * The type of string literal used to stringify `!!binary` values.
+ *
+ * Default: `'BLOCK_LITERAL'`
+ */
+ defaultType: Scalar.Type
+ /**
+ * Maximum line width for `!!binary`.
+ *
+ * Default: `76`
+ */
+ lineWidth: number
+ }
+
+ interface Bool {
+ /**
+ * String representation for `true`. With the core schema, use `'true' | 'True' | 'TRUE'`.
+ *
+ * Default: `'true'`
+ */
+ trueStr: string
+ /**
+ * String representation for `false`. With the core schema, use `'false' | 'False' | 'FALSE'`.
+ *
+ * Default: `'false'`
+ */
+ falseStr: string
+ }
+
+ interface Int {
+ /**
+ * Whether integers should be parsed into BigInt values.
+ *
+ * Default: `false`
+ */
+ asBigInt: boolean
+ }
+
+ interface Null {
+ /**
+ * String representation for `null`. With the core schema, use `'null' | 'Null' | 'NULL' | '~' | ''`.
+ *
+ * Default: `'null'`
+ */
+ nullStr: string
+ }
+
+ interface Str {
+ /**
+ * The default type of string literal used to stringify values
+ *
+ * Default: `'PLAIN'`
+ */
+ defaultType: Scalar.Type
+ doubleQuoted: {
+ /**
+ * Whether to restrict double-quoted strings to use JSON-compatible syntax.
+ *
+ * Default: `false`
+ */
+ jsonEncoding: boolean
+ /**
+ * Minimum length to use multiple lines to represent the value.
+ *
+ * Default: `40`
+ */
+ minMultiLineLength: number
+ }
+ fold: {
+ /**
+ * Maximum line width (set to `0` to disable folding).
+ *
+ * Default: `80`
+ */
+ lineWidth: number
+ /**
+ * Minimum width for highly-indented content.
+ *
+ * Default: `20`
+ */
+ minContentWidth: number
+ }
+ }
+}
+
+export class Document extends Collection {
+ cstNode?: CST.Document
+ constructor(options?: Options)
+ tag: never
+ directivesEndMarker?: boolean
+ type: Type.DOCUMENT
+ /**
+ * Anchors associated with the document's nodes;
+ * also provides alias & merge node creators.
+ */
+ anchors: Document.Anchors
+ /** The document contents. */
+ contents: any
+ /** Errors encountered during parsing. */
+ errors: YAMLError[]
+ /**
+ * The schema used with the document. Use `setSchema()` to change or
+ * initialise.
+ */
+ schema?: Schema
+ /**
+ * Array of prefixes; each will have a string `handle` that
+ * starts and ends with `!` and a string `prefix` that the handle will be replaced by.
+ */
+ tagPrefixes: Document.TagPrefix[]
+ /**
+ * The parsed version of the source document;
+ * if true-ish, stringified output will include a `%YAML` directive.
+ */
+ version?: string
+ /** Warnings encountered during parsing. */
+ warnings: YAMLWarning[]
+ /**
+ * List the tags used in the document that are not in the default
+ * `tag:yaml.org,2002:` namespace.
+ */
+ listNonDefaultTags(): string[]
+ /** Parse a CST into this document */
+ parse(cst: CST.Document): this
+ /**
+ * When a document is created with `new YAML.Document()`, the schema object is
+ * not set as it may be influenced by parsed directives; call this with no
+ * arguments to set it manually, or with arguments to change the schema used
+ * by the document.
+ **/
+ setSchema(
+ id?: Options['version'] | Schema.Name,
+ customTags?: (Schema.TagId | Schema.Tag)[]
+ ): void
+ /** Set `handle` as a shorthand string for the `prefix` tag namespace. */
+ setTagPrefix(handle: string, prefix: string): void
+ /**
+ * A plain JavaScript representation of the document `contents`.
+ *
+ * @param arg Used by `JSON.stringify` to indicate the array index or property
+ * name. If its value is a `string` and the document `contents` has a scalar
+ * value, the `keepBlobsInJSON` option has no effect.
+ * @param onAnchor If defined, called with the resolved `value` and reference
+ * `count` for each anchor in the document.
+ * */
+ toJSON(arg?: string, onAnchor?: (value: any, count: number) => void): any
+ /** A YAML representation of the document. */
+ toString(): string
+}
+
+export namespace Document {
+ interface Parsed extends Document {
+ contents: Scalar | YAMLMap | YAMLSeq | null
+ /** The schema used with the document. */
+ schema: Schema
+ }
+
+ interface Anchors {
+ /**
+ * Create a new `Alias` node, adding the required anchor for `node`.
+ * If `name` is empty, a new anchor name will be generated.
+ */
+ createAlias(node: Node, name?: string): Alias
+ /**
+ * Create a new `Merge` node with the given source nodes.
+ * Non-`Alias` sources will be automatically wrapped.
+ */
+ createMergePair(...nodes: Node[]): Merge
+ /** The anchor name associated with `node`, if set. */
+ getName(node: Node): undefined | string
+ /** List of all defined anchor names. */
+ getNames(): string[]
+ /** The node associated with the anchor `name`, if set. */
+ getNode(name: string): undefined | Node
+ /**
+ * Find an available anchor name with the given `prefix` and a
+ * numerical suffix.
+ */
+ newName(prefix: string): string
+ /**
+ * Associate an anchor with `node`. If `name` is empty, a new name will be generated.
+ * To remove an anchor, use `setAnchor(null, name)`.
+ */
+ setAnchor(node: Node | null, name?: string): void | string
+ }
+
+ interface TagPrefix {
+ handle: string
+ prefix: string
+ }
+}
+
+/**
+ * Recursively turns objects into collections. Generic objects as well as `Map`
+ * and its descendants become mappings, while arrays and other iterable objects
+ * result in sequences.
+ *
+ * The primary purpose of this function is to enable attaching comments or other
+ * metadata to a value, or to otherwise exert more fine-grained control over the
+ * stringified output. To that end, you'll need to assign its return value to
+ * the `contents` of a Document (or somewhere within said contents), as the
+ * document's schema is required for YAML string output.
+ *
+ * @param wrapScalars If undefined or `true`, also wraps plain values in
+ * `Scalar` objects; if `false` and `value` is not an object, it will be
+ * returned directly.
+ * @param tag Use to specify the collection type, e.g. `"!!omap"`. Note that
+ * this requires the corresponding tag to be available based on the default
+ * options. To use a specific document's schema, use `doc.schema.createNode`.
+ */
+export function createNode(
+ value: any,
+ wrapScalars?: true,
+ tag?: string
+): YAMLMap | YAMLSeq | Scalar
+
+/**
+ * YAML.createNode recursively turns objects into Map and arrays to Seq collections.
+ * Its primary use is to enable attaching comments or other metadata to a value,
+ * or to otherwise exert more fine-grained control over the stringified output.
+ *
+ * Doesn't wrap plain values in Scalar objects.
+ */
+export function createNode(
+ value: any,
+ wrapScalars: false,
+ tag?: string
+): YAMLMap | YAMLSeq | string | number | boolean | null
+
+/**
+ * Parse an input string into a single YAML.Document.
+ */
+export function parseDocument(str: string, options?: Options): Document.Parsed
+
+/**
+ * Parse the input as a stream of YAML documents.
+ *
+ * Documents should be separated from each other by `...` or `---` marker lines.
+ */
+export function parseAllDocuments(
+ str: string,
+ options?: Options
+): Document.Parsed[]
+
+/**
+ * Parse an input string into JavaScript.
+ *
+ * Only supports input consisting of a single YAML document; for multi-document
+ * support you should use `YAML.parseAllDocuments`. May throw on error, and may
+ * log warnings using `console.warn`.
+ *
+ * @param str A string with YAML formatting.
+ * @returns The value will match the type of the root value of the parsed YAML
+ * document, so Maps become objects, Sequences arrays, and scalars result in
+ * nulls, booleans, numbers and strings.
+ */
+export function parse(str: string, options?: Options): any
+
+/**
+ * @returns Will always include \n as the last character, as is expected of YAML documents.
+ */
+export function stringify(value: any, options?: Options): string