@prisma-next/mongo-contract 0.13.0 → 0.14.0

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 CHANGED
@@ -1,4 +1,5 @@
1
- import { Contract, ContractField, ContractModel, ContractModelDefinitions, ContractValueObject, ContractValueObjectDefinitions, ControlPolicy, StorageBase, StorageHashBase } from "@prisma-next/contract/types";
1
+ import { $ as MongoCollationMaxVariable, A as MongoContractWithTypeMaps, B as MongoModelStorage, C as MongoChangeStreamPreAndPostImagesOptionsInput, D as ExtractMongoTypeMaps, E as ExtractMongoFieldOutputTypes, F as MongoIndexKeyDirection, G as MongoUnboundFieldInputTypes, H as MongoStorageShape, I as MongoJsonObject, J as RootModelName, K as MongoUnboundFieldOutputTypes, L as MongoJsonPrimitive, M as MongoIndexFieldValue, N as MongoIndexFields, O as InferModelRow, P as MongoIndexKey, Q as MongoCollationCaseFirst, R as MongoJsonValue, S as MongoChangeStreamPreAndPostImagesOptions, T as ExtractMongoFieldInputTypes, U as MongoTypeMaps, V as MongoModelsMap, W as MongoTypeMapsPhantomKey, X as MongoIndexOptionsInput, Y as MongoIndexOptions, Z as MongoCollationAlternate, _ as MongoIndexOptionDefaults, a as MongoValidatorValidationAction, b as MongoClusteredCollectionOptions, c as MongoIndexInput, d as MongoCollectionOptionsInput, et as MongoCollationOptions, f as MongoStorageCappedShape, g as MongoTimeSeriesGranularity, h as MongoTimeSeriesCollectionOptionsInput, i as MongoValidatorInput, j as MongoIndexAuthoringInput, k as MongoContract, l as MongoCollectionOptions, m as MongoTimeSeriesCollectionOptions, n as MongoCollectionInput, nt as MongoCollationStrength, o as MongoValidatorValidationLevel, p as MongoStorageClusteredIndexShape, q as MongoWildcardProjection, r as MongoValidator, s as MongoIndex, t as MongoCollection, tt as MongoCollationOptionsInput, u as MongoCollectionOptionsAuthoringInput, v as MongoIndexOptionDefaultsInput, w as ExtractMongoCodecTypes, x as MongoClusteredCollectionOptionsInput, y as MongoClusteredCollectionKey, z as MongoModelDefinition } from "./mongo-collection-BCi-Bq_a.mjs";
2
+ import { StorageHashBase } from "@prisma-next/contract/types";
2
3
  import { Type } from "arktype";
3
4
  import { IRNodeBase, Namespace, NamespaceBase, Storage } from "@prisma-next/framework-components/ir";
4
5
 
