schematox 1.3.0 → 1.3.1
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.
- package/dist/constants.d.ts +5 -5
- package/dist/constants.js +5 -5
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/parse.d.ts +3 -3
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +2 -2
- package/dist/parse.js.map +1 -1
- package/dist/struct.d.ts +3 -3
- package/dist/struct.d.ts.map +1 -1
- package/dist/struct.js +7 -11
- package/dist/struct.js.map +1 -1
- package/dist/types/extensions.d.ts +2 -2
- package/dist/types/extensions.d.ts.map +1 -1
- package/dist/types/infer.d.ts +4 -4
- package/dist/types/infer.d.ts.map +1 -1
- package/dist/types/schema.d.ts.map +1 -1
- package/dist/types/struct.d.ts +4 -4
- package/dist/types/struct.d.ts.map +1 -1
- package/dist/types/utils.d.ts +1 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/package.json +10 -10
- package/src/constants.ts +5 -5
- package/src/index.ts +9 -9
- package/src/parse.ts +5 -5
- package/src/struct.ts +11 -15
- package/src/types/extensions.ts +2 -2
- package/src/types/infer.ts +7 -10
- package/src/types/schema.ts +1 -5
- package/src/types/struct.ts +5 -9
- package/src/types/utils.ts +1 -1
- package/src/utils.ts +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -3,11 +3,11 @@ export declare const ERROR_CODE: {
|
|
|
3
3
|
readonly invalidRange: "INVALID_RANGE";
|
|
4
4
|
};
|
|
5
5
|
export declare const PARAMS_BY_SCHEMA_TYPE: {
|
|
6
|
-
readonly boolean: Set<"optional" | "nullable" | "
|
|
7
|
-
readonly literal: Set<"optional" | "nullable" | "
|
|
8
|
-
readonly number: Set<"optional" | "nullable" | "
|
|
9
|
-
readonly bigint: Set<"optional" | "nullable" | "
|
|
10
|
-
readonly string: Set<"optional" | "nullable" | "
|
|
6
|
+
readonly boolean: Set<"optional" | "nullable" | "description" | "brand">;
|
|
7
|
+
readonly literal: Set<"optional" | "nullable" | "description" | "brand">;
|
|
8
|
+
readonly number: Set<"optional" | "nullable" | "description" | "brand" | "min" | "max">;
|
|
9
|
+
readonly bigint: Set<"optional" | "nullable" | "description" | "brand" | "min" | "max">;
|
|
10
|
+
readonly string: Set<"optional" | "nullable" | "description" | "brand" | "minLength" | "maxLength">;
|
|
11
11
|
readonly array: Set<"optional" | "nullable" | "description" | "minLength" | "maxLength">;
|
|
12
12
|
readonly object: Set<"optional" | "nullable" | "description">;
|
|
13
13
|
readonly record: Set<"optional" | "nullable" | "description" | "minLength" | "maxLength">;
|
package/dist/constants.js
CHANGED
|
@@ -4,11 +4,11 @@ export const ERROR_CODE = {
|
|
|
4
4
|
};
|
|
5
5
|
// prettier-ignore
|
|
6
6
|
export const PARAMS_BY_SCHEMA_TYPE = {
|
|
7
|
-
boolean: new Set(['optional', 'nullable', '
|
|
8
|
-
literal: new Set(['optional', 'nullable', '
|
|
9
|
-
number: new Set(['optional', 'nullable', '
|
|
10
|
-
bigint: new Set(['optional', 'nullable', '
|
|
11
|
-
string: new Set(['optional', 'nullable', '
|
|
7
|
+
boolean: new Set(['optional', 'nullable', 'description', 'brand']),
|
|
8
|
+
literal: new Set(['optional', 'nullable', 'description', 'brand']),
|
|
9
|
+
number: new Set(['optional', 'nullable', 'description', 'brand', 'min', 'max']),
|
|
10
|
+
bigint: new Set(['optional', 'nullable', 'description', 'brand', 'min', 'max']),
|
|
11
|
+
string: new Set(['optional', 'nullable', 'description', 'brand', 'minLength', 'maxLength']),
|
|
12
12
|
//
|
|
13
13
|
array: new Set(['optional', 'nullable', 'description', 'minLength', 'maxLength']),
|
|
14
14
|
object: new Set(['optional', 'nullable', 'description']),
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;CACrB,CAAA;AAEV,kBAAkB;AAClB,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;CACrB,CAAA;AAEV,kBAAkB;AAClB,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAU,CAAC;IAC5E,OAAO,EAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAU,CAAC;IAC5E,MAAM,EAAI,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;IAC1F,MAAM,EAAI,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;IAC1F,MAAM,EAAI,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;IACtG,EAAE;IACF,KAAK,EAAK,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;IAC7F,MAAM,EAAI,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAU,CAAC;IACnE,MAAM,EAAI,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;IAC7F,KAAK,EAAK,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAU,CAAC;IACnE,KAAK,EAAK,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAU,CAAC;CAC3D,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,WAAW;CACX,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { ERROR_CODE, PARAMS_BY_SCHEMA_TYPE } from './constants';
|
|
2
|
-
export { parse } from './parse';
|
|
3
|
-
export { makeStruct, boolean, literal, number, bigint, string, array, object, record, tuple, union, } from './struct';
|
|
4
|
-
export { error, success, tCh } from './utils';
|
|
5
|
-
export type { ErrorCode, ErrorPath, InvalidSubject, ParseError, ParseResult, ParseSuccess, PrettifyObject, } from './types/utils';
|
|
6
|
-
export type { Infer, InferSchema, InferPrimitive, InferArray, InferObject, InferRecord, InferUnion, } from './types/infer';
|
|
7
|
-
export type { Schema, PrimitiveSchema, ArraySchema, ObjectSchema, RecordSchema, UnionSchema, BrandSchema, BigIntSchema, BooleanSchema, LiteralSchema, NumberSchema, StringSchema, BigIntString, } from './types/schema';
|
|
8
|
-
export type { Struct, StructShape, StructParams } from './types/struct';
|
|
9
|
-
export type { ExtendParams, ExtendBrand, ExtendOptional, ExtendNullable, } from './types/extensions';
|
|
1
|
+
export { ERROR_CODE, PARAMS_BY_SCHEMA_TYPE } from './constants.js';
|
|
2
|
+
export { parse } from './parse.js';
|
|
3
|
+
export { makeStruct, boolean, literal, number, bigint, string, array, object, record, tuple, union, } from './struct.js';
|
|
4
|
+
export { error, success, tCh } from './utils.js';
|
|
5
|
+
export type { ErrorCode, ErrorPath, InvalidSubject, ParseError, ParseResult, ParseSuccess, PrettifyObject, } from './types/utils.js';
|
|
6
|
+
export type { Infer, InferSchema, InferPrimitive, InferArray, InferObject, InferRecord, InferUnion, } from './types/infer.js';
|
|
7
|
+
export type { Schema, PrimitiveSchema, ArraySchema, ObjectSchema, RecordSchema, UnionSchema, BrandSchema, BigIntSchema, BooleanSchema, LiteralSchema, NumberSchema, StringSchema, BigIntString, } from './types/schema.js';
|
|
8
|
+
export type { Struct, StructShape, StructParams } from './types/struct.js';
|
|
9
|
+
export type { ExtendParams, ExtendBrand, ExtendOptional, ExtendNullable, } from './types/extensions.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,EACL,UAAU,EAEV,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EAEN,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhD,YAAY,EACV,SAAS,EACT,SAAS,EACT,cAAc,EACd,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EACV,KAAK,EAEL,WAAW,EACX,cAAc,EAEd,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EACV,MAAM,EACN,eAAe,EAEf,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EAEX,WAAW,EAEX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EAEZ,YAAY,GACb,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE1E,YAAY,EACV,YAAY,EAEZ,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,uBAAuB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { ERROR_CODE, PARAMS_BY_SCHEMA_TYPE } from './constants';
|
|
2
|
-
export { parse } from './parse';
|
|
1
|
+
export { ERROR_CODE, PARAMS_BY_SCHEMA_TYPE } from './constants.js';
|
|
2
|
+
export { parse } from './parse.js';
|
|
3
3
|
export { makeStruct,
|
|
4
4
|
//
|
|
5
5
|
boolean, literal, number, bigint, string,
|
|
6
6
|
//
|
|
7
|
-
array, object, record, tuple, union, } from './struct';
|
|
8
|
-
export { error, success, tCh } from './utils';
|
|
7
|
+
array, object, record, tuple, union, } from './struct.js';
|
|
8
|
+
export { error, success, tCh } from './utils.js';
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,EACL,UAAU;AACV,EAAE;AACF,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM;AACN,EAAE;AACF,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/parse.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { InferSchema } from './types/infer';
|
|
2
|
-
import type { ParseResult } from './types/utils';
|
|
3
|
-
import type { Schema } from './types/schema';
|
|
1
|
+
import type { InferSchema } from './types/infer.js';
|
|
2
|
+
import type { ParseResult } from './types/utils.js';
|
|
3
|
+
import type { Schema } from './types/schema.js';
|
|
4
4
|
export declare function parse<T extends Schema>(schema: T, subject: unknown): ParseResult<InferSchema<T>>;
|
|
5
5
|
//# sourceMappingURL=parse.d.ts.map
|
package/dist/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAA6B,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9E,OAAO,KAAK,EACV,MAAM,EAaP,MAAM,mBAAmB,CAAA;AAgB1B,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,OAAO,GACf,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
package/dist/parse.js
CHANGED
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|
package/dist/struct.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Schema, StringSchema } from './types/schema';
|
|
2
|
-
import type { Struct, StructShape } from './types/struct';
|
|
1
|
+
import type { Schema, StringSchema } from './types/schema.ts';
|
|
2
|
+
import type { Struct, StructShape } from './types/struct.ts';
|
|
3
3
|
export declare function makeStruct<T extends Schema>(schema: T): Struct<T>;
|
|
4
4
|
/**
|
|
5
5
|
* Primitives
|
|
@@ -45,7 +45,7 @@ export declare function tuple<T extends [StructShape<Schema>, ...Array<StructSha
|
|
|
45
45
|
readonly of: { [K in keyof T]: T[K]["__schema"]; };
|
|
46
46
|
}>;
|
|
47
47
|
export declare function union<T extends [StructShape<Schema>, ...Array<StructShape<Schema>>]>(of: T): Struct<{
|
|
48
|
-
type:
|
|
48
|
+
type: "union";
|
|
49
49
|
of: T extends [...infer U] ? { [K in keyof U]: U[K] extends StructShape<infer V> ? V : never; } : never;
|
|
50
50
|
}>;
|
|
51
51
|
//# sourceMappingURL=struct.d.ts.map
|
package/dist/struct.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,MAAM,EAGN,YAAY,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,MAAM,EAGN,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAgB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE1E,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAsElE;;IAEI;AAEJ,wBAAgB,OAAO;;GAEtB;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC;;;GAEjE;AAED,wBAAgB,MAAM;;GAErB;AAED,wBAAgB,MAAM;;GAErB;AAED,wBAAgB,MAAM;;GAErB;AAED;;IAEI;AAEJ,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;;QAGnC,CAAC,CAAC,UAAU,CAAC;GAEnC;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;;QAG7D,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAE;GAQjD;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAClD,EAAE,EAAE,CAAC,EACL,GAAG,CAAC,EAAE,SAAS,GACd,MAAM,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;CAAE,CAAC,CAAA;AAEhD,wBAAgB,MAAM,CACpB,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAC7B,CAAC,SAAS,WAAW,CAAC,YAAY,CAAC,EAEnC,EAAE,EAAE,CAAC,EACL,GAAG,EAAE,CAAC,GACL,MAAM,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;CAAE,CAAC,CAAA;AAcpE,wBAAgB,KAAK,CACnB,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAC9D,EAAE,EAAE,CAAC;;iBAG8B,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAE;GAIxE;AAED,wBAAgB,KAAK,CACnB,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAC9D,EAAE,EAAE,CAAC;UAEG,OAAO;QACT,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,GACtB,GACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAC9D,GACD,KAAK;GAQZ"}
|
package/dist/struct.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PARAMS_BY_SCHEMA_TYPE, STANDARD_SCHEMA } from './constants';
|
|
2
|
-
import { parse } from './parse';
|
|
1
|
+
import { PARAMS_BY_SCHEMA_TYPE, STANDARD_SCHEMA } from './constants.js';
|
|
2
|
+
import { parse } from './parse.js';
|
|
3
3
|
export function makeStruct(schema) {
|
|
4
4
|
const params = PARAMS_BY_SCHEMA_TYPE[schema.type];
|
|
5
5
|
const result = {
|
|
@@ -20,15 +20,11 @@ export function makeStruct(schema) {
|
|
|
20
20
|
},
|
|
21
21
|
},
|
|
22
22
|
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
if (params.has('description')) {
|
|
30
|
-
result.description = (description) => makeStruct({ ...schema, description });
|
|
31
|
-
}
|
|
23
|
+
/* Params present in all schema types */
|
|
24
|
+
result.optional = () => makeStruct({ ...schema, optional: true });
|
|
25
|
+
result.nullable = () => makeStruct({ ...schema, nullable: true });
|
|
26
|
+
result.description = (description) => makeStruct({ ...schema, description });
|
|
27
|
+
/* Schema specific params */
|
|
32
28
|
if (params.has('brand')) {
|
|
33
29
|
result.brand = (...args) => {
|
|
34
30
|
return makeStruct({
|
package/dist/struct.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"struct.js","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { BrandSchema } from './schema';
|
|
2
|
-
import type { InferBrand } from './infer';
|
|
1
|
+
import type { BrandSchema } from './schema.ts';
|
|
2
|
+
import type { InferBrand } from './infer.ts';
|
|
3
3
|
export type ExtendParams<Schema, Subject, T0 = ExtendBrand<Schema, Subject>, T1 = ExtendOptional<Schema, T0>, T2 = ExtendNullable<Schema, T1>> = T2;
|
|
4
4
|
export type ExtendBrand<Schema, Subject> = Schema extends {
|
|
5
5
|
brand: infer T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/types/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/types/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI5C,MAAM,MAAM,YAAY,CACtB,MAAM,EACN,OAAO,EACP,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAC/B,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,IAC7B,EAAE,CAAA;AAEN,MAAM,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,SAAS;IACxD,KAAK,EAAE,MAAM,CAAC,CAAA;CACf,GACG,CAAC,SAAS,WAAW,GACnB,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,GACvB,KAAK,GACP,OAAO,CAAA;AAEX,MAAM,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,SAAS;IAC3D,QAAQ,EAAE,IAAI,CAAA;CACf,GACG,OAAO,GAAG,SAAS,GACnB,OAAO,CAAA;AAEX,MAAM,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,SAAS;IAC3D,QAAQ,EAAE,IAAI,CAAA;CACf,GACG,OAAO,GAAG,IAAI,GACd,OAAO,CAAA"}
|
package/dist/types/infer.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Schema, ArraySchema, ObjectSchema, RecordSchema, TupleSchema, UnionSchema, PrimitiveSchema, BigIntSchema, BooleanSchema, LiteralSchema, NumberSchema, StringSchema, BrandSchema } from './schema';
|
|
2
|
-
import type { StructShape } from './struct';
|
|
3
|
-
import type { PrettifyObject } from './utils';
|
|
4
|
-
import type { ExtendParams, ExtendBrand } from './extensions';
|
|
1
|
+
import type { Schema, ArraySchema, ObjectSchema, RecordSchema, TupleSchema, UnionSchema, PrimitiveSchema, BigIntSchema, BooleanSchema, LiteralSchema, NumberSchema, StringSchema, BrandSchema } from './schema.ts';
|
|
2
|
+
import type { StructShape } from './struct.ts';
|
|
3
|
+
import type { PrettifyObject } from './utils.ts';
|
|
4
|
+
import type { ExtendParams, ExtendBrand } from './extensions.ts';
|
|
5
5
|
/**
|
|
6
6
|
* @example Infer<typeof struct> | Infer<typeof schema>
|
|
7
7
|
**/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/types/infer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEN,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EAEX,eAAe,EAEf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EAEZ,WAAW,EACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/types/infer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GACb,eAAe,GACf;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,GACpF;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,YAAY,GAC7D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,GACzG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG,YAAY,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG,YAAY,CAAA;AAExD,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAEnE,MAAM,MAAM,YAAY,GAAG;IACzB;;QAEI;IACJ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;QAEI;IACJ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;QAGI;IACJ,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;IAEI;AAEJ,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,GAAG;IACpD,IAAI,EAAE,OAAO,CAAA;IACb,EAAE,EAAE,CAAC,CAAA;IACL,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,GAAG;IACrD,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,CAAC,CAAA;CACN,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,GAAG;IACrD,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,CAAC,CAAA;IACL,GAAG,CAAC,EAAE,YAAY,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,GAAG;IACpD,IAAI,EAAE,OAAO,CAAA;IACb,EAAE,EAAE,CAAC,CAAA;CACN,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,GAAG;IACpD,IAAI,EAAE,OAAO,CAAA;IACb,EAAE,EAAE,CAAC,CAAA;CACN,CAAA;AAED;;IAEI;AAEJ,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG;IACjD;;QAEI;IACJ,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/types/struct.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ParseResult } from './utils';
|
|
2
|
-
import type { StandardSchemaV1 } from './standard-schema';
|
|
3
|
-
import type { Schema, ArraySchema, ObjectSchema, RecordSchema, TupleSchema, UnionSchema, BrandSchema, BigIntSchema, BooleanSchema, LiteralSchema, NumberSchema, StringSchema, BigIntString } from './schema';
|
|
4
|
-
import type { InferSchema } from './infer';
|
|
1
|
+
import { ParseResult } from './utils.js';
|
|
2
|
+
import type { StandardSchemaV1 } from './standard-schema.ts';
|
|
3
|
+
import type { Schema, ArraySchema, ObjectSchema, RecordSchema, TupleSchema, UnionSchema, BrandSchema, BigIntSchema, BooleanSchema, LiteralSchema, NumberSchema, StringSchema, BigIntString } from './schema.ts';
|
|
4
|
+
import type { InferSchema } from './infer.ts';
|
|
5
5
|
export type Struct<T extends Schema> = Omit<Pick<{
|
|
6
6
|
optional: () => Struct<T & {
|
|
7
7
|
optional: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../src/types/struct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../src/types/struct.ts"],"names":[],"mappings":"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"}
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;AAEzD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,KAAK,CAAA;IACd,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,EAAE,CAAC,CAAA;CACR,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,SAAS,CAAA;IAEf;;;;QAII;IACJ,IAAI,EAAE,SAAS,CAAA;IAEf;;;;QAII;IACJ,MAAM,EAAE,MAAM,CAAA;IAEd;;;QAGI;IACJ,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,eAAe,CAAA;AAExD,MAAM,MAAM,SAAS,GAAG,KAAK,CAC3B,MAAM,GAAoB,MAAM,CACjC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC7D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAA"}
|
package/dist/utils.d.ts
CHANGED
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEhF;;;IAGI;AACJ,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,KAAG,CAAC,EAAc,CAAA;AAEnE,eAAO,MAAM,KAAK,GAAI,OAAO,cAAc,EAAE,KAAG,UAG9C,CAAA;AAEF,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,YAAY,CAAC,CAAC,CAGjD,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "schematox",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "tsc",
|
|
6
|
-
"test": "
|
|
6
|
+
"test": "vitest",
|
|
7
7
|
"test:watch": "jest --watch",
|
|
8
|
-
"test:coverage": "
|
|
8
|
+
"test:coverage": "vitest run --coverage",
|
|
9
9
|
"formatter:fix": "prettier --write .",
|
|
10
10
|
"formatter:check": "prettier --check . || (echo \"FORMATTING ERROR: use 'npm run formatter:fix'\" && exit 1)",
|
|
11
|
-
"ts": "tsc
|
|
11
|
+
"ts": "tsc -p tests/tsconfig.json",
|
|
12
12
|
"check": "npm run formatter:check && npm run ts && npm run test:coverage",
|
|
13
13
|
"morph": "jiti tests/fold-morph.ts && npm run formatter:fix",
|
|
14
14
|
"release": "npm run check && bash scripts/prepare-release.sh",
|
|
@@ -18,12 +18,11 @@
|
|
|
18
18
|
"typescript": ">=5.3.2"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@
|
|
22
|
-
"
|
|
23
|
-
"prettier": "^3.1.1",
|
|
24
|
-
"ts-jest": "^29.1.0",
|
|
21
|
+
"@vitest/coverage-v8": "^4.1.9",
|
|
22
|
+
"prettier": "^3.9.4",
|
|
25
23
|
"ts-morph": "^26.0.0",
|
|
26
|
-
"typescript": "^5.3.2"
|
|
24
|
+
"typescript": "^5.3.2",
|
|
25
|
+
"vitest": "^4.1.9"
|
|
27
26
|
},
|
|
28
27
|
"description": "Define JSON compatible schema statically/programmatically and parse its subject with typesafety",
|
|
29
28
|
"author": "Kanstantsin Mazur",
|
|
@@ -49,7 +48,8 @@
|
|
|
49
48
|
"exports": {
|
|
50
49
|
".": {
|
|
51
50
|
"types": "./dist/index.d.ts",
|
|
52
|
-
"import": "./dist/index.js"
|
|
51
|
+
"import": "./dist/index.js",
|
|
52
|
+
"default": "./dist/index.js"
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"files": [
|
package/src/constants.ts
CHANGED
|
@@ -5,11 +5,11 @@ export const ERROR_CODE = {
|
|
|
5
5
|
|
|
6
6
|
// prettier-ignore
|
|
7
7
|
export const PARAMS_BY_SCHEMA_TYPE = {
|
|
8
|
-
boolean: new Set(['optional', 'nullable', '
|
|
9
|
-
literal: new Set(['optional', 'nullable', '
|
|
10
|
-
number: new Set(['optional', 'nullable', '
|
|
11
|
-
bigint: new Set(['optional', 'nullable', '
|
|
12
|
-
string: new Set(['optional', 'nullable', '
|
|
8
|
+
boolean: new Set(['optional', 'nullable', 'description', 'brand'] as const),
|
|
9
|
+
literal: new Set(['optional', 'nullable', 'description', 'brand'] as const),
|
|
10
|
+
number: new Set(['optional', 'nullable', 'description', 'brand', 'min', 'max'] as const),
|
|
11
|
+
bigint: new Set(['optional', 'nullable', 'description', 'brand', 'min', 'max'] as const),
|
|
12
|
+
string: new Set(['optional', 'nullable', 'description', 'brand', 'minLength', 'maxLength'] as const),
|
|
13
13
|
//
|
|
14
14
|
array: new Set(['optional', 'nullable', 'description', 'minLength', 'maxLength'] as const),
|
|
15
15
|
object: new Set(['optional', 'nullable', 'description'] as const),
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { ERROR_CODE, PARAMS_BY_SCHEMA_TYPE } from './constants'
|
|
1
|
+
export { ERROR_CODE, PARAMS_BY_SCHEMA_TYPE } from './constants.js'
|
|
2
2
|
|
|
3
|
-
export { parse } from './parse'
|
|
3
|
+
export { parse } from './parse.js'
|
|
4
4
|
|
|
5
5
|
export {
|
|
6
6
|
makeStruct,
|
|
@@ -16,9 +16,9 @@ export {
|
|
|
16
16
|
record,
|
|
17
17
|
tuple,
|
|
18
18
|
union,
|
|
19
|
-
} from './struct'
|
|
19
|
+
} from './struct.js'
|
|
20
20
|
|
|
21
|
-
export { error, success, tCh } from './utils'
|
|
21
|
+
export { error, success, tCh } from './utils.js'
|
|
22
22
|
|
|
23
23
|
export type {
|
|
24
24
|
ErrorCode,
|
|
@@ -28,7 +28,7 @@ export type {
|
|
|
28
28
|
ParseResult,
|
|
29
29
|
ParseSuccess,
|
|
30
30
|
PrettifyObject,
|
|
31
|
-
} from './types/utils'
|
|
31
|
+
} from './types/utils.js'
|
|
32
32
|
|
|
33
33
|
export type {
|
|
34
34
|
Infer,
|
|
@@ -40,7 +40,7 @@ export type {
|
|
|
40
40
|
InferObject,
|
|
41
41
|
InferRecord,
|
|
42
42
|
InferUnion,
|
|
43
|
-
} from './types/infer'
|
|
43
|
+
} from './types/infer.js'
|
|
44
44
|
|
|
45
45
|
export type {
|
|
46
46
|
Schema,
|
|
@@ -60,9 +60,9 @@ export type {
|
|
|
60
60
|
StringSchema,
|
|
61
61
|
//
|
|
62
62
|
BigIntString,
|
|
63
|
-
} from './types/schema'
|
|
63
|
+
} from './types/schema.js'
|
|
64
64
|
|
|
65
|
-
export type { Struct, StructShape, StructParams } from './types/struct'
|
|
65
|
+
export type { Struct, StructShape, StructParams } from './types/struct.js'
|
|
66
66
|
|
|
67
67
|
export type {
|
|
68
68
|
ExtendParams,
|
|
@@ -70,4 +70,4 @@ export type {
|
|
|
70
70
|
ExtendBrand,
|
|
71
71
|
ExtendOptional,
|
|
72
72
|
ExtendNullable,
|
|
73
|
-
} from './types/extensions'
|
|
73
|
+
} from './types/extensions.js'
|
package/src/parse.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ERROR_CODE } from './constants'
|
|
2
|
-
import { error, success } from './utils'
|
|
1
|
+
import { ERROR_CODE } from './constants.js'
|
|
2
|
+
import { error, success } from './utils.js'
|
|
3
3
|
|
|
4
|
-
import type { InferSchema } from './types/infer'
|
|
5
|
-
import type { ErrorPath, InvalidSubject, ParseResult } from './types/utils'
|
|
4
|
+
import type { InferSchema } from './types/infer.js'
|
|
5
|
+
import type { ErrorPath, InvalidSubject, ParseResult } from './types/utils.js'
|
|
6
6
|
|
|
7
7
|
import type {
|
|
8
8
|
Schema,
|
|
@@ -18,7 +18,7 @@ import type {
|
|
|
18
18
|
LiteralSchema,
|
|
19
19
|
NumberSchema,
|
|
20
20
|
StringSchema,
|
|
21
|
-
} from './types/schema'
|
|
21
|
+
} from './types/schema.js'
|
|
22
22
|
|
|
23
23
|
const PARSE_FN_BY_SCHEMA_KIND = {
|
|
24
24
|
bigint: parseBigInt,
|
package/src/struct.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { PARAMS_BY_SCHEMA_TYPE, STANDARD_SCHEMA } from './constants'
|
|
2
|
-
import { parse } from './parse'
|
|
1
|
+
import { PARAMS_BY_SCHEMA_TYPE, STANDARD_SCHEMA } from './constants.js'
|
|
2
|
+
import { parse } from './parse.js'
|
|
3
3
|
|
|
4
|
-
import type { StandardSchemaV1 } from './types/standard-schema'
|
|
4
|
+
import type { StandardSchemaV1 } from './types/standard-schema.ts'
|
|
5
5
|
import type {
|
|
6
6
|
Schema,
|
|
7
7
|
BigIntString,
|
|
8
8
|
BrandSchema,
|
|
9
9
|
StringSchema,
|
|
10
|
-
} from './types/schema'
|
|
11
|
-
import type { Struct, StructParams, StructShape } from './types/struct'
|
|
10
|
+
} from './types/schema.ts'
|
|
11
|
+
import type { Struct, StructParams, StructShape } from './types/struct.ts'
|
|
12
12
|
|
|
13
13
|
export function makeStruct<T extends Schema>(schema: T): Struct<T>
|
|
14
14
|
export function makeStruct(schema: Schema) {
|
|
@@ -33,18 +33,14 @@ export function makeStruct(schema: Schema) {
|
|
|
33
33
|
},
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
result.optional = () => makeStruct({ ...schema, optional: true })
|
|
38
|
-
}
|
|
36
|
+
/* Params present in all schema types */
|
|
39
37
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
result.optional = () => makeStruct({ ...schema, optional: true })
|
|
39
|
+
result.nullable = () => makeStruct({ ...schema, nullable: true })
|
|
40
|
+
result.description = (description: string) =>
|
|
41
|
+
makeStruct({ ...schema, description })
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
result.description = (description: string) =>
|
|
46
|
-
makeStruct({ ...schema, description })
|
|
47
|
-
}
|
|
43
|
+
/* Schema specific params */
|
|
48
44
|
|
|
49
45
|
if (params.has('brand')) {
|
|
50
46
|
result.brand = (...args: BrandSchema | [BrandSchema]) => {
|
package/src/types/extensions.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { BrandSchema } from './schema'
|
|
2
|
-
import type { InferBrand } from './infer'
|
|
1
|
+
import type { BrandSchema } from './schema.ts'
|
|
2
|
+
import type { InferBrand } from './infer.ts'
|
|
3
3
|
|
|
4
4
|
// Intersections must be applied at the very beginning
|
|
5
5
|
// otherwise `&` will clear incompatible union types like "null" or "undefined"
|
package/src/types/infer.ts
CHANGED
|
@@ -16,12 +16,12 @@ import type {
|
|
|
16
16
|
StringSchema,
|
|
17
17
|
//
|
|
18
18
|
BrandSchema,
|
|
19
|
-
} from './schema'
|
|
19
|
+
} from './schema.ts'
|
|
20
20
|
|
|
21
|
-
import type { StructShape } from './struct'
|
|
22
|
-
import type { PrettifyObject } from './utils'
|
|
21
|
+
import type { StructShape } from './struct.ts'
|
|
22
|
+
import type { PrettifyObject } from './utils.ts'
|
|
23
23
|
|
|
24
|
-
import type { ExtendParams, ExtendBrand } from './extensions'
|
|
24
|
+
import type { ExtendParams, ExtendBrand } from './extensions.ts'
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* @example Infer<typeof struct> | Infer<typeof schema>
|
|
@@ -68,17 +68,14 @@ export type InferPrimitive<T> = T extends BigIntSchema
|
|
|
68
68
|
export type InferArray<T> =
|
|
69
69
|
T extends ArraySchema<infer U> ? Array<InferSchema<U>> : never
|
|
70
70
|
|
|
71
|
+
// prettier-ignore
|
|
71
72
|
export type InferObject<T> =
|
|
72
73
|
T extends ObjectSchema<infer U>
|
|
73
74
|
? PrettifyObject<
|
|
74
75
|
{
|
|
75
|
-
[K in keyof U as U[K] extends { optional: true }
|
|
76
|
-
? K
|
|
77
|
-
: never]?: InferSchema<U[K]>
|
|
76
|
+
[K in keyof U as U[K] extends { optional: true } ? K : never]?: InferSchema<U[K]>
|
|
78
77
|
} & {
|
|
79
|
-
[K in keyof U as U[K] extends { optional: true }
|
|
80
|
-
? never
|
|
81
|
-
: K]: InferSchema<U[K]>
|
|
78
|
+
[K in keyof U as U[K] extends { optional: true } ? never : K]: InferSchema<U[K]>
|
|
82
79
|
}
|
|
83
80
|
>
|
|
84
81
|
: never
|
package/src/types/schema.ts
CHANGED
|
@@ -74,11 +74,7 @@ export type PrimitiveSchemaShared = SchemaShared & {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
export type PrimitiveSchema =
|
|
77
|
-
|
|
|
78
|
-
| BooleanSchema
|
|
79
|
-
| LiteralSchema
|
|
80
|
-
| NumberSchema
|
|
81
|
-
| StringSchema
|
|
77
|
+
BigIntSchema | BooleanSchema | LiteralSchema | NumberSchema | StringSchema
|
|
82
78
|
|
|
83
79
|
export type BooleanSchema = PrimitiveSchemaShared & {
|
|
84
80
|
type: 'boolean'
|
package/src/types/struct.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ParseResult } from './utils'
|
|
1
|
+
import { ParseResult } from './utils.js'
|
|
2
2
|
|
|
3
|
-
import type { StandardSchemaV1 } from './standard-schema'
|
|
3
|
+
import type { StandardSchemaV1 } from './standard-schema.ts'
|
|
4
4
|
import type {
|
|
5
5
|
Schema,
|
|
6
6
|
//
|
|
@@ -19,9 +19,9 @@ import type {
|
|
|
19
19
|
StringSchema,
|
|
20
20
|
//
|
|
21
21
|
BigIntString,
|
|
22
|
-
} from './schema'
|
|
22
|
+
} from './schema.ts'
|
|
23
23
|
|
|
24
|
-
import type { InferSchema } from './infer'
|
|
24
|
+
import type { InferSchema } from './infer.ts'
|
|
25
25
|
|
|
26
26
|
export type Struct<T extends Schema> = Omit<
|
|
27
27
|
Pick<
|
|
@@ -72,11 +72,7 @@ export type Struct<T extends Schema> = Omit<
|
|
|
72
72
|
} & StandardSchemaV1<unknown, InferSchema<T>>
|
|
73
73
|
|
|
74
74
|
type BrandSubType =
|
|
75
|
-
|
|
|
76
|
-
| number
|
|
77
|
-
| string
|
|
78
|
-
| ReadonlyArray<unknown>
|
|
79
|
-
| Record<string, unknown>
|
|
75
|
+
boolean | number | string | ReadonlyArray<unknown> | Record<string, unknown>
|
|
80
76
|
|
|
81
77
|
export type StructShape<T> = { __schema: T }
|
|
82
78
|
|
package/src/types/utils.ts
CHANGED
package/src/utils.ts
CHANGED