@prisma/orm-target-mongo 8.0.0-rc.19-dev.9 → 8.0.0-rc.19-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/adapter.d.mts +2 -2
- package/dist/adapter.d.mts.map +1 -1
- package/dist/adapter.mjs +3 -3
- package/dist/adapter.mjs.map +1 -1
- package/dist/adapter__control.d.mts +8 -8
- package/dist/adapter__control.d.mts.map +1 -1
- package/dist/adapter__control.mjs +28 -27
- package/dist/adapter__control.mjs.map +1 -1
- package/dist/adapter__runtime.d.mts +1 -1
- package/dist/adapter__runtime.d.mts.map +1 -1
- package/dist/adapter__runtime.mjs +3 -3
- package/dist/adapter__runtime.mjs.map +1 -1
- package/dist/{codec-ids-PSU05uwH.d.mts → codec-ids-BKQbXhZt.d.mts} +2 -2
- package/dist/codec-ids-BKQbXhZt.d.mts.map +1 -0
- package/dist/{codec-ids-WdrumsYA-BkQfspmL.mjs → codec-ids-WdrumsYA-CZVjuKW8.mjs} +2 -2
- package/dist/codec-ids-WdrumsYA-CZVjuKW8.mjs.map +1 -0
- package/dist/{codec-types-Daq7xQEA.d.mts → codec-types-oKxM85p-.d.mts} +2 -2
- package/dist/codec-types-oKxM85p-.d.mts.map +1 -0
- package/dist/{codecs-B1ab7vfj-DncFJY2Q.mjs → codecs-B1ab7vfj-QL33tkm2.mjs} +5 -5
- package/dist/codecs-B1ab7vfj-QL33tkm2.mjs.map +1 -0
- package/dist/{codecs-DBvHcdHp.d.mts → codecs-Y5GYsLPj.d.mts} +2 -2
- package/dist/codecs-Y5GYsLPj.d.mts.map +1 -0
- package/dist/{control-DRifdPhB.mjs → control-Cq6qWohQ.mjs} +5 -5
- package/dist/control-Cq6qWohQ.mjs.map +1 -0
- package/dist/{control-BjaiAXAN.d.mts → control-CrFS8bqh.d.mts} +3 -3
- package/dist/control-CrFS8bqh.d.mts.map +1 -0
- package/dist/{data-types-BUXk_WEa.d.mts → data-types-LShlnAUM.d.mts} +2 -2
- package/dist/data-types-LShlnAUM.d.mts.map +1 -0
- package/dist/{data-types-hoKLBrYZ-CkFtgHfm.mjs → data-types-hoKLBrYZ-h9cAgbOy.mjs} +4 -4
- package/dist/data-types-hoKLBrYZ-h9cAgbOy.mjs.map +1 -0
- package/dist/{descriptor-meta-DTj807jv-C0Hq7wyV.mjs → descriptor-meta-DTj807jv-CjvK2XDD.mjs} +5 -5
- package/dist/descriptor-meta-DTj807jv-CjvK2XDD.mjs.map +1 -0
- package/dist/{descriptor-meta-runtime-BaRbjvD7-MOhJcdky.mjs → descriptor-meta-runtime-BaRbjvD7-D0786_Lv.mjs} +4 -4
- package/dist/descriptor-meta-runtime-BaRbjvD7-D0786_Lv.mjs.map +1 -0
- package/dist/driver.d.mts +1 -1
- package/dist/driver.mjs +1 -1
- package/dist/driver__control.d.mts +2 -2
- package/dist/driver__control.d.mts.map +1 -1
- package/dist/driver__control.mjs +2 -2
- package/dist/driver__control.mjs.map +1 -1
- package/dist/{migration-DKoUk2CF.d.mts → migration-C4m4Uj8E.d.mts} +3 -3
- package/dist/migration-C4m4Uj8E.d.mts.map +1 -0
- package/dist/{migration-factories-BqROEHRs-C4K_DHy7.mjs → migration-factories-BqROEHRs-CfExMr9r.mjs} +3 -3
- package/dist/migration-factories-BqROEHRs-CfExMr9r.mjs.map +1 -0
- package/dist/{mongo-adapter-Bo6ciURK-CGfjLOPh.mjs → mongo-adapter-Bo6ciURK-DIMJdC7y.mjs} +3 -3
- package/dist/mongo-adapter-Bo6ciURK-DIMJdC7y.mjs.map +1 -0
- package/dist/{mongo-adapter-wvK2fQOZ-BXo5NxEB.d.mts → mongo-adapter-wvK2fQOZ-FswLS-PJ.d.mts} +2 -2
- package/dist/mongo-adapter-wvK2fQOZ-FswLS-PJ.d.mts.map +1 -0
- package/dist/{mongo-driver-CTyvKDUg-bwRH7EDL.d.mts → mongo-driver-CTyvKDUg-Bm9sBrfs.d.mts} +2 -2
- package/dist/mongo-driver-CTyvKDUg-Bm9sBrfs.d.mts.map +1 -0
- package/dist/{mongo-driver-q-IqfhuV-CouLzDHp.mjs → mongo-driver-_Pn5rQ9m-Bh4cHp2m.mjs} +3 -3
- package/dist/mongo-driver-_Pn5rQ9m-Bh4cHp2m.mjs.map +1 -0
- package/dist/{mongo-target-errors-Btf3ML1w-B5EMYbz1.mjs → mongo-target-errors-Btf3ML1w-QOtEG7EX.mjs} +2 -2
- package/dist/mongo-target-errors-Btf3ML1w-QOtEG7EX.mjs.map +1 -0
- package/dist/{op-factory-call-BoYr7vvM-PXfT4zvm.d.mts → op-factory-call-BoYr7vvM-CjA8nx36.d.mts} +2 -2
- package/dist/op-factory-call-BoYr7vvM-CjA8nx36.d.mts.map +1 -0
- package/dist/{pack-DYR2mrvW.d.mts → pack-CIfujQmd.d.mts} +3 -3
- package/dist/pack-CIfujQmd.d.mts.map +1 -0
- package/dist/{prisma6-binding-DRM8QnmA.d.mts → prisma6-binding-DhnqslLT.d.mts} +2 -2
- package/dist/prisma6-binding-DhnqslLT.d.mts.map +1 -0
- package/dist/{prisma6-binding-WOZ8vURx.mjs → prisma6-binding-vt4tbT-Z.mjs} +4 -4
- package/dist/prisma6-binding-vt4tbT-Z.mjs.map +1 -0
- package/dist/{runtime-B9_-kjBX.d.mts → runtime-DbFgyDql.d.mts} +2 -2
- package/dist/runtime-DbFgyDql.d.mts.map +1 -0
- package/dist/target.d.mts +10 -10
- package/dist/target.mjs +6 -6
- package/dist/target__codec-ids.d.mts +1 -1
- package/dist/target__codec-ids.mjs +1 -1
- package/dist/target__codec-types.d.mts +1 -1
- package/dist/target__codecs.d.mts +1 -1
- package/dist/target__codecs.mjs +1 -1
- package/dist/target__control.d.mts +2 -2
- package/dist/target__control.mjs +1 -1
- package/dist/target__data-types.d.mts +1 -1
- package/dist/target__data-types.mjs +1 -1
- package/dist/target__migration.d.mts +1 -1
- package/dist/target__migration.mjs +1 -1
- package/dist/target__pack.d.mts +2 -2
- package/dist/target__pack.mjs +2 -2
- package/dist/target__pack.mjs.map +1 -1
- package/dist/target__prisma6-binding.d.mts +1 -1
- package/dist/target__prisma6-binding.mjs +1 -1
- package/dist/target__runtime.d.mts +1 -1
- package/dist/target__runtime.mjs +2 -2
- package/dist/target__runtime.mjs.map +1 -1
- package/package.json +9 -9
- package/dist/codec-ids-PSU05uwH.d.mts.map +0 -1
- package/dist/codec-ids-WdrumsYA-BkQfspmL.mjs.map +0 -1
- package/dist/codec-types-Daq7xQEA.d.mts.map +0 -1
- package/dist/codecs-B1ab7vfj-DncFJY2Q.mjs.map +0 -1
- package/dist/codecs-DBvHcdHp.d.mts.map +0 -1
- package/dist/control-BjaiAXAN.d.mts.map +0 -1
- package/dist/control-DRifdPhB.mjs.map +0 -1
- package/dist/data-types-BUXk_WEa.d.mts.map +0 -1
- package/dist/data-types-hoKLBrYZ-CkFtgHfm.mjs.map +0 -1
- package/dist/descriptor-meta-DTj807jv-C0Hq7wyV.mjs.map +0 -1
- package/dist/descriptor-meta-runtime-BaRbjvD7-MOhJcdky.mjs.map +0 -1
- package/dist/migration-DKoUk2CF.d.mts.map +0 -1
- package/dist/migration-factories-BqROEHRs-C4K_DHy7.mjs.map +0 -1
- package/dist/mongo-adapter-Bo6ciURK-CGfjLOPh.mjs.map +0 -1
- package/dist/mongo-adapter-wvK2fQOZ-BXo5NxEB.d.mts.map +0 -1
- package/dist/mongo-driver-CTyvKDUg-bwRH7EDL.d.mts.map +0 -1
- package/dist/mongo-driver-q-IqfhuV-CouLzDHp.mjs.map +0 -1
- package/dist/mongo-target-errors-Btf3ML1w-B5EMYbz1.mjs.map +0 -1
- package/dist/op-factory-call-BoYr7vvM-PXfT4zvm.d.mts.map +0 -1
- package/dist/pack-DYR2mrvW.d.mts.map +0 -1
- package/dist/prisma6-binding-DRM8QnmA.d.mts.map +0 -1
- package/dist/prisma6-binding-WOZ8vURx.mjs.map +0 -1
- package/dist/runtime-B9_-kjBX.d.mts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migration-factories-BqROEHRs-C4K_DHy7.mjs","names":[],"sources":["../../../../3-mongo-target/1-mongo-target/dist/migration-factories-BqROEHRs.mjs"],"sourcesContent":["import { t as mongoTargetError } from \"./mongo-target-errors-Btf3ML1w.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { MONGO_INDEX_OPTION_KEYS } from \"@internal/mongo-schema-ir\";\nimport { CollModCommand, DropCollectionCommand, DropIndexCommand, ListCollectionsCommand, ListIndexesCommand, MongoAndExpr, MongoExistsExpr, MongoFieldFilter, MongoNotExpr, RenameCollectionCommand, buildIndexOpId, defaultMongoIndexName, keysToKeySpec } from \"@internal/mongo-query-ast/control\";\nimport { RawAggregateCommand, RawUpdateManyCommand } from \"@internal/mongo-query-ast/execution\";\nimport { createFieldAccessor } from \"@internal/mongo-query-builder\";\nimport { collection } from \"@internal/mongo-query-builder/contract-free\";\n//#region src/core/migrations/migration-factories.ts\nfunction isBuildable(value) {\n\tif (typeof value !== \"object\" || value === null || !(\"build\" in value)) return false;\n\treturn typeof Reflect.get(value, \"build\") === \"function\";\n}\nfunction resolveQuery(value) {\n\treturn isBuildable(value) ? value.build() : value;\n}\nconst MATCH_ALL_FILTER = MongoExistsExpr.exists(\"_id\");\nfunction dataTransform(name, options) {\n\tlet precheck = [];\n\tlet postcheck = [];\n\tif (options.check) {\n\t\tconst source = resolveQuery(options.check.source());\n\t\tconst filter = options.check.filter ?? MATCH_ALL_FILTER;\n\t\tconst description = options.check.description ?? `Check for data transform: ${name}`;\n\t\tconst precheckExpect = options.check.expect ?? \"exists\";\n\t\tconst postcheckExpect = precheckExpect === \"exists\" ? \"notExists\" : \"exists\";\n\t\tprecheck = [{\n\t\t\tdescription,\n\t\t\tsource,\n\t\t\tfilter,\n\t\t\texpect: precheckExpect\n\t\t}];\n\t\tpostcheck = [{\n\t\t\tdescription,\n\t\t\tsource,\n\t\t\tfilter,\n\t\t\texpect: postcheckExpect\n\t\t}];\n\t}\n\tconst run = [resolveQuery(options.run())];\n\treturn {\n\t\tid: `data_transform.${name}`,\n\t\tlabel: `Data transform: ${name}`,\n\t\toperationClass: \"data\",\n\t\tname,\n\t\t...ifDefined(\"invariantId\", options.invariantId),\n\t\tprecheck,\n\t\trun,\n\t\tpostcheck\n\t};\n}\nconst REWRITE_PLAN_META = {\n\ttarget: \"mongo\",\n\tstorageHash: \"\",\n\tlane: \"mongo-raw\"\n};\nfunction documentsHolding(fields, filter) {\n\tconst conditions = [...filter === void 0 ? [] : [filter], ...fields.map((field) => ({ [field]: { $exists: true } }))];\n\tconst [only] = conditions;\n\treturn conditions.length === 1 && only !== void 0 ? only : { $and: conditions };\n}\nconst UNREWRITABLE_FIELD_NAMES = [\n\t{\n\t\tmatches: (field) => field === \"\",\n\t\treason: \"it is empty\"\n\t},\n\t{\n\t\tmatches: (field) => field === \"_id\",\n\t\treason: \"MongoDB does not let a document change its _id\"\n\t},\n\t{\n\t\tmatches: (field) => field.includes(\".\"),\n\t\treason: \"MongoDB reads a name containing \\\".\\\" as a path into embedded documents\"\n\t},\n\t{\n\t\tmatches: (field) => field.startsWith(\"$\"),\n\t\treason: \"MongoDB reads a name starting with \\\"$\\\" as an operator\"\n\t}\n];\n/** Why `renameField` and `unsetField` cannot rewrite a field of this name, if they cannot. */\nfunction unrewritableFieldNameReason(field) {\n\treturn UNREWRITABLE_FIELD_NAMES.find((rule) => rule.matches(field))?.reason;\n}\nfunction assertRewritableField(collectionName, field) {\n\tconst reason = unrewritableFieldNameReason(field);\n\tif (reason === void 0) return;\n\tthrow mongoTargetError(\"MIGRATION.FIELD_NAME_UNSUPPORTED\", `Field \"${field}\" in collection ${collectionName} cannot be rewritten: ${reason}.`, { meta: {\n\t\tcollection: collectionName,\n\t\tfield,\n\t\treason\n\t} });\n}\nfunction rewritePlan(collectionName, command) {\n\treturn {\n\t\tcollection: collectionName,\n\t\tcommand,\n\t\tmeta: { ...REWRITE_PLAN_META }\n\t};\n}\nfunction noDocumentHolds(collectionName, fields, filter) {\n\treturn {\n\t\tdescription: `no document in ${collectionName} holds ${fields.length === 1 ? fields[0] : `both ${fields.join(\" and \")}`}`,\n\t\tsource: rewritePlan(collectionName, new RawAggregateCommand(collectionName, [{ $match: documentsHolding(fields, filter) }, { $limit: 1 }])),\n\t\tfilter: MATCH_ALL_FILTER,\n\t\texpect: \"notExists\"\n\t};\n}\nfunction rewriteUpdate(collectionName, field, filter, update) {\n\treturn rewritePlan(collectionName, new RawUpdateManyCommand(collectionName, documentsHolding([field], filter), update, { bypassDocumentValidation: true }));\n}\nfunction idSuffix(filter) {\n\treturn filter === void 0 ? \"\" : `.where(${JSON.stringify(filter)})`;\n}\nfunction valueList(values) {\n\treturn values.map((value) => JSON.stringify(value)).join(\", \");\n}\n/** A field condition in words: `type is \"bug\"`, `type is not \"bug\"`, `type is none of \"bug\", \"task\"`. */\nfunction conditionInWords(field, condition) {\n\tconst excluded = typeof condition === \"object\" && condition !== null && !Array.isArray(condition) ? Reflect.get(condition, \"$nin\") : void 0;\n\tif (Array.isArray(excluded)) return excluded.length === 1 ? `${field} is not ${valueList(excluded)}` : `${field} is none of ${valueList(excluded)}`;\n\treturn typeof condition === \"object\" && condition !== null ? void 0 : `${field} is ${JSON.stringify(condition)}`;\n}\n/** The documents a filter selects, in words where the planner wrote it, for an operation's label. */\nfunction labelSuffix(filter) {\n\tif (filter === void 0) return \"\";\n\tconst words = Object.entries(filter).map(([field, condition]) => conditionInWords(field, condition));\n\treturn words.every((word) => word !== void 0) && words.length > 0 ? ` in documents whose ${words.join(\" and \")}` : ` in documents matching ${JSON.stringify(filter)}`;\n}\nfunction renameField(collectionName, from, to, options) {\n\tassertRewritableField(collectionName, from);\n\tassertRewritableField(collectionName, to);\n\tif (from === to) throw mongoTargetError(\"MIGRATION.INVALID_OPERATION_ENTRY\", `renameField renames field \"${from}\" in collection ${collectionName} to its own name.`, { meta: {\n\t\tcontext: \"renameField\",\n\t\tcollection: collectionName,\n\t\tfield: from,\n\t\treason: \"the new name is the old name\"\n\t} });\n\tconst filter = options?.filter;\n\tconst id = `field.${collectionName}.${from}.rename(${to})${idSuffix(filter)}`;\n\treturn {\n\t\tid,\n\t\tlabel: `Rename field ${from} to ${to} in collection ${collectionName}${labelSuffix(filter)}`,\n\t\toperationClass: \"widening\",\n\t\tname: id,\n\t\tprecheck: [noDocumentHolds(collectionName, [from, to], filter)],\n\t\trun: [rewriteUpdate(collectionName, from, filter, { $rename: { [from]: to } })],\n\t\tpostcheck: [noDocumentHolds(collectionName, [from], filter)]\n\t};\n}\nfunction unsetField(collectionName, field, options) {\n\tassertRewritableField(collectionName, field);\n\tconst filter = options?.filter;\n\tconst id = `field.${collectionName}.${field}.unset${idSuffix(filter)}`;\n\treturn {\n\t\tid,\n\t\tlabel: `Remove field ${field} from collection ${collectionName}${labelSuffix(filter)}`,\n\t\toperationClass: \"destructive\",\n\t\tname: id,\n\t\tprecheck: [],\n\t\trun: [rewriteUpdate(collectionName, field, filter, { $unset: { [field]: \"\" } })],\n\t\tpostcheck: [noDocumentHolds(collectionName, [field], filter)]\n\t};\n}\nfunction formatKeys(keys) {\n\treturn keys.map((k) => `${k.field}:${k.direction}`).join(\", \");\n}\n/** What an index check matches, which is the index's keys and collection, not its name. */\nfunction indexObject(collectionName, keys) {\n\tif (isTextIndex(keys)) return `a text index in \"${collectionName}\"`;\n\treturn `an index on { ${keys.map((key) => `${key.field}: ${JSON.stringify(key.direction)}`).join(\", \")} } in \"${collectionName}\"`;\n}\nfunction isTextIndex(keys) {\n\treturn keys.some((k) => k.direction === \"text\");\n}\nfunction keyFilter(keys) {\n\tconst f = createFieldAccessor();\n\treturn isTextIndex(keys) ? f.rawPath(\"key._fts\").eq(\"text\") : f.key.eq(blindCast(keysToKeySpec(keys)));\n}\nfunction documentValue(document) {\n\treturn blindCast(document);\n}\n/** MongoDB stores a text index's text fields as `_fts` and `_ftsx` in the place of the first one. */\nfunction textIndexKeySpec(keys) {\n\tconst spec = {};\n\tfor (const key of keys) if (key.direction !== \"text\") spec[key.field] = key.direction;\n\telse if (!Object.hasOwn(spec, \"_fts\")) Object.assign(spec, {\n\t\t_fts: \"text\",\n\t\t_ftsx: 1\n\t});\n\treturn spec;\n}\n/** MongoDB lists every text field's weight, 1 when none is given, ordered by field name. */\nfunction textIndexWeights(keys, weights) {\n\tconst fields = keys.filter((key) => key.direction === \"text\").map((key) => key.field);\n\treturn Object.fromEntries(fields.sort().map((field) => [field, weights?.[field] ?? 1]));\n}\nfunction flagFilter(field, on) {\n\tconst set = MongoFieldFilter.eq(field, true);\n\treturn on ? set : new MongoNotExpr(set);\n}\nfunction optionFilter(field, value) {\n\treturn value === void 0 ? MongoExistsExpr.notExists(field) : MongoFieldFilter.eq(field, value);\n}\n/**\n* MongoDB completes a collation with its defaults, so only the fields the call gives are compared, as\n* the verifier does. An index with no collation must have none.\n*/\nfunction collationFilters(collation) {\n\tif (collation === void 0) return [MongoExistsExpr.notExists(\"collation\")];\n\treturn Object.entries(collation).map(([option, value]) => MongoFieldFilter.eq(`collation.${option}`, blindCast(value)));\n}\nconst textIndexOnly = (filter) => (options, keys) => isTextIndex(keys) ? filter(options, keys) : [];\nconst INDEX_OPTION_FILTERS = {\n\tunique: (options) => [flagFilter(\"unique\", options?.unique)],\n\tsparse: (options) => [flagFilter(\"sparse\", options?.sparse)],\n\texpireAfterSeconds: (options) => [optionFilter(\"expireAfterSeconds\", options?.expireAfterSeconds)],\n\tpartialFilterExpression: (options) => [optionFilter(\"partialFilterExpression\", options?.partialFilterExpression && documentValue(options.partialFilterExpression))],\n\twildcardProjection: (options) => [optionFilter(\"wildcardProjection\", options?.wildcardProjection && documentValue(options.wildcardProjection))],\n\tcollation: (options) => collationFilters(options?.collation),\n\tweights: textIndexOnly((options, keys) => [MongoFieldFilter.eq(\"weights\", documentValue(textIndexWeights(keys, options?.weights)))]),\n\tdefault_language: textIndexOnly((options) => [MongoFieldFilter.eq(\"default_language\", options?.default_language ?? TEXT_INDEX_DEFAULT_LANGUAGE)]),\n\tlanguage_override: textIndexOnly((options) => [MongoFieldFilter.eq(\"language_override\", options?.language_override ?? TEXT_INDEX_DEFAULT_LANGUAGE_OVERRIDE)])\n};\nfunction indexDefinitionFilter(keys, options) {\n\treturn MongoAndExpr.of([isTextIndex(keys) ? MongoFieldFilter.eq(\"key\", documentValue(textIndexKeySpec(keys))) : keyFilter(keys), ...MONGO_INDEX_OPTION_KEYS.flatMap((option) => INDEX_OPTION_FILTERS[option](options, keys))]);\n}\nconst TEXT_INDEX_DEFAULT_LANGUAGE = \"english\";\nconst TEXT_INDEX_DEFAULT_LANGUAGE_OVERRIDE = \"language\";\nfunction createIndex(collectionName, keys, options) {\n\tconst name = defaultMongoIndexName(keys);\n\tconst filter = keyFilter(keys);\n\treturn {\n\t\tid: buildIndexOpId(\"create\", collectionName, keys),\n\t\tlabel: `Create index on ${collectionName} (${formatKeys(keys)})`,\n\t\toperationClass: \"additive\",\n\t\tprecheck: [{\n\t\t\tdescription: `index does not already exist on ${collectionName}`,\n\t\t\tsource: new ListIndexesCommand(collectionName),\n\t\t\tfilter,\n\t\t\texpect: \"notExists\",\n\t\t\tobject: indexObject(collectionName, keys)\n\t\t}],\n\t\texecute: [{\n\t\t\tdescription: `create index on ${collectionName}`,\n\t\t\tcommand: collection(collectionName).createIndex(keys, {\n\t\t\t\t...options,\n\t\t\t\tname\n\t\t\t})\n\t\t}],\n\t\tpostcheck: [{\n\t\t\tdescription: `index exists on ${collectionName}`,\n\t\t\tsource: new ListIndexesCommand(collectionName),\n\t\t\tfilter: indexDefinitionFilter(keys, options),\n\t\t\texpect: \"exists\"\n\t\t}]\n\t};\n}\nfunction dropIndex(collectionName, keys) {\n\tconst indexName = defaultMongoIndexName(keys);\n\tconst filter = keyFilter(keys);\n\treturn {\n\t\tid: buildIndexOpId(\"drop\", collectionName, keys),\n\t\tlabel: `Drop index on ${collectionName} (${formatKeys(keys)})`,\n\t\toperationClass: \"widening\",\n\t\tprecheck: [{\n\t\t\tdescription: `index exists on ${collectionName}`,\n\t\t\tsource: new ListIndexesCommand(collectionName),\n\t\t\tfilter,\n\t\t\texpect: \"exists\",\n\t\t\tobject: indexObject(collectionName, keys)\n\t\t}],\n\t\texecute: [{\n\t\t\tdescription: `drop index on ${collectionName}`,\n\t\t\tcommand: new DropIndexCommand(collectionName, indexName)\n\t\t}],\n\t\tpostcheck: [{\n\t\t\tdescription: `index no longer exists on ${collectionName}`,\n\t\t\tsource: new ListIndexesCommand(collectionName),\n\t\t\tfilter,\n\t\t\texpect: \"notExists\",\n\t\t\tobject: indexObject(collectionName, keys)\n\t\t}]\n\t};\n}\nfunction createCollection(collectionName, options) {\n\tconst f = createFieldAccessor();\n\treturn {\n\t\tid: `collection.${collectionName}.create`,\n\t\tlabel: `Create collection ${collectionName}`,\n\t\toperationClass: \"additive\",\n\t\tprecheck: [{\n\t\t\tdescription: `collection ${collectionName} does not exist`,\n\t\t\tsource: new ListCollectionsCommand(),\n\t\t\tfilter: f.name.eq(collectionName),\n\t\t\texpect: \"notExists\",\n\t\t\tobject: `collection \"${collectionName}\"`\n\t\t}],\n\t\texecute: [{\n\t\t\tdescription: `create collection ${collectionName}`,\n\t\t\tcommand: collection(collectionName).createCollection(options)\n\t\t}],\n\t\tpostcheck: []\n\t};\n}\nfunction dropCollection(collectionName) {\n\treturn {\n\t\tid: `collection.${collectionName}.drop`,\n\t\tlabel: `Drop collection ${collectionName}`,\n\t\toperationClass: \"destructive\",\n\t\tprecheck: [],\n\t\texecute: [{\n\t\t\tdescription: `drop collection ${collectionName}`,\n\t\t\tcommand: new DropCollectionCommand(collectionName)\n\t\t}],\n\t\tpostcheck: []\n\t};\n}\nfunction collectionCheck(name, expect) {\n\treturn {\n\t\tdescription: expect === \"exists\" ? `collection ${name} exists` : `collection ${name} does not exist`,\n\t\tsource: new ListCollectionsCommand(),\n\t\tfilter: MongoFieldFilter.eq(\"name\", name),\n\t\texpect,\n\t\tobject: `collection \"${name}\"`\n\t};\n}\nfunction renameCollection(from, to) {\n\treturn {\n\t\tid: `collection.${from}.rename(${to})`,\n\t\tlabel: `Rename collection ${from} to ${to}`,\n\t\toperationClass: \"widening\",\n\t\tprecheck: [collectionCheck(from, \"exists\"), collectionCheck(to, \"notExists\")],\n\t\texecute: [{\n\t\t\tdescription: `rename collection ${from} to ${to}`,\n\t\t\tcommand: new RenameCollectionCommand(from, to)\n\t\t}],\n\t\tpostcheck: [collectionCheck(to, \"exists\"), collectionCheck(from, \"notExists\")]\n\t};\n}\nfunction setValidation(collectionName, schema, options) {\n\treturn {\n\t\tid: `collection.${collectionName}.setValidation`,\n\t\tlabel: `Set validation on ${collectionName}`,\n\t\toperationClass: \"widening\",\n\t\tprecheck: [],\n\t\texecute: [{\n\t\t\tdescription: `set validation on ${collectionName}`,\n\t\t\tcommand: new CollModCommand(collectionName, {\n\t\t\t\tvalidator: { $jsonSchema: schema },\n\t\t\t\t...ifDefined(\"validationLevel\", options?.validationLevel),\n\t\t\t\t...ifDefined(\"validationAction\", options?.validationAction)\n\t\t\t})\n\t\t}],\n\t\tpostcheck: []\n\t};\n}\n/**\n* Matches the collection's validator body. MongoDB returns the validator through `listCollections`\n* with its keys in the order given, so the order-sensitive comparison holds once the collMod ran; a\n* validator written by hand with another key order only makes the collMod run again.\n*/\nfunction validatorBodyFilter(validator) {\n\tconst { $jsonSchema, ...rest } = validator;\n\treturn $jsonSchema !== void 0 && Object.keys(rest).length === 0 ? MongoFieldFilter.eq(\"options.validator.$jsonSchema\", blindCast($jsonSchema)) : MongoFieldFilter.eq(\"options.validator\", documentValue(validator));\n}\nfunction collMod(collectionName, options, meta) {\n\tconst hasValidator = options.validator != null && Object.keys(options.validator).length > 0;\n\treturn {\n\t\tid: meta?.id ?? `collection.${collectionName}.collMod`,\n\t\tlabel: meta?.label ?? `Modify collection ${collectionName}`,\n\t\toperationClass: meta?.operationClass ?? \"widening\",\n\t\tprecheck: options.validator != null ? [{\n\t\t\tdescription: `collection ${collectionName} exists`,\n\t\t\tsource: new ListCollectionsCommand(),\n\t\t\tfilter: MongoFieldFilter.eq(\"name\", collectionName),\n\t\t\texpect: \"exists\",\n\t\t\tobject: `collection \"${collectionName}\"`\n\t\t}] : [],\n\t\texecute: [{\n\t\t\tdescription: `modify ${collectionName}`,\n\t\t\tcommand: new CollModCommand(collectionName, options)\n\t\t}],\n\t\tpostcheck: hasValidator ? [{\n\t\t\tdescription: `validator applied on ${collectionName}`,\n\t\t\tsource: new ListCollectionsCommand(),\n\t\t\tfilter: MongoAndExpr.of([\n\t\t\t\tMongoFieldFilter.eq(\"name\", collectionName),\n\t\t\t\t...options.validationLevel ? [MongoFieldFilter.eq(\"options.validationLevel\", options.validationLevel)] : [],\n\t\t\t\t...options.validationAction ? [MongoFieldFilter.eq(\"options.validationAction\", options.validationAction)] : [],\n\t\t\t\tvalidatorBodyFilter(options.validator ?? {})\n\t\t\t]),\n\t\t\texpect: \"exists\"\n\t\t}] : []\n\t};\n}\nfunction validatedCollection(name, schema, indexes) {\n\treturn [createCollection(name, {\n\t\tvalidator: { $jsonSchema: schema },\n\t\tvalidationLevel: \"strict\",\n\t\tvalidationAction: \"error\"\n\t}), ...indexes.map((idx) => createIndex(name, idx.keys, idx.unique !== void 0 ? { unique: idx.unique } : void 0))];\n}\n//#endregion\nexport { dropCollection as a, renameField as c, unsetField as d, validatedCollection as f, dataTransform as i, setValidation as l, createCollection as n, dropIndex as o, createIndex as r, renameCollection as s, collMod as t, unrewritableFieldNameReason as u };\n\n//# sourceMappingURL=migration-factories-BqROEHRs.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-adapter-Bo6ciURK-CGfjLOPh.mjs","names":["#codecs"],"sources":["../../../../3-mongo-target/2-mongo-adapter/dist/mongo-adapter-Bo6ciURK.mjs"],"sourcesContent":["import { isExprArray, isRecordArgs } from \"@internal/mongo-query-ast/execution\";\nimport { MongoParamRef } from \"@internal/mongo-value\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { InternalError, assertNever, isInternalError } from \"@internal/utils/internal-error\";\nimport { checkAborted, raceAgainstAbort, runtimeError } from \"@internal/framework-components/runtime\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\nimport { keysToKeySpec } from \"@internal/mongo-query-ast/control\";\nimport { AggregateWireCommand, CollModWireCommand, CreateCollectionWireCommand, CreateIndexWireCommand, DeleteManyWireCommand, DeleteOneWireCommand, DropCollectionWireCommand, DropIndexWireCommand, FindOneAndDeleteWireCommand, FindOneAndUpdateWireCommand, InsertManyWireCommand, InsertOneWireCommand, RenameCollectionWireCommand, UpdateManyWireCommand, UpdateOneWireCommand } from \"@internal/mongo-wire\";\nimport { buildStandardCodecRegistry } from \"@internal/target-mongo/codecs\";\n//#region src/resolve-value.ts\n/**\n* A value the driver serializes as one BSON value rather than a document: a `Date`, `RegExp` or `Uint8Array`, or an instance of a `bson` class, recognised by its `_bsontype` tag because the driver's classes come from its own load of `bson`. A plain object carrying a `_bsontype` key is a stored subdocument, not a class.\n*/\nfunction isWireScalar(value) {\n\tif (value instanceof Date || value instanceof RegExp || value instanceof Uint8Array) return true;\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn prototype !== Object.prototype && prototype !== null && typeof Reflect.get(value, \"_bsontype\") === \"string\";\n}\n/**\n* Resolves a `MongoValue` (which may contain `MongoParamRef` leaves) into the\n* driver-ready wire shape. When a leaf has a `codecId` and the registry has a\n* codec for it, the codec's async `encode` is awaited so codecs may perform\n* asynchronous work (e.g. lookups, key derivations).\n*\n* Object/array nodes dispatch their child resolutions concurrently via\n* `Promise.all` so independent leaves encode in parallel.\n*\n* Codec encode failures are wrapped in a `RUNTIME.ENCODE_FAILED` envelope\n* (mirroring SQL's `wrapEncodeFailure` shape) with `{ label, codec }` details\n* and the original error attached on `cause`. A structured envelope (any error\n* with a dotted `code`, per `isStructuredError`) is re-thrown verbatim so\n* codec-raised envelopes and nested resolvers don't get double-wrapped, and\n* so is an `InternalError`.\n*\n* `ctx: CodecCallContext` is forwarded verbatim to every\n* `codec.toWire(value, ctx)` call. The same `ctx` reference is also passed\n* to nested `resolveValue` invocations so codec authors observe **signal\n* identity** across the entire recursive walk for one `runtime.query()`.\n*\n* Abort observation (only when `ctx.signal` is provided):\n*\n* - **Already-aborted at entry** — every recursive call pre-checks\n* `ctx.signal.aborted` and short-circuits with\n* `RUNTIME.ABORTED { phase: 'encode' }` before any codec is invoked.\n* - **Mid-flight abort** — each per-level `Promise.all` races against the\n* signal via `raceAgainstAbort`. The runtime returns\n* `RUNTIME.ABORTED { phase: 'encode' }` promptly even if codec bodies\n* ignore the signal; in-flight bodies run to completion in the background\n* (cooperative cancellation, see ADR 204).\n* - `RUNTIME.ENCODE_FAILED` envelopes thrown by a codec body before the\n* runtime sees the abort pass through unchanged (AC-ERR4).\n*/\nasync function resolveValue(value, codecs, ctx) {\n\tcheckAborted(ctx, \"encode\");\n\tconst signal = ctx.signal;\n\tif (value instanceof MongoParamRef) {\n\t\tif (value.codecId) {\n\t\t\tconst codec = codecs.get(value.codecId);\n\t\t\tif (codec?.toWire) try {\n\t\t\t\treturn await raceAgainstAbort(codec.toWire(value.value, ctx), signal, \"encode\");\n\t\t\t} catch (error) {\n\t\t\t\twrapEncodeFailure(error, value, codec.id);\n\t\t\t}\n\t\t}\n\t\treturn value.value;\n\t}\n\tif (value === null || typeof value !== \"object\" || isWireScalar(value)) return value;\n\tif (Array.isArray(value)) return raceAgainstAbort(Promise.all(value.map((v) => resolveValue(v, codecs, ctx))), signal, \"encode\");\n\tconst entries = Object.entries(value);\n\tconst resolved = await raceAgainstAbort(Promise.all(entries.map(([, val]) => resolveValue(val, codecs, ctx))), signal, \"encode\");\n\tconst result = {};\n\tfor (let i = 0; i < entries.length; i++) {\n\t\tconst entry = entries[i];\n\t\tif (entry) result[entry[0]] = resolved[i];\n\t}\n\treturn result;\n}\n/**\n* Resolves a draft slot value — which may be `MongoParamRef`, a primitive, a\n* nested plain-object, or an array — into the corresponding wire value.\n* Mirrors `resolveValue`'s traversal strategy but accepts `unknown` so it can\n* handle pipeline stage documents whose field types cannot be narrowed to\n* `MongoValue` statically (e.g. `$geoNear.near: unknown`).\n*/\nasync function resolveDraftSlot(value, codecs, ctx) {\n\tif (value instanceof MongoParamRef) return resolveValue(value, codecs, ctx);\n\tif (value === null || typeof value !== \"object\" || isWireScalar(value)) return value;\n\tif (Array.isArray(value)) return raceAgainstAbort(Promise.all(value.map((v) => resolveDraftSlot(v, codecs, ctx))), ctx.signal, \"encode\");\n\treturn resolveDraftDoc(blindCast(value), codecs, ctx);\n}\n/**\n* Resolves a pipeline stage draft document by walking every entry and\n* forwarding to {@link resolveDraftSlot}. Used by `MongoAdapterImpl.resolveParams`\n* for aggregate pipeline stages, which carry `unknown`-typed fields (e.g.\n* `$geoNear.near`) alongside filter sub-documents that may contain\n* `MongoParamRef` leaves.\n*/\nasync function resolveDraftDoc(doc, codecs, ctx) {\n\tcheckAborted(ctx, \"encode\");\n\tconst entries = Object.entries(doc);\n\tconst resolved = await raceAgainstAbort(Promise.all(entries.map(([, val]) => resolveDraftSlot(val, codecs, ctx))), ctx.signal, \"encode\");\n\tconst result = {};\n\tfor (let i = 0; i < entries.length; i++) {\n\t\tconst entry = entries[i];\n\t\tif (entry) result[entry[0]] = resolved[i];\n\t}\n\treturn result;\n}\nfunction paramRefLabel(ref, codecId) {\n\treturn ref.name ?? codecId;\n}\n/**\n* Every encode failure names the parameter, or the field and collection when the ORM supplied them. A codec's own `RUNTIME.ENCODE_FAILED` keeps its code and details, with the label added; any other structured envelope and an `InternalError` pass through unchanged; everything else is wrapped in a `RUNTIME.ENCODE_FAILED` envelope. The original error is the `cause`.\n*/\nfunction wrapEncodeFailure(error, ref, codecId) {\n\tif (isInternalError(error)) throw error;\n\tconst codecDetails = isStructuredError(error) ? error.meta : void 0;\n\tif (isStructuredError(error) && error.code !== \"RUNTIME.ENCODE_FAILED\") throw error;\n\tconst label = paramRefLabel(ref, codecId);\n\tconst message = error instanceof Error ? error.message : String(error);\n\tconst wrapped = runtimeError(\"RUNTIME.ENCODE_FAILED\", `Failed to encode ${ref.name !== void 0 && ref.collection !== void 0 ? `field ${ref.name} in collection '${ref.collection}'` : `parameter ${label}`} with codec '${codecId}': ${message}`, {\n\t\t...codecDetails,\n\t\tlabel,\n\t\t...ifDefined(\"collection\", ref.collection),\n\t\tcodec: codecId\n\t});\n\twrapped.cause = error;\n\tthrow wrapped;\n}\n//#endregion\n//#region src/lowering.ts\nconst THEN_KEY = \"then\";\nfunction condBranch(caseOrIf, thenExpr, elseExpr) {\n\tconst entries = [[elseExpr ? \"if\" : \"case\", lowerAggExpr(caseOrIf)], [THEN_KEY, lowerAggExpr(thenExpr)]];\n\tif (elseExpr) entries.push([\"else\", lowerAggExpr(elseExpr)]);\n\treturn Object.fromEntries(entries);\n}\nconst aggExprLoweringVisitor = {\n\tfieldRef(expr) {\n\t\treturn `$${expr.path}`;\n\t},\n\tliteral(expr) {\n\t\treturn needsLiteralWrap(expr.value) ? { $literal: expr.value } : expr.value;\n\t},\n\toperator(expr) {\n\t\tconst { args } = expr;\n\t\tlet loweredArgs;\n\t\tif (isExprArray(args)) loweredArgs = args.map((a) => lowerAggExpr(a));\n\t\telse if (isRecordArgs(args)) loweredArgs = lowerExprRecord(args);\n\t\telse loweredArgs = lowerAggExpr(args);\n\t\treturn { [expr.op]: loweredArgs };\n\t},\n\taccumulator(expr) {\n\t\tif (expr.arg === null) return { [expr.op]: {} };\n\t\tif (isRecordArgs(expr.arg)) return { [expr.op]: lowerExprRecord(expr.arg) };\n\t\treturn { [expr.op]: lowerAggExpr(expr.arg) };\n\t},\n\tcond(expr) {\n\t\treturn { $cond: condBranch(expr.condition, expr.then_, expr.else_) };\n\t},\n\tswitch_(expr) {\n\t\treturn { $switch: {\n\t\t\tbranches: expr.branches.map((b) => condBranch(b.case_, b.then_)),\n\t\t\tdefault: lowerAggExpr(expr.default_)\n\t\t} };\n\t},\n\tfilter(expr) {\n\t\treturn { $filter: {\n\t\t\tinput: lowerAggExpr(expr.input),\n\t\t\tcond: lowerAggExpr(expr.cond),\n\t\t\tas: expr.as\n\t\t} };\n\t},\n\tmap(expr) {\n\t\treturn { $map: {\n\t\t\tinput: lowerAggExpr(expr.input),\n\t\t\tin: lowerAggExpr(expr.in_),\n\t\t\tas: expr.as\n\t\t} };\n\t},\n\treduce(expr) {\n\t\treturn { $reduce: {\n\t\t\tinput: lowerAggExpr(expr.input),\n\t\t\tinitialValue: lowerAggExpr(expr.initialValue),\n\t\t\tin: lowerAggExpr(expr.in_)\n\t\t} };\n\t},\n\tlet_(expr) {\n\t\tconst vars = {};\n\t\tfor (const [key, val] of Object.entries(expr.vars)) vars[key] = lowerAggExpr(val);\n\t\treturn { $let: {\n\t\t\tvars,\n\t\t\tin: lowerAggExpr(expr.in_)\n\t\t} };\n\t},\n\tmergeObjects(expr) {\n\t\treturn { $mergeObjects: expr.exprs.map((e) => lowerAggExpr(e)) };\n\t}\n};\nfunction needsLiteralWrap(value) {\n\tif (value instanceof MongoParamRef) return true;\n\tif (typeof value === \"string\" && value.startsWith(\"$\")) return true;\n\tif (Array.isArray(value)) return value.some((v) => needsLiteralWrap(v));\n\tif (value !== null && typeof value === \"object\") return Object.entries(value).some(([k, v]) => k.startsWith(\"$\") || needsLiteralWrap(v));\n\treturn false;\n}\nfunction lowerAggExpr(expr) {\n\treturn expr.accept(aggExprLoweringVisitor);\n}\n/**\n* Structural phase of filter lowering: transforms the filter AST into a\n* plain object without resolving any `MongoParamRef` leaves. Field filter\n* values remain as `MongoValue` (which includes `MongoParamRef`), so the\n* returned document can be passed to `resolveDraftDoc` in the resolve phase.\n* Synchronous — no codec calls.\n*/\nfunction structuralLowerFilter(filter) {\n\tswitch (filter.kind) {\n\t\tcase \"field\": return { [filter.field]: { [filter.op]: filter.value } };\n\t\tcase \"and\": return { $and: filter.exprs.map((e) => structuralLowerFilter(e)) };\n\t\tcase \"or\": return { $or: filter.exprs.map((e) => structuralLowerFilter(e)) };\n\t\tcase \"not\": return { $nor: [structuralLowerFilter(filter.expr)] };\n\t\tcase \"exists\": return { [filter.field]: { $exists: filter.exists } };\n\t\tcase \"expr\": return { $expr: lowerAggExpr(filter.aggExpr) };\n\t\tdefault: {\n\t\t\tconst _exhaustive = filter;\n\t\t\treturn assertNever(_exhaustive, `Unhandled filter kind: ${blindCast(_exhaustive).kind}`);\n\t\t}\n\t}\n}\nasync function lowerFilter(filter, codecs, ctx) {\n\tswitch (filter.kind) {\n\t\tcase \"field\": return { [filter.field]: { [filter.op]: await resolveValue(filter.value, codecs, ctx) } };\n\t\tcase \"and\": return { $and: await Promise.all(filter.exprs.map((e) => lowerFilter(e, codecs, ctx))) };\n\t\tcase \"or\": return { $or: await Promise.all(filter.exprs.map((e) => lowerFilter(e, codecs, ctx))) };\n\t\tcase \"not\": return { $nor: [await lowerFilter(filter.expr, codecs, ctx)] };\n\t\tcase \"exists\": return { [filter.field]: { $exists: filter.exists } };\n\t\tcase \"expr\": return { $expr: lowerAggExpr(filter.aggExpr) };\n\t\tdefault: {\n\t\t\tconst _exhaustive = filter;\n\t\t\treturn assertNever(_exhaustive, `Unhandled filter kind: ${blindCast(_exhaustive).kind}`);\n\t\t}\n\t}\n}\nfunction isAggExprNode(value) {\n\treturn \"accept\" in value && typeof value.accept === \"function\";\n}\nfunction isAggExprArray(val) {\n\treturn Array.isArray(val);\n}\nfunction lowerGroupId(groupId) {\n\tif (groupId === null) return null;\n\tif (isAggExprNode(groupId)) return lowerAggExpr(groupId);\n\treturn lowerExprRecord(groupId);\n}\nfunction lowerExprRecord(fields) {\n\tconst result = {};\n\tfor (const [key, val] of Object.entries(fields)) if (isAggExprArray(val)) result[key] = val.map((v) => lowerAggExpr(v));\n\telse result[key] = lowerAggExpr(val);\n\treturn result;\n}\nfunction lowerProjectionValue(value) {\n\tif (typeof value === \"number\") return value;\n\treturn lowerAggExpr(value);\n}\nfunction lowerWindowField(wf) {\n\tconst lowered = lowerAggExpr(wf.operator);\n\tif (typeof lowered !== \"object\" || lowered === null) throw new InternalError(\"Window field operator must lower to an object\");\n\tconst result = { ...lowered };\n\tif (wf.window) result[\"window\"] = { ...wf.window };\n\treturn result;\n}\nasync function lowerStage(stage, codecs, ctx) {\n\tswitch (stage.kind) {\n\t\tcase \"match\": return { $match: await lowerFilter(stage.filter, codecs, ctx) };\n\t\tcase \"project\": {\n\t\t\tconst projection = {};\n\t\t\tfor (const [key, val] of Object.entries(stage.projection)) projection[key] = lowerProjectionValue(val);\n\t\t\treturn { $project: projection };\n\t\t}\n\t\tcase \"sort\": return { $sort: { ...stage.sort } };\n\t\tcase \"limit\": return { $limit: stage.limit };\n\t\tcase \"skip\": return { $skip: stage.skip };\n\t\tcase \"lookup\": {\n\t\t\tconst lookup = {\n\t\t\t\tfrom: stage.from,\n\t\t\t\tas: stage.as\n\t\t\t};\n\t\t\tif (stage.localField !== void 0) lookup[\"localField\"] = stage.localField;\n\t\t\tif (stage.foreignField !== void 0) lookup[\"foreignField\"] = stage.foreignField;\n\t\t\tif (stage.pipeline) lookup[\"pipeline\"] = await Promise.all(stage.pipeline.map((s) => lowerStage(s, codecs, ctx)));\n\t\t\tif (stage.let_) lookup[\"let\"] = lowerExprRecord(stage.let_);\n\t\t\treturn { $lookup: lookup };\n\t\t}\n\t\tcase \"unwind\": {\n\t\t\tconst unwind = {\n\t\t\t\tpath: stage.path,\n\t\t\t\tpreserveNullAndEmptyArrays: stage.preserveNullAndEmptyArrays\n\t\t\t};\n\t\t\tif (stage.includeArrayIndex !== void 0) unwind[\"includeArrayIndex\"] = stage.includeArrayIndex;\n\t\t\treturn { $unwind: unwind };\n\t\t}\n\t\tcase \"group\": {\n\t\t\tconst group = { _id: lowerGroupId(stage.groupId) };\n\t\t\tfor (const [key, acc] of Object.entries(stage.accumulators)) group[key] = lowerAggExpr(acc);\n\t\t\treturn { $group: group };\n\t\t}\n\t\tcase \"addFields\": return { $addFields: lowerExprRecord(stage.fields) };\n\t\tcase \"replaceRoot\": return { $replaceRoot: { newRoot: lowerAggExpr(stage.newRoot) } };\n\t\tcase \"count\": return { $count: stage.field };\n\t\tcase \"sortByCount\": return { $sortByCount: lowerAggExpr(stage.expr) };\n\t\tcase \"sample\": return { $sample: { size: stage.size } };\n\t\tcase \"redact\": return { $redact: lowerAggExpr(stage.expr) };\n\t\tcase \"out\": return { $out: stage.db ? {\n\t\t\tdb: stage.db,\n\t\t\tcoll: stage.collection\n\t\t} : stage.collection };\n\t\tcase \"unionWith\": {\n\t\t\tconst unionWith = { coll: stage.collection };\n\t\t\tif (stage.pipeline) unionWith[\"pipeline\"] = await Promise.all(stage.pipeline.map((s) => lowerStage(s, codecs, ctx)));\n\t\t\treturn { $unionWith: unionWith };\n\t\t}\n\t\tcase \"bucket\": {\n\t\t\tconst bucket = {\n\t\t\t\tgroupBy: lowerAggExpr(stage.groupBy),\n\t\t\t\tboundaries: [...stage.boundaries]\n\t\t\t};\n\t\t\tif (stage.default_ !== void 0) bucket[\"default\"] = stage.default_;\n\t\t\tif (stage.output) bucket[\"output\"] = lowerExprRecord(stage.output);\n\t\t\treturn { $bucket: bucket };\n\t\t}\n\t\tcase \"bucketAuto\": {\n\t\t\tconst bucketAuto = {\n\t\t\t\tgroupBy: lowerAggExpr(stage.groupBy),\n\t\t\t\tbuckets: stage.buckets\n\t\t\t};\n\t\t\tif (stage.output) bucketAuto[\"output\"] = lowerExprRecord(stage.output);\n\t\t\tif (stage.granularity !== void 0) bucketAuto[\"granularity\"] = stage.granularity;\n\t\t\treturn { $bucketAuto: bucketAuto };\n\t\t}\n\t\tcase \"geoNear\": {\n\t\t\tconst geoNear = {\n\t\t\t\tnear: stage.near,\n\t\t\t\tdistanceField: stage.distanceField\n\t\t\t};\n\t\t\tif (stage.spherical !== void 0) geoNear[\"spherical\"] = stage.spherical;\n\t\t\tif (stage.maxDistance !== void 0) geoNear[\"maxDistance\"] = stage.maxDistance;\n\t\t\tif (stage.minDistance !== void 0) geoNear[\"minDistance\"] = stage.minDistance;\n\t\t\tif (stage.query) geoNear[\"query\"] = await lowerFilter(stage.query, codecs, ctx);\n\t\t\tif (stage.key !== void 0) geoNear[\"key\"] = stage.key;\n\t\t\tif (stage.distanceMultiplier !== void 0) geoNear[\"distanceMultiplier\"] = stage.distanceMultiplier;\n\t\t\tif (stage.includeLocs !== void 0) geoNear[\"includeLocs\"] = stage.includeLocs;\n\t\t\treturn { $geoNear: geoNear };\n\t\t}\n\t\tcase \"facet\": {\n\t\t\tconst facetEntries = Object.entries(stage.facets);\n\t\t\tconst facetPipelines = await Promise.all(facetEntries.map(([, pipeline]) => Promise.all(pipeline.map((s) => lowerStage(s, codecs, ctx)))));\n\t\t\tconst facet = {};\n\t\t\tfor (let i = 0; i < facetEntries.length; i++) {\n\t\t\t\tconst entry = facetEntries[i];\n\t\t\t\tif (entry) facet[entry[0]] = facetPipelines[i];\n\t\t\t}\n\t\t\treturn { $facet: facet };\n\t\t}\n\t\tcase \"graphLookup\": {\n\t\t\tconst graphLookup = {\n\t\t\t\tfrom: stage.from,\n\t\t\t\tstartWith: lowerAggExpr(stage.startWith),\n\t\t\t\tconnectFromField: stage.connectFromField,\n\t\t\t\tconnectToField: stage.connectToField,\n\t\t\t\tas: stage.as\n\t\t\t};\n\t\t\tif (stage.maxDepth !== void 0) graphLookup[\"maxDepth\"] = stage.maxDepth;\n\t\t\tif (stage.depthField !== void 0) graphLookup[\"depthField\"] = stage.depthField;\n\t\t\tif (stage.restrictSearchWithMatch) graphLookup[\"restrictSearchWithMatch\"] = await lowerFilter(stage.restrictSearchWithMatch, codecs, ctx);\n\t\t\treturn { $graphLookup: graphLookup };\n\t\t}\n\t\tcase \"merge\": {\n\t\t\tconst merge = { into: stage.into };\n\t\t\tif (stage.on !== void 0) merge[\"on\"] = stage.on;\n\t\t\tif (stage.whenMatched !== void 0) merge[\"whenMatched\"] = Array.isArray(stage.whenMatched) ? await Promise.all(stage.whenMatched.map((s) => lowerStage(s, codecs, ctx))) : stage.whenMatched;\n\t\t\tif (stage.whenNotMatched !== void 0) merge[\"whenNotMatched\"] = stage.whenNotMatched;\n\t\t\treturn { $merge: merge };\n\t\t}\n\t\tcase \"setWindowFields\": {\n\t\t\tconst swf = {};\n\t\t\tif (stage.partitionBy) swf[\"partitionBy\"] = lowerAggExpr(stage.partitionBy);\n\t\t\tif (stage.sortBy) swf[\"sortBy\"] = { ...stage.sortBy };\n\t\t\tconst output = {};\n\t\t\tfor (const [key, wf] of Object.entries(stage.output)) output[key] = lowerWindowField(wf);\n\t\t\tswf[\"output\"] = output;\n\t\t\treturn { $setWindowFields: swf };\n\t\t}\n\t\tcase \"densify\": {\n\t\t\tconst densify = {\n\t\t\t\tfield: stage.field,\n\t\t\t\trange: { ...stage.range }\n\t\t\t};\n\t\t\tif (stage.partitionByFields) densify[\"partitionByFields\"] = [...stage.partitionByFields];\n\t\t\treturn { $densify: densify };\n\t\t}\n\t\tcase \"fill\": {\n\t\t\tconst fill = {};\n\t\t\tif (stage.partitionBy) fill[\"partitionBy\"] = lowerAggExpr(stage.partitionBy);\n\t\t\tif (stage.partitionByFields) fill[\"partitionByFields\"] = [...stage.partitionByFields];\n\t\t\tif (stage.sortBy) fill[\"sortBy\"] = { ...stage.sortBy };\n\t\t\tconst output = {};\n\t\t\tfor (const [key, fo] of Object.entries(stage.output)) {\n\t\t\t\tconst entry = {};\n\t\t\t\tif (fo.method !== void 0) entry[\"method\"] = fo.method;\n\t\t\t\tif (fo.value !== void 0) entry[\"value\"] = lowerAggExpr(fo.value);\n\t\t\t\toutput[key] = entry;\n\t\t\t}\n\t\t\tfill[\"output\"] = output;\n\t\t\treturn { $fill: fill };\n\t\t}\n\t\tcase \"search\": {\n\t\t\tconst search = { ...stage.config };\n\t\t\tif (stage.index !== void 0) search[\"index\"] = stage.index;\n\t\t\treturn { $search: search };\n\t\t}\n\t\tcase \"searchMeta\": {\n\t\t\tconst searchMeta = { ...stage.config };\n\t\t\tif (stage.index !== void 0) searchMeta[\"index\"] = stage.index;\n\t\t\treturn { $searchMeta: searchMeta };\n\t\t}\n\t\tcase \"vectorSearch\": {\n\t\t\tconst vs = {\n\t\t\t\tindex: stage.index,\n\t\t\t\tpath: stage.path,\n\t\t\t\tqueryVector: [...stage.queryVector],\n\t\t\t\tnumCandidates: stage.numCandidates,\n\t\t\t\tlimit: stage.limit\n\t\t\t};\n\t\t\tif (stage.filter) vs[\"filter\"] = { ...stage.filter };\n\t\t\treturn { $vectorSearch: vs };\n\t\t}\n\t\tdefault: {\n\t\t\tconst _exhaustive = stage;\n\t\t\treturn assertNever(_exhaustive, `Unhandled stage kind: ${blindCast(_exhaustive).kind}`);\n\t\t}\n\t}\n}\nasync function lowerPipeline(stages, codecs, ctx) {\n\treturn Promise.all(stages.map((s) => lowerStage(s, codecs, ctx)));\n}\n/**\n* Structural phase of stage lowering: mirrors `lowerStage` but defers all\n* `MongoParamRef` resolution. Filter sub-documents within stages (e.g.\n* `$match`, `$geoNear.query`, `$graphLookup.restrictSearchWithMatch`) are\n* produced by `structuralLowerFilter` and therefore retain `MongoParamRef`\n* leaves. Sub-pipelines (e.g. `$lookup.pipeline`, `$facet.*`) recurse via\n* `structuralLowerPipeline`. Synchronous — no codec calls.\n*/\nfunction structuralLowerStage(stage) {\n\tswitch (stage.kind) {\n\t\tcase \"match\": return { $match: structuralLowerFilter(stage.filter) };\n\t\tcase \"project\": {\n\t\t\tconst projection = {};\n\t\t\tfor (const [key, val] of Object.entries(stage.projection)) projection[key] = lowerProjectionValue(val);\n\t\t\treturn { $project: projection };\n\t\t}\n\t\tcase \"sort\": return { $sort: { ...stage.sort } };\n\t\tcase \"limit\": return { $limit: stage.limit };\n\t\tcase \"skip\": return { $skip: stage.skip };\n\t\tcase \"lookup\": {\n\t\t\tconst lookup = {\n\t\t\t\tfrom: stage.from,\n\t\t\t\tas: stage.as\n\t\t\t};\n\t\t\tif (stage.localField !== void 0) lookup[\"localField\"] = stage.localField;\n\t\t\tif (stage.foreignField !== void 0) lookup[\"foreignField\"] = stage.foreignField;\n\t\t\tif (stage.pipeline) lookup[\"pipeline\"] = structuralLowerPipeline(stage.pipeline);\n\t\t\tif (stage.let_) lookup[\"let\"] = lowerExprRecord(stage.let_);\n\t\t\treturn { $lookup: lookup };\n\t\t}\n\t\tcase \"unwind\": {\n\t\t\tconst unwind = {\n\t\t\t\tpath: stage.path,\n\t\t\t\tpreserveNullAndEmptyArrays: stage.preserveNullAndEmptyArrays\n\t\t\t};\n\t\t\tif (stage.includeArrayIndex !== void 0) unwind[\"includeArrayIndex\"] = stage.includeArrayIndex;\n\t\t\treturn { $unwind: unwind };\n\t\t}\n\t\tcase \"group\": {\n\t\t\tconst group = { _id: lowerGroupId(stage.groupId) };\n\t\t\tfor (const [key, acc] of Object.entries(stage.accumulators)) group[key] = lowerAggExpr(acc);\n\t\t\treturn { $group: group };\n\t\t}\n\t\tcase \"addFields\": return { $addFields: lowerExprRecord(stage.fields) };\n\t\tcase \"replaceRoot\": return { $replaceRoot: { newRoot: lowerAggExpr(stage.newRoot) } };\n\t\tcase \"count\": return { $count: stage.field };\n\t\tcase \"sortByCount\": return { $sortByCount: lowerAggExpr(stage.expr) };\n\t\tcase \"sample\": return { $sample: { size: stage.size } };\n\t\tcase \"redact\": return { $redact: lowerAggExpr(stage.expr) };\n\t\tcase \"out\": return { $out: stage.db ? {\n\t\t\tdb: stage.db,\n\t\t\tcoll: stage.collection\n\t\t} : stage.collection };\n\t\tcase \"unionWith\": {\n\t\t\tconst unionWith = { coll: stage.collection };\n\t\t\tif (stage.pipeline) unionWith[\"pipeline\"] = structuralLowerPipeline(stage.pipeline);\n\t\t\treturn { $unionWith: unionWith };\n\t\t}\n\t\tcase \"bucket\": {\n\t\t\tconst bucket = {\n\t\t\t\tgroupBy: lowerAggExpr(stage.groupBy),\n\t\t\t\tboundaries: [...stage.boundaries]\n\t\t\t};\n\t\t\tif (stage.default_ !== void 0) bucket[\"default\"] = stage.default_;\n\t\t\tif (stage.output) bucket[\"output\"] = lowerExprRecord(stage.output);\n\t\t\treturn { $bucket: bucket };\n\t\t}\n\t\tcase \"bucketAuto\": {\n\t\t\tconst bucketAuto = {\n\t\t\t\tgroupBy: lowerAggExpr(stage.groupBy),\n\t\t\t\tbuckets: stage.buckets\n\t\t\t};\n\t\t\tif (stage.output) bucketAuto[\"output\"] = lowerExprRecord(stage.output);\n\t\t\tif (stage.granularity !== void 0) bucketAuto[\"granularity\"] = stage.granularity;\n\t\t\treturn { $bucketAuto: bucketAuto };\n\t\t}\n\t\tcase \"geoNear\": {\n\t\t\tconst geoNear = {\n\t\t\t\tnear: stage.near,\n\t\t\t\tdistanceField: stage.distanceField\n\t\t\t};\n\t\t\tif (stage.spherical !== void 0) geoNear[\"spherical\"] = stage.spherical;\n\t\t\tif (stage.maxDistance !== void 0) geoNear[\"maxDistance\"] = stage.maxDistance;\n\t\t\tif (stage.minDistance !== void 0) geoNear[\"minDistance\"] = stage.minDistance;\n\t\t\tif (stage.query) geoNear[\"query\"] = structuralLowerFilter(stage.query);\n\t\t\tif (stage.key !== void 0) geoNear[\"key\"] = stage.key;\n\t\t\tif (stage.distanceMultiplier !== void 0) geoNear[\"distanceMultiplier\"] = stage.distanceMultiplier;\n\t\t\tif (stage.includeLocs !== void 0) geoNear[\"includeLocs\"] = stage.includeLocs;\n\t\t\treturn { $geoNear: geoNear };\n\t\t}\n\t\tcase \"facet\": {\n\t\t\tconst facet = {};\n\t\t\tfor (const [key, pipeline] of Object.entries(stage.facets)) facet[key] = structuralLowerPipeline(pipeline);\n\t\t\treturn { $facet: facet };\n\t\t}\n\t\tcase \"graphLookup\": {\n\t\t\tconst graphLookup = {\n\t\t\t\tfrom: stage.from,\n\t\t\t\tstartWith: lowerAggExpr(stage.startWith),\n\t\t\t\tconnectFromField: stage.connectFromField,\n\t\t\t\tconnectToField: stage.connectToField,\n\t\t\t\tas: stage.as\n\t\t\t};\n\t\t\tif (stage.maxDepth !== void 0) graphLookup[\"maxDepth\"] = stage.maxDepth;\n\t\t\tif (stage.depthField !== void 0) graphLookup[\"depthField\"] = stage.depthField;\n\t\t\tif (stage.restrictSearchWithMatch) graphLookup[\"restrictSearchWithMatch\"] = structuralLowerFilter(stage.restrictSearchWithMatch);\n\t\t\treturn { $graphLookup: graphLookup };\n\t\t}\n\t\tcase \"merge\": {\n\t\t\tconst merge = { into: stage.into };\n\t\t\tif (stage.on !== void 0) merge[\"on\"] = stage.on;\n\t\t\tif (stage.whenMatched !== void 0) merge[\"whenMatched\"] = Array.isArray(stage.whenMatched) ? structuralLowerPipeline(stage.whenMatched) : stage.whenMatched;\n\t\t\tif (stage.whenNotMatched !== void 0) merge[\"whenNotMatched\"] = stage.whenNotMatched;\n\t\t\treturn { $merge: merge };\n\t\t}\n\t\tcase \"setWindowFields\": {\n\t\t\tconst swf = {};\n\t\t\tif (stage.partitionBy) swf[\"partitionBy\"] = lowerAggExpr(stage.partitionBy);\n\t\t\tif (stage.sortBy) swf[\"sortBy\"] = { ...stage.sortBy };\n\t\t\tconst output = {};\n\t\t\tfor (const [key, wf] of Object.entries(stage.output)) output[key] = lowerWindowField(wf);\n\t\t\tswf[\"output\"] = output;\n\t\t\treturn { $setWindowFields: swf };\n\t\t}\n\t\tcase \"densify\": {\n\t\t\tconst densify = {\n\t\t\t\tfield: stage.field,\n\t\t\t\trange: { ...stage.range }\n\t\t\t};\n\t\t\tif (stage.partitionByFields) densify[\"partitionByFields\"] = [...stage.partitionByFields];\n\t\t\treturn { $densify: densify };\n\t\t}\n\t\tcase \"fill\": {\n\t\t\tconst fill = {};\n\t\t\tif (stage.partitionBy) fill[\"partitionBy\"] = lowerAggExpr(stage.partitionBy);\n\t\t\tif (stage.partitionByFields) fill[\"partitionByFields\"] = [...stage.partitionByFields];\n\t\t\tif (stage.sortBy) fill[\"sortBy\"] = { ...stage.sortBy };\n\t\t\tconst output = {};\n\t\t\tfor (const [key, fo] of Object.entries(stage.output)) {\n\t\t\t\tconst entry = {};\n\t\t\t\tif (fo.method !== void 0) entry[\"method\"] = fo.method;\n\t\t\t\tif (fo.value !== void 0) entry[\"value\"] = lowerAggExpr(fo.value);\n\t\t\t\toutput[key] = entry;\n\t\t\t}\n\t\t\tfill[\"output\"] = output;\n\t\t\treturn { $fill: fill };\n\t\t}\n\t\tcase \"search\": {\n\t\t\tconst search = { ...stage.config };\n\t\t\tif (stage.index !== void 0) search[\"index\"] = stage.index;\n\t\t\treturn { $search: search };\n\t\t}\n\t\tcase \"searchMeta\": {\n\t\t\tconst searchMeta = { ...stage.config };\n\t\t\tif (stage.index !== void 0) searchMeta[\"index\"] = stage.index;\n\t\t\treturn { $searchMeta: searchMeta };\n\t\t}\n\t\tcase \"vectorSearch\": {\n\t\t\tconst vs = {\n\t\t\t\tindex: stage.index,\n\t\t\t\tpath: stage.path,\n\t\t\t\tqueryVector: [...stage.queryVector],\n\t\t\t\tnumCandidates: stage.numCandidates,\n\t\t\t\tlimit: stage.limit\n\t\t\t};\n\t\t\tif (stage.filter) vs[\"filter\"] = { ...stage.filter };\n\t\t\treturn { $vectorSearch: vs };\n\t\t}\n\t\tdefault: {\n\t\t\tconst _exhaustive = stage;\n\t\t\treturn assertNever(_exhaustive, `Unhandled stage kind: ${blindCast(_exhaustive).kind}`);\n\t\t}\n\t}\n}\nfunction structuralLowerPipeline(stages) {\n\treturn stages.map((s) => structuralLowerStage(s));\n}\n//#endregion\n//#region src/mongo-adapter.ts\nfunction isUpdatePipeline(update) {\n\treturn Array.isArray(update);\n}\nfunction isDraftUpdatePipeline(update) {\n\treturn Array.isArray(update);\n}\nasync function resolveUpdate(update, codecs, ctx) {\n\tif (isDraftUpdatePipeline(update)) return Promise.all(update.map((stage) => resolveDraftDoc(stage, codecs, ctx)));\n\treturn resolveDraftDoc(update, codecs, ctx);\n}\nfunction lowerDdlCommand(command) {\n\tswitch (command.kind) {\n\t\tcase \"createCollection\": return new CreateCollectionWireCommand(command.collection, command);\n\t\tcase \"createIndex\": return new CreateIndexWireCommand(command.collection, keysToKeySpec(command.keys), command);\n\t\tcase \"dropCollection\": return new DropCollectionWireCommand(command.collection);\n\t\tcase \"renameCollection\": return new RenameCollectionWireCommand(command.collection, command.to);\n\t\tcase \"dropIndex\": return new DropIndexWireCommand(command.collection, command.name);\n\t\tcase \"collMod\": return new CollModWireCommand(command.collection, command);\n\t\t// v8 ignore next 4\n\t\tdefault: {\n\t\t\tconst _exhaustive = command;\n\t\t\treturn assertNever(_exhaustive, `Unknown DDL command kind: ${blindCast(_exhaustive).kind}`);\n\t\t}\n\t}\n}\nvar MongoAdapterImpl = class {\n\t#codecs;\n\tconstructor(codecs) {\n\t\tthis.#codecs = codecs;\n\t}\n\tstructuralLower(plan) {\n\t\tconst { command } = plan;\n\t\tswitch (command.kind) {\n\t\t\tcase \"insertOne\": return {\n\t\t\t\tkind: \"insertOne\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tdocument: command.document\n\t\t\t};\n\t\t\tcase \"insertMany\": return {\n\t\t\t\tkind: \"insertMany\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tdocuments: command.documents\n\t\t\t};\n\t\t\tcase \"updateOne\": return {\n\t\t\t\tkind: \"updateOne\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: structuralLowerFilter(command.filter),\n\t\t\t\tupdate: isUpdatePipeline(command.update) ? structuralLowerPipeline(command.update) : command.update,\n\t\t\t\tupsert: command.upsert\n\t\t\t};\n\t\t\tcase \"updateMany\": return {\n\t\t\t\tkind: \"updateMany\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: structuralLowerFilter(command.filter),\n\t\t\t\tupdate: isUpdatePipeline(command.update) ? structuralLowerPipeline(command.update) : command.update,\n\t\t\t\tupsert: command.upsert\n\t\t\t};\n\t\t\tcase \"deleteOne\": return {\n\t\t\t\tkind: \"deleteOne\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: structuralLowerFilter(command.filter)\n\t\t\t};\n\t\t\tcase \"deleteMany\": return {\n\t\t\t\tkind: \"deleteMany\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: structuralLowerFilter(command.filter)\n\t\t\t};\n\t\t\tcase \"findOneAndUpdate\": return {\n\t\t\t\tkind: \"findOneAndUpdate\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: structuralLowerFilter(command.filter),\n\t\t\t\tupdate: isUpdatePipeline(command.update) ? structuralLowerPipeline(command.update) : command.update,\n\t\t\t\tupsert: command.upsert,\n\t\t\t\tsort: command.sort,\n\t\t\t\treturnDocument: command.returnDocument\n\t\t\t};\n\t\t\tcase \"findOneAndDelete\": return {\n\t\t\t\tkind: \"findOneAndDelete\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: structuralLowerFilter(command.filter),\n\t\t\t\tsort: command.sort\n\t\t\t};\n\t\t\tcase \"aggregate\": return {\n\t\t\t\tkind: \"aggregate\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tpipeline: structuralLowerPipeline(command.pipeline)\n\t\t\t};\n\t\t\tcase \"rawAggregate\": return {\n\t\t\t\tkind: \"rawAggregate\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tpipeline: command.pipeline\n\t\t\t};\n\t\t\tcase \"rawInsertOne\": return {\n\t\t\t\tkind: \"rawInsertOne\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tdocument: command.document\n\t\t\t};\n\t\t\tcase \"rawInsertMany\": return {\n\t\t\t\tkind: \"rawInsertMany\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tdocuments: command.documents\n\t\t\t};\n\t\t\tcase \"rawUpdateOne\": return {\n\t\t\t\tkind: \"rawUpdateOne\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: command.filter,\n\t\t\t\tupdate: command.update\n\t\t\t};\n\t\t\tcase \"rawUpdateMany\": return {\n\t\t\t\tkind: \"rawUpdateMany\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: command.filter,\n\t\t\t\tupdate: command.update,\n\t\t\t\tbypassDocumentValidation: command.bypassDocumentValidation ?? false\n\t\t\t};\n\t\t\tcase \"rawDeleteOne\": return {\n\t\t\t\tkind: \"rawDeleteOne\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: command.filter\n\t\t\t};\n\t\t\tcase \"rawDeleteMany\": return {\n\t\t\t\tkind: \"rawDeleteMany\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: command.filter\n\t\t\t};\n\t\t\tcase \"rawFindOneAndUpdate\": return {\n\t\t\t\tkind: \"rawFindOneAndUpdate\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: command.filter,\n\t\t\t\tupdate: command.update,\n\t\t\t\tupsert: command.upsert,\n\t\t\t\tsort: command.sort,\n\t\t\t\treturnDocument: command.returnDocument\n\t\t\t};\n\t\t\tcase \"rawFindOneAndDelete\": return {\n\t\t\t\tkind: \"rawFindOneAndDelete\",\n\t\t\t\tcollection: command.collection,\n\t\t\t\tfilter: command.filter,\n\t\t\t\tsort: command.sort\n\t\t\t};\n\t\t\t// v8 ignore next 4\n\t\t\tdefault: {\n\t\t\t\tconst _exhaustive = command;\n\t\t\t\treturn assertNever(_exhaustive, `Unknown command kind: ${blindCast(_exhaustive).kind}`);\n\t\t\t}\n\t\t}\n\t}\n\tasync resolveParams(draft, ctx) {\n\t\tswitch (draft.kind) {\n\t\t\tcase \"insertOne\": return new InsertOneWireCommand(draft.collection, await resolveDraftDoc(draft.document, this.#codecs, ctx));\n\t\t\tcase \"insertMany\": return new InsertManyWireCommand(draft.collection, await Promise.all(draft.documents.map((doc) => resolveDraftDoc(doc, this.#codecs, ctx))));\n\t\t\tcase \"updateOne\": {\n\t\t\t\tconst [filter, update] = await Promise.all([resolveDraftDoc(draft.filter, this.#codecs, ctx), resolveUpdate(draft.update, this.#codecs, ctx)]);\n\t\t\t\treturn new UpdateOneWireCommand(draft.collection, filter, update, draft.upsert);\n\t\t\t}\n\t\t\tcase \"updateMany\": {\n\t\t\t\tconst [filter, update] = await Promise.all([resolveDraftDoc(draft.filter, this.#codecs, ctx), resolveUpdate(draft.update, this.#codecs, ctx)]);\n\t\t\t\treturn new UpdateManyWireCommand(draft.collection, filter, update, draft.upsert);\n\t\t\t}\n\t\t\tcase \"deleteOne\": return new DeleteOneWireCommand(draft.collection, await resolveDraftDoc(draft.filter, this.#codecs, ctx));\n\t\t\tcase \"deleteMany\": return new DeleteManyWireCommand(draft.collection, await resolveDraftDoc(draft.filter, this.#codecs, ctx));\n\t\t\tcase \"findOneAndUpdate\": {\n\t\t\t\tconst [filter, update] = await Promise.all([resolveDraftDoc(draft.filter, this.#codecs, ctx), resolveUpdate(draft.update, this.#codecs, ctx)]);\n\t\t\t\treturn new FindOneAndUpdateWireCommand(draft.collection, filter, update, draft.upsert, draft.sort, draft.returnDocument);\n\t\t\t}\n\t\t\tcase \"findOneAndDelete\": return new FindOneAndDeleteWireCommand(draft.collection, await resolveDraftDoc(draft.filter, this.#codecs, ctx), draft.sort);\n\t\t\tcase \"aggregate\": return new AggregateWireCommand(draft.collection, await Promise.all(draft.pipeline.map((stage) => resolveDraftDoc(stage, this.#codecs, ctx))));\n\t\t\tcase \"rawAggregate\": return new AggregateWireCommand(draft.collection, draft.pipeline);\n\t\t\tcase \"rawInsertOne\": return new InsertOneWireCommand(draft.collection, draft.document);\n\t\t\tcase \"rawInsertMany\": return new InsertManyWireCommand(draft.collection, draft.documents);\n\t\t\tcase \"rawUpdateOne\": return new UpdateOneWireCommand(draft.collection, draft.filter, draft.update);\n\t\t\tcase \"rawUpdateMany\": return new UpdateManyWireCommand(draft.collection, draft.filter, draft.update, false, draft.bypassDocumentValidation);\n\t\t\tcase \"rawDeleteOne\": return new DeleteOneWireCommand(draft.collection, draft.filter);\n\t\t\tcase \"rawDeleteMany\": return new DeleteManyWireCommand(draft.collection, draft.filter);\n\t\t\tcase \"rawFindOneAndUpdate\": return new FindOneAndUpdateWireCommand(draft.collection, draft.filter, draft.update, draft.upsert, draft.sort, draft.returnDocument);\n\t\t\tcase \"rawFindOneAndDelete\": return new FindOneAndDeleteWireCommand(draft.collection, draft.filter, draft.sort);\n\t\t\t// v8 ignore next 4\n\t\t\tdefault: {\n\t\t\t\tconst _exhaustive = draft;\n\t\t\t\treturn assertNever(_exhaustive, `Unknown draft kind: ${blindCast(_exhaustive).kind}`);\n\t\t\t}\n\t\t}\n\t}\n\tlower(plan, ctx) {\n\t\tif (\"collection\" in plan) return this.resolveParams(this.structuralLower(plan), ctx);\n\t\treturn Promise.resolve(lowerDdlCommand(plan.command));\n\t}\n};\n/**\n* Construct a Mongo adapter with the standard wire-type codecs registered\n* for encode-side dispatch (`MongoParamRef.codecId` lookups).\n*\n* The runtime-side codec registry the runtime decodes against is composed\n* separately by `createMongoExecutionContext`. This factory exists for\n* direct adapter use (the runtime descriptor's `create(stack)` calls\n* through it). User code should compose a stack/context instead.\n*/\nfunction createMongoAdapter() {\n\treturn new MongoAdapterImpl(buildStandardCodecRegistry());\n}\n//#endregion\nexport { lowerStage as a, lowerPipeline as i, lowerAggExpr as n, lowerFilter as r, createMongoAdapter as t };\n\n//# sourceMappingURL=mongo-adapter-Bo6ciURK.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-adapter-wvK2fQOZ-BXo5NxEB.d.mts","names":[],"sources":["../../../../3-mongo-target/2-mongo-adapter/dist/mongo-adapter-wvK2fQOZ.d.mts"],"mappings":";;;;;;;;;;;;iBAYiB,sBAAsB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-driver-CTyvKDUg-bwRH7EDL.d.mts","names":[],"sources":["../../../../3-mongo-target/3-mongo-driver/dist/mongo-driver-CTyvKDUg.d.mts"],"mappings":";;;;;cAIc,2BAA2B;qBACpB,IAAI;qBACJ,QAAQ;YACjB,YAAY,IAAI,IAAI,QAAQ;SAC/B,eAAe,aAAa,iBAAiB,QAAQ;SACrD,OAAO,IAAI,KAAK;EACvB,QAAQ,MAAM,yBAAyB,aAAa,yBAAyB,cAAc;EAC3F,IAAI,aAAa,yBAAyB;EAC1C,SAAS;YACC,wBAAwB,KAAK,uBAAuB,cAAc;;;;YAIlE,OAAO,UAAU,WAAW;YAC5B,wBAAwB,KAAK,uBAAuB,cAAc;YAClE,yBAAyB,KAAK,wBAAwB,cAAc;YACpE,yBAAyB,KAAK,wBAAwB,cAAc;YACpE,wBAAwB,KAAK,uBAAuB,cAAc;YAClE,yBAAyB,KAAK,wBAAwB,cAAc;YACpE,+BAA+B,KAAK,8BAA8B,cAAc;YAChF,+BAA+B,KAAK,8BAA8B,cAAc;YAChF,wBAAwB,KAAK,KAAK,uBAAuB,cAAc;YACvE,+BAA+B,KAAK,8BAA8B;YAClE,0BAA0B,KAAK,yBAAyB;YACxD,6BAA6B,KAAK,4BAA4B;YAC9D,+BAA+B,KAAK,8BAA8B;YAClE,wBAAwB,KAAK,uBAAuB;YACpD,sBAAsB,KAAK,qBAAqB;;iBAE3C,kBAAkB,aAAa,iBAAiB,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-driver-q-IqfhuV-CouLzDHp.mjs","names":[],"sources":["../../../../3-mongo-target/3-mongo-driver/dist/mongo-driver-q-IqfhuV.mjs"],"sourcesContent":["import { assertNever } from \"@internal/utils/internal-error\";\nimport { BSON, MongoClient } from \"mongodb\";\n//#endregion\n//#region src/core/driver-info.ts\nconst DRIVER_INFO = {\n\tname: \"Prisma\",\n\tversion: \"8.0.0-rc.19-dev.9\"\n};\n//#endregion\n//#region src/mongo-driver.ts\n/* v8 ignore start */\nfunction unreachableKind(value) {\n\tconst candidate = value;\n\tif (typeof candidate === \"object\" && candidate !== null && \"kind\" in candidate && typeof candidate.kind === \"string\") return candidate.kind;\n\treturn \"unknown\";\n}\n/* v8 ignore stop */\nvar MongoDriverImpl = class MongoDriverImpl {\n\tdb;\n\tclient;\n\tconstructor(db, client) {\n\t\tthis.db = db;\n\t\tthis.client = client;\n\t}\n\tstatic async fromConnection(uri, dbName) {\n\t\tconst client = new MongoClient(uri, { driverInfo: DRIVER_INFO });\n\t\tawait client.connect();\n\t\treturn new MongoDriverImpl(client.db(dbName), client);\n\t}\n\tstatic fromDb(db) {\n\t\treturn new MongoDriverImpl(db, void 0);\n\t}\n\texecute(wireCommand) {\n\t\tswitch (wireCommand.kind) {\n\t\t\tcase \"insertOne\": return this.executeInsertOneCommand(wireCommand);\n\t\t\tcase \"updateOne\": return this.executeUpdateOneCommand(wireCommand);\n\t\t\tcase \"insertMany\": return this.executeInsertManyCommand(wireCommand);\n\t\t\tcase \"updateMany\": return this.executeUpdateManyCommand(wireCommand);\n\t\t\tcase \"deleteOne\": return this.executeDeleteOneCommand(wireCommand);\n\t\t\tcase \"deleteMany\": return this.executeDeleteManyCommand(wireCommand);\n\t\t\tcase \"findOneAndUpdate\": return this.executeFindOneAndUpdateCommand(wireCommand);\n\t\t\tcase \"findOneAndDelete\": return this.executeFindOneAndDeleteCommand(wireCommand);\n\t\t\tcase \"aggregate\": return this.executeAggregateCommand(wireCommand);\n\t\t\t// v8 ignore next 4\n\t\t\tdefault: return assertNever(wireCommand, `Unknown wire command kind: ${unreachableKind(wireCommand)}`);\n\t\t}\n\t}\n\tasync run(wireCommand) {\n\t\tswitch (wireCommand.kind) {\n\t\t\tcase \"createCollection\": return this.executeCreateCollectionCommand(wireCommand);\n\t\t\tcase \"createIndex\": return this.executeCreateIndexCommand(wireCommand);\n\t\t\tcase \"dropCollection\": return this.executeDropCollectionCommand(wireCommand);\n\t\t\tcase \"renameCollection\": return this.executeRenameCollectionCommand(wireCommand);\n\t\t\tcase \"dropIndex\": return this.executeDropIndexCommand(wireCommand);\n\t\t\tcase \"collMod\": return this.executeCollModCommand(wireCommand);\n\t\t\t// v8 ignore next 4\n\t\t\tdefault: return assertNever(wireCommand, `Unknown DDL wire command kind: ${unreachableKind(wireCommand)}`);\n\t\t}\n\t}\n\tasync close() {\n\t\tawait this.client?.close();\n\t}\n\tasync *executeInsertOneCommand(cmd) {\n\t\tconst result = await this.db.collection(cmd.collection).insertOne(cmd.document);\n\t\tyield {\n\t\t\tinsertedId: result.insertedId,\n\t\t\tdocument: this.asRead({\n\t\t\t\t_id: result.insertedId,\n\t\t\t\t...cmd.document\n\t\t\t})\n\t\t};\n\t}\n\t/**\n\t* The server stores an inserted document as the driver wrote it, apart from moving `_id` first, so writing it to BSON and reading it back with the client's options gives what a read returns, without a query.\n\t*/\n\tasRead(document) {\n\t\tconst { raw: _raw, ...options } = this.db.bsonOptions;\n\t\treturn BSON.deserialize(BSON.serialize(document, options), options);\n\t}\n\tasync *executeUpdateOneCommand(cmd) {\n\t\tconst result = await this.db.collection(cmd.collection).updateOne(cmd.filter, cmd.update, { upsert: cmd.upsert });\n\t\tyield {\n\t\t\tmatchedCount: result.matchedCount,\n\t\t\tmodifiedCount: result.modifiedCount,\n\t\t\tupsertedCount: result.upsertedCount,\n\t\t\tupsertedId: result.upsertedId ?? void 0\n\t\t};\n\t}\n\tasync *executeInsertManyCommand(cmd) {\n\t\tconst result = await this.db.collection(cmd.collection).insertMany(cmd.documents);\n\t\tconst insertedIds = Object.values(result.insertedIds);\n\t\tyield {\n\t\t\tinsertedIds,\n\t\t\tinsertedCount: result.insertedCount,\n\t\t\tdocuments: cmd.documents.map((document, index) => this.asRead({\n\t\t\t\t_id: insertedIds[index],\n\t\t\t\t...document\n\t\t\t}))\n\t\t};\n\t}\n\tasync *executeUpdateManyCommand(cmd) {\n\t\tconst result = await this.db.collection(cmd.collection).updateMany(cmd.filter, cmd.update, {\n\t\t\tupsert: cmd.upsert,\n\t\t\t...cmd.bypassDocumentValidation ? { bypassDocumentValidation: true } : {}\n\t\t});\n\t\tyield {\n\t\t\tmatchedCount: result.matchedCount,\n\t\t\tmodifiedCount: result.modifiedCount,\n\t\t\tupsertedCount: result.upsertedCount,\n\t\t\tupsertedId: result.upsertedId ?? void 0\n\t\t};\n\t}\n\tasync *executeDeleteOneCommand(cmd) {\n\t\tyield { deletedCount: (await this.db.collection(cmd.collection).deleteOne(cmd.filter)).deletedCount };\n\t}\n\tasync *executeDeleteManyCommand(cmd) {\n\t\tyield { deletedCount: (await this.db.collection(cmd.collection).deleteMany(cmd.filter)).deletedCount };\n\t}\n\tasync *executeFindOneAndUpdateCommand(cmd) {\n\t\tconst result = await this.db.collection(cmd.collection).findOneAndUpdate(cmd.filter, cmd.update, {\n\t\t\tupsert: cmd.upsert,\n\t\t\t...cmd.returnDocument != null ? { returnDocument: cmd.returnDocument } : {},\n\t\t\t...cmd.sort != null ? { sort: cmd.sort } : {}\n\t\t});\n\t\tif (result) yield result;\n\t}\n\tasync *executeFindOneAndDeleteCommand(cmd) {\n\t\tconst result = await this.db.collection(cmd.collection).findOneAndDelete(cmd.filter, { ...cmd.sort != null ? { sort: cmd.sort } : {} });\n\t\tif (result) yield result;\n\t}\n\tasync *executeAggregateCommand(cmd) {\n\t\tyield* this.db.collection(cmd.collection).aggregate(cmd.pipeline);\n\t}\n\tasync executeCreateCollectionCommand(cmd) {\n\t\tconst { validator, validationLevel, validationAction, capped, size, max, timeseries, collation, changeStreamPreAndPostImages, clusteredIndex } = cmd;\n\t\tawait this.db.createCollection(cmd.collection, {\n\t\t\t...validator !== void 0 ? { validator } : {},\n\t\t\t...validationLevel !== void 0 ? { validationLevel } : {},\n\t\t\t...validationAction !== void 0 ? { validationAction } : {},\n\t\t\t...capped !== void 0 ? { capped } : {},\n\t\t\t...size !== void 0 ? { size } : {},\n\t\t\t...max !== void 0 ? { max } : {},\n\t\t\t...timeseries !== void 0 ? { timeseries } : {},\n\t\t\t...collation !== void 0 ? { collation } : {},\n\t\t\t...changeStreamPreAndPostImages !== void 0 ? { changeStreamPreAndPostImages } : {},\n\t\t\t...clusteredIndex !== void 0 ? { clusteredIndex } : {}\n\t\t});\n\t}\n\tasync executeCreateIndexCommand(cmd) {\n\t\tconst { unique, sparse, expireAfterSeconds, partialFilterExpression, name, wildcardProjection, collation, weights, default_language, language_override } = cmd;\n\t\tawait this.db.collection(cmd.collection).createIndex(cmd.key, {\n\t\t\t...unique !== void 0 ? { unique } : {},\n\t\t\t...sparse !== void 0 ? { sparse } : {},\n\t\t\t...expireAfterSeconds !== void 0 ? { expireAfterSeconds } : {},\n\t\t\t...partialFilterExpression !== void 0 ? { partialFilterExpression } : {},\n\t\t\t...name !== void 0 ? { name } : {},\n\t\t\t...wildcardProjection !== void 0 ? { wildcardProjection } : {},\n\t\t\t...collation !== void 0 ? { collation } : {},\n\t\t\t...weights !== void 0 ? { weights } : {},\n\t\t\t...default_language !== void 0 ? { default_language } : {},\n\t\t\t...language_override !== void 0 ? { language_override } : {}\n\t\t});\n\t}\n\tasync executeDropCollectionCommand(cmd) {\n\t\tawait this.db.collection(cmd.collection).drop();\n\t}\n\tasync executeRenameCollectionCommand(cmd) {\n\t\tawait this.db.renameCollection(cmd.collection, cmd.to);\n\t}\n\tasync executeDropIndexCommand(cmd) {\n\t\tawait this.db.collection(cmd.collection).dropIndex(cmd.name);\n\t}\n\tasync executeCollModCommand(cmd) {\n\t\tconst { validator, validationLevel, validationAction, changeStreamPreAndPostImages } = cmd;\n\t\tawait this.db.command({\n\t\t\tcollMod: cmd.collection,\n\t\t\t...validator !== void 0 ? { validator } : {},\n\t\t\t...validationLevel !== void 0 ? { validationLevel } : {},\n\t\t\t...validationAction !== void 0 ? { validationAction } : {},\n\t\t\t...changeStreamPreAndPostImages !== void 0 ? { changeStreamPreAndPostImages } : {}\n\t\t});\n\t}\n};\nasync function createMongoDriver(uri, dbName) {\n\treturn MongoDriverImpl.fromConnection(uri, dbName);\n}\n//#endregion\nexport { createMongoDriver as n, DRIVER_INFO as r, MongoDriverImpl as t };\n\n//# sourceMappingURL=mongo-driver-q-IqfhuV.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-target-errors-Btf3ML1w-B5EMYbz1.mjs","names":[],"sources":["../../../../3-mongo-target/1-mongo-target/dist/mongo-target-errors-Btf3ML1w.mjs"],"sourcesContent":["import { structuredError } from \"@internal/utils/structured-error\";\n//#region src/core/mongo-target-errors.ts\nfunction mongoTargetError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\nexport { mongoTargetError as t };\n\n//# sourceMappingURL=mongo-target-errors-Btf3ML1w.mjs.map"],"mappings":";;AAEA,SAAS,iBAAiB,MAAM,SAAS,SAAS;CACjD,OAAO,gBAAgB,MAAM,SAAS,OAAO;AAC9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"op-factory-call-BoYr7vvM-PXfT4zvm.d.mts","names":[],"sources":["../../../../3-mongo-target/1-mongo-target/dist/op-factory-call-BoYr7vvM.d.mts"],"mappings":";;;;;;;UAMU;WACC;WACA;WACA,iBAAiB;;uBAEL,0BAA0B,wBAAwB;oBACrD;oBACA,gBAAgB;oBAChB;WACT,QAAQ;EACjB,+BAA+B;YACrB;;cAEE,wBAAwB;WAC3B;WACA;WACA;WACA,MAAM,cAAc;WACpB,SAAS;WACT;EACT,YAAY,oBAAoB,MAAM,cAAc,gBAAgB,UAAU;EAC9E,QAAQ;EACR;;cAEY,sBAAsB;WACzB;WACA;WACA;WACA,MAAM,cAAc;WACpB;EACT,YAAY,oBAAoB,MAAM,cAAc;EACpD,QAAQ;EACR;;cAEY,6BAA6B;WAChC;WACA;WACA;WACA,SAAS;WACT;EACT,YAAY,oBAAoB,UAAU;EAC1C,QAAQ;EACR;;cAEY,2BAA2B;WAC9B;WACA;WACA;WACA;EACT,YAAY;EACZ,QAAQ;EACR;;cAEY,6BAA6B;WAChC;WACA;WACA;WACA;WACA;EACT,YAAY,cAAc;EAC1B,QAAQ;EACR;;cAEY,wBAAwB;WAC3B;WACA;WACA;WACA;WACA;WACA,QAAQ;WACR;EACT,YAAY,oBAAoB,cAAc,YAAY,SAAS;EACnE,QAAQ;EACR;;cAEY,uBAAuB;WAC1B;WACA;WACA;WACA;WACA,QAAQ;WACR;EACT,YAAY,oBAAoB,eAAe,SAAS;EACxD,QAAQ;EACR;;cAEY,oBAAoB;WACvB;WACA;WACA,SAAS;WACT,MAAM;WACN,gBAAgB;WAChB;EACT,YAAY,oBAAoB,SAAS,gBAAgB,OAAO;EAChE,QAAQ;EACR;;KAEG,kBAAkB,kBAAkB,gBAAgB,uBAAuB,qBAAqB,uBAAuB,kBAAkB,iBAAiB;iBAC9I,gCAAgC,OAAO,mBAAmB;iBAC1D,0CAA0C,MAAM,wBAAwB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pack-DYR2mrvW.d.mts","names":[],"sources":["../../../../3-mongo-target/1-mongo-target/dist/pack.d.mts"],"mappings":";;;;;cAIc;WACH;aACE;eACE;eACA;iBACE;iBACA;iBACA;iBACA;;iBAEA;iBACA;iBACA;iBACA;;eAEF,QAAQ;iBACN;;iBAEA;;iBAEA;mBACE;qBACE;qBACA;qBACA;uBACE;yBACE;yBACA;;;;mBAIN;qBACE;qBACA;qBACA;uBACE;yBACE;yBACA;;;;;;;aAOZ;eACE;eACA,QAAQ;iBACN;;iBAEA;;iBAEA;mBACE;qBACE;qBACA;;;;;aAKR;eACE;eACA,QAAQ;iBACN;;iBAEA;;iBAEA;mBACE;qBACE;qBACA;;mBAEF;qBACE;qBACA;;;;;;;;;cASP;WACH;aACE;eACE;iBACE;mBACE;mBACA;mBACA;qBACE;uBACE;;qBAEF;uBACE;uBACA;;;;iBAIN;mBACE;mBACA;mBACA;qBACE;uBACE;;qBAEF;uBACE;uBACA;;qBAEF;uBACE;uBACA;;;;;;aAMV;eACE;iBACE;mBACE;mBACA;qBACE;qBACA;qBACA;qBACA;;qBAEA;qBACA;qBACA;qBACA;;mBAEF,QAAQ;qBACN;;qBAEA;;qBAEA;uBACE;yBACE;yBACA;yBACA;2BACE;6BACE;6BACA;;;;uBAIN;yBACE;yBACA;yBACA;2BACE;6BACE;6BACA;;;;;;;iBAOZ;mBACE;mBACA,QAAQ;qBACN;;qBAEA;;qBAEA;uBACE;yBACE;yBACA;;;;;iBAKR;mBACE;mBACA,QAAQ;qBACN;;qBAEA;;qBAEA;uBACE;yBACE;yBACA;;uBAEF;yBACE;yBACA;;;;;;;aAOZ,WAAW,SAAS,kEAAkE;aACtF,uEAAuE;;WAEzE;aACE,yBAAyB;aACzB;eACE;;;WAGJ;aACE;aACA;eACE;;aAEF,wEAAwE;;WAE1E;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE;WACnE;aACE;eACE,0EAA0E;;;WAG9E,eAAe;WACf,6BAA6B;;cAE1B,kCAAkC;WACrC,eAAe;WACf,6BAA6B;;;;cAI1B;WACH;WACA;WACA;WACA;WACA;WACA,cAAc;WACd;WACA;aACE;eACE,kBAAkB,cAAc;;;WAGpC;aACE,cAAc;;WAEhB,yBAAyB;WACzB,2BAA2B,0BAA0B;WACrD,eAAe;WACf,6BAA6B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prisma6-binding-DRM8QnmA.d.mts","names":[],"sources":["../../../../3-mongo-target/1-mongo-target/dist/prisma6-binding.d.mts"],"mappings":";;;;;;cAKc;WACH,QAAQ;WACR;WACA;aACE;aACA;aACA;aACA;aACA;aACA;aACA;aACA;aACA;;WAEF;aACE;eACE;eACA;;aAEF;eACE;;aAEF;eACE;eACA;;aAEF;eACE;;aAEF;eACE;;aAEF;eACE;;aAEF;eACE;eACA;;aAEF;eACE;;;WAGJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prisma6-binding-WOZ8vURx.mjs","names":[],"sources":["../../../../3-mongo-target/1-mongo-target/dist/prisma6-binding.mjs"],"sourcesContent":["import { a as MONGO_DECIMAL128_CODEC_ID, c as MONGO_INT64_CODEC_ID, d as MONGO_OBJECTID_CODEC_ID, f as MONGO_STRING_CODEC_ID, i as MONGO_DATE_CODEC_ID, l as MONGO_INT64_NUMBER_CODEC_ID, n as MONGO_BOOLEAN_CODEC_ID, o as MONGO_DOUBLE_CODEC_ID, s as MONGO_INT32_CODEC_ID, t as MONGO_BINARY_CODEC_ID, u as MONGO_JSON_CODEC_ID } from \"./codec-ids-WdrumsYA.mjs\";\nimport { t as mongoTargetDescriptorMetaRuntime } from \"./descriptor-meta-runtime-BaRbjvD7.mjs\";\n/**\n* What the Mongo target supplies to the Prisma 6 schema reader: the datasource provider it reads, the codec each Prisma 6 scalar and native type maps to, the codec an `@id` must have, and the generator `now()` and `@updatedAt` lower to. Each codec is the one for the BSON type Prisma 6 stores (ADR 257), with the application type the Prisma 6 client presents: a plain `Int` is a BSON long read as a `number`.\n*/\nconst prisma6MongoBinding = {\n\ttarget: mongoTargetDescriptorMetaRuntime,\n\tproviders: [\"mongodb\"],\n\tscalarCodecIds: {\n\t\tString: MONGO_STRING_CODEC_ID,\n\t\tInt: MONGO_INT64_NUMBER_CODEC_ID,\n\t\tFloat: MONGO_DOUBLE_CODEC_ID,\n\t\tBoolean: MONGO_BOOLEAN_CODEC_ID,\n\t\tDateTime: MONGO_DATE_CODEC_ID,\n\t\tBigInt: MONGO_INT64_CODEC_ID,\n\t\tDecimal: MONGO_DECIMAL128_CODEC_ID,\n\t\tBytes: MONGO_BINARY_CODEC_ID,\n\t\tJson: MONGO_JSON_CODEC_ID\n\t},\n\tnativeTypeCodecIds: {\n\t\tString: {\n\t\t\t\"db.String\": MONGO_STRING_CODEC_ID,\n\t\t\t\"db.ObjectId\": MONGO_OBJECTID_CODEC_ID\n\t\t},\n\t\tBoolean: { \"db.Bool\": MONGO_BOOLEAN_CODEC_ID },\n\t\tInt: {\n\t\t\t\"db.Int\": MONGO_INT32_CODEC_ID,\n\t\t\t\"db.Long\": MONGO_INT64_NUMBER_CODEC_ID\n\t\t},\n\t\tBigInt: { \"db.Long\": MONGO_INT64_CODEC_ID },\n\t\tFloat: { \"db.Double\": MONGO_DOUBLE_CODEC_ID },\n\t\tDateTime: { \"db.Date\": MONGO_DATE_CODEC_ID },\n\t\tBytes: {\n\t\t\t\"db.BinData\": MONGO_BINARY_CODEC_ID,\n\t\t\t\"db.ObjectId\": MONGO_OBJECTID_CODEC_ID\n\t\t},\n\t\tJson: { \"db.Json\": MONGO_JSON_CODEC_ID }\n\t},\n\tobjectIdCodecId: MONGO_OBJECTID_CODEC_ID\n};\n//#endregion\nexport { prisma6MongoBinding };\n\n//# sourceMappingURL=prisma6-binding.mjs.map"],"mappings":";;;;;;AAKA,MAAM,sBAAsB;CAC3B,QAAQ;CACR,WAAW,CAAC,SAAS;CACrB,gBAAgB;EACf,QAAQ;EACR,KAAK;EACL,OAAO;EACP,SAAS;EACT,UAAU;EACV,QAAQ;EACR,SAAS;EACT,OAAO;EACP,MAAM;CACP;CACA,oBAAoB;EACnB,QAAQ;GACP,aAAa;GACb,eAAe;EAChB;EACA,SAAS,EAAE,WAAW,uBAAuB;EAC7C,KAAK;GACJ,UAAU;GACV,WAAW;EACZ;EACA,QAAQ,EAAE,WAAW,qBAAqB;EAC1C,OAAO,EAAE,aAAa,sBAAsB;EAC5C,UAAU,EAAE,WAAW,oBAAoB;EAC3C,OAAO;GACN,cAAc;GACd,eAAe;EAChB;EACA,MAAM,EAAE,WAAW,oBAAoB;CACxC;CACA,iBAAiB;AAClB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-B9_-kjBX.d.mts","names":[],"sources":["../../../../3-mongo-target/1-mongo-target/dist/runtime.d.mts"],"mappings":";;;;UAGU,mCAAmC;;;;;cAK/B,8BAA8B,0CAA0C;WAC3E,cAAc"}
|