shapedef 1.0.27 → 1.0.29
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/array.d.ts +6 -0
- package/dist/cjs/common/array.d.ts.map +1 -0
- package/dist/cjs/common/array.js +30 -0
- package/dist/cjs/common/array.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/shape-utils.d.ts +0 -1
- package/dist/cjs/shape-utils.d.ts.map +1 -1
- package/dist/cjs/shape-utils.js +1 -38
- package/dist/cjs/shape-utils.js.map +1 -1
- package/dist/cjs/shape.d.ts +9 -2
- package/dist/cjs/shape.d.ts.map +1 -1
- package/dist/cjs/shape.js +27 -2
- package/dist/cjs/shape.js.map +1 -1
- package/dist/cjs/simplify.d.ts +3 -0
- package/dist/cjs/simplify.d.ts.map +1 -0
- package/dist/cjs/simplify.js +55 -0
- package/dist/cjs/simplify.js.map +1 -0
- package/dist/cjs/strip.d.ts +3 -0
- package/dist/cjs/strip.d.ts.map +1 -0
- package/dist/cjs/strip.js +30 -0
- package/dist/cjs/strip.js.map +1 -0
- package/dist/cjs/translations/postgres.d.ts.map +1 -1
- package/dist/cjs/translations/postgres.js +15 -6
- package/dist/cjs/translations/postgres.js.map +1 -1
- package/dist/cjs/translations/typescript.d.ts.map +1 -1
- package/dist/cjs/translations/typescript.js +2 -0
- package/dist/cjs/translations/typescript.js.map +1 -1
- package/dist/cjs/validation.d.ts.map +1 -1
- package/dist/cjs/validation.js +10 -0
- package/dist/cjs/validation.js.map +1 -1
- package/dist/esm/common/array.d.ts +6 -0
- package/dist/esm/common/array.d.ts.map +1 -0
- package/dist/esm/common/array.js +30 -0
- package/dist/esm/common/array.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/shape-utils.d.ts +0 -1
- package/dist/esm/shape-utils.d.ts.map +1 -1
- package/dist/esm/shape-utils.js +1 -38
- package/dist/esm/shape-utils.js.map +1 -1
- package/dist/esm/shape.d.ts +9 -2
- package/dist/esm/shape.d.ts.map +1 -1
- package/dist/esm/shape.js +27 -2
- package/dist/esm/shape.js.map +1 -1
- package/dist/esm/simplify.d.ts +3 -0
- package/dist/esm/simplify.d.ts.map +1 -0
- package/dist/esm/simplify.js +55 -0
- package/dist/esm/simplify.js.map +1 -0
- package/dist/esm/strip.d.ts +3 -0
- package/dist/esm/strip.d.ts.map +1 -0
- package/dist/esm/strip.js +30 -0
- package/dist/esm/strip.js.map +1 -0
- package/dist/esm/translations/postgres.d.ts.map +1 -1
- package/dist/esm/translations/postgres.js +15 -6
- package/dist/esm/translations/postgres.js.map +1 -1
- package/dist/esm/translations/typescript.d.ts.map +1 -1
- package/dist/esm/translations/typescript.js +2 -0
- package/dist/esm/translations/typescript.js.map +1 -1
- package/dist/esm/validation.d.ts.map +1 -1
- package/dist/esm/validation.js +10 -0
- package/dist/esm/validation.js.map +1 -1
- package/package.json +1 -1
- package/src/common/array.ts +28 -0
- package/src/index.ts +2 -0
- package/src/shape-utils.ts +0 -42
- package/src/shape.ts +38 -2
- package/src/simplify.ts +64 -0
- package/src/strip.ts +27 -0
- package/src/translations/postgres.test.ts +24 -0
- package/src/translations/postgres.ts +21 -5
- package/src/translations/typescript.ts +2 -0
- package/src/validation.ts +8 -0
|
@@ -131,6 +131,8 @@ const ts = (shape, ctx) => {
|
|
|
131
131
|
return `[${shape.tup.map((x) => ts(x, incDepth(ctx))).join(", ")}]`;
|
|
132
132
|
case "union":
|
|
133
133
|
return maybeTypeAlias(shape, ctx, Array.from(new Set(shape.ofs.map((x) => ts(x, incDepth(ctx))))).join(" | "));
|
|
134
|
+
case "record":
|
|
135
|
+
return `Record<string, ${ts(shape.value, incDepth(ctx))}>`;
|
|
134
136
|
case "mapping": {
|
|
135
137
|
const parts = [];
|
|
136
138
|
const members = [];
|
|
@@ -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,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAEzD,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,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAEzD,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,CA6JnE;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"}
|
package/dist/esm/validation.js
CHANGED
|
@@ -111,6 +111,16 @@ function validate(x, shape) {
|
|
|
111
111
|
}
|
|
112
112
|
return ok();
|
|
113
113
|
}
|
|
114
|
+
case "record": {
|
|
115
|
+
if (!(0, common_1.isPlainObject)(x))
|
|
116
|
+
return err("expected a plain object", path);
|
|
117
|
+
for (const [k, v] of Object.entries(x)) {
|
|
118
|
+
const result = check(v, shape.value, [...path, k]);
|
|
119
|
+
if (!result.ok)
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
return ok();
|
|
123
|
+
}
|
|
114
124
|
case "ref":
|
|
115
125
|
return err(`cannot validate ref`, path);
|
|
116
126
|
case "tuple": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":";;AA6BA,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const range = (n: number): Array<number> =>
|
|
2
|
+
n <= 0 ? [] : Array.from(Array(Math.floor(n)).keys());
|
|
3
|
+
|
|
4
|
+
export const enumerate = <T>(arr: T[]): Array<[number, T]> => {
|
|
5
|
+
return arr.map((v, i) => [i, v]);
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const zipMin = <A, B>(a: A[], b: B[]): Array<[A, B]> => {
|
|
9
|
+
const length = Math.min(a.length, b.length);
|
|
10
|
+
return range(length).map((i) => [a[i]!, b[i]!]);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const unique = <T>(arr: T[]): T[] => {
|
|
14
|
+
return Array.from(new Set<T>(arr));
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const uniqueBy = <T, KV = string>(
|
|
18
|
+
arr: T[],
|
|
19
|
+
key: (item: T) => KV,
|
|
20
|
+
): T[] => {
|
|
21
|
+
const lookup = new Set();
|
|
22
|
+
return arr.filter((x) => {
|
|
23
|
+
const id = key(x);
|
|
24
|
+
if (lookup.has(id)) return false;
|
|
25
|
+
lookup.add(id);
|
|
26
|
+
return true;
|
|
27
|
+
});
|
|
28
|
+
};
|
package/src/index.ts
CHANGED
package/src/shape-utils.ts
CHANGED
|
@@ -1,50 +1,8 @@
|
|
|
1
|
-
import { TupleOf } from "./common";
|
|
2
1
|
import { Shape, ShapeRef, shapes } from "./shape";
|
|
3
2
|
|
|
4
3
|
export const shapeCompare = (a: Shape, b: Shape): boolean =>
|
|
5
4
|
JSON.stringify(a) === JSON.stringify(b);
|
|
6
5
|
|
|
7
|
-
export const simplifyShape = (shape: Shape): Shape => {
|
|
8
|
-
switch (shape.type) {
|
|
9
|
-
case "union": {
|
|
10
|
-
const lookup = new Map<string, number>(
|
|
11
|
-
shape.ofs.map((s, i) => [JSON.stringify(s), i]),
|
|
12
|
-
);
|
|
13
|
-
if (lookup.size === 1)
|
|
14
|
-
return {
|
|
15
|
-
...shape,
|
|
16
|
-
ofs: [simplifyShape(shape.ofs[0]!)],
|
|
17
|
-
};
|
|
18
|
-
return {
|
|
19
|
-
...shape,
|
|
20
|
-
ofs: [...shape.ofs.map((x) => simplifyShape(x))],
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
case "array": {
|
|
24
|
-
return {
|
|
25
|
-
...shape,
|
|
26
|
-
item: simplifyShape(shape.item),
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
case "tuple": {
|
|
30
|
-
return {
|
|
31
|
-
...shape,
|
|
32
|
-
tup: [...shape.tup.map((x) => simplifyShape(x))] as TupleOf<Shape>,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
case "mapping": {
|
|
36
|
-
return {
|
|
37
|
-
...shape,
|
|
38
|
-
rec: Object.fromEntries(
|
|
39
|
-
Object.entries(shape.rec).map(([k, v]) => [k, simplifyShape(v)]),
|
|
40
|
-
),
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
default:
|
|
44
|
-
return shape;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
|
|
48
6
|
export const getShapeDeps = (shape: Shape): ShapeRef[] => {
|
|
49
7
|
const deps: Map<string, ShapeRef> = new Map();
|
|
50
8
|
|
package/src/shape.ts
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
import { Phantom, PhantomIgnore } from "./phantom";
|
|
10
10
|
import { is } from "./validation";
|
|
11
11
|
|
|
12
|
-
export const ShapeBrandSymbol =
|
|
12
|
+
export const ShapeBrandSymbol = "Shape" as const;
|
|
13
13
|
export type ShapeBrandSymbol = typeof ShapeBrandSymbol;
|
|
14
14
|
|
|
15
15
|
export type ShapeAnnotation = {
|
|
@@ -178,6 +178,13 @@ export interface ShapeMapping<
|
|
|
178
178
|
};
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
+
export interface ShapeRecord<
|
|
182
|
+
Value extends Shape = Shape,
|
|
183
|
+
> extends ShapeBase<"record"> {
|
|
184
|
+
value: Value;
|
|
185
|
+
__phantom: { out: Record<string, OutputOfShape<Value>> };
|
|
186
|
+
}
|
|
187
|
+
|
|
181
188
|
export interface ShapeVector<
|
|
182
189
|
Dims extends number = number,
|
|
183
190
|
> extends ShapeWithOutput<"vector", number[]> {
|
|
@@ -208,6 +215,7 @@ export type Shape =
|
|
|
208
215
|
| ShapeRef
|
|
209
216
|
| ShapeArray
|
|
210
217
|
| ShapeMapping
|
|
218
|
+
| ShapeRecord
|
|
211
219
|
| ShapeTuple
|
|
212
220
|
| ShapeVector
|
|
213
221
|
| ShapeUnion;
|
|
@@ -422,6 +430,17 @@ export namespace shapes {
|
|
|
422
430
|
};
|
|
423
431
|
}
|
|
424
432
|
|
|
433
|
+
export function record<Value extends Shape>(
|
|
434
|
+
value: Value,
|
|
435
|
+
): ShapeRecord<Value> {
|
|
436
|
+
return {
|
|
437
|
+
type: "record",
|
|
438
|
+
value: value,
|
|
439
|
+
anno: {},
|
|
440
|
+
...createPhantom(),
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
|
|
425
444
|
export function vector<Dims extends number>(dims: Dims): ShapeVector<Dims> {
|
|
426
445
|
return {
|
|
427
446
|
type: "vector",
|
|
@@ -465,7 +484,8 @@ export namespace shapes {
|
|
|
465
484
|
if (Array.isArray(x)) {
|
|
466
485
|
if (x.length <= 0) return shapes.array(shapes.unknown());
|
|
467
486
|
if (x.length === 1) return shapes.array(auto(x[0], options));
|
|
468
|
-
const types = new Set(x.map((v) =>
|
|
487
|
+
const types = new Set(x.map((v) => JSON.stringify(auto(v, options))));
|
|
488
|
+
|
|
469
489
|
return shapes.array(
|
|
470
490
|
types.size === 1 ?
|
|
471
491
|
auto(x[0], options)
|
|
@@ -592,6 +612,22 @@ export namespace shapes {
|
|
|
592
612
|
};
|
|
593
613
|
}),
|
|
594
614
|
);
|
|
615
|
+
case "record": {
|
|
616
|
+
let rec: Record<string, unknown> = {};
|
|
617
|
+
if (isPlainObject(x)) {
|
|
618
|
+
rec = x;
|
|
619
|
+
} else if (typeof x === "string") {
|
|
620
|
+
const trimmed = x.trim();
|
|
621
|
+
if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
|
|
622
|
+
try {
|
|
623
|
+
rec = JSON.parse(x) as Record<string, unknown>;
|
|
624
|
+
} catch {}
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
return Object.fromEntries(
|
|
628
|
+
Object.entries(rec).map(([k, v]) => [k, convert(v, shape.value)]),
|
|
629
|
+
);
|
|
630
|
+
}
|
|
595
631
|
}
|
|
596
632
|
};
|
|
597
633
|
|
package/src/simplify.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { annotate, Shape, ShapeMapping, shapes } from "./shape";
|
|
2
|
+
import { unique, uniqueBy } from "./common/array";
|
|
3
|
+
import { stripShape } from "./strip";
|
|
4
|
+
|
|
5
|
+
const idOf = (s: Shape): string => JSON.stringify(stripShape(s));
|
|
6
|
+
|
|
7
|
+
const mergeMappings = (ms: ShapeMapping[]): Shape => {
|
|
8
|
+
const keys = unique(ms.flatMap((m) => Object.keys(m.rec)));
|
|
9
|
+
const rec = Object.fromEntries(
|
|
10
|
+
keys.map((k) => {
|
|
11
|
+
const variants = ms.filter((m) => k in m.rec).map((m) => m.rec[k]!);
|
|
12
|
+
const merged = mergeAll(variants);
|
|
13
|
+
return [
|
|
14
|
+
k,
|
|
15
|
+
variants.length < ms.length ? annotate.optional(merged) : merged,
|
|
16
|
+
];
|
|
17
|
+
}),
|
|
18
|
+
);
|
|
19
|
+
return shapes.mapping(rec);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const mergeAll = (items: Shape[]): Shape => {
|
|
23
|
+
const flat = items
|
|
24
|
+
.flatMap((it) => (it.type === "union" ? it.ofs : [it]))
|
|
25
|
+
.map(simp);
|
|
26
|
+
const deduped = uniqueBy(flat, idOf);
|
|
27
|
+
const survivors =
|
|
28
|
+
deduped.length > 1 ? deduped.filter((s) => s.type !== "unknown") : deduped;
|
|
29
|
+
|
|
30
|
+
if (survivors.length === 0) return shapes.unknown();
|
|
31
|
+
if (survivors.length === 1) return survivors[0]!;
|
|
32
|
+
|
|
33
|
+
const mappings = survivors.filter(
|
|
34
|
+
(s): s is ShapeMapping => s.type === "mapping",
|
|
35
|
+
);
|
|
36
|
+
const others = survivors.filter((s) => s.type !== "mapping");
|
|
37
|
+
if (mappings.length < 2) return shapes.union(...survivors);
|
|
38
|
+
const merged = mergeMappings(mappings);
|
|
39
|
+
return others.length === 0 ? merged : shapes.union(merged, ...others);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const isIdentifier = (k: string): boolean => /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(k);
|
|
43
|
+
|
|
44
|
+
const simp = (s: Shape): Shape => {
|
|
45
|
+
if (s.type === "array")
|
|
46
|
+
return annotate.by(shapes.array(simp(s.item)), s.anno);
|
|
47
|
+
if (s.type === "union") return mergeAll(s.ofs);
|
|
48
|
+
if (s.type === "record")
|
|
49
|
+
return annotate.by(shapes.record(simp(s.value)), s.anno);
|
|
50
|
+
if (s.type === "mapping") {
|
|
51
|
+
const keys = Object.keys(s.rec);
|
|
52
|
+
if (keys.length >= 2 && !keys.every(isIdentifier))
|
|
53
|
+
return annotate.by(shapes.record(mergeAll(Object.values(s.rec))), s.anno);
|
|
54
|
+
return annotate.by(
|
|
55
|
+
shapes.mapping(
|
|
56
|
+
Object.fromEntries(Object.entries(s.rec).map(([k, v]) => [k, simp(v)])),
|
|
57
|
+
),
|
|
58
|
+
s.anno,
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
return s;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export const simplify = (s: Shape): Shape => simp(s);
|
package/src/strip.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { isPlainObject } from "./common";
|
|
2
|
+
import { isShape, Shape, ShapeBrandSymbol } from "./shape";
|
|
3
|
+
|
|
4
|
+
export const stripShape = (s: unknown | Shape): unknown => {
|
|
5
|
+
if (typeof s === "undefined" || s === null) return s;
|
|
6
|
+
if (typeof s === "string" || typeof s === "number" || typeof s === "boolean")
|
|
7
|
+
return s;
|
|
8
|
+
|
|
9
|
+
if (Array.isArray(s)) return s.map((v) => stripShape(v));
|
|
10
|
+
|
|
11
|
+
if (isPlainObject(s) || isShape(s)) {
|
|
12
|
+
const obj: Record<string, unknown> = JSON.parse(JSON.stringify(s));
|
|
13
|
+
const out: Record<string, unknown> = {};
|
|
14
|
+
|
|
15
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
16
|
+
if (k === "__phantom" || k === ShapeBrandSymbol) continue;
|
|
17
|
+
if (k === "anno" && isPlainObject(v)) {
|
|
18
|
+
if (Object.keys(v).length <= 0) continue;
|
|
19
|
+
}
|
|
20
|
+
out[k] = stripShape(v);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return out;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return s;
|
|
27
|
+
};
|
|
@@ -249,6 +249,30 @@ describe("postgres", (it) => {
|
|
|
249
249
|
);
|
|
250
250
|
});
|
|
251
251
|
|
|
252
|
+
it("generates composite PRIMARY KEY constraint for multiple primary keys", () => {
|
|
253
|
+
expect(
|
|
254
|
+
postgres(
|
|
255
|
+
annotate.named(
|
|
256
|
+
shapes.mapping({
|
|
257
|
+
tenant_id: annotate.primary(shapes.int()),
|
|
258
|
+
user_id: annotate.primary(shapes.int()),
|
|
259
|
+
name: shapes.str(),
|
|
260
|
+
}),
|
|
261
|
+
"TenantUser",
|
|
262
|
+
),
|
|
263
|
+
),
|
|
264
|
+
).toBe(
|
|
265
|
+
[
|
|
266
|
+
`CREATE TABLE IF NOT EXISTS "TenantUser" (`,
|
|
267
|
+
` "tenant_id" INTEGER,`,
|
|
268
|
+
` "user_id" INTEGER,`,
|
|
269
|
+
` "name" TEXT NOT NULL,`,
|
|
270
|
+
` PRIMARY KEY ("tenant_id", "user_id")`,
|
|
271
|
+
`)`,
|
|
272
|
+
].join("\n"),
|
|
273
|
+
);
|
|
274
|
+
});
|
|
275
|
+
|
|
252
276
|
it("returns column type for unnamed mappings", () => {
|
|
253
277
|
expect(postgres(shapes.mapping({ x: shapes.int() }))).toBe("JSONB");
|
|
254
278
|
});
|
|
@@ -51,6 +51,8 @@ const pgType = (shape: Shape): string => {
|
|
|
51
51
|
return `vector(${shape.dims})`;
|
|
52
52
|
case "mapping":
|
|
53
53
|
return "JSONB";
|
|
54
|
+
case "record":
|
|
55
|
+
return "JSONB";
|
|
54
56
|
case "bytes":
|
|
55
57
|
return "BYTEA";
|
|
56
58
|
}
|
|
@@ -61,10 +63,13 @@ const pgColumnDef = (
|
|
|
61
63
|
shape: Shape,
|
|
62
64
|
options: PostgresOptions,
|
|
63
65
|
overrideType?: string,
|
|
66
|
+
skipPrimaryKey?: boolean,
|
|
64
67
|
): string => {
|
|
65
68
|
const parts: string[] = [`"${colName}"`, overrideType ?? pgType(shape)];
|
|
66
69
|
if (shape.anno.primary) {
|
|
67
|
-
|
|
70
|
+
if (!skipPrimaryKey) {
|
|
71
|
+
parts.push("PRIMARY KEY");
|
|
72
|
+
}
|
|
68
73
|
} else if (!shape.anno.optional) {
|
|
69
74
|
parts.push("NOT NULL");
|
|
70
75
|
}
|
|
@@ -102,10 +107,21 @@ export const postgres = (shape: Shape, options: PostgresOptions = {}) => {
|
|
|
102
107
|
}
|
|
103
108
|
}
|
|
104
109
|
|
|
105
|
-
const
|
|
106
|
-
.
|
|
107
|
-
.
|
|
108
|
-
const
|
|
110
|
+
const primaryKeys = Object.entries(shape.rec)
|
|
111
|
+
.filter(([, v]) => v.anno.primary)
|
|
112
|
+
.map(([k]) => k);
|
|
113
|
+
const multiPk = primaryKeys.length > 1;
|
|
114
|
+
|
|
115
|
+
const colLines = Object.entries(shape.rec).map(
|
|
116
|
+
([k, v]) =>
|
|
117
|
+
` ${pgColumnDef(k, v, options, enumTypeNames.get(k), multiPk)}`,
|
|
118
|
+
);
|
|
119
|
+
if (multiPk) {
|
|
120
|
+
colLines.push(
|
|
121
|
+
` PRIMARY KEY (${primaryKeys.map((k) => `"${k}"`).join(", ")})`,
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
const tableStatement = `CREATE TABLE IF NOT EXISTS "${tableName}" (\n${colLines.join(",\n")}\n)`;
|
|
109
125
|
|
|
110
126
|
return enumStatements.length > 0 ?
|
|
111
127
|
[...enumStatements, tableStatement].join(";\n")
|
package/src/validation.ts
CHANGED
|
@@ -133,6 +133,14 @@ export function validate(x: unknown, shape: Shape): ValidationResult {
|
|
|
133
133
|
}
|
|
134
134
|
return ok();
|
|
135
135
|
}
|
|
136
|
+
case "record": {
|
|
137
|
+
if (!isPlainObject(x)) return err("expected a plain object", path);
|
|
138
|
+
for (const [k, v] of Object.entries(x)) {
|
|
139
|
+
const result = check(v, shape.value, [...path, k]);
|
|
140
|
+
if (!result.ok) return result;
|
|
141
|
+
}
|
|
142
|
+
return ok();
|
|
143
|
+
}
|
|
136
144
|
case "ref":
|
|
137
145
|
return err(`cannot validate ref`, path);
|
|
138
146
|
case "tuple": {
|