shapedef 1.0.16 → 1.0.18

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.
@@ -4,5 +4,6 @@ export type Prettify<T> = {
4
4
  } & {};
5
5
  export type UnionToIntersection<union> = (union extends any ? (k: union) => void : never) extends ((k: infer intersection) => void) ? intersection : never;
6
6
  export type IsUnion<a> = [a] extends [UnionToIntersection<a>] ? false : true;
7
+ export type IsTuple<T> = T extends readonly any[] ? number extends T["length"] ? false : true : false;
7
8
  export type UnionToTuple<union, output extends any[] = []> = UnionToIntersection<union extends any ? (t: union) => union : never> extends ((_: any) => infer elem) ? UnionToTuple<Exclude<union, elem>, [elem, ...output]> : output;
8
9
  //# 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,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,mBAAmB,CAAC,KAAK,IACnC,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CACvD,CAAC,CAAC,EAAE,MAAM,YAAY,KAAK,IAAI,CAChC,GACC,YAAY,GACZ,KAAK,CAAC;AAEV,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAE7E,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,IACvD,mBAAmB,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC,SAAS,CAC3E,CAAC,CAAC,EAAE,GAAG,KAAK,MAAM,IAAI,CACvB,GACC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GACrD,MAAM,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,mBAAmB,CAAC,KAAK,IACnC,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CACvD,CAAC,CAAC,EAAE,MAAM,YAAY,KAAK,IAAI,CAChC,GACC,YAAY,GACZ,KAAK,CAAC;AAEV,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAE7E,MAAM,MAAM,OAAO,CAAC,CAAC,IACnB,CAAC,SAAS,SAAS,GAAG,EAAE,GACtB,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GACxB,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEV,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,IACvD,mBAAmB,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC,SAAS,CAC3E,CAAC,CAAC,EAAE,GAAG,KAAK,MAAM,IAAI,CACvB,GACC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GACrD,MAAM,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Prettify, TupleOf } from "./common/types";
1
+ import { IsTuple, IsUnion, Prettify, TupleOf, UnionToTuple } from "./common/types";
2
2
  export declare const ShapeBrandSymbol: unique symbol;
3
3
  export type ShapeBrandSymbol = typeof ShapeBrandSymbol;
