@prisma-next/mongo-orm 0.16.0-dev.3 → 0.16.0-dev.30

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
@@ -214,7 +214,7 @@ interface MongoCollection<TContract extends MongoContractWithTypeMaps<MongoContr
214
214
  /** Returns input rows with server-assigned `_id`s. Does not re-read stored documents. */
215
215
  createAll(data: ReadonlyArray<ResolvedCreateInput<TContract, ModelName, TVariant>>): AsyncIterableResult<IncludedRow<TContract, ModelName, TIncludes>>;
216
216
  /** Inserts multiple documents and returns the number inserted. */
217
- createCount(data: ReadonlyArray<ResolvedCreateInput<TContract, ModelName, TVariant>>): Promise<number>;
217
+ createAndCount(data: ReadonlyArray<ResolvedCreateInput<TContract, ModelName, TVariant>>): Promise<number>;
218
218
  /** Updates one matching document via `findOneAndUpdate`. Returns the updated document or `null`. Requires `.where()`. */
219
219
  update(data: Partial<DefaultModelRow<TContract, ModelName>>): Promise<IncludedRow<TContract, ModelName, TIncludes> | null>;
220
220
  /** Updates one matching document using field operations from a callback. Requires `.where()`. */
@@ -224,15 +224,15 @@ interface MongoCollection<TContract extends MongoContractWithTypeMaps<MongoContr
224
224
  /** Updates all matching documents using field operations from a callback. Requires `.where()`. */
225
225
  updateAll(callback: (u: FieldAccessor<TContract, ModelName>) => FieldOperation[]): AsyncIterableResult<IncludedRow<TContract, ModelName, TIncludes>>;
226
226
  /** Updates all matching documents and returns the number modified. Requires `.where()`. */
227
- updateCount(data: Partial<DefaultModelRow<TContract, ModelName>>): Promise<number>;
227
+ updateAndCount(data: Partial<DefaultModelRow<TContract, ModelName>>): Promise<number>;
228
228
  /** Updates all matching documents using field operations and returns the number modified. Requires `.where()`. */
229
- updateCount(callback: (u: FieldAccessor<TContract, ModelName>) => FieldOperation[]): Promise<number>;
229
+ updateAndCount(callback: (u: FieldAccessor<TContract, ModelName>) => FieldOperation[]): Promise<number>;
230
230
  /** Deletes one matching document via `findOneAndDelete`. Returns the deleted document or `null`. Requires `.where()`. */
231
231
  delete(): Promise<IncludedRow<TContract, ModelName, TIncludes> | null>;
232
232
  /** Non-atomic: reads matching docs then deletes them. Concurrent writes may cause stale results. Requires `.where()`. */
233
233
  deleteAll(): AsyncIterableResult<IncludedRow<TContract, ModelName, TIncludes>>;
234
234
  /** Deletes all matching documents and returns the number deleted. Requires `.where()`. */
