.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / table / node_modules / ajv / dist / refs / jtd-schema.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js
new file mode 100644 (file)
index 0000000..1ee940a
--- /dev/null
@@ -0,0 +1,118 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const shared = (root) => {
+    const sch = {
+        nullable: { type: "boolean" },
+        metadata: {
+            optionalProperties: {
+                union: { elements: { ref: "schema" } },
+            },
+            additionalProperties: true,
+        },
+    };
+    if (root)
+        sch.definitions = { values: { ref: "schema" } };
+    return sch;
+};
+const emptyForm = (root) => ({
+    optionalProperties: shared(root),
+});
+const refForm = (root) => ({
+    properties: {
+        ref: { type: "string" },
+    },
+    optionalProperties: shared(root),
+});
+const typeForm = (root) => ({
+    properties: {
+        type: {
+            enum: [
+                "boolean",
+                "timestamp",
+                "string",
+                "float32",
+                "float64",
+                "int8",
+                "uint8",
+                "int16",
+                "uint16",
+                "int32",
+                "uint32",
+            ],
+        },
+    },
+    optionalProperties: shared(root),
+});
+const enumForm = (root) => ({
+    properties: {
+        enum: { elements: { type: "string" } },
+    },
+    optionalProperties: shared(root),
+});
+const elementsForm = (root) => ({
+    properties: {
+        elements: { ref: "schema" },
+    },
+    optionalProperties: shared(root),
+});
+const propertiesForm = (root) => ({
+    properties: {
+        properties: { values: { ref: "schema" } },
+    },
+    optionalProperties: {
+        optionalProperties: { values: { ref: "schema" } },
+        additionalProperties: { type: "boolean" },
+        ...shared(root),
+    },
+});
+const optionalPropertiesForm = (root) => ({
+    properties: {
+        optionalProperties: { values: { ref: "schema" } },
+    },
+    optionalProperties: {
+        additionalProperties: { type: "boolean" },
+        ...shared(root),
+    },
+});
+const discriminatorForm = (root) => ({
+    properties: {
+        discriminator: { type: "string" },
+        mapping: {
+            values: {
+                metadata: {
+                    union: [propertiesForm(false), optionalPropertiesForm(false)],
+                },
+            },
+        },
+    },
+    optionalProperties: shared(root),
+});
+const valuesForm = (root) => ({
+    properties: {
+        values: { ref: "schema" },
+    },
+    optionalProperties: shared(root),
+});
+const schema = (root) => ({
+    metadata: {
+        union: [
+            emptyForm,
+            refForm,
+            typeForm,
+            enumForm,
+            elementsForm,
+            propertiesForm,
+            optionalPropertiesForm,
+            discriminatorForm,
+            valuesForm,
+        ].map((s) => s(root)),
+    },
+});
+const jtdMetaSchema = {
+    definitions: {
+        schema: schema(false),
+    },
+    ...schema(true),
+};
+exports.default = jtdMetaSchema;
+//# sourceMappingURL=jtd-schema.js.map
\ No newline at end of file