.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / table / node_modules / ajv / dist / standalone / index.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/table/node_modules/ajv/dist/standalone/index.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/table/node_modules/ajv/dist/standalone/index.js
new file mode 100644 (file)
index 0000000..f58ebb6
--- /dev/null
@@ -0,0 +1,81 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const scope_1 = require("../compile/codegen/scope");
+const code_1 = require("../compile/codegen/code");
+function standaloneCode(ajv, refsOrFunc) {
+    if (!ajv.opts.code.source) {
+        throw new Error("moduleCode: ajv instance must have code.source option");
+    }
+    const { _n } = ajv.scope.opts;
+    return typeof refsOrFunc == "function"
+        ? funcExportCode(refsOrFunc.source)
+        : refsOrFunc !== undefined
+            ? multiExportsCode(refsOrFunc, getValidate)
+            : multiExportsCode(ajv.schemas, (sch) => sch.meta ? undefined : ajv.compile(sch.schema));
+    function getValidate(id) {
+        const v = ajv.getSchema(id);
+        if (!v)
+            throw new Error(`moduleCode: no schema with id ${id}`);
+        return v;
+    }
+    function funcExportCode(source) {
+        const usedValues = {};
+        const n = source === null || source === void 0 ? void 0 : source.validateName;
+        const vCode = validateCode(usedValues, source);
+        return `"use strict";${_n}module.exports = ${n};${_n}module.exports.default = ${n};${_n}${vCode}`;
+    }
+    function multiExportsCode(schemas, getValidateFunc) {
+        var _a;
+        const usedValues = {};
+        let code = code_1._ `"use strict";`;
+        for (const name in schemas) {
+            const v = getValidateFunc(schemas[name]);
+            if (v) {
+                const vCode = validateCode(usedValues, v.source);
+                code = code_1._ `${code}${_n}exports${code_1.getProperty(name)} = ${(_a = v.source) === null || _a === void 0 ? void 0 : _a.validateName};${_n}${vCode}`;
+            }
+        }
+        return `${code}`;
+    }
+    function validateCode(usedValues, s) {
+        if (!s)
+            throw new Error('moduleCode: function does not have "source" property');
+        if (usedState(s.validateName) === scope_1.UsedValueState.Completed)
+            return code_1.nil;
+        setUsedState(s.validateName, scope_1.UsedValueState.Started);
+        const scopeCode = ajv.scope.scopeCode(s.scopeValues, usedValues, refValidateCode);
+        const code = new code_1._Code(`${scopeCode}${_n}${s.validateCode}`);
+        return s.evaluated ? code_1._ `${code}${s.validateName}.evaluated = ${s.evaluated};${_n}` : code;
+        function refValidateCode(n) {
+            var _a;
+            const vRef = (_a = n.value) === null || _a === void 0 ? void 0 : _a.ref;
+            if (n.prefix === "validate" && typeof vRef == "function") {
+                const v = vRef;
+                return validateCode(usedValues, v.source);
+            }
+            else if ((n.prefix === "root" || n.prefix === "wrapper") && typeof vRef == "object") {
+                const { validate, validateName } = vRef;
+                if (!validateName)
+                    throw new Error("ajv internal error");
+                const def = ajv.opts.code.es5 ? scope_1.varKinds.var : scope_1.varKinds.const;
+                const wrapper = code_1._ `${def} ${n} = {validate: ${validateName}};`;
+                if (usedState(validateName) === scope_1.UsedValueState.Started)
+                    return wrapper;
+                const vCode = validateCode(usedValues, validate === null || validate === void 0 ? void 0 : validate.source);
+                return code_1._ `${wrapper}${_n}${vCode}`;
+            }
+            return undefined;
+        }
+        function usedState(name) {
+            var _a;
+            return (_a = usedValues[name.prefix]) === null || _a === void 0 ? void 0 : _a.get(name);
+        }
+        function setUsedState(name, state) {
+            const { prefix } = name;
+            const names = (usedValues[prefix] = usedValues[prefix] || new Map());
+            names.set(name, state);
+        }
+    }
+}
+exports.default = standaloneCode;
+//# sourceMappingURL=index.js.map
\ No newline at end of file