@prisma-next/mongo-lowering 0.13.0-dev.30 → 0.13.0-dev.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +14 -12
- package/dist/index.d.mts.map +1 -1
- package/package.json +6 -6
- package/src/adapter-types.ts +16 -10
- package/src/driver-types.ts +3 -2
- package/src/exports/index.ts +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CodecCallContext } from "@prisma-next/framework-components/codec";
|
|
2
|
+
import { AnyMongoDdlCommand } from "@prisma-next/mongo-query-ast/control";
|
|
2
3
|
import { MongoQueryPlan } from "@prisma-next/mongo-query-ast/execution";
|
|
3
|
-
import { AnyMongoWireCommand } from "@prisma-next/mongo-wire";
|
|
4
|
+
import { AnyMongoDdlWireCommand, AnyMongoDmlWireCommand, AnyMongoWireCommand } from "@prisma-next/mongo-wire";
|
|
4
5
|
import { ControlDriverInstance } from "@prisma-next/framework-components/control";
|
|
5
6
|
import { Db } from "mongodb";
|
|
6
7
|
|
|
@@ -105,16 +106,16 @@ type MongoLoweredDraft = {
|
|
|
105
106
|
readonly collection: string;
|
|
106
107
|
readonly pipeline: ReadonlyArray<Record<string, unknown>>;
|
|
107
108
|
};
|
|
109
|
+
/** Wraps a DDL command for passage to `MongoAdapter.lower`. */
|
|
110
|
+
interface MongoDdlPlan {
|
|
111
|
+
readonly command: AnyMongoDdlCommand;
|
|
112
|
+
}
|
|
108
113
|
interface MongoAdapter {
|
|
114
|
+
lower(plan: MongoDdlPlan, ctx: CodecCallContext): Promise<AnyMongoDdlWireCommand>;
|
|
115
|
+
lower(plan: MongoQueryPlan, ctx: CodecCallContext): Promise<AnyMongoDmlWireCommand>;
|
|
116
|
+
lower(plan: MongoQueryPlan | MongoDdlPlan, ctx: CodecCallContext): Promise<AnyMongoWireCommand>;
|
|
109
117
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
* Equivalent to `resolveParams(structuralLower(plan), ctx)`. Preserved for
|
|
113
|
-
* callers that do not need the two-phase split.
|
|
114
|
-
*/
|
|
115
|
-
lower(plan: MongoQueryPlan, ctx: CodecCallContext): Promise<AnyMongoWireCommand>;
|
|
116
|
-
/**
|
|
117
|
-
* Phase 1 of the two-phase lowering pipeline.
|
|
118
|
+
* Phase 1 of the two-phase lowering pipeline (DML only).
|
|
118
119
|
*
|
|
119
120
|
* Transforms the plan's command AST into the lowered wire shape **without**
|
|
120
121
|
* calling `resolveValue` on any `MongoParamRef` leaf. All filter predicates,
|
|
@@ -132,17 +133,18 @@ interface MongoAdapter {
|
|
|
132
133
|
* frozen `AnyMongoWireCommand` ready for the driver. The same abort-signal
|
|
133
134
|
* forwarding and `RUNTIME.ABORTED` surface contract as `lower` applies.
|
|
134
135
|
*/
|
|
135
|
-
resolveParams(draft: MongoLoweredDraft, ctx: CodecCallContext): Promise<
|
|
136
|
+
resolveParams(draft: MongoLoweredDraft, ctx: CodecCallContext): Promise<AnyMongoDmlWireCommand>;
|
|
136
137
|
}
|
|
137
138
|
//#endregion
|
|
138
139
|
//#region src/driver-types.d.ts
|
|
139
140
|
interface MongoDriver {
|
|
140
|
-
execute<Row>(wireCommand:
|
|
141
|
+
execute<Row>(wireCommand: AnyMongoDmlWireCommand): AsyncIterable<Row>;
|
|
142
|
+
run(wireCommand: AnyMongoDdlWireCommand): Promise<void>;
|
|
141
143
|
close(): Promise<void>;
|
|
142
144
|
}
|
|
143
145
|
interface MongoControlDriverInstance extends ControlDriverInstance<'mongo', 'mongo'>, MongoDriver {
|
|
144
146
|
readonly db: Db;
|
|
145
147
|
}
|
|
146
148
|
//#endregion
|
|
147
|
-
export type { MongoAdapter, MongoControlDriverInstance, MongoDriver, MongoLoweredDraft };
|
|
149
|
+
export type { MongoAdapter, MongoControlDriverInstance, MongoDdlPlan, MongoDriver, MongoLoweredDraft };
|
|
148
150
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/adapter-types.ts","../src/driver-types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/adapter-types.ts","../src/driver-types.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-next/mongo-lowering",
|
|
3
|
-
"version": "0.13.0-dev.
|
|
3
|
+
"version": "0.13.0-dev.32",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"description": "Adapter and driver interfaces for Prisma Next MongoDB lowering",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@prisma-next/framework-components": "0.13.0-dev.
|
|
10
|
-
"@prisma-next/mongo-query-ast": "0.13.0-dev.
|
|
11
|
-
"@prisma-next/mongo-wire": "0.13.0-dev.
|
|
9
|
+
"@prisma-next/framework-components": "0.13.0-dev.32",
|
|
10
|
+
"@prisma-next/mongo-query-ast": "0.13.0-dev.32",
|
|
11
|
+
"@prisma-next/mongo-wire": "0.13.0-dev.32"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"mongodb": "^7.2.0",
|
|
15
|
-
"@prisma-next/tsconfig": "0.13.0-dev.
|
|
16
|
-
"@prisma-next/tsdown": "0.13.0-dev.
|
|
15
|
+
"@prisma-next/tsconfig": "0.13.0-dev.32",
|
|
16
|
+
"@prisma-next/tsdown": "0.13.0-dev.32",
|
|
17
17
|
"tsdown": "0.22.1",
|
|
18
18
|
"typescript": "5.9.3",
|
|
19
19
|
"vitest": "4.1.8"
|
package/src/adapter-types.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { CodecCallContext } from '@prisma-next/framework-components/codec';
|
|
2
|
+
import type { AnyMongoDdlCommand } from '@prisma-next/mongo-query-ast/control';
|
|
2
3
|
import type { MongoQueryPlan } from '@prisma-next/mongo-query-ast/execution';
|
|
3
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
AnyMongoDdlWireCommand,
|
|
6
|
+
AnyMongoDmlWireCommand,
|
|
7
|
+
AnyMongoWireCommand,
|
|
8
|
+
} from '@prisma-next/mongo-wire';
|
|
4
9
|
|
|
5
10
|
/**
|
|
6
11
|
* Intermediate state produced by structural lowering. `MongoParamRef` leaves
|
|
@@ -121,17 +126,18 @@ export type MongoLoweredDraft =
|
|
|
121
126
|
readonly pipeline: ReadonlyArray<Record<string, unknown>>;
|
|
122
127
|
};
|
|
123
128
|
|
|
129
|
+
/** Wraps a DDL command for passage to `MongoAdapter.lower`. */
|
|
130
|
+
export interface MongoDdlPlan {
|
|
131
|
+
readonly command: AnyMongoDdlCommand;
|
|
132
|
+
}
|
|
133
|
+
|
|
124
134
|
export interface MongoAdapter {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
* Equivalent to `resolveParams(structuralLower(plan), ctx)`. Preserved for
|
|
129
|
-
* callers that do not need the two-phase split.
|
|
130
|
-
*/
|
|
131
|
-
lower(plan: MongoQueryPlan, ctx: CodecCallContext): Promise<AnyMongoWireCommand>;
|
|
135
|
+
lower(plan: MongoDdlPlan, ctx: CodecCallContext): Promise<AnyMongoDdlWireCommand>;
|
|
136
|
+
lower(plan: MongoQueryPlan, ctx: CodecCallContext): Promise<AnyMongoDmlWireCommand>;
|
|
137
|
+
lower(plan: MongoQueryPlan | MongoDdlPlan, ctx: CodecCallContext): Promise<AnyMongoWireCommand>;
|
|
132
138
|
|
|
133
139
|
/**
|
|
134
|
-
* Phase 1 of the two-phase lowering pipeline.
|
|
140
|
+
* Phase 1 of the two-phase lowering pipeline (DML only).
|
|
135
141
|
*
|
|
136
142
|
* Transforms the plan's command AST into the lowered wire shape **without**
|
|
137
143
|
* calling `resolveValue` on any `MongoParamRef` leaf. All filter predicates,
|
|
@@ -150,5 +156,5 @@ export interface MongoAdapter {
|
|
|
150
156
|
* frozen `AnyMongoWireCommand` ready for the driver. The same abort-signal
|
|
151
157
|
* forwarding and `RUNTIME.ABORTED` surface contract as `lower` applies.
|
|
152
158
|
*/
|
|
153
|
-
resolveParams(draft: MongoLoweredDraft, ctx: CodecCallContext): Promise<
|
|
159
|
+
resolveParams(draft: MongoLoweredDraft, ctx: CodecCallContext): Promise<AnyMongoDmlWireCommand>;
|
|
154
160
|
}
|
package/src/driver-types.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { ControlDriverInstance } from '@prisma-next/framework-components/control';
|
|
2
|
-
import type {
|
|
2
|
+
import type { AnyMongoDdlWireCommand, AnyMongoDmlWireCommand } from '@prisma-next/mongo-wire';
|
|
3
3
|
import type { Db } from 'mongodb';
|
|
4
4
|
|
|
5
5
|
export interface MongoDriver {
|
|
6
|
-
execute<Row>(wireCommand:
|
|
6
|
+
execute<Row>(wireCommand: AnyMongoDmlWireCommand): AsyncIterable<Row>;
|
|
7
|
+
run(wireCommand: AnyMongoDdlWireCommand): Promise<void>;
|
|
7
8
|
close(): Promise<void>;
|
|
8
9
|
}
|
|
9
10
|
|
package/src/exports/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { MongoAdapter, MongoLoweredDraft } from '../adapter-types';
|
|
1
|
+
export type { MongoAdapter, MongoDdlPlan, MongoLoweredDraft } from '../adapter-types';
|
|
2
2
|
export type { MongoControlDriverInstance, MongoDriver } from '../driver-types';
|