rest-client-vue 1.1.1-b9 → 1.2.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.
@@ -1,61 +1,72 @@
1
- var we = Object.defineProperty;
2
- var Ce = (f, s, R) => s in f ? we(f, s, { enumerable: !0, configurable: !0, writable: !0, value: R }) : f[s] = R;
3
- var ae = (f, s, R) => (Ce(f, typeof s != "symbol" ? s + "" : s, R), R), Te = (f, s, R) => {
4
- if (!s.has(f))
1
+ var Ee = Object.defineProperty;
2
+ var Ce = (h, r, R) => r in h ? Ee(h, r, { enumerable: !0, configurable: !0, writable: !0, value: R }) : h[r] = R;
3
+ var ae = (h, r, R) => (Ce(h, typeof r != "symbol" ? r + "" : r, R), R), Te = (h, r, R) => {
4
+ if (!r.has(h))
5
5
  throw TypeError("Cannot " + R);
6
6
  };
7
- var M = (f, s, R) => (Te(f, s, "read from private field"), R ? R.call(f) : s.get(f)), Se = (f, s, R) => {
8
- if (s.has(f))
7
+ var Q = (h, r, R) => (Te(h, r, "read from private field"), R ? R.call(h) : r.get(h)), Se = (h, r, R) => {
8
+ if (r.has(h))
9
9
  throw TypeError("Cannot add the same private member more than once");
10
- s instanceof WeakSet ? s.add(f) : s.set(f, R);
10
+ r instanceof WeakSet ? r.add(h) : r.set(h, R);
11
11
  };
12
12
  import a from "lodash";
13
13
  import { v4 as H } from "uuid";
14
- import { ref as I, toRef as se, computed as S, watch as T, nextTick as Le } from "vue";
15
- import P from "axios";
16
- import me from "jsog";
14
+ import { ref as I, toRef as se, computed as g, watch as $, nextTick as Le } from "vue";
15
+ import L from "axios";
16
+ import pe from "jsog";
17
17
  import X from "json-stringify-deterministic";
18
- import { defineStore as pe } from "pinia";
18
+ import { defineStore as me } from "pinia";
19
19
  const ye = {
20
20
  apiBaseUrl: "",
21
21
  useVueLogger: !1
22
22
  };
23
- class _e extends Error {
24
- constructor(R, $ = void 0, e = void 0) {
23
+ class Be extends Error {
24
+ constructor(R, w = void 0, e = void 0) {
25
25
  super(R);
26
26
  ae(this, "context");
27
27
  ae(this, "innerError");
28
- this.context = $, this.innerError = e;
28
+ this.context = w, this.innerError = e;
29
29
  }
30
30
  }
31
- var k;
31
+ var _;
32
32
  class Ie {
33
33
  constructor() {
34
- Se(this, k, {});
34
+ Se(this, _, {});
35
35
  }
36
36
  clearAllStores() {
37
- for (const s in M(this, k))
38
- M(this, k)[s].clear();
37
+ for (const r in Q(this, _))
38
+ Q(this, _)[r].clear();
39
39
  }
40
- destroyStore(s) {
41
- M(this, k)[s] && (M(this, k)[s].$dispose(), delete M(this, k)[s]);
40
+ destroyStore(r) {
41
+ Q(this, _)[r] && (Q(this, _)[r].$dispose(), delete Q(this, _)[r]);
42
42
  }
43
- getStore(s) {
44
- return M(this, k)[s];
43
+ getStore(r) {
44
+ return Q(this, _)[r];
45
45
  }
46
- registerStore(s, R) {
47
- M(this, k)[s] = R;
46
+ registerStore(r, R) {
47
+ Q(this, _)[r] = R;
48
48
  }
49
49
  }
50
- k = new WeakMap();
51
- function v(f, s) {
52
- return a.get(f, (s == null ? void 0 : s.idProperty) || "_id");
50
+ _ = new WeakMap();
51
+ function v(h, r) {
52
+ return a.get(h, (r == null ? void 0 : r.idProperty) || "_id");
53
53
  }
54
- function $e(f, s) {
54
+ function $e(h, r) {
55
+ const R = a.map(
56
+ r,
57
+ (w, e) => w != null ? `${encodeURIComponent(e)}=${encodeURIComponent(w)}` : null
58
+ ).filter((w) => w != null).join("&");
59
+ if (R.length > 0) {
60
+ const w = h.indexOf("?");
61
+ return w == h.length - 1 ? `${h}${R}` : w >= 0 ? `${h}&${R}` : `${h}?${R}`;
62
+ } else
63
+ return h;
64
+ }
65
+ function xe(h, r) {
55
66
  var R;
56
- return f && ((R = s.filter) != null && R.resourceIds) && !s.order ? s.filter.resourceIds.map(($) => f.find((e) => v(e, s) == $)).filter(($) => $ != null) : f;
67
+ return h && ((R = r.filter) != null && R.resourceIds) && !r.order ? r.filter.resourceIds.map((w) => h.find((e) => v(e, r) == w)).filter((w) => w != null) : h;
57
68
  }
58
- const De = {
69
+ const we = {
59
70
  detail: {
60
71
  allowMultiple: !0,
61
72
  autoEdit: !1,
@@ -81,7 +92,7 @@ const De = {
81
92
  [{ path: "history.creation.timestamp" }, "desc"],
82
93
  [{ path: "history.creation.indexInBatch" }, "desc"]
83
94
  ]
84
- }, Z = {
95
+ }, Y = {
85
96
  resources: [],
86
97
  remoteCollectionSize: null,
87
98
  status: "NotLoaded",
@@ -89,22 +100,23 @@ const De = {
89
100
  detailSelection: [],
90
101
  invalidResources: [],
91
102
  transientData: {}
92
- }, ne = {
103
+ }, oe = {
93
104
  editingDetailSelection: !1,
94
105
  batchSaveAttempted: !1,
95
106
  editors: [],
96
107
  listNavigators: {}
97
- }, Pe = (f, s) => {
98
- s = a.merge({}, De, s);
99
- const R = pe(f, {
108
+ }, Pe = (h, r) => {
109
+ r = a.merge({}, we, r);
110
+ const R = me(h, {
100
111
  state: () => ({
101
- idProperty: s.idProperty,
102
- filter: s.filter,
103
- order: s.order || null,
104
- propertyBlacklist: s.propertyBlacklist || null,
105
- referencePathsToExpand: s.referencePathsToExpand || null,
106
- ...Z,
107
- ...ne
112
+ idProperty: r.idProperty,
113
+ filter: r.filter,
114
+ order: r.order || null,
115
+ propertiesToExclude: r.propertiesToExclude || null,
116
+ referencePathsToExpand: r.referencePathsToExpand || null,
117
+ restCollectionUrl: r.restCollectionUrl,
118
+ ...Y,
119
+ ...oe
108
120
  }),
109
121
  getters: {
110
122
  /**
@@ -114,14 +126,14 @@ const De = {
114
126
  */
115
127
  fixedQueryParams: (e) => {
116
128
  var l, u, c, d;
117
- const r = {};
118
- (l = e.filter) != null && l.namedFilter && (r.namedFilter = e.filter.namedFilter);
129
+ const i = {};
130
+ (l = e.filter) != null && l.namedFilter && (i.namedFilter = e.filter.namedFilter);
119
131
  const t = [];
120
132
  if ((u = e.filter) != null && u.resourceIds && t.push({ l: { path: e.idProperty }, r: { constant: e.filter.resourceIds }, operator: "in" }), (c = e.filter) != null && c.query && t.push((d = e.filter) == null ? void 0 : d.query), t.length > 0) {
121
- const y = t.length == 1 ? t[0] : { and: t };
122
- r.q = X(y);
133
+ const m = t.length == 1 ? t[0] : { and: t };
134
+ i.q = X(m);
123
135
  }
124
- return e.order && (r.o = X(e.order)), e.propertyBlacklist && (r.ex = X(e.propertyBlacklist)), e.referencePathsToExpand && (r.r = X(e.referencePathsToExpand)), r;
136
+ return e.order && (i.o = X(e.order)), e.propertiesToExclude && (i.ex = X(e.propertiesToExclude)), e.referencePathsToExpand && (i.r = X(e.referencePathsToExpand)), i;
125
137
  }
126
138
  },
127
139
  actions: {
@@ -134,10 +146,10 @@ const De = {
134
146
  * Configuration is retained, but REST collection contents and contextual state are reset.
135
147
  */
136
148
  reset() {
137
- for (const e in Z)
138
- this[e] = Z[e];
139
- for (const e in ne)
140
- this[e] = ne[e];
149
+ for (const e in Y)
150
+ this[e] = Y[e];
151
+ for (const e in oe)
152
+ this[e] = oe[e];
141
153
  },
142
154
  /**
143
155
  * Reset the store to its initial state, but retain transient data if appropriate.
@@ -146,7 +158,7 @@ const De = {
146
158
  * Transient data are retained if options.limitTransientDataToLocalCollection is false.
147
159
  */
148
160
  resetRetainingTransientData() {
149
- if (s.limitTransientDataToLocalCollection)
161
+ if (r.limitTransientDataToLocalCollection)
150
162
  this.reset();
151
163
  else {
152
164
  const e = this.transientData;
@@ -189,8 +201,8 @@ const De = {
189
201
  * need to be reloaded.
190
202
  */
191
203
  async setQuery(e) {
192
- var r, t;
193
- if (!a.isEqual(e, (r = this.filter) == null ? void 0 : r.query) && (e != null || ((t = this.filter) == null ? void 0 : t.query) != null)) {
204
+ var i, t;
205
+ if (!a.isEqual(e, (i = this.filter) == null ? void 0 : i.query) && (e != null || ((t = this.filter) == null ? void 0 : t.query) != null)) {
194
206
  const l = a.cloneDeep(this.filter) || {};
195
207
  e !== null ? l.query = e : a.unset(l, "query");
196
208
  const u = this.status;
@@ -208,10 +220,10 @@ const De = {
208
220
  */
209
221
  async setFilterResourceIds(e) {
210
222
  if (!a.isEqual(e, a.get(this.filter, "resourceIds"))) {
211
- const r = a.cloneDeep(this.filter) || {};
212
- e != null ? r.resourceIds = e : a.unset(r, "resourceIds");
223
+ const i = a.cloneDeep(this.filter) || {};
224
+ e != null ? i.resourceIds = e : a.unset(i, "resourceIds");
213
225
  const t = this.status;
214
- this.setFilter(r), t != "NotLoaded" && await this.loadResources();
226
+ this.setFilter(i), t != "NotLoaded" && await this.loadResources();
215
227
  }
216
228
  },
217
229
  // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -237,8 +249,8 @@ const De = {
237
249
  * Configuration and contextual state are retained, but REST collection contents are reset.
238
250
  */
239
251
  clear() {
240
- for (const e in Z)
241
- this[e] = Z[e];
252
+ for (const e in Y)
253
+ this[e] = Y[e];
242
254
  },
243
255
  /**
244
256
  * Clear the collection's contents, but retain transient data if appropriate.
@@ -247,7 +259,7 @@ const De = {
247
259
  * Transient data are retained if options.limitTransientDataToLocalCollection is false.
248
260
  */
249
261
  clearRetainingTransientData() {
250
- if (s.limitTransientDataToLocalCollection)
262
+ if (r.limitTransientDataToLocalCollection)
251
263
  this.reset();
252
264
  else {
253
265
  const e = this.transientData;
@@ -272,8 +284,8 @@ const De = {
272
284
  */
273
285
  async loadResources(e = {}) {
274
286
  this.resetRetainingTransientData();
275
- const r = H();
276
- this._loadId = r, await this._loadResources(0, r, e);
287
+ const i = H();
288
+ this._loadId = i, await this._loadResources(0, i, e);
277
289
  },
278
290
  /**
279
291
  * Load the collection, optionally starting at some offset.
@@ -288,33 +300,30 @@ const De = {
288
300
  * be written to the store's state property named loadId.
289
301
  * @param loadOptions Pagination options that may override the defaults.
290
302
  */
291
- async _loadResources(e, r, t) {
292
- var z, F, A, B, O;
303
+ async _loadResources(e, i, t) {
304
+ var x, A, N, O, k;
293
305
  const l = e == 0;
294
- if (this.status = l ? "Loading" : "LoadingMore", this._loadOffset = e, ((z = this.filter) == null ? void 0 : z.query) === !1) {
306
+ if (this.status = l ? "Loading" : "LoadingMore", this._loadOffset = e, ((x = this.filter) == null ? void 0 : x.query) === !1) {
295
307
  this.resources = [], this.remoteCollectionSize = 0;
296
308
  return;
297
309
  }
298
- const u = this.fixedQueryParams, c = a.cloneDeep(u), d = l ? (F = this.filter) != null && F.resourceIds && !this.order ? null : t.firstPageSize || ((A = s.loading) == null ? void 0 : A.firstPageSize) || t.pageSize || ((B = s.loading) == null ? void 0 : B.pageSize) || null : t.pageSize || ((O = s.loading) == null ? void 0 : O.pageSize) || null, y = d != null || s.limit != null ? a.min(a.filter([d, s.limit], (g) => g != null)) : void 0;
299
- y != null ? (c.offset = e, c.limit = y) : e != 0 && (c.offset = e);
300
- const U = a.map(
301
- c,
302
- (g, m) => g != null ? `${encodeURIComponent(m)}=${encodeURIComponent(g)}` : null
303
- ).filter((g) => g != null).join("&"), L = a.isEmpty(U) ? s.restCollectionUrl : `${s.restCollectionUrl}?${U}`;
310
+ const u = this.fixedQueryParams, c = a.cloneDeep(u), d = l ? (A = this.filter) != null && A.resourceIds && !this.order ? null : t.firstPageSize || ((N = r.loading) == null ? void 0 : N.firstPageSize) || t.pageSize || ((O = r.loading) == null ? void 0 : O.pageSize) || null : t.pageSize || ((k = r.loading) == null ? void 0 : k.pageSize) || null, m = d != null || r.limit != null ? a.min(a.filter([d, r.limit], (P) => P != null)) : void 0;
311
+ m != null ? (c.offset = e, c.limit = m) : e != 0 && (c.offset = e);
312
+ const D = $e(r.restCollectionUrl, c);
304
313
  try {
305
- const g = await P.get(L), m = this.fixedQueryParams;
306
- if (r != this._loadId || e != this._loadOffset || !a.isEqual(u, m))
307
- console.log(`Discarding resources fetched by obsolete query from ${s.restCollectionUrl}.`);
314
+ const P = await L.get(D), y = this.fixedQueryParams;
315
+ if (i != this._loadId || e != this._loadOffset || !a.isEqual(u, y))
316
+ console.log(`Discarding resources fetched by obsolete query from ${r.restCollectionUrl}.`);
308
317
  else {
309
- const E = me.decode(a.get(g, "data.data", [])), C = (l ? 0 : this.resources.length) + E.length, D = y == null || E.length < y || s.limit && C >= s.limit;
318
+ const S = pe.decode(a.get(P, "data.data", [])), T = (l ? 0 : this.resources.length) + S.length, E = m == null || S.length < m || r.limit && T >= r.limit;
310
319
  console.log(
311
- `Loaded ${E.length}${l ? "" : " more"} resources from ${s.restCollectionUrl}`
320
+ `Loaded ${S.length}${l ? "" : " more"} resources from ${r.restCollectionUrl}`
312
321
  ), l && (this.resources = []);
313
- const W = [...this.resources, ...E.map((J) => Object.freeze(J))];
314
- this.resources = $e(W, this), a.get(g, "data.totalCollectionSize") ? this.remoteCollectionSize = a.get(g, "data.totalCollectionSize") : this.remoteCollectionSize = null, this.status = D ? "Loaded" : "LoadingMore", D || this._loadResources(this.resources.length, r, t);
322
+ const U = [...this.resources, ...S.map((W) => Object.freeze(W))];
323
+ this.resources = xe(U, this), a.get(P, "data.totalCollectionSize") ? this.remoteCollectionSize = a.get(P, "data.totalCollectionSize") : this.remoteCollectionSize = null, this.status = E ? "Loaded" : "LoadingMore", E || this._loadResources(this.resources.length, i, t);
315
324
  }
316
- } catch (g) {
317
- console.log(`Error while loading resources (URL="${L}"):`, g), this.clearRetainingTransientData(), this.status = "Failed";
325
+ } catch (P) {
326
+ console.log(`Error while loading resources (URL="${D}"):`, P), this.clearRetainingTransientData(), this.status = "Failed";
318
327
  }
319
328
  },
320
329
  // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -330,13 +339,13 @@ const De = {
330
339
  * @return true if the record does not exist in the remote collection, false if it does or if an error occurred.
331
340
  */
332
341
  async checkForDeletedResource(e) {
333
- let r;
342
+ let i;
334
343
  try {
335
- r = await P.get(`${s.restCollectionUrl}/${e}`);
344
+ i = await L.get(`${r.restCollectionUrl}/${e}`);
336
345
  } catch (t) {
337
- P.isAxiosError(t) && (r = t.response);
346
+ L.isAxiosError(t) && (i = t.response);
338
347
  }
339
- return r && r.status == 404 ? (this.recordDeletion(e), !0) : !1;
348
+ return i && i.status == 404 ? (this.recordDeletion(e), !0) : !1;
340
349
  },
341
350
  /**
342
351
  * Record a deletion, removing the deleted resource from the local collection.
@@ -348,10 +357,10 @@ const De = {
348
357
  * @param resourceId The ID of the resource that has been deleted.
349
358
  */
350
359
  recordDeletion(e) {
351
- var r;
360
+ var i;
352
361
  if (["Loaded", "LoadingMore"].includes(this.status)) {
353
362
  let t = this.resources.findIndex((l) => v(l, this) == e);
354
- t >= 0 && this.resources.splice(t, 1), t = this.selection.findIndex((l) => v(l, this) == e), t >= 0 && this.selection.splice(t, 1), t = this.detailSelection.findIndex((l) => v(l, this) == e), t >= 0 && (this.detailSelection.splice(t, 1), this.detailSelection.length == 0 && (this.editingDetailSelection = ((r = s.detail) == null ? void 0 : r.autoEdit) || !1)), s.limitTransientDataToLocalCollection && delete this.transientData[e];
363
+ t >= 0 && this.resources.splice(t, 1), t = this.selection.findIndex((l) => v(l, this) == e), t >= 0 && this.selection.splice(t, 1), t = this.detailSelection.findIndex((l) => v(l, this) == e), t >= 0 && (this.detailSelection.splice(t, 1), this.detailSelection.length == 0 && (this.editingDetailSelection = ((i = r.detail) == null ? void 0 : i.autoEdit) || !1)), r.limitTransientDataToLocalCollection && delete this.transientData[e];
355
364
  }
356
365
  },
357
366
  /**
@@ -369,11 +378,11 @@ const De = {
369
378
  * @param resource The item that has been inserted.
370
379
  * @param TODO
371
380
  */
372
- recordInsertion(e, { insertAtBeginning: r, transientData: t } = {}) {
381
+ recordInsertion(e, { insertAtBeginning: i, transientData: t } = {}) {
373
382
  var l;
374
383
  if (["Loaded", "LoadingMore"].includes(this.status)) {
375
384
  const u = Object.freeze(e);
376
- r ? this.resources.unshift(u) : this.resources.push(u), (l = s.detail) != null && l.autoFromSingleInsertion && (this.detailSelection.length == 0 || this.detailSelection.length == 1 && v(this.detailSelection[0], this) == null) && (this.detailSelection = [u], this.editingDetailSelection = s.detail.autoEdit);
385
+ i ? this.resources.unshift(u) : this.resources.push(u), (l = r.detail) != null && l.autoFromSingleInsertion && (this.detailSelection.length == 0 || this.detailSelection.length == 1 && v(this.detailSelection[0], this) == null) && (this.detailSelection = [u], this.editingDetailSelection = r.detail.autoEdit);
377
386
  const c = v(e, this);
378
387
  c && (t === void 0 ? delete this.transientData[c] : this.transientData[c] = t);
379
388
  }
@@ -393,11 +402,11 @@ const De = {
393
402
  * @param resource The item that has been updated.
394
403
  */
395
404
  recordUpdate(e) {
396
- const r = v(e, this);
397
- if (r && ["Loaded", "LoadingMore"].includes(this.status)) {
405
+ const i = v(e, this);
406
+ if (i && ["Loaded", "LoadingMore"].includes(this.status)) {
398
407
  const t = Object.freeze(e);
399
- let l = this.resources.findIndex((u) => v(u, this) == r);
400
- l >= 0 && (this.resources[l] = t), l = this.selection.findIndex((u) => v(u, this) == r), l >= 0 && (this.selection[l] = t), l = this.detailSelection.findIndex((u) => v(u, this) == r), l >= 0 && (this.detailSelection[l] = t);
408
+ let l = this.resources.findIndex((u) => v(u, this) == i);
409
+ l >= 0 && (this.resources[l] = t), l = this.selection.findIndex((u) => v(u, this) == i), l >= 0 && (this.selection[l] = t), l = this.detailSelection.findIndex((u) => v(u, this) == i), l >= 0 && (this.detailSelection[l] = t);
401
410
  }
402
411
  },
403
412
  /**
@@ -414,12 +423,12 @@ const De = {
414
423
  */
415
424
  async refreshResource(e) {
416
425
  if (e) {
417
- const r = {};
418
- this.referencePathsToExpand && (r.r = X(this.referencePathsToExpand));
426
+ const i = {};
427
+ this.referencePathsToExpand && (i.r = X(this.referencePathsToExpand));
419
428
  const t = a.map(
420
- r,
429
+ i,
421
430
  (c, d) => c != null ? `${encodeURIComponent(d)}=${encodeURIComponent(c)}` : null
422
- ).filter((c) => c != null).join("&"), l = a.isEmpty(t) ? `${s.restCollectionUrl}/${e}` : `${s.restCollectionUrl}/${e}?${t}`, u = await P.get(l);
431
+ ).filter((c) => c != null).join("&"), l = a.isEmpty(t) ? `${r.restCollectionUrl}/${e}` : `${r.restCollectionUrl}/${e}?${t}`, u = await L.get(l);
423
432
  if (u.status == 200) {
424
433
  const c = u.data;
425
434
  return this.recordUpdate(c), c;
@@ -446,9 +455,9 @@ const De = {
446
455
  * @param resourceId The ID of the resource to delete.
447
456
  */
448
457
  async deleteResource(e) {
449
- if ((await P.delete(`${s.restCollectionUrl}/${e}`)).status == 200 && ["Loaded", "LoadingMore"].includes(this.status)) {
458
+ if ((await L.delete(`${r.restCollectionUrl}/${e}`)).status == 200 && ["Loaded", "LoadingMore"].includes(this.status)) {
450
459
  let t = this.resources.findIndex((l) => v(l, this) == e);
451
- t >= 0 && this.resources.splice(t, 1), t = this.selection.findIndex((l) => v(l, this) == e), t >= 0 && this.selection.splice(t, 1), t = this.detailSelection.findIndex((l) => v(l, this) == e), t >= 0 && (this.detailSelection.splice(t, 1), this.detailSelection.length == 0 && (this.editingDetailSelection = s.detail.autoEdit)), s.limitTransientDataToLocalCollection && delete this.transientData[e];
460
+ t >= 0 && this.resources.splice(t, 1), t = this.selection.findIndex((l) => v(l, this) == e), t >= 0 && this.selection.splice(t, 1), t = this.detailSelection.findIndex((l) => v(l, this) == e), t >= 0 && (this.detailSelection.splice(t, 1), this.detailSelection.length == 0 && (this.editingDetailSelection = r.detail.autoEdit)), r.limitTransientDataToLocalCollection && delete this.transientData[e];
452
461
  }
453
462
  },
454
463
  /**
@@ -463,9 +472,9 @@ const De = {
463
472
  * the operation failed.
464
473
  */
465
474
  async saveResource(e) {
466
- const r = v(e, this), t = r == null, l = await P({
475
+ const i = v(e, this), t = i == null, l = await L({
467
476
  method: t ? "post" : "put",
468
- url: t ? s.restCollectionUrl : `${s.restCollectionUrl}/${r}`,
477
+ url: t ? r.restCollectionUrl : `${r.restCollectionUrl}/${i}`,
469
478
  data: e
470
479
  });
471
480
  if (l.status == 200) {
@@ -485,16 +494,67 @@ const De = {
485
494
  * @returns An array of refreshed local resources, one for each remote resource whose save operation succeeded.
486
495
  */
487
496
  async saveResources(e) {
488
- const r = await P({
497
+ const i = await L({
489
498
  method: "put",
490
- url: s.restCollectionUrl,
499
+ url: r.restCollectionUrl,
491
500
  data: e
492
501
  });
493
- if (r.status == 200) {
494
- const t = r.data || [], l = [];
502
+ if (i.status == 200) {
503
+ const t = i.data || [], l = [];
495
504
  for (const [u, c] of t.entries()) {
496
- const d = v(e[u], this) == null, y = v(c, this), U = y ? await this.refreshResource(y) : null;
497
- d && this.recordInsertion(U || c), l.push(U || Object.freeze(c));
505
+ const d = v(e[u], this) == null, m = v(c, this), D = m ? await this.refreshResource(m) : null;
506
+ d && this.recordInsertion(D || c), l.push(D || Object.freeze(c));
507
+ }
508
+ return l;
509
+ }
510
+ return [];
511
+ },
512
+ /**
513
+ * Perform an update of a resource of the remote collection, then mirror the changes in the local collection.
514
+ *
515
+ * After writing changes, {@link refreshResource} is called to ensure that the local resource (which is also the
516
+ * return value) has the same object-graph characteristics as the rest of the local collection.
517
+ *
518
+ * @param partialResource The partial resource to merge.
519
+ * @returns The refreshed local resource after the change has been persisted to the remote collection, or null if
520
+ * the operation failed.
521
+ */
522
+ async updateResource(e) {
523
+ const i = v(e, this);
524
+ if (!i)
525
+ throw "To update a REST collection resource, the resource must have an ID.";
526
+ const t = await L({
527
+ method: "patch",
528
+ url: `${r.restCollectionUrl}/${i}`,
529
+ data: e
530
+ });
531
+ if (t.status == 200) {
532
+ const l = t.data, u = v(l, this);
533
+ return (u ? await this.refreshResource(u) : null) || l;
534
+ }
535
+ return null;
536
+ },
537
+ /**
538
+ * Perform an update of multiple resource of the remote collection, then mirror the changes in the local collection.
539
+ *
540
+ * After writing changes, {@link refreshResource} is called to ensure that the local resource (which is also the
541
+ * return value) has the same object-graph characteristics as the rest of the local collection.
542
+ *
543
+ * @param partialResources The partial resources to merge.
544
+ * @returns The refreshed local resource after the change has been persisted to the remote collection, or null if
545
+ * the operation failed.
546
+ */
547
+ async updateResources(e) {
548
+ const i = await L({
549
+ method: "patch",
550
+ url: `${r.restCollectionUrl}`,
551
+ data: e
552
+ });
553
+ if (i.status == 200) {
554
+ const t = i.data || [], l = [];
555
+ for (const u of t) {
556
+ const c = v(u, this), d = c ? await this.refreshResource(c) : null;
557
+ l.push(d || Object.freeze(u));
498
558
  }
499
559
  return l;
500
560
  }
@@ -515,7 +575,7 @@ const De = {
515
575
  * @param resourceIds The IDs of all local resources that failed validation.
516
576
  */
517
577
  setInvalidResourceIds(e) {
518
- a.isEqual(e, this.invalidResources.map((r) => v(r, this))) || (this.invalidResources = e.map((r) => this.resources.find((t) => v(t, this) == r)).filter((r) => r != null));
578
+ a.isEqual(e, this.invalidResources.map((i) => v(i, this))) || (this.invalidResources = e.map((i) => this.resources.find((t) => v(t, this) == i)).filter((i) => i != null));
519
579
  },
520
580
  /**
521
581
  * Set transient data.
@@ -525,8 +585,8 @@ const De = {
525
585
  * the transient data for each resource ID in the keys of transientData.
526
586
  */
527
587
  setTransientDataForResources(e) {
528
- const { transientData: r, merge: t = !0 } = e;
529
- t ? a.merge(this.transientData, r) : a.assign(this.transientData, r);
588
+ const { transientData: i, merge: t = !0 } = e;
589
+ t ? a.merge(this.transientData, i) : a.assign(this.transientData, i);
530
590
  },
531
591
  // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
532
592
  // Actions: Managing selections
@@ -543,8 +603,8 @@ const De = {
543
603
  * @param resourceIds The IDs of resources to remove from the selection.
544
604
  */
545
605
  deselectResources(e) {
546
- const r = this.selection.map((t) => v(t, this)).filter((t) => t != null && !e.includes(t));
547
- this.setSelection(r);
606
+ const i = this.selection.map((t) => v(t, this)).filter((t) => t != null && !e.includes(t));
607
+ this.setSelection(i);
548
608
  },
549
609
  /**
550
610
  * Add to or replace the selection.
@@ -554,12 +614,12 @@ const De = {
554
614
  * @param edit If not undefined, sets the editing mode of the new selection. If undefined, the editing mode will
555
615
  * be left as is, or set to true if options.detail.autoEdit is true.
556
616
  */
557
- selectResources(e, r) {
558
- const { addToSelection: t, edit: l } = r || {}, u = this.selection.map((d) => v(d, this));
617
+ selectResources(e, i) {
618
+ const { addToSelection: t, edit: l } = i || {}, u = this.selection.map((d) => v(d, this));
559
619
  let c = e;
560
620
  if (t) {
561
621
  const d = a.difference(e, u);
562
- d.length > 0 && (c = u.concat(d).filter((y) => y != null));
622
+ d.length > 0 && (c = u.concat(d).filter((m) => m != null));
563
623
  }
564
624
  a.isEqual(u, c) || this.setSelection(c, l);
565
625
  },
@@ -570,34 +630,34 @@ const De = {
570
630
  * @param edit If not undefined, sets the editing mode of the new selection. If undefined, the editing mode will
571
631
  * be left as is, or set to true if options.detail.autoEdit is true.
572
632
  */
573
- setSelection(e, r) {
633
+ setSelection(e, i) {
574
634
  if (!a.isEqual(e, this.selection.map((t) => v(t, this)))) {
575
635
  let t = !0;
576
636
  if (this.editors.length > 0) {
577
- if (s.detail.autoFromSingleSelection && this.selection.length == 1)
637
+ if (r.detail.autoFromSingleSelection && this.selection.length == 1)
578
638
  t = !1;
579
- else if (s.detail.autoFromMultipleSelection && s.detail.allowMultiple && this.selection.length > 1)
639
+ else if (r.detail.autoFromMultipleSelection && r.detail.allowMultiple && this.selection.length > 1)
580
640
  t = !1;
581
- else if (s.detail.constrainToSelection) {
641
+ else if (r.detail.constrainToSelection) {
582
642
  const l = this.selection.map((d) => v(d, this)), c = this.detailSelection.map((d) => v(d, this)).filter((d) => l.includes(d));
583
643
  this.detailSelection.filter((d) => !c.includes(v(d, this))).length > 0 && (t = !1);
584
644
  }
585
645
  }
586
646
  if (!t)
587
647
  return;
588
- if (this.selection = e.map((l) => this.resources.find((u) => v(u, this) == l)).filter((l) => l != null), s.detail.autoFromSingleSelection && this.selection.length == 1) {
648
+ if (this.selection = e.map((l) => this.resources.find((u) => v(u, this) == l)).filter((l) => l != null), r.detail.autoFromSingleSelection && this.selection.length == 1) {
589
649
  const l = this.selection[0];
590
650
  (this.detailSelection.length != 1 || v(this.detailSelection[0], this) != v(l, this)) && (this.detailSelection = [l]);
591
- } else if (s.detail.autoFromMultipleSelection && s.detail.allowMultiple && this.selection.length > 1)
651
+ } else if (r.detail.autoFromMultipleSelection && r.detail.allowMultiple && this.selection.length > 1)
592
652
  a.isEqual(
593
653
  this.selection.map((l) => v(l, this)),
594
654
  this.detailSelection.map((l) => v(l, this))
595
655
  ) || (this.detailSelection = a.clone(this.selection));
596
- else if (s.detail.constrainToSelection) {
656
+ else if (r.detail.constrainToSelection) {
597
657
  const l = this.selection.map((d) => v(d, this)), u = this.detailSelection.map((d) => v(d, this)), c = u.filter((d) => l.includes(d));
598
658
  a.isEqual(c, u) || (this.detailSelection = this.detailSelection.filter((d) => c.includes(v(d, this))));
599
659
  }
600
- this.detailSelection.length == 0 ? this.editingDetailSelection = !1 : this.editingDetailSelection = r !== void 0 ? r : this.editingDetailSelection || s.detail.autoEdit;
660
+ this.detailSelection.length == 0 ? this.editingDetailSelection = !1 : this.editingDetailSelection = i !== void 0 ? i : this.editingDetailSelection || r.detail.autoEdit;
601
661
  }
602
662
  },
603
663
  // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -621,9 +681,9 @@ const De = {
621
681
  * or set to true if options.detail.autoEdit is true.
622
682
  */
623
683
  showSelectionAsDetail(e) {
624
- if (this.selection.length <= 1 || s.detail.allowMultiple) {
625
- const r = this.selection.map((l) => v(l, this)), t = this.detailSelection.map((l) => v(l, this));
626
- a.isEqual(r, t) || (this.detailSelection = a.clone(this.selection)), this.detailSelection.length == 0 ? this.editingDetailSelection = !1 : this.editingDetailSelection = e !== void 0 ? e : this.editingDetailSelection || s.detail.autoEdit;
684
+ if (this.selection.length <= 1 || r.detail.allowMultiple) {
685
+ const i = this.selection.map((l) => v(l, this)), t = this.detailSelection.map((l) => v(l, this));
686
+ a.isEqual(i, t) || (this.detailSelection = a.clone(this.selection)), this.detailSelection.length == 0 ? this.editingDetailSelection = !1 : this.editingDetailSelection = e !== void 0 ? e : this.editingDetailSelection || r.detail.autoEdit;
627
687
  }
628
688
  },
629
689
  // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -635,7 +695,7 @@ const De = {
635
695
  * @param editor The editor to deregister.
636
696
  */
637
697
  deregisterEditor(e) {
638
- a.remove(this.editors, (r) => r == e);
698
+ a.remove(this.editors, (i) => i == e);
639
699
  },
640
700
  /**
641
701
  * Register an editor.
@@ -655,8 +715,8 @@ const De = {
655
715
  * @param listNavigator The list navigator. If defined, the named list navigator will only be deleted if it equals
656
716
  * this parameter.
657
717
  */
658
- deregisterListNavigator({ name: e, listNavigator: r }) {
659
- (r == null || this.listNavigators[e] == r) && delete this.listNavigators[e];
718
+ deregisterListNavigator({ name: e, listNavigator: i }) {
719
+ (i == null || this.listNavigators[e] == i) && delete this.listNavigators[e];
660
720
  },
661
721
  /**
662
722
  * Register a list navigator.
@@ -670,239 +730,241 @@ const De = {
670
730
  * @param name The name under which to register the list navigator.
671
731
  * @param listNavigator The list navigator.
672
732
  */
673
- registerListNavigator({ name: e, listNavigator: r }) {
674
- this.listNavigators[e] != r && (this.listNavigators[e] = r);
733
+ registerListNavigator({ name: e, listNavigator: i }) {
734
+ this.listNavigators[e] != i && (this.listNavigators[e] = i);
675
735
  }
676
736
  }
677
737
  });
678
738
  return (() => {
679
- const e = (r, t) => {
680
- const l = R(r, t);
681
- return re.registerStore(l.$id, l), l;
739
+ const e = (i, t) => {
740
+ const l = R(i, t);
741
+ return ie.registerStore(l.$id, l), l;
682
742
  };
683
743
  return e.$id = R.$id, e;
684
744
  })();
685
- }, re = new Ie(), Oe = (f = {}) => {
745
+ }, ie = new Ie(), Qe = (h = {}) => {
686
746
  var ue, de, he, fe;
687
747
  const {
688
- collectionId: s,
748
+ collectionId: r,
689
749
  draftBatchId: R,
690
- enabled: $,
750
+ enabled: w,
691
751
  resourceType: e,
692
- options: r
693
- } = f, t = I(void 0), l = I(s), u = I(R), c = I($ ?? !0), d = I([se(e)]), y = I(r), U = S(() => u.value), L = I(c.value), z = I(H()), F = I((de = (ue = y.value) == null ? void 0 : ue.filter) == null ? void 0 : de.resourceIds), A = I((fe = (he = y.value) == null ? void 0 : he.filter) == null ? void 0 : fe.query), B = S(
694
- () => u.value == null && l.value != null && re.getStore(l.value) != null
695
- ), O = I(B.value), g = S(() => C("status", "Uninitialized"));
696
- function m(i) {
752
+ options: i
753
+ } = h, t = I(void 0), l = I(r), u = I(R), c = I(w ?? !0), d = I([se(e)]), m = I(i), D = g(() => u.value), x = I(c.value), A = I(H()), N = I((de = (ue = m.value) == null ? void 0 : ue.filter) == null ? void 0 : de.resourceIds), O = I((fe = (he = m.value) == null ? void 0 : he.filter) == null ? void 0 : fe.query), k = g(
754
+ () => u.value == null && l.value != null && ie.getStore(l.value) != null
755
+ ), P = I(k.value), y = g(() => E("status", "Uninitialized"));
756
+ function S(s) {
697
757
  if (t.value)
698
- return i(t.value);
758
+ return s(t.value);
699
759
  }
700
- async function E(i) {
760
+ async function T(s) {
701
761
  if (t.value)
702
- return await i(t.value);
762
+ return await s(t.value);
703
763
  }
704
- function C(i, o) {
764
+ function E(s, o) {
705
765
  if (t.value)
706
- return t.value[i];
766
+ return t.value[s];
707
767
  if (o !== void 0)
708
768
  return o;
709
769
  throw "Attempted to use a REST collection store that has not been created, with no default value.";
710
770
  }
711
- const D = (i = {}) => {
712
- var ie, ve, ge, Re;
771
+ const U = (s = {}) => {
772
+ var te, ve, Re, ge;
713
773
  const {
714
774
  collectionId: o,
715
- draftBatchId: w,
716
- enabled: q,
775
+ draftBatchId: C,
776
+ enabled: F,
717
777
  resourceType: le,
718
- options: te
719
- } = i;
720
- l.value = o, u.value = w, c.value = q ?? !0, d.value = [se(le)], te != null && (y.value = te, F.value = (ve = (ie = y.value) == null ? void 0 : ie.filter) == null ? void 0 : ve.resourceIds, A.value = (Re = (ge = y.value) == null ? void 0 : ge.filter) == null ? void 0 : Re.query), z.value = H(), W(c.value);
721
- }, W = async (i) => {
722
- i != L.value && (L.value = i, i && (Y(), b()));
723
- }, J = async (i) => {
724
- F.value = i, await E(async (o) => await o.setFilterResourceIds(F.value || null));
725
- }, K = async (i) => {
726
- if (A.value = i, g.value != "Uninitialized") {
727
- const o = i, w = S(() => a.isFunction(o) ? p.value ? o(p.value) : null : o);
728
- await E((q) => q.setQuery(w.value || null));
778
+ options: ee
779
+ } = s;
780
+ l.value = o, u.value = C, c.value = F ?? !0, d.value = [se(le)], ee != null && (m.value = ee, N.value = (ve = (te = m.value) == null ? void 0 : te.filter) == null ? void 0 : ve.resourceIds, O.value = (ge = (Re = m.value) == null ? void 0 : Re.filter) == null ? void 0 : ge.query), A.value = H(), W(c.value);
781
+ }, W = async (s) => {
782
+ s != x.value && (x.value = s, s && (K(), z()));
783
+ }, re = async (s) => {
784
+ N.value = s, await T(async (o) => await o.setFilterResourceIds(N.value || null));
785
+ }, J = async (s) => {
786
+ if (O.value = s, y.value != "Uninitialized") {
787
+ const o = s, C = g(() => a.isFunction(o) ? p.value ? o(p.value) : null : o);
788
+ await T((F) => F.setQuery(C.value || null));
729
789
  }
730
- }, Y = () => {
731
- y.value = a.merge({}, y.value || {}, {
732
- filter: { resourceIds: F.value, query: A.value }
790
+ }, K = () => {
791
+ m.value = a.merge({}, m.value || {}, {
792
+ filter: { resourceIds: N.value, query: O.value }
733
793
  });
734
- }, p = S(
794
+ }, p = g(
735
795
  () => d.value[0].value || void 0
736
- ), _ = function(i) {
737
- const o = a.get(i, "filter.query"), w = a.get(i, "propertyBlacklist"), q = a.get(i, "referencePathsToExpand"), le = a.isFunction(o) ? o(p.value) : o, te = p.value ? a.isFunction(w) ? w(p.value) : w || [] : [], ie = p.value ? a.isFunction(q) ? q(p.value) : q || [] : [];
796
+ ), B = function(s) {
797
+ const o = a.get(s, "filter.query"), C = a.get(s, "propertiesToExclude"), F = a.get(s, "referencePathsToExpand"), le = a.isFunction(o) ? o(p.value) : o, ee = p.value ? a.isFunction(C) ? C(p.value) : C || [] : [], te = p.value ? a.isFunction(F) ? F(p.value) : F || [] : [];
738
798
  return {
739
- ...a.cloneDeep(i || {}),
799
+ ...a.cloneDeep(s || {}),
740
800
  filter: {
741
- ...a.cloneDeep((i == null ? void 0 : i.filter) || {}),
801
+ ...a.cloneDeep((s == null ? void 0 : s.filter) || {}),
742
802
  query: le
743
803
  },
744
- propertyBlacklist: te,
745
- referencePathsToExpand: ie
804
+ propertiesToExclude: ee,
805
+ referencePathsToExpand: te
746
806
  };
747
- }, x = S(() => _(y.value)), Q = S(() => {
748
- if (x.value.restCollectionUrl !== void 0)
749
- return x.value.restCollectionUrl;
750
- if (!O.value)
751
- return !p.value || !p.value.collectionName ? null : U.value ? `${ee.config.apiBaseUrl}/draft-batches/${U.value}/${p.value.collectionName}` : `${ee.config.apiBaseUrl}/${p.value.collectionName}`;
752
- }), n = S(() => {
753
- var i;
807
+ }, q = g(() => B(m.value)), j = g(() => {
808
+ if (q.value.restCollectionUrl !== void 0)
809
+ return q.value.restCollectionUrl;
810
+ if (!P.value)
811
+ return !p.value || !p.value.collectionName ? null : D.value ? `${V.config.apiBaseUrl}/draft-batches/${D.value}/${p.value.collectionName}` : `${V.config.apiBaseUrl}/${p.value.collectionName}`;
812
+ }), n = g(() => {
813
+ var s;
754
814
  if (p.value)
755
815
  return a.mergeWith(
756
- a.cloneDeep(De),
757
- x.value,
816
+ a.cloneDeep(we),
817
+ q.value,
758
818
  {
759
- idProperty: (i = p.value) == null ? void 0 : i.idProperty,
760
- restCollectionUrl: Q.value || ""
819
+ idProperty: (s = p.value) == null ? void 0 : s.idProperty,
820
+ restCollectionUrl: j.value || ""
761
821
  },
762
- (o, w) => {
763
- if (a.isArray(w) && w.length == 0 && (o == null || a.isArray(o)))
764
- return w;
822
+ (o, C) => {
823
+ if (a.isArray(C) && C.length == 0 && (o == null || a.isArray(o)))
824
+ return C;
765
825
  }
766
826
  );
767
- }), h = I(0), N = S(
827
+ }), f = I(0), b = g(
768
828
  () => {
769
- var i;
770
- return h.value, l.value || p.value && ((i = p.value) == null ? void 0 : i.collectionName) && (U.value ? `draftBatches/${U.value}/${p.value.collectionName}/${z.value}` : `${p.value.collectionName}/${z.value}`) || null;
829
+ var s;
830
+ return f.value, l.value || p.value && ((s = p.value) == null ? void 0 : s.collectionName) && (D.value ? `draftBatches/${D.value}/${p.value.collectionName}/${A.value}` : `${p.value.collectionName}/${A.value}`) || null;
771
831
  }
772
- ), b = () => {
773
- if (L.value) {
774
- let i = !1;
775
- return p.value && N.value && (t.value = re.getStore(N.value), t.value ? i = !1 : n.value && (O.value = !1, t.value = Pe(N.value, n.value)(), i = !0)), i;
832
+ ), z = () => {
833
+ if (x.value) {
834
+ let s = !1;
835
+ return p.value && b.value && (t.value = ie.getStore(b.value), t.value ? s = !1 : n.value && (P.value = !1, t.value = Pe(b.value, n.value)(), s = !0)), s;
776
836
  } else
777
837
  return !1;
778
838
  }, G = () => {
779
- N.value && l.value == N.value ? (t.value = void 0, b()) : (t.value = void 0, h.value = h.value + 1, b());
839
+ b.value && l.value == b.value ? (t.value = void 0, z()) : (t.value = void 0, f.value = f.value + 1, z());
780
840
  };
781
- T(U, (i, o) => {
782
- a.isEqual(i, o) || G();
783
- }), T(L, (i, o) => {
784
- i != o && (i ? b() : t.value = void 0);
785
- }), T(p, (i, o) => {
786
- i && !o ? b() : !i && o || a.isEqual(i, o) || G();
787
- }), T(n, (i, o) => {
788
- a.isEqual(i, o) || G();
789
- }), T(B, () => {
790
- B.value || (O.value = !1);
791
- }), T(N, () => b()), T(Q, (i, o) => {
792
- a.isEqual(i, o) || G();
841
+ $(D, (s, o) => {
842
+ a.isEqual(s, o) || G();
843
+ }), $(x, (s, o) => {
844
+ s != o && (s ? z() : t.value = void 0);
845
+ }), $(p, (s, o) => {
846
+ s && !o ? z() : !s && o || a.isEqual(s, o) || G();
847
+ }), $(n, (s, o) => {
848
+ a.isEqual(s, o) || G();
849
+ }), $(k, () => {
850
+ k.value || (P.value = !1);
851
+ }), $(b, () => z()), $(j, (s, o) => {
852
+ a.isEqual(s, o) || G();
793
853
  });
794
- const j = [], Ee = function(i) {
795
- g.value != "Uninitialized" ? Le(i) : j.push(i);
854
+ const M = [], De = function(s) {
855
+ y.value != "Uninitialized" ? Le(s) : M.push(s);
796
856
  };
797
- return T(g, (i, o) => {
798
- if (i != "Uninitialized" && o == "Uninitialized") {
799
- const w = a.clone(j);
800
- j.splice(0, j.length);
801
- for (const q of w)
802
- q();
857
+ return $(y, (s, o) => {
858
+ if (s != "Uninitialized" && o == "Uninitialized") {
859
+ const C = a.clone(M);
860
+ M.splice(0, M.length);
861
+ for (const F of C)
862
+ F();
803
863
  }
804
- }), b(), {
864
+ }), z(), {
805
865
  // Configuration
806
- collectionId: N,
807
- draftBatchId: U,
866
+ collectionId: b,
867
+ draftBatchId: D,
808
868
  resourceType: p,
809
- restCollectionUrl: Q,
869
+ restCollectionUrl: g(() => E("restCollectionUrl", null)),
810
870
  // Status
811
- enabled: L,
812
- status: g,
813
- batchSaveAttempted: S(() => C("batchSaveAttempted", !1)),
814
- listNavigators: S(() => C("listNavigators", !1)),
871
+ enabled: x,
872
+ status: y,
873
+ batchSaveAttempted: g(() => E("batchSaveAttempted", !1)),
874
+ listNavigators: g(() => E("listNavigators", !1)),
815
875
  // Resources loaded from the REST API
816
- invalidResources: S(() => C("invalidResources", [])),
817
- resources: S(() => g.value != "Uninitialized" ? (E((i) => i.ensureCollectionLoaded()), C("resources", [])) : []),
818
- remoteCollectionSize: S(() => C("remoteCollectionSize", null)),
876
+ invalidResources: g(() => E("invalidResources", [])),
877
+ resources: g(() => y.value != "Uninitialized" ? (T((s) => s.ensureCollectionLoaded()), E("resources", [])) : []),
878
+ remoteCollectionSize: g(() => E("remoteCollectionSize", null)),
819
879
  // Transient data
820
- transientData: S(() => C("transientData", [])),
880
+ transientData: g(() => E("transientData", [])),
821
881
  // Selection and detail selection
822
- detailSelection: S(() => C("detailSelection", [])),
823
- editingDetailSelection: S(() => C("editingDetailSelection", !1)),
824
- selection: S(() => C("selection", [])),
882
+ detailSelection: g(() => E("detailSelection", [])),
883
+ editingDetailSelection: g(() => E("editingDetailSelection", !1)),
884
+ selection: g(() => E("selection", [])),
825
885
  // Methods: Configuration
826
- reconfigureCollection: D,
827
- setEditingDetailSelection: (i) => m(
828
- (o) => o.setEditingDetailSelection(i)
886
+ reconfigureCollection: U,
887
+ setEditingDetailSelection: (s) => S(
888
+ (o) => o.setEditingDetailSelection(s)
829
889
  ),
830
890
  setEnabled: W,
831
- setFilterResourceIds: J,
832
- setQuery: K,
891
+ setFilterResourceIds: re,
892
+ setQuery: J,
833
893
  // Methods: Status
834
- ensureStore: b,
894
+ ensureStore: z,
835
895
  // TODO Rename
836
- setBatchSaveAttempted: (i) => m((o) => o.setBatchSaveAttempted(i)),
896
+ setBatchSaveAttempted: (s) => S((o) => o.setBatchSaveAttempted(s)),
837
897
  // Local collection management
838
- clear: () => m((i) => i.clear()),
839
- ensureCollectionLoaded: async () => await E(async (i) => i.ensureCollectionLoaded()),
840
- loadResources: async () => await E(async (i) => await i.loadResources()),
898
+ clear: () => S((s) => s.clear()),
899
+ ensureCollectionLoaded: async () => await T(async (s) => s.ensureCollectionLoaded()),
900
+ loadResources: async () => await T(async (s) => await s.loadResources()),
841
901
  // Methods: Recording changes to the collection
842
- addResource: (i) => m((o) => o.addResource(i)),
843
- checkForDeletedResource: async (i) => await E(async (o) => await o.checkForDeletedResource(i)) == !0,
844
- recordDeletion: (i) => m((o) => o.recordDeletion(i)),
845
- recordInsertion: (i, { insertAtBeginning: o = !1, transientData: w = void 0 } = {}) => m((q) => q.recordInsertion(i, { insertAtBeginning: o, transientData: w })),
846
- recordUpdate: (i) => m((o) => o.recordUpdate(i)),
847
- refreshResource: async (i) => await E(
848
- async (o) => await o.refreshResource(i)
902
+ addResource: (s) => S((o) => o.addResource(s)),
903
+ checkForDeletedResource: async (s) => await T(async (o) => await o.checkForDeletedResource(s)) == !0,
904
+ recordDeletion: (s) => S((o) => o.recordDeletion(s)),
905
+ recordInsertion: (s, { insertAtBeginning: o = !1, transientData: C = void 0 } = {}) => S((F) => F.recordInsertion(s, { insertAtBeginning: o, transientData: C })),
906
+ recordUpdate: (s) => S((o) => o.recordUpdate(s)),
907
+ refreshResource: async (s) => await T(
908
+ async (o) => await o.refreshResource(s)
849
909
  ),
850
910
  // Methods: Modifying the collection
851
- deleteResource: async (i) => await E(
852
- async (o) => await o.deleteResource(i)
911
+ deleteResource: async (s) => await T(
912
+ async (o) => await o.deleteResource(s)
853
913
  ),
854
- saveResource: async (i) => await E(async (o) => await o.saveResource(i)),
855
- saveResources: async (i) => await E(async (o) => await o.saveResources(i)),
914
+ saveResource: async (s) => await T(async (o) => await o.saveResource(s)),
915
+ saveResources: async (s) => await T(async (o) => await o.saveResources(s)),
916
+ updateResource: async (s) => await T(async (o) => await o.updateResource(s)),
917
+ updateResources: async (s) => await T(async (o) => await o.updateResources(s)),
856
918
  // Methods: Transient data
857
- clearTransientData: () => m((i) => i.clearTransientData()),
858
- setInvalidResourceIds: (i) => m((o) => o.setInvalidResourceIds(i)),
859
- setTransientDataForResources: (i) => m(
860
- (o) => o.setTransientDataForResources(i)
919
+ clearTransientData: () => S((s) => s.clearTransientData()),
920
+ setInvalidResourceIds: (s) => S((o) => o.setInvalidResourceIds(s)),
921
+ setTransientDataForResources: (s) => S(
922
+ (o) => o.setTransientDataForResources(s)
861
923
  ),
862
924
  // Methods: Selection and detail selection
863
- clearSelection: () => m((i) => i.clearSelection()),
864
- deselectResources: (i) => m((o) => o.deselectResources(i)),
865
- selectResources: (i, o) => m(
866
- (w) => w.selectResources(i, o)
925
+ clearSelection: () => S((s) => s.clearSelection()),
926
+ deselectResources: (s) => S((o) => o.deselectResources(s)),
927
+ selectResources: (s, o) => S(
928
+ (C) => C.selectResources(s, o)
867
929
  ),
868
930
  // Methods: Managing the detail view
869
- hideDetail: () => m((i) => i.hideDetail()),
931
+ hideDetail: () => S((s) => s.hideDetail()),
870
932
  // Methods: Editors
871
- deregisterEditor: (i) => m((o) => o.deregisterEditor(i)),
872
- registerEditor: (i) => m((o) => o.registerEditor(i)),
933
+ deregisterEditor: (s) => S((o) => o.deregisterEditor(s)),
934
+ registerEditor: (s) => S((o) => o.registerEditor(s)),
873
935
  // Methods: List navigators
874
- deregisterListNavigator: (i) => m((o) => o.deregisterListNavigator(i)),
875
- registerListNavigator: (i) => m((o) => o.registerListNavigator(i)),
936
+ deregisterListNavigator: (s) => S((o) => o.deregisterListNavigator(s)),
937
+ registerListNavigator: (s) => S((o) => o.registerListNavigator(s)),
876
938
  // Callbacks
877
- onItemsStoreReady: Ee
939
+ onItemsStoreReady: De
878
940
  };
879
- }, Qe = () => {
880
- re.clearAllStores();
941
+ }, je = () => {
942
+ ie.clearAllStores();
881
943
  };
882
- function oe(f, s) {
883
- return a.get(f, (s == null ? void 0 : s.idProperty) || "_id");
944
+ function ne(h, r) {
945
+ return a.get(h, (r == null ? void 0 : r.idProperty) || "_id");
884
946
  }
885
947
  const Ue = {
886
948
  idProperty: "_id"
887
- }, V = {
949
+ }, Z = {
888
950
  resource: null,
889
951
  status: "NotLoaded"
890
- }, xe = (f, s) => {
891
- s = a.merge({}, Ue, s);
892
- const R = pe(f, {
952
+ }, qe = (h, r) => {
953
+ r = a.merge({}, Ue, r);
954
+ const R = me(h, {
893
955
  state: () => ({
894
- idProperty: s.idProperty,
895
- resourceId: s.resourceId || null,
896
- resourceUrl: s.resourceUrl || null,
897
- referencePathsToExpand: s.referencePathsToExpand || null,
898
- ...V
956
+ idProperty: r.idProperty,
957
+ resourceId: r.resourceId || null,
958
+ resourceUrl: r.resourceUrl || null,
959
+ referencePathsToExpand: r.referencePathsToExpand || null,
960
+ ...Z
899
961
  }),
900
962
  getters: {
901
- currentResourceUrl: (e) => e.resourceUrl || (s.restCollectionUrl && e.resourceId ? `${s.restCollectionUrl}/${e.resourceId}` : null) || s.restCollectionUrl || null,
963
+ currentResourceUrl: (e) => e.resourceUrl || (r.restCollectionUrl && e.resourceId ? `${r.restCollectionUrl}/${e.resourceId}` : null) || r.restCollectionUrl || null,
902
964
  /** Get the REST query parameters that can be determined from the options. */
903
965
  fixedQueryParams: (e) => {
904
- const r = {};
905
- return e.referencePathsToExpand && (r.r = X(e.referencePathsToExpand)), r;
966
+ const i = {};
967
+ return e.referencePathsToExpand && (i.r = X(e.referencePathsToExpand)), i;
906
968
  }
907
969
  },
908
970
  actions: {
@@ -915,16 +977,16 @@ const Ue = {
915
977
  * Configuration is retained, but REST resource content and contextual state are reset.
916
978
  */
917
979
  reset() {
918
- for (const e in V)
919
- this[e] = V[e];
980
+ for (const e in Z)
981
+ this[e] = Z[e];
920
982
  },
921
983
  async setResourceId(e) {
922
- const r = this.currentResourceUrl;
923
- this.resourceId = e, !a.isEqual(this.currentResourceUrl, r) && this.status != "NotLoaded" && await this.loadResource();
984
+ const i = this.currentResourceUrl;
985
+ this.resourceId = e, !a.isEqual(this.currentResourceUrl, i) && this.status != "NotLoaded" && await this.loadResource();
924
986
  },
925
987
  async setResourceUrl(e) {
926
- const r = this.currentResourceUrl;
927
- this.resourceUrl = e, !a.isEqual(this.currentResourceUrl, r) && this.status != "NotLoaded" && await this.loadResource();
988
+ const i = this.currentResourceUrl;
989
+ this.resourceUrl = e, !a.isEqual(this.currentResourceUrl, i) && this.status != "NotLoaded" && await this.loadResource();
928
990
  },
929
991
  // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
930
992
  // Actions: Loading and unloading the collection
@@ -935,8 +997,8 @@ const Ue = {
935
997
  * Configuration and contextual state are retained, but REST collection contents are reset.
936
998
  */
937
999
  clear() {
938
- for (const e in V)
939
- this[e] = V[e];
1000
+ for (const e in Z)
1001
+ this[e] = Z[e];
940
1002
  },
941
1003
  /**
942
1004
  * Load the resource, if it has not been loaded.
@@ -956,13 +1018,13 @@ const Ue = {
956
1018
  const e = H();
957
1019
  if (this._loadId = e, this.currentResourceUrl) {
958
1020
  this.status = "Loading";
959
- const r = this.fixedQueryParams, t = a.cloneDeep(r), l = a.map(
1021
+ const i = this.fixedQueryParams, t = a.cloneDeep(i), l = a.map(
960
1022
  t,
961
1023
  (c, d) => c != null ? `${encodeURIComponent(d)}=${encodeURIComponent(c)}` : null
962
1024
  ).filter((c) => c != null).join("&"), u = a.isEmpty(l) ? this.currentResourceUrl : `${this.currentResourceUrl}?${l}`;
963
1025
  try {
964
- const c = await P.get(u), d = this.fixedQueryParams;
965
- e != this._loadId || !a.isEqual(r, d) ? console.log(`Discarding resource fetched by obsolete query from ${u}.`) : (this.resource = me.decode(a.get(c, "data", {})), this.status = "Loaded");
1026
+ const c = await L.get(u), d = this.fixedQueryParams;
1027
+ e != this._loadId || !a.isEqual(i, d) ? console.log(`Discarding resource fetched by obsolete query from ${u}.`) : (this.resource = pe.decode(a.get(c, "data", {})), this.status = "Loaded");
966
1028
  } catch (c) {
967
1029
  console.log(`Error while loading resource (URL="${u}")`, c), this.reset(), this.status = "Failed";
968
1030
  }
@@ -984,9 +1046,9 @@ const Ue = {
984
1046
  if (this.currentResourceUrl) {
985
1047
  let e;
986
1048
  try {
987
- e = await P.get(this.currentResourceUrl);
988
- } catch (r) {
989
- P.isAxiosError(r) && (e = r.response);
1049
+ e = await L.get(this.currentResourceUrl);
1050
+ } catch (i) {
1051
+ L.isAxiosError(i) && (e = i.response);
990
1052
  }
991
1053
  return e && e.status == 404 ? (this.recordDeletion(), !0) : !1;
992
1054
  } else
@@ -1021,7 +1083,7 @@ const Ue = {
1021
1083
  * @param resource The resource that has been inserted.
1022
1084
  */
1023
1085
  recordInsertion(e) {
1024
- this.resourceId = oe(e, this) || null, this.status == "Loaded" && (this.resource = Object.freeze(e));
1086
+ this.resourceId = ne(e, this) || null, this.status == "Loaded" && (this.resource = Object.freeze(e));
1025
1087
  },
1026
1088
  /**
1027
1089
  * Record an update, making the same changes in the local resource.
@@ -1042,7 +1104,7 @@ const Ue = {
1042
1104
  * @param resource The resource that has been updated.
1043
1105
  */
1044
1106
  recordUpdate(e) {
1045
- this.resourceId = oe(e, this) || null, this.status == "Loaded" && (this.resource = Object.freeze(e));
1107
+ this.resourceId = ne(e, this) || null, this.status == "Loaded" && (this.resource = Object.freeze(e));
1046
1108
  },
1047
1109
  async refreshResource() {
1048
1110
  return await this.loadResource(), this.resource;
@@ -1057,7 +1119,7 @@ const Ue = {
1057
1119
  */
1058
1120
  async deleteResource() {
1059
1121
  if (this.currentResourceUrl)
1060
- (await P.delete(this.currentResourceUrl)).status == 200 && this.recordDeletion();
1122
+ (await L.delete(this.currentResourceUrl)).status == 200 && this.recordDeletion();
1061
1123
  else
1062
1124
  throw "Cannot delete a resource because its URL, or its ID and collection URL, are unknown.";
1063
1125
  },
@@ -1073,12 +1135,12 @@ const Ue = {
1073
1135
  * the operation failed.
1074
1136
  */
1075
1137
  async saveResource(e) {
1076
- const r = oe(e, this), t = r == null;
1077
- if (!r)
1138
+ const i = ne(e, this), t = i == null;
1139
+ if (!i)
1078
1140
  throw "The REST resource store cannot create new resources on the server.";
1079
1141
  if (!this.currentResourceUrl)
1080
1142
  throw "Cannot save a resource because its URL, or its ID and collection URL, are unknown.";
1081
- const l = await P({
1143
+ const l = await L({
1082
1144
  method: t ? "post" : "put",
1083
1145
  url: this.currentResourceUrl,
1084
1146
  data: e
@@ -1089,19 +1151,43 @@ const Ue = {
1089
1151
  }
1090
1152
  return null;
1091
1153
  },
1154
+ /**
1155
+ * Update only the specified properties of the remote resource, then mirror the change locally.
1156
+ *
1157
+ * After writing changes, {@link refreshResource} is called to ensure that the local resource (which is also the
1158
+ * return value) has the same object-graph characteristics as the rest of the local collection.
1159
+ *
1160
+ * @param partialResource The partial resource to merge.
1161
+ * @returns The refreshed local resource after the change has been persisted to the remote collection, or null if
1162
+ * the operation failed.
1163
+ */
1164
+ async updateResource(e) {
1165
+ if (!this.currentResourceUrl)
1166
+ throw "Cannot save a resource because its URL, or its ID and collection URL, are unknown.";
1167
+ const i = await L({
1168
+ method: "patch",
1169
+ url: this.currentResourceUrl,
1170
+ data: e
1171
+ });
1172
+ if (i.status == 200) {
1173
+ const t = i.data;
1174
+ return await this.refreshResource() || Object.freeze(t);
1175
+ }
1176
+ return null;
1177
+ },
1092
1178
  // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1093
1179
  // Actions: Custom API endpoints
1094
1180
  // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1095
1181
  async makeCustomApiRequest(e) {
1096
- const { method: r, subpath: t, url: l, data: u } = e;
1182
+ const { method: i, subpath: t, url: l, data: u } = e;
1097
1183
  let c = l;
1098
1184
  if (!c)
1099
1185
  if (this.currentResourceUrl)
1100
1186
  c = `${this.currentResourceUrl}/${t}`;
1101
1187
  else
1102
1188
  throw "Cannot make a custom API request for a resource because its URL, or its ID and collection URL, are unknown.";
1103
- const d = await P({
1104
- method: r || "get",
1189
+ const d = await L({
1190
+ method: i || "get",
1105
1191
  url: c,
1106
1192
  data: u
1107
1193
  });
@@ -1110,149 +1196,150 @@ const Ue = {
1110
1196
  }
1111
1197
  });
1112
1198
  return (() => {
1113
- const e = (r, t) => {
1114
- const l = R(r, t);
1199
+ const e = (i, t) => {
1200
+ const l = R(i, t);
1115
1201
  return ce.registerStore(l.$id, l), l;
1116
1202
  };
1117
1203
  return e.$id = R.$id, e;
1118
1204
  })();
1119
- }, ce = new Ie(), Me = (f = {}) => {
1205
+ }, ce = new Ie(), Me = (h = {}) => {
1120
1206
  const {
1121
- resourceClientId: s,
1207
+ resourceClientId: r,
1122
1208
  draftBatchId: R,
1123
- enabled: $,
1209
+ enabled: w,
1124
1210
  resourceType: e,
1125
- options: r
1126
- } = f, t = I(void 0), l = I(s), u = I(R), c = I($ ?? !0), d = I([se(e)]), y = I(r), U = S(() => u.value), L = I(c.value), z = I(H()), F = S(
1211
+ options: i
1212
+ } = h, t = I(void 0), l = I(r), u = I(R), c = I(w ?? !0), d = I([se(e)]), m = I(i), D = g(() => u.value), x = I(c.value), A = I(H()), N = g(
1127
1213
  () => u.value == null && l.value != null && ce.getStore(l.value) != null
1128
- ), A = I(F.value), B = S(() => m("status", "Uninitialized"));
1129
- function O(n) {
1214
+ ), O = I(N.value), k = g(() => S("status", "Uninitialized"));
1215
+ function P(n) {
1130
1216
  if (t.value)
1131
1217
  return n(t.value);
1132
1218
  }
1133
- async function g(n) {
1219
+ async function y(n) {
1134
1220
  if (t.value)
1135
1221
  return await n(t.value);
1136
1222
  }
1137
- function m(n, h) {
1223
+ function S(n, f) {
1138
1224
  if (t.value)
1139
1225
  return t.value[n];
1140
- if (h !== void 0)
1141
- return h;
1226
+ if (f !== void 0)
1227
+ return f;
1142
1228
  throw "Attempted to use a REST resource store that has not been created, with no default value.";
1143
1229
  }
1144
- const E = (n = {}) => {
1230
+ const T = (n = {}) => {
1145
1231
  const {
1146
- resourceClientId: h,
1147
- draftBatchId: N,
1148
- enabled: b,
1232
+ resourceClientId: f,
1233
+ draftBatchId: b,
1234
+ enabled: z,
1149
1235
  resourceType: G,
1150
- options: j
1236
+ options: M
1151
1237
  } = n;
1152
- l.value = h, u.value = N, c.value = b ?? !0, d.value = [se(G)], j != null && (y.value = j), z.value = H(), C(c.value);
1153
- }, C = async (n) => {
1154
- n != L.value && (L.value = n, n && x());
1155
- }, D = S(
1238
+ l.value = f, u.value = b, c.value = z ?? !0, d.value = [se(G)], M != null && (m.value = M), A.value = H(), E(c.value);
1239
+ }, E = async (n) => {
1240
+ n != x.value && (x.value = n, n && q());
1241
+ }, U = g(
1156
1242
  () => d.value[0].value || void 0
1157
1243
  ), W = function(n) {
1158
- const h = a.get(n, "referencePathsToExpand"), N = D.value ? a.isFunction(h) ? h(D.value) : h || [] : [];
1244
+ const f = a.get(n, "referencePathsToExpand"), b = U.value ? a.isFunction(f) ? f(U.value) : f || [] : [];
1159
1245
  return {
1160
1246
  ...a.cloneDeep(n || {}),
1161
- referencePathsToExpand: N
1247
+ referencePathsToExpand: b
1162
1248
  };
1163
- }, J = S(() => W(y.value)), K = S(() => {
1164
- if (!D.value)
1249
+ }, re = g(() => W(m.value)), J = g(() => {
1250
+ if (!U.value)
1165
1251
  return null;
1166
- if (!A.value)
1167
- return !D.value || !D.value.collectionName ? null : U.value ? `${ee.config.apiBaseUrl}/draft-batches/${U.value}/${D.value.collectionName}` : `${ee.config.apiBaseUrl}/${D.value.collectionName}`;
1168
- }), Y = S(() => {
1169
- if (D.value && K.value)
1252
+ if (!O.value)
1253
+ return !U.value || !U.value.collectionName ? null : D.value ? `${V.config.apiBaseUrl}/draft-batches/${D.value}/${U.value.collectionName}` : `${V.config.apiBaseUrl}/${U.value.collectionName}`;
1254
+ }), K = g(() => {
1255
+ if (U.value && J.value)
1170
1256
  return a.mergeWith(
1171
1257
  a.cloneDeep(Ue),
1172
- J.value,
1258
+ re.value,
1173
1259
  {
1174
- idProperty: D.value.idProperty,
1175
- restCollectionUrl: K.value
1260
+ idProperty: U.value.idProperty,
1261
+ restCollectionUrl: J.value
1176
1262
  },
1177
- (n, h) => {
1178
- if (a.isArray(h) && h.length == 0 && (n == null || a.isArray(n)))
1179
- return h;
1263
+ (n, f) => {
1264
+ if (a.isArray(f) && f.length == 0 && (n == null || a.isArray(n)))
1265
+ return f;
1180
1266
  }
1181
1267
  );
1182
- }), p = I(0), _ = S(
1268
+ }), p = I(0), B = g(
1183
1269
  () => {
1184
1270
  var n;
1185
- return p.value, l.value || D.value && ((n = D.value) == null ? void 0 : n.collectionName) && (U.value ? `draftBatches/${U.value}/${D.value.collectionName}/${z.value}` : `${D.value.collectionName}/${z.value}`) || null;
1271
+ return p.value, l.value || U.value && ((n = U.value) == null ? void 0 : n.collectionName) && (D.value ? `draftBatches/${D.value}/${U.value.collectionName}/${A.value}` : `${U.value.collectionName}/${A.value}`) || null;
1186
1272
  }
1187
- ), x = () => {
1188
- if (L.value) {
1273
+ ), q = () => {
1274
+ if (x.value) {
1189
1275
  let n = !1;
1190
- return D.value && _.value && (t.value = ce.getStore(_.value), t.value ? n = !1 : Y.value && (A.value = !1, t.value = xe(_.value, Y.value)(), n = !0)), n;
1276
+ return U.value && B.value && (t.value = ce.getStore(B.value), t.value ? n = !1 : K.value && (O.value = !1, t.value = qe(B.value, K.value)(), n = !0)), n;
1191
1277
  } else
1192
1278
  return !1;
1193
- }, Q = () => {
1194
- _.value && l.value == _.value ? (t.value = void 0, x()) : (t.value = void 0, p.value = p.value + 1, x());
1279
+ }, j = () => {
1280
+ B.value && l.value == B.value ? (t.value = void 0, q()) : (t.value = void 0, p.value = p.value + 1, q());
1195
1281
  };
1196
- return T(U, (n, h) => {
1197
- a.isEqual(n, h) || Q();
1198
- }), T(L, (n, h) => {
1199
- n != h && (n ? x() : t.value = void 0);
1200
- }), T(D, (n, h) => {
1201
- n && !h ? x() : !n && h || a.isEqual(n, h) || Q();
1202
- }), T(Y, (n, h) => {
1203
- a.isEqual(n, h) || Q();
1204
- }), T(F, () => {
1205
- F.value || (A.value = !1);
1206
- }), T(_, () => x()), T(K, (n, h) => {
1207
- a.isEqual(n, h) || Q();
1208
- }), x(), {
1282
+ return $(D, (n, f) => {
1283
+ a.isEqual(n, f) || j();
1284
+ }), $(x, (n, f) => {
1285
+ n != f && (n ? q() : t.value = void 0);
1286
+ }), $(U, (n, f) => {
1287
+ n && !f ? q() : !n && f || a.isEqual(n, f) || j();
1288
+ }), $(K, (n, f) => {
1289
+ a.isEqual(n, f) || j();
1290
+ }), $(N, () => {
1291
+ N.value || (O.value = !1);
1292
+ }), $(B, () => q()), $(J, (n, f) => {
1293
+ a.isEqual(n, f) || j();
1294
+ }), q(), {
1209
1295
  // Configuration
1210
- resourceClientId: _,
1211
- draftBatchId: U,
1212
- enabled: L,
1213
- resourceType: D,
1296
+ resourceClientId: B,
1297
+ draftBatchId: D,
1298
+ enabled: x,
1299
+ resourceType: U,
1214
1300
  // Status
1215
- status: B,
1301
+ status: k,
1216
1302
  // Resources loaded from the REST API
1217
- resource: S(() => B.value != "Uninitialized" ? (g((n) => n.ensureResourceLoaded()), m("resource", [])) : []),
1218
- resourceId: S(() => m("resourceId", null)),
1219
- resourceUrl: S(() => m("resourceUrl", null)),
1303
+ resource: g(() => k.value != "Uninitialized" ? (y((n) => n.ensureResourceLoaded()), S("resource", [])) : []),
1304
+ resourceId: g(() => S("resourceId", null)),
1305
+ resourceUrl: g(() => S("resourceUrl", null)),
1220
1306
  // Methods: Configuration
1221
- reconfigureClient: E,
1222
- setEnabled: C,
1223
- setResourceId: async (n) => await g(async (h) => await h.setResourceId(n)),
1224
- setResourceUrl: async (n) => await g(async (h) => await h.setResourceUrl(n)),
1307
+ reconfigureClient: T,
1308
+ setEnabled: E,
1309
+ setResourceId: async (n) => await y(async (f) => await f.setResourceId(n)),
1310
+ setResourceUrl: async (n) => await y(async (f) => await f.setResourceUrl(n)),
1225
1311
  // Methods: Status
1226
- ensureStore: x,
1312
+ ensureStore: q,
1227
1313
  // Methods: Resource management
1228
- clear: () => O((n) => n.clear()),
1229
- ensureResourceLoaded: async () => await g(async (n) => n.ensureResourceLoaded()),
1230
- loadResource: async () => await g(async (n) => await n.loadResource()),
1314
+ clear: () => P((n) => n.clear()),
1315
+ ensureResourceLoaded: async () => await y(async (n) => n.ensureResourceLoaded()),
1316
+ loadResource: async () => await y(async (n) => await n.loadResource()),
1231
1317
  // Methods: Recording changes to the resource
1232
- checkForDeletedResource: async () => await g(async (n) => await n.checkForDeletedResource()) == !0,
1233
- recordDeletion: () => g((n) => n.recordDeletion()),
1234
- recordInsertion: (n) => g((h) => h.recordInsertion(n)),
1235
- recordUpdate: (n) => g((h) => h.recordUpdate(n)),
1236
- refreshResource: async () => await g(async (n) => await n.refreshResource()),
1318
+ checkForDeletedResource: async () => await y(async (n) => await n.checkForDeletedResource()) == !0,
1319
+ recordDeletion: () => y((n) => n.recordDeletion()),
1320
+ recordInsertion: (n) => y((f) => f.recordInsertion(n)),
1321
+ recordUpdate: (n) => y((f) => f.recordUpdate(n)),
1322
+ refreshResource: async () => await y(async (n) => await n.refreshResource()),
1237
1323
  // Methods: Modifying the resource
1238
- deleteResource: async () => await g(async (n) => await n.deleteResource()),
1239
- saveResource: async (n) => await g(async (h) => await h.saveResource(n)),
1324
+ deleteResource: async () => await y(async (n) => await n.deleteResource()),
1325
+ saveResource: async (n) => await y(async (f) => await f.saveResource(n)),
1326
+ updateResource: async (n) => await y(async (f) => await f.updateResource(n)),
1240
1327
  // Methods: Custom API endpoints
1241
- makeCustomApiRequest: async (n) => await g(
1242
- async (h) => await h.makeCustomApiRequest(n)
1328
+ makeCustomApiRequest: async (n) => await y(
1329
+ async (f) => await f.makeCustomApiRequest(n)
1243
1330
  )
1244
1331
  };
1245
- }, ee = {
1332
+ }, V = {
1246
1333
  config: { ...ye }
1247
1334
  };
1248
- function je(f) {
1249
- ee.config = a.merge({}, ye, f);
1335
+ function We(h) {
1336
+ V.config = a.merge({}, ye, h);
1250
1337
  }
1251
1338
  export {
1252
- _e as ApiClientError,
1253
- Qe as clearAllRestCollections,
1254
- je as initRestClient,
1255
- ee as restClient,
1256
- Oe as useRestCollection,
1339
+ Be as ApiClientError,
1340
+ je as clearAllRestCollections,
1341
+ We as initRestClient,
1342
+ V as restClient,
1343
+ Qe as useRestCollection,
1257
1344
  Me as useRestResource
1258
1345
  };