@procedures/client 0.13.1 → 0.13.2

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.
@@ -289,7 +289,7 @@ export function createCollectionProcedures(collectionName, options = {}) {
289
289
  output: patchOutputSchema,
290
290
  metadata: {
291
291
  effects: { reads: [resource], writes: [resource], idempotent: true },
292
- description: `Merge fields into one item of ${collectionName}: a JSON Merge Patch, or the operations $set and $unset`,
292
+ description: `Merge fields into one item of ${collectionName}: a JSON Merge Patch, or the operations $set, $unset, $remove and $insert`,
293
293
  tags: ["collections", collectionName, "write"],
294
294
  },
295
295
  handler: async (input, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../../src/procedures/collection/procedures.ts"],"names":[],"mappings":"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"}
@@ -152,7 +152,8 @@ export declare const DEFAULT_FIND_LIMIT: number;
152
152
  * - A JSON Merge Patch (RFC 7386): each field replaces the field of the item, an object merges
153
153
  * into an object field, and `null` removes the field.
154
154
  * - Operations (`StoragePatchOperations`): each key starts with `$`. `$set` can set `null` and
155
- * nested field paths, and `$unset` removes field paths.
155
+ * nested field paths, and `$unset` removes field paths. `$remove` and `$insert` remove and add
156
+ * elements of arrays, as the operations `remove` and `add` of JSON Patch (RFC 6902).
156
157
  */
157
158
  export type StoragePatch = Readonly<Record<string, unknown>>;
158
159
  /**
@@ -164,6 +165,17 @@ export type StoragePatchOperations = {
164
165
  readonly $set?: Readonly<Record<string, unknown>> | undefined;
165
166
  /** The field paths to remove. An element of an array becomes `null`. */
166
167
  readonly $unset?: readonly string[] | undefined;
168
+ /**
169
+ * The field paths to remove. An element of an array leaves the array, and the next elements move
170
+ * down by one. A field of an object goes, as with `$unset`. A missing path changes nothing.
171
+ */
172
+ readonly $remove?: readonly string[] | undefined;
173
+ /**
174
+ * The elements to add to arrays. Each path ends with an index, for example `{ "tags.1": "x" }`.
175
+ * The element at that index and the next elements move up by one. The index that is equal to the
176
+ * length of the array adds the element at the end.
177
+ */
178
+ readonly $insert?: Readonly<Record<string, unknown>> | undefined;
167
179
  };
168
180
  /**
169
181
  * This function compares two JSON values in the order of the queries: `null` and a missing value
@@ -217,8 +229,13 @@ export declare function queryEntries<T>(entries: Iterable<readonly [string, T]>,
217
229
  export declare function isPatchOperations(fields: unknown): fields is StoragePatchOperations;
218
230
  /**
219
231
  * This function gives the problems of the fields of a patch. An empty list means that the patch
220
- * is correct: a JSON Merge Patch, or the operations `$set` and `$unset`. A patch that mixes the two
221
- * forms is not correct.
232
+ * is correct: a JSON Merge Patch, or the operations `$set`, `$unset`, `$remove` and `$insert`.
233
+ *
234
+ * - A patch that mixes the two forms is not correct.
235
+ * - Two paths of a patch must not overlap: a path must not be the same as another path, or start
236
+ * with it.
237
+ * - Each path of `$insert` ends with an index.
238
+ * - A patch must not remove and insert elements of the same array.
222
239
  */
223
240
  export declare function patchProblems(fields: unknown): string[];
224
241
  /**
@@ -233,14 +250,21 @@ export declare function patchProblems(fields: unknown): string[];
233
250
  export declare function mergePatch(value: unknown, fields: StoragePatch): Record<string, unknown>;
234
251
  /**
235
252
  * This function applies a patch to a value, and gives the new value: a JSON Merge Patch, or the
236
- * operations `$set` and `$unset`. It does not change the value or the patch.
253
+ * operations `$set`, `$unset`, `$remove` and `$insert`. It does not change the value or the patch.
237
254
  *
238
255
  * - `$set` sets each field path, also to `null`. A missing or null part of a path becomes an object.
239
256
  * - `$unset` removes each field path. An element of an array becomes `null`.
257
+ * - `$remove` removes each field path. An element of an array leaves the array, as the operation
258
+ * `remove` of JSON Patch (RFC 6902). A missing path changes nothing.
259
+ * - `$insert` adds each element to an array, as the operation `add` of JSON Patch. The index that
260
+ * is equal to the length adds the element at the end.
261
+ * - Each index refers to the value before the patch. `$set` and `$unset` go first. Then the
262
+ * function removes and adds the elements from the deepest path, and from the highest index.
240
263
  * - A value that is not an object becomes an empty object first.
241
264
  *
242
- * @throws TypeError when the patch has a problem (refer to `patchProblems`), or when a path of
243
- * `$set` goes through a value that is not an object, or past the end of an array
265
+ * @throws TypeError when the patch has a problem (refer to `patchProblems`), when a path of
266
+ * `$set` goes through a value that is not an object, or past the end of an array, or when a path
267
+ * of `$insert` is not in an array, or goes past the end of the array
244
268
  */
245
269
  export declare function applyPatch(value: unknown, fields: StoragePatch): Record<string, unknown>;
246
270
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,CAAC;IACvD,+CAA+C;IAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,CAAC;IACtD,uCAAuC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,CAAC;IACvD,gGAAgG;IAChG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC;AAED,8FAA8F;AAC9F,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7D,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7D,mDAAmD;IACnD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IAC9C,kDAAkD;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IAC/C,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,iDAAiD;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAClD,iGAAiG;IACjG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IAC/C,uGAAuG;IACvG,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,qBAAqB,GAAG,SAAS,CAAC;CAC3E;AAED,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAEzE,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,wEAAwE;AACxE,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhM;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,2FAA2F;AAC3F,eAAO,MAAM,eAAe,EAAE,SAAS,oBAAoB,EAkBhD,CAAC;AAEZ,0EAA0E;AAC1E,eAAO,MAAM,uBAAuB,EAAE,SAAS,oBAAoB,EAA+E,CAAC;AAEnJ,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,EAAE,kBAOjC,CAAC;AAEH,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,EAAE,MAAa,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9D,wEAAwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACjD,CAAC;AA2CF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAqCnE;AAibD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAEzF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAIlH;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAE9G;AAQD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,MAAM,EAAE,CA8B5F;AAoBD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACvC,QAAQ,GAAE,eAAoB,EAC9B,OAAO,GAAE,mBAAwB,EACjC,MAAM,CAAC,EAAE,kBAAkB,GAC1B,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CA4BpB;AAQD,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,sBAAsB,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CA+BvD;AAcD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASxF;AA0CD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQxF"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/query.ts"],"names":[],"mappings":"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"}
@@ -696,15 +696,25 @@ export function queryEntries(entries, selector = {}, options = {}, policy) {
696
696
  //
697
697
  // ═══ The patch ═══
698
698
  //
699
- const PATCH_OPERATIONS = new Set(["$set", "$unset"]);
699
+ const PATCH_OPERATIONS = new Set(["$set", "$unset", "$remove", "$insert"]);
700
+ /** The path of the array of an element path: the path without its last part. */
701
+ function arrayPathOf(key) {
702
+ const dot = key.lastIndexOf(".");
703
+ return dot === -1 ? "" : key.slice(0, dot);
704
+ }
700
705
  /** True for the operations form of a patch: an object whose defined keys each start with `$`. */
701
706
  export function isPatchOperations(fields) {
702
707
  return isOperatorObject(fields);
703
708
  }
704
709
  /**
705
710
  * This function gives the problems of the fields of a patch. An empty list means that the patch
706
- * is correct: a JSON Merge Patch, or the operations `$set` and `$unset`. A patch that mixes the two
707
- * forms is not correct.
711
+ * is correct: a JSON Merge Patch, or the operations `$set`, `$unset`, `$remove` and `$insert`.
712
+ *
713
+ * - A patch that mixes the two forms is not correct.
714
+ * - Two paths of a patch must not overlap: a path must not be the same as another path, or start
715
+ * with it.
716
+ * - Each path of `$insert` ends with an index.
717
+ * - A patch must not remove and insert elements of the same array.
708
718
  */
709
719
  export function patchProblems(fields) {
710
720
  if (!isObject(fields))
@@ -714,13 +724,13 @@ export function patchProblems(fields) {
714
724
  if (operations.length === 0)
715
725
  return [];
716
726
  if (operations.length < keys.length) {
717
- return ["the patch mixes operations and fields: give { $set, $unset }, or only fields (a JSON Merge Patch)"];
727
+ return ["the patch mixes operations and fields: give operations ($set, $unset, $remove, $insert), or only fields (a JSON Merge Patch)"];
718
728
  }
719
729
  const problems = [];
720
730
  const paths = [];
721
731
  for (const operation of operations) {
722
732
  if (!PATCH_OPERATIONS.has(operation))
723
- problems.push(`the patch operation ${operation} is not known: use $set and $unset`);
733
+ problems.push(`the patch operation ${operation} is not known: use $set, $unset, $remove and $insert`);
724
734
  }
725
735
  const set = fields["$set"];
726
736
  if (set !== undefined) {
@@ -740,6 +750,39 @@ export function patchProblems(fields) {
740
750
  if (pathOf(key, "$unset", problems))
741
751
  paths.push(key);
742
752
  }
753
+ const remove = fields["$remove"];
754
+ const removedArrays = new Set();
755
+ if (remove !== undefined) {
756
+ if (!Array.isArray(remove) || !remove.every((path) => typeof path === "string"))
757
+ problems.push("$remove takes a list of field paths");
758
+ else {
759
+ for (const key of remove) {
760
+ if (!pathOf(key, "$remove", problems))
761
+ continue;
762
+ paths.push(key);
763
+ removedArrays.add(arrayPathOf(key));
764
+ }
765
+ }
766
+ }
767
+ const insert = fields["$insert"];
768
+ if (insert !== undefined) {
769
+ if (!isObject(insert))
770
+ problems.push("$insert takes an object of field paths and values");
771
+ else {
772
+ for (const key of definedKeys(insert)) {
773
+ const segments = pathOf(key, "$insert", problems);
774
+ if (!segments)
775
+ continue;
776
+ if (!INDEX.test(segments.at(-1))) {
777
+ problems.push(`$insert: the field path "${key}" does not end with an index`);
778
+ continue;
779
+ }
780
+ paths.push(key);
781
+ if (removedArrays.has(arrayPathOf(key)))
782
+ problems.push(`the patch removes and inserts elements of the same array ${arrayPathOf(key)}`);
783
+ }
784
+ }
785
+ }
743
786
  for (let first = 0; first < paths.length; first++) {
744
787
  for (let second = first + 1; second < paths.length; second++) {
745
788
  const a = paths[first];
@@ -806,16 +849,22 @@ function setIn(container, path, index, value) {
806
849
  put(copy, key, last ? value : setIn(child ?? {}, path, index + 1, value));
807
850
  return copy;
808
851
  }
809
- /** The container without the value at a path: a copy of each object and array on the path. */
810
- function unsetIn(container, path, index) {
852
+ /**
853
+ * The container without the value at a path: a copy of each object and array on the path. With
854
+ * `splice`, an element of an array leaves the array (`$remove`). Without it, the element becomes
855
+ * `null`, as in MongoDB (`$unset`).
856
+ */
857
+ function unsetIn(container, path, index, splice = false) {
811
858
  const key = path[index];
812
859
  const last = index === path.length - 1;
813
860
  if (Array.isArray(container)) {
814
861
  if (!INDEX.test(key) || Number(key) >= container.length)
815
862
  return container;
816
863
  const copy = container.slice();
817
- // An element of an array becomes null, as in MongoDB: the other elements keep their places
818
- copy[Number(key)] = last ? null : unsetIn(copy[Number(key)], path, index + 1);
864
+ if (last && splice)
865
+ copy.splice(Number(key), 1);
866
+ else
867
+ copy[Number(key)] = last ? null : unsetIn(copy[Number(key)], path, index + 1, splice);
819
868
  return copy;
820
869
  }
821
870
  if (!isObject(container) || !Object.hasOwn(container, key))
@@ -824,19 +873,66 @@ function unsetIn(container, path, index) {
824
873
  if (last)
825
874
  delete copy[key];
826
875
  else
827
- put(copy, key, unsetIn(copy[key], path, index + 1));
876
+ put(copy, key, unsetIn(copy[key], path, index + 1, splice));
877
+ return copy;
878
+ }
879
+ /** The container with a new element in an array at a path: a copy of each object and array on the path. */
880
+ function insertIn(container, path, index, value) {
881
+ const key = path[index];
882
+ const where = path.slice(0, index).join(".") || "the item";
883
+ if (index === path.length - 1) {
884
+ if (!Array.isArray(container))
885
+ throw new TypeError(`The patch cannot insert at ${path.join(".")}: ${where} is not an array`);
886
+ const position = Number(key);
887
+ if (position > container.length) {
888
+ throw new TypeError(`The patch cannot insert at ${path.join(".")}: ${where} has ${container.length} elements`);
889
+ }
890
+ const copy = container.slice();
891
+ copy.splice(position, 0, value);
892
+ return copy;
893
+ }
894
+ if (Array.isArray(container)) {
895
+ if (!INDEX.test(key) || Number(key) >= container.length) {
896
+ throw new TypeError(`The patch cannot insert at ${path.join(".")}: ${where} has no element ${key}`);
897
+ }
898
+ const copy = container.slice();
899
+ copy[Number(key)] = insertIn(copy[Number(key)], path, index + 1, value);
900
+ return copy;
901
+ }
902
+ if (!isObject(container) || !Object.hasOwn(container, key)) {
903
+ throw new TypeError(`The patch cannot insert at ${path.join(".")}: ${where} has no field ${key}`);
904
+ }
905
+ const copy = copyOf(container);
906
+ put(copy, key, insertIn(copy[key], path, index + 1, value));
828
907
  return copy;
829
908
  }
909
+ /**
910
+ * The order of the moves. Each index refers to the item before the patch. A move changes the
911
+ * indices of the next elements of its array, and of the paths through them. Thus the deeper paths
912
+ * go first, and in one array the higher indices go first.
913
+ */
914
+ function compareMoves(a, b) {
915
+ if (a.path.length !== b.path.length)
916
+ return b.path.length - a.path.length;
917
+ return Number(b.path.at(-1)) - Number(a.path.at(-1)) || 0;
918
+ }
830
919
  /**
831
920
  * This function applies a patch to a value, and gives the new value: a JSON Merge Patch, or the
832
- * operations `$set` and `$unset`. It does not change the value or the patch.
921
+ * operations `$set`, `$unset`, `$remove` and `$insert`. It does not change the value or the patch.
833
922
  *
834
923
  * - `$set` sets each field path, also to `null`. A missing or null part of a path becomes an object.
835
924
  * - `$unset` removes each field path. An element of an array becomes `null`.
925
+ * - `$remove` removes each field path. An element of an array leaves the array, as the operation
926
+ * `remove` of JSON Patch (RFC 6902). A missing path changes nothing.
927
+ * - `$insert` adds each element to an array, as the operation `add` of JSON Patch. The index that
928
+ * is equal to the length adds the element at the end.
929
+ * - Each index refers to the value before the patch. `$set` and `$unset` go first. Then the
930
+ * function removes and adds the elements from the deepest path, and from the highest index.
836
931
  * - A value that is not an object becomes an empty object first.
837
932
  *
838
- * @throws TypeError when the patch has a problem (refer to `patchProblems`), or when a path of
839
- * `$set` goes through a value that is not an object, or past the end of an array
933
+ * @throws TypeError when the patch has a problem (refer to `patchProblems`), when a path of
934
+ * `$set` goes through a value that is not an object, or past the end of an array, or when a path
935
+ * of `$insert` is not in an array, or goes past the end of the array
840
936
  */
841
937
  export function applyPatch(value, fields) {
842
938
  const problems = patchProblems(fields);
@@ -849,6 +945,12 @@ export function applyPatch(value, fields) {
849
945
  result = setIn(result, key.split("."), 0, field);
850
946
  for (const key of fields.$unset ?? [])
851
947
  result = unsetIn(result, key.split("."), 0);
948
+ const moves = [
949
+ ...(fields.$remove ?? []).map((key) => ({ path: key.split("."), insert: false })),
950
+ ...definedEntries(fields.$insert ?? {}).map(([key, field]) => ({ path: key.split("."), insert: true, value: field })),
951
+ ].sort(compareMoves);
952
+ for (const move of moves)
953
+ result = move.insert ? insertIn(result, move.path, 0, move.value) : unsetIn(result, move.path, 0, true);
852
954
  return result === value ? copyOf(value) : result;
853
955
  }
854
956
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/procedures/collection/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/procedures/collection/query.ts"],"names":[],"mappings":"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"}
@@ -133,7 +133,8 @@ export declare const findInputSchema: ZodLike<FindInput>;
133
133
  export declare const findOutputSchema: ZodLike<CollectionEntry[]>;
134
134
  /**
135
135
  * Input for patch operation: the id, and the fields. The fields are a JSON Merge Patch (RFC 7386),
136
- * or the operations `{ $set, $unset }`, which can set `null` and nested field paths.
136
+ * or the operations `{ $set, $unset, $remove, $insert }`. They can set `null` and nested field paths,
137
+ * and remove and add the elements of arrays.
137
138
  */
138
139
  export interface PatchInput {
139
140
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/procedures/collection/schemas.ts"],"names":[],"mappings":"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"}