@nmtjs/type 0.3.2 → 0.3.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/types/base.ts"],"sourcesContent":["import {\n type SchemaOptions,\n type StaticDecode,\n type StaticEncode,\n type TAny,\n type TOptional,\n type TSchema,\n Type,\n} from '@sinclair/typebox'\nimport { typeSchema, typeStatic } from '../constants.ts'\nimport { Nullable, type TNullable } from '../schemas/nullable.ts'\n\ntype ResolveNullable<T extends TSchema, Is extends boolean> = Is extends true\n ? TNullable<T>\n : T\n\ntype ResolveOptional<T extends TSchema, Is extends boolean> = Is extends true\n ? TOptional<T>\n : T\n\ntype Resolve<\n Schema extends TSchema,\n IsNullable extends boolean,\n IsOptional extends boolean,\n> = ResolveOptional<ResolveNullable<Schema, IsNullable>, IsOptional>\n\nexport abstract class BaseType<\n Schema extends TSchema = TSchema,\n IsNullable extends boolean = boolean,\n IsOptional extends boolean = boolean,\n HasDefault extends boolean = boolean,\n Options extends SchemaOptions = SchemaOptions,\n> {\n protected abstract _constructSchema(\n options: Options,\n ...constructArgs: any[]\n ): Schema\n\n [typeStatic]!: {\n schema: Resolve<Schema, IsNullable, IsOptional>\n isOptional: IsOptional\n isNullable: IsNullable\n hasDefault: HasDefault\n encoded: StaticEncode<Resolve<Schema, IsNullable, IsOptional>>\n decoded: StaticDecode<\n Resolve<Schema, IsNullable, HasDefault extends false ? false : IsOptional>\n >\n }\n\n constructor(\n protected options: Options = {} as Options,\n protected isNullable: IsNullable = false as IsNullable,\n protected isOptional: IsOptional = false as IsOptional,\n protected hasDefault: HasDefault = false as HasDefault,\n ...contstructArgs: any[]\n ) {\n let schema: TSchema = this._constructSchema(options, ...contstructArgs)\n if (this.isNullable) {\n schema = Nullable(schema)\n }\n if (this.isOptional) {\n schema = Type.Optional(schema)\n }\n this[typeSchema] = schema as Schema\n }\n protected [typeSchema]: Schema\n\n protected get _args(): [IsNullable, IsOptional, HasDefault] {\n return [this.isNullable, this.isOptional, this.hasDefault]\n }\n\n protected _with<\n _IsNullable extends boolean = IsNullable,\n _IsOptional extends boolean = IsOptional,\n _HasDefault extends boolean = HasDefault,\n >({\n options = this.options as Options,\n isNullable = this.isNullable as unknown as _IsNullable,\n isOptional = this.isOptional as unknown as _IsOptional,\n hasDefault = this.hasDefault as unknown as _HasDefault,\n }: {\n options?: Options\n isNullable?: _IsNullable\n isOptional?: _IsOptional\n hasDefault?: _HasDefault\n } = {}): [Options, _IsNullable, _IsOptional, _HasDefault] {\n return [{ ...this.options, ...options }, isNullable, isOptional, hasDefault]\n }\n\n abstract optional(): BaseType<Schema, IsNullable, true, HasDefault>\n abstract nullish(): BaseType<Schema, true, true, HasDefault>\n abstract default(value: any): BaseType<Schema, IsNullable, IsOptional, true>\n abstract description(\n value: string,\n ): BaseType<Schema, IsNullable, IsOptional, HasDefault>\n abstract examples(\n ...values: any[]\n ): BaseType<Schema, IsNullable, IsOptional, HasDefault>\n}\n\nexport function getTypeSchema<T extends BaseType>(\n type: T,\n): T[typeStatic]['schema'] {\n return type[typeSchema]\n}\n"],"names":["Type","typeSchema","typeStatic","Nullable","BaseType","constructor","options","isNullable","isOptional","hasDefault","contstructArgs","schema","_constructSchema","Optional","_args","_with","getTypeSchema","type"],"mappings":"AAAA,SAOEA,IAAI,QACC,oBAAmB;AAC1B,SAASC,UAAU,EAAEC,UAAU,QAAQ,kBAAiB;AACxD,SAASC,QAAQ,QAAwB,yBAAwB;AAgBjE,OAAO,MAAeC;;;;;IAYpB,CAACF,WAAW,CASX;IAEDG,YACE,AAAUC,UAAmB,CAAC,CAAY,EAC1C,AAAUC,aAAyB,KAAmB,EACtD,AAAUC,aAAyB,KAAmB,EACtD,AAAUC,aAAyB,KAAmB,EACtD,GAAGC,cAAqB,CACxB;aALUJ,UAAAA;aACAC,aAAAA;aACAC,aAAAA;aACAC,aAAAA;QAGV,IAAIE,SAAkB,IAAI,CAACC,gBAAgB,CAACN,YAAYI;QACxD,IAAI,IAAI,CAACH,UAAU,EAAE;YACnBI,SAASR,SAASQ;QACpB;QACA,IAAI,IAAI,CAACH,UAAU,EAAE;YACnBG,SAASX,KAAKa,QAAQ,CAACF;QACzB;QACA,IAAI,CAACV,WAAW,GAAGU;IACrB;IACU,CAACV,WAAW,CAAQ;IAE9B,IAAca,QAA8C;QAC1D,OAAO;YAAC,IAAI,CAACP,UAAU;YAAE,IAAI,CAACC,UAAU;YAAE,IAAI,CAACC,UAAU;SAAC;IAC5D;IAEUM,MAIR,EACAT,UAAU,IAAI,CAACA,OAAO,AAAW,EACjCC,aAAa,IAAI,CAACA,UAAU,AAA0B,EACtDC,aAAa,IAAI,CAACA,UAAU,AAA0B,EACtDC,aAAa,IAAI,CAACA,UAAU,AAA0B,EAMvD,GAAG,CAAC,CAAC,EAAoD;QACxD,OAAO;YAAC;gBAAE,GAAG,IAAI,CAACH,OAAO;gBAAE,GAAGA,OAAO;YAAC;YAAGC;YAAYC;YAAYC;SAAW;IAC9E;AAWF;AAEA,OAAO,SAASO,cACdC,IAAO;IAEP,OAAOA,IAAI,CAAChB,WAAW;AACzB"}
1
+ {"version":3,"sources":["../../../src/types/base.ts"],"sourcesContent":["import {\n type SchemaOptions,\n type StaticDecode,\n type StaticEncode,\n type TAny,\n type TOptional,\n type TSchema,\n Type,\n} from '@sinclair/typebox'\nimport { typeSchema, typeStatic } from '../constants.ts'\nimport { Nullable, type TNullable } from '../schemas/nullable.ts'\n\ntype ResolveNullable<T extends TSchema, Is extends boolean> = Is extends true\n ? TNullable<T>\n : T\n\ntype ResolveOptional<T extends TSchema, Is extends boolean> = Is extends true\n ? TOptional<T>\n : T\n\ntype Resolve<\n Schema extends TSchema,\n IsNullable extends boolean,\n IsOptional extends boolean,\n> = ResolveOptional<ResolveNullable<Schema, IsNullable>, IsOptional>\n\nexport abstract class BaseType<\n Schema extends TSchema = TSchema,\n IsNullable extends boolean = boolean,\n IsOptional extends boolean = boolean,\n HasDefault extends boolean = boolean,\n Options extends SchemaOptions = SchemaOptions,\n> {\n protected abstract _constructSchema(\n options: Options,\n ...constructArgs: any[]\n ): Schema\n\n [typeStatic]!: {\n schema: Resolve<\n Schema,\n IsNullable,\n HasDefault extends true ? false : IsOptional\n >\n isOptional: IsOptional\n isNullable: IsNullable\n hasDefault: HasDefault\n encoded: StaticEncode<Resolve<Schema, IsNullable, IsOptional>>\n decoded: StaticDecode<\n Resolve<Schema, IsNullable, HasDefault extends true ? false : IsOptional>\n >\n }\n\n constructor(\n protected options: Options = {} as Options,\n protected isNullable: IsNullable = false as IsNullable,\n protected isOptional: IsOptional = false as IsOptional,\n protected hasDefault: HasDefault = false as HasDefault,\n ...contstructArgs: any[]\n ) {\n let schema: TSchema = this._constructSchema(options, ...contstructArgs)\n if (this.isNullable) {\n schema = Nullable(schema)\n }\n if (this.isOptional) {\n schema = Type.Optional(schema)\n }\n this[typeSchema] = schema as Schema\n }\n protected [typeSchema]: Schema\n\n protected get _args(): [IsNullable, IsOptional, HasDefault] {\n return [this.isNullable, this.isOptional, this.hasDefault]\n }\n\n protected _with<\n _IsNullable extends boolean = IsNullable,\n _IsOptional extends boolean = IsOptional,\n _HasDefault extends boolean = HasDefault,\n >({\n options = this.options as Options,\n isNullable = this.isNullable as unknown as _IsNullable,\n isOptional = this.isOptional as unknown as _IsOptional,\n hasDefault = this.hasDefault as unknown as _HasDefault,\n }: {\n options?: Options\n isNullable?: _IsNullable\n isOptional?: _IsOptional\n hasDefault?: _HasDefault\n } = {}): [Options, _IsNullable, _IsOptional, _HasDefault] {\n return [{ ...this.options, ...options }, isNullable, isOptional, hasDefault]\n }\n\n abstract optional(): BaseType<Schema, IsNullable, true, HasDefault>\n abstract nullish(): BaseType<Schema, true, true, HasDefault>\n abstract default(value: any): BaseType<Schema, IsNullable, IsOptional, true>\n abstract description(\n value: string,\n ): BaseType<Schema, IsNullable, IsOptional, HasDefault>\n abstract examples(\n ...values: any[]\n ): BaseType<Schema, IsNullable, IsOptional, HasDefault>\n}\n\nexport function getTypeSchema<T extends BaseType>(\n type: T,\n): T[typeStatic]['schema'] {\n return type[typeSchema]\n}\n"],"names":["Type","typeSchema","typeStatic","Nullable","BaseType","constructor","options","isNullable","isOptional","hasDefault","contstructArgs","schema","_constructSchema","Optional","_args","_with","getTypeSchema","type"],"mappings":"AAAA,SAOEA,IAAI,QACC,oBAAmB;AAC1B,SAASC,UAAU,EAAEC,UAAU,QAAQ,kBAAiB;AACxD,SAASC,QAAQ,QAAwB,yBAAwB;AAgBjE,OAAO,MAAeC;;;;;IAYpB,CAACF,WAAW,CAaX;IAEDG,YACE,AAAUC,UAAmB,CAAC,CAAY,EAC1C,AAAUC,aAAyB,KAAmB,EACtD,AAAUC,aAAyB,KAAmB,EACtD,AAAUC,aAAyB,KAAmB,EACtD,GAAGC,cAAqB,CACxB;aALUJ,UAAAA;aACAC,aAAAA;aACAC,aAAAA;aACAC,aAAAA;QAGV,IAAIE,SAAkB,IAAI,CAACC,gBAAgB,CAACN,YAAYI;QACxD,IAAI,IAAI,CAACH,UAAU,EAAE;YACnBI,SAASR,SAASQ;QACpB;QACA,IAAI,IAAI,CAACH,UAAU,EAAE;YACnBG,SAASX,KAAKa,QAAQ,CAACF;QACzB;QACA,IAAI,CAACV,WAAW,GAAGU;IACrB;IACU,CAACV,WAAW,CAAQ;IAE9B,IAAca,QAA8C;QAC1D,OAAO;YAAC,IAAI,CAACP,UAAU;YAAE,IAAI,CAACC,UAAU;YAAE,IAAI,CAACC,UAAU;SAAC;IAC5D;IAEUM,MAIR,EACAT,UAAU,IAAI,CAACA,OAAO,AAAW,EACjCC,aAAa,IAAI,CAACA,UAAU,AAA0B,EACtDC,aAAa,IAAI,CAACA,UAAU,AAA0B,EACtDC,aAAa,IAAI,CAACA,UAAU,AAA0B,EAMvD,GAAG,CAAC,CAAC,EAAoD;QACxD,OAAO;YAAC;gBAAE,GAAG,IAAI,CAACH,OAAO;gBAAE,GAAGA,OAAO;YAAC;YAAGC;YAAYC;YAAYC;SAAW;IAC9E;AAWF;AAEA,OAAO,SAASO,cACdC,IAAO;IAEP,OAAOA,IAAI,CAAChB,WAAW;AACzB"}
package/package.json CHANGED
@@ -21,12 +21,12 @@
21
21
  "peerDependencies": {
22
22
  "@sinclair/typebox": "^0.33.7",
23
23
  "temporal-polyfill": "^0.2.5",
24
- "@nmtjs/common": "0.3.2"
24
+ "@nmtjs/common": "0.3.3"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@sinclair/typebox": "^0.33.7",
28
28
  "temporal-polyfill": "^0.2.5",
29
- "@nmtjs/common": "0.3.2"
29
+ "@nmtjs/common": "0.3.3"
30
30
  },