4
4
  export type ShapeAnnotation = {
@@ -30,6 +30,18 @@ export type LooseShape = {
30
30
  export type OutputOfShape<T> = [
31
31
  T
32
32
  ] extends [LooseShape] ? T["__phantom"]["out"] : never;
33
+ type _TupleToShapes<T extends readonly any[]> = T extends [] ? [] : T extends [infer H, ...infer Rest extends readonly any[]] ? [
34
+ _ToShape<H>,
35
+ ..._TupleToShapes<Rest>
36
+ ] : Shape[];
37
+ export type _ToShape<U, T extends Exclude<U, undefined> = Exclude<U, undefined>> = [
38
+ T
39
+ ] extends [Shape] ? T : IsUnion<T> extends true ? UnionToTuple<T> extends infer Tup extends readonly any[] ? ShapeUnion<_TupleToShapes<Tup>> : ShapeUnknown : IsTuple<T> extends true ? T extends [infer H, ...infer Rest extends readonly any[]] ? ShapeTuple<[_ToShape<H>, ..._TupleToShapes<Rest>]> : ShapeUnknown : [T] extends [Array<infer A>] ? ShapeArray<_ToShape<A>> : [T] extends [Date] ? ShapeDate : [T] extends [null] ? ShapeNil : [T] extends [string] ? ShapeStr : [T] extends [number] ? ShapeNumber : [T] extends [boolean] ? ShapeBool : [T] extends [Record<string, any>] ? ShapeMapping<{
40
+ [P in keyof T & string]: _ToShape<T[P]>;
41
+ }> : ShapeUnknown;
42
+ export type ToShape<T> = [
43
+ _ToShape<T>
44
+ ] extends [infer S extends Shape] ? S : ShapeUnknown;
33
45
  export type AnnoOfShape<T> = [T] extends [LooseShape] ? T["anno"] : never;
34
46
  export type ShapeIsOptional<T> = [
35
47
  AnnoOfShape<T>["optional"]
@@ -166,4 +178,5 @@ export declare namespace annotate {
166
178
  preferLiterals?: boolean;
167
179
  }): Shape;
168
180
  }
181
+ export {};
169
182
  //# sourceMappingURL=shape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Shape } from "../shape";
2
2
  import { ShapeCollection } from "../shape-collection";
3
3
  export type TypescriptOptions = {
4
4
  preferInterfaces?: boolean;
5
+ enableTypeAliases?: boolean;
5
6
  };
6
7
  export declare const typescript: (shape: Shape, options?: TypescriptOptions) => string;
7
8
  export declare const typescriptCollection: (collection: ShapeCollection, options?: TypescriptOptions & {
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/translations/typescript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAU,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AA8IF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAS,iBAAsB,KAC9B,MAEF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,eAAe,EAC3B,UAAS,iBAAiB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,WAsBP,CAAC"}
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/translations/typescript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAsB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AA+MF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAS,iBAAsB,KAC9B,MAEF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,eAAe,EAC3B,UAAS,iBAAiB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,WA6CP,CAAC"}
@@ -5,10 +5,61 @@ const padding_1 = require("../common/padding");
5
5
  const shape_1 = require("../shape");
6
6
  const shape_utils_1 = require("../shape-utils");
7
7
  const incDepth = (ctx) => ({ ...ctx, depth: ctx.depth + 1 });
8
+ const createAnalytics = () => {
9
+ return {
10
+ namedUnions: new Map(),
11
+ };
12
+ };
13
+ const mergeAnalytics = (a, b) => {
14
+ for (const [k, v] of Array.from(b.namedUnions.entries())) {
15
+ a.namedUnions.set(k, v);
16
+ }
17
+ };
18
+ const analyze = (shape, ctx) => {
19
+ const analytics = createAnalytics();
20
+ switch (shape.type) {
21
+ case "mapping":
22
+ {
23
+ for (const item of Object.values(shape.rec)) {
24
+ mergeAnalytics(analytics, analyze(item, incDepth(ctx)));
25
+ }
26
+ }
27
+ break;
28
+ case "array":
29
+ {
30
+ mergeAnalytics(analytics, analyze(shape.item, incDepth(ctx)));
31
+ }
32
+ break;
33
+ case "tuple":
34
+ {
35
+ for (const item of shape.tup) {
36
+ mergeAnalytics(analytics, analyze(item, incDepth(ctx)));
37
+ }
38
+ }
39
+ break;
40
+ case "union":
41
+ {
42
+ if (ctx.depth > 0 &&
43
+ shape.anno.name &&
44
+ !shape.anno.name.includes(" ")) {
45
+ analytics.namedUnions.set(shape.anno.name, shape);
46
+ }
47
+ for (const item of shape.ofs) {
48
+ mergeAnalytics(analytics, analyze(item, incDepth(ctx)));
49
+ }
50
+ }
51
+ break;
52
+ }
53
+ return analytics;
54
+ };
55
+ //////////////////////////////////////////
8
56
  const maybeTypeAlias = (shape, ctx, out) => {
9
- if (ctx.depth > 0)
57
+ if (ctx.options.enableTypeAliases === false)
10
58
  return out;
11
59
  const name = shape.anno.name || shape.anno.title;
60
+ if (ctx.depth > 0) {
61
+ return out;
62
+ }
12
63
  if (name && !name.includes(" "))
13
64
  return `export type ${name} = ${out}`;
14
65
  return out;
@@ -128,16 +179,33 @@ const typescript = (shape, options = {}) => {
128
179
  exports.typescript = typescript;
129
180
  const typescriptCollection = (collection, options = {}) => {
130
181
  const { summaryName = "Schema" } = options;
182
+ const analytics = createAnalytics();
131
183
  const items = Array.from(collection.values()).toSorted((a, b) => {
132
184
  const depsA = (0, shape_utils_1.getShapeDeps)(a);
133
185
  const depsB = (0, shape_utils_1.getShapeDeps)(b);
134
186
  return depsA.length - depsB.length;
135
187
  });
188
+ for (const item of items) {
189
+ mergeAnalytics(analytics, analyze(item, { depth: 0, padding: 0, options }));
190
+ }
191
+ const exportedAliases = Array.from(analytics.namedUnions.entries())
192
+ .map(([k, v]) => {
193
+ const parts = [];
194
+ const ofs = v.ofs;
195
+ if (ofs.every((x) => x.type === "literal-str")) {
196
+ parts.push(`export const ${k}_values = [${ofs.map((x) => '"' + x.value + '"').join(", ")}] as const`);
197
+ }
198
+ const str = (0, exports.typescript)(v, { ...options, enableTypeAliases: false });
199
+ parts.push(`export type ${k} = ${str}`);
200
+ return parts.join(";\n");
201
+ })
202
+ .join(";\n");
136
203
  const rec = shape_1.shapes.mapping(Object.fromEntries(items.map((s) => [s.anno.name || "?", shape_1.shapes.ref(s.anno.name || "?")])));
137
204
  const tsContent = [
205
+ exportedAliases,
138
206
  items.map((s) => (0, exports.typescript)(s, options)).join("\n"),
139
207
  `export type ${summaryName} = ${(0, exports.typescript)(rec, options)};`,
140
- ].join("\n");
208
+ ].join(";\n");
141
209
  return tsContent;
142
210
  };
143
211
  exports.typescriptCollection = typescriptCollection;
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/translations/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/translations/typescript.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAC;CACV,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB,CAAC;AAkBN,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAyGnE;AAED,wBAAgB,EAAE,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAG3E;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;CACV,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB,CAAC;AAwEN,wBAAgB,KAAK,CAAC,CAAC,SAAS,KAAK,EACnC,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,CAAC,GACH,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAK/B"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAC;CACV,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB,CAAC;AAkBN,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAmJnE;AAED,wBAAgB,EAAE,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAG3E;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;CACV,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB,CAAC;AAwEN,wBAAgB,KAAK,CAAC,CAAC,SAAS,KAAK,EACnC,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,CAAC,GACH,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAK/B"}
@@ -20,16 +20,47 @@ function validate(x, shape) {
20
20
  case "literal-float":
21
21
  case "literal-number":
22
22
  return maybe(x === shape.value, `expected literal ${shape.value}`, path);
23
- case "str":
24
- return maybe(typeof x === "string", "expected a string", path);
23
+ case "str": {
24
+ if (typeof x !== "string")
25
+ return err("expected a string", path);
26
+ if (shape.anno.min !== undefined && x.length < shape.anno.min)
27
+ return err(`expected string length >= ${shape.anno.min}`, path);
28
+ if (shape.anno.max !== undefined && x.length > shape.anno.max)
29
+ return err(`expected string length <= ${shape.anno.max}`, path);
30
+ if (shape.anno.pattern !== undefined &&
31
+ !new RegExp(shape.anno.pattern).test(x))
32
+ return err(`expected string to match pattern /${shape.anno.pattern}/`, path);
33
+ return ok();
34
+ }
25
35
  case "bool":
26
36
  return maybe(typeof x === "boolean", "expected a boolean", path);
27
- case "int":
28
- return maybe(typeof x === "number" && Number.isInteger(x), "expected an integer", path);
29
- case "float":
30
- return maybe(typeof x === "number" && !Number.isInteger(x), "expected a float", path);
31
- case "number":
32
- return maybe(typeof x === "number", "expected a number", path);
37
+ case "int": {
38
+ if (!(typeof x === "number" && Number.isInteger(x)))
39
+ return err("expected an integer", path);
40
+ if (shape.anno.min !== undefined && x < shape.anno.min)
41
+ return err(`expected value >= ${shape.anno.min}`, path);
42
+ if (shape.anno.max !== undefined && x > shape.anno.max)
43
+ return err(`expected value <= ${shape.anno.max}`, path);
44
+ return ok();
45
+ }
46
+ case "float": {
47
+ if (!(typeof x === "number" && !Number.isInteger(x)))
48
+ return err("expected a float", path);
49
+ if (shape.anno.min !== undefined && x < shape.anno.min)
50
+ return err(`expected value >= ${shape.anno.min}`, path);
51
+ if (shape.anno.max !== undefined && x > shape.anno.max)
52
+ return err(`expected value <= ${shape.anno.max}`, path);
53
+ return ok();
54
+ }
55
+ case "number": {
56
+ if (typeof x !== "number")
57
+ return err("expected a number", path);
58
+ if (shape.anno.min !== undefined && x < shape.anno.min)
59
+ return err(`expected value >= ${shape.anno.min}`, path);
60
+ if (shape.anno.max !== undefined && x > shape.anno.max)
61
+ return err(`expected value <= ${shape.anno.max}`, path);
62
+ return ok();
63
+ }
33
64
  case "nil":
34
65
  return maybe(x === null, "expected null", path);
35
66
  case "date":
@@ -39,12 +70,28 @@ function validate(x, shape) {
39
70
  case "array": {
40
71
  if (!Array.isArray(x))
41
72
  return err("expected an array", path);
73
+ if (shape.anno.min !== undefined && x.length < shape.anno.min)
74
+ return err(`expected array length >= ${shape.anno.min}`, path);
75
+ if (shape.anno.max !== undefined && x.length > shape.anno.max)
76
+ return err(`expected array length <= ${shape.anno.max}`, path);
42
77
  for (let i = 0; i < x.length; i++) {
43
78
  const item = x[i];
44
79
  const result = check(item, shape.item, [...path, i]);
45
80
  if (!result.ok)
46
81
  return result;
47
82
  }
83
+ if (shape.anno.uniqueWithin) {
84
+ const seen = new Set();
85
+ for (let i = 0; i < x.length; i++) {
86
+ const key = JSON.stringify(x[i]);
87
+ if (seen.has(key))
88
+ return err(`expected all array elements to be unique`, [
89
+ ...path,
90
+ i,
91
+ ]);
92
+ seen.add(key);
93
+ }
94
+ }
48
95
  return ok();
49
96
  }
50
97
  case "mapping": {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ export type Prettify<T> = {
4
4
  } & {};
5
5
  export type UnionToIntersection<union> = (union extends any ? (k: union) => void : never) extends ((k: infer intersection) => void) ? intersection : never;
6
6
  export type IsUnion<a> = [a] extends [UnionToIntersection<a>] ? false : true;
7
+ export type IsTuple<T> = T extends readonly any[] ? number extends T["length"] ? false : true : false;
7
8
  export type UnionToTuple<union, output extends any[] = []> = UnionToIntersection<union extends any ? (t: union) => union : never> extends ((_: any) => infer elem) ? UnionToTuple<Exclude<union, elem>, [elem, ...output]> : output;
8
9
  //# 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,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,mBAAmB,CAAC,KAAK,IACnC,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CACvD,CAAC,CAAC,EAAE,MAAM,YAAY,KAAK,IAAI,CAChC,GACC,YAAY,GACZ,KAAK,CAAC;AAEV,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAE7E,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,IACvD,mBAAmB,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC,SAAS,CAC3E,CAAC,CAAC,EAAE,GAAG,KAAK,MAAM,IAAI,CACvB,GACC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GACrD,MAAM,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,mBAAmB,CAAC,KAAK,IACnC,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CACvD,CAAC,CAAC,EAAE,MAAM,YAAY,KAAK,IAAI,CAChC,GACC,YAAY,GACZ,KAAK,CAAC;AAEV,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAE7E,MAAM,MAAM,OAAO,CAAC,CAAC,IACnB,CAAC,SAAS,SAAS,GAAG,EAAE,GACtB,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GACxB,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEV,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,IACvD,mBAAmB,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC,SAAS,CAC3E,CAAC,CAAC,EAAE,GAAG,KAAK,MAAM,IAAI,CACvB,GACC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GACrD,MAAM,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Prettify, TupleOf } from "./common/types";
1
+ import { IsTuple, IsUnion, Prettify, TupleOf, UnionToTuple } from "./common/types";
2
2
  export declare const ShapeBrandSymbol: unique symbol;
3
3
  export type ShapeBrandSymbol = typeof ShapeBrandSymbol;
4
4
  export type ShapeAnnotation = {
@@ -30,6 +30,18 @@ export type LooseShape = {
30
30
  export type OutputOfShape<T> = [
31
31
  T
32
32
  ] extends [LooseShape] ? T["__phantom"]["out"] : never;
33
+ type _TupleToShapes<T extends readonly any[]> = T extends [] ? [] : T extends [infer H, ...infer Rest extends readonly any[]] ? [
34
+ _ToShape<H>,
35
+ ..._TupleToShapes<Rest>
36
+ ] : Shape[];
37
+ export type _ToShape<U, T extends Exclude<U, undefined> = Exclude<U, undefined>> = [
38
+ T
39
+ ] extends [Shape] ? T : IsUnion<T> extends true ? UnionToTuple<T> extends infer Tup extends readonly any[] ? ShapeUnion<_TupleToShapes<Tup>> : ShapeUnknown : IsTuple<T> extends true ? T extends [infer H, ...infer Rest extends readonly any[]] ? ShapeTuple<[_ToShape<H>, ..._TupleToShapes<Rest>]> : ShapeUnknown : [T] extends [Array<infer A>] ? ShapeArray<_ToShape<A>> : [T] extends [Date] ? ShapeDate : [T] extends [null] ? ShapeNil : [T] extends [string] ? ShapeStr : [T] extends [number] ? ShapeNumber : [T] extends [boolean] ? ShapeBool : [T] extends [Record<string, any>] ? ShapeMapping<{
40
+ [P in keyof T & string]: _ToShape<T[P]>;
41
+ }> : ShapeUnknown;
42
+ export type ToShape<T> = [
43
+ _ToShape<T>
44
+ ] extends [infer S extends Shape] ? S : ShapeUnknown;
33
45
  export type AnnoOfShape<T> = [T] extends [LooseShape] ? T["anno"] : never;
34
46
  export type ShapeIsOptional<T> = [
35
47
  AnnoOfShape<T>["optional"]
@@ -166,4 +178,5 @@ export declare namespace annotate {
166
178
  preferLiterals?: boolean;
167
179
  }): Shape;
168
180
  }
181
+ export {};
169
182
  //# sourceMappingURL=shape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Shape } from "../shape";
2
2
  import { ShapeCollection } from "../shape-collection";
3
3
  export type TypescriptOptions = {
4
4
  preferInterfaces?: boolean;
5
+ enableTypeAliases?: boolean;
5
6
  };
6
7
  export declare const typescript: (shape: Shape, options?: TypescriptOptions) => string;
7
8
  export declare const typescriptCollection: (collection: ShapeCollection, options?: TypescriptOptions & {
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/translations/typescript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAU,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AA8IF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAS,iBAAsB,KAC9B,MAEF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,eAAe,EAC3B,UAAS,iBAAiB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,WAsBP,CAAC"}
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/translations/typescript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAsB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AA+MF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAS,iBAAsB,KAC9B,MAEF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,eAAe,EAC3B,UAAS,iBAAiB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,WA6CP,CAAC"}
@@ -5,10 +5,61 @@ const padding_1 = require("../common/padding");
5
5
  const shape_1 = require("../shape");
6
6
  const shape_utils_1 = require("../shape-utils");
7
7
  const incDepth = (ctx) => ({ ...ctx, depth: ctx.depth + 1 });
8
+ const createAnalytics = () => {
9
+ return {
10
+ namedUnions: new Map(),
11
+ };
12
+ };
13
+ const mergeAnalytics = (a, b) => {
14
+ for (const [k, v] of Array.from(b.namedUnions.entries())) {
15
+ a.namedUnions.set(k, v);
16
+ }
17
+ };
18
+ const analyze = (shape, ctx) => {
19
+ const analytics = createAnalytics();
20
+ switch (shape.type) {
21
+ case "mapping":
22
+ {
23
+ for (const item of Object.values(shape.rec)) {
24
+ mergeAnalytics(analytics, analyze(item, incDepth(ctx)));
25
+ }
26
+ }
27
+ break;
28
+ case "array":
29
+ {
30
+ mergeAnalytics(analytics, analyze(shape.item, incDepth(ctx)));
31
+ }
32
+ break;
33
+ case "tuple":
34
+ {
35
+ for (const item of shape.tup) {
36
+ mergeAnalytics(analytics, analyze(item, incDepth(ctx)));
37
+ }
38
+ }
39
+ break;
40
+ case "union":
41
+ {
42
+ if (ctx.depth > 0 &&
43
+ shape.anno.name &&
44
+ !shape.anno.name.includes(" ")) {
45
+ analytics.namedUnions.set(shape.anno.name, shape);
46
+ }
47
+ for (const item of shape.ofs) {
48
+ mergeAnalytics(analytics, analyze(item, incDepth(ctx)));
49
+ }
50
+ }
51
+ break;
52
+ }
53
+ return analytics;
54
+ };
55
+ //////////////////////////////////////////
8
56
  const maybeTypeAlias = (shape, ctx, out) => {
9
- if (ctx.depth > 0)
57
+ if (ctx.options.enableTypeAliases === false)
10
58
  return out;
11
59
  const name = shape.anno.name || shape.anno.title;
60
+ if (ctx.depth > 0) {
61
+ return out;
62
+ }
12
63
  if (name && !name.includes(" "))
13
64
  return `export type ${name} = ${out}`;
14
65
  return out;
@@ -128,16 +179,33 @@ const typescript = (shape, options = {}) => {
128
179
  exports.typescript = typescript;
129
180
  const typescriptCollection = (collection, options = {}) => {
130
181
  const { summaryName = "Schema" } = options;
182
+ const analytics = createAnalytics();
131
183
  const items = Array.from(collection.values()).toSorted((a, b) => {
132
184
  const depsA = (0, shape_utils_1.getShapeDeps)(a);
133
185
  const depsB = (0, shape_utils_1.getShapeDeps)(b);
134
186
  return depsA.length - depsB.length;
135
187
  });
188
+ for (const item of items) {
189
+ mergeAnalytics(analytics, analyze(item, { depth: 0, padding: 0, options }));
190
+ }
191
+ const exportedAliases = Array.from(analytics.namedUnions.entries())
192
+ .map(([k, v]) => {
193
+ const parts = [];
194
+ const ofs = v.ofs;
195
+ if (ofs.every((x) => x.type === "literal-str")) {
196
+ parts.push(`export const ${k}_values = [${ofs.map((x) => '"' + x.value + '"').join(", ")}] as const`);
197
+ }
198
+ const str = (0, exports.typescript)(v, { ...options, enableTypeAliases: false });
199
+ parts.push(`export type ${k} = ${str}`);
200
+ return parts.join(";\n");
201
+ })
202
+ .join(";\n");
136
203
  const rec = shape_1.shapes.mapping(Object.fromEntries(items.map((s) => [s.anno.name || "?", shape_1.shapes.ref(s.anno.name || "?")])));
137
204
  const tsContent = [
205
+ exportedAliases,
138
206
  items.map((s) => (0, exports.typescript)(s, options)).join("\n"),
139
207
  `export type ${summaryName} = ${(0, exports.typescript)(rec, options)};`,
140
- ].join("\n");
208
+ ].join(";\n");
141
209
  return tsContent;
142
210
  };
143
211
  exports.typescriptCollection = typescriptCollection;
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/translations/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/translations/typescript.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAC;CACV,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB,CAAC;AAkBN,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAyGnE;AAED,wBAAgB,EAAE,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAG3E;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;CACV,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB,CAAC;AAwEN,wBAAgB,KAAK,CAAC,CAAC,SAAS,KAAK,EACnC,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,CAAC,GACH,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAK/B"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAC;CACV,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB,CAAC;AAkBN,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAmJnE;AAED,wBAAgB,EAAE,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAG3E;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;CACV,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB,CAAC;AAwEN,wBAAgB,KAAK,CAAC,CAAC,SAAS,KAAK,EACnC,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,CAAC,GACH,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAK/B"}
@@ -20,16 +20,47 @@ function validate(x, shape) {
20
20
  case "literal-float":
21
21
  case "literal-number":
22
22
  return maybe(x === shape.value, `expected literal ${shape.value}`, path);
23
- case "str":
24
- return maybe(typeof x === "string", "expected a string", path);
23
+ case "str": {
24
+ if (typeof x !== "string")
25
+ return err("expected a string", path);
26
+ if (shape.anno.min !== undefined && x.length < shape.anno.min)
27
+ return err(`expected string length >= ${shape.anno.min}`, path);
28
+ if (shape.anno.max !== undefined && x.length > shape.anno.max)
29
+ return err(`expected string length <= ${shape.anno.max}`, path);
30
+ if (shape.anno.pattern !== undefined &&
31
+ !new RegExp(shape.anno.pattern).test(x))
32
+ return err(`expected string to match pattern /${shape.anno.pattern}/`, path);
33
+ return ok();
34
+ }
25
35
  case "bool":
26
36
  return maybe(typeof x === "boolean", "expected a boolean", path);
27
- case "int":
28
- return maybe(typeof x === "number" && Number.isInteger(x), "expected an integer", path);
29
- case "float":
30
- return maybe(typeof x === "number" && !Number.isInteger(x), "expected a float", path);
31
- case "number":
32
- return maybe(typeof x === "number", "expected a number", path);
37
+ case "int": {
38
+ if (!(typeof x === "number" && Number.isInteger(x)))
39
+ return err("expected an integer", path);
40
+ if (shape.anno.min !== undefined && x < shape.anno.min)
41
+ return err(`expected value >= ${shape.anno.min}`, path);
42
+ if (shape.anno.max !== undefined && x > shape.anno.max)
43
+ return err(`expected value <= ${shape.anno.max}`, path);
44
+ return ok();
45
+ }
46
+ case "float": {
47
+ if (!(typeof x === "number" && !Number.isInteger(x)))
48
+ return err("expected a float", path);
49
+ if (shape.anno.min !== undefined && x < shape.anno.min)
50
+ return err(`expected value >= ${shape.anno.min}`, path);
51
+ if (shape.anno.max !== undefined && x > shape.anno.max)
52
+ return err(`expected value <= ${shape.anno.max}`, path);
53
+ return ok();
54
+ }
55
+ case "number": {
56
+ if (typeof x !== "number")
57
+ return err("expected a number", path);
58
+ if (shape.anno.min !== undefined && x < shape.anno.min)
59
+ return err(`expected value >= ${shape.anno.min}`, path);
60
+ if (shape.anno.max !== undefined && x > shape.anno.max)
61
+ return err(`expected value <= ${shape.anno.max}`, path);
62
+ return ok();
63
+ }
33
64
  case "nil":
34
65
  return maybe(x === null, "expected null", path);
35
66
  case "date":
@@ -39,12 +70,28 @@ function validate(x, shape) {
39
70
  case "array": {
40
71
  if (!Array.isArray(x))
41
72
  return err("expected an array", path);
73
+ if (shape.anno.min !== undefined && x.length < shape.anno.min)
74
+ return err(`expected array length >= ${shape.anno.min}`, path);
75
+ if (shape.anno.max !== undefined && x.length > shape.anno.max)
76
+ return err(`expected array length <= ${shape.anno.max}`, path);
42
77
  for (let i = 0; i < x.length; i++) {
43
78
  const item = x[i];
44
79
  const result = check(item, shape.item, [...path, i]);
45
80
  if (!result.ok)
46
81
  return result;
47
82
  }
83
+ if (shape.anno.uniqueWithin) {
84
+ const seen = new Set();
85
+ for (let i = 0; i < x.length; i++) {
86
+ const key = JSON.stringify(x[i]);
87
+ if (seen.has(key))
88
+ return err(`expected all array elements to be unique`, [
89
+ ...path,
90
+ i,
91
+ ]);
92
+ seen.add(key);
93
+ }
94
+ }
48
95
  return ok();
49
96
  }
50
97
  case "mapping": {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shapedef",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "description": "",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",
@@ -13,6 +13,13 @@ export type UnionToIntersection<union> =
13
13
 
14
14
  export type IsUnion<a> = [a] extends [UnionToIntersection<a>] ? false : true;
15
15
 
16
+ export type IsTuple<T> =
17
+ T extends readonly any[] ?
18
+ number extends T["length"] ?
19
+ false
20
+ : true
21
+ : false;
22
+
16
23
  export type UnionToTuple<union, output extends any[] = []> =
17
24
  UnionToIntersection<union extends any ? (t: union) => union : never> extends (
18
25
  (_: any) => infer elem
package/src/shape.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  import { has, isPlainObject } from "./common";
2
- import { Prettify, TupleOf } from "./common/types";
2
+ import {
3
+ IsTuple,
4
+ IsUnion,
5
+ Prettify,
6
+ TupleOf,
7
+ UnionToTuple,
8
+ } from "./common/types";
3
9
  import { Phantom, PhantomIgnore } from "./phantom";
4
10
 
5
11
  export const ShapeBrandSymbol = Symbol("Shape");
@@ -16,7 +22,7 @@ export type ShapeAnnotation = {
16
22
  max?: number;
17
23
  format?: string;
18
24
  pattern?: string;
19
- uniqueWithin?: boolean;
25
+ uniqueWithin?: boolean; // For example if all elements in an array should be unique
20
26
  defaultValue?: any;
21
27
  foreign?: {
22
28
  shapeName: string;
@@ -37,6 +43,38 @@ export type LooseShape = {
37
43
  export type OutputOfShape<T> =
38
44
  [T] extends [LooseShape] ? T["__phantom"]["out"] : never;
39
45
 
46
+ type _TupleToShapes<T extends readonly any[]> =
47
+ T extends [] ? []
48
+ : T extends [infer H, ...infer Rest extends readonly any[]] ?
49
+ [_ToShape<H>, ..._TupleToShapes<Rest>]
50
+ : Shape[];
51
+
52
+ export type _ToShape<
53
+ U,
54
+ T extends Exclude<U, undefined> = Exclude<U, undefined>,
55
+ > =
56
+ [T] extends [Shape] ? T
57
+ : IsUnion<T> extends true ?
58
+ UnionToTuple<T> extends infer Tup extends readonly any[] ?
59
+ ShapeUnion<_TupleToShapes<Tup>>
60
+ : ShapeUnknown
61
+ : IsTuple<T> extends true ?
62
+ T extends [infer H, ...infer Rest extends readonly any[]] ?
63
+ ShapeTuple<[_ToShape<H>, ..._TupleToShapes<Rest>]>
64
+ : ShapeUnknown
65
+ : [T] extends [Array<infer A>] ? ShapeArray<_ToShape<A>>
66
+ : [T] extends [Date] ? ShapeDate
67
+ : [T] extends [null] ? ShapeNil
68
+ : [T] extends [string] ? ShapeStr
69
+ : [T] extends [number] ? ShapeNumber
70
+ : [T] extends [boolean] ? ShapeBool
71
+ : [T] extends [Record<string, any>] ?
72
+ ShapeMapping<{ [P in keyof T & string]: _ToShape<T[P]> }>
73
+ : ShapeUnknown;
74
+
75
+ export type ToShape<T> =
76
+ [_ToShape<T>] extends [infer S extends Shape] ? S : ShapeUnknown;
77
+
40
78
  export type AnnoOfShape<T> = [T] extends [LooseShape] ? T["anno"] : never;
41
79
 
42
80
  export type ShapeIsOptional<T> =
@@ -1,10 +1,11 @@
1
1
  import { mkpad } from "../common/padding";
2
- import { Shape, shapes } from "../shape";
2
+ import { Shape, shapes, ShapeUnion } from "../shape";
3
3
  import { ShapeCollection } from "../shape-collection";
4
4
  import { getShapeDeps } from "../shape-utils";
5
5
 
6
6
  export type TypescriptOptions = {
7
7
  preferInterfaces?: boolean;
8
+ enableTypeAliases?: boolean;
8
9
  };
9
10
 
10
11
  type Context = {
@@ -15,9 +16,74 @@ type Context = {
15
16
 
16
17
  const incDepth = (ctx: Context): Context => ({ ...ctx, depth: ctx.depth + 1 });
17
18
 
19
+ //////////////////////////////////////////
20
+
21
+ type Analytics = {
22
+ namedUnions: Map<string, ShapeUnion>;
23
+ };
24
+
25
+ const createAnalytics = (): Analytics => {
26
+ return {
27
+ namedUnions: new Map(),
28
+ };
29
+ };
30
+
31
+ const mergeAnalytics = (a: Analytics, b: Analytics) => {
32
+ for (const [k, v] of Array.from(b.namedUnions.entries())) {
33
+ a.namedUnions.set(k, v);
34
+ }
35
+ };
36
+
37
+ const analyze = (shape: Shape, ctx: Context): Analytics => {
38
+ const analytics = createAnalytics();
39
+
40
+ switch (shape.type) {
41
+ case "mapping":
42
+ {
43
+ for (const item of Object.values(shape.rec)) {
44
+ mergeAnalytics(analytics, analyze(item, incDepth(ctx)));
45
+ }
46
+ }
47
+ break;
48
+ case "array":
49
+ {
50
+ mergeAnalytics(analytics, analyze(shape.item, incDepth(ctx)));
51
+ }
52
+ break;
53
+ case "tuple":
54
+ {
55
+ for (const item of shape.tup) {
56
+ mergeAnalytics(analytics, analyze(item, incDepth(ctx)));
57
+ }
58
+ }
59
+ break;
60
+ case "union":
61
+ {
62
+ if (
63
+ ctx.depth > 0 &&
64
+ shape.anno.name &&
65
+ !shape.anno.name.includes(" ")
66
+ ) {
67
+ analytics.namedUnions.set(shape.anno.name, shape);
68
+ }
69
+ for (const item of shape.ofs) {
70
+ mergeAnalytics(analytics, analyze(item, incDepth(ctx)));
71
+ }
72
+ }
73
+ break;
74
+ }
75
+
76
+ return analytics;
77
+ };
78
+
79
+ //////////////////////////////////////////
80
+
18
81
  const maybeTypeAlias = (shape: Shape, ctx: Context, out: string): string => {
19
- if (ctx.depth > 0) return out;
82
+ if (ctx.options.enableTypeAliases === false) return out;
20
83
  const name = shape.anno.name || shape.anno.title;
84
+ if (ctx.depth > 0) {
85
+ return out;
86
+ }
21
87
  if (name && !name.includes(" ")) return `export type ${name} = ${out}`;
22
88
  return out;
23
89
  };
@@ -162,12 +228,34 @@ export const typescriptCollection = (
162
228
  ) => {
163
229
  const { summaryName = "Schema" } = options;
164
230
 
231
+ const analytics = createAnalytics();
232
+
165
233
  const items = Array.from(collection.values()).toSorted((a, b) => {
166
234
  const depsA = getShapeDeps(a);
167
235
  const depsB = getShapeDeps(b);
168
236
  return depsA.length - depsB.length;
169
237
  });
170
238
 
239
+ for (const item of items) {
240
+ mergeAnalytics(analytics, analyze(item, { depth: 0, padding: 0, options }));
241
+ }
242
+
243
+ const exportedAliases = Array.from(analytics.namedUnions.entries())
244
+ .map(([k, v]) => {
245
+ const parts: string[] = [];
246
+ const ofs = v.ofs;
247
+ if (ofs.every((x) => x.type === "literal-str")) {
248
+ parts.push(
249
+ `export const ${k}_values = [${ofs.map((x) => '"' + x.value + '"').join(", ")}] as const`,
250
+ );
251
+ }
252
+
253
+ const str = typescript(v, { ...options, enableTypeAliases: false });
254
+ parts.push(`export type ${k} = ${str}`);
255
+ return parts.join(";\n");
256
+ })
257
+ .join(";\n");
258
+
171
259
  const rec = shapes.mapping(
172
260
  Object.fromEntries(
173
261
  items.map((s) => [s.anno.name || "?", shapes.ref(s.anno.name || "?")]),
@@ -175,9 +263,10 @@ export const typescriptCollection = (
175
263
  );
176
264
 
177
265
  const tsContent = [
266
+ exportedAliases,
178
267
  items.map((s) => typescript(s, options)).join("\n"),
179
268
  `export type ${summaryName} = ${typescript(rec, options)};`,
180
- ].join("\n");
269
+ ].join(";\n");
181
270
 
182
271
  return tsContent;
183
272
  };
@@ -176,4 +176,59 @@ describe("validate", (it) => {
176
176
  ok: false,
177
177
  });
178
178
  });
179
+
180
+ it("validates str with min/max length", () => {
181
+ const shape = annotate.by(shapes.str(), { min: 2, max: 5 });
182
+ expect(validate("hi", shape)).toEqual({ ok: true });
183
+ expect(validate("hello", shape)).toEqual({ ok: true });
184
+ expect(validate("a", shape)).toMatchObject({ ok: false });
185
+ expect(validate("toolong", shape)).toMatchObject({ ok: false });
186
+ });
187
+
188
+ it("validates str with pattern", () => {
189
+ const shape = annotate.by(shapes.str(), { pattern: "^\\d+$" });
190
+ expect(validate("123", shape)).toEqual({ ok: true });
191
+ expect(validate("abc", shape)).toMatchObject({ ok: false });
192
+ });
193
+
194
+ it("validates int with min/max", () => {
195
+ const shape = annotate.by(shapes.int(), { min: 1, max: 10 });
196
+ expect(validate(1, shape)).toEqual({ ok: true });
197
+ expect(validate(10, shape)).toEqual({ ok: true });
198
+ expect(validate(0, shape)).toMatchObject({ ok: false });
199
+ expect(validate(11, shape)).toMatchObject({ ok: false });
200
+ });
201
+
202
+ it("validates float with min/max", () => {
203
+ const shape = annotate.by(shapes.float(), { min: 0.5, max: 1.5 });
204
+ expect(validate(1.1, shape)).toEqual({ ok: true });
205
+ expect(validate(0.4, shape)).toMatchObject({ ok: false });
206
+ expect(validate(1.6, shape)).toMatchObject({ ok: false });
207
+ });
208
+
209
+ it("validates number with min/max", () => {
210
+ const shape = annotate.by(shapes.number(), { min: 0, max: 100 });
211
+ expect(validate(0, shape)).toEqual({ ok: true });
212
+ expect(validate(50.5, shape)).toEqual({ ok: true });
213
+ expect(validate(100, shape)).toEqual({ ok: true });
214
+ expect(validate(-1, shape)).toMatchObject({ ok: false });
215
+ expect(validate(101, shape)).toMatchObject({ ok: false });
216
+ });
217
+
218
+ it("validates array with min/max length", () => {
219
+ const shape = annotate.by(shapes.array(shapes.int()), { min: 1, max: 3 });
220
+ expect(validate([1], shape)).toEqual({ ok: true });
221
+ expect(validate([1, 2, 3], shape)).toEqual({ ok: true });
222
+ expect(validate([], shape)).toMatchObject({ ok: false });
223
+ expect(validate([1, 2, 3, 4], shape)).toMatchObject({ ok: false });
224
+ });
225
+
226
+ it("validates array with uniqueWithin", () => {
227
+ const shape = annotate.by(shapes.array(shapes.int()), {
228
+ uniqueWithin: true,
229
+ });
230
+ expect(validate([1, 2, 3], shape)).toEqual({ ok: true });
231
+ expect(validate([], shape)).toEqual({ ok: true });
232
+ expect(validate([1, 2, 1], shape)).toMatchObject({ ok: false, path: [2] });
233
+ });
179
234
  });
package/src/validation.ts CHANGED
@@ -44,24 +44,50 @@ export function validate(x: unknown, shape: Shape): ValidationResult {
44
44
  `expected literal ${shape.value}`,
45
45
  path,
46
46
  );
47
- case "str":
48
- return maybe(typeof x === "string", "expected a string", path);
47
+ case "str": {
48
+ if (typeof x !== "string") return err("expected a string", path);
49
+ if (shape.anno.min !== undefined && x.length < shape.anno.min)
50
+ return err(`expected string length >= ${shape.anno.min}`, path);
51
+ if (shape.anno.max !== undefined && x.length > shape.anno.max)
52
+ return err(`expected string length <= ${shape.anno.max}`, path);
53
+ if (
54
+ shape.anno.pattern !== undefined &&
55
+ !new RegExp(shape.anno.pattern).test(x)
56
+ )
57
+ return err(
58
+ `expected string to match pattern /${shape.anno.pattern}/`,
59
+ path,
60
+ );
61
+ return ok();
62
+ }
49
63
  case "bool":
50
64
  return maybe(typeof x === "boolean", "expected a boolean", path);
51
- case "int":
52
- return maybe(
53
- typeof x === "number" && Number.isInteger(x),
54
- "expected an integer",
55
- path,
56
- );
57
- case "float":
58
- return maybe(
59
- typeof x === "number" && !Number.isInteger(x),
60
- "expected a float",
61
- path,
62
- );
63
- case "number":
64
- return maybe(typeof x === "number", "expected a number", path);
65
+ case "int": {
66
+ if (!(typeof x === "number" && Number.isInteger(x)))
67
+ return err("expected an integer", path);
68
+ if (shape.anno.min !== undefined && x < shape.anno.min)
69
+ return err(`expected value >= ${shape.anno.min}`, path);
70
+ if (shape.anno.max !== undefined && x > shape.anno.max)
71
+ return err(`expected value <= ${shape.anno.max}`, path);
72
+ return ok();
73
+ }
74
+ case "float": {
75
+ if (!(typeof x === "number" && !Number.isInteger(x)))
76
+ return err("expected a float", path);
77
+ if (shape.anno.min !== undefined && x < shape.anno.min)
78
+ return err(`expected value >= ${shape.anno.min}`, path);
79
+ if (shape.anno.max !== undefined && x > shape.anno.max)
80
+ return err(`expected value <= ${shape.anno.max}`, path);
81
+ return ok();
82
+ }
83
+ case "number": {
84
+ if (typeof x !== "number") return err("expected a number", path);
85
+ if (shape.anno.min !== undefined && x < shape.anno.min)
86
+ return err(`expected value >= ${shape.anno.min}`, path);
87
+ if (shape.anno.max !== undefined && x > shape.anno.max)
88
+ return err(`expected value <= ${shape.anno.max}`, path);
89
+ return ok();
90
+ }
65
91
  case "nil":
66
92
  return maybe(x === null, "expected null", path);
67
93
  case "date":
@@ -70,11 +96,27 @@ export function validate(x: unknown, shape: Shape): ValidationResult {
70
96
  return ok();
71
97
  case "array": {
72
98
  if (!Array.isArray(x)) return err("expected an array", path);
99
+ if (shape.anno.min !== undefined && x.length < shape.anno.min)
100
+ return err(`expected array length >= ${shape.anno.min}`, path);
101
+ if (shape.anno.max !== undefined && x.length > shape.anno.max)
102
+ return err(`expected array length <= ${shape.anno.max}`, path);
73
103
  for (let i = 0; i < x.length; i++) {
74
104
  const item = x[i];
75
105
  const result = check(item, shape.item, [...path, i]);
76
106
  if (!result.ok) return result;
77
107
  }
108
+ if (shape.anno.uniqueWithin) {
109
+ const seen = new Set<string>();
110
+ for (let i = 0; i < x.length; i++) {
111
+ const key = JSON.stringify(x[i]);
112
+ if (seen.has(key))
113
+ return err(`expected all array elements to be unique`, [
114
+ ...path,
115
+ i,
116
+ ]);
117
+ seen.add(key);
118
+ }
119
+ }
78
120
  return ok();
79
121
  }
80
122
  case "mapping": {