summaryrefslogtreecommitdiff
path: root/MistyCore/node_modules/yaml/dist/nodes/toJS.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-11-28 17:31:34 +0100
committerMinteck <contact@minteck.org>2022-11-28 17:31:34 +0100
commit7923aa8942b55884320ef2428417e3ee4b121613 (patch)
tree7993632f2898b1998f25b11ce40a8d2eb3d44730 /MistyCore/node_modules/yaml/dist/nodes/toJS.js
downloadmistyos-og-mane.tar.gz
mistyos-og-mane.tar.bz2
mistyos-og-mane.zip
Initial commitHEADmane
Diffstat (limited to 'MistyCore/node_modules/yaml/dist/nodes/toJS.js')
-rw-r--r--MistyCore/node_modules/yaml/dist/nodes/toJS.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/MistyCore/node_modules/yaml/dist/nodes/toJS.js b/MistyCore/node_modules/yaml/dist/nodes/toJS.js
new file mode 100644
index 0000000..e7404d5
--- /dev/null
+++ b/MistyCore/node_modules/yaml/dist/nodes/toJS.js
@@ -0,0 +1,39 @@
+'use strict';
+
+var Node = require('./Node.js');
+
+/**
+ * Recursively convert any node or its contents to native JavaScript
+ *
+ * @param value - The input value
+ * @param arg - If `value` defines a `toJSON()` method, use this
+ * as its first argument
+ * @param ctx - Conversion context, originally set in Document#toJS(). If
+ * `{ keep: true }` is not set, output should be suitable for JSON
+ * stringification.
+ */
+function toJS(value, arg, ctx) {
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
+ if (Array.isArray(value))
+ return value.map((v, i) => toJS(v, String(i), ctx));
+ if (value && typeof value.toJSON === 'function') {
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
+ if (!ctx || !Node.hasAnchor(value))
+ return value.toJSON(arg, ctx);
+ const data = { aliasCount: 0, count: 1, res: undefined };
+ ctx.anchors.set(value, data);
+ ctx.onCreate = res => {
+ data.res = res;
+ delete ctx.onCreate;
+ };
+ const res = value.toJSON(arg, ctx);
+ if (ctx.onCreate)
+ ctx.onCreate(res);
+ return res;
+ }
+ if (typeof value === 'bigint' && !ctx?.keep)
+ return Number(value);
+ return value;
+}
+
+exports.toJS = toJS;