@prisma/client-engine-runtime 6.8.0-dev.34 → 6.8.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/dist/QueryPlan.d.ts +12 -0
- package/dist/index.d.mts +12 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +18 -5
- package/dist/index.mjs +18 -5
- package/dist/interpreter/validation.d.ts +1 -0
- package/package.json +3 -3
package/dist/QueryPlan.d.ts
CHANGED
|
@@ -152,6 +152,16 @@ export type QueryPlanNode = {
|
|
|
152
152
|
expr: QueryPlanNode;
|
|
153
153
|
rules: DataRule[];
|
|
154
154
|
} & ValidationError;
|
|
155
|
+
} | {
|
|
156
|
+
type: 'if';
|
|
157
|
+
args: {
|
|
158
|
+
value: QueryPlanNode;
|
|
159
|
+
rule: DataRule;
|
|
160
|
+
then: QueryPlanNode;
|
|
161
|
+
else: QueryPlanNode;
|
|
162
|
+
};
|
|
163
|
+
} | {
|
|
164
|
+
type: 'unit';
|
|
155
165
|
};
|
|
156
166
|
export type DataRule = {
|
|
157
167
|
type: 'rowCountEq';
|
|
@@ -159,6 +169,8 @@ export type DataRule = {
|
|
|
159
169
|
} | {
|
|
160
170
|
type: 'rowCountNeq';
|
|
161
171
|
args: number;
|
|
172
|
+
} | {
|
|
173
|
+
type: 'never';
|
|
162
174
|
};
|
|
163
175
|
export type ValidationError = {
|
|
164
176
|
error_identifier: 'RELATION_VIOLATION';
|
package/dist/index.d.mts
CHANGED
|
@@ -13,6 +13,8 @@ export declare type DataRule = {
|
|
|
13
13
|
} | {
|
|
14
14
|
type: 'rowCountNeq';
|
|
15
15
|
args: number;
|
|
16
|
+
} | {
|
|
17
|
+
type: 'never';
|
|
16
18
|
};
|
|
17
19
|
|
|
18
20
|
declare type ExtendedSpanOptions = SpanOptions & {
|
|
@@ -215,6 +217,16 @@ export declare type QueryPlanNode = {
|
|
|
215
217
|
expr: QueryPlanNode;
|
|
216
218
|
rules: DataRule[];
|
|
217
219
|
} & ValidationError;
|
|
220
|
+
} | {
|
|
221
|
+
type: 'if';
|
|
222
|
+
args: {
|
|
223
|
+
value: QueryPlanNode;
|
|
224
|
+
rule: DataRule;
|
|
225
|
+
then: QueryPlanNode;
|
|
226
|
+
else: QueryPlanNode;
|
|
227
|
+
};
|
|
228
|
+
} | {
|
|
229
|
+
type: 'unit';
|
|
218
230
|
};
|
|
219
231
|
|
|
220
232
|
export declare type ResultNode = {
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export declare type DataRule = {
|
|
|
13
13
|
} | {
|
|
14
14
|
type: 'rowCountNeq';
|
|
15
15
|
args: number;
|
|
16
|
+
} | {
|
|
17
|
+
type: 'never';
|
|
16
18
|
};
|
|
17
19
|
|
|
18
20
|
declare type ExtendedSpanOptions = SpanOptions & {
|
|
@@ -215,6 +217,16 @@ export declare type QueryPlanNode = {
|
|
|
215
217
|
expr: QueryPlanNode;
|
|
216
218
|
rules: DataRule[];
|
|
217
219
|
} & ValidationError;
|
|
220
|
+
} | {
|
|
221
|
+
type: 'if';
|
|
222
|
+
args: {
|
|
223
|
+
value: QueryPlanNode;
|
|
224
|
+
rule: DataRule;
|
|
225
|
+
then: QueryPlanNode;
|
|
226
|
+
else: QueryPlanNode;
|
|
227
|
+
};
|
|
228
|
+
} | {
|
|
229
|
+
type: 'unit';
|
|
218
230
|
};
|
|
219
231
|
|
|
220
232
|
export declare type ResultNode = {
|
package/dist/index.js
CHANGED
|
@@ -594,6 +594,10 @@ function doesSatisfyRule(data, rule) {
|
|
|
594
594
|
return rule.args !== 0;
|
|
595
595
|
}
|
|
596
596
|
return rule.args !== 1;
|
|
597
|
+
case "never":
|
|
598
|
+
return false;
|
|
599
|
+
default:
|
|
600
|
+
assertNever(rule, `Unknown rule type: ${rule.type}`);
|
|
597
601
|
}
|
|
598
602
|
}
|
|
599
603
|
function renderMessage(data, error) {
|
|
@@ -669,11 +673,9 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
669
673
|
}
|
|
670
674
|
case "let": {
|
|
671
675
|
const nestedScope = Object.create(scope);
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
})
|
|
676
|
-
);
|
|
676
|
+
for (const binding of node.args.bindings) {
|
|
677
|
+
nestedScope[binding.name] = await this.interpretNode(binding.expr, queryable, nestedScope, generators);
|
|
678
|
+
}
|
|
677
679
|
return this.interpretNode(node.args.expr, queryable, nestedScope, generators);
|
|
678
680
|
}
|
|
679
681
|
case "getFirstNonEmpty": {
|
|
@@ -771,6 +773,17 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
771
773
|
performValidation(data, node.args.rules, node.args);
|
|
772
774
|
return data;
|
|
773
775
|
}
|
|
776
|
+
case "if": {
|
|
777
|
+
const value = await this.interpretNode(node.args.value, queryable, scope, generators);
|
|
778
|
+
if (doesSatisfyRule(value, node.args.rule)) {
|
|
779
|
+
return await this.interpretNode(node.args.then, queryable, scope, generators);
|
|
780
|
+
} else {
|
|
781
|
+
return await this.interpretNode(node.args.else, queryable, scope, generators);
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
case "unit": {
|
|
785
|
+
return void 0;
|
|
786
|
+
}
|
|
774
787
|
default:
|
|
775
788
|
assertNever(node, `Unexpected node type: ${node.type}`);
|
|
776
789
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -551,6 +551,10 @@ function doesSatisfyRule(data, rule) {
|
|
|
551
551
|
return rule.args !== 0;
|
|
552
552
|
}
|
|
553
553
|
return rule.args !== 1;
|
|
554
|
+
case "never":
|
|
555
|
+
return false;
|
|
556
|
+
default:
|
|
557
|
+
assertNever(rule, `Unknown rule type: ${rule.type}`);
|
|
554
558
|
}
|
|
555
559
|
}
|
|
556
560
|
function renderMessage(data, error) {
|
|
@@ -626,11 +630,9 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
626
630
|
}
|
|
627
631
|
case "let": {
|
|
628
632
|
const nestedScope = Object.create(scope);
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
})
|
|
633
|
-
);
|
|
633
|
+
for (const binding of node.args.bindings) {
|
|
634
|
+
nestedScope[binding.name] = await this.interpretNode(binding.expr, queryable, nestedScope, generators);
|
|
635
|
+
}
|
|
634
636
|
return this.interpretNode(node.args.expr, queryable, nestedScope, generators);
|
|
635
637
|
}
|
|
636
638
|
case "getFirstNonEmpty": {
|
|
@@ -728,6 +730,17 @@ var QueryInterpreter = class _QueryInterpreter {
|
|
|
728
730
|
performValidation(data, node.args.rules, node.args);
|
|
729
731
|
return data;
|
|
730
732
|
}
|
|
733
|
+
case "if": {
|
|
734
|
+
const value = await this.interpretNode(node.args.value, queryable, scope, generators);
|
|
735
|
+
if (doesSatisfyRule(value, node.args.rule)) {
|
|
736
|
+
return await this.interpretNode(node.args.then, queryable, scope, generators);
|
|
737
|
+
} else {
|
|
738
|
+
return await this.interpretNode(node.args.else, queryable, scope, generators);
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
case "unit": {
|
|
742
|
+
return void 0;
|
|
743
|
+
}
|
|
731
744
|
default:
|
|
732
745
|
assertNever(node, `Unexpected node type: ${node.type}`);
|
|
733
746
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/client-engine-runtime",
|
|
3
|
-
"version": "6.8.0-dev.
|
|
3
|
+
"version": "6.8.0-dev.36",
|
|
4
4
|
"description": "This package is intended for Prisma's internal use",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"nanoid": "5.1.5",
|
|
32
32
|
"ulid": "3.0.0",
|
|
33
33
|
"uuid": "11.1.0",
|
|
34
|
-
"@prisma/driver-adapter-utils": "6.8.0-dev.
|
|
35
|
-
"@prisma/debug": "6.8.0-dev.
|
|
34
|
+
"@prisma/driver-adapter-utils": "6.8.0-dev.36",
|
|
35
|
+
"@prisma/debug": "6.8.0-dev.36"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/jest": "29.5.14",
|