@workerstack/database 0.21.0 → 0.22.1
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/README.md +243 -40
- package/docs/meta-contract.md +55 -1
- package/package.json +3 -7
- package/src/cli/args.ts +4 -2
- package/src/cli/codegen.ts +2 -2
- package/src/cli/comb-config.ts +8 -3
- package/src/cli/file-path.ts +25 -0
- package/src/cli/migrate-apply.ts +5 -21
- package/src/cli/migrate-d1.ts +5 -1
- package/src/cli/migrate-json.ts +48 -0
- package/src/cli/migrate.ts +26 -4
- package/src/codegen/analyzer-types.ts +6 -1
- package/src/codegen/annotations.ts +66 -9
- package/src/codegen/format-constraints.ts +114 -0
- package/src/codegen/generators/dtos/entity-file.ts +2 -1
- package/src/codegen/generators/dtos/example-meta.ts +22 -2
- package/src/codegen/generators/dtos/field-schema.ts +31 -8
- package/src/codegen/generators/dtos/ip-patterns.ts +25 -11
- package/src/codegen/generators/dtos/number-range.ts +22 -3
- package/src/codegen/generators/dtos/schema-aliases.ts +5 -3
- package/src/codegen/generators/dtos/text-format.ts +63 -0
- package/src/codegen/generators/dtos/text-schema.ts +49 -2
- package/src/codegen/generators/manifest.ts +9 -1
- package/src/codegen/runtime/read-comb.ts +71 -3
- package/src/codegen/runtime/read-tables.ts +31 -19
- package/src/codegen/runtime/snapshot-types.ts +3 -1
- package/src/codegen/runtime/to-meta.ts +6 -3
- package/src/formats/catalog.ts +255 -0
- package/src/formats/iana-time-zone.ts +117 -0
- package/src/formats/iso3166-1.ts +78 -0
- package/src/formats/iso4217.ts +42 -0
- package/src/formats/iso639-1.ts +41 -0
- package/src/formats/uts35.ts +143 -0
- package/src/index.ts +5 -0
- package/src/meta/column.ts +22 -9
- package/src/migrate/core/apply.ts +63 -22
- package/src/migrate/core/atlas-apply-runs.ts +15 -26
- package/src/migrate/core/cleanup.ts +22 -10
- package/src/migrate/core/d1-engine-child.mjs +27 -11
- package/src/migrate/core/d1-history.ts +23 -26
- package/src/migrate/core/d1-wrangler-error.ts +24 -1
- package/src/migrate/core/pg-replay-commit.ts +41 -38
- package/src/migrate/core/pg-replay-drops.ts +17 -32
- package/src/migrate/core/pg-replay-hidden.ts +75 -0
- package/src/migrate/core/pg-replay-roles.ts +2 -4
- package/src/migrate/core/pg-replay.ts +21 -19
- package/src/migrate/core/pg-server-snapshot.ts +4 -24
- package/src/migrate/core/proof-readers.ts +80 -0
- package/src/migrate/core/proof-run.ts +19 -5
- package/src/migrate/core/proof-scope.ts +27 -14
- package/src/migrate/core/sql-code.ts +36 -5
- package/src/migrate/core/sql-scan.ts +7 -1
- package/src/migrate/core/sqlite-keywords.ts +70 -0
- package/src/migrate/core/stopped.ts +70 -0
- package/src/migrate/core/trigger-write.d.mts +7 -0
- package/src/migrate/core/trigger-write.mjs +42 -0
- package/src/pg/columns.ts +6 -4
- package/src/query/cursor-mint.ts +11 -18
- package/src/query/cursor-refusals.ts +22 -11
- package/src/query/descriptions.ts +4 -9
- package/src/query/filter-parse.ts +80 -22
- package/src/query/filter-validate.ts +10 -13
- package/src/query/filter.ts +40 -18
- package/src/query/list-extras.ts +7 -10
- package/src/query/list-schema.ts +0 -2
- package/src/query/merged.ts +3 -2
- package/src/query/pagination.ts +30 -6
- package/src/query/rounded-key.ts +5 -8
- package/src/query/schema-params.ts +12 -5
- package/src/query/select-validate.ts +7 -4
- package/src/query/sqlite/cursor-fit.ts +10 -2
- package/src/query/trusted.ts +7 -2
- package/src/sqlite/columns.ts +6 -4
- package/src/sqlite/constraints.ts +120 -6
- package/types/cli/args.d.ts.map +1 -1
- package/types/cli/comb-config.d.ts +5 -2
- package/types/cli/comb-config.d.ts.map +1 -1
- package/types/cli/file-path.d.ts +11 -0
- package/types/cli/file-path.d.ts.map +1 -0
- package/types/cli/migrate-apply.d.ts +1 -0
- package/types/cli/migrate-apply.d.ts.map +1 -1
- package/types/cli/migrate-d1.d.ts.map +1 -1
- package/types/cli/migrate-json.d.ts +4 -0
- package/types/cli/migrate-json.d.ts.map +1 -0
- package/types/cli/migrate.d.ts.map +1 -1
- package/types/codegen/analyzer-types.d.ts +6 -1
- package/types/codegen/analyzer-types.d.ts.map +1 -1
- package/types/codegen/annotations.d.ts +12 -7
- package/types/codegen/annotations.d.ts.map +1 -1
- package/types/codegen/format-constraints.d.ts +22 -0
- package/types/codegen/format-constraints.d.ts.map +1 -0
- package/types/codegen/generators/dtos/entity-file.d.ts.map +1 -1
- package/types/codegen/generators/dtos/example-meta.d.ts.map +1 -1
- package/types/codegen/generators/dtos/field-schema.d.ts.map +1 -1
- package/types/codegen/generators/dtos/ip-patterns.d.ts +7 -0
- package/types/codegen/generators/dtos/ip-patterns.d.ts.map +1 -1
- package/types/codegen/generators/dtos/number-range.d.ts +8 -0
- package/types/codegen/generators/dtos/number-range.d.ts.map +1 -1
- package/types/codegen/generators/dtos/schema-aliases.d.ts +1 -1
- package/types/codegen/generators/dtos/schema-aliases.d.ts.map +1 -1
- package/types/codegen/generators/dtos/text-format.d.ts +31 -0
- package/types/codegen/generators/dtos/text-format.d.ts.map +1 -0
- package/types/codegen/generators/dtos/text-schema.d.ts +8 -1
- package/types/codegen/generators/dtos/text-schema.d.ts.map +1 -1
- package/types/codegen/generators/manifest.d.ts +5 -0
- package/types/codegen/generators/manifest.d.ts.map +1 -1
- package/types/codegen/runtime/read-comb.d.ts +17 -3
- package/types/codegen/runtime/read-comb.d.ts.map +1 -1
- package/types/codegen/runtime/read-tables.d.ts.map +1 -1
- package/types/codegen/runtime/snapshot-types.d.ts +3 -1
- package/types/codegen/runtime/snapshot-types.d.ts.map +1 -1
- package/types/codegen/runtime/to-meta.d.ts.map +1 -1
- package/types/formats/catalog.d.ts +51 -0
- package/types/formats/catalog.d.ts.map +1 -0
- package/types/formats/iana-time-zone.d.ts +7 -0
- package/types/formats/iana-time-zone.d.ts.map +1 -0
- package/types/formats/iso3166-1.d.ts +12 -0
- package/types/formats/iso3166-1.d.ts.map +1 -0
- package/types/formats/iso4217.d.ts +7 -0
- package/types/formats/iso4217.d.ts.map +1 -0
- package/types/formats/iso639-1.d.ts +6 -0
- package/types/formats/iso639-1.d.ts.map +1 -0
- package/types/formats/uts35.d.ts +13 -0
- package/types/formats/uts35.d.ts.map +1 -0
- package/types/index.d.ts +5 -0
- package/types/index.d.ts.map +1 -1
- package/types/meta/column.d.ts +7 -1
- package/types/meta/column.d.ts.map +1 -1
- package/types/migrate/core/apply.d.ts +3 -2
- package/types/migrate/core/apply.d.ts.map +1 -1
- package/types/migrate/core/atlas-apply-runs.d.ts +6 -0
- package/types/migrate/core/atlas-apply-runs.d.ts.map +1 -1
- package/types/migrate/core/cleanup.d.ts +16 -4
- package/types/migrate/core/cleanup.d.ts.map +1 -1
- package/types/migrate/core/d1-history.d.ts.map +1 -1
- package/types/migrate/core/d1-wrangler-error.d.ts +11 -0
- package/types/migrate/core/d1-wrangler-error.d.ts.map +1 -1
- package/types/migrate/core/pg-replay-commit.d.ts +14 -9
- package/types/migrate/core/pg-replay-commit.d.ts.map +1 -1
- package/types/migrate/core/pg-replay-drops.d.ts +7 -12
- package/types/migrate/core/pg-replay-drops.d.ts.map +1 -1
- package/types/migrate/core/pg-replay-hidden.d.ts +36 -0
- package/types/migrate/core/pg-replay-hidden.d.ts.map +1 -0
- package/types/migrate/core/pg-replay-roles.d.ts +2 -4
- package/types/migrate/core/pg-replay-roles.d.ts.map +1 -1
- package/types/migrate/core/pg-replay.d.ts.map +1 -1
- package/types/migrate/core/pg-server-snapshot.d.ts +4 -11
- package/types/migrate/core/pg-server-snapshot.d.ts.map +1 -1
- package/types/migrate/core/proof-readers.d.ts +19 -0
- package/types/migrate/core/proof-readers.d.ts.map +1 -0
- package/types/migrate/core/proof-run.d.ts.map +1 -1
- package/types/migrate/core/proof-scope.d.ts +15 -7
- package/types/migrate/core/proof-scope.d.ts.map +1 -1
- package/types/migrate/core/sql-code.d.ts +7 -3
- package/types/migrate/core/sql-code.d.ts.map +1 -1
- package/types/migrate/core/sql-scan.d.ts.map +1 -1
- package/types/migrate/core/sqlite-keywords.d.ts +11 -0
- package/types/migrate/core/sqlite-keywords.d.ts.map +1 -0
- package/types/migrate/core/stopped.d.ts +23 -0
- package/types/migrate/core/stopped.d.ts.map +1 -0
- package/types/pg/columns.d.ts +3 -3
- package/types/pg/columns.d.ts.map +1 -1
- package/types/query/cursor-mint.d.ts.map +1 -1
- package/types/query/cursor-refusals.d.ts +17 -1
- package/types/query/cursor-refusals.d.ts.map +1 -1
- package/types/query/descriptions.d.ts +1 -1
- package/types/query/descriptions.d.ts.map +1 -1
- package/types/query/filter-parse.d.ts +15 -4
- package/types/query/filter-parse.d.ts.map +1 -1
- package/types/query/filter-validate.d.ts +1 -1
- package/types/query/filter-validate.d.ts.map +1 -1
- package/types/query/filter.d.ts +9 -1
- package/types/query/filter.d.ts.map +1 -1
- package/types/query/list-extras.d.ts.map +1 -1
- package/types/query/list-schema.d.ts.map +1 -1
- package/types/query/merged.d.ts.map +1 -1
- package/types/query/pagination.d.ts +13 -1
- package/types/query/pagination.d.ts.map +1 -1
- package/types/query/rounded-key.d.ts +2 -11
- package/types/query/rounded-key.d.ts.map +1 -1
- package/types/query/schema-params.d.ts.map +1 -1
- package/types/query/select-validate.d.ts.map +1 -1
- package/types/query/sqlite/cursor-fit.d.ts.map +1 -1
- package/types/query/trusted.d.ts +1 -1
- package/types/query/trusted.d.ts.map +1 -1
- package/types/sqlite/columns.d.ts +3 -3
- package/types/sqlite/columns.d.ts.map +1 -1
- package/types/sqlite/constraints.d.ts +117 -5
- package/types/sqlite/constraints.d.ts.map +1 -1
- package/src/sqlite/patterns.ts +0 -19
- package/types/sqlite/patterns.d.ts +0 -19
- package/types/sqlite/patterns.d.ts.map +0 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A text column's standard format in its DTO: one check that pushes zod's `invalid_format` issue
|
|
3
|
+
* with the format's id and no message, so zod's locale or the consumer's error map words it, and
|
|
4
|
+
* the source and length bounds it holds the value to, published as the format's own. Every format
|
|
5
|
+
* is read from the catalog's spec map alone.
|
|
6
|
+
*/
|
|
7
|
+
import type { FieldConstraints } from "../../annotations.ts";
|
|
8
|
+
import { type FormatSpec, type TextFormat } from "../../../formats/catalog.ts";
|
|
9
|
+
/** A declared text format: its id beside its spec */
|
|
10
|
+
export type DeclaredFormat = {
|
|
11
|
+
id: TextFormat;
|
|
12
|
+
spec: FormatSpec;
|
|
13
|
+
};
|
|
14
|
+
/** The format a text declares; null when it declares none */
|
|
15
|
+
export declare function textFormatOf({ format }: FieldConstraints): DeclaredFormat | null;
|
|
16
|
+
/** A format's source as the regex literal comb builds from it under u, as the manifest states a pattern */
|
|
17
|
+
export declare const sourceLiteral: (source: string) => string;
|
|
18
|
+
/**
|
|
19
|
+
* The format's check and what it publishes: its source as `pattern`, or, beside a declared pattern
|
|
20
|
+
* zod publishes as `pattern` itself (`declaresPattern`), in an `allOf`, and its length bounds
|
|
21
|
+
*/
|
|
22
|
+
export declare function formatCheck({ id, spec }: DeclaredFormat, declaresPattern: boolean): string;
|
|
23
|
+
/** The bounds of `range` the format's own leave to a check of zod's: those tighter than its */
|
|
24
|
+
export declare const tighterBounds: ({ max, min }: {
|
|
25
|
+
max: number | null;
|
|
26
|
+
min: number | null;
|
|
27
|
+
}, spec: FormatSpec) => {
|
|
28
|
+
max: number | null;
|
|
29
|
+
min: number | null;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=text-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-format.d.ts","sourceRoot":"","sources":["../../../../src/codegen/generators/dtos/text-format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAW,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAIvF,qDAAqD;AACrD,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAA;AAMjE,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,cAAc,GAAG,IAAI,CAEhF;AAED,2GAA2G;AAC3G,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,MAAgD,CAAA;AAqB/F;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,GAAG,MAAM,CAI1F;AAED,+FAA+F;AAC/F,eAAO,MAAM,aAAa,iBACX;IAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,QAClD,UAAU,KACd;IAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAGzC,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** The Zod expression of a text column: its kind, transforms and bounds, by schema type. */
|
|
2
1
|
import type { FieldConstraints } from "../../annotations.ts";
|
|
3
2
|
import type { FieldMeta } from "../../analyzer-types.ts";
|
|
4
3
|
import { type Base, type Build } from "./build-types.ts";
|
|
@@ -40,5 +39,13 @@ export type TextRules = TextRange & {
|
|
|
40
39
|
* them. An email's own check is its format, which the manifest's textKind names
|
|
41
40
|
*/
|
|
42
41
|
export declare function textRules(annotations: FieldConstraints, field: FieldMeta): TextRules;
|
|
42
|
+
/**
|
|
43
|
+
* The `allOf` a written text's own chain publishes: the pattern of each of two or more regexes, as
|
|
44
|
+
* zod writes them in the order they are checked, z.email()'s first, or a format's source beside a
|
|
45
|
+
* declared pattern. A schema's `allOf`, written over the chain's, carries these first
|
|
46
|
+
*/
|
|
47
|
+
export declare function chainAllOf(build: Build): Array<{
|
|
48
|
+
pattern: string;
|
|
49
|
+
}>;
|
|
43
50
|
export {};
|
|
44
51
|
//# sourceMappingURL=text-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-schema.d.ts","sourceRoot":"","sources":["../../../../src/codegen/generators/dtos/text-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text-schema.d.ts","sourceRoot":"","sources":["../../../../src/codegen/generators/dtos/text-schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,EAAS,MAAM,kBAAkB,CAAA;AAe/D,wGAAwG;AACxG,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AA0C3D,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAsC,CAAA;AAgC9G,uGAAuG;AACvG,eAAO,MAAM,UAAU,YAAI,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,CAAU,CAAA;AAE1F,8EAA8E;AAC9E,KAAK,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAS5C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,CAS1F;AA0BD;;;GAGG;AACH,eAAO,MAAM,MAAM,WAAY,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAKnF,CAAA;AAiEF,6FAA6F;AAC7F,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAmB3C;AAED,6GAA6G;AAC7G,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE1D;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CASpF;AAKD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CASnE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TableMeta } from "../analyzer-types.ts";
|
|
2
|
+
import type { IntegerFormat, TextFormat } from "../../formats/catalog.ts";
|
|
2
3
|
import type { GeneratorContext } from "./context-types.ts";
|
|
3
4
|
/**
|
|
4
5
|
* Manifest format version.
|
|
@@ -42,6 +43,10 @@ type ManifestColumn = {
|
|
|
42
43
|
min: number | null;
|
|
43
44
|
/** Every regex a written text must match, its kind's and the declared one, as JavaScript regex literals; a plain Postgres type's rule is its `kind` and `sqlType`'s */
|
|
44
45
|
patterns: string[];
|
|
46
|
+
/** The standard format a written value is checked against (`iso4217`, `iso8601-weekday`), by its id; null when the column declares none */
|
|
47
|
+
format: TextFormat | IntegerFormat | null;
|
|
48
|
+
/** The export name of the zod schema a text or number column declares, which a write runs after the column's own rules; null when none, and on a c.json column, whose schema is its value's shape rather than a rule beside it */
|
|
49
|
+
schema: string | null;
|
|
45
50
|
/** A text column's format, null for any other */
|
|
46
51
|
textKind: "email" | "imageUri" | "name" | "password" | "url" | null;
|
|
47
52
|
/** The rewrites a written value takes before `min`, `max` and `patterns` bind it, in order: the DTO's own list (meta-contract §2.1) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/codegen/generators/manifest.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/codegen/generators/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
import type { SnapshotComb } from "./snapshot-types.ts";
|
|
1
|
+
import type { CombColumnMeta } from "../../meta/column.ts";
|
|
2
|
+
import type { ModuleExport, SnapshotComb } from "./snapshot-types.ts";
|
|
3
3
|
declare const STRING_LIST: (value: unknown) => value is string[];
|
|
4
4
|
/** A c helper's constraints as JSON, every value a primitive; an error naming the column otherwise */
|
|
5
5
|
declare function constraintsOf(raw: unknown, at: string): Record<string, boolean | number | string>;
|
|
6
|
+
/** The packages a schema found nowhere might have been in, as its error names them; empty when every module loaded */
|
|
7
|
+
declare const skipped: (unloaded: readonly string[]) => string;
|
|
8
|
+
/**
|
|
9
|
+
* A helper's constraints with its `schema` key read: on a text or number column, taken out for the
|
|
10
|
+
* export that holds it and its input JSON Schema; on any other helper, kept as `true` for the
|
|
11
|
+
* constraint check to refuse. An error naming the column for a value that is no zod schema, and
|
|
12
|
+
* for one no module exports, naming the modules that would not load (`unloaded`)
|
|
13
|
+
*/
|
|
14
|
+
declare function columnSchemaOf(meta: CombColumnMeta, at: string, { locate, unloaded }: {
|
|
15
|
+
locate: (value: unknown) => ModuleExport | null;
|
|
16
|
+
unloaded: readonly string[];
|
|
17
|
+
}): Pick<SnapshotComb, "schema" | "schemaJson"> & {
|
|
18
|
+
constraints: Record<string, unknown>;
|
|
19
|
+
};
|
|
6
20
|
/** What fills a column a write leaves out: a value or SQL default, a default function, an update function */
|
|
7
21
|
type Fill = {
|
|
8
22
|
default?: unknown;
|
|
@@ -27,5 +41,5 @@ declare function refuseJsonDocument(schema: unknown, at: string, { filled, notNu
|
|
|
27
41
|
filled: boolean;
|
|
28
42
|
notNull: boolean;
|
|
29
43
|
}): void;
|
|
30
|
-
export { constraintsOf, refuseJsonDocument, statesOf, STRING_LIST };
|
|
44
|
+
export { columnSchemaOf, constraintsOf, refuseJsonDocument, skipped, statesOf, STRING_LIST };
|
|
31
45
|
//# sourceMappingURL=read-comb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-comb.d.ts","sourceRoot":"","sources":["../../../src/codegen/runtime/read-comb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"read-comb.d.ts","sourceRoot":"","sources":["../../../src/codegen/runtime/read-comb.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAErE,QAAA,MAAM,WAAW,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,EACmB,CAAA;AAExE,sGAAsG;AACtG,iBAAS,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAc1F;AAED,sHAAsH;AACtH,QAAA,MAAM,OAAO,aAAc,SAAS,MAAM,EAAE,KAAG,MACsC,CAAA;AAuCrF;;;;;GAKG;AACH,iBAAS,cAAc,CACtB,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,MAAM,EACV,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,YAAY,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACpG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,YAAY,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAaxF;AAKD,6GAA6G;AAC7G,KAAK,IAAI,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAoB5E;;;GAGG;AACH,iBAAS,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,IAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAyBnF;AAqCD;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CAC1B,MAAM,EAAE,OAAO,EACf,EAAE,EAAE,MAAM,EACV,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACxD,IAAI,CAeN;AAED,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-tables.d.ts","sourceRoot":"","sources":["../../../src/codegen/runtime/read-tables.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EACX,YAAY,EACZ,QAAQ,EAKR,MAAM,qBAAqB,CAAA;AAE5B,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACxC,KAAK,MAAM,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAA;AAEzE,2HAA2H;AAC3H,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,CAcrG;
|
|
1
|
+
{"version":3,"file":"read-tables.d.ts","sourceRoot":"","sources":["../../../src/codegen/runtime/read-tables.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EACX,YAAY,EACZ,QAAQ,EAKR,MAAM,qBAAqB,CAAA;AAE5B,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACxC,KAAK,MAAM,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAA;AAEzE,2HAA2H;AAC3H,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,CAcrG;AAwMD;;;GAGG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,GAAE,SAAS,MAAM,EAAO,GAAG,QAAQ,CAerH;AAqBD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,CAAA"}
|
|
@@ -16,8 +16,10 @@ type SnapshotComb = {
|
|
|
16
16
|
constraints: Record<string, boolean | number | string>;
|
|
17
17
|
kind: string;
|
|
18
18
|
prefix: string | null;
|
|
19
|
-
/** where the exact zod schema a c.json column was given is exported; null when
|
|
19
|
+
/** where the exact zod schema a c.json column, or a text or number column's `schema` key, was given is exported; null when none was given */
|
|
20
20
|
schema: ModuleExport | null;
|
|
21
|
+
/** a text or number column's schema as its input JSON Schema, self-contained (each `$defs` entry inlined) and `$schema` dropped; null on c.json and when undeclared */
|
|
22
|
+
schemaJson: Readonly<Record<string, unknown>> | null;
|
|
21
23
|
states: {
|
|
22
24
|
initial: string | null;
|
|
23
25
|
terminal: string[] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-types.d.ts","sourceRoot":"","sources":["../../../src/codegen/runtime/snapshot-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvE,wGAAwG;AACxG,KAAK,YAAY,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAA;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,
|
|
1
|
+
{"version":3,"file":"snapshot-types.d.ts","sourceRoot":"","sources":["../../../src/codegen/runtime/snapshot-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-meta.d.ts","sourceRoot":"","sources":["../../../src/codegen/runtime/to-meta.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,cAAc,EAOd,MAAM,sBAAsB,CAAA;AAI7B,OAAO,KAAK,EAAgB,QAAQ,EAAiC,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"to-meta.d.ts","sourceRoot":"","sources":["../../../src/codegen/runtime/to-meta.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,cAAc,EAOd,MAAM,sBAAsB,CAAA;AAI7B,OAAO,KAAK,EAAgB,QAAQ,EAAiC,MAAM,qBAAqB,CAAA;AAmOhG,6HAA6H;AAC7H,iBAAS,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAoB1E;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** The ids `c.text` and `c.enum` take as `format`, sorted by code unit */
|
|
2
|
+
export declare const TEXT_FORMATS: readonly ["base64url", "bcp47", "e164", "iana-time-zone", "ip", "ipv4", "ipv6", "iso3166-1-alpha-2", "iso3166-1-alpha-3", "iso4217", "iso639-1", "kebab-slug", "pkce-s256-challenge", "rfc1123-hostname", "semver", "sha256-hex", "sha512-hex", "srgb-hex", "srgb-hex-alpha", "ulid", "uts35-ca", "uts35-fw", "uts35-hc", "uts35-ms", "uts35-mu", "uts35-nu", "uuid", "uuid-v4", "uuid-v7"];
|
|
3
|
+
/** The ids `c.integer` takes as `format`, sorted by code unit */
|
|
4
|
+
export declare const INTEGER_FORMATS: readonly ["iso8601-month", "iso8601-weekday"];
|
|
5
|
+
/** A text format's id */
|
|
6
|
+
export type TextFormat = (typeof TEXT_FORMATS)[number];
|
|
7
|
+
/** An integer format's id */
|
|
8
|
+
export type IntegerFormat = (typeof INTEGER_FORMATS)[number];
|
|
9
|
+
/** The registry predicate a text format's value must also satisfy */
|
|
10
|
+
type Member = "isIanaTimeZone" | "isIso3166Alpha2" | "isIso3166Alpha3" | "isIso4217" | "isIso639Alpha2";
|
|
11
|
+
/** What a text format checks, after its transforms, on the value its DTO is given */
|
|
12
|
+
export type FormatSpec = {
|
|
13
|
+
/** The standard and the release it follows, as a person reads it */
|
|
14
|
+
readonly standard: string;
|
|
15
|
+
/** The anchored pattern the value matches, portable to RE2 and JavaScript's `u` flag */
|
|
16
|
+
readonly source: string;
|
|
17
|
+
/** The fewest characters a value has */
|
|
18
|
+
readonly min: number;
|
|
19
|
+
/** The most characters a value has, or null when the format sets no cap and a column declares one */
|
|
20
|
+
readonly max: number | null;
|
|
21
|
+
/** The transforms that run, in order, before the check */
|
|
22
|
+
readonly transform: readonly ("lowercase" | "trim" | "uppercase")[];
|
|
23
|
+
/** The pinned registry the value must belong to, by its predicate's name, or null when the source is the whole rule */
|
|
24
|
+
readonly member: Member | null;
|
|
25
|
+
/** A value of the format as written, which the format takes and a generated DTO publishes as its example */
|
|
26
|
+
readonly example: string;
|
|
27
|
+
};
|
|
28
|
+
/** The range an integer format's value lies in */
|
|
29
|
+
export type IntegerSpec = {
|
|
30
|
+
/** The standard that numbers the values, as a person reads it */
|
|
31
|
+
readonly standard: string;
|
|
32
|
+
/** The least value */
|
|
33
|
+
readonly min: number;
|
|
34
|
+
/** The greatest value */
|
|
35
|
+
readonly max: number;
|
|
36
|
+
};
|
|
37
|
+
/** Every text format's spec, by id */
|
|
38
|
+
export declare const FORMATS: {
|
|
39
|
+
readonly [F in TextFormat]: FormatSpec;
|
|
40
|
+
};
|
|
41
|
+
/** Every integer format's range, by id */
|
|
42
|
+
export declare const INTEGER_SPECS: {
|
|
43
|
+
readonly [F in IntegerFormat]: IntegerSpec;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Whether `format` takes `value` exactly as written, its transforms not run: within the format's
|
|
47
|
+
* length bounds, matching its source, and a member of its registry when it names one. Never throws.
|
|
48
|
+
*/
|
|
49
|
+
export declare function formatTakes(format: TextFormat, value: string): boolean;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/formats/catalog.ts"],"names":[],"mappings":"AAoBA,0EAA0E;AAC1E,eAAO,MAAM,YAAY,YACxB,WAAW,EACX,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,IAAI,EACJ,MAAM,EACN,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,MAAM,EACN,SAAS,EACT,SAAS,CACA,CAAA;AAEV,iEAAiE;AACjE,eAAO,MAAM,eAAe,YAAI,eAAe,EAAE,iBAAiB,CAAU,CAAA;AAE5E,yBAAyB;AACzB,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD,6BAA6B;AAC7B,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE5D,qEAAqE;AACrE,KAAK,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAA;AAEvG,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG;IACxB,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,wCAAwC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,qGAAqG;IACrG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IACnE,uHAAuH;IACvH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,4GAA4G;IAC5G,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG;IACzB,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,sBAAsB;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACpB,CAAA;AAyID,sCAAsC;AACtC,eAAO,MAAM,OAAO,EAAE;IAAE,QAAQ,EAAE,CAAC,IAAI,UAAU,GAAG,UAAU;CAA4B,CAAA;AAE1F,0CAA0C;AAC1C,eAAO,MAAM,aAAa,EAAE;IAAE,QAAQ,EAAE,CAAC,IAAI,aAAa,GAAG,WAAW;CAGvE,CAAA;AAUD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKtE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether `value` names a time zone of IANA tzdata 2026f, exactly as written: a zone or a link to one, such as
|
|
3
|
+
* Europe/Zagreb, America/Argentina/Buenos_Aires, Etc/GMT+5, UTC or US/Pacific. Case counts, and Factory, a
|
|
4
|
+
* placeholder, is no zone. Any string is taken; this never throws.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isIanaTimeZone(value: string): boolean;
|
|
7
|
+
//# sourceMappingURL=iana-time-zone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iana-time-zone.d.ts","sourceRoot":"","sources":["../../src/formats/iana-time-zone.ts"],"names":[],"mappings":"AA6GA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether `value` is an officially assigned ISO 3166-1 alpha-2 country code, exactly as written: uppercase, such as
|
|
3
|
+
* HR or GB (UK is reserved, not assigned). The codes are those of Debian iso-codes v4.20.1. Any string is taken;
|
|
4
|
+
* this never throws.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isIso3166Alpha2(value: string): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Whether `value` is an officially assigned ISO 3166-1 alpha-3 country code, exactly as written: uppercase, such as
|
|
9
|
+
* HRV or GBR. The codes are those of Debian iso-codes v4.20.1. Any string is taken; this never throws.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isIso3166Alpha3(value: string): boolean;
|
|
12
|
+
//# sourceMappingURL=iso3166-1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso3166-1.d.ts","sourceRoot":"","sources":["../../src/formats/iso3166-1.ts"],"names":[],"mappings":"AA8DA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether `value` is a current ISO 4217 alphabetic currency code, exactly as written: uppercase, such as EUR or USD.
|
|
3
|
+
* The codes are those of the list published 2026-09-17, fund and precious metal codes such as XAU included;
|
|
4
|
+
* a withdrawn code such as HRK is not one. Any string is taken; this never throws.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isIso4217(value: string): boolean;
|
|
7
|
+
//# sourceMappingURL=iso4217.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso4217.d.ts","sourceRoot":"","sources":["../../src/formats/iso4217.ts"],"names":[],"mappings":"AAkCA;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether `value` is an ISO 639-1 two-letter language code, exactly as written: lowercase, such as hr or en. The
|
|
3
|
+
* codes are those of Debian iso-codes v4.20.1. Any string is taken; this never throws.
|
|
4
|
+
*/
|
|
5
|
+
export declare function isIso639Alpha2(value: string): boolean;
|
|
6
|
+
//# sourceMappingURL=iso639-1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso639-1.d.ts","sourceRoot":"","sources":["../../src/formats/iso639-1.ts"],"names":[],"mappings":"AAkCA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** The 18 values of the `ca` (calendar) key of a Unicode locale extension, deprecated ones dropped. */
|
|
2
|
+
export declare const CALENDARS: readonly string[];
|
|
3
|
+
/** The 7 values of the `fw` (first day of the week) key of a Unicode locale extension, deprecated ones dropped. */
|
|
4
|
+
export declare const FIRST_DAYS: readonly string[];
|
|
5
|
+
/** The 6 values of the `hc` (hour cycle) key of a Unicode locale extension, deprecated ones dropped. */
|
|
6
|
+
export declare const HOUR_CYCLES: readonly string[];
|
|
7
|
+
/** The 3 values of the `ms` (measurement system) key of a Unicode locale extension, deprecated ones dropped. */
|
|
8
|
+
export declare const MEASUREMENT_SYSTEMS: readonly string[];
|
|
9
|
+
/** The 3 values of the `mu` (temperature unit) key of a Unicode locale extension, deprecated ones dropped. */
|
|
10
|
+
export declare const MEASUREMENT_UNITS: readonly string[];
|
|
11
|
+
/** The 100 values of the `nu` (numbering system) key of a Unicode locale extension, deprecated ones dropped. */
|
|
12
|
+
export declare const NUMBERING_SYSTEMS: readonly string[];
|
|
13
|
+
//# sourceMappingURL=uts35.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uts35.d.ts","sourceRoot":"","sources":["../../src/formats/uts35.ts"],"names":[],"mappings":"AAMA,uGAAuG;AACvG,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAmBtC,CAAA;AAED,mHAAmH;AACnH,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAAsD,CAAA;AAE9F,wGAAwG;AACxG,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAA+C,CAAA;AAExF,gHAAgH;AAChH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAuC,CAAA;AAExF,8GAA8G;AAC9G,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAsC,CAAA;AAErF,gHAAgH;AAChH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAqG9C,CAAA"}
|
package/types/index.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export { isCidr } from "./cidr.ts";
|
|
2
|
+
export type { IntegerFormat, TextFormat } from "./formats/catalog.ts";
|
|
3
|
+
export { isIanaTimeZone } from "./formats/iana-time-zone.ts";
|
|
4
|
+
export { isIso3166Alpha2, isIso3166Alpha3 } from "./formats/iso3166-1.ts";
|
|
5
|
+
export { isIso4217 } from "./formats/iso4217.ts";
|
|
6
|
+
export { isIso639Alpha2 } from "./formats/iso639-1.ts";
|
|
2
7
|
export { jsonValue } from "./json-value.ts";
|
|
3
8
|
export { CombError } from "./error.ts";
|
|
4
9
|
export { type PasswordHash, passwordText, type PasswordTextOptions, type TypedPasswordOptions, } from "./password-text.ts";
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EACN,KAAK,YAAY,EACjB,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EACN,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC9F,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,eAAe,GACf,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EACN,KAAK,YAAY,EACjB,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EACN,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC9F,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,eAAe,GACf,MAAM,YAAY,CAAA"}
|
package/types/meta/column.d.ts
CHANGED
|
@@ -20,10 +20,16 @@ declare function withCombColumn<B>(builder: B, meta: {
|
|
|
20
20
|
}): B;
|
|
21
21
|
/** The comb metadata a built column (or its builder) carries; undefined for a column no `c` helper built */
|
|
22
22
|
declare function combColumnMeta(column: unknown): CombColumnMeta | undefined;
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* A c.enum's options as its column's record: its constraints (the flags, its `format`, and a `schema`
|
|
25
|
+
* a JavaScript caller passes, kept for codegen to refuse by name), the rest its state machine, none
|
|
26
|
+
* when it names no state
|
|
27
|
+
*/
|
|
24
28
|
declare function enumMeta(values: readonly string[], options?: {
|
|
29
|
+
format?: string | undefined;
|
|
25
30
|
nomutate?: boolean | undefined;
|
|
26
31
|
private?: boolean | undefined;
|
|
32
|
+
schema?: unknown;
|
|
27
33
|
tenant?: boolean | undefined;
|
|
28
34
|
}): {
|
|
29
35
|
[K in keyof CombColumnMeta]: CombColumnMeta[K] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../src/meta/column.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+BAA+B;AAC/B,KAAK,cAAc,GAChB,SAAS,GACT,WAAW,GACX,WAAW,GACX,MAAM,GACN,IAAI,GACJ,SAAS,GACT,MAAM,GACN,MAAM,GACN,KAAK,GACL,UAAU,GACV,MAAM,GACN,WAAW,GACX,WAAW,CAAA;AAEd,+GAA+G;AAC/G,KAAK,cAAc,GAAG;IACrB,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;CACtC,CAAA;AAID,oGAAoG;AACpG,iBAAS,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE;KAAG,CAAC,IAAI,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;CAAE,GAAG,CAAC,CAI9G;AAED,4GAA4G;AAC5G,iBAAS,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAGnE;
|
|
1
|
+
{"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../src/meta/column.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+BAA+B;AAC/B,KAAK,cAAc,GAChB,SAAS,GACT,WAAW,GACX,WAAW,GACX,MAAM,GACN,IAAI,GACJ,SAAS,GACT,MAAM,GACN,MAAM,GACN,KAAK,GACL,UAAU,GACV,MAAM,GACN,WAAW,GACX,WAAW,CAAA;AAEd,+GAA+G;AAC/G,KAAK,cAAc,GAAG;IACrB,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;CACtC,CAAA;AAID,oGAAoG;AACpG,iBAAS,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE;KAAG,CAAC,IAAI,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;CAAE,GAAG,CAAC,CAI9G;AAED,4GAA4G;AAC5G,iBAAS,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAGnE;AAOD;;;;GAIG;AACH,iBAAS,QAAQ,CAChB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE;IACR,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACvB,GACJ;KAAG,CAAC,IAAI,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;CAAE,CAYhE;AAED,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Connection } from "../types.ts";
|
|
2
2
|
import { type RetryOptions } from "./utils.ts";
|
|
3
3
|
/** Whether a unique index of comb's history holds its hash alone, as comb's table did before 0.13 */
|
|
4
|
-
export declare
|
|
4
|
+
export declare const hashUnique: (conn: Connection) => Promise<boolean>;
|
|
5
5
|
/**
|
|
6
6
|
* comb's history, made where it is missing, named from 0.11, and from a history before 0.13
|
|
7
7
|
* rebuilt in one batch: every row and id kept, each row `renamed` lists taking its new name,
|
|
@@ -46,7 +46,8 @@ type ApplyOptions = {
|
|
|
46
46
|
* record it wrote says it ran, so a retry reads the history first and runs nothing again.
|
|
47
47
|
* When no read of `history` answers after a batch that failed transiently, the failure is an Unconfirmed.
|
|
48
48
|
* The record goes first, so a batch whose file another run recorded while it waited for the lock
|
|
49
|
-
* fails on the name at once and runs nothing
|
|
49
|
+
* fails on the name's unique index at once and runs nothing (ensureMigrationsTable keeps one on every
|
|
50
|
+
* history, whoever made the table); the history then says so, and it is that run's.
|
|
50
51
|
* Returns who applied it.
|
|
51
52
|
*/
|
|
52
53
|
export declare function applyRecorded(conn: Pick<Connection, "batch">, migration: Recorded, { history, retry }: ApplyOptions): Promise<"this run" | "another run">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/apply.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/apply.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAM7C,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,YAAY,CAAA;AA4BzD,qGAAqG;AACrG,eAAO,MAAM,UAAU,SAAU,UAAU,KAAG,OAAO,CAAC,OAAO,CAA2B,CAAA;AAmBxF;;;;GAIG;AACH,wBAAsB,qBAAqB,CAC1C,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAM,GACvD,OAAO,CAAC,IAAI,CAAC,CAsDf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/G;AAID;;;;GAIG;AACH,eAAO,MAAM,YAAY,+BAA+B,CAAA;AAExD,+GAA+G;AAC/G,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtG;AAED,8EAA8E;AAC9E,KAAK,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAA;AAEjF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,CAAA;AAEhE,mHAAmH;AACnH,KAAK,YAAY,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,CAAA;AAS9F;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAClC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,QAAQ,EACnB,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,GAC9B,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC,CAkCrC;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC9B,IAAI,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EACnC,UAAU,EAAE,SAAS,QAAQ,EAAE,EAC/B,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACzE,OAAO,CAAC,IAAI,CAAC,CAwCf"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The apply itself, once comb approved the pending files: one Atlas call per file, so
|
|
3
|
+
* each file runs on a session of its own, as it would alone, as on SQLite and on D1. No
|
|
4
|
+
* reading of a file proves what it leaves on its session: a trigger, a default, a DO block's EXECUTE
|
|
5
|
+
* or code the target holds can each run a SET that outlives its COMMIT.
|
|
6
|
+
*/
|
|
1
7
|
import { type Foreign } from "./atlas-foreign.ts";
|
|
2
8
|
import { type AtlasStatus, checkHistory } from "./atlas-history.ts";
|
|
3
9
|
import { type AtlasCommand } from "./atlas-status.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atlas-apply-runs.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/atlas-apply-runs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atlas-apply-runs.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/atlas-apply-runs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAkB,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEnF,OAAO,EAAS,KAAK,YAAY,EAAe,MAAM,mBAAmB,CAAA;AAoCzE;;;;;;;GAOG;AACH,iBAAe,SAAS,CACvB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,MAAM,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAChH,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB;AA+BD,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A step a signal runs, told which signal came and what the steps that ran before it returned, in
|
|
3
|
+
* that order: a step held first runs last, and reads what the steps held after it found out
|
|
4
|
+
*/
|
|
5
|
+
type Step = (signal: NodeJS.Signals, earlier: readonly unknown[]) => unknown;
|
|
6
|
+
/**
|
|
7
|
+
* The signals a held step runs on: every one whose default action ends the process and that a
|
|
8
|
+
* terminal or a supervisor sends. A Ctrl-C (SIGINT), a Ctrl-\ (SIGQUIT), a container stop or a CI
|
|
9
|
+
* step timeout (SIGTERM), and a terminal's hangup, as an SSH drop sends it (SIGHUP): a child in a
|
|
10
|
+
* group of its own gets none of them from the terminal, so comb's forward is its only signal.
|
|
11
|
+
*/
|
|
12
|
+
export declare const STOP_SIGNALS: readonly ["SIGHUP", "SIGINT", "SIGQUIT", "SIGTERM"];
|
|
13
|
+
/** One of STOP_SIGNALS */
|
|
14
|
+
export type StopSignal = (typeof STOP_SIGNALS)[number];
|
|
3
15
|
/**
|
|
4
16
|
* Settles once every stop begun so far has ended: asked for the process's end, or let a host that
|
|
5
17
|
* listens keep it. A test that stubs process.kill around a signal restores it only past this, so
|
|
@@ -13,7 +25,7 @@ export declare function stopsEnded(): Promise<void>;
|
|
|
13
25
|
*/
|
|
14
26
|
export declare function pastStop(): Promise<void>;
|
|
15
27
|
/**
|
|
16
|
-
* Hold `step` until the release this returns, so
|
|
28
|
+
* Hold `step` until the release this returns, so a stop signal runs it before the process ends.
|
|
17
29
|
* The listener is read from the process, not remembered: a host that removed every listener gets it back.
|
|
18
30
|
*/
|
|
19
31
|
export declare function hold(step: Step): () => void;
|
|
@@ -49,7 +61,7 @@ export type Scratch = {
|
|
|
49
61
|
};
|
|
50
62
|
/**
|
|
51
63
|
* A new directory under the temp directory that only this user can open (0700), named `prefix`, this
|
|
52
|
-
* process's pid and host mark, and removed by `remove`, or by
|
|
64
|
+
* process's pid and host mark, and removed by `remove`, or by a stop signal before it. A
|
|
53
65
|
* process's first scratch of a prefix sweeps what killed runs left.
|
|
54
66
|
*/
|
|
55
67
|
export declare function scratchDir(prefix: string): Scratch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/cleanup.ts"],"names":[],"mappings":"AAaA
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/cleanup.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,OAAO,EAAE,KAAK,OAAO,CAAA;AAK5E;;;;;GAKG;AACH,eAAO,MAAM,YAAY,YAAI,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAU,CAAA;AAE/E,0BAA0B;AAC1B,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAiEtD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAExC;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,IAAI,CAI3C;AAKD;;;GAGG;AACH,wBAAgB,WAAW,IAAI;IAAE,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;CAAE,CAUpG;AAED,gDAAgD;AAChD,wBAAsB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOnG;AAED,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO5C;AAED,wHAAwH;AACxH,eAAO,MAAM,gBAAgB,EAAE,MAAwB,CAAA;AAEvD;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAQjC;AAKD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,MAAoB,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAetG;AAKD,+DAA+D;AAC/D,MAAM,MAAM,OAAO,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,IAAI,IAAI,CAAA;CAAE,CAAA;AAErD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAelD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d1-history.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/d1-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI7C,OAAO,EAAqB,KAAK,QAAQ,EAAgB,KAAK,UAAU,EAAkB,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"d1-history.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/d1-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI7C,OAAO,EAAqB,KAAK,QAAQ,EAAgB,KAAK,UAAU,EAAkB,MAAM,iBAAiB,CAAA;AAqHjH,KAAK,OAAO,GAAG;IACd,OAAO,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtD,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,UAAU,CAAA;CAChB,CAAA;AAqBD,wGAAwG;AACxG,iBAAe,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmD5E;AAED;;;;;;GAMG;AACH,iBAAe,UAAU,CACxB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiCjD;AAED;;;;;;GAMG;AACH,iBAAe,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQjH;AAED,6GAA6G;AAC7G,iBAAe,QAAQ,CACtB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAanD;AAED,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -10,5 +10,16 @@ export declare function wranglerError({ stderr, stdout }: Ran): string;
|
|
|
10
10
|
* never waited out, since comb cannot know the batch did nothing, and what the table holds says what is still pending.
|
|
11
11
|
*/
|
|
12
12
|
export declare function applyFailure(ran: Ran, locked: boolean): string;
|
|
13
|
+
/** Refuse a failed run, or one whose table gained (`added`) other than the `names` checked, naming a file never checked */
|
|
14
|
+
export declare function refuseUnlike(ran: {
|
|
15
|
+
code: number;
|
|
16
|
+
stderr: string;
|
|
17
|
+
stdout: string;
|
|
18
|
+
}, { added, locked, names, table }: {
|
|
19
|
+
added: string[];
|
|
20
|
+
locked: boolean;
|
|
21
|
+
names: string[];
|
|
22
|
+
table: string;
|
|
23
|
+
}): void;
|
|
13
24
|
export {};
|
|
14
25
|
//# sourceMappingURL=d1-wrangler-error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d1-wrangler-error.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/d1-wrangler-error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"d1-wrangler-error.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/d1-wrangler-error.ts"],"names":[],"mappings":"AAOA,KAAK,GAAG,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7C,2HAA2H;AAC3H,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAI9D;AAED,2HAA2H;AAC3H,wBAAgB,YAAY,CAC3B,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACrD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnG,IAAI,CAeN"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
* The replay's transactions and the reads around them (pg-replay.ts): a file's or comb's own
|
|
3
3
|
* statement's transaction, refused before its COMMIT when this backend's counts show it wrote past
|
|
4
4
|
* its database, and the server's shared catalogs read as committed around it and around
|
|
5
|
-
* every bare statement, a change there the file's when it is to
|
|
5
|
+
* every bare statement, a change there the file's when it is to the replay's own database, or to an
|
|
6
|
+
* object the file names beside a statement that can run code comb cannot read;
|
|
6
7
|
* a `txmode none` file's statement in a transaction of its own first, bare only when
|
|
7
8
|
* Postgres runs it outside a block alone.
|
|
8
9
|
*/
|
|
9
10
|
import { type Run } from "./pg-replay-roles.ts";
|
|
11
|
+
import { type Hidden } from "./pg-replay-hidden.ts";
|
|
10
12
|
import { type Snapshot } from "./pg-server-snapshot.ts";
|
|
11
13
|
import { type Own } from "./pg-server-writes.ts";
|
|
12
14
|
/**
|
|
@@ -16,23 +18,26 @@ import { type Own } from "./pg-server-writes.ts";
|
|
|
16
18
|
*/
|
|
17
19
|
declare function begin(run: Run): Promise<void>;
|
|
18
20
|
/**
|
|
19
|
-
* Where a replayed transaction or bare statement is: its file's name and the names it spells,
|
|
20
|
-
*
|
|
21
|
-
* adopts
|
|
21
|
+
* Where a replayed transaction or bare statement is: its file's name and the names it spells, what
|
|
22
|
+
* its statements so far can run that comb cannot read (`hidden`), the statement, if bare, and what a
|
|
23
|
+
* refusal stops; told each role the transaction adds that the replay adopts
|
|
22
24
|
*/
|
|
23
25
|
type At = {
|
|
24
26
|
adopted?: ((role: string) => void) | undefined;
|
|
27
|
+
hidden: Hidden;
|
|
25
28
|
name: string;
|
|
26
29
|
names: ReadonlySet<string>;
|
|
27
30
|
sent: string | undefined;
|
|
28
31
|
stops: string;
|
|
29
32
|
};
|
|
30
33
|
/**
|
|
31
|
-
* The server's shared catalogs read as committed against the last read: a change since to
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* the cleanup
|
|
34
|
+
* The server's shared catalogs read as committed against the last read: a change since to the
|
|
35
|
+
* replay's own database, or to what it holds, is the file's, as only this replay runs in it, and the
|
|
36
|
+
* cleanup drops it. A change to an object the file names is the file's when its statements so far
|
|
37
|
+
* can run code comb cannot read (pg-replay-hidden.ts), the one way a change past the database gets by
|
|
38
|
+
* the counts, and is refused, but no cleanup drops it: Postgres keeps no creator for a role or a
|
|
39
|
+
* database, and another session may have made it. A change to any other object, or beside statements
|
|
40
|
+
* that run only what their parse says, is another session's. `read` is that read when the caller took it
|
|
36
41
|
*/
|
|
37
42
|
declare function window(run: Run, at: At, read?: Snapshot): Promise<void>;
|
|
38
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pg-replay-commit.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/pg-replay-commit.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pg-replay-commit.d.ts","sourceRoot":"","sources":["../../../src/migrate/core/pg-replay-commit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,KAAK,QAAQ,EAA8C,MAAM,yBAAyB,CAAA;AACnG,OAAO,EAIN,KAAK,GAAG,EAIR,MAAM,uBAAuB,CAAA;AAG9B;;;;GAIG;AACH,iBAAe,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5C;AAED;;;;GAIG;AACH,KAAK,EAAE,GAAG;IACT,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;CACb,CAAA;AAYD;;;;;;;;GAQG;AACH,iBAAe,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtE;AA4CD;;;;;;GAMG;AACH,iBAAS,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,CAQxD;AAYD;;;;GAIG;AACH,iBAAe,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BrD;AAKD;;;;;;GAMG;AACH,iBAAe,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF;AAED,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA"}
|