2019-11-18 09:39:32 -05:00
|
|
|
// 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.
|
2020-01-21 10:01:55 -05:00
|
|
|
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
2019-11-18 09:39:32 -05:00
|
|
|
|
|
|
|
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);
|
|
|
|
}
|