31
31
  "files": [
32
32
  "src",
@@ -35,7 +35,7 @@
35
35
  "LICENSE.md",
36
36
  "README.md"
37
37
  ],
38
- "version": "0.3.2",
38
+ "version": "0.3.3",
39
39
  "scripts": {
40
40
  "build": "neemata-build -p neutral --root=./src './**/*.ts'",
41
41
  "type-check": "tsc --noEmit"
package/src/types/base.ts CHANGED
@@ -37,13 +37,17 @@ export abstract class BaseType<
37
37
  ): Schema
38
38
 
39
39
  [typeStatic]!: {
40
- schema: Resolve<Schema, IsNullable, IsOptional>
40
+ schema: Resolve<
41
+ Schema,
42
+ IsNullable,
43
+ HasDefault extends true ? false : IsOptional
44
+ >
41
45
  isOptional: IsOptional
42
46
  isNullable: IsNullable
43
47
  hasDefault: HasDefault
44
48
  encoded: StaticEncode<Resolve<Schema, IsNullable, IsOptional>>
45
49
  decoded: StaticDecode<
46
- Resolve<Schema, IsNullable, HasDefault extends false ? false : IsOptional>
50
+ Resolve<Schema, IsNullable, HasDefault extends true ? false : IsOptional>
47
51
  >
48
52
  }
49
53