@@ -23,520 +24,6 @@ declare function createMongoNamespaceEnvelopeSchema(fragments?: ReadonlyMap<stri
23
24
  declare function createMongoContractSchema(fragments?: ReadonlyMap<string, Type<unknown>>): Type<unknown>;
24
25
  declare const MongoContractSchema: import("arktype").BaseType<unknown, {}>;
25
26
  //#endregion
26
- //#region src/ir/mongo-change-stream-pre-and-post-images-options.d.ts
27
- interface MongoChangeStreamPreAndPostImagesOptionsInput {
28
- readonly enabled: boolean;
29
- }
30
- /**
31
- * Change-stream pre-and-post-images collection option. Lifted from a
32
- * `type =` data shape to an AST class extending `IRNodeBase` per
33
- * FR18. Single-field shape; the class exists for AST-pattern
34
- * consistency (every nested data shape inside `MongoCollectionOptions`
35
- * is an AST node so the verifier can walk uniformly).
36
- */
37
- declare class MongoChangeStreamPreAndPostImagesOptions extends IRNodeBase {
38
- readonly kind: "mongo-change-stream-pre-and-post-images-options";
39
- readonly enabled: boolean;
40
- constructor(options: MongoChangeStreamPreAndPostImagesOptionsInput);
41
- }
42
- //#endregion
43
- //#region src/ir/mongo-clustered-collection-options.d.ts
44
- type MongoClusteredCollectionKey = Readonly<Record<string, 1>>;
45
- interface MongoClusteredCollectionOptionsInput {
46
- readonly name?: string;
47
- readonly key: MongoClusteredCollectionKey;
48
- readonly unique: boolean;
49
- }
50
- /**
51
- * Clustered-collection options (the `clusteredIndex` collection-creation
52
- * field). Lifted from a `type =` data shape to an AST class extending
53
- * `IRNodeBase` per FR18.
54
- *
55
- * MongoDB requires `key` and `unique` for any clustered collection; the
56
- * constructor enforces presence by type signature.
57
- */
58
- declare class MongoClusteredCollectionOptions extends IRNodeBase {
59
- readonly kind: "mongo-clustered-collection-options";
60
- readonly name?: string;
61
- readonly key: MongoClusteredCollectionKey;
62
- readonly unique: boolean;
63
- constructor(options: MongoClusteredCollectionOptionsInput);
64
- }
65
- //#endregion
66
- //#region src/ir/mongo-collation-options.d.ts
67
- type MongoCollationCaseFirst = 'off' | 'upper' | 'lower';
68
- type MongoCollationStrength = 1 | 2 | 3 | 4 | 5;
69
- type MongoCollationAlternate = 'non-ignorable' | 'shifted';
70
- type MongoCollationMaxVariable = 'punct' | 'space';
71
- /**
72
- * Authoring / hydration input shape for {@link MongoCollationOptions}. Carries
73
- * the canonical data without the IR-class `kind` discriminator; the class
74
- * fabricates `kind` so the authoring DSL and the SPI hydration walker can
75
- * pass plain data literals through the constructor without forcing every
76
- * call site to spell out `kind: 'mongo-collation-options'`.
77
- */
78
- interface MongoCollationOptionsInput {
79
- readonly locale: string;
80
- readonly caseLevel?: boolean;
81
- readonly caseFirst?: MongoCollationCaseFirst;
82
- readonly strength?: MongoCollationStrength;
83
- readonly numericOrdering?: boolean;
84
- readonly alternate?: MongoCollationAlternate;
85
- readonly maxVariable?: MongoCollationMaxVariable;
86
- readonly backwards?: boolean;
87
- readonly normalization?: boolean;
88
- }
89
- /**
90
- * Mongo Contract IR leaf for collection / index collation options.
91
- *
92
- * Lifted from a `type =` data shape to an AST class extending
93
- * `IRNodeBase` per FR18 ("Mongo's Contract IR is fully unified under
94
- * the AST-class pattern, layered family / target"). Single concrete class
95
- * (no target subclass): collation options carry no target-specific
96
- * variation at this layer — both Atlas and self-hosted Mongo consume the
97
- * same option vocabulary.
98
- *
99
- * Undefined optional fields are not assigned, so `JSON.stringify` omits
100
- * them from the canonical JSON output (matches the pre-lift data shape's
101
- * round-trip behaviour, modulo the new `kind` discriminator).
102
- */
103
- declare class MongoCollationOptions extends IRNodeBase {
104
- readonly kind: "mongo-collation-options";
105
- readonly locale: string;
106
- readonly caseLevel?: boolean;
107
- readonly caseFirst?: MongoCollationCaseFirst;
108
- readonly strength?: MongoCollationStrength;
109
- readonly numericOrdering?: boolean;
110
- readonly alternate?: MongoCollationAlternate;
111
- readonly maxVariable?: MongoCollationMaxVariable;
112
- readonly backwards?: boolean;
113
- readonly normalization?: boolean;
114
- constructor(options: MongoCollationOptionsInput);
115
- }
116
- //#endregion
117
- //#region src/ir/mongo-index-option-defaults.d.ts
118
- interface MongoIndexOptionDefaultsInput {
119
- readonly storageEngine?: MongoJsonObject;
120
- }
121
- /**
122
- * Collection-level default index options (the `indexOptionDefaults`
123
- * collection-creation field on Mongo's `createCollection`). Lifted from
124
- * a `type =` data shape to an AST class extending `IRNodeBase` per
125
- * FR18 (Mongo Contract IR fully unified under the AST-class pattern).
126
- *
127
- * Carries `storageEngine` only — the underlying MongoDB option set is
128
- * intentionally narrow at this layer; per-engine richer option vocabularies
129
- * are out of scope for this project.
130
- */
131
- declare class MongoIndexOptionDefaults extends IRNodeBase {
132
- readonly kind: "mongo-index-option-defaults";
133
- readonly storageEngine?: MongoJsonObject;
134
- constructor(options?: MongoIndexOptionDefaultsInput);
135
- }
136
- //#endregion
137
- //#region src/ir/mongo-time-series-collection-options.d.ts
138
- type MongoTimeSeriesGranularity = 'seconds' | 'minutes' | 'hours';
139
- interface MongoTimeSeriesCollectionOptionsInput {
140
- readonly timeField: string;
141
- readonly metaField?: string;
142
- readonly granularity?: MongoTimeSeriesGranularity;
143
- readonly bucketMaxSpanSeconds?: number;
144
- readonly bucketRoundingSeconds?: number;
145
- }
146
- /**
147
- * Time-series collection options. Lifted from a `type =` data shape to
148
- * an AST class extending `IRNodeBase` per FR18.
149
- *
150
- * MongoDB requires `timeField` for any time-series collection; the
151
- * constructor enforces presence by type signature (`timeField: string`
152
- * is required on the input).
153
- */
154
- declare class MongoTimeSeriesCollectionOptions extends IRNodeBase {
155
- readonly kind: "mongo-time-series-collection-options";
156
- readonly timeField: string;
157
- readonly metaField?: string;
158
- readonly granularity?: MongoTimeSeriesGranularity;
159
- readonly bucketMaxSpanSeconds?: number;
160
- readonly bucketRoundingSeconds?: number;
161
- constructor(options: MongoTimeSeriesCollectionOptionsInput);
162
- }
163
- //#endregion
164
- //#region src/ir/mongo-collection-options.d.ts
165
- /**
166
- * Storage-shape sub-shape: only `name` is persisted on the storage
167
- * `clusteredIndex` field. The richer authoring vocabulary
168
- * (`MongoClusteredCollectionOptions.key`, `…unique`) is intentionally
169
- * not round-tripped through the on-disk JSON envelope — those fields
170
- * are application-side configuration that informs collection creation
171
- * but does not survive into the persisted collection options.
172
- */
173
- interface MongoStorageClusteredIndexShape {
174
- readonly name?: string;
175
- }
176
- /**
177
- * Storage-shape sub-shape: `capped` collections persist `size` (required)
178
- * and optionally `max` document count. The authoring DSL surface uses a
179
- * flat `capped: boolean` + separate `size` / `max` fields; builders
180
- * translate that authoring vocabulary into this nested storage form
181
- * before constructing {@link MongoCollectionOptions}.
182
- */
183
- interface MongoStorageCappedShape {
184
- readonly size: number;
185
- readonly max?: number;
186
- }
187
- /**
188
- * Hydration / construction input shape for {@link MongoCollectionOptions}.
189
- * Mirrors the on-disk storage JSON envelope exactly (nested `capped`,
190
- * `clusteredIndex`, …) so the family-base serializer's hydration walker
191
- * can hand an arktype-validated object literal straight to `new`.
192
- * Nested IR-class fields may be supplied as either plain data literals
193
- * (typical for JSON-derived input) or already-constructed class
194
- * instances (typical when re-wrapping during a partial walk).
195
- */
196
- interface MongoCollectionOptionsInput {
197
- readonly capped?: MongoStorageCappedShape;
198
- readonly storageEngine?: MongoJsonObject;
199
- readonly indexOptionDefaults?: MongoIndexOptionDefaults | MongoIndexOptionDefaultsInput;
200
- readonly collation?: MongoCollationOptions | MongoCollationOptionsInput;
201
- readonly timeseries?: MongoTimeSeriesCollectionOptions | MongoTimeSeriesCollectionOptionsInput;
202
- readonly clusteredIndex?: MongoStorageClusteredIndexShape;
203
- readonly expireAfterSeconds?: number;
204
- readonly changeStreamPreAndPostImages?: MongoChangeStreamPreAndPostImagesOptions | MongoChangeStreamPreAndPostImagesOptionsInput;
205
- }
206
- /**
207
- * Authoring-side flat vocabulary accepted by the contract-ts builder
208
- * DSL (e.g. `capped: boolean` + separate `size` / `max` scalars). The
209
- * builder translates this surface into a {@link MongoCollectionOptionsInput}
210
- * before constructing {@link MongoCollectionOptions}. Kept as a
211
- * standalone type so authoring DSL ergonomics do not leak into the
212
- * storage IR construction contract.
213
- */
214
- interface MongoCollectionOptionsAuthoringInput {
215
- readonly capped?: boolean;
216
- readonly size?: number;
217
- readonly max?: number;
218
- readonly storageEngine?: MongoJsonObject;
219
- readonly indexOptionDefaults?: MongoIndexOptionDefaults | MongoIndexOptionDefaultsInput;
220
- readonly collation?: MongoCollationOptions | MongoCollationOptionsInput;
221
- readonly timeseries?: MongoTimeSeriesCollectionOptions | MongoTimeSeriesCollectionOptionsInput;
222
- readonly clusteredIndex?: MongoClusteredCollectionOptions | MongoClusteredCollectionOptionsInput;
223
- readonly expireAfterSeconds?: number;
224
- readonly changeStreamPreAndPostImages?: MongoChangeStreamPreAndPostImagesOptions | MongoChangeStreamPreAndPostImagesOptionsInput;
225
- }
226
- /**
227
- * Mongo Contract IR node for collection-level creation options (the
228
- * second argument to `db.createCollection(name, options)`). Lifted from
229
- * the pre-M2R2 `MongoStorageCollectionOptions` storage interface to a
230
- * class extending `IRNodeBase` per FR18.
231
- *
232
- * Single concrete family-layer class (no target subclass). The
233
- * constructor accepts the storage JSON envelope shape ({@link
234
- * MongoCollectionOptionsInput}) so the family-base hydration walker
235
- * can pass arktype-validated objects directly to `new`. Authoring
236
- * vocabulary is translated to this shape upstream in the contract-ts
237
- * builder.
238
- *
239
- * Nested IR sub-shapes (collation, timeseries, …) are normalised to
240
- * their respective IR class instances inside the constructor so
241
- * downstream walks see a uniform AST regardless of whether the input
242
- * was a JSON literal or an already-constructed class.
243
- */
244
- declare class MongoCollectionOptions extends IRNodeBase {
245
- readonly kind: "mongo-collection-options";
246
- readonly capped?: MongoStorageCappedShape;
247
- readonly storageEngine?: MongoJsonObject;
248
- readonly indexOptionDefaults?: MongoIndexOptionDefaults;
249
- readonly collation?: MongoCollationOptions;
250
- readonly timeseries?: MongoTimeSeriesCollectionOptions;
251
- readonly clusteredIndex?: MongoStorageClusteredIndexShape;
252
- readonly expireAfterSeconds?: number;
253
- readonly changeStreamPreAndPostImages?: MongoChangeStreamPreAndPostImagesOptions;
254
- constructor(input?: MongoCollectionOptionsInput);
255
- }
256
- //#endregion
257
- //#region src/ir/mongo-index.d.ts
258
- /**
259
- * Hydration / construction input shape for {@link MongoIndex}. Mirrors
260
- * the on-disk storage JSON envelope exactly so the family-base
261
- * serializer's hydration walker can hand an arktype-validated literal
262
- * straight to `new`.
263
- */
264
- interface MongoIndexInput {
265
- readonly keys: ReadonlyArray<MongoIndexKey>;
266
- readonly unique?: boolean;
267
- readonly sparse?: boolean;
268
- readonly expireAfterSeconds?: number;
269
- readonly partialFilterExpression?: Record<string, unknown>;
270
- readonly wildcardProjection?: Record<string, 0 | 1>;
271
- readonly collation?: Record<string, unknown>;
272
- readonly weights?: Record<string, number>;
273
- readonly default_language?: string;
274
- readonly language_override?: string;
275
- }
276
- /**
277
- * Mongo Contract IR node for a single collection index entry (one
278
- * element of `MongoCollection.indexes`). Lifted from the
279
- * pre-M2R2 `MongoStorageIndex` storage interface to a class extending
280
- * `IRNodeBase` per FR18.
281
- *
282
- * Single concrete family-layer class (no target subclass). The spec's
283
- * `MongoTargetIndex extends MongoIndex` pattern remains additive — a
284
- * future Mongo target with target-specific index extensions is free to
285
- * subclass; for the single Mongo target shipped today a concrete
286
- * family-layer class is enough and avoids a target-import layering
287
- * violation from the contract-ts builder.
288
- */
289
- declare class MongoIndex extends IRNodeBase {
290
- readonly kind: "mongo-index";
291
- readonly keys: ReadonlyArray<MongoIndexKey>;
292
- readonly unique?: boolean;
293
- readonly sparse?: boolean;
294
- readonly expireAfterSeconds?: number;
295
- readonly partialFilterExpression?: Record<string, unknown>;
296
- readonly wildcardProjection?: Record<string, 0 | 1>;
297
- readonly collation?: Record<string, unknown>;
298
- readonly weights?: Record<string, number>;
299
- readonly default_language?: string;
300
- readonly language_override?: string;
301
- constructor(input: MongoIndexInput);
302
- }
303
- //#endregion
304
- //#region src/ir/mongo-validator.d.ts
305
- type MongoValidatorValidationLevel = 'strict' | 'moderate';
306
- type MongoValidatorValidationAction = 'error' | 'warn';
307
- interface MongoValidatorInput {
308
- readonly jsonSchema: Record<string, unknown>;
309
- readonly validationLevel: MongoValidatorValidationLevel;
310
- readonly validationAction: MongoValidatorValidationAction;
311
- }
312
- /**
313
- * Mongo Contract IR node for collection-level document validators (the
314
- * `validator` field on Mongo's `createCollection`). Lifted from the
315
- * pre-M2R2 `MongoStorageValidator` storage interface to a class extending
316
- * `IRNodeBase` per FR18.
317
- *
318
- * Concrete at the family layer (no target subclass). The spec's
319
- * abstract-family + target-concrete pattern (`MongoTargetValidator
320
- * extends MongoValidator`) becomes meaningful when a second Mongo target
321
- * introduces target-specific validator extensions (Atlas search rules,
322
- * DocumentDB-specific levels, …); for the single Mongo target shipped
323
- * today, a concrete family-layer class lets the PSL JSON-Schema deriver
324
- * and the contract-ts builder construct instances directly without a
325
- * target-import layering violation. Target subclassing remains additive
326
- * — a future `MongoTargetValidator extends MongoValidator` is an
327
- * additive change, not a breaking one.
328
- */
329
- declare class MongoValidator extends IRNodeBase {
330
- readonly kind: "mongo-validator";
331
- readonly jsonSchema: Record<string, unknown>;
332
- readonly validationLevel: MongoValidatorValidationLevel;
333
- readonly validationAction: MongoValidatorValidationAction;
334
- constructor(input: MongoValidatorInput);
335
- }
336
- //#endregion
337
- //#region src/ir/mongo-collection.d.ts
338
- /**
339
- * Hydration / construction input shape for {@link MongoCollection}.
340
- * Mirrors the on-disk storage JSON envelope exactly (the value held at
341
- * `contract.storage.namespaces[<namespaceId>].entries.collection[<name>]`) so the family-base
342
- * serializer's hydration walker can hand an arktype-validated literal
343
- * straight to `new`. Nested IR-class fields may be supplied as either
344
- * plain data literals (typical for JSON-derived input) or
345
- * already-constructed class instances.
346
- */
347
- interface MongoCollectionInput {
348
- readonly indexes?: ReadonlyArray<MongoIndex | MongoIndexInput>;
349
- readonly validator?: MongoValidator | MongoValidatorInput;
350
- readonly options?: MongoCollectionOptions | MongoCollectionOptionsInput;
351
- readonly control?: ControlPolicy;
352
- }
353
- /**
354
- * Mongo Contract IR node for a single collection entry in a namespace's
355
- * `collections` map. Lifted from the pre-M2R2
356
- * `MongoStorageCollection` storage interface to a class extending
357
- * `IRNodeBase` per FR18.
358
- *
359
- * Concrete at the family layer (no target subclass). The spec's
360
- * `MongoTargetCollection extends MongoCollection` pattern remains
361
- * additive: a future Mongo target with target-specific extensions is
362
- * free to subclass without breaking the family-layer construction
363
- * sites.
364
- *
365
- * The unprefixed name `MongoCollection` is now the contract IR class.
366
- * Note that `@prisma-next/mongo-orm` also exports a (different)
367
- * `MongoCollection<TContract, ModelName>` generic for the user-facing
368
- * ORM query builder; the two live in separate packages and are
369
- * resolved by import path. A source file that needs both should alias
370
- * one (e.g. `import { MongoCollection as MongoContractCollection }
371
- * from '@prisma-next/mongo-contract'`).
372
- */
373
- declare class MongoCollection extends IRNodeBase {
374
- readonly kind: "mongo-collection";
375
- readonly indexes?: ReadonlyArray<MongoIndex>;
376
- readonly validator?: MongoValidator;
377
- readonly options?: MongoCollectionOptions;
378
- readonly control?: ControlPolicy;
379
- constructor(input?: MongoCollectionInput);
380
- }
381
- //#endregion
382
- //#region src/ir/mongo-index-options.d.ts
383
- /**
384
- * Authoring / hydration input shape for {@link MongoIndexOptions}. Carries
385
- * the index option vocabulary as plain data without the IR-class `kind`
386
- * discriminator. `collation` accepts either a class instance or its own
387
- * input shape — the constructor normalises to the class form internally.
388
- */
389
- interface MongoIndexOptionsInput {
390
- readonly unique?: boolean;
391
- readonly name?: string;
392
- readonly partialFilterExpression?: MongoJsonObject;
393
- readonly sparse?: boolean;
394
- readonly expireAfterSeconds?: number;
395
- readonly weights?: Readonly<Record<string, number>>;
396
- readonly default_language?: string;
397
- readonly language_override?: string;
398
- readonly textIndexVersion?: number;
399
- readonly '2dsphereIndexVersion'?: number;
400
- readonly bits?: number;
401
- readonly min?: number;
402
- readonly max?: number;
403
- readonly bucketSize?: number;
404
- readonly hidden?: boolean;
405
- readonly collation?: MongoCollationOptions | MongoCollationOptionsInput;
406
- readonly wildcardProjection?: MongoWildcardProjection;
407
- }
408
- /**
409
- * Mongo Contract IR node for the per-index option vocabulary (the second
410
- * argument to `db.collection.createIndex(keys, options)` minus the keys
411
- * themselves). Lifted from a `type =` data shape to an AST class
412
- * extending `IRNodeBase` per FR18.
413
- *
414
- * Nested `collation` is itself an IR class (`MongoCollationOptions`); the
415
- * constructor accepts either a class instance or a data literal and
416
- * normalises to the class form so downstream walks see a uniform IR tree.
417
- */
418
- declare class MongoIndexOptions extends IRNodeBase {
419
- readonly kind: "mongo-index-options";
420
- readonly unique?: boolean;
421
- readonly name?: string;
422
- readonly partialFilterExpression?: MongoJsonObject;
423
- readonly sparse?: boolean;
424
- readonly expireAfterSeconds?: number;
425
- readonly weights?: Readonly<Record<string, number>>;
426
- readonly default_language?: string;
427
- readonly language_override?: string;
428
- readonly textIndexVersion?: number;
429
- readonly '2dsphereIndexVersion'?: number;
430
- readonly bits?: number;
431
- readonly min?: number;
432
- readonly max?: number;
433
- readonly bucketSize?: number;
434
- readonly hidden?: boolean;
435
- readonly collation?: MongoCollationOptions;
436
- readonly wildcardProjection?: MongoWildcardProjection;
437
- constructor(options?: MongoIndexOptionsInput);
438
- }
439
- //#endregion
440
- //#region src/contract-types.d.ts
441
- type MongoIndexFieldValue = 1 | -1 | 'text' | '2dsphere' | '2d' | 'hashed';
442
- type MongoIndexFields = Record<string, MongoIndexFieldValue>;
443
- type MongoJsonPrimitive = string | number | boolean | null;
444
- type MongoJsonValue = MongoJsonPrimitive | readonly MongoJsonValue[] | MongoJsonObject;
445
- type MongoJsonObject = {
446
- readonly [key: string]: MongoJsonValue;
447
- };
448
- type MongoWildcardProjection = Readonly<Record<string, 0 | 1>>;
449
- /**
450
- * Authoring-DSL shape for a single index entry on a model — the
451
- * `indexes` array element accepted by the contract-ts builder. The
452
- * builder translates these (with model context) into {@link MongoIndex}
453
- * IR-class instances on `MongoCollection.indexes`.
454
- */
455
- type MongoIndexAuthoringInput = {
456
- readonly fields: MongoIndexFields;
457
- readonly options?: MongoIndexOptionsInput;
458
- };
459
- type MongoIndexKeyDirection = 1 | -1 | 'text' | '2dsphere' | '2d' | 'hashed';
460
- interface MongoIndexKey {
461
- readonly field: string;
462
- readonly direction: MongoIndexKeyDirection;
463
- }
464
- type MongoModelStorage = {
465
- readonly collection?: string;
466
- readonly relations?: Record<string, {
467
- readonly field: string;
468
- }>;
469
- };
470
- type MongoModelDefinition = ContractModel<MongoModelStorage>;
471
- /**
472
- * Data-shape constraint for the Mongo family's storage block. The
473
- * runtime in-memory representation is the concrete {@link MongoStorage}
474
- * class from `./ir/mongo-storage`; this type is the structural superset
475
- * used as the generic-parameter constraint so consumers can name
476
- * `MongoContract<...>` over either the raw JSON envelope (no
477
- * `namespaces` field) or a fully-constructed class instance (with
478
- * `namespaces`). The class structurally satisfies this shape.
479
- */
480
- type MongoStorageShape<THash extends string = string> = StorageBase<THash> & {
481
- readonly namespaces: Record<string, Namespace & {
482
- readonly entries: Readonly<{
483
- readonly collection: Readonly<Record<string, MongoCollection>>;
484
- }>;
485
- }>;
486
- };
487
- type MongoContract<S extends MongoStorageShape = MongoStorageShape, M extends Record<string, MongoModelDefinition> = Record<string, MongoModelDefinition>> = Contract<S, M>;
488
- /** Model map inferred from a {@link MongoContract} (domain.namespaces union). */
489
- type MongoModelsMap<TContract extends MongoContract> = ContractModelDefinitions<TContract>;
490
- type RootModelName<TContract extends MongoContract, RootName extends keyof TContract['roots'] & string> = TContract['roots'][RootName] extends {
491
- readonly model: infer M extends string;
492
- } ? M & keyof import('@prisma-next/contract/types').ContractModelDefinitions<TContract> : never;
493
- type MongoTypeMaps<TCodecTypes extends Record<string, {
494
- output: unknown;
495
- }> = Record<string, {
496
- output: unknown;
497
- }>, TFieldOutputTypes extends Record<string, Record<string, unknown>> = Record<string, Record<string, unknown>>, TFieldInputTypes extends Record<string, Record<string, unknown>> = Record<string, Record<string, unknown>>> = {
498
- readonly codecTypes: TCodecTypes;
499
- readonly fieldOutputTypes: TFieldOutputTypes;
500
- readonly fieldInputTypes: TFieldInputTypes;
501
- };
502
- type MongoTypeMapsPhantomKey = '__@prisma-next/mongo-core/typeMaps@__';
503
- type MongoContractWithTypeMaps<TContract, TTypeMaps> = TContract & { readonly [K in MongoTypeMapsPhantomKey]?: TTypeMaps };
504
- type ExtractMongoTypeMaps<T> = MongoTypeMapsPhantomKey extends keyof T ? NonNullable<T[MongoTypeMapsPhantomKey & keyof T]> : never;
505
- type ExtractMongoCodecTypes<T> = ExtractMongoTypeMaps<T> extends {
506
- codecTypes: infer C;
507
- } ? C extends Record<string, {
508
- output: unknown;
509
- }> ? C : Record<string, never> : Record<string, never>;
510
- type ExtractMongoFieldOutputTypes<T> = ExtractMongoTypeMaps<T> extends {
511
- fieldOutputTypes: infer F;
512
- } ? F extends Record<string, Record<string, unknown>> ? F : Record<string, never> : Record<string, never>;
513
- type ExtractMongoFieldInputTypes<T> = ExtractMongoTypeMaps<T> extends {
514
- fieldInputTypes: infer F;
515
- } ? F extends Record<string, Record<string, unknown>> ? F : Record<string, never> : Record<string, never>;
516
- type ExtractValueObjects<TContract extends Contract> = ContractValueObjectDefinitions<TContract>;
517
- type NormalizeContractFields<TFields> = { [K in keyof TFields]: TFields[K] extends ContractField ? TFields[K] : never };
518
- type ExtractValueObjectFields<TValueObjects extends Record<string, ContractValueObject>, VOName extends keyof TValueObjects> = NormalizeContractFields<TValueObjects[VOName]['fields']>;
519
- type InferFieldBaseType<TFieldType, TValueObjects extends Record<string, ContractValueObject>, TCodecTypes extends Record<string, {
520
- output: unknown;
521
- }>> = TFieldType extends {
522
- kind: 'scalar';
523
- codecId: infer CId extends string & keyof TCodecTypes;
524
- } ? TCodecTypes[CId]['output'] : TFieldType extends {
525
- kind: 'valueObject';
526
- name: infer VOName extends string;
527
- } ? VOName extends keyof TValueObjects ? { -readonly [K in keyof ExtractValueObjectFields<TValueObjects, VOName>]: InferFieldType<ExtractValueObjectFields<TValueObjects, VOName>[K], TValueObjects, TCodecTypes> } : unknown : TFieldType extends {
528
- kind: 'union';
529
- members: infer TMembers extends ReadonlyArray<unknown>;
530
- } ? TMembers[number] extends infer TMember ? InferFieldBaseType<TMember, TValueObjects, TCodecTypes> : unknown : unknown;
531
- type InferFieldType<TField, TValueObjects extends Record<string, ContractValueObject>, TCodecTypes extends Record<string, {
532
- output: unknown;
533
- }>> = TField extends ContractField ? TField extends {
534
- many: true;
535
- } ? TField['nullable'] extends true ? InferFieldBaseType<TField['type'], TValueObjects, TCodecTypes>[] | null : InferFieldBaseType<TField['type'], TValueObjects, TCodecTypes>[] : TField['nullable'] extends true ? InferFieldBaseType<TField['type'], TValueObjects, TCodecTypes> | null : InferFieldBaseType<TField['type'], TValueObjects, TCodecTypes> : never;
536
- type InferModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof ContractModelDefinitions<TContract>, TFields extends Record<string, ContractField> = ContractModelDefinitions<TContract>[ModelName]['fields'], TCodecTypes extends Record<string, {
537
- output: unknown;
538
- }> = ExtractMongoCodecTypes<TContract>, TValueObjects extends Record<string, ContractValueObject> = ExtractValueObjects<TContract>> = { -readonly [FieldName in keyof TFields]: InferFieldType<TFields[FieldName], TValueObjects, TCodecTypes> };
539
- //#endregion
540
27
  //#region src/default-namespace.d.ts
541
28
  /** Default storage namespace for Mongo-family contracts at runtime. */
542
29
  declare const defaultMongoStorageNamespaceId: "__unbound__";
@@ -544,16 +31,15 @@ declare const defaultMongoStorageNamespaceId: "__unbound__";
544
31
  declare const defaultMongoDomainNamespaceId: "__unbound__";
545
32
  //#endregion
546
33
  //#region src/ir/mongo-storage.d.ts
34
+ type MongoNamespaceEntries = Readonly<Record<string, Readonly<Record<string, unknown>>>> & {
35
+ readonly collection?: Readonly<Record<string, MongoCollection>>;
36
+ };
547
37
  interface MongoNamespaceCollectionsInput {
548
38
  readonly id: string;
549
- readonly entries: {
550
- readonly collection: Record<string, MongoCollection | MongoCollectionInput>;
551
- };
39
+ readonly entries: Readonly<Record<string, Readonly<Record<string, MongoCollectionInput>>>>;
552
40
  }
553
41
  type MongoNamespace = Namespace & {
554
- readonly entries: Readonly<{
555
- readonly collection: Readonly<Record<string, MongoCollection>>;
556
- }>;
42
+ readonly entries: MongoNamespaceEntries;
557
43
  };
558
44
  interface MongoStorageInput<THash extends string = string> {
559
45
  readonly storageHash: StorageHashBase<THash>;
@@ -568,15 +54,12 @@ declare class MongoStorage<THash extends string = string> extends IRNodeBase imp
568
54
  //#endregion
569
55
  //#region src/ir/build-mongo-namespace.d.ts
570
56
  declare function buildMongoNamespace(input: MongoNamespaceCollectionsInput): MongoNamespace;
571
- declare function buildMongoNamespaceMap(namespaces: Readonly<Record<string, Namespace | MongoNamespaceCollectionsInput>>): Readonly<Record<string, MongoNamespace>>;
572
57
  //#endregion
573
58
  //#region src/ir/mongo-unbound-namespace.d.ts
574
59
  declare class MongoUnboundNamespace extends NamespaceBase {
575
60
  static readonly instance: MongoUnboundNamespace;
576
61
  readonly id: "__unbound__";
577
- readonly entries: Readonly<{
578
- readonly collection: Readonly<Record<string, MongoCollection>>;
579
- }>;
62
+ readonly entries: MongoNamespaceEntries;
580
63
  readonly kind: string;
581
64
  private constructor();
582
65
  }
@@ -598,5 +81,5 @@ declare function applyPolymorphicScopeToMongoIndex(index: MongoIndex, scope: Pol
598
81
  //#region src/validate-storage.d.ts
599
82
  declare function validateMongoStorage(contract: MongoContract): void;
600
83
  //#endregion
601
- export { type ApplyScopeResult, type ExtractMongoCodecTypes, type ExtractMongoFieldInputTypes, type ExtractMongoFieldOutputTypes, type ExtractMongoTypeMaps, type InferModelRow, MongoChangeStreamPreAndPostImagesOptions, type MongoChangeStreamPreAndPostImagesOptionsInput, type MongoClusteredCollectionKey, MongoClusteredCollectionOptions, type MongoClusteredCollectionOptionsInput, type MongoCollationAlternate, type MongoCollationCaseFirst, type MongoCollationMaxVariable, MongoCollationOptions, type MongoCollationOptionsInput, type MongoCollationStrength, MongoCollection, type MongoCollectionInput, MongoCollectionOptions, type MongoCollectionOptionsAuthoringInput, type MongoCollectionOptionsInput, type MongoContract, MongoContractSchema, type MongoContractWithTypeMaps, MongoIndex, type MongoIndexAuthoringInput, type MongoIndexFieldValue, type MongoIndexFields, type MongoIndexInput, type MongoIndexKey, type MongoIndexKeyDirection, MongoIndexOptionDefaults, type MongoIndexOptionDefaultsInput, MongoIndexOptions, type MongoIndexOptionsInput, type MongoJsonObject, type MongoJsonPrimitive, type MongoJsonValue, type MongoModelDefinition, type MongoModelStorage, type MongoModelsMap, MongoStorage, type MongoStorageCappedShape, type MongoStorageClusteredIndexShape, type MongoStorageInput, type MongoStorageShape, MongoTimeSeriesCollectionOptions, type MongoTimeSeriesCollectionOptionsInput, type MongoTimeSeriesGranularity, type MongoTypeMaps, type MongoTypeMapsPhantomKey, MongoUnboundNamespace, MongoValidator, type MongoValidatorInput, type MongoValidatorValidationAction, type MongoValidatorValidationLevel, type MongoWildcardProjection, type PolymorphicIndexScope, type RootModelName, applyPolymorphicScopeToMongoIndex, buildMongoNamespace, buildMongoNamespaceMap, createMongoContractSchema, createMongoNamespaceEnvelopeSchema, defaultMongoDomainNamespaceId, defaultMongoStorageNamespaceId, validateMongoStorage };
84
+ export { type ApplyScopeResult, type ExtractMongoCodecTypes, type ExtractMongoFieldInputTypes, type ExtractMongoFieldOutputTypes, type ExtractMongoTypeMaps, type InferModelRow, MongoChangeStreamPreAndPostImagesOptions, type MongoChangeStreamPreAndPostImagesOptionsInput, type MongoClusteredCollectionKey, MongoClusteredCollectionOptions, type MongoClusteredCollectionOptionsInput, type MongoCollationAlternate, type MongoCollationCaseFirst, type MongoCollationMaxVariable, MongoCollationOptions, type MongoCollationOptionsInput, type MongoCollationStrength, MongoCollection, type MongoCollectionInput, MongoCollectionOptions, type MongoCollectionOptionsAuthoringInput, type MongoCollectionOptionsInput, type MongoContract, MongoContractSchema, type MongoContractWithTypeMaps, MongoIndex, type MongoIndexAuthoringInput, type MongoIndexFieldValue, type MongoIndexFields, type MongoIndexInput, type MongoIndexKey, type MongoIndexKeyDirection, MongoIndexOptionDefaults, type MongoIndexOptionDefaultsInput, MongoIndexOptions, type MongoIndexOptionsInput, type MongoJsonObject, type MongoJsonPrimitive, type MongoJsonValue, type MongoModelDefinition, type MongoModelStorage, type MongoModelsMap, type MongoNamespace, type MongoNamespaceEntries, MongoStorage, type MongoStorageCappedShape, type MongoStorageClusteredIndexShape, type MongoStorageInput, type MongoStorageShape, MongoTimeSeriesCollectionOptions, type MongoTimeSeriesCollectionOptionsInput, type MongoTimeSeriesGranularity, type MongoTypeMaps, type MongoTypeMapsPhantomKey, type MongoUnboundFieldInputTypes, type MongoUnboundFieldOutputTypes, MongoUnboundNamespace, MongoValidator, type MongoValidatorInput, type MongoValidatorValidationAction, type MongoValidatorValidationLevel, type MongoWildcardProjection, type PolymorphicIndexScope, type RootModelName, applyPolymorphicScopeToMongoIndex, buildMongoNamespace, createMongoContractSchema, createMongoNamespaceEnvelopeSchema, defaultMongoDomainNamespaceId, defaultMongoStorageNamespaceId, validateMongoStorage };
602
85
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/contract-schema.ts","../src/ir/mongo-change-stream-pre-and-post-images-options.ts","../src/ir/mongo-clustered-collection-options.ts","../src/ir/mongo-collation-options.ts","../src/ir/mongo-index-option-defaults.ts","../src/ir/mongo-time-series-collection-options.ts","../src/ir/mongo-collection-options.ts","../src/ir/mongo-index.ts","../src/ir/mongo-validator.ts","../src/ir/mongo-collection.ts","../src/ir/mongo-index-options.ts","../src/contract-types.ts","../src/default-namespace.ts","../src/ir/mongo-storage.ts","../src/ir/build-mongo-namespace.ts","../src/ir/mongo-unbound-namespace.ts","../src/polymorphic-index-scope.ts","../src/validate-storage.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/contract-schema.ts","../src/default-namespace.ts","../src/ir/mongo-storage.ts","../src/ir/build-mongo-namespace.ts","../src/ir/mongo-unbound-namespace.ts","../src/polymorphic-index-scope.ts","../src/validate-storage.ts"],"mappings":";;;;;;;;;AMkB4D;;;;;;;;iBNuV5C,kCAAA,CACd,SAAA,GAAY,WAAA,SAAoB,IAAA,aAC/B,IAAA;;;;;;iBA2Ba,yBAAA,CACd,SAAA,GAAY,WAAA,SAAoB,IAAA,aAC/B,IAAA;AAAA,cAkCU,mBAAA,oBAAmB,QAAA;;;;cCtanB,8BAAA;;cAGA,6BAAA;;;KCED,qBAAA,GAAwB,QAAA,CAAS,MAAA,SAAe,QAAA,CAAS,MAAA;EAAA,SAC1D,UAAA,GAAa,QAAA,CAAS,MAAA,SAAe,eAAA;AAAA;AAAA,UAG/B,8BAAA;EAAA,SACN,EAAA;EAAA,SACA,OAAA,EAAS,QAAA,CAAS,MAAA,SAAe,QAAA,CAAS,MAAA,SAAe,oBAAA;AAAA;AAAA,KAGxD,cAAA,GAAiB,SAAA;EAAA,SAClB,OAAA,EAAS,qBAAqB;AAAA;AAAA,UAGxB,iBAAA;EAAA,SACN,WAAA,EAAa,eAAA,CAAgB,KAAA;EAAA,SAC7B,UAAA,EAAY,QAAA,CAAS,MAAA,SAAe,cAAA;AAAA;AAAA,cAGlC,YAAA,wCAAoD,UAAA,YAAsB,OAAA;EAAA,SACpE,IAAA;EAAA,SACR,WAAA,EAAa,eAAA,CAAgB,KAAA;EAAA,SAC7B,UAAA,EAAY,QAAA,CAAS,MAAA,SAAe,cAAA;cAEjC,KAAA,EAAO,iBAAA,CAAkB,KAAA;AAAA;;;iBC8BvB,mBAAA,CAAoB,KAAA,EAAO,8BAAA,GAAiC,cAAc;;;cCvD7E,qBAAA,SAA8B,aAAA;EAAA,gBACzB,QAAA,EAAU,qBAAA;EAAA,SAEjB,EAAA;EAAA,SACA,OAAA,EAAS,qBAAA;EAAA,SAGD,IAAA;EAAA,QAEV,WAAA;AAAA;;;KCdG,qBAAA;EAAA,SACD,kBAAA;EAAA,SACA,kBAAkB;AAAA;AAAA,KAGjB,gBAAA;EAAA,SACG,IAAA;EAAA,SAAqB,KAAA,EAAO,UAAU;AAAA;EAAA,SACtC,IAAA;EAAA,SAA2B,MAAA;AAAA;AAAA,iBAe1B,iCAAA,CACd,KAAA,EAAO,UAAA,EACP,KAAA,EAAO,qBAAA,GACN,gBAAA;;;iBCTa,oBAAA,CAAqB,QAAuB,EAAb,aAAa"}