diff --git a/cases/rescript-schema.ts b/cases/rescript-schema.ts index 06700e6b3..928eab6ba 100644 --- a/cases/rescript-schema.ts +++ b/cases/rescript-schema.ts @@ -2,8 +2,8 @@ import * as S from 'rescript-schema'; import { createCase } from '../benchmarks'; -createCase('rescript-schema', 'parseSafe', () => { - const schema = S.object({ +const makeSchema = () => + S.object({ number: S.number, negNumber: S.number, maxNumber: S.number, @@ -17,79 +17,50 @@ createCase('rescript-schema', 'parseSafe', () => { }), }); +createCase('rescript-schema', 'parseSafe', () => { + S.setGlobalConfig({ + disableNanNumberCheck: true, + }); + const schema = makeSchema(); + return data => { - return S.parseOrThrow(schema, data); + return schema.parseOrThrow(data); }; }); createCase('rescript-schema', 'parseStrict', () => { - const schema = S.Object.strict( - S.object({ - number: S.number, - negNumber: S.number, - maxNumber: S.number, - string: S.string, - longString: S.string, - boolean: S.boolean, - deeplyNested: S.Object.strict( - S.object({ - foo: S.string, - num: S.number, - bool: S.boolean, - }) - ), - }) - ); + S.setGlobalConfig({ + disableNanNumberCheck: true, + defaultUnknownKeys: 'Strict', + }); + const schema = makeSchema(); return data => { - return S.parseOrThrow(schema, data); + return schema.parseOrThrow(data); }; }); createCase('rescript-schema', 'assertLoose', () => { - const schema = S.object({ - number: S.number, - negNumber: S.number, - maxNumber: S.number, - string: S.string, - longString: S.string, - boolean: S.boolean, - deeplyNested: S.object({ - foo: S.string, - num: S.number, - bool: S.boolean, - }), + S.setGlobalConfig({ + disableNanNumberCheck: true, }); + const schema = makeSchema(); return data => { - S.parseOrThrow(schema, data); - + schema.assert(data)!; return true; }; }); createCase('rescript-schema', 'assertStrict', () => { - const schema = S.Object.strict( - S.object({ - number: S.number, - negNumber: S.number, - maxNumber: S.number, - string: S.string, - longString: S.string, - boolean: S.boolean, - deeplyNested: S.Object.strict( - S.object({ - foo: S.string, - num: S.number, - bool: S.boolean, - }) - ), - }) - ); + S.setGlobalConfig({ + disableNanNumberCheck: true, + defaultUnknownKeys: 'Strict', + }); + const schema = makeSchema(); return data => { - S.parseOrThrow(schema, data); - + schema.assert(data)!; return true; }; }); diff --git a/package-lock.json b/package-lock.json index a976a2ed7..85d1b27ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,8 +46,8 @@ "purify-ts": "2.0.3", "r-assign": "1.9.0", "reflect-metadata": "0.2.2", - "rescript": "11.0.0-rc.6", - "rescript-schema": "6.1.0", + "rescript": "11.1.2", + "rescript-schema": "8.0.0", "rulr": "8.7.6", "runtypes": "6.7.0", "serve": "14.2.3", @@ -8865,9 +8865,9 @@ } }, "node_modules/rescript": { - "version": "11.0.0-rc.6", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.6.tgz", - "integrity": "sha512-2nqdpQxLgQGNp0Rb8AFn5cM3kwRTd54zLvchqCsK3iLOe1CJwdVW5nEF7lsJbFTqihl8W6Va1y7SbFxY3FNxOQ==", + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.1.2.tgz", + "integrity": "sha512-sA4EgPoPbwGM/+R8xkZJzgr1gvnA1E/Gxjg6DXSG8csl8ttrSBMwHYK4FtGF0K9Ej5NRgsvIi7p/v/dtLB/cjg==", "hasInstallScript": true, "bin": { "bsc": "bsc", @@ -8879,11 +8879,11 @@ } }, "node_modules/rescript-schema": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/rescript-schema/-/rescript-schema-6.1.0.tgz", - "integrity": "sha512-DGN0pDGQk9pSjJGkGSQMMnfaXHeZ8cczoqirzKTZAksQSxkufnLX696IQ4d//eBZl5Rl+qhFBERH69T7A5FBRA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/rescript-schema/-/rescript-schema-8.0.0.tgz", + "integrity": "sha512-+i/us90Q73HeRZ9Y6BXfogb0BXpfwDmmFhHI+dZkvnzGOLMQEx3kowXv78LfP2ujpedwpN85/aqEPXRb+eBtog==", "peerDependencies": { - "rescript": "11.0.x || ~11.0.0-rc" + "rescript": "11.x" } }, "node_modules/resolve": { @@ -17314,14 +17314,14 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "rescript": { - "version": "11.0.0-rc.6", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.6.tgz", - "integrity": "sha512-2nqdpQxLgQGNp0Rb8AFn5cM3kwRTd54zLvchqCsK3iLOe1CJwdVW5nEF7lsJbFTqihl8W6Va1y7SbFxY3FNxOQ==" + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.1.2.tgz", + "integrity": "sha512-sA4EgPoPbwGM/+R8xkZJzgr1gvnA1E/Gxjg6DXSG8csl8ttrSBMwHYK4FtGF0K9Ej5NRgsvIi7p/v/dtLB/cjg==" }, "rescript-schema": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/rescript-schema/-/rescript-schema-6.1.0.tgz", - "integrity": "sha512-DGN0pDGQk9pSjJGkGSQMMnfaXHeZ8cczoqirzKTZAksQSxkufnLX696IQ4d//eBZl5Rl+qhFBERH69T7A5FBRA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/rescript-schema/-/rescript-schema-8.0.0.tgz", + "integrity": "sha512-+i/us90Q73HeRZ9Y6BXfogb0BXpfwDmmFhHI+dZkvnzGOLMQEx3kowXv78LfP2ujpedwpN85/aqEPXRb+eBtog==", "requires": {} }, "resolve": { diff --git a/package.json b/package.json index f8e5a25a0..b63e2f2b7 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,6 @@ "jointz": "7.0.4", "json-decoder": "1.4.1", "mol_data_all": "1.1.1123", - "@mondrian-framework/model": "2.0.43", "myzod": "1.11.0", "ok-computer": "1.0.4", "parse-dont-validate": "4.0.0", @@ -63,8 +62,8 @@ "purify-ts": "2.0.3", "r-assign": "1.9.0", "reflect-metadata": "0.2.2", - "rescript": "11.0.0-rc.6", - "rescript-schema": "6.1.0", + "rescript": "11.1.2", + "rescript-schema": "8.0.0", "rulr": "8.7.6", "runtypes": "6.7.0", "serve": "14.2.3",