@prisma/orm-family-mongo 0.16.0-dev.36
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/LICENSE +201 -0
- package/README.md +27 -0
- package/dist/authoring-entity-types-BGtkMyoN-D32kzx28.mjs +176 -0
- package/dist/authoring-entity-types-BGtkMyoN-D32kzx28.mjs.map +1 -0
- package/dist/canonicalization-hooks-DF3Z6sjO.mjs +22 -0
- package/dist/canonicalization-hooks-DF3Z6sjO.mjs.map +1 -0
- package/dist/codec.d.mts +2 -0
- package/dist/codec.mjs +2 -0
- package/dist/config-types-CFDf9ivE.mjs +37 -0
- package/dist/config-types-CFDf9ivE.mjs.map +1 -0
- package/dist/config-types-CQOf5N7R.d.mts +12 -0
- package/dist/config-types-CQOf5N7R.d.mts.map +1 -0
- package/dist/contract-builder-BFq0gOMV.mjs +634 -0
- package/dist/contract-builder-BFq0gOMV.mjs.map +1 -0
- package/dist/contract-builder-DB8nguDE.d.mts +445 -0
- package/dist/contract-builder-DB8nguDE.d.mts.map +1 -0
- package/dist/contract-errors-BCN6RVI5-kMurtAbI.mjs +9 -0
- package/dist/contract-errors-BCN6RVI5-kMurtAbI.mjs.map +1 -0
- package/dist/contract-psl.d.mts +45 -0
- package/dist/contract-psl.d.mts.map +1 -0
- package/dist/contract-psl.mjs +2 -0
- package/dist/contract-psl__provider.d.mts +15 -0
- package/dist/contract-psl__provider.d.mts.map +1 -0
- package/dist/contract-psl__provider.mjs +82 -0
- package/dist/contract-psl__provider.mjs.map +1 -0
- package/dist/contract-ts.d.mts +3 -0
- package/dist/contract-ts.mjs +3 -0
- package/dist/contract-ts__config-types.d.mts +2 -0
- package/dist/contract-ts__config-types.mjs +2 -0
- package/dist/contract-ts__contract-builder.d.mts +2 -0
- package/dist/contract-ts__contract-builder.mjs +2 -0
- package/dist/contract.d.mts +3 -0
- package/dist/contract.mjs +3 -0
- package/dist/contract__canonicalization-hooks.d.mts +9 -0
- package/dist/contract__canonicalization-hooks.d.mts.map +1 -0
- package/dist/contract__canonicalization-hooks.mjs +2 -0
- package/dist/contract__entity-kinds.d.mts +17 -0
- package/dist/contract__entity-kinds.d.mts.map +1 -0
- package/dist/contract__entity-kinds.mjs +2 -0
- package/dist/control-C7-kthr1.d.mts +193 -0
- package/dist/control-C7-kthr1.d.mts.map +1 -0
- package/dist/control-CClR5JMr.mjs +127 -0
- package/dist/control-CClR5JMr.mjs.map +1 -0
- package/dist/control-CFr3tYsg.mjs +398 -0
- package/dist/control-CFr3tYsg.mjs.map +1 -0
- package/dist/control-Cj81sPbj.d.mts +101 -0
- package/dist/control-Cj81sPbj.d.mts.map +1 -0
- package/dist/control-adapter-Db5pT77b.d.mts +83 -0
- package/dist/control-adapter-Db5pT77b.d.mts.map +1 -0
- package/dist/dist-C7Ykq48Q.mjs +19 -0
- package/dist/dist-C7Ykq48Q.mjs.map +1 -0
- package/dist/dist-Czwqx_i3.mjs +58 -0
- package/dist/dist-Czwqx_i3.mjs.map +1 -0
- package/dist/dist-DHrEJnhK.mjs +236 -0
- package/dist/dist-DHrEJnhK.mjs.map +1 -0
- package/dist/dist-Dyp05u64.mjs +1546 -0
- package/dist/dist-Dyp05u64.mjs.map +1 -0
- package/dist/emitter.d.mts +22 -0
- package/dist/emitter.d.mts.map +1 -0
- package/dist/emitter.mjs +2 -0
- package/dist/entity-kinds-B4KNTF8z-DPIuUuuB.mjs +603 -0
- package/dist/entity-kinds-B4KNTF8z-DPIuUuuB.mjs.map +1 -0
- package/dist/execution-CKnUiOfm.d.mts +48 -0
- package/dist/execution-CKnUiOfm.d.mts.map +1 -0
- package/dist/execution-D5XyZ5XS.mjs +1269 -0
- package/dist/execution-D5XyZ5XS.mjs.map +1 -0
- package/dist/exports-Bx-hlnZ3.mjs +209 -0
- package/dist/exports-Bx-hlnZ3.mjs.map +1 -0
- package/dist/exports-CJMh0VTU.mjs +156 -0
- package/dist/exports-CJMh0VTU.mjs.map +1 -0
- package/dist/family.d.mts +10 -0
- package/dist/family.mjs +9 -0
- package/dist/family__control-adapter.d.mts +2 -0
- package/dist/family__control-adapter.mjs +1 -0
- package/dist/family__control.d.mts +2 -0
- package/dist/family__control.mjs +3 -0
- package/dist/family__ir.d.mts +3 -0
- package/dist/family__ir.mjs +4 -0
- package/dist/family__migration.d.mts +2 -0
- package/dist/family__migration.mjs +2 -0
- package/dist/family__pack.d.mts +2 -0
- package/dist/family__pack.mjs +16 -0
- package/dist/family__pack.mjs.map +1 -0
- package/dist/family__runtime.d.mts +3 -0
- package/dist/family__runtime.mjs +2 -0
- package/dist/family__schema-verify.d.mts +2 -0
- package/dist/family__schema-verify.mjs +2 -0
- package/dist/field-accessor-0oUt6RZC-B_Z30uAA.mjs +234 -0
- package/dist/field-accessor-0oUt6RZC-B_Z30uAA.mjs.map +1 -0
- package/dist/field-accessor-DHsAPiW3-BdYCspQC.d.mts +588 -0
- package/dist/field-accessor-DHsAPiW3-BdYCspQC.d.mts.map +1 -0
- package/dist/filter-expressions-Uo8ZdzwB-53qnqceS.mjs +181 -0
- package/dist/filter-expressions-Uo8ZdzwB-53qnqceS.mjs.map +1 -0
- package/dist/index-BR0ue13b.d.mts +136 -0
- package/dist/index-BR0ue13b.d.mts.map +1 -0
- package/dist/index-Cd2zLiU6.d.mts +128 -0
- package/dist/index-Cd2zLiU6.d.mts.map +1 -0
- package/dist/index-DAOkcTCK.d.mts +151 -0
- package/dist/index-DAOkcTCK.d.mts.map +1 -0
- package/dist/index-Dv2PNMiG.d.mts +53 -0
- package/dist/index-Dv2PNMiG.d.mts.map +1 -0
- package/dist/index-DxoO-ywI.d.mts +178 -0
- package/dist/index-DxoO-ywI.d.mts.map +1 -0
- package/dist/index-wKMm41HC.d.mts +30 -0
- package/dist/index-wKMm41HC.d.mts.map +1 -0
- package/dist/interpreter-BxbUTQ3k-ClR98Ned.mjs +1091 -0
- package/dist/interpreter-BxbUTQ3k-ClR98Ned.mjs.map +1 -0
- package/dist/ir-CQrenTYt.d.mts +147 -0
- package/dist/ir-CQrenTYt.d.mts.map +1 -0
- package/dist/ir-Ch2aPr7a.mjs +62 -0
- package/dist/ir-Ch2aPr7a.mjs.map +1 -0
- package/dist/lowering.d.mts +2 -0
- package/dist/lowering.mjs +1 -0
- package/dist/migration-CNDQv5yB.d.mts +50 -0
- package/dist/migration-CNDQv5yB.d.mts.map +1 -0
- package/dist/migration-dcM7u4HG.mjs +52 -0
- package/dist/migration-dcM7u4HG.mjs.map +1 -0
- package/dist/mongo-contract-serializer-Cx7Fae8e-C8ZYPXpc.mjs +119 -0
- package/dist/mongo-contract-serializer-Cx7Fae8e-C8ZYPXpc.mjs.map +1 -0
- package/dist/mongo-contract-view-AnejqfrQ-BaCFT0xm.d.mts +27 -0
- package/dist/mongo-contract-view-AnejqfrQ-BaCFT0xm.d.mts.map +1 -0
- package/dist/mongo-contract-view-rcWzby6f-wRBCUnBt.mjs +17 -0
- package/dist/mongo-contract-view-rcWzby6f-wRBCUnBt.mjs.map +1 -0
- package/dist/mongo-value-set-tNn9-pun-dJYx_rVD.d.mts +536 -0
- package/dist/mongo-value-set-tNn9-pun-dJYx_rVD.d.mts.map +1 -0
- package/dist/mongodb-types-B4HmhF1S.d.mts +2 -0
- package/dist/orm.d.mts +311 -0
- package/dist/orm.d.mts.map +1 -0
- package/dist/orm.mjs +664 -0
- package/dist/orm.mjs.map +1 -0
- package/dist/pack-D9aLY50F.d.mts +44 -0
- package/dist/pack-D9aLY50F.d.mts.map +1 -0
- package/dist/query-ast.d.mts +5 -0
- package/dist/query-ast.mjs +4 -0
- package/dist/query-ast__control.d.mts +4 -0
- package/dist/query-ast__control.mjs +3 -0
- package/dist/query-ast__execution.d.mts +3 -0
- package/dist/query-ast__execution.mjs +3 -0
- package/dist/query-builder.d.mts +836 -0
- package/dist/query-builder.d.mts.map +1 -0
- package/dist/query-builder.mjs +3 -0
- package/dist/query-builder__contract-free.d.mts +83 -0
- package/dist/query-builder__contract-free.d.mts.map +1 -0
- package/dist/query-builder__contract-free.mjs +107 -0
- package/dist/query-builder__contract-free.mjs.map +1 -0
- package/dist/query-plan-C0-Yu8hf-DdilEdW6.d.mts +822 -0
- package/dist/query-plan-C0-Yu8hf-DdilEdW6.d.mts.map +1 -0
- package/dist/runtime-DPkRW4iu.d.mts +1 -0
- package/dist/runtime.d.mts +286 -0
- package/dist/runtime.d.mts.map +1 -0
- package/dist/runtime.mjs +532 -0
- package/dist/runtime.mjs.map +1 -0
- package/dist/schema-ir.d.mts +2 -0
- package/dist/schema-ir.mjs +2 -0
- package/dist/schema-verify-DJGr28XW.d.mts +23 -0
- package/dist/schema-verify-DJGr28XW.d.mts.map +1 -0
- package/dist/value.d.mts +2 -0
- package/dist/value.mjs +2 -0
- package/dist/value__mongodb-types.d.mts +2 -0
- package/dist/value__mongodb-types.mjs +1 -0
- package/dist/verify-mongo-schema-De0FG2Rm-CCzwnNPY.mjs +447 -0
- package/dist/verify-mongo-schema-De0FG2Rm-CCzwnNPY.mjs.map +1 -0
- package/dist/wire.d.mts +3 -0
- package/dist/wire.mjs +190 -0
- package/dist/wire.mjs.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { structuredError } from "@prisma/orm-framework/utils/structured-error";
|
|
2
|
+
//#region ../../../2-mongo-family/4-query/query-ast/dist/filter-expressions-Uo8ZdzwB.mjs
|
|
3
|
+
var MongoAstNode = class {
|
|
4
|
+
freeze() {
|
|
5
|
+
Object.freeze(this);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
function ormError(code, message, options) {
|
|
9
|
+
return structuredError(code, message, options);
|
|
10
|
+
}
|
|
11
|
+
const FILTER_EXPR_BRAND = "__prismaNextMongoFilter__";
|
|
12
|
+
function isMongoFilterExpr(value) {
|
|
13
|
+
return typeof value === "object" && value !== null && FILTER_EXPR_BRAND in value;
|
|
14
|
+
}
|
|
15
|
+
var MongoFilterExpression = class extends MongoAstNode {
|
|
16
|
+
not() {
|
|
17
|
+
return new MongoNotExpr(this);
|
|
18
|
+
}
|
|
19
|
+
and(other) {
|
|
20
|
+
return MongoAndExpr.of([this, other]);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(MongoFilterExpression.prototype, FILTER_EXPR_BRAND, {
|
|
24
|
+
value: true,
|
|
25
|
+
writable: false,
|
|
26
|
+
enumerable: false,
|
|
27
|
+
configurable: false
|
|
28
|
+
});
|
|
29
|
+
var MongoFieldFilter = class MongoFieldFilter extends MongoFilterExpression {
|
|
30
|
+
kind = "field";
|
|
31
|
+
field;
|
|
32
|
+
op;
|
|
33
|
+
value;
|
|
34
|
+
constructor(field, op, value) {
|
|
35
|
+
super();
|
|
36
|
+
this.field = field;
|
|
37
|
+
this.op = op;
|
|
38
|
+
this.value = value;
|
|
39
|
+
this.freeze();
|
|
40
|
+
}
|
|
41
|
+
static of(field, op, value) {
|
|
42
|
+
return new MongoFieldFilter(field, op, value);
|
|
43
|
+
}
|
|
44
|
+
static eq(field, value) {
|
|
45
|
+
return new MongoFieldFilter(field, "$eq", value);
|
|
46
|
+
}
|
|
47
|
+
static neq(field, value) {
|
|
48
|
+
return new MongoFieldFilter(field, "$ne", value);
|
|
49
|
+
}
|
|
50
|
+
static gt(field, value) {
|
|
51
|
+
return new MongoFieldFilter(field, "$gt", value);
|
|
52
|
+
}
|
|
53
|
+
static lt(field, value) {
|
|
54
|
+
return new MongoFieldFilter(field, "$lt", value);
|
|
55
|
+
}
|
|
56
|
+
static gte(field, value) {
|
|
57
|
+
return new MongoFieldFilter(field, "$gte", value);
|
|
58
|
+
}
|
|
59
|
+
static lte(field, value) {
|
|
60
|
+
return new MongoFieldFilter(field, "$lte", value);
|
|
61
|
+
}
|
|
62
|
+
static in(field, values) {
|
|
63
|
+
return new MongoFieldFilter(field, "$in", values);
|
|
64
|
+
}
|
|
65
|
+
static nin(field, values) {
|
|
66
|
+
return new MongoFieldFilter(field, "$nin", values);
|
|
67
|
+
}
|
|
68
|
+
static isNull(field) {
|
|
69
|
+
return new MongoFieldFilter(field, "$eq", null);
|
|
70
|
+
}
|
|
71
|
+
static isNotNull(field) {
|
|
72
|
+
return new MongoFieldFilter(field, "$ne", null);
|
|
73
|
+
}
|
|
74
|
+
accept(visitor) {
|
|
75
|
+
return visitor.field(this);
|
|
76
|
+
}
|
|
77
|
+
rewrite(rewriter) {
|
|
78
|
+
return rewriter.field ? rewriter.field(this) : this;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
var MongoAndExpr = class MongoAndExpr extends MongoFilterExpression {
|
|
82
|
+
kind = "and";
|
|
83
|
+
exprs;
|
|
84
|
+
constructor(exprs) {
|
|
85
|
+
super();
|
|
86
|
+
if (exprs.length === 0) throw ormError("ORM.ARGUMENT_INVALID", "$and requires at least one expression");
|
|
87
|
+
this.exprs = Object.freeze([...exprs]);
|
|
88
|
+
this.freeze();
|
|
89
|
+
}
|
|
90
|
+
static of(exprs) {
|
|
91
|
+
return new MongoAndExpr(exprs);
|
|
92
|
+
}
|
|
93
|
+
accept(visitor) {
|
|
94
|
+
return visitor.and(this);
|
|
95
|
+
}
|
|
96
|
+
rewrite(rewriter) {
|
|
97
|
+
const rewritten = new MongoAndExpr(this.exprs.map((e) => e.rewrite(rewriter)));
|
|
98
|
+
return rewriter.and ? rewriter.and(rewritten) : rewritten;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
var MongoOrExpr = class MongoOrExpr extends MongoFilterExpression {
|
|
102
|
+
kind = "or";
|
|
103
|
+
exprs;
|
|
104
|
+
constructor(exprs) {
|
|
105
|
+
super();
|
|
106
|
+
if (exprs.length === 0) throw ormError("ORM.ARGUMENT_INVALID", "$or requires at least one expression");
|
|
107
|
+
this.exprs = Object.freeze([...exprs]);
|
|
108
|
+
this.freeze();
|
|
109
|
+
}
|
|
110
|
+
static of(exprs) {
|
|
111
|
+
return new MongoOrExpr(exprs);
|
|
112
|
+
}
|
|
113
|
+
accept(visitor) {
|
|
114
|
+
return visitor.or(this);
|
|
115
|
+
}
|
|
116
|
+
rewrite(rewriter) {
|
|
117
|
+
const rewritten = new MongoOrExpr(this.exprs.map((e) => e.rewrite(rewriter)));
|
|
118
|
+
return rewriter.or ? rewriter.or(rewritten) : rewritten;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
var MongoNotExpr = class MongoNotExpr extends MongoFilterExpression {
|
|
122
|
+
kind = "not";
|
|
123
|
+
expr;
|
|
124
|
+
constructor(expr) {
|
|
125
|
+
super();
|
|
126
|
+
this.expr = expr;
|
|
127
|
+
this.freeze();
|
|
128
|
+
}
|
|
129
|
+
accept(visitor) {
|
|
130
|
+
return visitor.not(this);
|
|
131
|
+
}
|
|
132
|
+
rewrite(rewriter) {
|
|
133
|
+
const rewritten = new MongoNotExpr(this.expr.rewrite(rewriter));
|
|
134
|
+
return rewriter.not ? rewriter.not(rewritten) : rewritten;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
var MongoExistsExpr = class MongoExistsExpr extends MongoFilterExpression {
|
|
138
|
+
kind = "exists";
|
|
139
|
+
field;
|
|
140
|
+
exists;
|
|
141
|
+
constructor(field, exists) {
|
|
142
|
+
super();
|
|
143
|
+
this.field = field;
|
|
144
|
+
this.exists = exists;
|
|
145
|
+
this.freeze();
|
|
146
|
+
}
|
|
147
|
+
static exists(field) {
|
|
148
|
+
return new MongoExistsExpr(field, true);
|
|
149
|
+
}
|
|
150
|
+
static notExists(field) {
|
|
151
|
+
return new MongoExistsExpr(field, false);
|
|
152
|
+
}
|
|
153
|
+
accept(visitor) {
|
|
154
|
+
return visitor.exists(this);
|
|
155
|
+
}
|
|
156
|
+
rewrite(rewriter) {
|
|
157
|
+
return rewriter.exists ? rewriter.exists(this) : this;
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
var MongoExprFilter = class MongoExprFilter extends MongoFilterExpression {
|
|
161
|
+
kind = "expr";
|
|
162
|
+
aggExpr;
|
|
163
|
+
constructor(aggExpr) {
|
|
164
|
+
super();
|
|
165
|
+
this.aggExpr = aggExpr;
|
|
166
|
+
this.freeze();
|
|
167
|
+
}
|
|
168
|
+
static of(aggExpr) {
|
|
169
|
+
return new MongoExprFilter(aggExpr);
|
|
170
|
+
}
|
|
171
|
+
accept(visitor) {
|
|
172
|
+
return visitor.expr(this);
|
|
173
|
+
}
|
|
174
|
+
rewrite(rewriter) {
|
|
175
|
+
return rewriter.expr ? rewriter.expr(this) : this;
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
//#endregion
|
|
179
|
+
export { MongoFieldFilter as a, isMongoFilterExpr as c, MongoExprFilter as i, ormError as l, MongoAstNode as n, MongoNotExpr as o, MongoExistsExpr as r, MongoOrExpr as s, MongoAndExpr as t };
|
|
180
|
+
|
|
181
|
+
//# sourceMappingURL=filter-expressions-Uo8ZdzwB-53qnqceS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-expressions-Uo8ZdzwB-53qnqceS.mjs","names":[],"sources":["../../../../2-mongo-family/4-query/query-ast/dist/filter-expressions-Uo8ZdzwB.mjs"],"sourcesContent":["import { structuredError } from \"@internal/utils/structured-error\";\n//#region src/ast-node.ts\nvar MongoAstNode = class {\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\n//#endregion\n//#region src/orm-errors.ts\nfunction ormError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/filter-expressions.ts\nconst FILTER_EXPR_BRAND = \"__prismaNextMongoFilter__\";\nfunction isMongoFilterExpr(value) {\n\treturn typeof value === \"object\" && value !== null && FILTER_EXPR_BRAND in value;\n}\nvar MongoFilterExpression = class extends MongoAstNode {\n\tnot() {\n\t\treturn new MongoNotExpr(this);\n\t}\n\tand(other) {\n\t\treturn MongoAndExpr.of([this, other]);\n\t}\n};\nObject.defineProperty(MongoFilterExpression.prototype, FILTER_EXPR_BRAND, {\n\tvalue: true,\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: false\n});\nvar MongoFieldFilter = class MongoFieldFilter extends MongoFilterExpression {\n\tkind = \"field\";\n\tfield;\n\top;\n\tvalue;\n\tconstructor(field, op, value) {\n\t\tsuper();\n\t\tthis.field = field;\n\t\tthis.op = op;\n\t\tthis.value = value;\n\t\tthis.freeze();\n\t}\n\tstatic of(field, op, value) {\n\t\treturn new MongoFieldFilter(field, op, value);\n\t}\n\tstatic eq(field, value) {\n\t\treturn new MongoFieldFilter(field, \"$eq\", value);\n\t}\n\tstatic neq(field, value) {\n\t\treturn new MongoFieldFilter(field, \"$ne\", value);\n\t}\n\tstatic gt(field, value) {\n\t\treturn new MongoFieldFilter(field, \"$gt\", value);\n\t}\n\tstatic lt(field, value) {\n\t\treturn new MongoFieldFilter(field, \"$lt\", value);\n\t}\n\tstatic gte(field, value) {\n\t\treturn new MongoFieldFilter(field, \"$gte\", value);\n\t}\n\tstatic lte(field, value) {\n\t\treturn new MongoFieldFilter(field, \"$lte\", value);\n\t}\n\tstatic in(field, values) {\n\t\treturn new MongoFieldFilter(field, \"$in\", values);\n\t}\n\tstatic nin(field, values) {\n\t\treturn new MongoFieldFilter(field, \"$nin\", values);\n\t}\n\tstatic isNull(field) {\n\t\treturn new MongoFieldFilter(field, \"$eq\", null);\n\t}\n\tstatic isNotNull(field) {\n\t\treturn new MongoFieldFilter(field, \"$ne\", null);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.field(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.field ? rewriter.field(this) : this;\n\t}\n};\nvar MongoAndExpr = class MongoAndExpr extends MongoFilterExpression {\n\tkind = \"and\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tif (exprs.length === 0) throw ormError(\"ORM.ARGUMENT_INVALID\", \"$and requires at least one expression\");\n\t\tthis.exprs = Object.freeze([...exprs]);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new MongoAndExpr(exprs);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.and(this);\n\t}\n\trewrite(rewriter) {\n\t\tconst rewritten = new MongoAndExpr(this.exprs.map((e) => e.rewrite(rewriter)));\n\t\treturn rewriter.and ? rewriter.and(rewritten) : rewritten;\n\t}\n};\nvar MongoOrExpr = class MongoOrExpr extends MongoFilterExpression {\n\tkind = \"or\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tif (exprs.length === 0) throw ormError(\"ORM.ARGUMENT_INVALID\", \"$or requires at least one expression\");\n\t\tthis.exprs = Object.freeze([...exprs]);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new MongoOrExpr(exprs);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.or(this);\n\t}\n\trewrite(rewriter) {\n\t\tconst rewritten = new MongoOrExpr(this.exprs.map((e) => e.rewrite(rewriter)));\n\t\treturn rewriter.or ? rewriter.or(rewritten) : rewritten;\n\t}\n};\nvar MongoNotExpr = class MongoNotExpr extends MongoFilterExpression {\n\tkind = \"not\";\n\texpr;\n\tconstructor(expr) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.not(this);\n\t}\n\trewrite(rewriter) {\n\t\tconst rewritten = new MongoNotExpr(this.expr.rewrite(rewriter));\n\t\treturn rewriter.not ? rewriter.not(rewritten) : rewritten;\n\t}\n};\nvar MongoExistsExpr = class MongoExistsExpr extends MongoFilterExpression {\n\tkind = \"exists\";\n\tfield;\n\texists;\n\tconstructor(field, exists) {\n\t\tsuper();\n\t\tthis.field = field;\n\t\tthis.exists = exists;\n\t\tthis.freeze();\n\t}\n\tstatic exists(field) {\n\t\treturn new MongoExistsExpr(field, true);\n\t}\n\tstatic notExists(field) {\n\t\treturn new MongoExistsExpr(field, false);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.exists(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.exists ? rewriter.exists(this) : this;\n\t}\n};\nvar MongoExprFilter = class MongoExprFilter extends MongoFilterExpression {\n\tkind = \"expr\";\n\taggExpr;\n\tconstructor(aggExpr) {\n\t\tsuper();\n\t\tthis.aggExpr = aggExpr;\n\t\tthis.freeze();\n\t}\n\tstatic of(aggExpr) {\n\t\treturn new MongoExprFilter(aggExpr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.expr(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.expr ? rewriter.expr(this) : this;\n\t}\n};\n//#endregion\nexport { MongoNotExpr as a, ormError as c, MongoFieldFilter as i, MongoAstNode as l, MongoExistsExpr as n, MongoOrExpr as o, MongoExprFilter as r, isMongoFilterExpr as s, MongoAndExpr as t };\n\n//# sourceMappingURL=filter-expressions-Uo8ZdzwB.mjs.map"],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { n as CreateCollectionOptions, r as CreateIndexesOptions, t as CollationOptions } from "./mongodb-types-B4HmhF1S.mjs";
|
|
2
|
+
import { j as MongoIndexKeyDirection } from "./mongo-value-set-tNn9-pun-dJYx_rVD.mjs";
|
|
3
|
+
import { l as RawPipeline, t as Document } from "./index-wKMm41HC.mjs";
|
|
4
|
+
import { a as CollModOptions, l as CreateIndexOptions, s as CreateCollectionOptions$1 } from "./control-C7-kthr1.mjs";
|
|
5
|
+
import "./execution-CKnUiOfm.mjs";
|
|
6
|
+
//#region ../../../2-mongo-family/6-transport/mongo-wire/dist/index.d.mts
|
|
7
|
+
//#region src/wire-commands.d.ts
|
|
8
|
+
declare abstract class MongoWireCommand {
|
|
9
|
+
abstract readonly kind: string;
|
|
10
|
+
readonly collection: string;
|
|
11
|
+
protected constructor(collection: string);
|
|
12
|
+
protected freeze(): void;
|
|
13
|
+
}
|
|
14
|
+
declare class InsertOneWireCommand extends MongoWireCommand {
|
|
15
|
+
readonly kind: "insertOne";
|
|
16
|
+
readonly document: Document;
|
|
17
|
+
constructor(collection: string, document: Document);
|
|
18
|
+
}
|
|
19
|
+
declare class UpdateOneWireCommand extends MongoWireCommand {
|
|
20
|
+
readonly kind: "updateOne";
|
|
21
|
+
readonly filter: Document;
|
|
22
|
+
readonly update: Document | ReadonlyArray<Document>;
|
|
23
|
+
readonly upsert: boolean;
|
|
24
|
+
constructor(collection: string, filter: Document, update: Document | ReadonlyArray<Document>, upsert?: boolean);
|
|
25
|
+
}
|
|
26
|
+
declare class DeleteOneWireCommand extends MongoWireCommand {
|
|
27
|
+
readonly kind: "deleteOne";
|
|
28
|
+
readonly filter: Document;
|
|
29
|
+
constructor(collection: string, filter: Document);
|
|
30
|
+
}
|
|
31
|
+
declare class InsertManyWireCommand extends MongoWireCommand {
|
|
32
|
+
readonly kind: "insertMany";
|
|
33
|
+
readonly documents: ReadonlyArray<Document>;
|
|
34
|
+
constructor(collection: string, documents: ReadonlyArray<Document>);
|
|
35
|
+
}
|
|
36
|
+
declare class UpdateManyWireCommand extends MongoWireCommand {
|
|
37
|
+
readonly kind: "updateMany";
|
|
38
|
+
readonly filter: Document;
|
|
39
|
+
readonly update: Document | ReadonlyArray<Document>;
|
|
40
|
+
readonly upsert: boolean;
|
|
41
|
+
constructor(collection: string, filter: Document, update: Document | ReadonlyArray<Document>, upsert?: boolean);
|
|
42
|
+
}
|
|
43
|
+
declare class DeleteManyWireCommand extends MongoWireCommand {
|
|
44
|
+
readonly kind: "deleteMany";
|
|
45
|
+
readonly filter: Document;
|
|
46
|
+
constructor(collection: string, filter: Document);
|
|
47
|
+
}
|
|
48
|
+
declare class FindOneAndUpdateWireCommand extends MongoWireCommand {
|
|
49
|
+
readonly kind: "findOneAndUpdate";
|
|
50
|
+
readonly filter: Document;
|
|
51
|
+
readonly update: Document | ReadonlyArray<Document>;
|
|
52
|
+
readonly upsert: boolean;
|
|
53
|
+
readonly sort: Record<string, 1 | -1> | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* When `undefined`, the option is omitted from the underlying driver
|
|
56
|
+
* call so Mongo's documented default (pre-image document) applies.
|
|
57
|
+
*/
|
|
58
|
+
readonly returnDocument: 'before' | 'after' | undefined;
|
|
59
|
+
constructor(collection: string, filter: Document, update: Document | ReadonlyArray<Document>, upsert?: boolean, sort?: Record<string, 1 | -1>, returnDocument?: 'before' | 'after');
|
|
60
|
+
}
|
|
61
|
+
declare class FindOneAndDeleteWireCommand extends MongoWireCommand {
|
|
62
|
+
readonly kind: "findOneAndDelete";
|
|
63
|
+
readonly filter: Document;
|
|
64
|
+
readonly sort: Record<string, 1 | -1> | undefined;
|
|
65
|
+
constructor(collection: string, filter: Document, sort?: Record<string, 1 | -1>);
|
|
66
|
+
}
|
|
67
|
+
declare class AggregateWireCommand extends MongoWireCommand {
|
|
68
|
+
readonly kind: "aggregate";
|
|
69
|
+
readonly pipeline: RawPipeline;
|
|
70
|
+
constructor(collection: string, pipeline: RawPipeline);
|
|
71
|
+
}
|
|
72
|
+
declare class CreateCollectionWireCommand extends MongoWireCommand implements CreateCollectionOptions {
|
|
73
|
+
readonly kind: "createCollection";
|
|
74
|
+
readonly validator?: Record<string, unknown>;
|
|
75
|
+
readonly validationLevel?: 'strict' | 'moderate';
|
|
76
|
+
readonly validationAction?: 'error' | 'warn';
|
|
77
|
+
readonly capped?: boolean;
|
|
78
|
+
readonly size?: number;
|
|
79
|
+
readonly max?: number;
|
|
80
|
+
readonly timeseries?: {
|
|
81
|
+
timeField: string;
|
|
82
|
+
metaField?: string;
|
|
83
|
+
granularity?: 'seconds' | 'minutes' | 'hours';
|
|
84
|
+
};
|
|
85
|
+
readonly collation?: CollationOptions;
|
|
86
|
+
readonly changeStreamPreAndPostImages?: {
|
|
87
|
+
enabled: boolean;
|
|
88
|
+
};
|
|
89
|
+
readonly clusteredIndex?: {
|
|
90
|
+
key: Record<string, number>;
|
|
91
|
+
unique: boolean;
|
|
92
|
+
name?: string;
|
|
93
|
+
};
|
|
94
|
+
constructor(collection: string, options: CreateCollectionOptions$1);
|
|
95
|
+
}
|
|
96
|
+
declare class CreateIndexWireCommand extends MongoWireCommand implements CreateIndexesOptions {
|
|
97
|
+
readonly kind: "createIndex";
|
|
98
|
+
readonly key: Record<string, MongoIndexKeyDirection>;
|
|
99
|
+
readonly unique?: boolean;
|
|
100
|
+
readonly sparse?: boolean;
|
|
101
|
+
readonly expireAfterSeconds?: number;
|
|
102
|
+
readonly partialFilterExpression?: Record<string, unknown>;
|
|
103
|
+
readonly name?: string;
|
|
104
|
+
readonly wildcardProjection?: Record<string, 0 | 1>;
|
|
105
|
+
readonly collation?: CollationOptions;
|
|
106
|
+
readonly weights?: Record<string, number>;
|
|
107
|
+
readonly default_language?: string;
|
|
108
|
+
readonly language_override?: string;
|
|
109
|
+
constructor(collection: string, key: Record<string, MongoIndexKeyDirection>, options: CreateIndexOptions);
|
|
110
|
+
}
|
|
111
|
+
declare class DropCollectionWireCommand extends MongoWireCommand {
|
|
112
|
+
readonly kind: "dropCollection";
|
|
113
|
+
constructor(collection: string);
|
|
114
|
+
}
|
|
115
|
+
declare class DropIndexWireCommand extends MongoWireCommand {
|
|
116
|
+
readonly kind: "dropIndex";
|
|
117
|
+
readonly name: string;
|
|
118
|
+
constructor(collection: string, name: string);
|
|
119
|
+
}
|
|
120
|
+
declare class CollModWireCommand extends MongoWireCommand {
|
|
121
|
+
readonly kind: "collMod";
|
|
122
|
+
readonly validator?: Record<string, unknown>;
|
|
123
|
+
readonly validationLevel?: 'strict' | 'moderate';
|
|
124
|
+
readonly validationAction?: 'error' | 'warn';
|
|
125
|
+
readonly changeStreamPreAndPostImages?: {
|
|
126
|
+
enabled: boolean;
|
|
127
|
+
};
|
|
128
|
+
constructor(collection: string, options: CollModOptions);
|
|
129
|
+
}
|
|
130
|
+
type AnyMongoDmlWireCommand = InsertOneWireCommand | InsertManyWireCommand | UpdateOneWireCommand | UpdateManyWireCommand | DeleteOneWireCommand | DeleteManyWireCommand | FindOneAndUpdateWireCommand | FindOneAndDeleteWireCommand | AggregateWireCommand;
|
|
131
|
+
type AnyMongoDdlWireCommand = CreateCollectionWireCommand | CreateIndexWireCommand | DropCollectionWireCommand | DropIndexWireCommand | CollModWireCommand;
|
|
132
|
+
type AnyMongoWireCommand = AnyMongoDmlWireCommand | AnyMongoDdlWireCommand;
|
|
133
|
+
declare function isDdlWireCommand(cmd: AnyMongoWireCommand): cmd is AnyMongoDdlWireCommand;
|
|
134
|
+
//#endregion
|
|
135
|
+
export { UpdateOneWireCommand as _, CollModWireCommand as a, DeleteManyWireCommand as c, DropIndexWireCommand as d, FindOneAndDeleteWireCommand as f, UpdateManyWireCommand as g, InsertOneWireCommand as h, AnyMongoWireCommand as i, DeleteOneWireCommand as l, InsertManyWireCommand as m, AnyMongoDdlWireCommand as n, CreateCollectionWireCommand as o, FindOneAndUpdateWireCommand as p, AnyMongoDmlWireCommand as r, CreateIndexWireCommand as s, AggregateWireCommand as t, DropCollectionWireCommand as u, isDdlWireCommand as v };
|
|
136
|
+
//# sourceMappingURL=index-BR0ue13b.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BR0ue13b.d.mts","names":[],"sources":["../../../../2-mongo-family/6-transport/mongo-wire/dist/index.d.mts"],"mappings":";;;;;;;uBAKuB;oBACH;WACT;YACC,YAAY;YACZ;;cAEE,6BAA6B;WAChC;WACA,UAAU;EACnB,YAAY,oBAAoB,UAAU;;cAE9B,6BAA6B;WAChC;WACA,QAAQ;WACR,QAAQ,WAAW,cAAc;WACjC;EACT,YAAY,oBAAoB,QAAQ,UAAU,QAAQ,WAAW,cAAc,WAAW;;cAElF,6BAA6B;WAChC;WACA,QAAQ;EACjB,YAAY,oBAAoB,QAAQ;;cAE5B,8BAA8B;WACjC;WACA,WAAW,cAAc;EAClC,YAAY,oBAAoB,WAAW,cAAc;;cAE7C,8BAA8B;WACjC;WACA,QAAQ;WACR,QAAQ,WAAW,cAAc;WACjC;EACT,YAAY,oBAAoB,QAAQ,UAAU,QAAQ,WAAW,cAAc,WAAW;;cAElF,8BAA8B;WACjC;WACA,QAAQ;EACjB,YAAY,oBAAoB,QAAQ;;cAE5B,oCAAoC;WACvC;WACA,QAAQ;WACR,QAAQ,WAAW,cAAc;WACjC;WACA,MAAM;;;;;WAKN;EACT,YAAY,oBAAoB,QAAQ,UAAU,QAAQ,WAAW,cAAc,WAAW,kBAAkB,OAAO,wBAAwB;;cAEnI,oCAAoC;WACvC;WACA,QAAQ;WACR,MAAM;EACf,YAAY,oBAAoB,QAAQ,UAAU,OAAO;;cAE7C,6BAA6B;WAChC;WACA,UAAU;EACnB,YAAY,oBAAoB,UAAU;;cAE9B,oCAAoC,4BAA4B;WACnE;WACA,YAAY;WACZ;WACA;WACA;WACA;WACA;WACA;IACP;IACA;IACA;;WAEO,YAAY;WACZ;IACP;;WAEO;IACP,KAAK;IACL;IACA;;EAEF,YAAY,oBAAoB,SAAS;;cAE7B,+BAA+B,4BAA4B;WAC9D;WACA,KAAK,eAAe;WACpB;WACA;WACA;WACA,0BAA0B;WAC1B;WACA,qBAAqB;WACrB,YAAY;WACZ,UAAU;WACV;WACA;EACT,YAAY,oBAAoB,KAAK,eAAe,yBAAyB,SAAS;;cAE1E,kCAAkC;WACrC;EACT,YAAY;;cAEA,6BAA6B;WAChC;WACA;EACT,YAAY,oBAAoB;;cAEpB,2BAA2B;WAC9B;WACA,YAAY;WACZ;WACA;WACA;IACP;;EAEF,YAAY,oBAAoB,SAAS;;KAEtC,yBAAyB,uBAAuB,wBAAwB,uBAAuB,wBAAwB,uBAAuB,wBAAwB,8BAA8B,8BAA8B;KAClO,yBAAyB,8BAA8B,yBAAyB,4BAA4B,uBAAuB;KACnI,sBAAsB,yBAAyB;iBACnC,iBAAiB,KAAK,sBAAsB,OAAO"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { C as MongoContract, T as MongoIndex, nt as MongoValueSet, rt as MongoValueSetInput, v as MongoCollection, y as MongoCollectionInput } from "./mongo-value-set-tNn9-pun-dJYx_rVD.mjs";
|
|
2
|
+
import { StorageHashBase } from "@prisma/orm-framework/contract/types";
|
|
3
|
+
import { Type } from "arktype";
|
|
4
|
+
import { DefaultNamespaceEntries, IRNodeBase, Namespace, NamespaceBase, NamespacedEntities, SingleNamespaceView, Storage } from "@prisma/orm-framework/components/ir";
|
|
5
|
+
//#region ../../../2-mongo-family/1-foundation/mongo-contract/dist/index.d.mts
|
|
6
|
+
//#region src/contract-schema.d.ts
|
|
7
|
+
declare const StorageValueSetSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
8
|
+
kind: "valueSet";
|
|
9
|
+
values: readonly (string | number | boolean | Record<string, unknown> | unknown[] | null)[];
|
|
10
|
+
}, {}>;
|
|
11
|
+
/**
|
|
12
|
+
* Builds the per-namespace envelope schema for Mongo storage. Pack
|
|
13
|
+
* contributions are keyed by the descriptor's `discriminator` and
|
|
14
|
+
* validate each entry by matching the entry's `kind` field. Mongo today
|
|
15
|
+
* has no pack contributions; the composition surface exists for symmetry
|
|
16
|
+
* with SQL and as the substrate for future entity kinds.
|
|
17
|
+
*
|
|
18
|
+
* `'kind?': 'string'` because `kind` is non-enumerable on built
|
|
19
|
+
* Mongo namespace IR classes and therefore absent from the wire shape; the
|
|
20
|
+
* type-side narrowing is enforced by the IR class, not by this validator.
|
|
21
|
+
*/
|
|
22
|
+
declare function createMongoNamespaceEnvelopeSchema(fragments?: ReadonlyMap<string, Type<unknown>>): Type<unknown>;
|
|
23
|
+
/**
|
|
24
|
+
* Builds the full Mongo contract schema. The per-namespace entry
|
|
25
|
+
* threading happens through {@link createMongoNamespaceEnvelopeSchema};
|
|
26
|
+
* the rest of the envelope is family-shared.
|
|
27
|
+
*/
|
|
28
|
+
declare function createMongoContractSchema(fragments?: ReadonlyMap<string, Type<unknown>>): Type<unknown>;
|
|
29
|
+
declare const MongoContractSchema: import("arktype").BaseType<unknown, {}>;
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/contract-view.d.ts
|
|
32
|
+
declare const MONGO_BUILTIN_KINDS: readonly ["collection"];
|
|
33
|
+
type MongoBuiltinKind = (typeof MONGO_BUILTIN_KINDS)[number];
|
|
34
|
+
type MongoEntries<TContract extends MongoContract> = DefaultNamespaceEntries<TContract['storage']>;
|
|
35
|
+
/**
|
|
36
|
+
* The Mongo accessors: the built-in `collection` kind promoted to a top-level
|
|
37
|
+
* accessor, pack-contributed kinds under `entries` (singular keys).
|
|
38
|
+
*/
|
|
39
|
+
type MongoContractAccessors<TContract extends MongoContract> = SingleNamespaceView<MongoEntries<TContract>, MongoBuiltinKind>;
|
|
40
|
+
/**
|
|
41
|
+
* A Mongo contract view: the deserialized contract intersected with the by-name
|
|
42
|
+
* accessors, so the value is substitutable for `Contract` (carries `storage`,
|
|
43
|
+
* `domain`, …) while also exposing:
|
|
44
|
+
* - `view.collection.<name>` — the built-in kind, sole namespace unwrapped to
|
|
45
|
+
* the root (Mongo is single-namespace).
|
|
46
|
+
* - `view.entries.<kind>` — pack-contributed kinds (singular keys).
|
|
47
|
+
* - `view.namespace.<id>` — the namespace-keyed entity map (Mongo's sole
|
|
48
|
+
* namespace is `__unbound__`). This mirrors the runtime `db.enums` pattern:
|
|
49
|
+
* a single fixed `namespace` member, collision-proof.
|
|
50
|
+
*
|
|
51
|
+
* The factory (`MongoContractView.from` / `.fromJson`) lives in
|
|
52
|
+
* `@internal/family-mongo/ir`, where the Mongo serializer is reachable; this
|
|
53
|
+
* package owns the serializer-agnostic projection type and builder.
|
|
54
|
+
*/
|
|
55
|
+
type MongoContractView<TContract extends MongoContract = MongoContract> = TContract & MongoContractAccessors<TContract> & {
|
|
56
|
+
readonly namespace: NamespacedEntities<TContract['storage'], MongoBuiltinKind>;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Builds the Mongo view: unwraps the sole namespace's built-in `collection` kind
|
|
60
|
+
* to the root, attaches the namespace-keyed `namespace` map, and layers both
|
|
61
|
+
* over the deserialized contract so the result is a structural superset of the
|
|
62
|
+
* contract.
|
|
63
|
+
*/
|
|
64
|
+
declare function buildMongoContractView<TContract extends MongoContract>(contract: TContract): MongoContractView<TContract>;
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/default-namespace.d.ts
|
|
67
|
+
/** Default storage namespace for Mongo-family contracts at runtime. */
|
|
68
|
+
declare const defaultMongoStorageNamespaceId: "__unbound__";
|
|
69
|
+
/** Default domain namespace for Mongo-family contracts at runtime. */
|
|
70
|
+
declare const defaultMongoDomainNamespaceId: "__unbound__";
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/ir/mongo-storage.d.ts
|
|
73
|
+
type MongoNamespaceEntries = Readonly<Record<string, Readonly<Record<string, unknown>>>> & {
|
|
74
|
+
readonly collection?: Readonly<Record<string, MongoCollection>>;
|
|
75
|
+
readonly valueSet?: Readonly<Record<string, MongoValueSet>>;
|
|
76
|
+
};
|
|
77
|
+
interface MongoNamespaceCollectionsInput {
|
|
78
|
+
readonly id: string;
|
|
79
|
+
readonly entries: Readonly<Record<string, Readonly<Record<string, unknown>>>> & {
|
|
80
|
+
readonly collection?: Readonly<Record<string, MongoCollectionInput>>;
|
|
81
|
+
readonly valueSet?: Readonly<Record<string, MongoValueSetInput>>;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
type MongoNamespace = Namespace & {
|
|
85
|
+
readonly entries: MongoNamespaceEntries;
|
|
86
|
+
};
|
|
87
|
+
interface MongoStorageInput<THash extends string = string> {
|
|
88
|
+
readonly storageHash: StorageHashBase<THash>;
|
|
89
|
+
readonly namespaces: Readonly<Record<string, MongoNamespace>>;
|
|
90
|
+
}
|
|
91
|
+
declare class MongoStorage<THash extends string = string> extends IRNodeBase implements Storage {
|
|
92
|
+
readonly kind: 'mongo-storage';
|
|
93
|
+
readonly storageHash: StorageHashBase<THash>;
|
|
94
|
+
readonly namespaces: Readonly<Record<string, MongoNamespace>>;
|
|
95
|
+
constructor(input: MongoStorageInput<THash>);
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/ir/build-mongo-namespace.d.ts
|
|
99
|
+
declare function buildMongoNamespace(input: MongoNamespaceCollectionsInput): MongoNamespace;
|
|
100
|
+
//#endregion
|
|
101
|
+
//#region src/ir/mongo-unbound-namespace.d.ts
|
|
102
|
+
declare class MongoUnboundNamespace extends NamespaceBase {
|
|
103
|
+
static readonly instance: MongoUnboundNamespace;
|
|
104
|
+
readonly id: "__unbound__";
|
|
105
|
+
readonly entries: MongoNamespaceEntries;
|
|
106
|
+
readonly kind: string;
|
|
107
|
+
private constructor();
|
|
108
|
+
}
|
|
109
|
+
//#endregion
|
|
110
|
+
//#region src/polymorphic-index-scope.d.ts
|
|
111
|
+
type PolymorphicIndexScope = {
|
|
112
|
+
readonly discriminatorField: string;
|
|
113
|
+
readonly discriminatorValue: string | number | boolean;
|
|
114
|
+
};
|
|
115
|
+
type ApplyScopeResult = {
|
|
116
|
+
readonly kind: 'ok';
|
|
117
|
+
readonly index: MongoIndex;
|
|
118
|
+
} | {
|
|
119
|
+
readonly kind: 'conflict';
|
|
120
|
+
readonly reason: string;
|
|
121
|
+
};
|
|
122
|
+
declare function applyPolymorphicScopeToMongoIndex(index: MongoIndex, scope: PolymorphicIndexScope): ApplyScopeResult;
|
|
123
|
+
//#endregion
|
|
124
|
+
//#region src/validate-storage.d.ts
|
|
125
|
+
declare function validateMongoStorage(contract: MongoContract): void;
|
|
126
|
+
//#endregion
|
|
127
|
+
export { defaultMongoDomainNamespaceId as _, MongoNamespace as a, MongoStorageInput as c, StorageValueSetSchema as d, applyPolymorphicScopeToMongoIndex as f, createMongoNamespaceEnvelopeSchema as g, createMongoContractSchema as h, MongoContractView as i, MongoUnboundNamespace as l, buildMongoNamespace as m, MongoContractAccessors as n, MongoNamespaceEntries as o, buildMongoContractView as p, MongoContractSchema as r, MongoStorage as s, ApplyScopeResult as t, PolymorphicIndexScope as u, defaultMongoStorageNamespaceId as v, validateMongoStorage as y };
|
|
128
|
+
//# sourceMappingURL=index-Cd2zLiU6.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Cd2zLiU6.d.mts","names":[],"sources":["../../../../2-mongo-family/1-foundation/mongo-contract/dist/index.d.mts"],"mappings":";;;;;;cAKc,qEAAqE;EACjF;EACA,8CAA8C;;;;;;;;;;;;;iBAa/B,mCAAmC,YAAY,oBAAoB,iBAAiB;;;;;;iBAMpF,0BAA0B,YAAY,oBAAoB,iBAAiB;cAC9E,uCAAuC;;;cAGvC;KACT,2BAA2B;KAC3B,aAAa,kBAAkB,iBAAiB,wBAAwB;;;;;KAKxE,uBAAuB,kBAAkB,iBAAiB,oBAAoB,aAAa,YAAY;;;;;;;;;;;;;;;;KAgBvG,kBAAkB,kBAAkB,gBAAgB,iBAAiB,YAAY,uBAAuB;WAClG,WAAW,mBAAmB,sBAAsB;;;;;;;;iBAQ9C,uBAAuB,kBAAkB,eAAe,UAAU,YAAY,kBAAkB;;;;cAInG;;cAEA;;;KAGT,wBAAwB,SAAS,eAAe,SAAS;WACnD,aAAa,SAAS,eAAe;WACrC,WAAW,SAAS,eAAe;;UAEpC;WACC;WACA,SAAS,SAAS,eAAe,SAAS;aACxC,aAAa,SAAS,eAAe;aACrC,WAAW,SAAS,eAAe;;;KAG3C,iBAAiB;WACX,SAAS;;UAEV,kBAAkB;WACjB,aAAa,gBAAgB;WAC7B,YAAY,SAAS,eAAe;;cAEjC,aAAa,uCAAuC,sBAAsB;WAC7E;WACA,aAAa,gBAAgB;WAC7B,YAAY,SAAS,eAAe;EAC7C,YAAY,OAAO,kBAAkB;;;;iBAItB,oBAAoB,OAAO,iCAAiC;;;cAG/D,8BAA8B;kBAC1B,UAAU;WACjB;WACA,SAAS;WACT;UACD;;;;KAIL;WACM;WACA;;KAEN;WACM;WACA,OAAO;;WAEP;WACA;;iBAEM,kCAAkC,OAAO,YAAY,OAAO,wBAAwB;;;iBAGpF,qBAAqB,UAAU"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { rt as MongoQueryPlan } from "./query-plan-C0-Yu8hf-DdilEdW6.mjs";
|
|
2
|
+
import { t as AnyMongoDdlCommand } from "./control-C7-kthr1.mjs";
|
|
3
|
+
import "./execution-CKnUiOfm.mjs";
|
|
4
|
+
import { i as AnyMongoWireCommand, n as AnyMongoDdlWireCommand, r as AnyMongoDmlWireCommand } from "./index-BR0ue13b.mjs";
|
|
5
|
+
import { ControlDriverInstance } from "@prisma/orm-framework/components/control";
|
|
6
|
+
import { CodecCallContext } from "@prisma/orm-framework/components/codec";
|
|
7
|
+
import { Db } from "mongodb";
|
|
8
|
+
//#region ../../../2-mongo-family/6-transport/mongo-lowering/dist/index.d.mts
|
|
9
|
+
//#region src/adapter-types.d.ts
|
|
10
|
+
/**
|
|
11
|
+
* Intermediate state produced by structural lowering. `MongoParamRef` leaves
|
|
12
|
+
* remain in place — they have not yet been resolved through codecs. The
|
|
13
|
+
* runtime defers value resolution past the `beforeExecute` middleware chain
|
|
14
|
+
* so middleware can walk and rewrite `MongoParamRef` nodes before encoding.
|
|
15
|
+
*
|
|
16
|
+
* All document/filter/update slots that may carry `MongoParamRef` nodes are
|
|
17
|
+
* typed as `Record<string, unknown>` to allow heterogeneous values. Raw
|
|
18
|
+
* command variants carry already-resolved `Record<string, unknown>` values
|
|
19
|
+
* and pass through unchanged.
|
|
20
|
+
*/
|
|
21
|
+
type MongoLoweredDraft = {
|
|
22
|
+
readonly kind: 'insertOne';
|
|
23
|
+
readonly collection: string;
|
|
24
|
+
readonly document: Record<string, unknown>;
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: 'insertMany';
|
|
27
|
+
readonly collection: string;
|
|
28
|
+
readonly documents: ReadonlyArray<Record<string, unknown>>;
|
|
29
|
+
} | {
|
|
30
|
+
readonly kind: 'updateOne';
|
|
31
|
+
readonly collection: string;
|
|
32
|
+
readonly filter: Record<string, unknown>;
|
|
33
|
+
readonly update: Record<string, unknown> | ReadonlyArray<Record<string, unknown>>;
|
|
34
|
+
readonly upsert: boolean | undefined;
|
|
35
|
+
} | {
|
|
36
|
+
readonly kind: 'updateMany';
|
|
37
|
+
readonly collection: string;
|
|
38
|
+
readonly filter: Record<string, unknown>;
|
|
39
|
+
readonly update: Record<string, unknown> | ReadonlyArray<Record<string, unknown>>;
|
|
40
|
+
readonly upsert: boolean | undefined;
|
|
41
|
+
} | {
|
|
42
|
+
readonly kind: 'deleteOne';
|
|
43
|
+
readonly collection: string;
|
|
44
|
+
readonly filter: Record<string, unknown>;
|
|
45
|
+
} | {
|
|
46
|
+
readonly kind: 'deleteMany';
|
|
47
|
+
readonly collection: string;
|
|
48
|
+
readonly filter: Record<string, unknown>;
|
|
49
|
+
} | {
|
|
50
|
+
readonly kind: 'findOneAndUpdate';
|
|
51
|
+
readonly collection: string;
|
|
52
|
+
readonly filter: Record<string, unknown>;
|
|
53
|
+
readonly update: Record<string, unknown> | ReadonlyArray<Record<string, unknown>>;
|
|
54
|
+
readonly upsert: boolean | undefined;
|
|
55
|
+
readonly sort: Record<string, 1 | -1> | undefined;
|
|
56
|
+
readonly returnDocument: 'before' | 'after' | undefined;
|
|
57
|
+
} | {
|
|
58
|
+
readonly kind: 'findOneAndDelete';
|
|
59
|
+
readonly collection: string;
|
|
60
|
+
readonly filter: Record<string, unknown>;
|
|
61
|
+
readonly sort: Record<string, 1 | -1> | undefined;
|
|
62
|
+
} | {
|
|
63
|
+
readonly kind: 'aggregate';
|
|
64
|
+
readonly collection: string;
|
|
65
|
+
readonly pipeline: ReadonlyArray<Record<string, unknown>>;
|
|
66
|
+
} | {
|
|
67
|
+
readonly kind: 'rawInsertOne';
|
|
68
|
+
readonly collection: string;
|
|
69
|
+
readonly document: Record<string, unknown>;
|
|
70
|
+
} | {
|
|
71
|
+
readonly kind: 'rawInsertMany';
|
|
72
|
+
readonly collection: string;
|
|
73
|
+
readonly documents: ReadonlyArray<Record<string, unknown>>;
|
|
74
|
+
} | {
|
|
75
|
+
readonly kind: 'rawUpdateOne';
|
|
76
|
+
readonly collection: string;
|
|
77
|
+
readonly filter: Record<string, unknown>;
|
|
78
|
+
readonly update: Record<string, unknown> | ReadonlyArray<Record<string, unknown>>;
|
|
79
|
+
} | {
|
|
80
|
+
readonly kind: 'rawUpdateMany';
|
|
81
|
+
readonly collection: string;
|
|
82
|
+
readonly filter: Record<string, unknown>;
|
|
83
|
+
readonly update: Record<string, unknown> | ReadonlyArray<Record<string, unknown>>;
|
|
84
|
+
} | {
|
|
85
|
+
readonly kind: 'rawDeleteOne';
|
|
86
|
+
readonly collection: string;
|
|
87
|
+
readonly filter: Record<string, unknown>;
|
|
88
|
+
} | {
|
|
89
|
+
readonly kind: 'rawDeleteMany';
|
|
90
|
+
readonly collection: string;
|
|
91
|
+
readonly filter: Record<string, unknown>;
|
|
92
|
+
} | {
|
|
93
|
+
readonly kind: 'rawFindOneAndUpdate';
|
|
94
|
+
readonly collection: string;
|
|
95
|
+
readonly filter: Record<string, unknown>;
|
|
96
|
+
readonly update: Record<string, unknown> | ReadonlyArray<Record<string, unknown>>;
|
|
97
|
+
readonly upsert: boolean;
|
|
98
|
+
readonly sort: Record<string, 1 | -1> | undefined;
|
|
99
|
+
readonly returnDocument: 'before' | 'after' | undefined;
|
|
100
|
+
} | {
|
|
101
|
+
readonly kind: 'rawFindOneAndDelete';
|
|
102
|
+
readonly collection: string;
|
|
103
|
+
readonly filter: Record<string, unknown>;
|
|
104
|
+
readonly sort: Record<string, 1 | -1> | undefined;
|
|
105
|
+
} | {
|
|
106
|
+
readonly kind: 'rawAggregate';
|
|
107
|
+
readonly collection: string;
|
|
108
|
+
readonly pipeline: ReadonlyArray<Record<string, unknown>>;
|
|
109
|
+
};
|
|
110
|
+
/** Wraps a DDL command for passage to `MongoAdapter.lower`. */
|
|
111
|
+
interface MongoDdlPlan {
|
|
112
|
+
readonly command: AnyMongoDdlCommand;
|
|
113
|
+
}
|
|
114
|
+
interface MongoAdapter {
|
|
115
|
+
lower(plan: MongoDdlPlan, ctx: CodecCallContext): Promise<AnyMongoDdlWireCommand>;
|
|
116
|
+
lower(plan: MongoQueryPlan, ctx: CodecCallContext): Promise<AnyMongoDmlWireCommand>;
|
|
117
|
+
lower(plan: MongoQueryPlan | MongoDdlPlan, ctx: CodecCallContext): Promise<AnyMongoWireCommand>;
|
|
118
|
+
/**
|
|
119
|
+
* Phase 1 of the two-phase lowering pipeline (DML only).
|
|
120
|
+
*
|
|
121
|
+
* Transforms the plan's command AST into the lowered wire shape **without**
|
|
122
|
+
* calling `resolveValue` on any `MongoParamRef` leaf. All filter predicates,
|
|
123
|
+
* document fields, and pipeline stage values that carry `MongoParamRef`
|
|
124
|
+
* nodes are preserved in the returned `MongoLoweredDraft` so that the
|
|
125
|
+
* `beforeExecute` middleware chain can inspect and rewrite them before
|
|
126
|
+
* encoding runs. Synchronous — no I/O or codec calls.
|
|
127
|
+
*/
|
|
128
|
+
structuralLower(plan: MongoQueryPlan): MongoLoweredDraft;
|
|
129
|
+
/**
|
|
130
|
+
* Phase 2 of the two-phase lowering pipeline.
|
|
131
|
+
*
|
|
132
|
+
* Walks the `MongoLoweredDraft` produced by `structuralLower`, resolves
|
|
133
|
+
* every `MongoParamRef` leaf through the codec registry, and constructs the
|
|
134
|
+
* frozen `AnyMongoWireCommand` ready for the driver. The same abort-signal
|
|
135
|
+
* forwarding and `RUNTIME.ABORTED` surface contract as `lower` applies.
|
|
136
|
+
*/
|
|
137
|
+
resolveParams(draft: MongoLoweredDraft, ctx: CodecCallContext): Promise<AnyMongoDmlWireCommand>;
|
|
138
|
+
}
|
|
139
|
+
//#endregion
|
|
140
|
+
//#region src/driver-types.d.ts
|
|
141
|
+
interface MongoDriver {
|
|
142
|
+
execute<Row>(wireCommand: AnyMongoDmlWireCommand): AsyncIterable<Row>;
|
|
143
|
+
run(wireCommand: AnyMongoDdlWireCommand): Promise<void>;
|
|
144
|
+
close(): Promise<void>;
|
|
145
|
+
}
|
|
146
|
+
interface MongoControlDriverInstance extends ControlDriverInstance<'mongo', 'mongo'>, MongoDriver {
|
|
147
|
+
readonly db: Db;
|
|
148
|
+
}
|
|
149
|
+
//#endregion
|
|
150
|
+
export { MongoLoweredDraft as a, MongoDriver as i, MongoControlDriverInstance as n, MongoDdlPlan as r, MongoAdapter as t };
|
|
151
|
+
//# sourceMappingURL=index-DAOkcTCK.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DAOkcTCK.d.mts","names":[],"sources":["../../../../2-mongo-family/6-transport/mongo-lowering/dist/index.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;;;KAkBK;WACM;WACA;WACA,UAAU;;WAEV;WACA;WACA,WAAW,cAAc;;WAEzB;WACA;WACA,QAAQ;WACR,QAAQ,0BAA0B,cAAc;WAChD;;WAEA;WACA;WACA,QAAQ;WACR,QAAQ,0BAA0B,cAAc;WAChD;;WAEA;WACA;WACA,QAAQ;;WAER;WACA;WACA,QAAQ;;WAER;WACA;WACA,QAAQ;WACR,QAAQ,0BAA0B,cAAc;WAChD;WACA,MAAM;WACN;;WAEA;WACA;WACA,QAAQ;WACR,MAAM;;WAEN;WACA;WACA,UAAU,cAAc;;WAExB;WACA;WACA,UAAU;;WAEV;WACA;WACA,WAAW,cAAc;;WAEzB;WACA;WACA,QAAQ;WACR,QAAQ,0BAA0B,cAAc;;WAEhD;WACA;WACA,QAAQ;WACR,QAAQ,0BAA0B,cAAc;;WAEhD;WACA;WACA,QAAQ;;WAER;WACA;WACA,QAAQ;;WAER;WACA;WACA,QAAQ;WACR,QAAQ,0BAA0B,cAAc;WAChD;WACA,MAAM;WACN;;WAEA;WACA;WACA,QAAQ;WACR,MAAM;;WAEN;WACA;WACA,UAAU,cAAc;;;UAGzB;WACC,SAAS;;UAEV;EACR,MAAM,MAAM,cAAc,KAAK,mBAAmB,QAAQ;EAC1D,MAAM,MAAM,gBAAgB,KAAK,mBAAmB,QAAQ;EAC5D,MAAM,MAAM,iBAAiB,cAAc,KAAK,mBAAmB,QAAQ;;;;;;;;;;;EAW3E,gBAAgB,MAAM,iBAAiB;;;;;;;;;EASvC,cAAc,OAAO,mBAAmB,KAAK,mBAAmB,QAAQ;;;;UAIhE;EACR,QAAQ,KAAK,aAAa,yBAAyB,cAAc;EACjE,IAAI,aAAa,yBAAyB;EAC1C,SAAS;;UAED,mCAAmC,yCAAyC;WAC3E,IAAI"}
|