@shapecraft/core 1.0.0 → 1.0.2
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/cjs/common/types.d.ts +3 -0
- package/dist/cjs/common/types.d.ts.map +1 -1
- package/dist/cjs/shape/shape.d.ts +30 -9
- package/dist/cjs/shape/shape.d.ts.map +1 -1
- package/dist/cjs/shape/shape.js +12 -0
- package/dist/cjs/shape/shape.js.map +1 -1
- package/dist/cjs/shape/transforms/typescript/transform.d.ts.map +1 -1
- package/dist/cjs/shape/transforms/typescript/transform.js +13 -0
- package/dist/cjs/shape/transforms/typescript/transform.js.map +1 -1
- package/dist/cjs/shape/validate.d.ts.map +1 -1
- package/dist/cjs/shape/validate.js +20 -0
- package/dist/cjs/shape/validate.js.map +1 -1
- package/dist/esm/common/types.d.ts +3 -0
- package/dist/esm/common/types.d.ts.map +1 -1
- package/dist/esm/shape/shape.d.ts +30 -9
- package/dist/esm/shape/shape.d.ts.map +1 -1
- package/dist/esm/shape/shape.js +13 -1
- package/dist/esm/shape/shape.js.map +1 -1
- package/dist/esm/shape/transforms/typescript/transform.d.ts.map +1 -1
- package/dist/esm/shape/transforms/typescript/transform.js +13 -0
- package/dist/esm/shape/transforms/typescript/transform.js.map +1 -1
- package/dist/esm/shape/validate.d.ts.map +1 -1
- package/dist/esm/shape/validate.js +20 -0
- package/dist/esm/shape/validate.js.map +1 -1
- package/package.json +2 -1
- package/src/common/types.ts +24 -0
- package/src/shape/match.test.ts +53 -0
- package/src/shape/shape.ts +65 -13
- package/src/shape/shape.type.test.ts +36 -0
- package/src/shape/transforms/typescript/transform.ts +14 -1
- package/src/shape/validate.ts +24 -12
|
@@ -10,5 +10,8 @@ type LastOf<T> = UnionToIntersection<T extends any ? () => T : never> extends ()
|
|
|
10
10
|
type Push<T extends any[], V> = [...T, V];
|
|
11
11
|
type TuplifyUnion<T, L = LastOf<T>, N = [T] extends [never] ? true : false> = true extends N ? [] : Push<TuplifyUnion<Exclude<T, L>>, L>;
|
|
12
12
|
export type UnionToTuple<T, A extends T[] = []> = TuplifyUnion<T>["length"] extends A["length"] ? [...A] : UnionToTuple<T, [T, ...A]>;
|
|
13
|
+
export type IsLiteral<a> = [
|
|
14
|
+
a
|
|
15
|
+
] extends [null | undefined] ? true : [a] extends [string] ? string extends a ? false : true : [a] extends [number] ? number extends a ? false : true : [a] extends [boolean] ? boolean extends a ? false : true : [a] extends [symbol] ? symbol extends a ? false : true : [a] extends [bigint] ? bigint extends a ? false : true : false;
|
|
13
16
|
export {};
|
|
14
17
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,IACf,CAAC,CAAC,CAAC,GACH,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACZ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACX,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhB,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAEnD,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC;AAE3C,KAAK,mBAAmB,CAAC,CAAC,IACxB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,GACvE,KAAK,CAAC;AAEV,KAAK,MAAM,CAAC,CAAC,IACX,mBAAmB,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,GAC5E,KAAK,CAAC;AAEV,KAAK,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1C,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,IACxE,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAC5C,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GACpD,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,IACf,CAAC,CAAC,CAAC,GACH,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACZ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACX,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhB,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAEnD,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC;AAE3C,KAAK,mBAAmB,CAAC,CAAC,IACxB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,GACvE,KAAK,CAAC;AAEV,KAAK,MAAM,CAAC,CAAC,IACX,mBAAmB,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,GAC5E,KAAK,CAAC;AAEV,KAAK,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1C,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,IACxE,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAC5C,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GACpD,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/B,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB;IAAC,CAAC;CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,GACnC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACpB,MAAM,SAAS,CAAC,GACd,KAAK,GACL,IAAI,GACN,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACpB,MAAM,SAAS,CAAC,GACd,KAAK,GACL,IAAI,GACN,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GACrB,OAAO,SAAS,CAAC,GACf,KAAK,GACL,IAAI,GACN,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACpB,MAAM,SAAS,CAAC,GACd,KAAK,GACL,IAAI,GACN,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACpB,MAAM,SAAS,CAAC,GACd,KAAK,GACL,IAAI,GACN,KAAK,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Arrayish, Binary, Prettify } from "../common/types";
|
|
1
|
+
import { Arrayish, Binary, IsLiteral, Prettify } from "../common/types";
|
|
2
2
|
import { AnnotatedLoose, Annotation } from "./annotation";
|
|
3
3
|
import { _WithPhantom, ShapeBase } from "./base";
|
|
4
4
|
import { NumberTag } from "./tags";
|
|
@@ -32,9 +32,9 @@ export declare namespace shapes {
|
|
|
32
32
|
}
|
|
33
33
|
interface ShapeMapping<Rec extends {
|
|
34
34
|
[key: string]: Shape;
|
|
35
|
-
} = {
|
|
35
|
+
} | Record<string, Shape> = {
|
|
36
36
|
[key: string]: Shape;
|
|
37
|
-
}
|
|
37
|
+
} | Record<string, Shape>> extends ShapeBase<"mapping", Rec> {
|
|
38
38
|
input: Rec;
|
|
39
39
|
_: {
|
|
40
40
|
output: Prettify<{
|
|
@@ -44,7 +44,15 @@ export declare namespace shapes {
|
|
|
44
44
|
}>;
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
interface
|
|
47
|
+
interface ShapeLooseMapping<Rec extends Partial<Record<string, Shape>> = Partial<Record<string, Shape>>> extends ShapeBase<"loose-mapping", Rec> {
|
|
48
|
+
input: Rec;
|
|
49
|
+
_: {
|
|
50
|
+
output: Prettify<{
|
|
51
|
+
-readonly [P in keyof Rec]?: InferShapeOut<NonNullable<Rec[P]>>;
|
|
52
|
+
}>;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
interface ShapeRecord<KV extends [ShapeKeyable, Shape] = [ShapeKeyable, Shape]> extends ShapeBase<"record", KV, Record<Extract<InferShapeOut<KV[0]>, PropertyKey>, InferShapeOut<KV[1]>>> {
|
|
48
56
|
}
|
|
49
57
|
interface ShapeVector<Dims extends number = number, Format extends ShapeNumber = ShapeNumber> extends ShapeBase<"vector", {
|
|
50
58
|
dims: Dims;
|
|
@@ -77,10 +85,8 @@ export declare namespace shapes {
|
|
|
77
85
|
type ShapeKeyable = ShapeString | ShapeNumber | ShapeBoolean;
|
|
78
86
|
type ShapeWithLength = ShapeString | ShapeNumber | ShapeArray;
|
|
79
87
|
type ShapeLiteral = MakeLiteral<ShapeString<string>> | MakeLiteral<ShapeNumber<number>> | MakeLiteral<ShapeBoolean<boolean>>;
|
|
80
|
-
type Shape = ShapeNumber | ShapeString | ShapeBoolean | ShapeUndefined | ShapeDate | ShapeNil | ShapeUnknown | ShapeArray | ShapeMapping | ShapeRecord | ShapeVector | ShapeTuple | ShapeBinary | ShapeRange | ShapeUnion | ShapeModule | ShapeLiteral;
|
|
81
|
-
type InferShapeOut<S> = [
|
|
82
|
-
S
|
|
83
|
-
] extends [_WithPhantom] ? S["_"]["output"] : never;
|
|
88
|
+
type Shape = ShapeNumber | ShapeString | ShapeBoolean | ShapeUndefined | ShapeDate | ShapeNil | ShapeUnknown | ShapeArray | ShapeMapping | ShapeLooseMapping | ShapeRecord | ShapeVector | ShapeTuple | ShapeBinary | ShapeRange | ShapeUnion | ShapeModule | ShapeLiteral;
|
|
89
|
+
type InferShapeOut<S extends _WithPhantom> = S["_"]["output"];
|
|
84
90
|
type InputOfShape<S extends Shape> = S["input"];
|
|
85
91
|
type Annotated<S extends {
|
|
86
92
|
anno: Annotation;
|
|
@@ -97,6 +103,17 @@ export declare namespace shapes {
|
|
|
97
103
|
}> = S & {
|
|
98
104
|
literal: true;
|
|
99
105
|
};
|
|
106
|
+
type ShapeOf<T> = [
|
|
107
|
+
T
|
|
108
|
+
] extends [string] ? [
|
|
109
|
+
IsLiteral<T>
|
|
110
|
+
] extends [true] ? shapes.MakeLiteral<shapes.ShapeString<T>> : shapes.ShapeString : [T] extends [number] ? [
|
|
111
|
+
IsLiteral<T>
|
|
112
|
+
] extends [true] ? shapes.MakeLiteral<shapes.ShapeNumber<T>> : shapes.ShapeNumber : [T] extends [boolean] ? [
|
|
113
|
+
IsLiteral<T>
|
|
114
|
+
] extends [true] ? shapes.MakeLiteral<shapes.ShapeBoolean<T>> : shapes.ShapeBoolean : [T] extends [Date] ? shapes.ShapeDate : [T] extends [Array<infer Item>] ? shapes.ShapeArray<ShapeOf<Item>> : [T] extends [Array<unknown>] ? shapes.ShapeArray<shapes.ShapeUnknown> : [T] extends [Record<PropertyKey, any>] ? shapes.ShapeLooseMapping<Partial<{
|
|
115
|
+
-readonly [P in keyof T]: ShapeOf<T[P]>;
|
|
116
|
+
}>> : [T] extends [undefined] ? shapes.ShapeUndefined : [T] extends [null] ? shapes.ShapeNil : shapes.ShapeUnknown;
|
|
100
117
|
const number: () => ShapeNumber<null, "number">;
|
|
101
118
|
const int: () => ShapeNumber<null, "int">;
|
|
102
119
|
const int8: () => ShapeNumber<null, "int8">;
|
|
@@ -123,7 +140,8 @@ export declare namespace shapes {
|
|
|
123
140
|
function array<const Item extends Shape>(item: Item): ShapeArray<Item>;
|
|
124
141
|
function mapping<const Rec extends {
|
|
125
142
|
[key: string]: Shape;
|
|
126
|
-
}
|
|
143
|
+
} | Record<string, Shape>>(rec: Rec): ShapeMapping<Rec>;
|
|
144
|
+
function looseMapping<const Rec extends Partial<Record<string, Shape>>>(rec: Rec): ShapeLooseMapping<Rec>;
|
|
127
145
|
function record<KV extends [ShapeKeyable, Shape]>(...kv: KV): ShapeRecord<KV>;
|
|
128
146
|
function vector<const Dims extends number>(dims: Dims): ShapeVector<Dims, ShapeNumber>;
|
|
129
147
|
function vector<const Dims extends number, const Format extends ShapeNumber>(dims: Dims, format: Format): ShapeVector<Dims, Format>;
|
|
@@ -146,5 +164,8 @@ export declare namespace shapes {
|
|
|
146
164
|
const is: typeof _validate.is;
|
|
147
165
|
const parse: typeof _validate.parse;
|
|
148
166
|
}
|
|
167
|
+
export declare namespace shapes {
|
|
168
|
+
function match<Thing, const Pattern extends ShapeOf<Thing>>(thing: Thing, pattern: Pattern): (Thing & shapes.InferShapeOut<Pattern>) | null;
|
|
169
|
+
}
|
|
149
170
|
export { annotate } from "./annotate";
|
|
150
171
|
//# sourceMappingURL=shape.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../../src/shape/shape.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../../src/shape/shape.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/shape/shape.js
CHANGED
|
@@ -84,6 +84,10 @@ var shapes;
|
|
|
84
84
|
return (0, base_1.createBaseWithInput)("mapping", rec);
|
|
85
85
|
}
|
|
86
86
|
shapes.mapping = mapping;
|
|
87
|
+
function looseMapping(rec) {
|
|
88
|
+
return (0, base_1.createBaseWithInput)("loose-mapping", rec);
|
|
89
|
+
}
|
|
90
|
+
shapes.looseMapping = looseMapping;
|
|
87
91
|
function record(...kv) {
|
|
88
92
|
return (0, base_1.createBaseWithInput)("record", kv);
|
|
89
93
|
}
|
|
@@ -153,6 +157,14 @@ var shapes;
|
|
|
153
157
|
shapes.is = _validate.is;
|
|
154
158
|
shapes.parse = _validate.parse;
|
|
155
159
|
})(shapes || (exports.shapes = shapes = {}));
|
|
160
|
+
(function (shapes) {
|
|
161
|
+
function match(thing, pattern) {
|
|
162
|
+
if (shapes.is(pattern, thing))
|
|
163
|
+
return thing;
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
shapes.match = match;
|
|
167
|
+
})(shapes || (exports.shapes = shapes = {}));
|
|
156
168
|
var annotate_1 = require("./annotate");
|
|
157
169
|
Object.defineProperty(exports, "annotate", { enumerable: true, get: function () { return annotate_1.annotate; } });
|
|
158
170
|
//# sourceMappingURL=shape.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape.js","sourceRoot":"","sources":["../../../src/shape/shape.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAiE;AACjE,6CAAqD;AAGrD,iCAMgB;AAChB,
|
|
1
|
+
{"version":3,"file":"shape.js","sourceRoot":"","sources":["../../../src/shape/shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../../src/shape/transforms/typescript/transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../../src/shape/transforms/typescript/transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAqNrC,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,CAAC,KAAK,KAAG,MASlD,CAAC"}
|
|
@@ -87,6 +87,8 @@ const blockOfFields = (rec, ctx) => {
|
|
|
87
87
|
`{\n`,
|
|
88
88
|
Object.entries(rec)
|
|
89
89
|
.map(([field, s]) => {
|
|
90
|
+
if (!s)
|
|
91
|
+
return "";
|
|
90
92
|
const name = getName(s) || field;
|
|
91
93
|
return [
|
|
92
94
|
renderComments(createComments(s), ctx.padding + 2),
|
|
@@ -176,6 +178,17 @@ const toTs = (shape, ctx) => {
|
|
|
176
178
|
}
|
|
177
179
|
return blockOfFields(shape.input, ctx);
|
|
178
180
|
}
|
|
181
|
+
case "loose-mapping": {
|
|
182
|
+
const name = getName(shape);
|
|
183
|
+
if (name && ctx.depth <= 0) {
|
|
184
|
+
const cleanName = name.replaceAll(/-| /g, "_");
|
|
185
|
+
return [
|
|
186
|
+
`export type ${cleanName} = `,
|
|
187
|
+
blockOfFields(shape.input, ctx),
|
|
188
|
+
].join("");
|
|
189
|
+
}
|
|
190
|
+
return blockOfFields(shape.input, ctx);
|
|
191
|
+
}
|
|
179
192
|
}
|
|
180
193
|
};
|
|
181
194
|
const toTypescript = (shape) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../src/shape/transforms/typescript/transform.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../src/shape/transforms/typescript/transform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/shape/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,CAAC,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,OAAO,GACb,KAAK,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/shape/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,CAAC,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,OAAO,GACb,KAAK,CAAC,eAAe,CAAC,CA6TxB;AAED,wBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,EACvC,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAElC;AAkFD,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,EAC1C,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAKtD"}
|
|
@@ -214,6 +214,26 @@ function validate(shape, input) {
|
|
|
214
214
|
}
|
|
215
215
|
return [];
|
|
216
216
|
}
|
|
217
|
+
case "loose-mapping": {
|
|
218
|
+
if (typeof input !== "object")
|
|
219
|
+
return [errUnexpectedType(path, input, shape.type)];
|
|
220
|
+
if (input === null)
|
|
221
|
+
return [errUnexpectedType(path, input, shape.type)];
|
|
222
|
+
for (const [k, valueShape] of Object.entries(shape.input)) {
|
|
223
|
+
if (!(k in input)) {
|
|
224
|
+
if (!valueShape || valueShape.anno.optional)
|
|
225
|
+
continue;
|
|
226
|
+
return [
|
|
227
|
+
{ path: [...path, k], message: `Missing required key: '${k}'` },
|
|
228
|
+
];
|
|
229
|
+
}
|
|
230
|
+
const actualValue = input[k];
|
|
231
|
+
const errors = valueShape ? check(valueShape, actualValue, [...path, k]) : [];
|
|
232
|
+
if (errors.length > 0)
|
|
233
|
+
return errors;
|
|
234
|
+
}
|
|
235
|
+
return [];
|
|
236
|
+
}
|
|
217
237
|
case "record": {
|
|
218
238
|
if (typeof input !== "object")
|
|
219
239
|
return [errUnexpectedType(path, input, shape.type)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/shape/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/shape/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,8 @@ type LastOf<T> = UnionToIntersection<T extends any ? () => T : never> extends ()
|
|
|
10
10
|
type Push<T extends any[], V> = [...T, V];
|
|
11
11
|
type TuplifyUnion<T, L = LastOf<T>, N = [T] extends [never] ? true : false> = true extends N ? [] : Push<TuplifyUnion<Exclude<T, L>>, L>;
|
|
12
12
|
export type UnionToTuple<T, A extends T[] = []> = TuplifyUnion<T>["length"] extends A["length"] ? [...A] : UnionToTuple<T, [T, ...A]>;
|
|
13
|
+
export type IsLiteral<a> = [
|
|
14
|
+
a
|
|
15
|
+
] extends [null | undefined] ? true : [a] extends [string] ? string extends a ? false : true : [a] extends [number] ? number extends a ? false : true : [a] extends [boolean] ? boolean extends a ? false : true : [a] extends [symbol] ? symbol extends a ? false : true : [a] extends [bigint] ? bigint extends a ? false : true : false;
|
|
13
16
|
export {};
|
|
14
17
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,IACf,CAAC,CAAC,CAAC,GACH,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACZ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACX,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhB,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAEnD,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC;AAE3C,KAAK,mBAAmB,CAAC,CAAC,IACxB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,GACvE,KAAK,CAAC;AAEV,KAAK,MAAM,CAAC,CAAC,IACX,mBAAmB,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,GAC5E,KAAK,CAAC;AAEV,KAAK,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1C,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,IACxE,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAC5C,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GACpD,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,IACf,CAAC,CAAC,CAAC,GACH,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACZ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACX,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhB,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAEnD,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC;AAE3C,KAAK,mBAAmB,CAAC,CAAC,IACxB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,GACvE,KAAK,CAAC;AAEV,KAAK,MAAM,CAAC,CAAC,IACX,mBAAmB,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,GAC5E,KAAK,CAAC;AAEV,KAAK,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1C,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,IACxE,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAC5C,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GACpD,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/B,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB;IAAC,CAAC;CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,GACnC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACpB,MAAM,SAAS,CAAC,GACd,KAAK,GACL,IAAI,GACN,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACpB,MAAM,SAAS,CAAC,GACd,KAAK,GACL,IAAI,GACN,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GACrB,OAAO,SAAS,CAAC,GACf,KAAK,GACL,IAAI,GACN,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACpB,MAAM,SAAS,CAAC,GACd,KAAK,GACL,IAAI,GACN,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACpB,MAAM,SAAS,CAAC,GACd,KAAK,GACL,IAAI,GACN,KAAK,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Arrayish, Binary, Prettify } from "../common/types";
|
|
1
|
+
import { Arrayish, Binary, IsLiteral, Prettify } from "../common/types";
|
|
2
2
|
import { AnnotatedLoose, Annotation } from "./annotation";
|
|
3
3
|
import { _WithPhantom, ShapeBase } from "./base";
|
|
4
4
|
import { NumberTag } from "./tags";
|
|
@@ -32,9 +32,9 @@ export declare namespace shapes {
|
|
|
32
32
|
}
|
|
33
33
|
interface ShapeMapping<Rec extends {
|
|
34
34
|
[key: string]: Shape;
|
|
35
|
-
} = {
|
|
35
|
+
} | Record<string, Shape> = {
|
|
36
36
|
[key: string]: Shape;
|
|
37
|
-
}
|
|
37
|
+
} | Record<string, Shape>> extends ShapeBase<"mapping", Rec> {
|
|
38
38
|
input: Rec;
|
|
39
39
|
_: {
|
|
40
40
|
output: Prettify<{
|
|
@@ -44,7 +44,15 @@ export declare namespace shapes {
|
|
|
44
44
|
}>;
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
interface
|
|
47
|
+
interface ShapeLooseMapping<Rec extends Partial<Record<string, Shape>> = Partial<Record<string, Shape>>> extends ShapeBase<"loose-mapping", Rec> {
|
|
48
|
+
input: Rec;
|
|
49
|
+
_: {
|
|
50
|
+
output: Prettify<{
|
|
51
|
+
-readonly [P in keyof Rec]?: InferShapeOut<NonNullable<Rec[P]>>;
|
|
52
|
+
}>;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
interface ShapeRecord<KV extends [ShapeKeyable, Shape] = [ShapeKeyable, Shape]> extends ShapeBase<"record", KV, Record<Extract<InferShapeOut<KV[0]>, PropertyKey>, InferShapeOut<KV[1]>>> {
|
|
48
56
|
}
|
|
49
57
|
interface ShapeVector<Dims extends number = number, Format extends ShapeNumber = ShapeNumber> extends ShapeBase<"vector", {
|
|
50
58
|
dims: Dims;
|
|
@@ -77,10 +85,8 @@ export declare namespace shapes {
|
|
|
77
85
|
type ShapeKeyable = ShapeString | ShapeNumber | ShapeBoolean;
|
|
78
86
|
type ShapeWithLength = ShapeString | ShapeNumber | ShapeArray;
|
|
79
87
|
type ShapeLiteral = MakeLiteral<ShapeString<string>> | MakeLiteral<ShapeNumber<number>> | MakeLiteral<ShapeBoolean<boolean>>;
|
|
80
|
-
type Shape = ShapeNumber | ShapeString | ShapeBoolean | ShapeUndefined | ShapeDate | ShapeNil | ShapeUnknown | ShapeArray | ShapeMapping | ShapeRecord | ShapeVector | ShapeTuple | ShapeBinary | ShapeRange | ShapeUnion | ShapeModule | ShapeLiteral;
|
|
81
|
-
type InferShapeOut<S> = [
|
|
82
|
-
S
|
|
83
|
-
] extends [_WithPhantom] ? S["_"]["output"] : never;
|
|
88
|
+
type Shape = ShapeNumber | ShapeString | ShapeBoolean | ShapeUndefined | ShapeDate | ShapeNil | ShapeUnknown | ShapeArray | ShapeMapping | ShapeLooseMapping | ShapeRecord | ShapeVector | ShapeTuple | ShapeBinary | ShapeRange | ShapeUnion | ShapeModule | ShapeLiteral;
|
|
89
|
+
type InferShapeOut<S extends _WithPhantom> = S["_"]["output"];
|
|
84
90
|
type InputOfShape<S extends Shape> = S["input"];
|
|
85
91
|
type Annotated<S extends {
|
|
86
92
|
anno: Annotation;
|
|
@@ -97,6 +103,17 @@ export declare namespace shapes {
|
|
|
97
103
|
}> = S & {
|
|
98
104
|
literal: true;
|
|
99
105
|
};
|
|
106
|
+
type ShapeOf<T> = [
|
|
107
|
+
T
|
|
108
|
+
] extends [string] ? [
|
|
109
|
+
IsLiteral<T>
|
|
110
|
+
] extends [true] ? shapes.MakeLiteral<shapes.ShapeString<T>> : shapes.ShapeString : [T] extends [number] ? [
|
|
111
|
+
IsLiteral<T>
|
|
112
|
+
] extends [true] ? shapes.MakeLiteral<shapes.ShapeNumber<T>> : shapes.ShapeNumber : [T] extends [boolean] ? [
|
|
113
|
+
IsLiteral<T>
|
|
114
|
+
] extends [true] ? shapes.MakeLiteral<shapes.ShapeBoolean<T>> : shapes.ShapeBoolean : [T] extends [Date] ? shapes.ShapeDate : [T] extends [Array<infer Item>] ? shapes.ShapeArray<ShapeOf<Item>> : [T] extends [Array<unknown>] ? shapes.ShapeArray<shapes.ShapeUnknown> : [T] extends [Record<PropertyKey, any>] ? shapes.ShapeLooseMapping<Partial<{
|
|
115
|
+
-readonly [P in keyof T]: ShapeOf<T[P]>;
|
|
116
|
+
}>> : [T] extends [undefined] ? shapes.ShapeUndefined : [T] extends [null] ? shapes.ShapeNil : shapes.ShapeUnknown;
|
|
100
117
|
const number: () => ShapeNumber<null, "number">;
|
|
101
118
|
const int: () => ShapeNumber<null, "int">;
|
|
102
119
|
const int8: () => ShapeNumber<null, "int8">;
|
|
@@ -123,7 +140,8 @@ export declare namespace shapes {
|
|
|
123
140
|
function array<const Item extends Shape>(item: Item): ShapeArray<Item>;
|
|
124
141
|
function mapping<const Rec extends {
|
|
125
142
|
[key: string]: Shape;
|
|
126
|
-
}
|
|
143
|
+
} | Record<string, Shape>>(rec: Rec): ShapeMapping<Rec>;
|
|
144
|
+
function looseMapping<const Rec extends Partial<Record<string, Shape>>>(rec: Rec): ShapeLooseMapping<Rec>;
|
|
127
145
|
function record<KV extends [ShapeKeyable, Shape]>(...kv: KV): ShapeRecord<KV>;
|
|
128
146
|
function vector<const Dims extends number>(dims: Dims): ShapeVector<Dims, ShapeNumber>;
|
|
129
147
|
function vector<const Dims extends number, const Format extends ShapeNumber>(dims: Dims, format: Format): ShapeVector<Dims, Format>;
|
|
@@ -146,5 +164,8 @@ export declare namespace shapes {
|
|
|
146
164
|
const is: typeof _validate.is;
|
|
147
165
|
const parse: typeof _validate.parse;
|
|
148
166
|
}
|
|
167
|
+
export declare namespace shapes {
|
|
168
|
+
function match<Thing, const Pattern extends ShapeOf<Thing>>(thing: Thing, pattern: Pattern): (Thing & shapes.InferShapeOut<Pattern>) | null;
|
|
169
|
+
}
|
|
149
170
|
export { annotate } from "./annotate";
|
|
150
171
|
//# sourceMappingURL=shape.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../../src/shape/shape.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../../src/shape/shape.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/shape/shape.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { forceString, isPlainObject, uniqueBy } from "../common";
|
|
2
2
|
import { remapObjectValues } from "../common/object";
|
|
3
3
|
import { createBaseWithInput as bwi, createBaseWithPhantom as bwp, } from "./base";
|
|
4
|
-
import { inferNumberTag, inferNumberTagFromSamples
|
|
4
|
+
import { inferNumberTag, inferNumberTagFromSamples } from "./number";
|
|
5
5
|
import * as _validate from "./validate";
|
|
6
6
|
export var shapes;
|
|
7
7
|
(function (shapes) {
|
|
@@ -48,6 +48,10 @@ export var shapes;
|
|
|
48
48
|
return bwi("mapping", rec);
|
|
49
49
|
}
|
|
50
50
|
shapes.mapping = mapping;
|
|
51
|
+
function looseMapping(rec) {
|
|
52
|
+
return bwi("loose-mapping", rec);
|
|
53
|
+
}
|
|
54
|
+
shapes.looseMapping = looseMapping;
|
|
51
55
|
function record(...kv) {
|
|
52
56
|
return bwi("record", kv);
|
|
53
57
|
}
|
|
@@ -117,5 +121,13 @@ export var shapes;
|
|
|
117
121
|
shapes.is = _validate.is;
|
|
118
122
|
shapes.parse = _validate.parse;
|
|
119
123
|
})(shapes || (shapes = {}));
|
|
124
|
+
(function (shapes) {
|
|
125
|
+
function match(thing, pattern) {
|
|
126
|
+
if (shapes.is(pattern, thing))
|
|
127
|
+
return thing;
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
shapes.match = match;
|
|
131
|
+
})(shapes || (shapes = {}));
|
|
120
132
|
export { annotate } from "./annotate";
|
|
121
133
|
//# sourceMappingURL=shape.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape.js","sourceRoot":"","sources":["../../../src/shape/shape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAEL,mBAAmB,IAAI,GAAG,EAC1B,qBAAqB,IAAI,GAAG,GAG7B,MAAM,QAAQ,CAAC;AAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"shape.js","sourceRoot":"","sources":["../../../src/shape/shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../../src/shape/transforms/typescript/transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../../src/shape/transforms/typescript/transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAqNrC,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,CAAC,KAAK,KAAG,MASlD,CAAC"}
|
|
@@ -84,6 +84,8 @@ const blockOfFields = (rec, ctx) => {
|
|
|
84
84
|
`{\n`,
|
|
85
85
|
Object.entries(rec)
|
|
86
86
|
.map(([field, s]) => {
|
|
87
|
+
if (!s)
|
|
88
|
+
return "";
|
|
87
89
|
const name = getName(s) || field;
|
|
88
90
|
return [
|
|
89
91
|
renderComments(createComments(s), ctx.padding + 2),
|
|
@@ -173,6 +175,17 @@ const toTs = (shape, ctx) => {
|
|
|
173
175
|
}
|
|
174
176
|
return blockOfFields(shape.input, ctx);
|
|
175
177
|
}
|
|
178
|
+
case "loose-mapping": {
|
|
179
|
+
const name = getName(shape);
|
|
180
|
+
if (name && ctx.depth <= 0) {
|
|
181
|
+
const cleanName = name.replaceAll(/-| /g, "_");
|
|
182
|
+
return [
|
|
183
|
+
`export type ${cleanName} = `,
|
|
184
|
+
blockOfFields(shape.input, ctx),
|
|
185
|
+
].join("");
|
|
186
|
+
}
|
|
187
|
+
return blockOfFields(shape.input, ctx);
|
|
188
|
+
}
|
|
176
189
|
}
|
|
177
190
|
};
|
|
178
191
|
export const toTypescript = (shape) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../src/shape/transforms/typescript/transform.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../src/shape/transforms/typescript/transform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/shape/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,CAAC,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,OAAO,GACb,KAAK,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/shape/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,CAAC,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,OAAO,GACb,KAAK,CAAC,eAAe,CAAC,CA6TxB;AAED,wBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,EACvC,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAElC;AAkFD,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,EAC1C,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAKtD"}
|
|
@@ -209,6 +209,26 @@ export function validate(shape, input) {
|
|
|
209
209
|
}
|
|
210
210
|
return [];
|
|
211
211
|
}
|
|
212
|
+
case "loose-mapping": {
|
|
213
|
+
if (typeof input !== "object")
|
|
214
|
+
return [errUnexpectedType(path, input, shape.type)];
|
|
215
|
+
if (input === null)
|
|
216
|
+
return [errUnexpectedType(path, input, shape.type)];
|
|
217
|
+
for (const [k, valueShape] of Object.entries(shape.input)) {
|
|
218
|
+
if (!(k in input)) {
|
|
219
|
+
if (!valueShape || valueShape.anno.optional)
|
|
220
|
+
continue;
|
|
221
|
+
return [
|
|
222
|
+
{ path: [...path, k], message: `Missing required key: '${k}'` },
|
|
223
|
+
];
|
|
224
|
+
}
|
|
225
|
+
const actualValue = input[k];
|
|
226
|
+
const errors = valueShape ? check(valueShape, actualValue, [...path, k]) : [];
|
|
227
|
+
if (errors.length > 0)
|
|
228
|
+
return errors;
|
|
229
|
+
}
|
|
230
|
+
return [];
|
|
231
|
+
}
|
|
212
232
|
case "record": {
|
|
213
233
|
if (typeof input !== "object")
|
|
214
234
|
return [errUnexpectedType(path, input, shape.type)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/shape/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/shape/validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapecraft/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"keywords": [],
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"license": "ISC",
|
|
9
9
|
"devDependencies": {
|
|
10
10
|
"@types/node": "^25.8.0",
|
|
11
|
+
"expect-type": "^1.4.0",
|
|
11
12
|
"prettier": "^3.8.3",
|
|
12
13
|
"tsx": "^4.22.0",
|
|
13
14
|
"typescript": "^6.0.3",
|
package/src/common/types.ts
CHANGED
|
@@ -32,3 +32,27 @@ type TuplifyUnion<T, L = LastOf<T>, N = [T] extends [never] ? true : false> =
|
|
|
32
32
|
export type UnionToTuple<T, A extends T[] = []> =
|
|
33
33
|
TuplifyUnion<T>["length"] extends A["length"] ? [...A]
|
|
34
34
|
: UnionToTuple<T, [T, ...A]>;
|
|
35
|
+
|
|
36
|
+
export type IsLiteral<a> =
|
|
37
|
+
[a] extends [null | undefined] ? true
|
|
38
|
+
: [a] extends [string] ?
|
|
39
|
+
string extends a ?
|
|
40
|
+
false
|
|
41
|
+
: true
|
|
42
|
+
: [a] extends [number] ?
|
|
43
|
+
number extends a ?
|
|
44
|
+
false
|
|
45
|
+
: true
|
|
46
|
+
: [a] extends [boolean] ?
|
|
47
|
+
boolean extends a ?
|
|
48
|
+
false
|
|
49
|
+
: true
|
|
50
|
+
: [a] extends [symbol] ?
|
|
51
|
+
symbol extends a ?
|
|
52
|
+
false
|
|
53
|
+
: true
|
|
54
|
+
: [a] extends [bigint] ?
|
|
55
|
+
bigint extends a ?
|
|
56
|
+
false
|
|
57
|
+
: true
|
|
58
|
+
: false;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { describe, expect } from "vitest";
|
|
2
|
+
import { shapes } from "./shape";
|
|
3
|
+
|
|
4
|
+
describe("shapes.match", (it) => {
|
|
5
|
+
it("matches on a simple number type", () => {
|
|
6
|
+
const value = 43 as number;
|
|
7
|
+
const output = shapes.match(value, shapes.number());
|
|
8
|
+
expect(output).toBe(value);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
it("matches on a literal string", () => {
|
|
12
|
+
const value = "foobar" as const;
|
|
13
|
+
const output = shapes.match(value, shapes.literal("foobar"));
|
|
14
|
+
expect(output).toBe(value);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it("matches on a union object", () => {
|
|
18
|
+
type Thing =
|
|
19
|
+
| {
|
|
20
|
+
type: "food";
|
|
21
|
+
tasty: boolean;
|
|
22
|
+
healthy: boolean;
|
|
23
|
+
}
|
|
24
|
+
| {
|
|
25
|
+
type: "drink";
|
|
26
|
+
toxic: boolean;
|
|
27
|
+
}
|
|
28
|
+
| {
|
|
29
|
+
type: "car";
|
|
30
|
+
brand: string;
|
|
31
|
+
owner: {
|
|
32
|
+
firstname: string;
|
|
33
|
+
lastname: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const value: Thing = {
|
|
38
|
+
type: "car",
|
|
39
|
+
brand: "volvo",
|
|
40
|
+
owner: { firstname: "john", lastname: "doe" },
|
|
41
|
+
} as Thing;
|
|
42
|
+
|
|
43
|
+
const output = shapes.match(
|
|
44
|
+
value,
|
|
45
|
+
shapes.looseMapping({
|
|
46
|
+
type: shapes.literal("car"),
|
|
47
|
+
}),
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
expect(output?.owner?.firstname).toBe('john');
|
|
51
|
+
expect(output).toEqual(value);
|
|
52
|
+
});
|
|
53
|
+
});
|
package/src/shape/shape.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { forceString, isPlainObject, uniqueBy } from "../common";
|
|
2
2
|
import { remapObjectValues } from "../common/object";
|
|
3
|
-
import { Arrayish, Binary, Prettify } from "../common/types";
|
|
3
|
+
import { Arrayish, Binary, IsLiteral, Prettify } from "../common/types";
|
|
4
4
|
import { AnnotatedLoose, Annotation } from "./annotation";
|
|
5
5
|
import {
|
|
6
6
|
_WithPhantom,
|
|
@@ -9,10 +9,7 @@ import {
|
|
|
9
9
|
ShapeBase,
|
|
10
10
|
ShapeLoose,
|
|
11
11
|
} from "./base";
|
|
12
|
-
import {
|
|
13
|
-
inferNumberTag,
|
|
14
|
-
inferNumberTagFromSamples,
|
|
15
|
-
} from "./number";
|
|
12
|
+
import { inferNumberTag, inferNumberTagFromSamples } from "./number";
|
|
16
13
|
import { NumberTag } from "./tags";
|
|
17
14
|
import * as _validate from "./validate";
|
|
18
15
|
|
|
@@ -69,8 +66,10 @@ export namespace shapes {
|
|
|
69
66
|
> {}
|
|
70
67
|
|
|
71
68
|
export interface ShapeMapping<
|
|
72
|
-
Rec extends { [key: string]: Shape }
|
|
73
|
-
|
|
69
|
+
Rec extends { [key: string]: Shape } | Record<string, Shape> =
|
|
70
|
+
| { [key: string]: Shape }
|
|
71
|
+
| Record<string, Shape>,
|
|
72
|
+
> extends ShapeBase<"mapping", Rec> {
|
|
74
73
|
input: Rec;
|
|
75
74
|
_: {
|
|
76
75
|
output: Prettify<
|
|
@@ -86,12 +85,23 @@ export namespace shapes {
|
|
|
86
85
|
};
|
|
87
86
|
}
|
|
88
87
|
|
|
88
|
+
export interface ShapeLooseMapping<
|
|
89
|
+
Rec extends Partial<Record<string, Shape>> = Partial<Record<string, Shape>>,
|
|
90
|
+
> extends ShapeBase<"loose-mapping", Rec> {
|
|
91
|
+
input: Rec;
|
|
92
|
+
_: {
|
|
93
|
+
output: Prettify<{
|
|
94
|
+
-readonly [P in keyof Rec]?: InferShapeOut<NonNullable<Rec[P]>>;
|
|
95
|
+
}>;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
89
99
|
export interface ShapeRecord<
|
|
90
100
|
KV extends [ShapeKeyable, Shape] = [ShapeKeyable, Shape],
|
|
91
101
|
> extends ShapeBase<
|
|
92
102
|
"record",
|
|
93
103
|
KV,
|
|
94
|
-
Record<InferShapeOut<KV[0]>, InferShapeOut<KV[1]>>
|
|
104
|
+
Record<Extract<InferShapeOut<KV[0]>, PropertyKey>, InferShapeOut<KV[1]>>
|
|
95
105
|
> {}
|
|
96
106
|
|
|
97
107
|
export interface ShapeVector<
|
|
@@ -158,6 +168,7 @@ export namespace shapes {
|
|
|
158
168
|
| ShapeUnknown
|
|
159
169
|
| ShapeArray
|
|
160
170
|
| ShapeMapping
|
|
171
|
+
| ShapeLooseMapping
|
|
161
172
|
| ShapeRecord
|
|
162
173
|
| ShapeVector
|
|
163
174
|
| ShapeTuple
|
|
@@ -168,8 +179,7 @@ export namespace shapes {
|
|
|
168
179
|
| ShapeLiteral;
|
|
169
180
|
|
|
170
181
|
///////////////////////////////////// type utilities ////////////////////////////////////////
|
|
171
|
-
export type InferShapeOut<S> =
|
|
172
|
-
[S] extends [_WithPhantom] ? S["_"]["output"] : never;
|
|
182
|
+
export type InferShapeOut<S extends _WithPhantom> = S["_"]["output"];
|
|
173
183
|
|
|
174
184
|
export type InputOfShape<S extends Shape> = S["input"];
|
|
175
185
|
|
|
@@ -189,6 +199,32 @@ export namespace shapes {
|
|
|
189
199
|
|
|
190
200
|
export type MakeLiteral<S extends { type: string }> = S & { literal: true };
|
|
191
201
|
|
|
202
|
+
export type ShapeOf<T> =
|
|
203
|
+
[T] extends [string] ?
|
|
204
|
+
[IsLiteral<T>] extends [true] ?
|
|
205
|
+
shapes.MakeLiteral<shapes.ShapeString<T>>
|
|
206
|
+
: shapes.ShapeString
|
|
207
|
+
: [T] extends [number] ?
|
|
208
|
+
[IsLiteral<T>] extends [true] ?
|
|
209
|
+
shapes.MakeLiteral<shapes.ShapeNumber<T>>
|
|
210
|
+
: shapes.ShapeNumber
|
|
211
|
+
: [T] extends [boolean] ?
|
|
212
|
+
[IsLiteral<T>] extends [true] ?
|
|
213
|
+
shapes.MakeLiteral<shapes.ShapeBoolean<T>>
|
|
214
|
+
: shapes.ShapeBoolean
|
|
215
|
+
: [T] extends [Date] ? shapes.ShapeDate
|
|
216
|
+
: [T] extends [Array<infer Item>] ? shapes.ShapeArray<ShapeOf<Item>>
|
|
217
|
+
: [T] extends [Array<unknown>] ? shapes.ShapeArray<shapes.ShapeUnknown>
|
|
218
|
+
: [T] extends [Record<PropertyKey, any>] ?
|
|
219
|
+
shapes.ShapeLooseMapping<
|
|
220
|
+
Partial<{
|
|
221
|
+
-readonly [P in keyof T]: ShapeOf<T[P]>;
|
|
222
|
+
}>
|
|
223
|
+
>
|
|
224
|
+
: [T] extends [undefined] ? shapes.ShapeUndefined
|
|
225
|
+
: [T] extends [null] ? shapes.ShapeNil
|
|
226
|
+
: shapes.ShapeUnknown;
|
|
227
|
+
|
|
192
228
|
///////////////////////////////////// constructors ////////////////////////////////////////
|
|
193
229
|
|
|
194
230
|
const withNumberTag = <
|
|
@@ -266,12 +302,18 @@ export namespace shapes {
|
|
|
266
302
|
return bwi("array", item);
|
|
267
303
|
}
|
|
268
304
|
|
|
269
|
-
export function mapping<
|
|
270
|
-
|
|
271
|
-
): ShapeMapping<Rec> {
|
|
305
|
+
export function mapping<
|
|
306
|
+
const Rec extends { [key: string]: Shape } | Record<string, Shape>,
|
|
307
|
+
>(rec: Rec): ShapeMapping<Rec> {
|
|
272
308
|
return bwi("mapping", rec);
|
|
273
309
|
}
|
|
274
310
|
|
|
311
|
+
export function looseMapping<
|
|
312
|
+
const Rec extends Partial<Record<string, Shape>>,
|
|
313
|
+
>(rec: Rec): ShapeLooseMapping<Rec> {
|
|
314
|
+
return bwi("loose-mapping", rec);
|
|
315
|
+
}
|
|
316
|
+
|
|
275
317
|
export function record<KV extends [ShapeKeyable, Shape]>(
|
|
276
318
|
...kv: KV
|
|
277
319
|
): ShapeRecord<KV> {
|
|
@@ -374,4 +416,14 @@ export namespace shapes {
|
|
|
374
416
|
export const parse = _validate.parse;
|
|
375
417
|
}
|
|
376
418
|
|
|
419
|
+
export namespace shapes {
|
|
420
|
+
export function match<Thing, const Pattern extends ShapeOf<Thing>>(
|
|
421
|
+
thing: Thing,
|
|
422
|
+
pattern: Pattern,
|
|
423
|
+
): (Thing & shapes.InferShapeOut<Pattern>) | null {
|
|
424
|
+
if (shapes.is(pattern, thing)) return thing;
|
|
425
|
+
return null;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
377
429
|
export { annotate } from "./annotate";
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { shapes } from "./shape";
|
|
2
|
+
|
|
3
|
+
import * as ET from 'expect-type'
|
|
4
|
+
|
|
5
|
+
export const shapeTaskListTask = shapes.mapping({
|
|
6
|
+
id: shapes.string(),
|
|
7
|
+
title: shapes.string(),
|
|
8
|
+
status: shapes.union(
|
|
9
|
+
shapes.literal("pending"),
|
|
10
|
+
shapes.literal("in-progress"),
|
|
11
|
+
shapes.literal("completed"),
|
|
12
|
+
),
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export const shapeTaskList = shapes.mapping({
|
|
16
|
+
id: shapes.string(),
|
|
17
|
+
tasks: shapes.array(shapeTaskListTask),
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
type TaskList = shapes.InferShapeOut<typeof shapeTaskList>;
|
|
21
|
+
|
|
22
|
+
ET.expectTypeOf<TaskList['tasks']>().toBeArray();
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
const taskList: TaskList = {
|
|
26
|
+
id: '',
|
|
27
|
+
tasks: [
|
|
28
|
+
{
|
|
29
|
+
id: '',
|
|
30
|
+
title: '',
|
|
31
|
+
status: 'pending',
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ET.expectTypeOf<(typeof taskList)['tasks']>().toBeArray();
|
|
@@ -96,13 +96,14 @@ const renderComments = (comments: string[], pad: number): string => {
|
|
|
96
96
|
};
|
|
97
97
|
|
|
98
98
|
const blockOfFields = (
|
|
99
|
-
rec: Record<string, shapes.Shape
|
|
99
|
+
rec: Record<string, shapes.Shape> | Partial<Record<string, shapes.Shape>>,
|
|
100
100
|
ctx: Context,
|
|
101
101
|
): string => {
|
|
102
102
|
return [
|
|
103
103
|
`{\n`,
|
|
104
104
|
Object.entries(rec)
|
|
105
105
|
.map(([field, s]) => {
|
|
106
|
+
if (!s) return "";
|
|
106
107
|
const name = getName(s) || field;
|
|
107
108
|
return [
|
|
108
109
|
renderComments(createComments(s), ctx.padding + 2),
|
|
@@ -194,6 +195,18 @@ const toTs = (shape: shapes.Shape, ctx: Context): string => {
|
|
|
194
195
|
].join("");
|
|
195
196
|
}
|
|
196
197
|
|
|
198
|
+
return blockOfFields(shape.input, ctx);
|
|
199
|
+
}
|
|
200
|
+
case "loose-mapping": {
|
|
201
|
+
const name = getName(shape);
|
|
202
|
+
if (name && ctx.depth <= 0) {
|
|
203
|
+
const cleanName = name.replaceAll(/-| /g, "_");
|
|
204
|
+
return [
|
|
205
|
+
`export type ${cleanName} = `,
|
|
206
|
+
blockOfFields(shape.input, ctx),
|
|
207
|
+
].join("");
|
|
208
|
+
}
|
|
209
|
+
|
|
197
210
|
return blockOfFields(shape.input, ctx);
|
|
198
211
|
}
|
|
199
212
|
}
|
package/src/shape/validate.ts
CHANGED
|
@@ -157,8 +157,7 @@ export function validate(
|
|
|
157
157
|
return [];
|
|
158
158
|
}
|
|
159
159
|
case "nil": {
|
|
160
|
-
if (input !== null)
|
|
161
|
-
return [errUnexpectedType(path, input, shape.type)];
|
|
160
|
+
if (input !== null) return [errUnexpectedType(path, input, shape.type)];
|
|
162
161
|
return [];
|
|
163
162
|
}
|
|
164
163
|
case "undefined": {
|
|
@@ -231,22 +230,17 @@ export function validate(
|
|
|
231
230
|
];
|
|
232
231
|
const errors: ValidationError[] = [];
|
|
233
232
|
if (rec["lower"] !== null) {
|
|
234
|
-
errors.push(
|
|
235
|
-
...check(shape.input, rec["lower"], [...path, "lower"]),
|
|
236
|
-
);
|
|
233
|
+
errors.push(...check(shape.input, rec["lower"], [...path, "lower"]));
|
|
237
234
|
}
|
|
238
235
|
if (rec["upper"] !== null) {
|
|
239
|
-
errors.push(
|
|
240
|
-
...check(shape.input, rec["upper"], [...path, "upper"]),
|
|
241
|
-
);
|
|
236
|
+
errors.push(...check(shape.input, rec["upper"], [...path, "upper"]));
|
|
242
237
|
}
|
|
243
238
|
return errors;
|
|
244
239
|
}
|
|
245
240
|
case "mapping": {
|
|
246
241
|
if (typeof input !== "object")
|
|
247
242
|
return [errUnexpectedType(path, input, shape.type)];
|
|
248
|
-
if (input === null)
|
|
249
|
-
return [errUnexpectedType(path, input, shape.type)];
|
|
243
|
+
if (input === null) return [errUnexpectedType(path, input, shape.type)];
|
|
250
244
|
|
|
251
245
|
for (const [k, valueShape] of Object.entries(shape.input)) {
|
|
252
246
|
if (!(k in input)) {
|
|
@@ -261,11 +255,29 @@ export function validate(
|
|
|
261
255
|
}
|
|
262
256
|
return [];
|
|
263
257
|
}
|
|
264
|
-
case "
|
|
258
|
+
case "loose-mapping": {
|
|
265
259
|
if (typeof input !== "object")
|
|
266
260
|
return [errUnexpectedType(path, input, shape.type)];
|
|
267
|
-
if (input === null)
|
|
261
|
+
if (input === null) return [errUnexpectedType(path, input, shape.type)];
|
|
262
|
+
|
|
263
|
+
for (const [k, valueShape] of Object.entries(shape.input)) {
|
|
264
|
+
if (!(k in input)) {
|
|
265
|
+
if (!valueShape || valueShape.anno.optional) continue;
|
|
266
|
+
return [
|
|
267
|
+
{ path: [...path, k], message: `Missing required key: '${k}'` },
|
|
268
|
+
];
|
|
269
|
+
}
|
|
270
|
+
const actualValue = (input as Record<PropertyKey, unknown>)[k];
|
|
271
|
+
const errors =
|
|
272
|
+
valueShape ? check(valueShape, actualValue, [...path, k]) : [];
|
|
273
|
+
if (errors.length > 0) return errors;
|
|
274
|
+
}
|
|
275
|
+
return [];
|
|
276
|
+
}
|
|
277
|
+
case "record": {
|
|
278
|
+
if (typeof input !== "object")
|
|
268
279
|
return [errUnexpectedType(path, input, shape.type)];
|
|
280
|
+
if (input === null) return [errUnexpectedType(path, input, shape.type)];
|
|
269
281
|
|
|
270
282
|
const inputRec = input as Record<PropertyKey, unknown>;
|
|
271
283
|
|