@datastream/validate
Advanced tools
+4
-2
@@ -15,3 +15,3 @@ import { createTransformStream } from "@datastream/core"; | ||
| }; | ||
| const validateStream = ({ schema, idxStart, resultKey, ...ajvOptions }, streamOptions) => { | ||
| const validateStream = ({ schema, idxStart, onErrorSkip, resultKey }, streamOptions) => { | ||
| idxStart ??= 0; | ||
@@ -35,3 +35,5 @@ if (typeof schema !== "function") { | ||
| } | ||
| enqueue(chunk); | ||
| if (!onErrorSkip) { | ||
| enqueue(chunk); | ||
| } | ||
| }; | ||
@@ -38,0 +40,0 @@ const stream = createTransformStream(transform, streamOptions); |
+4
-2
@@ -15,3 +15,3 @@ import { createTransformStream } from "@datastream/core"; | ||
| }; | ||
| const validateStream = ({ schema, idxStart, resultKey, ...ajvOptions }, streamOptions) => { | ||
| const validateStream = ({ schema, idxStart, onErrorSkip, resultKey }, streamOptions) => { | ||
| idxStart ??= 0; | ||
@@ -35,3 +35,5 @@ if (typeof schema !== "function") { | ||
| } | ||
| enqueue(chunk); | ||
| if (!onErrorSkip) { | ||
| enqueue(chunk); | ||
| } | ||
| }; | ||
@@ -38,0 +40,0 @@ const stream = createTransformStream(transform, streamOptions); |
| { | ||
| "version": 3, | ||
| "sources": ["index.js"], | ||
| "sourcesContent": ["import { createTransformStream } from '@datastream/core'\nimport { compile } from 'ajv-cmd'\n\nconst ajvDefaults = {\n strict: true,\n coerceTypes: true,\n allErrors: true,\n useDefaults: 'empty',\n messages: true // needs to be true to allow multi-locale errorMessage to work\n}\n\n// This is pulled out due to it's performance cost (50-100ms on cold start)\n// Precompile your schema during a build step is recommended.\nexport const transpileSchema = (schema, ajvOptions) => {\n const options = { ...ajvDefaults, ...ajvOptions }\n return compile(schema, options)\n}\n\nexport const validateStream = (\n { schema, idxStart, resultKey, ...ajvOptions },\n streamOptions\n) => {\n idxStart ??= 0\n\n if (typeof schema !== 'function') {\n schema = transpileSchema(schema)\n }\n\n const value = {} // aka errors\n let idx = idxStart - 1\n const transform = (chunk, enqueue) => {\n idx += 1\n\n const chunkValid = schema(chunk)\n // console.log({ chunkValid })\n if (!chunkValid) {\n for (const error of schema.errors) {\n const { id, keys, message } = processError(error)\n\n if (!value[id]) {\n value[id] = { id, keys, message, idx: [] }\n }\n value[id].idx.push(idx)\n }\n }\n enqueue(chunk) // TODO option to not pass chunk on?\n }\n const stream = createTransformStream(transform, streamOptions)\n stream.result = () => ({ key: resultKey ?? 'validate', value })\n return stream\n}\n\nconst processError = (error) => {\n const message = error.message || ''\n\n let id = error.schemaPath\n\n let keys = []\n if (error.keyword === 'errorMessage') {\n error.params.errors.forEach((error) => {\n const value = makeKeys(error)\n if (value) keys.push(value)\n })\n keys = [...new Set(keys.sort())]\n } else {\n keys.push(makeKeys(error))\n }\n if (!error.instancePath && keys.length) {\n id += `/${keys.join('|')}`\n }\n return { id, keys, message }\n}\n\nconst makeKeys = (error) => {\n // deps groups columns that are related in anyOf/oneOf.\n /* error.params.deps ?? */\n return (\n error.params.missingProperty ||\n error.params.additionalProperty ||\n error.instancePath.replace('/', '')\n )\n}\n\nexport default validateStream\n"], | ||
| "mappings": "AAAA,SAAS,6BAA6B;AACtC,SAAS,eAAe;AAExB,MAAM,cAAc;AAAA,EAClB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,WAAW;AAAA,EACX,aAAa;AAAA,EACb,UAAU;AAAA;AACZ;AAIO,MAAM,kBAAkB,CAAC,QAAQ,eAAe;AACrD,QAAM,UAAU,EAAE,GAAG,aAAa,GAAG,WAAW;AAChD,SAAO,QAAQ,QAAQ,OAAO;AAChC;AAEO,MAAM,iBAAiB,CAC5B,EAAE,QAAQ,UAAU,WAAW,GAAG,WAAW,GAC7C,kBACG;AACH,eAAa;AAEb,MAAI,OAAO,WAAW,YAAY;AAChC,aAAS,gBAAgB,MAAM;AAAA,EACjC;AAEA,QAAM,QAAQ,CAAC;AACf,MAAI,MAAM,WAAW;AACrB,QAAM,YAAY,CAAC,OAAO,YAAY;AACpC,WAAO;AAEP,UAAM,aAAa,OAAO,KAAK;AAE/B,QAAI,CAAC,YAAY;AACf,iBAAW,SAAS,OAAO,QAAQ;AACjC,cAAM,EAAE,IAAI,MAAM,QAAQ,IAAI,aAAa,KAAK;AAEhD,YAAI,CAAC,MAAM,EAAE,GAAG;AACd,gBAAM,EAAE,IAAI,EAAE,IAAI,MAAM,SAAS,KAAK,CAAC,EAAE;AAAA,QAC3C;AACA,cAAM,EAAE,EAAE,IAAI,KAAK,GAAG;AAAA,MACxB;AAAA,IACF;AACA,YAAQ,KAAK;AAAA,EACf;AACA,QAAM,SAAS,sBAAsB,WAAW,aAAa;AAC7D,SAAO,SAAS,OAAO,EAAE,KAAK,aAAa,YAAY,MAAM;AAC7D,SAAO;AACT;AAEA,MAAM,eAAe,CAAC,UAAU;AAC9B,QAAM,UAAU,MAAM,WAAW;AAEjC,MAAI,KAAK,MAAM;AAEf,MAAI,OAAO,CAAC;AACZ,MAAI,MAAM,YAAY,gBAAgB;AACpC,UAAM,OAAO,OAAO,QAAQ,CAACA,WAAU;AACrC,YAAM,QAAQ,SAASA,MAAK;AAC5B,UAAI;AAAO,aAAK,KAAK,KAAK;AAAA,IAC5B,CAAC;AACD,WAAO,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;AAAA,EACjC,OAAO;AACL,SAAK,KAAK,SAAS,KAAK,CAAC;AAAA,EAC3B;AACA,MAAI,CAAC,MAAM,gBAAgB,KAAK,QAAQ;AACtC,UAAM,IAAI,KAAK,KAAK,GAAG;AAAA,EACzB;AACA,SAAO,EAAE,IAAI,MAAM,QAAQ;AAC7B;AAEA,MAAM,WAAW,CAAC,UAAU;AAG1B,SACE,MAAM,OAAO,mBACb,MAAM,OAAO,sBACb,MAAM,aAAa,QAAQ,KAAK,EAAE;AAEtC;AAEA,IAAO,mBAAQ;", | ||
| "sourcesContent": ["import { createTransformStream } from '@datastream/core'\nimport { compile } from 'ajv-cmd'\n\nconst ajvDefaults = {\n strict: true,\n coerceTypes: true,\n allErrors: true,\n useDefaults: 'empty',\n messages: true // needs to be true to allow multi-locale errorMessage to work\n}\n\n// This is pulled out due to it's performance cost (50-100ms on cold start)\n// Precompile your schema during a build step is recommended.\nexport const transpileSchema = (schema, ajvOptions) => {\n const options = { ...ajvDefaults, ...ajvOptions }\n return compile(schema, options)\n}\n\nexport const validateStream = (\n { schema, idxStart, onErrorSkip, resultKey },\n streamOptions\n) => {\n idxStart ??= 0\n\n if (typeof schema !== 'function') {\n schema = transpileSchema(schema)\n }\n\n const value = {} // aka errors\n let idx = idxStart - 1\n const transform = (chunk, enqueue) => {\n idx += 1\n\n const chunkValid = schema(chunk)\n // console.log({ chunkValid })\n if (!chunkValid) {\n for (const error of schema.errors) {\n const { id, keys, message } = processError(error)\n\n if (!value[id]) {\n value[id] = { id, keys, message, idx: [] }\n }\n value[id].idx.push(idx)\n }\n }\n if (!onErrorSkip) {\n enqueue(chunk)\n }\n }\n const stream = createTransformStream(transform, streamOptions)\n stream.result = () => ({ key: resultKey ?? 'validate', value })\n return stream\n}\n\nconst processError = (error) => {\n const message = error.message || ''\n\n let id = error.schemaPath\n\n let keys = []\n if (error.keyword === 'errorMessage') {\n error.params.errors.forEach((error) => {\n const value = makeKeys(error)\n if (value) keys.push(value)\n })\n keys = [...new Set(keys.sort())]\n } else {\n keys.push(makeKeys(error))\n }\n if (!error.instancePath && keys.length) {\n id += `/${keys.join('|')}`\n }\n return { id, keys, message }\n}\n\nconst makeKeys = (error) => {\n // deps groups columns that are related in anyOf/oneOf.\n /* error.params.deps ?? */\n return (\n error.params.missingProperty ||\n error.params.additionalProperty ||\n error.instancePath.replace('/', '')\n )\n}\n\nexport default validateStream\n"], | ||
| "mappings": "AAAA,SAAS,6BAA6B;AACtC,SAAS,eAAe;AAExB,MAAM,cAAc;AAAA,EAClB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,WAAW;AAAA,EACX,aAAa;AAAA,EACb,UAAU;AAAA;AACZ;AAIO,MAAM,kBAAkB,CAAC,QAAQ,eAAe;AACrD,QAAM,UAAU,EAAE,GAAG,aAAa,GAAG,WAAW;AAChD,SAAO,QAAQ,QAAQ,OAAO;AAChC;AAEO,MAAM,iBAAiB,CAC5B,EAAE,QAAQ,UAAU,aAAa,UAAU,GAC3C,kBACG;AACH,eAAa;AAEb,MAAI,OAAO,WAAW,YAAY;AAChC,aAAS,gBAAgB,MAAM;AAAA,EACjC;AAEA,QAAM,QAAQ,CAAC;AACf,MAAI,MAAM,WAAW;AACrB,QAAM,YAAY,CAAC,OAAO,YAAY;AACpC,WAAO;AAEP,UAAM,aAAa,OAAO,KAAK;AAE/B,QAAI,CAAC,YAAY;AACf,iBAAW,SAAS,OAAO,QAAQ;AACjC,cAAM,EAAE,IAAI,MAAM,QAAQ,IAAI,aAAa,KAAK;AAEhD,YAAI,CAAC,MAAM,EAAE,GAAG;AACd,gBAAM,EAAE,IAAI,EAAE,IAAI,MAAM,SAAS,KAAK,CAAC,EAAE;AAAA,QAC3C;AACA,cAAM,EAAE,EAAE,IAAI,KAAK,GAAG;AAAA,MACxB;AAAA,IACF;AACA,QAAI,CAAC,aAAa;AAChB,cAAQ,KAAK;AAAA,IACf;AAAA,EACF;AACA,QAAM,SAAS,sBAAsB,WAAW,aAAa;AAC7D,SAAO,SAAS,OAAO,EAAE,KAAK,aAAa,YAAY,MAAM;AAC7D,SAAO;AACT;AAEA,MAAM,eAAe,CAAC,UAAU;AAC9B,QAAM,UAAU,MAAM,WAAW;AAEjC,MAAI,KAAK,MAAM;AAEf,MAAI,OAAO,CAAC;AACZ,MAAI,MAAM,YAAY,gBAAgB;AACpC,UAAM,OAAO,OAAO,QAAQ,CAACA,WAAU;AACrC,YAAM,QAAQ,SAASA,MAAK;AAC5B,UAAI;AAAO,aAAK,KAAK,KAAK;AAAA,IAC5B,CAAC;AACD,WAAO,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;AAAA,EACjC,OAAO;AACL,SAAK,KAAK,SAAS,KAAK,CAAC;AAAA,EAC3B;AACA,MAAI,CAAC,MAAM,gBAAgB,KAAK,QAAQ;AACtC,UAAM,IAAI,KAAK,KAAK,GAAG;AAAA,EACzB;AACA,SAAO,EAAE,IAAI,MAAM,QAAQ;AAC7B;AAEA,MAAM,WAAW,CAAC,UAAU;AAG1B,SACE,MAAM,OAAO,mBACb,MAAM,OAAO,sBACb,MAAM,aAAa,QAAQ,KAAK,EAAE;AAEtC;AAEA,IAAO,mBAAQ;", | ||
| "names": ["error"] | ||
| } |
+4
-2
@@ -15,3 +15,3 @@ import { createTransformStream } from "@datastream/core"; | ||
| }; | ||
| const validateStream = ({ schema, idxStart, resultKey, ...ajvOptions }, streamOptions) => { | ||
| const validateStream = ({ schema, idxStart, onErrorSkip, resultKey }, streamOptions) => { | ||
| idxStart ??= 0; | ||
@@ -35,3 +35,5 @@ if (typeof schema !== "function") { | ||
| } | ||
| enqueue(chunk); | ||
| if (!onErrorSkip) { | ||
| enqueue(chunk); | ||
| } | ||
| }; | ||
@@ -38,0 +40,0 @@ const stream = createTransformStream(transform, streamOptions); |
| { | ||
| "version": 3, | ||
| "sources": ["index.js"], | ||
| "sourcesContent": ["import { createTransformStream } from '@datastream/core'\nimport { compile } from 'ajv-cmd'\n\nconst ajvDefaults = {\n strict: true,\n coerceTypes: true,\n allErrors: true,\n useDefaults: 'empty',\n messages: true // needs to be true to allow multi-locale errorMessage to work\n}\n\n// This is pulled out due to it's performance cost (50-100ms on cold start)\n// Precompile your schema during a build step is recommended.\nexport const transpileSchema = (schema, ajvOptions) => {\n const options = { ...ajvDefaults, ...ajvOptions }\n return compile(schema, options)\n}\n\nexport const validateStream = (\n { schema, idxStart, resultKey, ...ajvOptions },\n streamOptions\n) => {\n idxStart ??= 0\n\n if (typeof schema !== 'function') {\n schema = transpileSchema(schema)\n }\n\n const value = {} // aka errors\n let idx = idxStart - 1\n const transform = (chunk, enqueue) => {\n idx += 1\n\n const chunkValid = schema(chunk)\n // console.log({ chunkValid })\n if (!chunkValid) {\n for (const error of schema.errors) {\n const { id, keys, message } = processError(error)\n\n if (!value[id]) {\n value[id] = { id, keys, message, idx: [] }\n }\n value[id].idx.push(idx)\n }\n }\n enqueue(chunk) // TODO option to not pass chunk on?\n }\n const stream = createTransformStream(transform, streamOptions)\n stream.result = () => ({ key: resultKey ?? 'validate', value })\n return stream\n}\n\nconst processError = (error) => {\n const message = error.message || ''\n\n let id = error.schemaPath\n\n let keys = []\n if (error.keyword === 'errorMessage') {\n error.params.errors.forEach((error) => {\n const value = makeKeys(error)\n if (value) keys.push(value)\n })\n keys = [...new Set(keys.sort())]\n } else {\n keys.push(makeKeys(error))\n }\n if (!error.instancePath && keys.length) {\n id += `/${keys.join('|')}`\n }\n return { id, keys, message }\n}\n\nconst makeKeys = (error) => {\n // deps groups columns that are related in anyOf/oneOf.\n /* error.params.deps ?? */\n return (\n error.params.missingProperty ||\n error.params.additionalProperty ||\n error.instancePath.replace('/', '')\n )\n}\n\nexport default validateStream\n"], | ||
| "mappings": "AAAA,SAAS,6BAA6B;AACtC,SAAS,eAAe;AAExB,MAAM,cAAc;AAAA,EAClB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,WAAW;AAAA,EACX,aAAa;AAAA,EACb,UAAU;AAAA;AACZ;AAIO,MAAM,kBAAkB,CAAC,QAAQ,eAAe;AACrD,QAAM,UAAU,EAAE,GAAG,aAAa,GAAG,WAAW;AAChD,SAAO,QAAQ,QAAQ,OAAO;AAChC;AAEO,MAAM,iBAAiB,CAC5B,EAAE,QAAQ,UAAU,WAAW,GAAG,WAAW,GAC7C,kBACG;AACH,eAAa;AAEb,MAAI,OAAO,WAAW,YAAY;AAChC,aAAS,gBAAgB,MAAM;AAAA,EACjC;AAEA,QAAM,QAAQ,CAAC;AACf,MAAI,MAAM,WAAW;AACrB,QAAM,YAAY,CAAC,OAAO,YAAY;AACpC,WAAO;AAEP,UAAM,aAAa,OAAO,KAAK;AAE/B,QAAI,CAAC,YAAY;AACf,iBAAW,SAAS,OAAO,QAAQ;AACjC,cAAM,EAAE,IAAI,MAAM,QAAQ,IAAI,aAAa,KAAK;AAEhD,YAAI,CAAC,MAAM,EAAE,GAAG;AACd,gBAAM,EAAE,IAAI,EAAE,IAAI,MAAM,SAAS,KAAK,CAAC,EAAE;AAAA,QAC3C;AACA,cAAM,EAAE,EAAE,IAAI,KAAK,GAAG;AAAA,MACxB;AAAA,IACF;AACA,YAAQ,KAAK;AAAA,EACf;AACA,QAAM,SAAS,sBAAsB,WAAW,aAAa;AAC7D,SAAO,SAAS,OAAO,EAAE,KAAK,aAAa,YAAY,MAAM;AAC7D,SAAO;AACT;AAEA,MAAM,eAAe,CAAC,UAAU;AAC9B,QAAM,UAAU,MAAM,WAAW;AAEjC,MAAI,KAAK,MAAM;AAEf,MAAI,OAAO,CAAC;AACZ,MAAI,MAAM,YAAY,gBAAgB;AACpC,UAAM,OAAO,OAAO,QAAQ,CAACA,WAAU;AACrC,YAAM,QAAQ,SAASA,MAAK;AAC5B,UAAI;AAAO,aAAK,KAAK,KAAK;AAAA,IAC5B,CAAC;AACD,WAAO,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;AAAA,EACjC,OAAO;AACL,SAAK,KAAK,SAAS,KAAK,CAAC;AAAA,EAC3B;AACA,MAAI,CAAC,MAAM,gBAAgB,KAAK,QAAQ;AACtC,UAAM,IAAI,KAAK,KAAK,GAAG;AAAA,EACzB;AACA,SAAO,EAAE,IAAI,MAAM,QAAQ;AAC7B;AAEA,MAAM,WAAW,CAAC,UAAU;AAG1B,SACE,MAAM,OAAO,mBACb,MAAM,OAAO,sBACb,MAAM,aAAa,QAAQ,KAAK,EAAE;AAEtC;AAEA,IAAO,mBAAQ;", | ||
| "sourcesContent": ["import { createTransformStream } from '@datastream/core'\nimport { compile } from 'ajv-cmd'\n\nconst ajvDefaults = {\n strict: true,\n coerceTypes: true,\n allErrors: true,\n useDefaults: 'empty',\n messages: true // needs to be true to allow multi-locale errorMessage to work\n}\n\n// This is pulled out due to it's performance cost (50-100ms on cold start)\n// Precompile your schema during a build step is recommended.\nexport const transpileSchema = (schema, ajvOptions) => {\n const options = { ...ajvDefaults, ...ajvOptions }\n return compile(schema, options)\n}\n\nexport const validateStream = (\n { schema, idxStart, onErrorSkip, resultKey },\n streamOptions\n) => {\n idxStart ??= 0\n\n if (typeof schema !== 'function') {\n schema = transpileSchema(schema)\n }\n\n const value = {} // aka errors\n let idx = idxStart - 1\n const transform = (chunk, enqueue) => {\n idx += 1\n\n const chunkValid = schema(chunk)\n // console.log({ chunkValid })\n if (!chunkValid) {\n for (const error of schema.errors) {\n const { id, keys, message } = processError(error)\n\n if (!value[id]) {\n value[id] = { id, keys, message, idx: [] }\n }\n value[id].idx.push(idx)\n }\n }\n if (!onErrorSkip) {\n enqueue(chunk)\n }\n }\n const stream = createTransformStream(transform, streamOptions)\n stream.result = () => ({ key: resultKey ?? 'validate', value })\n return stream\n}\n\nconst processError = (error) => {\n const message = error.message || ''\n\n let id = error.schemaPath\n\n let keys = []\n if (error.keyword === 'errorMessage') {\n error.params.errors.forEach((error) => {\n const value = makeKeys(error)\n if (value) keys.push(value)\n })\n keys = [...new Set(keys.sort())]\n } else {\n keys.push(makeKeys(error))\n }\n if (!error.instancePath && keys.length) {\n id += `/${keys.join('|')}`\n }\n return { id, keys, message }\n}\n\nconst makeKeys = (error) => {\n // deps groups columns that are related in anyOf/oneOf.\n /* error.params.deps ?? */\n return (\n error.params.missingProperty ||\n error.params.additionalProperty ||\n error.instancePath.replace('/', '')\n )\n}\n\nexport default validateStream\n"], | ||
| "mappings": "AAAA,SAAS,6BAA6B;AACtC,SAAS,eAAe;AAExB,MAAM,cAAc;AAAA,EAClB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,WAAW;AAAA,EACX,aAAa;AAAA,EACb,UAAU;AAAA;AACZ;AAIO,MAAM,kBAAkB,CAAC,QAAQ,eAAe;AACrD,QAAM,UAAU,EAAE,GAAG,aAAa,GAAG,WAAW;AAChD,SAAO,QAAQ,QAAQ,OAAO;AAChC;AAEO,MAAM,iBAAiB,CAC5B,EAAE,QAAQ,UAAU,aAAa,UAAU,GAC3C,kBACG;AACH,eAAa;AAEb,MAAI,OAAO,WAAW,YAAY;AAChC,aAAS,gBAAgB,MAAM;AAAA,EACjC;AAEA,QAAM,QAAQ,CAAC;AACf,MAAI,MAAM,WAAW;AACrB,QAAM,YAAY,CAAC,OAAO,YAAY;AACpC,WAAO;AAEP,UAAM,aAAa,OAAO,KAAK;AAE/B,QAAI,CAAC,YAAY;AACf,iBAAW,SAAS,OAAO,QAAQ;AACjC,cAAM,EAAE,IAAI,MAAM,QAAQ,IAAI,aAAa,KAAK;AAEhD,YAAI,CAAC,MAAM,EAAE,GAAG;AACd,gBAAM,EAAE,IAAI,EAAE,IAAI,MAAM,SAAS,KAAK,CAAC,EAAE;AAAA,QAC3C;AACA,cAAM,EAAE,EAAE,IAAI,KAAK,GAAG;AAAA,MACxB;AAAA,IACF;AACA,QAAI,CAAC,aAAa;AAChB,cAAQ,KAAK;AAAA,IACf;AAAA,EACF;AACA,QAAM,SAAS,sBAAsB,WAAW,aAAa;AAC7D,SAAO,SAAS,OAAO,EAAE,KAAK,aAAa,YAAY,MAAM;AAC7D,SAAO;AACT;AAEA,MAAM,eAAe,CAAC,UAAU;AAC9B,QAAM,UAAU,MAAM,WAAW;AAEjC,MAAI,KAAK,MAAM;AAEf,MAAI,OAAO,CAAC;AACZ,MAAI,MAAM,YAAY,gBAAgB;AACpC,UAAM,OAAO,OAAO,QAAQ,CAACA,WAAU;AACrC,YAAM,QAAQ,SAASA,MAAK;AAC5B,UAAI;AAAO,aAAK,KAAK,KAAK;AAAA,IAC5B,CAAC;AACD,WAAO,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;AAAA,EACjC,OAAO;AACL,SAAK,KAAK,SAAS,KAAK,CAAC;AAAA,EAC3B;AACA,MAAI,CAAC,MAAM,gBAAgB,KAAK,QAAQ;AACtC,UAAM,IAAI,KAAK,KAAK,GAAG;AAAA,EACzB;AACA,SAAO,EAAE,IAAI,MAAM,QAAQ;AAC7B;AAEA,MAAM,WAAW,CAAC,UAAU;AAG1B,SACE,MAAM,OAAO,mBACb,MAAM,OAAO,sBACb,MAAM,aAAa,QAAQ,KAAK,EAAE;AAEtC;AAEA,IAAO,mBAAQ;", | ||
| "names": ["error"] | ||
| } |
+8
-4
| { | ||
| "name": "@datastream/validate", | ||
| "version": "0.0.19", | ||
| "version": "0.0.20", | ||
| "description": "", | ||
@@ -68,7 +68,11 @@ "type": "module", | ||
| "dependencies": { | ||
| "@datastream/core": "0.0.19", | ||
| "@datastream/validate": "0.0.19", | ||
| "ajv-cmd": "0.3.1" | ||
| "@datastream/core": "0.0.20", | ||
| "@datastream/validate": "0.0.20", | ||
| "ajv-cmd": "0.3.3" | ||
| }, | ||
| "funding": { | ||
| "type": "github", | ||
| "url": "https://github.com/sponsors/willfarrell" | ||
| }, | ||
| "gitHead": "893d21043ef0903afc2fe43d0b3f7fc47671847d" | ||
| } |
16341
1.41%207
2.99%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated