@vibeorm/runtime 2.3.1 → 2.4.0
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-kit/index.d.ts +2 -2
- package/dist/adapter-kit/index.d.ts.map +1 -1
- package/dist/adapter-kit/index.js +92 -16
- package/dist/adapter-kit/index.js.map +5 -5
- package/dist/adapter-kit/savepoint-gate.d.ts +61 -0
- package/dist/adapter-kit/savepoint-gate.d.ts.map +1 -1
- package/dist/adapter-kit/session.d.ts +9 -0
- package/dist/adapter-kit/session.d.ts.map +1 -1
- package/dist/adapter-kit/sqlite-session.d.ts.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/index.js +73 -43
- package/dist/index.js.map +4 -4
- package/dist/strict-args.d.ts +10 -0
- package/dist/strict-args.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -12057,32 +12057,63 @@ function isPlainObject9(value) {
|
|
|
12057
12057
|
const proto = Object.getPrototypeOf(value);
|
|
12058
12058
|
return proto === Object.prototype || proto === null;
|
|
12059
12059
|
}
|
|
12060
|
-
|
|
12061
|
-
|
|
12062
|
-
|
|
12063
|
-
|
|
12064
|
-
|
|
12065
|
-
|
|
12066
|
-
|
|
12067
|
-
|
|
12068
|
-
|
|
12069
|
-
}
|
|
12060
|
+
var STRUCTURAL_KEYWORDS = Object.freeze({
|
|
12061
|
+
where: { level: "fields", filter: true },
|
|
12062
|
+
having: { level: "fields", filter: true },
|
|
12063
|
+
some: { level: "fields", filter: true },
|
|
12064
|
+
every: { level: "fields", filter: true },
|
|
12065
|
+
none: { level: "fields", filter: true },
|
|
12066
|
+
is: { level: "fields", filter: true },
|
|
12067
|
+
isNot: { level: "fields", filter: true },
|
|
12068
|
+
deleteMany: { level: "fields", filter: true },
|
|
12069
|
+
data: { level: "fields", filter: false },
|
|
12070
|
+
create: { level: "fields", filter: false },
|
|
12071
|
+
set: { level: "fields", filter: false },
|
|
12072
|
+
connect: { level: "fields", filter: false },
|
|
12073
|
+
disconnect: { level: "fields", filter: false },
|
|
12074
|
+
delete: { level: "fields", filter: false },
|
|
12075
|
+
cursor: { level: "fields", filter: false },
|
|
12076
|
+
select: { level: "fields", filter: "inherit" },
|
|
12077
|
+
include: { level: "fields", filter: "inherit" },
|
|
12078
|
+
omit: { level: "fields", filter: "inherit" },
|
|
12079
|
+
orderBy: { level: "fields", filter: "inherit" },
|
|
12080
|
+
connectOrCreate: { level: "structural", filter: "inherit" },
|
|
12081
|
+
upsert: { level: "structural", filter: "inherit" },
|
|
12082
|
+
createMany: { level: "structural", filter: "inherit" },
|
|
12083
|
+
updateMany: { level: "structural", filter: "inherit" },
|
|
12084
|
+
_count: { level: "structural", filter: "inherit" },
|
|
12085
|
+
update: { level: "structural", filter: false }
|
|
12086
|
+
});
|
|
12087
|
+
var LOGICAL_KEYS = new Set(["AND", "OR", "NOT"]);
|
|
12070
12088
|
function walkArray(params) {
|
|
12071
|
-
const { ctx, model, value, path, filter } = params;
|
|
12089
|
+
const { ctx, model, value, path, level, filter } = params;
|
|
12072
12090
|
let changed = false;
|
|
12073
12091
|
const out = value.map((item, index) => {
|
|
12074
|
-
const next = walkNode({ ctx, model, value: item, path: `${path}[${index}]`, filter });
|
|
12092
|
+
const next = walkNode({ ctx, model, value: item, path: `${path}[${index}]`, level, filter });
|
|
12075
12093
|
if (next !== item)
|
|
12076
12094
|
changed = true;
|
|
12077
12095
|
return next;
|
|
12078
12096
|
});
|
|
12079
12097
|
return changed ? out : value;
|
|
12080
12098
|
}
|
|
12099
|
+
function walkJsonOperators(params) {
|
|
12100
|
+
const { ctx, value, path } = params;
|
|
12101
|
+
let filtered = null;
|
|
12102
|
+
for (const operator of Object.keys(value)) {
|
|
12103
|
+
if (value[operator] === undefined) {
|
|
12104
|
+
throw explicitUndefined({ model: ctx.model, method: ctx.method, path: `${path}.${operator}` });
|
|
12105
|
+
}
|
|
12106
|
+
if (value[operator] === SKIP) {
|
|
12107
|
+
filtered ??= { ...value };
|
|
12108
|
+
delete filtered[operator];
|
|
12109
|
+
}
|
|
12110
|
+
}
|
|
12111
|
+
return filtered ?? value;
|
|
12112
|
+
}
|
|
12081
12113
|
function walkNode(params) {
|
|
12082
|
-
const { ctx, model, value, path } = params;
|
|
12083
|
-
const filter = params.filter === true;
|
|
12114
|
+
const { ctx, model, value, path, level, filter } = params;
|
|
12084
12115
|
if (Array.isArray(value))
|
|
12085
|
-
return walkArray({ ctx, model, value, path, filter });
|
|
12116
|
+
return walkArray({ ctx, model, value, path, level, filter });
|
|
12086
12117
|
if (!isPlainObject9(value))
|
|
12087
12118
|
return value;
|
|
12088
12119
|
let out = null;
|
|
@@ -12097,33 +12128,31 @@ function walkNode(params) {
|
|
|
12097
12128
|
delete out[key];
|
|
12098
12129
|
continue;
|
|
12099
12130
|
}
|
|
12100
|
-
|
|
12101
|
-
|
|
12102
|
-
|
|
12103
|
-
|
|
12104
|
-
|
|
12105
|
-
|
|
12106
|
-
|
|
12107
|
-
|
|
12108
|
-
|
|
12109
|
-
|
|
12110
|
-
|
|
12111
|
-
|
|
12112
|
-
|
|
12113
|
-
|
|
12114
|
-
|
|
12115
|
-
|
|
12116
|
-
}
|
|
12131
|
+
let next;
|
|
12132
|
+
const keyword = level === "structural" ? STRUCTURAL_KEYWORDS[key] : undefined;
|
|
12133
|
+
if (keyword !== undefined) {
|
|
12134
|
+
next = walkNode({
|
|
12135
|
+
ctx,
|
|
12136
|
+
model,
|
|
12137
|
+
value: child,
|
|
12138
|
+
path: childPath,
|
|
12139
|
+
level: keyword.level,
|
|
12140
|
+
filter: keyword.filter === "inherit" ? filter : keyword.filter
|
|
12141
|
+
});
|
|
12142
|
+
} else if (LOGICAL_KEYS.has(key)) {
|
|
12143
|
+
next = walkNode({ ctx, model, value: child, path: childPath, level: "fields", filter });
|
|
12144
|
+
} else {
|
|
12145
|
+
const field = model.fieldByName.get(key);
|
|
12146
|
+
if (field !== undefined && field.scalarType === "Json") {
|
|
12147
|
+
next = filter && isPlainObject9(child) ? walkJsonOperators({ ctx, value: child, path: childPath }) : child;
|
|
12148
|
+
} else if (field !== undefined) {
|
|
12149
|
+
next = walkNode({ ctx, model, value: child, path: childPath, level: "fields", filter });
|
|
12150
|
+
} else {
|
|
12151
|
+
const relation = model.relationByName.get(key);
|
|
12152
|
+
const target = relation === undefined ? undefined : ctx.meta.modelByName.get(relation.targetModel);
|
|
12153
|
+
next = target === undefined ? walkNode({ ctx, model, value: child, path: childPath, level: "fields", filter }) : walkNode({ ctx, model: target, value: child, path: childPath, level: "structural", filter });
|
|
12117
12154
|
}
|
|
12118
|
-
continue;
|
|
12119
12155
|
}
|
|
12120
|
-
const next = walkNode({
|
|
12121
|
-
ctx,
|
|
12122
|
-
model: target,
|
|
12123
|
-
value: child,
|
|
12124
|
-
path: childPath,
|
|
12125
|
-
filter: key === "where" || key === "having" ? true : key === "data" || key === "create" || key === "update" ? false : filter
|
|
12126
|
-
});
|
|
12127
12156
|
if (next !== child) {
|
|
12128
12157
|
out ??= { ...value };
|
|
12129
12158
|
out[key] = next;
|
|
@@ -12136,7 +12165,7 @@ function checkStrictArguments(params) {
|
|
|
12136
12165
|
if (args === undefined)
|
|
12137
12166
|
return;
|
|
12138
12167
|
const ctx = { meta, model: model.clientName, method };
|
|
12139
|
-
const walked = walkNode({ ctx, model, value: args, path: "args" });
|
|
12168
|
+
const walked = walkNode({ ctx, model, value: args, path: "args", level: "structural", filter: false });
|
|
12140
12169
|
return walked;
|
|
12141
12170
|
}
|
|
12142
12171
|
|
|
@@ -14210,11 +14239,12 @@ function makeMountContext(params) {
|
|
|
14210
14239
|
meta: { extension }
|
|
14211
14240
|
});
|
|
14212
14241
|
}
|
|
14242
|
+
const checked = engine.options?.strictArguments !== false ? checkStrictArguments({ meta: engine.meta, model: target, method: `${extension}.compileWhere`, args: { where } }) : undefined;
|
|
14213
14243
|
return compileWhere({
|
|
14214
14244
|
dialect: engine.dialect,
|
|
14215
14245
|
meta: engine.meta,
|
|
14216
14246
|
model: target,
|
|
14217
|
-
where,
|
|
14247
|
+
where: checked === undefined ? where : checked.where,
|
|
14218
14248
|
...qualify === undefined ? {} : { qualify }
|
|
14219
14249
|
});
|
|
14220
14250
|
}
|
|
@@ -14754,4 +14784,4 @@ export {
|
|
|
14754
14784
|
validateWriteData
|
|
14755
14785
|
};
|
|
14756
14786
|
|
|
14757
|
-
//# debugId=
|
|
14787
|
+
//# debugId=BC9380E497613E8D64756E2164756E21
|