diff options
Diffstat (limited to 'std/encoding/_yaml/schema')
-rw-r--r-- | std/encoding/_yaml/schema/core.ts | 13 | ||||
-rw-r--r-- | std/encoding/_yaml/schema/default.ts | 16 | ||||
-rw-r--r-- | std/encoding/_yaml/schema/failsafe.ts | 13 | ||||
-rw-r--r-- | std/encoding/_yaml/schema/json.ts | 15 | ||||
-rw-r--r-- | std/encoding/_yaml/schema/mod.ts | 9 |
5 files changed, 66 insertions, 0 deletions
diff --git a/std/encoding/_yaml/schema/core.ts b/std/encoding/_yaml/schema/core.ts new file mode 100644 index 000000000..4fadc9bfe --- /dev/null +++ b/std/encoding/_yaml/schema/core.ts @@ -0,0 +1,13 @@ +// 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 { Schema } from "../schema.ts"; +import { json } from "./json.ts"; + +// Standard YAML's Core schema. +// http://www.yaml.org/spec/1.2/spec.html#id2804923 +export const core = new Schema({ + include: [json], +}); diff --git a/std/encoding/_yaml/schema/default.ts b/std/encoding/_yaml/schema/default.ts new file mode 100644 index 000000000..4c5ceeba7 --- /dev/null +++ b/std/encoding/_yaml/schema/default.ts @@ -0,0 +1,16 @@ +// 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 { Schema } from "../schema.ts"; +import { binary, merge, omap, pairs, set, timestamp } from "../type/mod.ts"; +import { core } from "./core.ts"; + +// JS-YAML's default schema for `safeLoad` function. +// It is not described in the YAML specification. +export const def = new Schema({ + explicit: [binary, omap, pairs, set], + implicit: [timestamp, merge], + include: [core], +}); diff --git a/std/encoding/_yaml/schema/failsafe.ts b/std/encoding/_yaml/schema/failsafe.ts new file mode 100644 index 000000000..74e1897be --- /dev/null +++ b/std/encoding/_yaml/schema/failsafe.ts @@ -0,0 +1,13 @@ +// 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 { Schema } from "../schema.ts"; +import { map, seq, str } from "../type/mod.ts"; + +// Standard YAML's Failsafe schema. +// http://www.yaml.org/spec/1.2/spec.html#id2802346 +export const failsafe = new Schema({ + explicit: [str, seq, map], +}); diff --git a/std/encoding/_yaml/schema/json.ts b/std/encoding/_yaml/schema/json.ts new file mode 100644 index 000000000..c30166fdf --- /dev/null +++ b/std/encoding/_yaml/schema/json.ts @@ -0,0 +1,15 @@ +// 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 { Schema } from "../schema.ts"; +import { bool, float, int, nil } from "../type/mod.ts"; +import { failsafe } from "./failsafe.ts"; + +// Standard YAML's JSON schema. +// http://www.yaml.org/spec/1.2/spec.html#id2803231 +export const json = new Schema({ + implicit: [nil, bool, int, float], + include: [failsafe], +}); diff --git a/std/encoding/_yaml/schema/mod.ts b/std/encoding/_yaml/schema/mod.ts new file mode 100644 index 000000000..7cbe0c283 --- /dev/null +++ b/std/encoding/_yaml/schema/mod.ts @@ -0,0 +1,9 @@ +// 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. + +export { core as CORE_SCHEMA } from "./core.ts"; +export { def as DEFAULT_SCHEMA } from "./default.ts"; +export { failsafe as FAILSAFE_SCHEMA } from "./failsafe.ts"; +export { json as JSON_SCHEMA } from "./json.ts"; |