close
Skip to main content

@std/yaml@1.1.0
Built and signed on GitHub Actions

Works with
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score94%
License
MIT
Downloads4,376/wk
Publisheda month ago (1.1.0)

Parsing and serializing of YAML files

Functions

f
parse(
content: string,
options?: ParseOptions
): unknown

Parse and return a YAML string as a parsed YAML document object.

f
parseAll(
content: string,
options?: ParseOptions
): unknown

Same as parse, but understands multi-document YAML sources, and returns multiple parsed YAML document objects.

f
stringify(
data: unknown,
options?: StringifyOptions
): string

Converts a JavaScript object or value to a YAML document string.

Interfaces

I

Options for parse.

  • If true, duplicate keys will overwrite previous values. Otherwise, duplicate keys will throw a SyntaxError.

  • onWarning(error: Error): void

    If defined, a function to call on warning messages taking an Error as its only argument.

  • schema: SchemaType

    Name of the schema to use.

Type Aliases

T
SchemaType = "failsafe" | "json" | "core" | "default" | "extended"

Name of the schema to use.

T
StringifyOptions = { indent?: number; arrayIndent?: boolean; skipInvalid?: boolean; flowLevel?: number; styles?: Record<string, StyleVariant>; schema?: SchemaType; sortKeys?: boolean | ((
a: string,
b: string,
depth: number
) => number)
; lineWidth?: number; useAnchors?: boolean; compatMode?: boolean; condenseFlow?: boolean; }

Options for stringify.

  • arrayIndent: boolean

    When true, adds an indentation level to array elements.

  • compatMode: boolean

    If false don't try to be compatible with older yaml versions. Currently: don't quote "yes", "no" and so on, as required for YAML 1.1.

  • condenseFlow: boolean

    If true flow sequences will be condensed, omitting the space between key: value or a, b. Eg. '[a,b]' or {a:{b:c}}. Can be useful when using yaml for pretty URL query params as spaces are %-encoded.

  • flowLevel: number

    Specifies level of nesting, when to switch from block to flow style for collections. -1 means block style everywhere.

  • indent: number

    Indentation width to use (in spaces).

  • lineWidth: number

    Set max line width.

  • schema: SchemaType

    Name of the schema to use.

  • skipInvalid: boolean

    Do not throw on invalid types (like function in the safe schema) and skip pairs and single values with such types.

  • sortKeys: boolean | ((
    a: string,
    b: string,
    depth: number
    ) => number)

    If true, sort keys when dumping YAML in ascending, ASCII character order. If a function, use the function to sort the keys. If a function is specified, the function must return a negative value if first argument is less than second argument, zero if they're equal and a positive value otherwise.

  • styles: Record<string, StyleVariant>

    Each tag may have own set of styles. - "tag" => "style" map.

  • useAnchors: boolean

    If false, don't convert duplicate objects into references.

T
StyleVariant =
"lowercase"
| "uppercase"
| "camelcase"
| "decimal"
| "binary"
| "octal"
| "hexadecimal"

The style variation for styles option of stringify

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@std/yaml

Import symbol

import * as mod from "@std/yaml";
or

Import directly with a jsr specifier

import * as mod from "jsr:@std/yaml";