schematox 1.2.3 → 1.2.4-beta

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/struct.d.ts CHANGED
@@ -28,14 +28,14 @@ export declare function object<T extends Record<string, StructShape<Schema>>>(of
28
28
  type: "object";
29
29
  of: { [K in keyof T]: T[K]["__schema"]; };
30
30
  }>;
31
- export declare function record<T extends StructShape<Schema>, U extends StructShape<StringSchema> | undefined>(of: T, key?: U): Struct<{
32
- type: "record";
33
- of: T["__schema"];
34
- key: NonNullable<U>["__schema"];
35
- } | {
36
- type: "record";
37
- of: T["__schema"];
38
- key?: undefined;
31
+ export declare function record<T extends StructShape<Schema>>(of: T, key?: undefined): Struct<{
32
+ type: 'record';
33
+ of: T['__schema'];
34
+ }>;
35
+ export declare function record<T extends StructShape<Schema>, U extends StructShape<StringSchema>>(of: T, key: U): Struct<{
36
+ type: 'record';
37
+ of: T['__schema'];
38
+ key: U['__schema'];
39
39
  }>;
40
40
  export declare function tuple<T extends [StructShape<Schema>, ...Array<StructShape<Schema>>]>(of: T): Struct<{
41
41
  readonly type: "tuple";
@@ -1 +1 @@
1
- {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEvE,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAkElE;;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;;IAEI;AAEJ,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;;;GAKzD;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;;;GAW1E;AAED,wBAAgB,MAAM,CACpB,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAC7B,CAAC,SAAS,WAAW,CAAC,YAAY,CAAC,GAAG,SAAS,EAC/C,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;;;;;;;;GAUf;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;;;GAON;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;;GAahB"}
1
+ {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEvE,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAkElE;;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;;IAEI;AAEJ,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;;;GAKzD;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;;;GAW1E;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;;;GAON;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;;GAahB"}
package/dist/struct.js CHANGED
@@ -86,13 +86,14 @@ export function object(of) {
86
86
  return makeStruct(schema);
87
87
  }
88
88
  export function record(of, key) {
89
- return makeStruct(key
90
- ? {
89
+ if (key !== undefined) {
90
+ return makeStruct({
91
91
  type: 'record',
92
92
  of: of.__schema,
93
93
  key: key.__schema,
94
- }
95
- : { type: 'record', of: of.__schema });
94
+ });
95
+ }
96
+ return makeStruct({ type: 'record', of: of.__schema });
96
97
  }
97
98
  export function tuple(of) {
98
99
  const schema = {
@@ -1 +1 @@
1
- {"version":3,"file":"struct.js","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"struct.js","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "schematox",
3
- "version": "1.2.3",
3
+ "version": "1.2.4-beta",
4
4
  "scripts": {
5
5
  "build": "tsc",
6
- "prepublishOnly": "npm run build && bash release-check.sh",
7
6
  "test": "jest",
8
7
  "test:watch": "jest --watch",
9
8
  "test:coverage": "jest --coverage",
package/src/struct.ts CHANGED
@@ -115,19 +115,29 @@ export function object<T extends Record<string, StructShape<Schema>>>(of: T) {
115
115
  return makeStruct(schema)
116
116
  }
117
117
 
118
+ export function record<T extends StructShape<Schema>>(
119
+ of: T,
120
+ key?: undefined
121
+ ): Struct<{ type: 'record'; of: T['__schema'] }>
122
+
118
123
  export function record<
119
124
  T extends StructShape<Schema>,
120
- U extends StructShape<StringSchema> | undefined,
121
- >(of: T, key?: U) {
122
- return makeStruct(
123
- key
124
- ? {
125
- type: 'record',
126
- of: of.__schema as T['__schema'],
127
- key: key.__schema as (typeof key)['__schema'],
128
- }
129
- : { type: 'record', of: of.__schema as T['__schema'] }
130
- )
125
+ U extends StructShape<StringSchema>,
126
+ >(
127
+ of: T,
128
+ key: U
129
+ ): Struct<{ type: 'record'; of: T['__schema']; key: U['__schema'] }>
130
+
131
+ export function record(of: StructShape<any>, key?: StructShape<any>) {
132
+ if (key !== undefined) {
133
+ return makeStruct({
134
+ type: 'record',
135
+ of: of.__schema,
136
+ key: key.__schema,
137
+ })
138
+ }
139
+
140
+ return makeStruct({ type: 'record', of: of.__schema })
131
141
  }
132
142
 
133
143
  export function tuple<