@prisma-next/sql-lane-query-builder 0.12.0 → 0.13.0-dev.10
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/index.d.mts +351 -157
- package/dist/index.d.mts.map +1 -1
- package/package.json +8 -7
- package/src/selection.ts +55 -14
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../../1-framework/0-foundation/contract/dist/domain-envelope-
|
|
1
|
+
//#region ../../../1-framework/0-foundation/contract/dist/domain-envelope-DKOnhO5d.d.mts
|
|
2
2
|
//#region src/namespace-id.d.ts
|
|
3
3
|
type NamespaceId = string & {
|
|
4
4
|
readonly __brand: 'NamespaceId';
|
|
@@ -8,79 +8,14 @@ type NamespaceId = string & {
|
|
|
8
8
|
interface CrossReference {
|
|
9
9
|
readonly namespace: NamespaceId;
|
|
10
10
|
readonly model: string;
|
|
11
|
+
/**
|
|
12
|
+
* Contract-space identity for cross-space relations. When present, the
|
|
13
|
+
* referenced model lives in a different contract space. Absent for local
|
|
14
|
+
* (same-space) relations.
|
|
15
|
+
*/
|
|
16
|
+
readonly space?: string;
|
|
11
17
|
}
|
|
12
18
|
//#endregion
|
|
13
|
-
//#region src/domain-types.d.ts
|
|
14
|
-
type ScalarFieldType = {
|
|
15
|
-
readonly kind: 'scalar';
|
|
16
|
-
readonly codecId: string;
|
|
17
|
-
readonly typeParams?: Record<string, unknown>;
|
|
18
|
-
};
|
|
19
|
-
type ValueObjectFieldType = {
|
|
20
|
-
readonly kind: 'valueObject';
|
|
21
|
-
readonly name: string;
|
|
22
|
-
};
|
|
23
|
-
type UnionFieldType = {
|
|
24
|
-
readonly kind: 'union';
|
|
25
|
-
readonly members: ReadonlyArray<ScalarFieldType | ValueObjectFieldType>;
|
|
26
|
-
};
|
|
27
|
-
type ContractFieldType = ScalarFieldType | ValueObjectFieldType | UnionFieldType;
|
|
28
|
-
type ContractField = {
|
|
29
|
-
readonly nullable: boolean;
|
|
30
|
-
readonly type: ContractFieldType;
|
|
31
|
-
readonly many?: true;
|
|
32
|
-
readonly dict?: true;
|
|
33
|
-
};
|
|
34
|
-
type ContractRelationOn = {
|
|
35
|
-
readonly localFields: readonly string[];
|
|
36
|
-
readonly targetFields: readonly string[];
|
|
37
|
-
};
|
|
38
|
-
type ContractReferenceRelation = {
|
|
39
|
-
readonly to: CrossReference;
|
|
40
|
-
readonly cardinality: '1:1' | '1:N' | 'N:1';
|
|
41
|
-
readonly on: ContractRelationOn;
|
|
42
|
-
};
|
|
43
|
-
type ContractEmbedRelation = {
|
|
44
|
-
readonly to: CrossReference;
|
|
45
|
-
readonly cardinality: '1:1' | '1:N';
|
|
46
|
-
};
|
|
47
|
-
type ContractRelation = ContractReferenceRelation | ContractEmbedRelation;
|
|
48
|
-
type ContractDiscriminator = {
|
|
49
|
-
readonly field: string;
|
|
50
|
-
};
|
|
51
|
-
type ContractVariantEntry = {
|
|
52
|
-
readonly value: string;
|
|
53
|
-
};
|
|
54
|
-
type ContractValueObject = {
|
|
55
|
-
readonly fields: Record<string, ContractField>;
|
|
56
|
-
};
|
|
57
|
-
type ModelStorageBase = Readonly<Record<string, unknown>>;
|
|
58
|
-
interface ContractModelBase<TModelStorage extends ModelStorageBase = ModelStorageBase> {
|
|
59
|
-
readonly fields: Record<string, ContractField>;
|
|
60
|
-
readonly relations: Record<string, ContractRelation>;
|
|
61
|
-
readonly storage: TModelStorage;
|
|
62
|
-
readonly discriminator?: ContractDiscriminator;
|
|
63
|
-
readonly variants?: Record<string, ContractVariantEntry>;
|
|
64
|
-
readonly base?: CrossReference;
|
|
65
|
-
readonly owner?: string;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* One namespace's application-domain entities — models and optional value
|
|
69
|
-
* objects keyed by entity name within that namespace coordinate.
|
|
70
|
-
*/
|
|
71
|
-
interface ApplicationDomainNamespace<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
|
|
72
|
-
readonly models: TModels;
|
|
73
|
-
readonly valueObjects?: Record<string, ContractValueObject>;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Application-domain envelope: entity content keyed by namespace id.
|
|
77
|
-
* Mirrors the storage plane's `namespaces` segment (ADR 221).
|
|
78
|
-
*/
|
|
79
|
-
interface ApplicationDomain<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
|
|
80
|
-
readonly namespaces: Readonly<Record<string, ApplicationDomainNamespace<TModels>>>;
|
|
81
|
-
}
|
|
82
|
-
//#endregion
|
|
83
|
-
//#region ../../../1-framework/0-foundation/contract/dist/contract-types-xgwKtd7y.d.mts
|
|
84
19
|
//#region src/types.d.ts
|
|
85
20
|
/**
|
|
86
21
|
* Unique symbol used as the key for branding types.
|
|
@@ -113,13 +48,21 @@ type ExecutionHashBase<THash extends string> = THash & Brand<'ExecutionHash'>;
|
|
|
113
48
|
* `type ProfileHash = ProfileHashBase<'sha256:def456...'>`
|
|
114
49
|
*/
|
|
115
50
|
type ProfileHashBase<THash extends string> = THash & Brand<'ProfileHash'>;
|
|
51
|
+
/**
|
|
52
|
+
* One entity-kind slot in a namespace — a map of entity name to entry.
|
|
53
|
+
* Values are opaque at the foundation layer; family and target concretions
|
|
54
|
+
* refine them to typed IR classes.
|
|
55
|
+
*/
|
|
56
|
+
type StorageEntitySlot = Readonly<Record<string, unknown>>;
|
|
116
57
|
/**
|
|
117
58
|
* Plain-data namespace entry in a storage block. Every hydrated contract
|
|
118
|
-
* carries at least `id` plus
|
|
119
|
-
* `
|
|
59
|
+
* carries at least `id` plus entity-kind slot maps under `entries`
|
|
60
|
+
* (`table`, `collection`, …). Foundation declares only this shape — no IR
|
|
61
|
+
* machinery.
|
|
120
62
|
*/
|
|
121
63
|
interface StorageNamespace {
|
|
122
64
|
readonly id: string;
|
|
65
|
+
readonly entries: Readonly<Record<string, StorageEntitySlot>>;
|
|
123
66
|
}
|
|
124
67
|
/**
|
|
125
68
|
* Base type for family-specific storage blocks.
|
|
@@ -177,6 +120,155 @@ type ExecutionMutationDefault = {
|
|
|
177
120
|
* authoring layers attach to a column before the column ref is known.
|
|
178
121
|
*/
|
|
179
122
|
//#endregion
|
|
123
|
+
//#region src/value-set-ref.d.ts
|
|
124
|
+
/**
|
|
125
|
+
* Space-aware reference coordinate for a domain enum or storage value-set.
|
|
126
|
+
*
|
|
127
|
+
* `plane` names the contract plane the referenced entity lives in:
|
|
128
|
+
* - `'domain'` — the entity lives in the domain plane's `enum` slot.
|
|
129
|
+
* - `'storage'` — the entity lives in the storage plane's `valueSet` slot.
|
|
130
|
+
*
|
|
131
|
+
* `entityKind` names the source entity-kind:
|
|
132
|
+
* - `'enum'` — the referenced entity is a domain enum.
|
|
133
|
+
* - `'value-set'` — the referenced entity is a storage value-set.
|
|
134
|
+
*
|
|
135
|
+
* `namespaceId` admits the `UNBOUND_NAMESPACE_ID` (`__unbound__`) sentinel for
|
|
136
|
+
* single-namespace (unbound) references.
|
|
137
|
+
*
|
|
138
|
+
* Cross-space discrimination is presence-based: when `spaceId` is absent the
|
|
139
|
+
* reference is local (same contract-space); when `spaceId` is present the
|
|
140
|
+
* reference is cross-space. This mirrors the `ForeignKeyReference` carrier
|
|
141
|
+
* convention — no separate tag field — so local refs are JSON-minimal.
|
|
142
|
+
*/
|
|
143
|
+
interface ValueSetRef {
|
|
144
|
+
readonly plane: 'domain' | 'storage';
|
|
145
|
+
readonly namespaceId: string;
|
|
146
|
+
readonly entityKind: 'enum' | 'value-set';
|
|
147
|
+
readonly name: string;
|
|
148
|
+
readonly spaceId?: string;
|
|
149
|
+
} //#endregion
|
|
150
|
+
//#region src/domain-types.d.ts
|
|
151
|
+
type ScalarFieldType = {
|
|
152
|
+
readonly kind: 'scalar';
|
|
153
|
+
readonly codecId: string;
|
|
154
|
+
readonly typeParams?: Record<string, unknown>;
|
|
155
|
+
};
|
|
156
|
+
type ValueObjectFieldType = {
|
|
157
|
+
readonly kind: 'valueObject';
|
|
158
|
+
readonly name: string;
|
|
159
|
+
};
|
|
160
|
+
type UnionFieldType = {
|
|
161
|
+
readonly kind: 'union';
|
|
162
|
+
readonly members: ReadonlyArray<ScalarFieldType | ValueObjectFieldType>;
|
|
163
|
+
};
|
|
164
|
+
type ContractFieldType = ScalarFieldType | ValueObjectFieldType | UnionFieldType;
|
|
165
|
+
type ContractField = {
|
|
166
|
+
readonly nullable: boolean;
|
|
167
|
+
readonly type: ContractFieldType;
|
|
168
|
+
readonly many?: true;
|
|
169
|
+
readonly dict?: true;
|
|
170
|
+
readonly valueSet?: ValueSetRef;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* A domain enum: an ordered set of named members, each with a codec-encoded
|
|
174
|
+
* value. The `codecId` identifies the codec used to encode member values in
|
|
175
|
+
* storage. The `members` array is ordered (declaration order is preserved).
|
|
176
|
+
*/
|
|
177
|
+
type ContractEnum = {
|
|
178
|
+
readonly codecId: string;
|
|
179
|
+
readonly members: readonly {
|
|
180
|
+
readonly name: string;
|
|
181
|
+
readonly value: JsonValue;
|
|
182
|
+
}[];
|
|
183
|
+
};
|
|
184
|
+
type ContractRelationOn = {
|
|
185
|
+
readonly localFields: readonly string[];
|
|
186
|
+
readonly targetFields: readonly string[];
|
|
187
|
+
};
|
|
188
|
+
type ContractRelationThrough = {
|
|
189
|
+
readonly table: string;
|
|
190
|
+
readonly namespaceId: string;
|
|
191
|
+
readonly parentColumns: readonly string[];
|
|
192
|
+
readonly childColumns: readonly string[];
|
|
193
|
+
readonly targetColumns: readonly string[];
|
|
194
|
+
};
|
|
195
|
+
type ContractManyToManyRelation = {
|
|
196
|
+
readonly to: CrossReference;
|
|
197
|
+
readonly cardinality: 'N:M';
|
|
198
|
+
readonly on: ContractRelationOn;
|
|
199
|
+
readonly through: ContractRelationThrough;
|
|
200
|
+
};
|
|
201
|
+
type ContractNonJunctionRelation = {
|
|
202
|
+
readonly to: CrossReference;
|
|
203
|
+
readonly cardinality: '1:1' | '1:N' | 'N:1';
|
|
204
|
+
readonly on: ContractRelationOn;
|
|
205
|
+
readonly through?: never;
|
|
206
|
+
};
|
|
207
|
+
type ContractReferenceRelation = ContractManyToManyRelation | ContractNonJunctionRelation;
|
|
208
|
+
type ContractEmbedRelation = {
|
|
209
|
+
readonly to: CrossReference;
|
|
210
|
+
readonly cardinality: '1:1' | '1:N';
|
|
211
|
+
};
|
|
212
|
+
type ContractRelation = ContractReferenceRelation | ContractEmbedRelation;
|
|
213
|
+
type ContractDiscriminator = {
|
|
214
|
+
readonly field: string;
|
|
215
|
+
};
|
|
216
|
+
type ContractVariantEntry = {
|
|
217
|
+
readonly value: string;
|
|
218
|
+
};
|
|
219
|
+
type ContractValueObject = {
|
|
220
|
+
readonly fields: Record<string, ContractField>;
|
|
221
|
+
};
|
|
222
|
+
type ModelStorageBase = Readonly<Record<string, unknown>>;
|
|
223
|
+
interface ContractModelBase<TModelStorage extends ModelStorageBase = ModelStorageBase> {
|
|
224
|
+
readonly fields: Record<string, ContractField>;
|
|
225
|
+
readonly relations: Record<string, ContractRelation>;
|
|
226
|
+
readonly storage: TModelStorage;
|
|
227
|
+
readonly discriminator?: ContractDiscriminator;
|
|
228
|
+
readonly variants?: Record<string, ContractVariantEntry>;
|
|
229
|
+
readonly base?: CrossReference;
|
|
230
|
+
readonly owner?: string;
|
|
231
|
+
}
|
|
232
|
+
//#endregion
|
|
233
|
+
//#region src/domain-envelope.d.ts
|
|
234
|
+
/**
|
|
235
|
+
* One namespace's application-domain entities — models and optional value
|
|
236
|
+
* objects keyed by entity name within that namespace coordinate.
|
|
237
|
+
*/
|
|
238
|
+
interface ApplicationDomainNamespace<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
|
|
239
|
+
readonly models: TModels;
|
|
240
|
+
readonly valueObjects?: Record<string, ContractValueObject>;
|
|
241
|
+
readonly enum?: Record<string, ContractEnum>;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Application-domain envelope: entity content keyed by namespace id.
|
|
245
|
+
* Mirrors the storage plane's `namespaces` segment (ADR 221).
|
|
246
|
+
*/
|
|
247
|
+
interface ApplicationDomain<TModels extends Record<string, ContractModelBase> = Record<string, ContractModelBase>> {
|
|
248
|
+
readonly namespaces: Readonly<Record<string, ApplicationDomainNamespace<TModels>>>;
|
|
249
|
+
}
|
|
250
|
+
//#endregion
|
|
251
|
+
//#region ../../../1-framework/0-foundation/contract/dist/contract-types-CtIh62PH.d.mts
|
|
252
|
+
//#region src/control-policy.d.ts
|
|
253
|
+
/**
|
|
254
|
+
* Governance posture for a storage-plane node or for the contract as a whole.
|
|
255
|
+
*
|
|
256
|
+
* - `managed` — Prisma Next owns the full lifecycle (DDL, migrations, verification).
|
|
257
|
+
* - `tolerated` — node was found in the database but is not schema-managed; Prisma Next
|
|
258
|
+
* leaves it untouched while tracking its existence.
|
|
259
|
+
* - `external` — node is owned by an external system; Prisma Next never emits DDL for it.
|
|
260
|
+
* - `observed` — read-only access; Prisma Next does not write to or migrate the node.
|
|
261
|
+
*/
|
|
262
|
+
type ControlPolicy = 'managed' | 'tolerated' | 'external' | 'observed';
|
|
263
|
+
/**
|
|
264
|
+
* Resolves the effective control policy for a storage-plane node.
|
|
265
|
+
*
|
|
266
|
+
* Precedence: node-level value → contract default → `'managed'`.
|
|
267
|
+
*
|
|
268
|
+
* Both parameters are optional raw values so this function stays node-type-agnostic
|
|
269
|
+
* and can be called by any consumer (verifier, planner, etc.) without importing IR classes.
|
|
270
|
+
*/
|
|
271
|
+
//#endregion
|
|
180
272
|
//#region src/contract-types.d.ts
|
|
181
273
|
/**
|
|
182
274
|
* Execution section for the unified contract (ADR 182).
|
|
@@ -223,7 +315,10 @@ interface Contract<TStorage extends StorageBase = StorageBase, TModels extends R
|
|
|
223
315
|
readonly execution?: ContractExecutionSection;
|
|
224
316
|
readonly profileHash: ProfileHashBase<string>;
|
|
225
317
|
readonly meta: Record<string, unknown>;
|
|
318
|
+
readonly defaultControlPolicy?: ControlPolicy;
|
|
226
319
|
}
|
|
320
|
+
/** Model definitions union carried on a {@link Contract}'s `TModels` type parameter. */
|
|
321
|
+
type ContractModelDefinitions<TContract extends Contract> = TContract extends Contract<StorageBase, infer TModels> ? TModels : never;
|
|
227
322
|
//#endregion
|
|
228
323
|
//#region src/type-errors.d.ts
|
|
229
324
|
/**
|
|
@@ -349,25 +444,26 @@ declare abstract class IRNodeBase implements IRNode {
|
|
|
349
444
|
*
|
|
350
445
|
* The framework promises only the coordinate (`id`) — the named storage
|
|
351
446
|
* entities a namespace contains are family-typed (SQL contributes
|
|
352
|
-
* `
|
|
353
|
-
* own native idiom). Generic consumers walking "all
|
|
354
|
-
* through a family-typed namespace, not the framework
|
|
447
|
+
* `table` / `type`, Mongo contributes `collection`, future families pick
|
|
448
|
+
* their own native idiom under `entries`). Generic consumers walking "all
|
|
449
|
+
* named entries" go through a family-typed namespace, not the framework
|
|
450
|
+
* `Namespace`.
|
|
355
451
|
*
|
|
356
452
|
* Every namespace concretion (e.g. family-built SQL namespaces,
|
|
357
453
|
* `MongoUnboundNamespace`, target-promoted namespaces like
|
|
358
|
-
* `PostgresSchema`) carries exactly: `id` (enumerable string),
|
|
359
|
-
* (
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
* on
|
|
365
|
-
*
|
|
366
|
-
*
|
|
367
|
-
* family-specific knowledge.
|
|
454
|
+
* `PostgresSchema`) carries exactly: `id` (enumerable string),
|
|
455
|
+
* `entries` (frozen object holding entity-kind slot maps), and `kind`
|
|
456
|
+
* (non-enumerable string discriminator set via `Object.defineProperty`).
|
|
457
|
+
* Each slot map under `entries` uses a singular essence key (`table`,
|
|
458
|
+
* `type`, `collection`, …) mapping entity names to IR classes. No other
|
|
459
|
+
* own-enumerable data lives on a namespace; non-entity computed data lives
|
|
460
|
+
* on the surrounding storage or contract IR. The framework's
|
|
461
|
+
* `elementCoordinates(storage)` walk relies on this invariant to enumerate
|
|
462
|
+
* entities structurally without family-specific knowledge.
|
|
368
463
|
*/
|
|
369
464
|
interface Namespace extends IRNode, StorageNamespace {
|
|
370
465
|
readonly kind: string;
|
|
466
|
+
readonly entries: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
|
|
371
467
|
}
|
|
372
468
|
/**
|
|
373
469
|
* Framework-level promise that every Contract IR / Schema IR carries a
|
|
@@ -439,7 +535,7 @@ interface StorageType extends IRNode {
|
|
|
439
535
|
readonly kind: string;
|
|
440
536
|
} //#endregion
|
|
441
537
|
//#endregion
|
|
442
|
-
//#region ../../1-core/contract/dist/
|
|
538
|
+
//#region ../../1-core/contract/dist/foreign-key-BATxB95l.d.mts
|
|
443
539
|
//#region src/ir/sql-node.d.ts
|
|
444
540
|
/**
|
|
445
541
|
* SQL family IR node base. Carries the family-level `kind` discriminator
|
|
@@ -478,15 +574,36 @@ declare abstract class SqlNode extends IRNodeBase {
|
|
|
478
574
|
constructor();
|
|
479
575
|
} //#endregion
|
|
480
576
|
//#region src/ir/foreign-key-reference.d.ts
|
|
577
|
+
/**
|
|
578
|
+
* Input for a foreign-key reference (one side of a foreign-key declaration).
|
|
579
|
+
*
|
|
580
|
+
* When `spaceId` is absent the reference is local — the referenced table lives
|
|
581
|
+
* in the same contract-space. When `spaceId` is present the reference is
|
|
582
|
+
* cross-space — the referenced table lives in a different contract-space
|
|
583
|
+
* identified by `spaceId`.
|
|
584
|
+
*
|
|
585
|
+
* Presence-based discrimination keeps local FK JSON byte-identical to
|
|
586
|
+
* contracts authored before cross-space support was added.
|
|
587
|
+
*/
|
|
481
588
|
interface ForeignKeyReferenceInput {
|
|
482
589
|
readonly namespaceId: string;
|
|
483
590
|
readonly tableName: string;
|
|
484
591
|
readonly columns: readonly string[];
|
|
592
|
+
readonly spaceId?: string;
|
|
485
593
|
}
|
|
486
594
|
/**
|
|
487
595
|
* SQL Contract IR node for one side (source or target) of a foreign-key
|
|
488
596
|
* declaration. Carries the full coordinate: namespace, table, and columns.
|
|
489
597
|
*
|
|
598
|
+
* Cross-space discrimination is based on `spaceId` presence: absent means
|
|
599
|
+
* local (same contract-space); present means cross-space (the referenced
|
|
600
|
+
* table lives in the contract-space identified by `spaceId`).
|
|
601
|
+
*
|
|
602
|
+
* For local references `spaceId` is absent from JSON, keeping the serialized
|
|
603
|
+
* shape byte-identical to contracts authored before cross-space support was
|
|
604
|
+
* added. For cross-space references `spaceId` appears in JSON so round-trips
|
|
605
|
+
* are lossless.
|
|
606
|
+
*
|
|
490
607
|
* Use `UNBOUND_NAMESPACE_ID` from `@prisma-next/framework-components/ir`
|
|
491
608
|
* as the sentinel `namespaceId` for single-namespace (unbound) references.
|
|
492
609
|
*/
|
|
@@ -494,6 +611,7 @@ declare class ForeignKeyReference extends SqlNode {
|
|
|
494
611
|
readonly namespaceId: NamespaceId;
|
|
495
612
|
readonly tableName: string;
|
|
496
613
|
readonly columns: readonly string[];
|
|
614
|
+
readonly spaceId?: string;
|
|
497
615
|
constructor(input: ForeignKeyReferenceInput);
|
|
498
616
|
} //#endregion
|
|
499
617
|
//#region src/ir/foreign-key.d.ts
|
|
@@ -531,55 +649,39 @@ declare class ForeignKey extends SqlNode {
|
|
|
531
649
|
readonly onUpdate?: ReferentialAction;
|
|
532
650
|
constructor(input: ForeignKeyInput);
|
|
533
651
|
} //#endregion
|
|
534
|
-
//#
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
*
|
|
539
|
-
*
|
|
540
|
-
*
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
* discriminate enum-typed slot entries from codec-typed ones. The
|
|
544
|
-
* concrete IR class (`PostgresEnumType`) lives in the target-postgres
|
|
545
|
-
* package and implements this structural contract; cross-domain
|
|
546
|
-
* layering rules forbid the SQL family from importing the concrete
|
|
547
|
-
* target class directly, so the discriminator and structural interface
|
|
548
|
-
* carry the dispatch.
|
|
549
|
-
*/
|
|
550
|
-
declare const POSTGRES_ENUM_KIND: "postgres-enum";
|
|
551
|
-
/**
|
|
552
|
-
* Structural contract every Postgres-enum slot entry honours — both
|
|
553
|
-
* the live `PostgresEnumType` IR-class instance and the raw JSON
|
|
554
|
-
* envelope shape that survives `JSON.stringify` round-trips. SQL
|
|
555
|
-
* family-layer dispatch narrows polymorphic `StorageType` slot
|
|
556
|
-
* entries to this shape via `isPostgresEnumStorageEntry`.
|
|
557
|
-
*
|
|
558
|
-
* The `codecBinding` field is accessor-shaped (live class instance) on
|
|
559
|
-
* the IR class and undefined on the raw JSON envelope; consumers that
|
|
560
|
-
* need it must guard for its presence (the JSON path synthesises an
|
|
561
|
-
* equivalent shape from `codecId` + `values`).
|
|
562
|
-
*/
|
|
563
|
-
interface PostgresEnumStorageEntry extends StorageType {
|
|
564
|
-
readonly kind: typeof POSTGRES_ENUM_KIND;
|
|
652
|
+
//#endregion
|
|
653
|
+
//#region ../../1-core/contract/dist/sql-storage-C2IALLla.d.mts
|
|
654
|
+
//#region src/ir/check-constraint.d.ts
|
|
655
|
+
/**
|
|
656
|
+
* Hydration / construction input shape for {@link CheckConstraint}.
|
|
657
|
+
* Mirrors the on-disk storage JSON envelope so the serializer hydration
|
|
658
|
+
* walker can hand a validated literal straight to `new`.
|
|
659
|
+
*/
|
|
660
|
+
interface CheckConstraintInput {
|
|
565
661
|
readonly name: string;
|
|
566
|
-
readonly
|
|
567
|
-
readonly
|
|
568
|
-
/**
|
|
569
|
-
* Enumerable own property on the persisted JSON envelope; the live
|
|
570
|
-
* IR-class instance carries it too. Family-shared dispatch sites
|
|
571
|
-
* read `codecId` directly rather than going through the IR-class
|
|
572
|
-
* `codecBinding` accessor (which lives on the prototype and isn't
|
|
573
|
-
* present on raw JSON envelopes).
|
|
574
|
-
*/
|
|
575
|
-
readonly codecId: string;
|
|
662
|
+
readonly column: string;
|
|
663
|
+
readonly valueSet: ValueSetRef;
|
|
576
664
|
}
|
|
577
665
|
/**
|
|
578
|
-
*
|
|
579
|
-
*
|
|
580
|
-
*
|
|
666
|
+
* SQL Contract IR node for a table-level check constraint that restricts
|
|
667
|
+
* a column to the permitted values of a value-set.
|
|
668
|
+
*
|
|
669
|
+
* The constraint is **structured** (names a column and a value-set
|
|
670
|
+
* reference), not a raw SQL expression. Each target renders its own DDL
|
|
671
|
+
* from the structured form, keeping the contract target-agnostic.
|
|
672
|
+
*
|
|
673
|
+
* Construction is idempotent: passing an existing `CheckConstraint`
|
|
674
|
+
* instance as input produces a new instance with identical fields.
|
|
675
|
+
* The constructor does not use `instanceof` for input discrimination —
|
|
676
|
+
* it reads plain named properties, which is sufficient since
|
|
677
|
+
* `CheckConstraintInput` is a structural type.
|
|
581
678
|
*/
|
|
582
|
-
|
|
679
|
+
declare class CheckConstraint extends SqlNode {
|
|
680
|
+
readonly name: string;
|
|
681
|
+
readonly column: string;
|
|
682
|
+
readonly valueSet: ValueSetRef;
|
|
683
|
+
constructor(input: CheckConstraintInput);
|
|
684
|
+
} //#endregion
|
|
583
685
|
//#region src/ir/primary-key.d.ts
|
|
584
686
|
interface PrimaryKeyInput {
|
|
585
687
|
readonly columns: readonly string[];
|
|
@@ -633,6 +735,8 @@ interface StorageColumnInput {
|
|
|
633
735
|
readonly typeParams?: Record<string, unknown>;
|
|
634
736
|
readonly typeRef?: string;
|
|
635
737
|
readonly default?: ColumnDefault;
|
|
738
|
+
readonly control?: ControlPolicy;
|
|
739
|
+
readonly valueSet?: ValueSetRef;
|
|
636
740
|
}
|
|
637
741
|
/**
|
|
638
742
|
* SQL Contract IR node for a single column entry in `StorageTable.columns`.
|
|
@@ -654,6 +758,8 @@ declare class StorageColumn extends SqlNode {
|
|
|
654
758
|
readonly typeParams?: Record<string, unknown>;
|
|
655
759
|
readonly typeRef?: string;
|
|
656
760
|
readonly default?: ColumnDefault;
|
|
761
|
+
readonly control?: ControlPolicy;
|
|
762
|
+
readonly valueSet?: ValueSetRef;
|
|
657
763
|
constructor(input: StorageColumnInput);
|
|
658
764
|
} //#endregion
|
|
659
765
|
//#region src/ir/unique-constraint.d.ts
|
|
@@ -676,6 +782,8 @@ interface StorageTableInput {
|
|
|
676
782
|
readonly uniques: ReadonlyArray<UniqueConstraint | UniqueConstraintInput>;
|
|
677
783
|
readonly indexes: ReadonlyArray<Index | IndexInput>;
|
|
678
784
|
readonly foreignKeys: ReadonlyArray<ForeignKey | ForeignKeyInput>;
|
|
785
|
+
readonly control?: ControlPolicy;
|
|
786
|
+
readonly checks?: ReadonlyArray<CheckConstraint | CheckConstraintInput>;
|
|
679
787
|
}
|
|
680
788
|
/**
|
|
681
789
|
* SQL Contract IR node for a single table entry in a namespace's
|
|
@@ -695,6 +803,8 @@ declare class StorageTable extends SqlNode {
|
|
|
695
803
|
readonly indexes: ReadonlyArray<Index>;
|
|
696
804
|
readonly foreignKeys: ReadonlyArray<ForeignKey>;
|
|
697
805
|
readonly primaryKey?: PrimaryKey;
|
|
806
|
+
readonly control?: ControlPolicy;
|
|
807
|
+
readonly checks?: ReadonlyArray<CheckConstraint>;
|
|
698
808
|
constructor(input: StorageTableInput);
|
|
699
809
|
} //#endregion
|
|
700
810
|
//#region src/ir/storage-type-instance.d.ts
|
|
@@ -724,26 +834,63 @@ interface StorageTypeInstance extends StorageType {
|
|
|
724
834
|
* Construction-time input for a codec-triple entry. Symmetric with the
|
|
725
835
|
* structural runtime shape minus the `kind` discriminator — callers may
|
|
726
836
|
* omit `kind`; the helper {@link toStorageTypeInstance} stamps it on.
|
|
837
|
+
* `typeParams` may be omitted on input; the constructor normalises a
|
|
838
|
+
* missing value to `{}` so the in-memory shape is always present.
|
|
727
839
|
*/
|
|
728
840
|
interface StorageTypeInstanceInput {
|
|
729
841
|
readonly codecId: string;
|
|
730
842
|
readonly nativeType: string;
|
|
731
|
-
readonly typeParams
|
|
843
|
+
readonly typeParams?: Record<string, unknown>;
|
|
732
844
|
}
|
|
733
845
|
/**
|
|
734
846
|
* Stamp the codec-instance `kind` discriminator on a caller-supplied
|
|
735
847
|
* codec triple. Idempotent: input that already carries the discriminator
|
|
736
|
-
* passes through unchanged.
|
|
848
|
+
* passes through unchanged. Missing `typeParams` is normalised to `{}`.
|
|
737
849
|
*/
|
|
738
850
|
//#endregion
|
|
851
|
+
//#region src/ir/storage-value-set.d.ts
|
|
852
|
+
/**
|
|
853
|
+
* Hydration / construction input shape for {@link StorageValueSet}.
|
|
854
|
+
* Mirrors the on-disk storage JSON envelope so the serializer hydration
|
|
855
|
+
* walker can hand a validated literal straight to `new`.
|
|
856
|
+
*/
|
|
857
|
+
interface StorageValueSetInput {
|
|
858
|
+
readonly kind: 'value-set';
|
|
859
|
+
/** Ordered permitted values, codec-encoded. Declaration order is preserved. */
|
|
860
|
+
readonly values: readonly JsonValue[];
|
|
861
|
+
}
|
|
862
|
+
/**
|
|
863
|
+
* SQL Contract IR node for a value-set entry in a namespace's `valueSet`
|
|
864
|
+
* map (`SqlNamespace.entries.valueSet`).
|
|
865
|
+
*
|
|
866
|
+
* A value-set records the ordered set of permitted codec-encoded values for
|
|
867
|
+
* an enum-like column restriction. It does not carry a `codecId` — the
|
|
868
|
+
* column that references it already holds the codec; the value-set holds
|
|
869
|
+
* only the permitted values.
|
|
870
|
+
*
|
|
871
|
+
* The node's `kind` is enumerable (`'value-set'`) so the JSON envelope
|
|
872
|
+
* carries the discriminator and the serializer hydration walker can
|
|
873
|
+
* dispatch on it. This follows the per-leaf enumerable-kind convention
|
|
874
|
+
* established in the SQL-node comment (future polymorphic dispatch on
|
|
875
|
+
* namespace entries needs the discriminator in JSON).
|
|
876
|
+
*
|
|
877
|
+
* The entry's name is not on the class — value-sets are keyed by name in
|
|
878
|
+
* the parent namespace's `valueSet: Record<string, StorageValueSet>` map.
|
|
879
|
+
*/
|
|
880
|
+
declare class StorageValueSet extends SqlNode {
|
|
881
|
+
readonly kind: "value-set";
|
|
882
|
+
readonly values: readonly JsonValue[];
|
|
883
|
+
constructor(input: StorageValueSetInput);
|
|
884
|
+
} //#endregion
|
|
739
885
|
//#region src/ir/sql-storage.d.ts
|
|
740
886
|
/**
|
|
741
887
|
* Polymorphic value type for document-scoped `SqlStorage.types` entries
|
|
742
|
-
* (codec aliases / parameterised native type registrations).
|
|
743
|
-
*
|
|
744
|
-
*
|
|
888
|
+
* (codec aliases / parameterised native type registrations).
|
|
889
|
+
*
|
|
890
|
+
* Postgres native enum registrations live under the postgres-specific
|
|
891
|
+
* `entries.type` slot on `PostgresSchema` (target layer), not here.
|
|
745
892
|
*/
|
|
746
|
-
type SqlStorageTypeEntry = StorageTypeInstance | StorageTypeInstanceInput
|
|
893
|
+
type SqlStorageTypeEntry = StorageTypeInstance | StorageTypeInstanceInput;
|
|
747
894
|
interface SqlStorageInput<THash extends string = string> {
|
|
748
895
|
readonly storageHash: StorageHashBase<THash>;
|
|
749
896
|
readonly types?: Record<string, SqlStorageTypeEntry>;
|
|
@@ -765,24 +912,32 @@ interface SqlStorageInput<THash extends string = string> {
|
|
|
765
912
|
*
|
|
766
913
|
* The constructor normalises optional `types` into class instances.
|
|
767
914
|
* `types` is polymorphic per Decision 18 Option B: codec-triple inputs
|
|
768
|
-
* are stamped with `kind: 'codec-instance'`;
|
|
769
|
-
*
|
|
770
|
-
*
|
|
771
|
-
*
|
|
772
|
-
* responsibility (so the family base does not import target-specific
|
|
773
|
-
* subclasses).
|
|
915
|
+
* are stamped with `kind: 'codec-instance'`; hydration of raw JSON
|
|
916
|
+
* class-instance entries (carrying their narrower `kind` literal) is
|
|
917
|
+
* the per-target serializer's responsibility (so the family base does
|
|
918
|
+
* not import target-specific subclasses).
|
|
774
919
|
*/
|
|
775
920
|
type SqlNamespace = Namespace & {
|
|
776
|
-
readonly
|
|
777
|
-
|
|
921
|
+
readonly entries: Readonly<{
|
|
922
|
+
readonly table: Readonly<Record<string, StorageTable>>;
|
|
923
|
+
readonly valueSet?: Readonly<Record<string, StorageValueSet>>;
|
|
924
|
+
}>;
|
|
925
|
+
/**
|
|
926
|
+
* Render a dialect-qualified table reference for runtime SQL emission.
|
|
927
|
+
* Present on materialised target concretions (`PostgresSchema`,
|
|
928
|
+
* `SqliteDatabase`, …) and family placeholders; omitted on emitted
|
|
929
|
+
* contract structural namespace literals (methods are not serialised).
|
|
930
|
+
*/
|
|
931
|
+
qualifyTable?(tableName: string): string;
|
|
778
932
|
};
|
|
779
933
|
declare class SqlStorage<THash extends string = string> extends SqlNode implements Storage {
|
|
780
934
|
readonly storageHash: StorageHashBase<THash>;
|
|
781
935
|
readonly namespaces: Readonly<Record<string, SqlNamespace>>;
|
|
782
|
-
readonly types?: Readonly<Record<string, StorageTypeInstance
|
|
936
|
+
readonly types?: Readonly<Record<string, StorageTypeInstance>>;
|
|
783
937
|
constructor(input: SqlStorageInput<THash>);
|
|
784
|
-
}
|
|
785
|
-
//#
|
|
938
|
+
}
|
|
939
|
+
//#endregion
|
|
940
|
+
//#region ../../1-core/contract/dist/types-C2A2nkzv.d.mts
|
|
786
941
|
type CodecTypesOf<T> = [T] extends [never] ? Record<string, never> : T extends {
|
|
787
942
|
readonly codecTypes: infer C;
|
|
788
943
|
} ? C extends Record<string, {
|
|
@@ -797,7 +952,29 @@ type CodecTypesOf<T> = [T] extends [never] ? Record<string, never> : T extends {
|
|
|
797
952
|
*/
|
|
798
953
|
type TypeMapsPhantomKey = '__@prisma-next/sql-contract/typeMaps@__';
|
|
799
954
|
type ExtractTypeMapsFromContract<T> = TypeMapsPhantomKey extends keyof T ? NonNullable<T[TypeMapsPhantomKey & keyof T]> : never;
|
|
955
|
+
type FieldOutputTypesOf<T> = [T] extends [never] ? Record<string, never> : T extends {
|
|
956
|
+
readonly fieldOutputTypes: infer F;
|
|
957
|
+
} ? F extends Record<string, Record<string, unknown>> ? F : Record<string, never> : Record<string, never>;
|
|
800
958
|
type ExtractCodecTypes<T> = CodecTypesOf<ExtractTypeMapsFromContract<T>>;
|
|
959
|
+
type ExtractFieldOutputTypes<T> = FieldOutputTypesOf<ExtractTypeMapsFromContract<T>>;
|
|
960
|
+
//#endregion
|
|
961
|
+
//#region ../sql-builder/dist/db-BdrQgIiw.d.mts
|
|
962
|
+
//#endregion
|
|
963
|
+
//#region src/types/db.d.ts
|
|
964
|
+
type CapabilitiesBase = Record<string, Record<string, boolean>>;
|
|
965
|
+
type TableProxyContract = {
|
|
966
|
+
readonly storage: {
|
|
967
|
+
readonly namespaces: Readonly<Record<string, {
|
|
968
|
+
readonly entries: {
|
|
969
|
+
readonly table: Readonly<Record<string, StorageTable>>;
|
|
970
|
+
};
|
|
971
|
+
}>>;
|
|
972
|
+
};
|
|
973
|
+
readonly capabilities: CapabilitiesBase;
|
|
974
|
+
};
|
|
975
|
+
type UnboundTables$1<C extends TableProxyContract> = { readonly [Name in TableNamesAcrossNamespaces<C>]: TableInAnyNamespace<C, Name> };
|
|
976
|
+
type TableNamesAcrossNamespaces<C extends TableProxyContract> = { [NSId in keyof C['storage']['namespaces']]: keyof C['storage']['namespaces'][NSId]['entries']['table'] & string }[keyof C['storage']['namespaces']];
|
|
977
|
+
type TableInAnyNamespace<C extends TableProxyContract, Name extends string> = { [NSId in keyof C['storage']['namespaces']]: Name extends keyof C['storage']['namespaces'][NSId]['entries']['table'] ? C['storage']['namespaces'][NSId]['entries']['table'][Name] : never }[keyof C['storage']['namespaces']];
|
|
801
978
|
//#endregion
|
|
802
979
|
//#region src/type-atoms.d.ts
|
|
803
980
|
/**
|
|
@@ -834,20 +1011,37 @@ type Simplify<TObject extends object> = DrainOuterGeneric<{ [K in keyof TObject]
|
|
|
834
1011
|
//#endregion
|
|
835
1012
|
//#region src/selection.d.ts
|
|
836
1013
|
/**
|
|
837
|
-
*
|
|
838
|
-
*
|
|
839
|
-
*
|
|
1014
|
+
* Flat table map for the query-builder surface: every table name declared in
|
|
1015
|
+
* any storage namespace, with colliding names unioned (parity with
|
|
1016
|
+
* `@prisma-next/sql-builder`).
|
|
840
1017
|
*/
|
|
841
|
-
type UnboundTables<TContract extends Contract<SqlStorage>> = TContract
|
|
1018
|
+
type UnboundTables<TContract extends Contract<SqlStorage>> = UnboundTables$1<TContract & TableProxyContract>;
|
|
1019
|
+
/**
|
|
1020
|
+
* The field-output override (the enum value union) for a `table.column`, or
|
|
1021
|
+
* `never` when no model field maps to it. The emitted `FieldOutputTypes`
|
|
1022
|
+
* TypeMap is keyed by model/field, so one pass over the models matches both the
|
|
1023
|
+
* `storage.table` and the field's `storage.fields[*].column` to read the
|
|
1024
|
+
* already-narrowed type back out.
|
|
1025
|
+
*/
|
|
1026
|
+
type FieldOutputOverride<TContract extends Contract, TTableName extends string, TColumnName extends string, Models = ContractModelDefinitions<TContract>, FOT = ExtractFieldOutputTypes<TContract>> = { [M in keyof Models & keyof FOT & string]: Models[M] extends {
|
|
1027
|
+
readonly storage: {
|
|
1028
|
+
readonly table: TTableName;
|
|
1029
|
+
readonly fields: infer Fields;
|
|
1030
|
+
};
|
|
1031
|
+
} ? { [F in keyof Fields & keyof FOT[M] & string]: Fields[F] extends {
|
|
1032
|
+
readonly column: TColumnName;
|
|
1033
|
+
} ? FOT[M][F] : never }[keyof Fields & keyof FOT[M] & string] : never }[keyof Models & keyof FOT & string];
|
|
842
1034
|
/**
|
|
843
|
-
*
|
|
844
|
-
*
|
|
1035
|
+
* The output type of a referenced column. Returns the enum value union from the
|
|
1036
|
+
* `FieldOutputTypes` TypeMap when the column is enum-typed (the override already
|
|
1037
|
+
* carries the correct nullability), otherwise the codec output type with column
|
|
1038
|
+
* nullability applied.
|
|
845
1039
|
*
|
|
846
1040
|
* @template TContract The contract that describes the database.
|
|
847
1041
|
* @template TTableName The name of the table containing the column.
|
|
848
1042
|
* @template TColumnName The name of the column whose output type is to be extracted.
|
|
849
1043
|
*/
|
|
850
|
-
type ExtractOutputType<TContract extends Contract<SqlStorage>, TTableName extends keyof UnboundTables<TContract> & string, TColumnName extends keyof UnboundTables<TContract>[TTableName]['columns'] & string, _TColumn = UnboundTables<TContract>[TTableName]['columns'][TColumnName]> = _TColumn extends StorageColumn ? (_TColumn['nullable'] extends true ? null : never) | ExtractCodecTypes<TContract>[_TColumn['codecId']]['output'] : never
|
|
1044
|
+
type ExtractOutputType<TContract extends Contract<SqlStorage>, TTableName extends keyof UnboundTables<TContract> & string, TColumnName extends keyof UnboundTables<TContract>[TTableName]['columns'] & string, _TColumn = UnboundTables<TContract>[TTableName]['columns'][TColumnName]> = [FieldOutputOverride<TContract, TTableName, TColumnName>] extends [never] ? _TColumn extends StorageColumn ? (_TColumn['nullable'] extends true ? null : never) | ExtractCodecTypes<TContract>[_TColumn['codecId']]['output'] : never : FieldOutputOverride<TContract, TTableName, TColumnName>;
|
|
851
1045
|
/**
|
|
852
1046
|
* A type representing a selection of columns in a SQL `select` query in the
|
|
853
1047
|
* most generic form.
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":["_$arktype_internal_variants_object_ts0","NamespaceId","__brand","asNamespaceId","value","CrossReference","namespace","model","CrossReferenceSchema","ObjectType","crossRef","ScalarFieldType","Record","kind","codecId","typeParams","ValueObjectFieldType","name","UnionFieldType","ReadonlyArray","members","ContractFieldType","ContractField","nullable","type","many","dict","ContractRelationOn","localFields","targetFields","ContractReferenceRelation","to","cardinality","on","ContractEmbedRelation","ContractRelation","ContractDiscriminator","field","ContractVariantEntry","ContractValueObject","fields","ModelStorageBase","Readonly","ContractModelBase","TModelStorage","relations","storage","discriminator","variants","base","owner","ContractModel","ReferenceRelationKeys","TModels","ModelName","K","EmbedRelationKeys","UNBOUND_DOMAIN_NAMESPACE_ID","ApplicationDomainNamespace","models","valueObjects","ApplicationDomain","namespaces","ContractWithDomain","domain","resolveSingleDomainNamespaceId","namespaceId","contractModels","contract","contractValueObjects","C","D","E","O","S","T","_","a","b","c","d","f","g","h","i","k","l","m","n","o","p","r","s","t","u","v","w","x","y","T","CrossReference","_","ContractValueObject","p","ContractModelBase","t","ApplicationDomain","$","Brand","TKey","TValue","K","StorageHashBase","THash","ExecutionHashBase","executionHash","value","coreHash","ProfileHashBase","profileHash","StorageEntitySlot","Record","Readonly","StorageNamespace","id","StorageBase","storageHash","namespaces","FieldType","type","nullable","items","properties","GeneratedValueSpec","params","JsonPrimitive","JsonValue","key","ColumnDefaultLiteralValue","ColumnDefaultLiteralInputValue","Date","isColumnDefaultLiteralInputValue","ColumnDefault","kind","expression","isColumnDefault","ExecutionMutationDefaultValue","isExecutionMutationDefaultValue","ExecutionMutationDefault","ref","table","column","onCreate","onUpdate","ExecutionMutationDefaultPhases","Omit","ExecutionSection","ReadonlyArray","mutations","defaults","Source","readOnly","projection","origin","capabilities","DocIndex","Expr","name","keys","unique","where","path","DocCollection","strategy","fields","indexes","PlanMeta","target","targetFamily","lane","annotations","ContractMarkerRecord","contractJson","canonicalVersion","updatedAt","appTag","meta","invariants","ContractExecutionSection","Contract","TStorage","TModels","roots","domain","storage","extensionPacks","execution","ContractModelsMap","TContract","ExactlyOneKey","Only","NamespaceValueObjectsOf","TNamespace","valueObjects","VO","ContractValueObjectsMap","Projected","A","C","D","E","F","M","N","O","P","S","a","b","c","d","f","g","h","i","j","k","l","m","n","o","r","s","u","v","w","x","y","ApplicationDomain","StorageBase","StorageNamespace","IRNode","kind","IRNodeBase","freezeNode","T","node","UNBOUND_NAMESPACE_ID","Namespace","NamespaceBase","id","EntityCoordinate","plane","namespaceId","entityKind","entityName","elementCoordinates","Pick","Generator","storage","Storage","Record","Readonly","namespaces","domainElementCoordinates","domain","StorageType","IRNodeBase","Namespace","NamespaceBase","Storage","StorageType","ColumnDefault","NamespaceId","StorageHashBase","CodecTrait","SqlNode","kind","constructor","ForeignKeyReferenceInput","namespaceId","tableName","columns","ForeignKeyReference","input","ReferentialAction","ForeignKeyInput","source","target","name","onDelete","onUpdate","constraint","index","ForeignKey","POSTGRES_ENUM_KIND","PostgresEnumStorageEntry","nativeType","values","codecId","isPostgresEnumStorageEntry","value","PrimaryKeyInput","PrimaryKey","IndexInput","Record","type","options","Index","StorageColumnInput","nullable","typeParams","typeRef","default","StorageColumn","UniqueConstraintInput","UniqueConstraint","StorageTableInput","ReadonlyArray","primaryKey","uniques","indexes","foreignKeys","StorageTable","Readonly","CODEC_INSTANCE_KIND","StorageTypeInstance","StorageTypeInstanceInput","toStorageTypeInstance","isStorageTypeInstance","SqlStorageTypeEntry","SqlNamespaceTablesInput","id","tables","enum","SqlStorageInput","THash","SqlNamespace","storageHash","types","namespaces","SqlStorage","buildSqlNamespace","buildSqlNamespaceMap","SqlUnboundNamespace","instance","ForeignKeyOptions","SqlModelFieldStorage","column","SqlModelStorage","table","fields","DEFAULT_FK_CONSTRAINT","DEFAULT_FK_INDEX","applyFkDefaults","fk","overrideDefaults","TypeMaps","TCodecTypes","TQueryOperationTypes","TFieldOutputTypes","TFieldInputTypes","output","codecTypes","queryOperationTypes","fieldOutputTypes","fieldInputTypes","CodecTypesOf","T","C","QueryOperationSelfSpec","traits","QueryOperationReturn","returnType","QueryOperationTypeEntry","self","impl","args","SqlQueryOperationTypes","_CT","QueryOperationTypesBase","QueryOperationTypesOf","Q","TypeMapsPhantomKey","ContractWithTypeMaps","TContract","TTypeMaps","K","ExtractTypeMapsFromContract","NonNullable","FieldOutputTypesOf","F","FieldInputTypesOf","ExtractCodecTypes","ExtractQueryOperationTypes","ExtractFieldOutputTypes","ExtractFieldInputTypes","ResolveCodecTypes","$","A","B","D","E","G","H","I","J","L","M","N","O","P","R","S","U","V","W","X","Y","Z","_","a","b","c","d","et","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","tt","u","v","w","x","y","z"],"sources":["../../../../1-framework/0-foundation/contract/dist/domain-envelope-4hyFtJ4_.d.mts","../../../../1-framework/0-foundation/contract/dist/contract-types-xgwKtd7y.d.mts","../src/type-errors.ts","../src/column-reference.ts","../../../../1-framework/1-core/framework-components/dist/ir.d.mts","../../../1-core/contract/dist/types-ChlHcJCu.d.mts","../src/type-atoms.ts","../src/selection.ts","../src/table-reference.ts","../src/ref.ts","../src/select-builder.ts","../src/root.ts"],"mappings":";;KAGKC,WAAAA;EAAAA,SACMC,OAAO;AAAA;AAAA;AAAA;AAAA,UAKRG,cAAAA;EAAAA,SACCC,SAAAA,EAAWL,WAAW;EAAA,SACtBM,KAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAMNI,eAAAA;EAAAA,SACME,IAAAA;EAAAA,SACAC,OAAAA;EAAAA,SACAC,UAAAA,GAAaH,MAAM;AAAA;AAAA,KAEzBI,oBAAAA;EAAAA,SACMH,IAAAA;EAAAA,SACAI,IAAI;AAAA;AAAA,KAEVC,cAAAA;EAAAA,SACML,IAAAA;EAAAA,SACAO,OAAAA,EAASD,aAAAA,CAAcR,eAAAA,GAAkBK,oBAAAA;AAAAA;AAAAA,KAE/CK,iBAAAA,GAAoBV,eAAAA,GAAkBK,oBAAAA,GAAuBE,cAAAA;AAAAA,KAC7DI,aAAAA;EAAAA,SACMC,QAAAA;EAAAA,SACAC,IAAAA,EAAMH,iBAAiB;EAAA,SACvBI,IAAAA;EAAAA,SACAC,IAAAA;AAAAA;AAAAA,KAENC,kBAAAA;EAAAA,SACMC,WAAAA;EAAAA,SACAC,YAAY;AAAA;AAAA,KAElBC,yBAAAA;EAAAA,SACMC,EAAAA,EAAI1B,cAAAA;EAAAA,SACJ2B,WAAAA;EAAAA,SACAC,EAAAA,EAAIN,kBAAkB;AAAA;AAAA,KAE5BO,qBAAAA;EAAAA,SACMH,EAAAA,EAAI1B,cAAc;EAAA,SAClB2B,WAAAA;AAAAA;AAAAA,KAENG,gBAAAA,GAAmBL,yBAAAA,GAA4BI,qBAAqB;AAAA,KACpEE,qBAAAA;EAAAA,SACMC,KAAK;AAAA;AAAA,KAEXC,oBAAAA;EAAAA,SACMlC,KAAK;AAAA;AAAA,KAEXmC,mBAAAA;EAAAA,SACMC,MAAAA,EAAQ5B,MAAM,SAASU,aAAAA;AAAAA;AAAAA,KAE7BmB,gBAAAA,GAAmBC,QAAQ,CAAC9B,MAAAA;AAAAA,UACvB+B,iBAAAA,uBAAwCF,gBAAAA,GAAmBA,gBAAAA;EAAAA,SAC1DD,MAAAA,EAAQ5B,MAAAA,SAAeU,aAAAA;EAAAA,SACvBuB,SAAAA,EAAWjC,MAAAA,SAAeuB,gBAAAA;EAAAA,SAC1BW,OAAAA,EAASF,aAAAA;EAAAA,SACTG,aAAAA,GAAgBX,qBAAAA;EAAAA,SAChBY,QAAAA,GAAWpC,MAAAA,SAAe0B,oBAAAA;EAAAA,SAC1BW,IAAAA,GAAO5C,cAAAA;EAAAA,SACP6C,KAAAA;AAAAA;;;;;UAkBDQ,0BAAAA,iBAA2C9C,MAAAA,SAAe+B,iBAAAA,IAAqB/B,MAAAA,SAAe+B,iBAAAA;EAAAA,SAC7FgB,MAAAA,EAAQN,OAAAA;EAAAA,SACRO,YAAAA,GAAehD,MAAAA,SAAe2B,mBAAAA;AAAAA;;;;;UAM/BsB,iBAAAA,iBAAkCjD,MAAAA,SAAe+B,iBAAAA,IAAqB/B,MAAAA,SAAe+B,iBAAAA;EAAAA,SACpFmB,UAAAA,EAAYpB,QAAAA,CAAS9B,MAAAA,SAAe8C,0BAAAA,CAA2BL,OAAAA;AAAAA;;;;;AA/FoB;;cCMhFsD,CAAAA;;ADFI;AAEwC;;;;KCOrDC,KAAAA;EAAAA,CACFD,CAAAA,WAAYE,IAAAA,GAAOC,MAAAA;AAAAA;;ADHN;AAG4D;;;KCOvEE,eAAAA,yBAAwCC,KAAAA,GAAQL,KAAK;;;;;;KAMrDM,iBAAAA,yBAA0CD,KAAAA,GAAQL,KAAK;;;ADH7C;AAAA;;KCWVU,eAAAA,yBAAwCL,KAAAA,GAAQL,KAAK;;;;;ADPc;UCoB9De,gBAAAA;EAAAA,SACCC,EAAE;AAAA;;;;;;;;;;UAWHC,WAAAA;EAAAA,SACCC,WAAAA,EAAad,eAAAA,CAAgBC,KAAAA;EAAAA,SAC7Bc,UAAAA,EAAYL,QAAAA,CAASD,MAAAA,SAAeE,gBAAAA;AAAAA;AAAAA,KAQ1CU,kBAAAA;EAAAA,SACMT,EAAAA;EAAAA,SACAU,MAAAA,GAASb,MAAM;AAAA;AAAA,KAErBc,aAAAA;AAAAA,KACAC,SAAAA,GAAYD,aAAAA;EAAAA,UACLE,GAAAA,WAAcD,SAAAA;AAAAA,aACbA,SAAAA;AAAAA,KACRE,yBAAAA,GAA4BF,SAAS;AAAA,KACrCG,8BAAAA,GAAiCD,yBAAAA,GAA4BE,IAAI;;;;;;;;ADnCrC;KC6C5BE,aAAAA;EAAAA,SACMC,IAAAA;EAAAA,SACA3B,KAAAA,EAAOuB,8BAA8B;AAAA;EAAA,SAErCI,IAAAA;EAAAA,SACAC,UAAAA;AAAAA;AAAAA,KAGNE,6BAAAA;EAAAA,SACMH,IAAAA;EAAAA,SACAnB,EAAAA,EAAIS,kBAAAA;EAAAA,SACJC,MAAAA,GAASb,MAAM;AAAA;AAAA,KAGrB2B,wBAAAA;EAAAA,SACMC,GAAAA;IAAAA,SACEC,KAAAA;IAAAA,SACAC,MAAAA;EAAAA;EAAAA,SAEFC,QAAAA,GAAWN,6BAAAA;EAAAA,SACXO,QAAAA,GAAWP,6BAA6B;AAAA;ADtDnC;AAAA;;;AAAA;AAAA;;;;;;;;;;KCmIX0C,wBAAAA;EAAAA,SACMzE,aAAAA,EAAeD,iBAAAA,CAAkBD,KAAAA;EAAAA,SACjC6C,SAAAA;IAAAA,SACEC,QAAAA,EAAUF,aAAAA,CAAcT,wBAAAA;EAAAA;AAAAA;;;;;;;;;;;;;;;;UAkB3ByC,QAAAA,kBAA0BhE,WAAAA,GAAcA,WAAAA,kBAA6BJ,MAAAA,SAAejB,iBAAAA,IAAqBiB,MAAAA,SAAejB,iBAAAA;EAAAA,SACvHyE,MAAAA;EAAAA,SACAC,YAAAA;EAAAA,SACAc,KAAAA,EAAOvE,MAAAA,SAAerB,cAAAA;EDnHgD;;;;EAAA,SCwHtE6F,MAAAA,EAAQvF,iBAAAA,CAAkBqF,OAAAA;EAAAA,SAC1BG,OAAAA,EAASJ,QAAAA;EAAAA,SACT1B,YAAAA,EAAc3C,MAAAA,SAAeA,MAAAA;EAAAA,SAC7B0E,cAAAA,EAAgB1E,MAAAA;EAAAA,SAChB2E,SAAAA,GAAYR,wBAAAA;EAAAA,SACZrE,WAAAA,EAAaD,eAAAA;EAAAA,SACboE,IAAAA,EAAMjE,MAAAA;AAAAA;;;;;;AD7N6E;;KEOlF,YAAA;;AFHM;AAEwC;;;;KES9C,qCAAA,kBAAuD,YAAA,IAAgB,KAAA,CAAM,QAAA;;;;;AFfK;;;;AAI5E;KGMN,eAAA,wFAGI,eAAA,WAA0B,eAAA;EAAA,SAE/B,OAAA,EAAS,WAAA;EAAA,SACT,QAAA,EAAU,UAAA;AAAA,IACjB,KAAA,8EAEC,UAAA,IAAc,KAAA;;;;;AHRH;AAG4D;KGchE,iCAAA,kBAAmD,YAAA,IAAgB,KAAA,CAAM,QAAA;;;;KAKzE,QAAA;EAAA,SACD,OAAA;EAAA,SACA,QAAA;AAAA,IACP,KAAK;AHhBqB;AAAA;;;;AAIf;AAJe,KGwBlB,aAAA,mDAEI,eAAA,WAA0B,eAAA;EAAA,SAE/B,OAAA;EAAA,SACA,QAAA,EAAU,UAAA;AAAA,IACjB,KAAA,oFAEC,UAAA,IAAc,KAAA;;;;;AHpD2E;;;;AAI5E;AAEwC;;;;;;;;AAK1C;AAG4D;;;;;;;;;AAM9C;AAAA;;;;AAIf;AAAA;;;;;;;;;;UImBLwH,MAAAA;EAAAA,SACCC,IAAI;AAAA;AAAA,uBAEQC,UAAAA,YAAsBF,MAAM;EAAA,kBAC/BC,IAAI;AAAA;;;;;;;;;;;;AJHS;AAAA;;;;;;;;AAIX;AAAA;;;;AAEmD;AAAA;;;;AAEzD;AAAA;;;;AAGA;AAAA;;;;;UI8DNM,SAAAA,SAAkBP,MAAAA,EAAQD,gBAAgB;EAAA,SACzCE,IAAAA;AAAAA;;;AJlDK;AAawC;;;;;;;;;;;;;;;;;;;;;;;AAOI;AAAA;;;;;;;;UI2GlDkB,OAAAA,SAAgBnB,MAAAA;EAAAA,SACfsB,UAAAA,EAAYD,QAAAA,CAASD,MAAAA,SAAeb,SAAAA;AAAAA;AAAAA;;;;;;;;;;;AJrGkC;;;;AC/F8D;;;;AAMjH;AAAA;;;;;;;;UG8NpBkB,WAAAA,SAAoBzB,MAAM;EAAA,SACzBC,IAAI;AAAA;;;;;;;AJjOG;AAEwC;;;;;;;;AAK1C;AAG4D;;;;;;;;;AAM9C;AAAA;;;;AAIf;AAAA;;;;uBKaQkC,OAAAA,SAAgBT,UAAU;EAAA,SACtCU,IAAAA;EACTC,WAAAA,CAAAA;AAAAA;AAAAA;AAAAA,UAIQC,wBAAAA;EAAAA,SACCC,WAAAA;EAAAA,SACAC,SAAAA;EAAAA,SACAC,OAAAA;AAAAA;ALlB6D;;;;;;;AAAA,cK2B1DC,mBAAAA,SAA4BP,OAAAA;EAAAA,SAC/BI,WAAAA,EAAaP,WAAAA;EAAAA,SACbQ,SAAAA;EAAAA,SACAC,OAAAA;EACTJ,WAAAA,CAAYM,KAAAA,EAAOL,wBAAAA;AAAAA;AAAAA;AAAAA,KAIhBM,iBAAAA;AAAAA,UACKC,eAAAA;EAAAA,SACCC,MAAAA,EAAQJ,mBAAAA,GAAsBJ,wBAAAA;EAAAA,SAC9BS,MAAAA,EAAQL,mBAAAA,GAAsBJ,wBAAAA;EAAAA,SAC9BU,IAAAA;EAAAA,SACAC,QAAAA,GAAWL,iBAAAA;EAAAA,SACXM,QAAAA,GAAWN,iBAAAA;ELlCP;EAAA,SKoCJO,UAAAA;ELpCI;EAAA,SKsCJC,KAAAA;AAAAA;;ALlCY;AAAA;;;;;;;;;;cKgDTC,UAAAA,SAAmBlB,OAAAA;EAAAA,SACtBW,MAAAA,EAAQJ,mBAAAA;EAAAA,SACRK,MAAAA,EAAQL,mBAAAA;EAAAA,SACRS,UAAAA;EAAAA,SACAC,KAAAA;EAAAA,SACAJ,IAAAA;EAAAA,SACAC,QAAAA,GAAWL,iBAAAA;EAAAA,SACXM,QAAAA,GAAWN,iBAAAA;EACpBP,WAAAA,CAAYM,KAAAA,EAAOE,eAAAA;AAAAA;AAAAA;;;AL7CoD;AAAA;;;;AAEzD;AAAA;;;;AAGA;AAAA;;cK2DFS,kBAAAA;;;;;;ALxDiC;AAAA;;;;AAER;AAAA;UKmE7BC,wBAAAA,SAAiCzB,WAAW;EAAA,SAC3CM,IAAAA,SAAakB,kBAAAA;EAAAA,SACbN,IAAAA;EAAAA,SACAQ,UAAAA;EAAAA,SACAC,MAAAA;ELrEQ9R;;;;;;;EAAAA,SK6ER+R,OAAAA;AAAAA;;;;;;;;UAUDG,eAAAA;EAAAA,SACCpB,OAAAA;EAAAA,SACAO,IAAI;AAAA;;;;cAKDc,UAAAA,SAAmB3B,OAAO;EAAA,SAC7BM,OAAAA;EAAAA,SACAO,IAAAA;EACTX,WAAAA,CAAYM,KAAAA,EAAOkB,eAAAA;AAAAA;AAAAA;AAAAA,UAIXE,UAAAA;EAAAA,SACCtB,OAAAA;EAAAA,SACAO,IAAAA;EAAAA,SACAiB,IAAAA;EAAAA,SACAC,OAAAA,GAAUF,MAAM;AAAA;;;;;;;;;cAUbG,KAAAA,SAAchC,OAAAA;EAAAA,SACjBM,OAAAA;EAAAA,SACAO,IAAAA;EAAAA,SACAiB,IAAAA;EAAAA,SACAC,OAAAA,GAAUF,MAAAA;EACnB3B,WAAAA,CAAYM,KAAAA,EAAOoB,UAAAA;AAAAA;AAAAA;AL9FuC;AAAA;;;;;;;;;AAAA,UK4GlDK,kBAAAA;EAAAA,SACCZ,UAAAA;EAAAA,SACAE,OAAAA;EAAAA,SACAW,QAAAA;EAAAA,SACAC,UAAAA,GAAaN,MAAAA;EAAAA,SACbO,OAAAA;EAAAA,SACAC,OAAAA,GAAUzC,aAAa;AAAA;;;;;;;;AL3G+C;;;;AC/F8D;;cIyNjI0C,aAAAA,SAAsBtC,OAAAA;EAAAA,SACzBqB,UAAAA;EAAAA,SACAE,OAAAA;EAAAA,SACAW,QAAAA;EAAAA,SACAC,UAAAA,GAAaN,MAAAA;EAAAA,SACbO,OAAAA;EAAAA,SACAC,OAAAA,GAAUzC,aAAAA;EACnBM,WAAAA,CAAYM,KAAAA,EAAOyB,kBAAAA;AAAAA;AAAAA;AAAAA,UAIXM,qBAAAA;EAAAA,SACCjC,OAAAA;EAAAA,SACAO,IAAI;AAAA;;;;cAKD2B,gBAAAA,SAAyBxC,OAAO;EAAA,SACnCM,OAAAA;EAAAA,SACAO,IAAAA;EACTX,WAAAA,CAAYM,KAAAA,EAAO+B,qBAAAA;AAAAA;AAAAA;AAAAA,UAIXE,iBAAAA;EAAAA,SACCnC,OAAAA,EAASuB,MAAAA,SAAeS,aAAAA,GAAgBL,kBAAAA;EAAAA,SACxCU,UAAAA,GAAahB,UAAAA,GAAaD,eAAAA;EAAAA,SAC1BkB,OAAAA,EAASF,aAAAA,CAAcF,gBAAAA,GAAmBD,qBAAAA;EAAAA,SAC1CM,OAAAA,EAASH,aAAAA,CAAcV,KAAAA,GAAQJ,UAAAA;EAAAA,SAC/BkB,WAAAA,EAAaJ,aAAAA,CAAcxB,UAAAA,GAAaR,eAAAA;AAAAA;;;;;AJ5NS;AAEkB;;;;;;;cIwOhEqC,YAAAA,SAAqB/C,OAAAA;EAAAA,SACxBM,OAAAA,EAAS0C,QAAAA,CAASnB,MAAAA,SAAeS,aAAAA;EAAAA,SACjCM,OAAAA,EAASF,aAAAA,CAAcF,gBAAAA;EAAAA,SACvBK,OAAAA,EAASH,aAAAA,CAAcV,KAAAA;EAAAA,SACvBc,WAAAA,EAAaJ,aAAAA,CAAcxB,UAAAA;EAAAA,SAC3ByB,UAAAA,GAAahB,UAAAA;EACtBzB,WAAAA,CAAYM,KAAAA,EAAOiC,iBAAAA;AAAAA;AAAAA;;;;;;;;cAWPQ,mBAAAA;;;;;;;;;UASJC,mBAAAA,SAA4BvD,WAAAA;EAAAA,SAC3BM,IAAAA,SAAagD,mBAAAA;EAAAA,SACb1B,OAAAA;EAAAA,SACAF,UAAAA;EAAAA,SACAc,UAAAA,EAAYN,MAAAA;AAAAA;;;;AJ3NG;AAAA;UIkOhBsB,wBAAAA;EAAAA,SACC5B,OAAAA;EAAAA,SACAF,UAAAA;EAAAA,SACAc,UAAAA,EAAYN,MAAM;AAAA;;;;;;;;;;;AJ/Na;AAAA;;KIqPrCyB,mBAAAA,GAAsBJ,mBAAAA,GAAsBC,wBAAAA,GAA2B/B,wBAAAA;AAAAA,UAMlEuC,eAAAA;EAAAA,SACCG,WAAAA,EAAahE,eAAAA,CAAgB8D,KAAAA;EAAAA,SAC7BG,KAAAA,GAAQlC,MAAAA,SAAeyB,mBAAAA;EAAAA,SACvBU,UAAAA,EAAYhB,QAAAA,CAASnB,MAAAA,SAAegC,YAAAA;AAAAA;;;AJ9O1B;AAEmD;;;;;;;;;;AAI9C;AAE8E;;;;;;;;;KI+PnGA,YAAAA,GAAerE,SAAAA;EAAAA,SACTiE,MAAAA,EAAQT,QAAAA,CAASnB,MAAAA,SAAekB,YAAAA;EAAAA,SAChCW,IAAAA,GAAOV,QAAAA,CAASnB,MAAAA,SAAeT,wBAAAA;AAAAA;AAAAA,cAE5B6C,UAAAA,wCAAkDjE,OAAAA,YAAmBN,OAAAA;EAAAA,SACxEoE,WAAAA,EAAahE,eAAAA,CAAgB8D,KAAAA;EAAAA,SAC7BI,UAAAA,EAAYhB,QAAAA,CAASnB,MAAAA,SAAegC,YAAAA;EAAAA,SACpCE,KAAAA,GAAQf,QAAAA,CAASnB,MAAAA,SAAeqB,mBAAAA,GAAsB9B,wBAAAA;EAC/DlB,WAAAA,CAAYM,KAAAA,EAAOmD,eAAAA,CAAgBC,KAAAA;AAAAA;AAAAA;AAAAA,KAiFhC+B,YAAAA,OAAmBC,CAAAA,oBAAqB/D,MAAAA,kBAAwB+D,CAAAA;EAAAA,SAC1DL,UAAAA;AAAAA,IACPM,CAAAA,SAAUhE,MAAAA;EACZyD,MAAAA;AAAAA,KACGO,CAAAA,GAAIhE,MAAAA,kBAAwBA,MAAAA;;;;AHnbgE;;;;KG4d5F8E,kBAAAA;AAAAA,KAEAK,2BAAAA,MAAiCL,kBAAAA,eAAiCf,CAAAA,GAAIqB,WAAAA,CAAYrB,CAAAA,CAAEe,kBAAAA,SAA2Bf,CAAAA;AAAAA,KAO/GyB,iBAAAA,MAAuB1B,YAAAA,CAAaqB,2BAAAA,CAA4BpB,CAAAA;;;;;;;ALpfyB;KMKlF,iBAAA,YAA6B,MAAA,sBAA4B,MAAM;;;ANDzD;AAEwC;;KMM9C,kBAAA,yCACE,OAAA,KAAY,OAAA,CAAQ,OAAA,OAAc,OAAA,EAAS,CAAA,WACjD,OAAA;;;;ANHQ;AAG4D;;KMQhE,YAAA,qDAAiE,iBAAA,CAC3E,OAAA,CAAQ,QAAA,iBACJ,QAAA,0BAEuB,QAAA,SAAiB,QAAA,GAAW,CAAA,eAAgB,QAAA,GAC7D,QAAA,CAAS,CAAA,IACT,CAAA,eAAgB,QAAA,GACd,QAAA,CAAS,CAAA;;;;;ANTO;KMmBlB,OAAA,YAAmB,MAAM;;;;ANftB;AAAA;KMsBH,QAAA,2BAAmC,iBAAA,eAC/B,OAAA,GAAU,OAAA,CAAQ,CAAA;;;;AN/C4D;;;;KOSlF,aAAA,mBAAgC,QAAA,CAAS,UAAA,KACnD,SAAA;APJwD;;;;;;;;AAAA,KOc9C,iBAAA,mBACQ,QAAA,CAAS,UAAA,4BACF,aAAA,CAAc,SAAA,sCACb,aAAA,CAAc,SAAA,EAAW,UAAA,kCACxC,aAAA,CAAc,SAAA,EAAW,UAAA,aAAuB,WAAA,KACzD,QAAA,SAAiB,aAAA,IAEZ,QAAA,4CACD,iBAAA,CAAkB,SAAA,EAAW,QAAA;APduC;;;;AAAA,KOqBhE,SAAA,GAAY,MAAM,SAAS,cAAA;;;;;APfT;AAAA;UOuBb,cAAA;EAAA,SACN,WAAA,EAAa,SAAA;EAAA,SACb,SAAA,EAAW,OAAO;AAAA;APrBd;;;;;;AAAA,KO8BH,gBAAA,mBACQ,QAAA,CAAS,UAAA,4BACF,aAAA,CAAc,SAAA,cACrC,iBAAA,iCAC4B,aAAA,CAAc,SAAA,EAAW,UAAA,wBAC5C,cAAA,CACT,iBAAA,CAAkB,SAAA,EAAW,UAAA,EAAY,UAAA,GACzC,aAAA,CAAc,SAAA,EAAW,UAAA,aAAuB,UAAA;;;;;AP7D0C;;;;KQSlF,cAAA,8CAEI,eAAA,WAA0B,eAAA;EAAA,SAE/B,OAAA,EAAS,KAAA;AAAA,IAChB,KAAA,yFAEF,KAAA;;;;;;;KASU,gCAAA,kBAAkD,YAAA,IAAgB,KAAA,CAAM,QAAA;ARXR;;;;;;AAAA,KQmBhE,0BAAA,kBAA4C,YAAA,IAAgB,KAAA,CAAM,QAAA;;;;;;AR7B5D;AAEwC;KSU9C,GAAA,mBAAsB,QAAA,CAAS,UAAA,oCACZ,aAAA,CAAc,SAAA,aAAsB,cAAA,CAC/D,SAAA,EACA,SAAA,wDAEwB,OAAA,OAChB,aAAA,CAAc,SAAA,EAAW,SAAA,oBACzB,cAAA,aAEG,eAAA,CAAgB,UAAA,EAAY,SAAA,EAAW,SAAA;EAAA,UAExC,GAAA,GAAM,aAAA,CAAc,SAAA,EAAW,SAAA;AAAA,IACvC,MAAA,CACA,WAAA,EACA,iCAAA,uDAAwF,SAAA;EAAA,UAGlF,GAAA,GAAM,QAAA;AAAA,IACd,MAAA,CACA,WAAA,EACA,gCAAA;;;;;;iBAQY,SAAA,mBAA4B,QAAA,CAAS,UAAA,EAAA,CACnD,SAAA,EAAW,SAAA,GACV,GAAA,CAAI,SAAA;;;;;AT1CW;AAEwC;;;;cUQ7C,aAAA,mBACO,QAAA,CAAS,UAAA,mBACX,aAAA,CAAc,QAAA,CAAS,UAAA,uBACpB,SAAA;EAAA;cAMP,QAAA,EAAU,SAAA;EAItB,MAAA,CACE,QAAA,EAAU,QAAA,GACT,kBAAA,CAAmB,OAAA,iBAClB,aAAA,CACE,SAAA,EACA,OAAA,EACA,YAAA,CAAa,UAAA,EAAY,gBAAA,CAAiB,SAAA,QAAiB,OAAA,eAE7D,qCAAA;EACJ,MAAA,0BAAgC,OAAA,UAAA,CAC9B,QAAA,EAAU,aAAA,CAAc,UAAA,EAAY,SAAA,8BACnC,aAAA,CACD,SAAA,EACA,OAAA,EACA,YAAA,CAAa,UAAA,EAAY,gBAAA,CAAiB,SAAA,EAAW,UAAA;EAEvD,MAAA,CACE,GAAA,UACC,qCAAA;EAQH,KAAA,CAAA,GAAS,OAAA,CAAQ,UAAA,yBAGb,QAAA,CAAS,UAAA;AAAA;;;;;AVpDG;AAEwC;;cWM7C,IAAA,mBAAuB,QAAA,CAAS,UAAA;EAAA;cAG/B,QAAA,EAAU,SAAA;EXLF/W;;;AACN;AAG4D;EWU1E,IAAA,CACE,KAAA,EAAO,cAAA,UACN,qCAAA;;;;EAIH,IAAA,sBAAA,CACE,KAAA,iBAAsB,KAAA,GAClB,0BAAA,0FACA,cAAA,CAAe,KAAA,EAAO,SAAA,8BACzB,KAAA,kBACC,aAAA,CAAc,SAAA,EAAW,IAAA,CAAK,aAAA,CAAc,SAAA,GAAY,KAAA,KACxD,qCAAA;EACJ,IAAA,CACE,KAAA,EAAO,0BAAA,0FACN,qCAAA;AAAA;;AXnByB;AAAA;iBWgCd,UAAA,CACd,QAAA,UACC,qCAAqC;;;AX9BzB;iBWkCC,UAAA,mBAA6B,QAAA,CAAS,UAAA,EAAA,CACpD,QAAA,EAAU,SAAA,GACT,IAAA,CAAK,SAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":["__brand","value","NamespaceId","namespace","model","space","ObjectType","CrossReference","TKey","TValue","$","K","THash","Brand","T","ExecutionHashBase","StorageHashBase","ProfileHashBase","Readonly","Record","id","entries","StorageEntitySlot","storageHash","namespaces","StorageNamespace","type","nullable","items","FieldType","properties","params","JsonPrimitive","key","JsonValue","ColumnDefaultLiteralValue","Date","ColumnDefaultLiteralInputValue","kind","expression","ColumnDefault","GeneratedValueSpec","ExecutionMutationDefaultValue","ref","table","column","onCreate","onUpdate","Omit","ExecutionMutationDefault","executionHash","mutations","defaults","ReadonlyArray","readOnly","projection","origin","capabilities","name","keys","unique","where","Expr","path","strategy","fields","indexes","DocIndex","target","targetFamily","profileHash","lane","annotations","contractJson","canonicalVersion","updatedAt","appTag","meta","invariants","migrationName","migrationHash","from","to","appliedAt","operationCount","plane","namespaceId","entityKind","spaceId","codecId","typeParams","members","ScalarFieldType","ValueObjectFieldType","UnionFieldType","ContractFieldType","many","dict","valueSet","ValueSetRef","localFields","targetFields","parentColumns","childColumns","targetColumns","cardinality","on","ContractRelationOn","through","ContractRelationThrough","ContractManyToManyRelation","ContractNonJunctionRelation","ContractReferenceRelation","ContractEmbedRelation","field","ContractField","TModelStorage","ModelStorageBase","relations","ContractRelation","storage","discriminator","ContractDiscriminator","variants","ContractVariantEntry","base","owner","ContractModelBase","TModels","ModelName","models","valueObjects","ContractValueObject","enum","ContractEnum","ApplicationDomainNamespace","domain","ApplicationDomain","ControlPolicy","nodeControl","defaultControlPolicy","THash","executionHash","ExecutionHashBase","mutations","defaults","ReadonlyArray","ExecutionMutationDefault","TStorage","StorageBase","TModels","Record","ContractModelBase","target","targetFamily","roots","CrossReference","domain","ApplicationDomain","storage","capabilities","extensionPacks","execution","ContractExecutionSection","profileHash","ProfileHashBase","meta","TContract","Contract","T","Only","TNamespace","valueObjects","VO","ContractValueObject","NamespaceValueObjectsOf","ExactlyOneNamespace","Projected","kind","IRNode","T","node","StorageNamespace","entries","Readonly","Record","IRNodeBase","Namespace","id","plane","namespaceId","entityKind","entityName","Pick","StorageBase","storage","Generator","EntityCoordinate","namespaces","ApplicationDomain","domain","IRNodeBase","kind","constructor","namespaceId","tableName","columns","spaceId","SqlNode","NamespaceId","ForeignKeyReferenceInput","input","source","ForeignKeyReference","target","name","onDelete","ReferentialAction","onUpdate","constraint","index","ForeignKeyInput","name","column","valueSet","ValueSetRef","SqlNode","constructor","CheckConstraintInput","input","columns","PrimaryKeyInput","type","options","Record","IndexInput","nativeType","codecId","nullable","typeParams","typeRef","default","ColumnDefault","control","ControlPolicy","StorageColumnInput","UniqueConstraintInput","StorageColumn","primaryKey","PrimaryKey","uniques","ReadonlyArray","UniqueConstraint","indexes","Index","foreignKeys","ForeignKey","ForeignKeyInput","checks","CheckConstraint","Readonly","StorageTableInput","StorageType","kind","CODEC_INSTANCE_KIND","StorageTypeInstanceInput","StorageTypeInstance","value","values","JsonValue","StorageValueSetInput","id","entries","table","StorageTable","StorageValueSet","THash","storageHash","StorageHashBase","types","SqlStorageTypeEntry","namespaces","SqlNamespace","Namespace","qualifyTable","tableName","Storage","SqlStorageInput","SqlStorage","storage","namespaceId","SqlNamespaceTablesInput","input","SqlNamespace","Readonly","Record","Namespace","namespaces","StorageType","kind","POSTGRES_ENUM_KIND","name","nativeType","values","codecId","control","ControlPolicy","value","PostgresEnumStorageEntry","NamespaceBase","instance","SqlUnboundNamespace","id","entries","table","StorageTable","constructor","qualifyTable","tableName","T","ControlDriverInstance","query","Row","sql","params","Promise","rows","onDelete","ReferentialAction","onUpdate","column","nullable","namespaceId","fields","SqlModelFieldStorage","constraint","index","fk","overrideDefaults","TCodecTypes","output","TQueryOperationTypes","TFieldOutputTypes","TFieldInputTypes","codecTypes","queryOperationTypes","fieldOutputTypes","fieldInputTypes","C","traits","CodecTrait","returnType","self","QueryOperationSelfSpec","impl","args","QueryOperationReturn","_CT","QueryOperationTypeEntry","Q","TContract","TTypeMaps","K","TypeMapsPhantomKey","NonNullable","F","CodecTypesOf","ExtractTypeMapsFromContract","QueryOperationTypesOf","FieldOutputTypesOf","FieldInputTypesOf","ExtractCodecTypes","Capabilities","Required","Method","T","K","Record","ScopeField","topLevel","ScopeTable","namespaces","Row","Alias","JoinOuterScope","getJoinOuterScope","Scope","buildAst","AnyFromSource","Name","Table","StorageTable$1","StorageTableToScopeTable","codecId","nullable","A","B","Expand","Omit","S","OldKey","NewKey","NullableScopeTable","TableName","RowType","SubqueryMarker","SelectAst","getRowFields","codecTypes","CodecTypesBase","capabilities","queryOperationTypes","QueryOperationTypesBase","resolvedColumnOutputTypes","Source","Field","FromScope","Columns","Pick","Expression$1","F","AvailableScope","QC","QueryContext","FieldProxy","fields","Functions","fns","BooleanCodecType","direction","OrderByDirection","nulls","OrderByNulls","OT","CT","input","eq","CodecId","CodecExpression","a","b","ne","N","gt","gte","lt","lte","and","ands","or","ors","exists","Subquery","subquery","notExists","in","expr","Array","values","notIn","raw","RawSqlTag","BuiltinFunctions","DeriveExtFunctions","count","CountField","sum","avg","min","max","AggregateOnlyFunctions","CodecTypes","output","PreResolved","ResolveField","ApplyNullable","NonNullable","sql","returning","StorageTable","annotate","As","AnnotationValue","OperationKind","annotations","ValidAnnotations","InsertQuery","GatedMethod","ReturningCapability","columns","WithFields","EmptyRow","build","SqlQueryPlan","ResolveRow","UpdateQuery","where","ExpressionBuilder","DeleteQuery","WithSelect","WithJoin","WithPagination","WithDistinct","WithAlias","WithBuild","GroupedQuery","groupBy","OrderByScope","having","AggregateFunctions","orderBy","field","OrderByOptions","options","distinctOn","postgres","SelectQuery","ParentScope","from","Other","JoinSource","other","MergeScopes","select","alias","WithField","Result","callback","ExtractScopeFields","innerJoin","on","JoinedTables","outerLeftJoin","NullableScope","outerRightJoin","outerFullJoin","lateralJoin","lateral","LateralRow","LateralBuilder","builder","outerLateralJoin","TraitExpression","limit","PaginationValue","offset","distinct","as","newAlias","C","Contract","M","ContractModelDefinitions","storage","table","ModelName","ColumnName","column","FieldTypes","FindModelForTable","TableProxyContract","UnboundTables","Tables","ColName","FindFieldForColumn","FieldName","FieldInputs","InsertValues","ResolvedInsertValues","ExtractCodecTypes","ExtractQueryOperationTypes","ResolvedColumnTypes","ExtractFieldOutputTypes","DefaultScope","ContractToQC","NewAlias","TableProxy","RebindScope","insert","ReadonlyArray","ExtractFieldInputTypes","rows","update","ResolvedUpdateValues","set","ResolvedUpdateExpressions","delete","Readonly","entries","CapabilitiesBase","TableNamesAcrossNamespaces","TableInAnyNamespace","NSId","NsId","Ns","Namespace"],"sources":["../../../../1-framework/0-foundation/contract/dist/domain-envelope-DKOnhO5d.d.mts","../../../../1-framework/0-foundation/contract/dist/contract-types-CtIh62PH.d.mts","../src/type-errors.ts","../src/column-reference.ts","../../../../1-framework/1-core/framework-components/dist/ir.d.mts","../../../1-core/contract/dist/foreign-key-BATxB95l.d.mts","../../../1-core/contract/dist/sql-storage-C2IALLla.d.mts","../../../1-core/contract/dist/types-C2A2nkzv.d.mts","../../sql-builder/dist/db-BdrQgIiw.d.mts","../src/type-atoms.ts","../src/selection.ts","../src/table-reference.ts","../src/ref.ts","../src/select-builder.ts","../src/root.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-next/sql-lane-query-builder",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0-dev.10",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"description": "SQL query builder lane for Prisma Next",
|
|
8
8
|
"devDependencies": {
|
|
9
|
-
"@prisma-next/contract": "0.
|
|
10
|
-
"@prisma-next/sql-
|
|
11
|
-
"@prisma-next/
|
|
12
|
-
"@prisma-next/
|
|
13
|
-
"tsdown": "0.
|
|
9
|
+
"@prisma-next/contract": "0.13.0-dev.10",
|
|
10
|
+
"@prisma-next/sql-builder": "0.13.0-dev.10",
|
|
11
|
+
"@prisma-next/sql-contract": "0.13.0-dev.10",
|
|
12
|
+
"@prisma-next/tsconfig": "0.13.0-dev.10",
|
|
13
|
+
"@prisma-next/tsdown": "0.13.0-dev.10",
|
|
14
|
+
"tsdown": "0.22.1",
|
|
14
15
|
"typescript": "5.9.3",
|
|
15
|
-
"vitest": "4.1.
|
|
16
|
+
"vitest": "4.1.8"
|
|
16
17
|
},
|
|
17
18
|
"peerDependencies": {
|
|
18
19
|
"typescript": ">=5.9"
|
package/src/selection.ts
CHANGED
|
@@ -1,18 +1,57 @@
|
|
|
1
|
-
import type { Contract } from '@prisma-next/contract/types';
|
|
2
|
-
import type {
|
|
1
|
+
import type { Contract, ContractModelDefinitions } from '@prisma-next/contract/types';
|
|
2
|
+
import type {
|
|
3
|
+
UnboundTables as SqlBuilderUnboundTables,
|
|
4
|
+
TableProxyContract,
|
|
5
|
+
} from '@prisma-next/sql-builder/types';
|
|
6
|
+
import type {
|
|
7
|
+
ExtractCodecTypes,
|
|
8
|
+
ExtractFieldOutputTypes,
|
|
9
|
+
SqlStorage,
|
|
10
|
+
StorageColumn,
|
|
11
|
+
} from '@prisma-next/sql-contract/types';
|
|
3
12
|
import type { DrainOuterGeneric } from './type-atoms';
|
|
4
13
|
|
|
5
14
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
15
|
+
* Flat table map for the query-builder surface: every table name declared in
|
|
16
|
+
* any storage namespace, with colliding names unioned (parity with
|
|
17
|
+
* `@prisma-next/sql-builder`).
|
|
9
18
|
*/
|
|
10
|
-
export type UnboundTables<TContract extends Contract<SqlStorage>> =
|
|
11
|
-
TContract
|
|
19
|
+
export type UnboundTables<TContract extends Contract<SqlStorage>> = SqlBuilderUnboundTables<
|
|
20
|
+
TContract & TableProxyContract
|
|
21
|
+
>;
|
|
12
22
|
|
|
13
23
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
24
|
+
* The field-output override (the enum value union) for a `table.column`, or
|
|
25
|
+
* `never` when no model field maps to it. The emitted `FieldOutputTypes`
|
|
26
|
+
* TypeMap is keyed by model/field, so one pass over the models matches both the
|
|
27
|
+
* `storage.table` and the field's `storage.fields[*].column` to read the
|
|
28
|
+
* already-narrowed type back out.
|
|
29
|
+
*/
|
|
30
|
+
type FieldOutputOverride<
|
|
31
|
+
TContract extends Contract,
|
|
32
|
+
TTableName extends string,
|
|
33
|
+
TColumnName extends string,
|
|
34
|
+
Models = ContractModelDefinitions<TContract>,
|
|
35
|
+
FOT = ExtractFieldOutputTypes<TContract>,
|
|
36
|
+
> = {
|
|
37
|
+
[M in keyof Models & keyof FOT & string]: Models[M] extends {
|
|
38
|
+
readonly storage: { readonly table: TTableName; readonly fields: infer Fields };
|
|
39
|
+
}
|
|
40
|
+
? {
|
|
41
|
+
[F in keyof Fields & keyof FOT[M] & string]: Fields[F] extends {
|
|
42
|
+
readonly column: TColumnName;
|
|
43
|
+
}
|
|
44
|
+
? FOT[M][F]
|
|
45
|
+
: never;
|
|
46
|
+
}[keyof Fields & keyof FOT[M] & string]
|
|
47
|
+
: never;
|
|
48
|
+
}[keyof Models & keyof FOT & string];
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The output type of a referenced column. Returns the enum value union from the
|
|
52
|
+
* `FieldOutputTypes` TypeMap when the column is enum-typed (the override already
|
|
53
|
+
* carries the correct nullability), otherwise the codec output type with column
|
|
54
|
+
* nullability applied.
|
|
16
55
|
*
|
|
17
56
|
* @template TContract The contract that describes the database.
|
|
18
57
|
* @template TTableName The name of the table containing the column.
|
|
@@ -23,11 +62,13 @@ export type ExtractOutputType<
|
|
|
23
62
|
TTableName extends keyof UnboundTables<TContract> & string,
|
|
24
63
|
TColumnName extends keyof UnboundTables<TContract>[TTableName]['columns'] & string,
|
|
25
64
|
_TColumn = UnboundTables<TContract>[TTableName]['columns'][TColumnName],
|
|
26
|
-
> =
|
|
27
|
-
?
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
65
|
+
> = [FieldOutputOverride<TContract, TTableName, TColumnName>] extends [never]
|
|
66
|
+
? _TColumn extends StorageColumn
|
|
67
|
+
?
|
|
68
|
+
| (_TColumn['nullable'] extends true ? null : never)
|
|
69
|
+
| ExtractCodecTypes<TContract>[_TColumn['codecId']]['output']
|
|
70
|
+
: never
|
|
71
|
+
: FieldOutputOverride<TContract, TTableName, TColumnName>;
|
|
31
72
|
|
|
32
73
|
/**
|
|
33
74
|
* A type representing a selection of columns in a SQL `select` query in the
|