diff options
author | Lilian Saget-Lethias <lilian.sagetlethias@gmail.com> | 2019-11-18 15:39:32 +0100 |
---|---|---|
committer | Ry Dahl <ry@tinyclouds.org> | 2019-11-18 09:39:32 -0500 |
commit | 5671d38d8f0176c2828a242a79a856fcfae93c3e (patch) | |
tree | 54e059f109baae9b3ff9161847149ecdac753e50 /std/encoding/yaml/parse.ts | |
parent | a2f5bccad7f73607dc4ec20bdb60c6c4ac8dc9e6 (diff) |
feat: Add std/encoding/yaml module (#3361)
Diffstat (limited to 'std/encoding/yaml/parse.ts')
-rw-r--r-- | std/encoding/yaml/parse.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/std/encoding/yaml/parse.ts b/std/encoding/yaml/parse.ts new file mode 100644 index 000000000..aacffe7f9 --- /dev/null +++ b/std/encoding/yaml/parse.ts @@ -0,0 +1,32 @@ +// Ported from js-yaml v3.13.1: +// https://github.com/nodeca/js-yaml/commit/665aadda42349dcae869f12040d9b10ef18d12da +// Copyright 2011-2015 by Vitaly Puzrin. All rights reserved. MIT license. +// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. + +import { CbFunction, load, loadAll } from "./loader/loader.ts"; +import { LoaderStateOptions } from "./loader/loader_state.ts"; + +export type ParseOptions = LoaderStateOptions; + +/** + * Parses `content` as single YAML document. + * + * Returns a JavaScript object or throws `YAMLException` on error. + * By default, does not support regexps, functions and undefined. This method is safe for untrusted data. + * + */ +export function parse(content: string, options?: ParseOptions): unknown { + return load(content, options); +} + +/** + * Same as `parse()`, but understands multi-document sources. + * Applies iterator to each document if specified, or returns array of documents. + */ +export function parseAll( + content: string, + iterator?: CbFunction, + options?: ParseOptions +): unknown { + return loadAll(content, iterator, options); +} |