json-fs-query 2.2.0 → 2.2.1
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/browser/jsonFsQuery.js
CHANGED
|
@@ -3821,6 +3821,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3821
3821
|
});
|
|
3822
3822
|
exports.runQuery = void 0;
|
|
3823
3823
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
3824
|
+
require("core-js/modules/esnext.iterator.find.js");
|
|
3824
3825
|
require("core-js/modules/esnext.iterator.reduce.js");
|
|
3825
3826
|
require("core-js/modules/esnext.set.add-all.js");
|
|
3826
3827
|
require("core-js/modules/esnext.set.delete-all.js");
|
|
@@ -3901,6 +3902,16 @@ const runQuery = async parsed => {
|
|
|
3901
3902
|
[parsed.entity]: await (0, _showRecords.showRecords)()
|
|
3902
3903
|
};
|
|
3903
3904
|
}
|
|
3905
|
+
// update/delete apply their conditions before any join or merge runs, so a condition on another entity's field
|
|
3906
|
+
// can't be checked there. An indexed one used to be dropped once its index had narrowed the joined rows, and the
|
|
3907
|
+
// command then hit every row the other conditions allowed (`delete workouts.exercises on ... where
|
|
3908
|
+
// exercises._id = 1` deleted every workout)
|
|
3909
|
+
if (parsed.command === 'update' || parsed.command === 'delete') {
|
|
3910
|
+
const other = parsed.conditions.find(condition => (0, _isEntityProperty.isEntityProperty)(condition.property) && (0, _splitEntityProperty.splitEntityProperty)(condition.property).entity !== parsed.entity);
|
|
3911
|
+
if (other) {
|
|
3912
|
+
throw new Error(`${parsed.command} can only use conditions on ${parsed.entity}'s own fields, not ${other.property}`);
|
|
3913
|
+
}
|
|
3914
|
+
}
|
|
3904
3915
|
const recordData = {
|
|
3905
3916
|
[parsed.entity]: await (0, _retrieveRecord.retrieveRecord)(parsed.entity)
|
|
3906
3917
|
};
|
|
@@ -3967,7 +3978,7 @@ const runQuery = async parsed => {
|
|
|
3967
3978
|
return dataSet;
|
|
3968
3979
|
};
|
|
3969
3980
|
exports.runQuery = runQuery;
|
|
3970
|
-
},{"../queries/createRecord":15,"../queries/deleteEntity":16,"../queries/describeRecord":17,"../queries/dropRecord":18,"../queries/groupBy":19,"../queries/insertEntity":20,"../queries/joinEntity":21,"../queries/limitOffset":22,"../queries/mergeJoins":23,"../queries/readEntity":28,"../queries/selectFields":29,"../queries/showRecords":30,"../queries/sortBy":31,"../queries/updateEntity":32,"../queries/where":33,"./fieldType":39,"./getConditionIndexedList":40,"./getJoinIndexedList":41,"./parsers/isEntityProperty":58,"./parsers/splitEntityProperty":66,"./retrieveRecord":77,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243,"core-js/modules/esnext.set.add-all.js":258,"core-js/modules/esnext.set.delete-all.js":259,"core-js/modules/esnext.set.difference.js":260,"core-js/modules/esnext.set.every.js":261,"core-js/modules/esnext.set.filter.js":262,"core-js/modules/esnext.set.find.js":263,"core-js/modules/esnext.set.intersection.js":264,"core-js/modules/esnext.set.is-disjoint-from.js":265,"core-js/modules/esnext.set.is-subset-of.js":266,"core-js/modules/esnext.set.is-superset-of.js":267,"core-js/modules/esnext.set.join.js":268,"core-js/modules/esnext.set.map.js":269,"core-js/modules/esnext.set.reduce.js":270,"core-js/modules/esnext.set.some.js":271,"core-js/modules/esnext.set.symmetric-difference.js":272,"core-js/modules/esnext.set.union.js":273}],80:[function(require,module,exports){
|
|
3981
|
+
},{"../queries/createRecord":15,"../queries/deleteEntity":16,"../queries/describeRecord":17,"../queries/dropRecord":18,"../queries/groupBy":19,"../queries/insertEntity":20,"../queries/joinEntity":21,"../queries/limitOffset":22,"../queries/mergeJoins":23,"../queries/readEntity":28,"../queries/selectFields":29,"../queries/showRecords":30,"../queries/sortBy":31,"../queries/updateEntity":32,"../queries/where":33,"./fieldType":39,"./getConditionIndexedList":40,"./getJoinIndexedList":41,"./parsers/isEntityProperty":58,"./parsers/splitEntityProperty":66,"./retrieveRecord":77,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.find.js":239,"core-js/modules/esnext.iterator.reduce.js":243,"core-js/modules/esnext.set.add-all.js":258,"core-js/modules/esnext.set.delete-all.js":259,"core-js/modules/esnext.set.difference.js":260,"core-js/modules/esnext.set.every.js":261,"core-js/modules/esnext.set.filter.js":262,"core-js/modules/esnext.set.find.js":263,"core-js/modules/esnext.set.intersection.js":264,"core-js/modules/esnext.set.is-disjoint-from.js":265,"core-js/modules/esnext.set.is-subset-of.js":266,"core-js/modules/esnext.set.is-superset-of.js":267,"core-js/modules/esnext.set.join.js":268,"core-js/modules/esnext.set.map.js":269,"core-js/modules/esnext.set.reduce.js":270,"core-js/modules/esnext.set.some.js":271,"core-js/modules/esnext.set.symmetric-difference.js":272,"core-js/modules/esnext.set.union.js":273}],80:[function(require,module,exports){
|
|
3971
3982
|
"use strict";
|
|
3972
3983
|
|
|
3973
3984
|
Object.defineProperty(exports, "__esModule", {
|