diff options
author | Minteck <contact@minteck.org> | 2022-04-09 18:38:29 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-04-09 18:38:29 +0200 |
commit | 457c93328f5b51b3fc0aa1600ce8eb8b45a5c2a9 (patch) | |
tree | a899daf11edb7ce6a99700e462a5740e013f5951 /node_modules/yaml/dist/schema/Schema.js | |
download | snowjail-457c93328f5b51b3fc0aa1600ce8eb8b45a5c2a9.tar.gz snowjail-457c93328f5b51b3fc0aa1600ce8eb8b45a5c2a9.tar.bz2 snowjail-457c93328f5b51b3fc0aa1600ce8eb8b45a5c2a9.zip |
Snowjail v0.1
Diffstat (limited to 'node_modules/yaml/dist/schema/Schema.js')
-rw-r--r-- | node_modules/yaml/dist/schema/Schema.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/node_modules/yaml/dist/schema/Schema.js b/node_modules/yaml/dist/schema/Schema.js new file mode 100644 index 0000000..4c409fc --- /dev/null +++ b/node_modules/yaml/dist/schema/Schema.js @@ -0,0 +1,40 @@ +'use strict'; + +var Node = require('../nodes/Node.js'); +var map = require('./common/map.js'); +var seq = require('./common/seq.js'); +var string = require('./common/string.js'); +var tags = require('./tags.js'); + +const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0; +class Schema { + constructor({ compat, customTags, merge, resolveKnownTags, schema, sortMapEntries, toStringDefaults }) { + this.compat = Array.isArray(compat) + ? tags.getTags(compat, 'compat') + : compat + ? tags.getTags(null, compat) + : null; + this.merge = !!merge; + this.name = (typeof schema === 'string' && schema) || 'core'; + this.knownTags = resolveKnownTags ? tags.coreKnownTags : {}; + this.tags = tags.getTags(customTags, this.name); + this.toStringOptions = toStringDefaults !== null && toStringDefaults !== void 0 ? toStringDefaults : null; + Object.defineProperty(this, Node.MAP, { value: map.map }); + Object.defineProperty(this, Node.SCALAR, { value: string.string }); + Object.defineProperty(this, Node.SEQ, { value: seq.seq }); + // Used by createMap() + this.sortMapEntries = + typeof sortMapEntries === 'function' + ? sortMapEntries + : sortMapEntries === true + ? sortMapEntriesByKey + : null; + } + clone() { + const copy = Object.create(Schema.prototype, Object.getOwnPropertyDescriptors(this)); + copy.tags = this.tags.slice(); + return copy; + } +} + +exports.Schema = Schema; |