@mikro-orm/sql
Advanced tools
+2
-2
| { | ||
| "name": "@mikro-orm/sql", | ||
| "version": "7.1.14-dev.11", | ||
| "version": "7.1.14-dev.12", | ||
| "description": "TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.", | ||
@@ -56,3 +56,3 @@ "keywords": [ | ||
| "peerDependencies": { | ||
| "@mikro-orm/core": "7.1.14-dev.11" | ||
| "@mikro-orm/core": "7.1.14-dev.12" | ||
| }, | ||
@@ -59,0 +59,0 @@ "engines": { |
@@ -536,2 +536,7 @@ import { ALIAS_REPLACEMENT, ALIAS_REPLACEMENT_RE, ArrayType, JsonType, inspect, isRaw, LockMode, OptimisticLockError, QueryOperator, QueryOrderNumeric, raw, Raw, QueryHelper, ReferenceKind, Utils, ValidationError, } from '@mikro-orm/core'; | ||
| const fields = rawField ? [key] : Utils.splitPrimaryKeys(key); | ||
| // a raw key's arity is opaque, so the row-value form is detected from the payload instead | ||
| const rowValues = rawField && | ||
| ['$in', '$nin'].includes(op) && | ||
| Array.isArray(value[op]) && | ||
| value[op].every((v) => Array.isArray(v)); | ||
| if (fields.length > 1 && Array.isArray(value[op])) { | ||
@@ -605,3 +610,3 @@ const singleTuple = !value[op].every((v) => Array.isArray(v)); | ||
| const mappedKey = this.mapper(key, type, opValue, null); | ||
| const val = this.getValueReplacement(fields, opValue, params, op, prop); | ||
| const val = this.getValueReplacement(fields, opValue, params, op, prop, rowValues); | ||
| parts.push(`${this.#platform.quoteIdentifier(mappedKey)} ${replacement} ${val}`); | ||
@@ -612,5 +617,5 @@ } | ||
| } | ||
| getValueReplacement(fields, value, params, key, prop) { | ||
| getValueReplacement(fields, value, params, key, prop, rowValues = false) { | ||
| if (Array.isArray(value)) { | ||
| if (fields.length > 1) { | ||
| if (fields.length > 1 || rowValues) { | ||
| const tmp = []; | ||
@@ -617,0 +622,0 @@ for (const field of value) { |
1085298
0.03%22585
0.02%