@nmtjs/type 0.6.1 → 0.6.3
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/compiler.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inference.js.map +1 -1
- package/package.json +2 -3
- package/src/compiler.ts +2 -2
- package/src/index.ts +4 -4
- package/src/inference.ts +1 -1
- package/tsconfig.json +0 -3
package/dist/compiler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/compiler.ts"],"sourcesContent":["import { TypeCompiler } from '@sinclair/typebox/compiler'\nimport { TransformDecode, TransformEncode } from '@sinclair/typebox/value'\nimport type {\n StaticInputEncode,\n StaticOutputDecode,\n StaticOutputEncode,\n} from './inference.ts'\nimport {\n
|
|
1
|
+
{"version":3,"sources":["../../src/compiler.ts"],"sourcesContent":["import { TypeCompiler } from '@sinclair/typebox/compiler'\nimport { TransformDecode, TransformEncode } from '@sinclair/typebox/value'\nimport type {\n StaticInputEncode,\n StaticOutputDecode,\n StaticOutputEncode,\n} from './inference.ts'\nimport {\n _applyDefaults,\n _parse,\n _traversErrors,\n type CloneOptions,\n type ValidationError,\n} from './runtime.ts'\nimport type { BaseType } from './types/base.ts'\n\nexport type Compiled<T extends BaseType = BaseType> = {\n check: (val: unknown) => val is StaticInputEncode<T['schema']>\n errors: (val: unknown) => ValidationError[]\n parse: (val: unknown, cloneOptions?: CloneOptions) => unknown\n applyDefaults: (val: unknown) => unknown\n /**\n * Requires to `check` before calling\n */\n decode: (val: unknown) => StaticOutputDecode<T['schema']>\n /**\n * Requires to `check` before calling\n */\n encode: (val: unknown) => StaticOutputEncode<T['schema']>\n /**\n * Requires to `check` before calling\n */\n decodeSafe: (\n val: unknown,\n ) =>\n | { success: true; value: StaticOutputDecode<T['schema']> }\n | { success: false; error: any }\n /**\n * Requires to `check` before calling\n */\n encodeSafe: (\n val: unknown,\n ) =>\n | { success: true; value: StaticOutputEncode<T['schema']> }\n | { success: false; error: any }\n}\n\nfunction compileType(type: BaseType) {\n const { schema } = type\n const compiled = TypeCompiler.Compile(schema)\n\n const check = (value: unknown) => compiled.Check(value)\n const applyDefaults = (value: unknown) => _applyDefaults(schema, value)\n const parse = (value: unknown, cloneOptions?: CloneOptions) =>\n _parse(schema, value, cloneOptions)\n const errors = (value: unknown) => _traversErrors(compiled.Errors(value))\n const decode = TransformDecode.bind(null, schema, compiled.References())\n const encode = TransformEncode.bind(null, schema, compiled.References())\n\n return {\n check,\n parse,\n errors,\n applyDefaults,\n decode,\n encode,\n }\n}\n\nexport function compile<T extends BaseType>(type: T): Compiled<T> {\n const compiled = compileType(type)\n\n function decodeSafe(val: unknown) {\n try {\n return {\n success: true as const,\n value: compiled.decode(val),\n }\n } catch (error) {\n return { success: false as const, error }\n }\n }\n\n function encodeSafe(val: unknown) {\n try {\n return {\n success: true as const,\n value: compiled.encode(val),\n }\n } catch (error) {\n return { success: false as const, error }\n }\n }\n\n return {\n ...compiled,\n decodeSafe,\n encodeSafe,\n } as any\n}\n"],"names":["TypeCompiler","TransformDecode","TransformEncode","_applyDefaults","_parse","_traversErrors","compileType","type","schema","compiled","Compile","check","value","Check","applyDefaults","parse","cloneOptions","errors","Errors","decode","bind","References","encode","compile","decodeSafe","val","success","error","encodeSafe"],"mappings":"AAAA,SAASA,YAAY,QAAQ,6BAA4B;AACzD,SAASC,eAAe,EAAEC,eAAe,QAAQ,0BAAyB;AAM1E,SACEC,cAAc,EACdC,MAAM,EACNC,cAAc,QAGT,eAAc;AAkCrB,SAASC,YAAYC,IAAc;IACjC,MAAM,EAAEC,MAAM,EAAE,GAAGD;IACnB,MAAME,WAAWT,aAAaU,OAAO,CAACF;IAEtC,MAAMG,QAAQ,CAACC,QAAmBH,SAASI,KAAK,CAACD;IACjD,MAAME,gBAAgB,CAACF,QAAmBT,eAAeK,QAAQI;IACjE,MAAMG,QAAQ,CAACH,OAAgBI,eAC7BZ,OAAOI,QAAQI,OAAOI;IACxB,MAAMC,SAAS,CAACL,QAAmBP,eAAeI,SAASS,MAAM,CAACN;IAClE,MAAMO,SAASlB,gBAAgBmB,IAAI,CAAC,MAAMZ,QAAQC,SAASY,UAAU;IACrE,MAAMC,SAASpB,gBAAgBkB,IAAI,CAAC,MAAMZ,QAAQC,SAASY,UAAU;IAErE,OAAO;QACLV;QACAI;QACAE;QACAH;QACAK;QACAG;IACF;AACF;AAEA,OAAO,SAASC,QAA4BhB,IAAO;IACjD,MAAME,WAAWH,YAAYC;IAE7B,SAASiB,WAAWC,GAAY;QAC9B,IAAI;YACF,OAAO;gBACLC,SAAS;gBACTd,OAAOH,SAASU,MAAM,CAACM;YACzB;QACF,EAAE,OAAOE,OAAO;YACd,OAAO;gBAAED,SAAS;gBAAgBC;YAAM;QAC1C;IACF;IAEA,SAASC,WAAWH,GAAY;QAC9B,IAAI;YACF,OAAO;gBACLC,SAAS;gBACTd,OAAOH,SAASa,MAAM,CAACG;YACzB;QACF,EAAE,OAAOE,OAAO;YACd,OAAO;gBAAED,SAAS;gBAAgBC;YAAM;QAC1C;IACF;IAEA,OAAO;QACL,GAAGlB,QAAQ;QACXe;QACAI;IACF;AACF"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import { EnumType, ObjectEnumType } from "./types/enum.js";
|
|
|
7
7
|
import { LiteralType } from "./types/literal.js";
|
|
8
8
|
import { NeverType } from "./types/never.js";
|
|
9
9
|
import { BigIntType, IntegerType, NumberType } from "./types/number.js";
|
|
10
|
-
import {
|
|
10
|
+
import { extend, keyof, merge, ObjectType, omit, partial, pick, RecordType } from "./types/object.js";
|
|
11
11
|
import { StringType } from "./types/string.js";
|
|
12
12
|
import { DiscriminatedUnionType, IntersactionType, UnionType } from "./types/union.js";
|
|
13
13
|
export * from "./schemas/nullable.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import type {\n StaticInputDecode,\n StaticInputEncode,\n StaticOutputDecode,\n StaticOutputEncode,\n} from './inference.ts'\nimport { AnyType } from './types/any.ts'\nimport { ArrayType } from './types/array.ts'\nimport type { BaseTypeAny
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import type {\n StaticInputDecode,\n StaticInputEncode,\n StaticOutputDecode,\n StaticOutputEncode,\n} from './inference.ts'\nimport { AnyType } from './types/any.ts'\nimport { ArrayType } from './types/array.ts'\nimport type { BaseTypeAny } from './types/base.ts'\nimport { BooleanType } from './types/boolean.ts'\nimport { CustomType } from './types/custom.ts'\nimport { DateType } from './types/date.ts'\nimport { EnumType, ObjectEnumType } from './types/enum.ts'\nimport { LiteralType } from './types/literal.ts'\nimport { NeverType } from './types/never.ts'\nimport { BigIntType, IntegerType, NumberType } from './types/number.ts'\nimport {\n extend,\n keyof,\n merge,\n ObjectType,\n omit,\n partial,\n pick,\n RecordType,\n} from './types/object.ts'\nimport { StringType } from './types/string.ts'\nimport {\n DiscriminatedUnionType,\n IntersactionType,\n UnionType,\n} from './types/union.ts'\n\nexport type { TSchema } from '@sinclair/typebox'\nexport * from './schemas/nullable.ts'\nexport { BaseType, type BaseTypeAny } from './types/base.ts'\nexport {\n ArrayType,\n BooleanType,\n CustomType,\n DateType,\n EnumType,\n LiteralType,\n IntegerType,\n NumberType,\n ObjectType,\n StringType,\n IntersactionType,\n UnionType,\n AnyType,\n NeverType,\n}\n\nexport namespace type {\n export namespace infer {\n export type decoded<T extends BaseTypeAny<any>> = StaticOutputDecode<\n T['schema']\n >\n export type encoded<T extends BaseTypeAny<any>> = StaticOutputEncode<\n T['schema']\n >\n export namespace input {\n export type decoded<T extends BaseTypeAny<any>> = StaticInputDecode<\n T['schema']\n >\n export type encoded<T extends BaseTypeAny<any>> = StaticInputEncode<\n T['schema']\n >\n }\n }\n\n export const never = NeverType.factory\n export const boolean = BooleanType.factory\n export const string = StringType.factory\n export const number = NumberType.factory\n export const integer = IntegerType.factory\n export const bitint = BigIntType.factory\n export const literal = LiteralType.factory\n export const objectEnum = ObjectEnumType.factory\n export const arrayEnum = EnumType.factory\n export const date = DateType.factory\n export const array = ArrayType.factory\n export const record = RecordType.factory\n export const any = AnyType.factory\n export const or = UnionType.factory\n export const and = IntersactionType.factory\n export const discriminatedUnion = DiscriminatedUnionType.factory\n export const custom = CustomType.factory\n export const object = Object.assign(ObjectType.factory.bind(ObjectType), {\n keyof,\n partial,\n merge,\n omit,\n extend,\n pick,\n })\n}\n\nexport { type as t }\n"],"names":["AnyType","ArrayType","BooleanType","CustomType","DateType","EnumType","ObjectEnumType","LiteralType","NeverType","BigIntType","IntegerType","NumberType","extend","keyof","merge","ObjectType","omit","partial","pick","RecordType","StringType","DiscriminatedUnionType","IntersactionType","UnionType","BaseType","type","never","factory","boolean","string","number","integer","bitint","literal","objectEnum","arrayEnum","date","array","record","any","or","and","discriminatedUnion","custom","object","Object","assign","bind","t"],"mappings":"AAMA,SAASA,OAAO,QAAQ,iBAAgB;AACxC,SAASC,SAAS,QAAQ,mBAAkB;AAE5C,SAASC,WAAW,QAAQ,qBAAoB;AAChD,SAASC,UAAU,QAAQ,oBAAmB;AAC9C,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,SAASC,QAAQ,EAAEC,cAAc,QAAQ,kBAAiB;AAC1D,SAASC,WAAW,QAAQ,qBAAoB;AAChD,SAASC,SAAS,QAAQ,mBAAkB;AAC5C,SAASC,UAAU,EAAEC,WAAW,EAAEC,UAAU,QAAQ,oBAAmB;AACvE,SACEC,MAAM,EACNC,KAAK,EACLC,KAAK,EACLC,UAAU,EACVC,IAAI,EACJC,OAAO,EACPC,IAAI,EACJC,UAAU,QACL,oBAAmB;AAC1B,SAASC,UAAU,QAAQ,oBAAmB;AAC9C,SACEC,sBAAsB,EACtBC,gBAAgB,EAChBC,SAAS,QACJ,mBAAkB;AAGzB,cAAc,wBAAuB;AACrC,SAASC,QAAQ,QAA0B,kBAAiB;AAC5D,SACEvB,SAAS,EACTC,WAAW,EACXC,UAAU,EACVC,QAAQ,EACRC,QAAQ,EACRE,WAAW,EACXG,WAAW,EACXC,UAAU,EACVI,UAAU,EACVK,UAAU,EACVE,gBAAgB,EAChBC,SAAS,EACTvB,OAAO,EACPQ,SAAS,KACV;;UAEgBiB;SAkBFC,QAAQlB,UAAUmB,OAAO;SACzBC,UAAU1B,YAAYyB,OAAO;SAC7BE,SAAST,WAAWO,OAAO;SAC3BG,SAASnB,WAAWgB,OAAO;SAC3BI,UAAUrB,YAAYiB,OAAO;SAC7BK,SAASvB,WAAWkB,OAAO;SAC3BM,UAAU1B,YAAYoB,OAAO;SAC7BO,aAAa5B,eAAeqB,OAAO;SACnCQ,YAAY9B,SAASsB,OAAO;SAC5BS,OAAOhC,SAASuB,OAAO;SACvBU,QAAQpC,UAAU0B,OAAO;SACzBW,SAASnB,WAAWQ,OAAO;SAC3BY,MAAMvC,QAAQ2B,OAAO;SACrBa,KAAKjB,UAAUI,OAAO;SACtBc,MAAMnB,iBAAiBK,OAAO;SAC9Be,qBAAqBrB,uBAAuBM,OAAO;SACnDgB,SAASxC,WAAWwB,OAAO;SAC3BiB,SAASC,OAAOC,MAAM,CAAC/B,WAAWY,OAAO,CAACoB,IAAI,CAAChC,aAAa;QACvEF;QACAI;QACAH;QACAE;QACAJ;QACAM;IACF;AACF,GA3CiBO,SAAAA;AA6CjB,SAASA,QAAQuB,CAAJ,GAAO"}
|
package/dist/inference.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/inference.ts"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"sources":["../../src/inference.ts"],"sourcesContent":["import type * as Types from '@sinclair/typebox'\nimport type { TProperties, TSchema } from '@sinclair/typebox'\nimport type { TDefault } from './schemas/default.ts'\n\nexport type StaticInputEncode<Type extends TSchema> =\n Type extends Types.TOptional<TSchema>\n ? Types.StaticEncode<Type> | undefined\n : Types.StaticEncode<Type>\n\nexport type StaticInputDecode<Type extends TSchema> =\n Type extends Types.TOptional<TSchema>\n ? Types.StaticDecode<Type> | undefined\n : Types.StaticDecode<Type>\n\nexport type StaticOutputEncode<Type extends TSchema> = Types.StaticEncode<\n TMap<Type, StaticOutputMapping>\n>\n\nexport type StaticOutputDecode<Type extends TSchema> = Types.StaticDecode<\n TMap<Type, StaticOutputMapping>\n>\n\ninterface StaticOutputMapping extends TMapping {\n output: this['input']\n}\n\ninterface TMapping {\n input: unknown\n output: unknown\n}\n\ntype TApply<\n Type extends TSchema,\n Mapping extends TMapping,\n Mapped = (Mapping & { input: Type })['output'],\n Result = Mapped extends TSchema ? Mapped : never,\n> = Result\n\ntype TFromProperties<\n Properties extends TProperties,\n Mapping extends TMapping,\n Result extends TProperties = {\n [Key in keyof Properties]: TMap<Properties[Key], Mapping>\n },\n> = Result\n\ntype TFromRest<\n Types extends TSchema[],\n Mapping extends TMapping,\n Result extends TSchema[] = [],\n> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]]\n ? TFromRest<Right, Mapping, [...Result, TMap<Left, Mapping>]>\n : Result\n\ntype TFromType<\n Type extends TSchema,\n Mapping extends TMapping,\n Result extends TSchema = TApply<Type, Mapping>,\n> = Result\n\ntype UnwrapDefault<T extends TSchema> = T extends TDefault<infer U>\n ? U extends Types.TOptional<infer V>\n ? V\n : U\n : T\n\ntype TMap<\n Type extends TSchema,\n Mapping extends TMapping,\n // Maps the Exterior Type\n Exterior extends TSchema = TFromType<Type, Mapping>,\n // Maps the Interior Parameterized Types\n Interior extends TSchema = Exterior extends Types.TConstructor<\n infer Parameters extends TSchema[],\n infer ReturnType extends TSchema\n >\n ? Types.TConstructor<\n TFromRest<Parameters, Mapping>,\n TFromType<ReturnType, Mapping>\n >\n : Exterior extends Types.TFunction<\n infer Parameters extends TSchema[],\n infer ReturnType extends TSchema\n >\n ? Types.TFunction<\n TFromRest<Parameters, Mapping>,\n TFromType<ReturnType, Mapping>\n >\n : Exterior extends Types.TIntersect<infer Types extends TSchema[]>\n ? Types.TIntersect<TFromRest<Types, Mapping>>\n : Exterior extends Types.TUnion<infer Types extends TSchema[]>\n ? Types.TUnion<TFromRest<Types, Mapping>>\n : Exterior extends Types.TTuple<infer Types extends TSchema[]>\n ? Types.TTuple<TFromRest<Types, Mapping>>\n : Exterior extends Types.TArray<infer Type extends TSchema>\n ? Types.TArray<TFromType<Type, Mapping>>\n : Exterior extends Types.TAsyncIterator<\n infer Type extends TSchema\n >\n ? Types.TAsyncIterator<TFromType<Type, Mapping>>\n : Exterior extends Types.TIterator<infer Type extends TSchema>\n ? Types.TIterator<TFromType<Type, Mapping>>\n : Exterior extends Types.TPromise<infer Type extends TSchema>\n ? Types.TPromise<TFromType<Type, Mapping>>\n : Exterior extends Types.TObject<\n infer Properties extends TProperties\n >\n ? Types.TObject<TFromProperties<Properties, Mapping>>\n : Exterior extends Types.TRecord<\n infer Key extends TSchema,\n infer Value extends TSchema\n >\n ? Types.TRecordOrObject<\n TFromType<Key, Mapping>,\n TFromType<Value, Mapping>\n >\n : Exterior,\n // Modifiers Derived from Exterior Type Mapping\n IsOptional extends number = Exterior extends Types.TOptional<TSchema> ? 1 : 0,\n IsReadonly extends number = Exterior extends Types.TReadonly<TSchema> ? 1 : 0,\n Result extends TSchema = [IsReadonly, IsOptional] extends [1, 1]\n ? Types.TReadonly<UnwrapDefault<Interior>>\n : [IsReadonly, IsOptional] extends [0, 1]\n ? UnwrapDefault<Interior>\n : [IsReadonly, IsOptional] extends [1, 0]\n ? Types.TReadonly<UnwrapDefault<Interior>>\n : UnwrapDefault<Interior>,\n> = Result\n"],"names":[],"mappings":"AAkBA,WAEC"}
|
package/package.json
CHANGED
|
@@ -26,16 +26,15 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@sinclair/typebox": "^0.34.13",
|
|
28
28
|
"temporal-polyfill": "^0.2.5",
|
|
29
|
-
"@nmtjs/common": "0.6.
|
|
29
|
+
"@nmtjs/common": "0.6.3"
|
|
30
30
|
},
|
|
31
31
|
"files": [
|
|
32
32
|
"src",
|
|
33
33
|
"dist",
|
|
34
|
-
"tsconfig.json",
|
|
35
34
|
"LICENSE.md",
|
|
36
35
|
"README.md"
|
|
37
36
|
],
|
|
38
|
-
"version": "0.6.
|
|
37
|
+
"version": "0.6.3",
|
|
39
38
|
"scripts": {
|
|
40
39
|
"build": "neemata-build -p neutral --root=./src './**/*.ts'",
|
|
41
40
|
"type-check": "tsc --noEmit"
|
package/src/compiler.ts
CHANGED
|
@@ -6,11 +6,11 @@ import type {
|
|
|
6
6
|
StaticOutputEncode,
|
|
7
7
|
} from './inference.ts'
|
|
8
8
|
import {
|
|
9
|
-
type CloneOptions,
|
|
10
|
-
type ValidationError,
|
|
11
9
|
_applyDefaults,
|
|
12
10
|
_parse,
|
|
13
11
|
_traversErrors,
|
|
12
|
+
type CloneOptions,
|
|
13
|
+
type ValidationError,
|
|
14
14
|
} from './runtime.ts'
|
|
15
15
|
import type { BaseType } from './types/base.ts'
|
|
16
16
|
|
package/src/index.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type {
|
|
|
6
6
|
} from './inference.ts'
|
|
7
7
|
import { AnyType } from './types/any.ts'
|
|
8
8
|
import { ArrayType } from './types/array.ts'
|
|
9
|
-
import type { BaseTypeAny
|
|
9
|
+
import type { BaseTypeAny } from './types/base.ts'
|
|
10
10
|
import { BooleanType } from './types/boolean.ts'
|
|
11
11
|
import { CustomType } from './types/custom.ts'
|
|
12
12
|
import { DateType } from './types/date.ts'
|
|
@@ -15,14 +15,14 @@ import { LiteralType } from './types/literal.ts'
|
|
|
15
15
|
import { NeverType } from './types/never.ts'
|
|
16
16
|
import { BigIntType, IntegerType, NumberType } from './types/number.ts'
|
|
17
17
|
import {
|
|
18
|
-
ObjectType,
|
|
19
|
-
RecordType,
|
|
20
18
|
extend,
|
|
21
19
|
keyof,
|
|
22
20
|
merge,
|
|
21
|
+
ObjectType,
|
|
23
22
|
omit,
|
|
24
23
|
partial,
|
|
25
24
|
pick,
|
|
25
|
+
RecordType,
|
|
26
26
|
} from './types/object.ts'
|
|
27
27
|
import { StringType } from './types/string.ts'
|
|
28
28
|
import {
|
|
@@ -31,9 +31,9 @@ import {
|
|
|
31
31
|
UnionType,
|
|
32
32
|
} from './types/union.ts'
|
|
33
33
|
|
|
34
|
+
export type { TSchema } from '@sinclair/typebox'
|
|
34
35
|
export * from './schemas/nullable.ts'
|
|
35
36
|
export { BaseType, type BaseTypeAny } from './types/base.ts'
|
|
36
|
-
export type { TSchema } from '@sinclair/typebox'
|
|
37
37
|
export {
|
|
38
38
|
ArrayType,
|
|
39
39
|
BooleanType,
|
package/src/inference.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { TProperties, TSchema } from '@sinclair/typebox'
|
|
2
1
|
import type * as Types from '@sinclair/typebox'
|
|
2
|
+
import type { TProperties, TSchema } from '@sinclair/typebox'
|
|
3
3
|
import type { TDefault } from './schemas/default.ts'
|
|
4
4
|
|
|
5
5
|
export type StaticInputEncode<Type extends TSchema> =
|
package/tsconfig.json
DELETED