summaryrefslogtreecommitdiff
path: root/node_modules/yaml/browser/dist/nodes/Pair.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/yaml/browser/dist/nodes/Pair.js')
-rw-r--r--node_modules/yaml/browser/dist/nodes/Pair.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/node_modules/yaml/browser/dist/nodes/Pair.js b/node_modules/yaml/browser/dist/nodes/Pair.js
new file mode 100644
index 0000000..5a628a2
--- /dev/null
+++ b/node_modules/yaml/browser/dist/nodes/Pair.js
@@ -0,0 +1,36 @@
+import { createNode } from '../doc/createNode.js';
+import { stringifyPair } from '../stringify/stringifyPair.js';
+import { addPairToJSMap } from './addPairToJSMap.js';
+import { NODE_TYPE, PAIR, isNode } from './Node.js';
+
+function createPair(key, value, ctx) {
+ const k = createNode(key, undefined, ctx);
+ const v = createNode(value, undefined, ctx);
+ return new Pair(k, v);
+}
+class Pair {
+ constructor(key, value = null) {
+ Object.defineProperty(this, NODE_TYPE, { value: PAIR });
+ this.key = key;
+ this.value = value;
+ }
+ clone(schema) {
+ let { key, value } = this;
+ if (isNode(key))
+ key = key.clone(schema);
+ if (isNode(value))
+ value = value.clone(schema);
+ return new Pair(key, value);
+ }
+ toJSON(_, ctx) {
+ const pair = ctx?.mapAsMap ? new Map() : {};
+ return addPairToJSMap(ctx, pair, this);
+ }
+ toString(ctx, onComment, onChompKeep) {
+ return ctx?.doc
+ ? stringifyPair(this, ctx, onComment, onChompKeep)
+ : JSON.stringify(this);
+ }
+}
+
+export { Pair, createPair };