summaryrefslogtreecommitdiff
path: root/std/encoding/_yaml/parse.ts
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2020-05-09 13:34:47 +0100
committerGitHub <noreply@github.com>2020-05-09 08:34:47 -0400
commitf184332c09c851faac50f598d29ebe4426e05464 (patch)
tree2659aba63702537fcde1bb64ddeafea1e5863f3e /std/encoding/_yaml/parse.ts
parent2b02535028f868ea8dfc471c4921a237747ccd4a (diff)
BREAKING(std): reorganization (#5087)
* Prepend underscores to private modules * Remove collectUint8Arrays() It would be a misuse of Deno.iter()'s result. * Move std/_util/async.ts to std/async * Move std/util/sha*.ts to std/hash
Diffstat (limited to 'std/encoding/_yaml/parse.ts')
-rw-r--r--std/encoding/_yaml/parse.ts32
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..2aa0042bd
--- /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-2020 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);
+}