@standard-community/standard-json 0.3.0-rc.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CeYTpXSN.cjs');
3
+ var index = require('./index-Dxld84sh.cjs');
4
+ require('quansync');
4
5
 
5
6
  async function getToJsonSchemaFn() {
6
7
  try {
@@ -1,4 +1,5 @@
1
- import { e as errorMessageWrapper } from './index-TV3as6RE.js';
1
+ import { e as errorMessageWrapper } from './index-97sbLB6Z.js';
2
+ import 'quansync';
2
3
 
3
4
  async function getToJsonSchemaFn() {
4
5
  try {
@@ -0,0 +1,56 @@
1
+ import { quansync } from 'quansync';
2
+
3
+ const errorMessageWrapper = (message) => `standard-json: ${message}`;
4
+ const validationMapper = /* @__PURE__ */ new Map();
5
+
6
+ const getToJsonSchemaFn = async (vendor) => {
7
+ const cached = validationMapper.get(vendor);
8
+ if (cached) {
9
+ return cached;
10
+ }
11
+ let vendorFnPromise;
12
+ switch (vendor) {
13
+ case "arktype":
14
+ vendorFnPromise = (await import('./arktype-DUDu5yUt.js')).default();
15
+ break;
16
+ case "effect":
17
+ vendorFnPromise = (await import('./effect-vnF3G8iM.js')).default();
18
+ break;
19
+ case "valibot":
20
+ vendorFnPromise = (await import('./valibot-BjGSUKDp.js')).default();
21
+ break;
22
+ case "zod":
23
+ vendorFnPromise = (await import('./zod-BciXR7y0.js')).default();
24
+ break;
25
+ default:
26
+ throw new Error(
27
+ errorMessageWrapper(`Unsupported schema vendor "${vendor}".`)
28
+ );
29
+ }
30
+ const vendorFn = await vendorFnPromise;
31
+ validationMapper.set(vendor, vendorFn);
32
+ return vendorFn;
33
+ };
34
+
35
+ const toJsonSchema = quansync({
36
+ sync: (schema, options) => {
37
+ const fn = validationMapper.get(schema["~standard"].vendor);
38
+ if (!fn) {
39
+ throw new Error(
40
+ errorMessageWrapper(
41
+ `Unsupported schema vendor "${schema["~standard"].vendor}".`
42
+ )
43
+ );
44
+ }
45
+ return fn(schema, options);
46
+ },
47
+ async: async (schema, options) => {
48
+ const fn = await getToJsonSchemaFn(schema["~standard"].vendor);
49
+ return fn(schema, options);
50
+ }
51
+ });
52
+ function loadVendor(vendor, fn) {
53
+ validationMapper.set(vendor, fn);
54
+ }
55
+
56
+ export { errorMessageWrapper as e, loadVendor as l, toJsonSchema as t };
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ var quansync = require('quansync');
4
+
5
+ const errorMessageWrapper = (message) => `standard-json: ${message}`;
6
+ const validationMapper = /* @__PURE__ */ new Map();
7
+
8
+ const getToJsonSchemaFn = async (vendor) => {
9
+ const cached = validationMapper.get(vendor);
10
+ if (cached) {
11
+ return cached;
12
+ }
13
+ let vendorFnPromise;
14
+ switch (vendor) {
15
+ case "arktype":
16
+ vendorFnPromise = (await Promise.resolve().then(function () { return require('./arktype-BCitmcgd.cjs'); })).default();
17
+ break;
18
+ case "effect":
19
+ vendorFnPromise = (await Promise.resolve().then(function () { return require('./effect-DiQ4KuZr.cjs'); })).default();
20
+ break;
21
+ case "valibot":
22
+ vendorFnPromise = (await Promise.resolve().then(function () { return require('./valibot-DYwVcDdz.cjs'); })).default();
23
+ break;
24
+ case "zod":
25
+ vendorFnPromise = (await Promise.resolve().then(function () { return require('./zod-BIq-xupo.cjs'); })).default();
26
+ break;
27
+ default:
28
+ throw new Error(
29
+ errorMessageWrapper(`Unsupported schema vendor "${vendor}".`)
30
+ );
31
+ }
32
+ const vendorFn = await vendorFnPromise;
33
+ validationMapper.set(vendor, vendorFn);
34
+ return vendorFn;
35
+ };
36
+
37
+ const toJsonSchema = quansync.quansync({
38
+ sync: (schema, options) => {
39
+ const fn = validationMapper.get(schema["~standard"].vendor);
40
+ if (!fn) {
41
+ throw new Error(
42
+ errorMessageWrapper(
43
+ `Unsupported schema vendor "${schema["~standard"].vendor}".`
44
+ )
45
+ );
46
+ }
47
+ return fn(schema, options);
48
+ },
49
+ async: async (schema, options) => {
50
+ const fn = await getToJsonSchemaFn(schema["~standard"].vendor);
51
+ return fn(schema, options);
52
+ }
53
+ });
54
+ function loadVendor(vendor, fn) {
55
+ validationMapper.set(vendor, fn);
56
+ }
57
+
58
+ exports.errorMessageWrapper = errorMessageWrapper;
59
+ exports.loadVendor = loadVendor;
60
+ exports.toJsonSchema = toJsonSchema;
package/dist/index.cjs CHANGED
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CeYTpXSN.cjs');
3
+ require('quansync');
4
+ var index = require('./index-Dxld84sh.cjs');
4
5
 
5
6
 
6
7
 
8
+ exports.loadVendor = index.loadVendor;
7
9
  exports.toJsonSchema = index.toJsonSchema;
package/dist/index.d.cts CHANGED
@@ -1,9 +1,14 @@
1
- import { StandardSchemaV1 } from '@standard-schema/spec';
1
+ import * as quansync from 'quansync';
2
+ import * as json_schema from 'json-schema';
2
3
  import { JSONSchema7 } from 'json-schema';
4
+ import { StandardSchemaV1 } from '@standard-schema/spec';
5
+
6
+ type ToJsonSchemaFn = (schema: unknown, options?: Record<string, unknown>) => JSONSchema7 | Promise<JSONSchema7>;
3
7
 
4
8
  /**
5
9
  * Converts a Standard Schema to a JSON schema.
6
10
  */
7
- declare const toJsonSchema: (schema: StandardSchemaV1, options?: Record<string, unknown>) => Promise<JSONSchema7>;
11
+ declare const toJsonSchema: quansync.QuansyncFn<json_schema.JSONSchema7 | Promise<json_schema.JSONSchema7>, [schema: StandardSchemaV1<unknown, unknown>, options?: Record<string, unknown> | undefined]>;
12
+ declare function loadVendor(vendor: string, fn: ToJsonSchemaFn): void;
8
13
 
9
- export { toJsonSchema };
14
+ export { loadVendor, toJsonSchema };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,14 @@
1
- import { StandardSchemaV1 } from '@standard-schema/spec';
1
+ import * as quansync from 'quansync';
2
+ import * as json_schema from 'json-schema';
2
3
  import { JSONSchema7 } from 'json-schema';
4
+ import { StandardSchemaV1 } from '@standard-schema/spec';
5
+
6
+ type ToJsonSchemaFn = (schema: unknown, options?: Record<string, unknown>) => JSONSchema7 | Promise<JSONSchema7>;
3
7
 
4
8
  /**
5
9
  * Converts a Standard Schema to a JSON schema.
6
10
  */
7
- declare const toJsonSchema: (schema: StandardSchemaV1, options?: Record<string, unknown>) => Promise<JSONSchema7>;
11
+ declare const toJsonSchema: quansync.QuansyncFn<json_schema.JSONSchema7 | Promise<json_schema.JSONSchema7>, [schema: StandardSchemaV1<unknown, unknown>, options?: Record<string, unknown> | undefined]>;
12
+ declare function loadVendor(vendor: string, fn: ToJsonSchemaFn): void;
8
13
 
9
- export { toJsonSchema };
14
+ export { loadVendor, toJsonSchema };
package/dist/index.js CHANGED
@@ -1 +1,2 @@
1
- export { t as toJsonSchema } from './index-TV3as6RE.js';
1
+ import 'quansync';
2
+ export { l as loadVendor, t as toJsonSchema } from './index-97sbLB6Z.js';
@@ -1,11 +1,14 @@
1
- import { e as errorMessageWrapper } from './index-TV3as6RE.js';
1
+ import { e as errorMessageWrapper } from './index-97sbLB6Z.js';
2
+ import 'quansync';
2
3
 
3
4
  async function getToJsonSchemaFn() {
4
5
  try {
5
6
  const { toJsonSchema } = await import('@valibot/to-json-schema');
6
7
  return toJsonSchema;
7
8
  } catch {
8
- throw new Error(errorMessageWrapper('Missing dependencies "@valibot/to-json-schema".'));
9
+ throw new Error(
10
+ errorMessageWrapper('Missing dependencies "@valibot/to-json-schema".')
11
+ );
9
12
  }
10
13
  }
11
14
 
@@ -1,13 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CeYTpXSN.cjs');
3
+ var index = require('./index-Dxld84sh.cjs');
4
+ require('quansync');
4
5
 
5
6
  async function getToJsonSchemaFn() {
6
7
  try {
7
8
  const { toJsonSchema } = await import('@valibot/to-json-schema');
8
9
  return toJsonSchema;
9
10
  } catch {
10
- throw new Error(index.errorMessageWrapper('Missing dependencies "@valibot/to-json-schema".'));
11
+ throw new Error(
12
+ index.errorMessageWrapper('Missing dependencies "@valibot/to-json-schema".')
13
+ );
11
14
  }
12
15
  }
13
16
 
@@ -1,21 +1,28 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CeYTpXSN.cjs');
3
+ var index = require('./index-Dxld84sh.cjs');
4
+ require('quansync');
4
5
 
5
6
  async function getToJsonSchemaFn() {
6
7
  return async (schema, options) => {
7
8
  let handler;
8
9
  if ("_zod" in schema) {
9
10
  try {
10
- handler = await import('zod/v4/core').then((mod) => mod.toJSONSchema);
11
+ handler = await import('zod/v4/core').then(
12
+ (mod) => mod.toJSONSchema
13
+ );
11
14
  } catch {
12
15
  throw new Error(index.errorMessageWrapper('Missing dependencies "zod v4".'));
13
16
  }
14
17
  } else {
15
18
  try {
16
- handler = await import('zod-to-json-schema').then((mod) => mod.zodToJsonSchema);
19
+ handler = await import('zod-to-json-schema').then(
20
+ (mod) => mod.zodToJsonSchema
21
+ );
17
22
  } catch {
18
- throw new Error(index.errorMessageWrapper('Missing dependencies "zod-to-json-schema".'));
23
+ throw new Error(
24
+ index.errorMessageWrapper('Missing dependencies "zod-to-json-schema".')
25
+ );
19
26
  }
20
27
  }
21
28
  return handler(schema, options);
@@ -0,0 +1,30 @@
1
+ import { e as errorMessageWrapper } from './index-97sbLB6Z.js';
2
+ import 'quansync';
3
+
4
+ async function getToJsonSchemaFn() {
5
+ return async (schema, options) => {
6
+ let handler;
7
+ if ("_zod" in schema) {
8
+ try {
9
+ handler = await import('zod/v4/core').then(
10
+ (mod) => mod.toJSONSchema
11
+ );
12
+ } catch {
13
+ throw new Error(errorMessageWrapper('Missing dependencies "zod v4".'));
14
+ }
15
+ } else {
16
+ try {
17
+ handler = await import('zod-to-json-schema').then(
18
+ (mod) => mod.zodToJsonSchema
19
+ );
20
+ } catch {
21
+ throw new Error(
22
+ errorMessageWrapper('Missing dependencies "zod-to-json-schema".')
23
+ );
24
+ }
25
+ }
26
+ return handler(schema, options);
27
+ };
28
+ }
29
+
30
+ export { getToJsonSchemaFn as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@standard-community/standard-json",
3
- "version": "0.3.0-rc.5",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.cjs",
@@ -22,8 +22,7 @@
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",
25
- "url": "git+https://github.com/standard-community/standard-json.git",
26
- "directory": "packages/core"
25
+ "url": "git+https://github.com/standard-community/standard-json.git"
27
26
  },
28
27
  "bugs": {
29
28
  "url": "https://github.com/standard-community/standard-json/issues"
@@ -44,6 +43,7 @@
44
43
  "@valibot/to-json-schema": "^1.3.0",
45
44
  "arktype": "^2.1.20",
46
45
  "effect": "^3.16.8",
46
+ "quansync": "^0.2.11",
47
47
  "valibot": "^1.1.0",
48
48
  "zod": "^3.25.0 || ^4.0.0",
49
49
  "zod-to-json-schema": "^3.24.5"
@@ -70,6 +70,7 @@
70
70
  },
71
71
  "devDependencies": {
72
72
  "@biomejs/biome": "^2.0.4",
73
+ "@types/node": "^24.3.1",
73
74
  "pkgroll": "^2.13.1",
74
75
  "typescript": "^5.8.3",
75
76
  "vitest": "^3.2.4"
@@ -1,27 +0,0 @@
1
- 'use strict';
2
-
3
- const errorMessageWrapper = (message) => `standard-json: ${message}`;
4
-
5
- const getToJsonSchemaFn = async (vendor) => {
6
- switch (vendor) {
7
- case "arktype":
8
- return (await Promise.resolve().then(function () { return require('./arktype-BCitmcgd.cjs'); })).default();
9
- case "effect":
10
- return (await Promise.resolve().then(function () { return require('./effect-BdLFlbKK.cjs'); })).default();
11
- case "valibot":
12
- return (await Promise.resolve().then(function () { return require('./valibot-DW5hlWjk.cjs'); })).default();
13
- case "zod":
14
- return (await Promise.resolve().then(function () { return require('./zod-CTiow-o0.cjs'); })).default();
15
- default:
16
- throw new Error(
17
- errorMessageWrapper(`Unsupported schema vendor "${vendor}".`)
18
- );
19
- }
20
- };
21
-
22
- const toJsonSchema = (schema, options) => getToJsonSchemaFn(schema["~standard"].vendor).then(
23
- (toJsonSchema2) => toJsonSchema2(schema, options)
24
- );
25
-
26
- exports.errorMessageWrapper = errorMessageWrapper;
27
- exports.toJsonSchema = toJsonSchema;
@@ -1,24 +0,0 @@
1
- const errorMessageWrapper = (message) => `standard-json: ${message}`;
2
-
3
- const getToJsonSchemaFn = async (vendor) => {
4
- switch (vendor) {
5
- case "arktype":
6
- return (await import('./arktype-DUDu5yUt.js')).default();
7
- case "effect":
8
- return (await import('./effect-upmsZks7.js')).default();
9
- case "valibot":
10
- return (await import('./valibot-f_9pHZHS.js')).default();
11
- case "zod":
12
- return (await import('./zod-CQLI5Nm9.js')).default();
13
- default:
14
- throw new Error(
15
- errorMessageWrapper(`Unsupported schema vendor "${vendor}".`)
16
- );
17
- }
18
- };
19
-
20
- const toJsonSchema = (schema, options) => getToJsonSchemaFn(schema["~standard"].vendor).then(
21
- (toJsonSchema2) => toJsonSchema2(schema, options)
22
- );
23
-
24
- export { errorMessageWrapper as e, toJsonSchema as t };
@@ -1,23 +0,0 @@
1
- import { e as errorMessageWrapper } from './index-TV3as6RE.js';
2
-
3
- async function getToJsonSchemaFn() {
4
- return async (schema, options) => {
5
- let handler;
6
- if ("_zod" in schema) {
7
- try {
8
- handler = await import('zod/v4/core').then((mod) => mod.toJSONSchema);
9
- } catch {
10
- throw new Error(errorMessageWrapper('Missing dependencies "zod v4".'));
11
- }
12
- } else {
13
- try {
14
- handler = await import('zod-to-json-schema').then((mod) => mod.zodToJsonSchema);
15
- } catch {
16
- throw new Error(errorMessageWrapper('Missing dependencies "zod-to-json-schema".'));
17
- }
18
- }
19
- return handler(schema, options);
20
- };
21
- }
22
-
23
- export { getToJsonSchemaFn as default };