235
- deleteCount(): Promise<number>;
235
+ deleteAndCount(): Promise<number>;
236
236
  /**
237
237
  * On insert: `update` fields are applied via `$set`, remaining `create` fields via `$setOnInsert`.
238
238
  * This means `update` values take precedence over `create` for overlapping fields on insert.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/executor.ts","../src/field-accessor.ts","../src/types.ts","../src/collection.ts","../src/collection-state.ts","../src/compile.ts","../src/mongo-orm.ts","../src/raw-collection.ts","../src/mongo-raw.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/executor.ts","../src/field-accessor.ts","../src/types.ts","../src/collection.ts","../src/collection-state.ts","../src/compile.ts","../src/mongo-orm.ts","../src/raw-collection.ts","../src/mongo-raw.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -2,11 +2,11 @@ import { domainModelsAtDefaultNamespace, domainValueObjectsAtDefaultNamespace }
2
2
  import { AsyncIterableResult } from "@prisma-next/framework-components/runtime";
3
3
  import { AggregateCommand, DeleteManyCommand, FindOneAndDeleteCommand, FindOneAndUpdateCommand, InsertManyCommand, InsertOneCommand, MongoAndExpr, MongoFieldFilter, MongoLimitStage, MongoLookupStage, MongoMatchStage, MongoProjectStage, MongoSkipStage, MongoSortStage, MongoUnwindStage, RawAggregateCommand, RawDeleteManyCommand, RawDeleteOneCommand, RawFindOneAndDeleteCommand, RawFindOneAndUpdateCommand, RawInsertManyCommand, RawInsertOneCommand, RawUpdateManyCommand, RawUpdateOneCommand, UpdateManyCommand, isMongoFilterExpr } from "@prisma-next/mongo-query-ast/execution";
4
4
  import { MongoParamRef } from "@prisma-next/mongo-value";
5
+ import { blindCast, castAs } from "@prisma-next/utils/casts";
5
6
  import { InternalError } from "@prisma-next/utils/internal-error";
6
7
  import { contractModelToMongoResultShape } from "@prisma-next/mongo-query-builder";
7
8
  import { ifDefined } from "@prisma-next/utils/defined";
8
9
  import { structuredError } from "@prisma-next/utils/structured-error";
9
- import { blindCast } from "@prisma-next/utils/casts";
10
10
  //#region src/collection-state.ts
11
11
  function emptyCollectionState() {
12
12
  return {
@@ -160,6 +160,9 @@ function ormError(code, message, options) {
160
160
  function resolveCollectionName(model, modelName) {
161
161
  return model.storage.collection ?? modelName;
162
162
  }
163
+ function isUnknownRecord(value) {
164
+ return typeof value === "object" && value !== null && !Array.isArray(value);
165
+ }
163
166
  var MongoCollectionImpl = class MongoCollectionImpl {
164
167
  #contract;
165
168
  #modelName;
@@ -171,28 +174,28 @@ var MongoCollectionImpl = class MongoCollectionImpl {
171
174
  this.#contract = contract;
172
175
  this.#modelName = modelName;
173
176
  this.#executor = executor;
174
- const model = domainModelsAtDefaultNamespace(contract.domain)[modelName];
177
+ const model = blindCast(domainModelsAtDefaultNamespace(contract.domain)[modelName]);
175
178
  this.#collectionName = resolveCollectionName(model, modelName);
176
179
  this.#state = emptyCollectionState();
177
180
  }
178
181
  variant(variantName) {
179
- const model = domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName];
180
- if (!model?.discriminator || !model.variants) return this;
182
+ const model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);
183
+ if (!model?.discriminator || !model.variants) return blindCast(this);
181
184
  const variantEntry = model.variants[variantName];
182
- if (!variantEntry) return this;
185
+ if (!variantEntry) return blindCast(this);
183
186
  const filter = MongoFieldFilter.eq(model.discriminator.field, new MongoParamRef(variantEntry.value));
184
187
  return this.#cloneWithVariant({ filters: [...this.#state.filters, filter] }, variantName);
185
188
  }
186
189
  where(filter) {
187
190
  if (isMongoFilterExpr(filter)) return this.#clone({ filters: [...this.#state.filters, filter] });
188
- const compiled = this.#compileWhereObject(filter);
191
+ const compiled = this.#compileWhereObject(blindCast(filter));
189
192
  return this.#clone({ filters: [...this.#state.filters, ...compiled] });
190
193
  }
191
194
  select(...fields) {
192
195
  return this.#clone({ selectedFields: [...this.#state.selectedFields ?? [], ...fields] });
193
196
  }
194
197
  include(relationName) {
195
- const relation = domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName].relations?.[relationName];
198
+ const relation = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]).relations?.[relationName];
196
199
  if (!relation) throw ormError("ORM.RELATION_UNKNOWN", `Unknown relation "${relationName}" on model "${this.#modelName}"`, { meta: {
197
200
  model: this.#modelName,
198
201
  relation: relationName
@@ -209,7 +212,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
209
212
  relation: relationName
210
213
  } });
211
214
  const targetModelName = ref.to.model;
212
- const targetModel = domainModelsAtDefaultNamespace(this.#contract.domain)[targetModelName];
215
+ const targetModel = castAs(domainModelsAtDefaultNamespace(this.#contract.domain)[targetModelName]);
213
216
  if (!targetModel) throw new InternalError(`Target model "${targetModelName}" not found for relation "${relationName}"`);
214
217
  const includeExpr = {
215
218
  relationName,
@@ -218,7 +221,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
218
221
  foreignField,
219
222
  cardinality: ref.cardinality
220
223
  };
221
- return this.#clone({ includes: [...this.#state.includes, includeExpr] });
224
+ return blindCast(this.#clone({ includes: [...this.#state.includes, includeExpr] }));
222
225
  }
223
226
  orderBy(spec) {
224
227
  const merged = {
@@ -243,34 +246,35 @@ var MongoCollectionImpl = class MongoCollectionImpl {
243
246
  }
244
247
  async create(data) {
245
248
  this.#rejectIncludes("create");
246
- const normalized = this.#injectDiscriminator(this.#stripUndefined(data));
249
+ const normalized = this.#injectDiscriminator(this.#stripUndefined(blindCast(data)));
247
250
  const document = this.#toDocument(normalized);
248
251
  const command = new InsertOneCommand(this.#collectionName, document);
249
- return {
250
- _id: (await this.#drainPlan(command))[0].insertedId,
252
+ const insertedId = blindCast((await this.#drainPlan(command))[0]).insertedId;
253
+ return blindCast({
254
+ _id: insertedId,
251
255
  ...normalized
252
- };
256
+ });
253
257
  }
254
258
  createAll(data) {
255
259
  this.#rejectIncludes("createAll");
256
260
  const self = this;
257
261
  async function* gen() {
258
- const normalizedRows = data.map((d) => self.#injectDiscriminator(self.#stripUndefined(d)));
262
+ const normalizedRows = data.map((d) => self.#injectDiscriminator(self.#stripUndefined(blindCast(d))));
259
263
  const documents = normalizedRows.map((d) => self.#toDocument(d));
260
264
  const command = new InsertManyCommand(self.#collectionName, documents);
261
- const insertedIds = (await self.#drainPlan(command))[0].insertedIds;
262
- for (let i = 0; i < normalizedRows.length; i++) yield {
265
+ const insertedIds = blindCast((await self.#drainPlan(command))[0]).insertedIds;
266
+ for (let i = 0; i < normalizedRows.length; i++) yield blindCast({
263
267
  _id: insertedIds[i],
264
268
  ...normalizedRows[i]
265
- };
269
+ });
266
270
  }
267
271
  return new AsyncIterableResult(gen());
268
272
  }
269
- async createCount(data) {
270
- this.#rejectIncludes("createCount");
271
- const documents = data.map((d) => this.#toDocument(this.#injectDiscriminator(d)));
273
+ async createAndCount(data) {
274
+ this.#rejectIncludes("createAndCount");
275
+ const documents = data.map((d) => this.#toDocument(this.#injectDiscriminator(blindCast(d))));
272
276
  const command = new InsertManyCommand(this.#collectionName, documents);
273
- return (await this.#drainPlan(command))[0].insertedCount;
277
+ return blindCast((await this.#drainPlan(command))[0]).insertedCount;
274
278
  }
275
279
  async update(dataOrCallback) {
276
280
  this.#requireFilters("update");
@@ -279,7 +283,8 @@ var MongoCollectionImpl = class MongoCollectionImpl {
279
283
  const filter = this.#mergeFilters();
280
284
  const updateDoc = this.#resolveUpdateDoc(dataOrCallback);
281
285
  const command = new FindOneAndUpdateCommand(this.#collectionName, filter, updateDoc, false);
282
- return (await this.#drainPlan(command))[0] ?? null;
286
+ const result = (await this.#drainPlan(command))[0];
287
+ return result === void 0 ? null : blindCast(result);
283
288
  }
284
289
  updateAll(dataOrCallback) {
285
290
  this.#requireFilters("updateAll");
@@ -297,14 +302,14 @@ var MongoCollectionImpl = class MongoCollectionImpl {
297
302
  }
298
303
  return new AsyncIterableResult(gen());
299
304
  }
300
- async updateCount(dataOrCallback) {
301
- this.#requireFilters("updateCount");
302
- this.#rejectWindowing("updateCount");
303
- this.#rejectIncludes("updateCount");
305
+ async updateAndCount(dataOrCallback) {
306
+ this.#requireFilters("updateAndCount");
307
+ this.#rejectWindowing("updateAndCount");
308
+ this.#rejectIncludes("updateAndCount");
304
309
  const filter = this.#mergeFilters();
305
310
  const updateDoc = this.#resolveUpdateDoc(dataOrCallback);
306
311
  const command = new UpdateManyCommand(this.#collectionName, filter, updateDoc);
307
- return (await this.#drainPlan(command))[0].modifiedCount;
312
+ return blindCast((await this.#drainPlan(command))[0]).modifiedCount;
308
313
  }
309
314
  async delete() {
310
315
  this.#requireFilters("delete");
@@ -312,7 +317,8 @@ var MongoCollectionImpl = class MongoCollectionImpl {
312
317
  this.#rejectIncludes("delete");
313
318
  const filter = this.#mergeFilters();
314
319
  const command = new FindOneAndDeleteCommand(this.#collectionName, filter);
315
- return (await this.#drainPlan(command))[0] ?? null;
320
+ const result = (await this.#drainPlan(command))[0];
321
+ return result === void 0 ? null : blindCast(result);
316
322
  }
317
323
  deleteAll() {
318
324
  this.#requireFilters("deleteAll");
@@ -328,20 +334,20 @@ var MongoCollectionImpl = class MongoCollectionImpl {
328
334
  }
329
335
  return new AsyncIterableResult(gen());
330
336
  }
331
- async deleteCount() {
332
- this.#requireFilters("deleteCount");
333
- this.#rejectWindowing("deleteCount");
334
- this.#rejectIncludes("deleteCount");
337
+ async deleteAndCount() {
338
+ this.#requireFilters("deleteAndCount");
339
+ this.#rejectWindowing("deleteAndCount");
340
+ this.#rejectIncludes("deleteAndCount");
335
341
  const filter = this.#mergeFilters();
336
342
  const command = new DeleteManyCommand(this.#collectionName, filter);
337
- return (await this.#drainPlan(command))[0].deletedCount;
343
+ return blindCast((await this.#drainPlan(command))[0]).deletedCount;
338
344
  }
339
345
  async upsert(input) {
340
346
  this.#requireFilters("upsert");
341
347
  this.#rejectWindowing("upsert");
342
348
  this.#rejectIncludes("upsert");
343
349
  const filter = this.#mergeFilters();
344
- const allCreateFields = this.#toDocument(this.#injectDiscriminator(input.create));
350
+ const allCreateFields = this.#toDocument(this.#injectDiscriminator(blindCast(input.create)));
345
351
  let updateDoc;
346
352
  if (typeof input.update === "function") {
347
353
  const accessor = createFieldAccessor();
@@ -354,7 +360,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
354
360
  } });
355
361
  updateDoc = compileFieldOperations(ops, (field, value, operator) => this.#wrapFieldOpValue(field, value, operator));
356
362
  } else {
357
- const setFields = this.#toSetFields(input.update);
363
+ const setFields = this.#toSetFields(blindCast(input.update));
358
364
  updateDoc = {};
359
365
  if (Object.keys(setFields).length > 0) updateDoc["$set"] = setFields;
360
366
  }
@@ -364,7 +370,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
364
370
  for (const [key, value] of Object.entries(allCreateFields)) if (!updatedFields.has(key)) insertOnlyFields[key] = value;
365
371
  if (Object.keys(insertOnlyFields).length > 0) updateDoc["$setOnInsert"] = insertOnlyFields;
366
372
  const command = new FindOneAndUpdateCommand(this.#collectionName, filter, updateDoc, true);
367
- return (await this.#drainPlan(command))[0];
373
+ return blindCast((await this.#drainPlan(command))[0]);
368
374
  }
369
375
  async #readMatchingIds() {
370
376
  const idQuery = this.#clone({
@@ -376,7 +382,10 @@ var MongoCollectionImpl = class MongoCollectionImpl {
376
382
  });
377
383
  const ids = [];
378
384
  const { resultShape: _rs, ...planWithoutShape } = idQuery.#compile();
379
- for await (const row of this.#executor.execute(planWithoutShape)) ids.push(row["_id"]);
385
+ for await (const row of this.#executor.execute(planWithoutShape)) {
386
+ const storageRow = blindCast(row);
387
+ ids.push(storageRow["_id"]);
388
+ }
380
389
  return ids;
381
390
  }
382
391
  #execute() {
@@ -384,7 +393,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
384
393
  return this.#executor.execute(plan);
385
394
  }
386
395
  #compile() {
387
- const model = domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName];
396
+ const model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);
388
397
  if (!model) throw ormError("ORM.MODEL_UNKNOWN", `Unknown model: "${this.#modelName}".`, { meta: { model: this.#modelName } });
389
398
  return compileMongoQuery(this.#collectionName, this.#state, this.#contract.storage.storageHash, model);
390
399
  }
@@ -403,7 +412,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
403
412
  return rows;
404
413
  }
405
414
  #modelFields() {
406
- return domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]?.fields ?? {};
415
+ return blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName])?.fields ?? {};
407
416
  }
408
417
  #compileWhereObject(data) {
409
418
  const fields = this.#modelFields();
@@ -422,8 +431,8 @@ var MongoCollectionImpl = class MongoCollectionImpl {
422
431
  const voName = field.type.name;
423
432
  const voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];
424
433
  if (!voDef || value === null) return new MongoParamRef(value);
425
- if (field.many && Array.isArray(value)) return value.map((item) => this.#wrapValueObject(item, voDef));
426
- return this.#wrapValueObject(value, voDef);
434
+ if (field.many && Array.isArray(value)) return value.map((item) => this.#wrapValueObject(blindCast(item), voDef));
435
+ return this.#wrapValueObject(blindCast(value), voDef);
427
436
  }
428
437
  return new MongoParamRef(value);
429
438
  }
@@ -466,7 +475,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
466
475
  if (ops.length === 0) return { $set: {} };
467
476
  return compileFieldOperations(ops, (field, value, operator) => this.#wrapFieldOpValue(field, value, operator));
468
477
  }
469
- return this.#toUpdateDocument(dataOrCallback);
478
+ return this.#toUpdateDocument(blindCast(dataOrCallback));
470
479
  }
471
480
  #wrapFieldOpValue(field, value, operator) {
472
481
  if (operator === "$unset") return value;
@@ -477,7 +486,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
477
486
  if (value instanceof MongoParamRef && contractField.type.kind === "scalar") return new MongoParamRef(value.value, { codecId: contractField.type.codecId });
478
487
  if (contractField.type.kind === "valueObject" && value instanceof MongoParamRef) {
479
488
  const raw = value.value;
480
- if (typeof raw === "object" && raw !== null && !Array.isArray(raw)) {
489
+ if (isUnknownRecord(raw)) {
481
490
  const voName = contractField.type.name;
482
491
  const voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];
483
492
  if (voDef) return this.#wrapValueObject(raw, voDef);
@@ -500,7 +509,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
500
509
  if (currentField?.type.kind === "scalar" && value instanceof MongoParamRef) return new MongoParamRef(value.value, { codecId: currentField.type.codecId });
501
510
  if (currentField?.type.kind === "valueObject" && value instanceof MongoParamRef) {
502
511
  const raw = value.value;
503
- if (typeof raw === "object" && raw !== null && !Array.isArray(raw)) {
512
+ if (isUnknownRecord(raw)) {
504
513
  const voName = currentField.type.name;
505
514
  const voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];
506
515
  if (voDef) return this.#wrapValueObject(raw, voDef);
@@ -537,7 +546,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
537
546
  }
538
547
  #injectDiscriminator(data) {
539
548
  if (!this.#variantName) return data;
540
- const model = domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName];
549
+ const model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);
541
550
  if (!model?.discriminator || !model.variants) return data;
542
551
  const variantEntry = model.variants[this.#variantName];
543
552
  if (!variantEntry) return data;