@wordpress/core-data 4.0.6 → 4.0.7

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.
Files changed (77) hide show
  1. package/build/actions.js +269 -244
  2. package/build/actions.js.map +1 -1
  3. package/build/batch/create-batch.js +17 -9
  4. package/build/batch/create-batch.js.map +1 -1
  5. package/build/entities.js +9 -6
  6. package/build/entities.js.map +1 -1
  7. package/build/entity-provider.js +18 -13
  8. package/build/entity-provider.js.map +1 -1
  9. package/build/fetch/__experimental-fetch-link-suggestions.js +3 -1
  10. package/build/fetch/__experimental-fetch-link-suggestions.js.map +1 -1
  11. package/build/fetch/__experimental-fetch-url-data.js +2 -1
  12. package/build/fetch/__experimental-fetch-url-data.js.map +1 -1
  13. package/build/index.js +25 -5
  14. package/build/index.js.map +1 -1
  15. package/build/locks/actions.js +4 -3
  16. package/build/locks/actions.js.map +1 -1
  17. package/build/locks/reducer.js +4 -1
  18. package/build/locks/reducer.js.map +1 -1
  19. package/build/locks/selectors.js +4 -3
  20. package/build/locks/selectors.js.map +1 -1
  21. package/build/locks/utils.js +7 -5
  22. package/build/locks/utils.js.map +1 -1
  23. package/build/queried-data/actions.js +6 -3
  24. package/build/queried-data/actions.js.map +1 -1
  25. package/build/queried-data/get-query-parts.js +1 -1
  26. package/build/queried-data/reducer.js +17 -6
  27. package/build/queried-data/reducer.js.map +1 -1
  28. package/build/queried-data/selectors.js +2 -1
  29. package/build/queried-data/selectors.js.map +1 -1
  30. package/build/reducer.js +77 -28
  31. package/build/reducer.js.map +1 -1
  32. package/build/resolvers.js +186 -162
  33. package/build/resolvers.js.map +1 -1
  34. package/build/selectors.js +29 -21
  35. package/build/selectors.js.map +1 -1
  36. package/build/utils/forward-resolver.js +11 -4
  37. package/build/utils/forward-resolver.js.map +1 -1
  38. package/build/utils/index.js +8 -8
  39. package/build/utils/on-sub-key.js +4 -2
  40. package/build/utils/on-sub-key.js.map +1 -1
  41. package/build-module/actions.js +257 -235
  42. package/build-module/actions.js.map +1 -1
  43. package/build-module/batch/create-batch.js +17 -9
  44. package/build-module/batch/create-batch.js.map +1 -1
  45. package/build-module/entities.js +8 -5
  46. package/build-module/entities.js.map +1 -1
  47. package/build-module/entity-provider.js +17 -12
  48. package/build-module/entity-provider.js.map +1 -1
  49. package/build-module/fetch/__experimental-fetch-link-suggestions.js +3 -1
  50. package/build-module/fetch/__experimental-fetch-link-suggestions.js.map +1 -1
  51. package/build-module/fetch/__experimental-fetch-url-data.js +2 -1
  52. package/build-module/fetch/__experimental-fetch-url-data.js.map +1 -1
  53. package/build-module/index.js +21 -3
  54. package/build-module/index.js.map +1 -1
  55. package/build-module/locks/actions.js +4 -3
  56. package/build-module/locks/actions.js.map +1 -1
  57. package/build-module/locks/reducer.js +4 -1
  58. package/build-module/locks/reducer.js.map +1 -1
  59. package/build-module/locks/selectors.js +4 -3
  60. package/build-module/locks/selectors.js.map +1 -1
  61. package/build-module/locks/utils.js +5 -3
  62. package/build-module/locks/utils.js.map +1 -1
  63. package/build-module/queried-data/actions.js +5 -2
  64. package/build-module/queried-data/actions.js.map +1 -1
  65. package/build-module/queried-data/reducer.js +15 -4
  66. package/build-module/queried-data/reducer.js.map +1 -1
  67. package/build-module/queried-data/selectors.js +2 -1
  68. package/build-module/queried-data/selectors.js.map +1 -1
  69. package/build-module/reducer.js +68 -20
  70. package/build-module/reducer.js.map +1 -1
  71. package/build-module/resolvers.js +185 -161
  72. package/build-module/resolvers.js.map +1 -1
  73. package/build-module/utils/forward-resolver.js +11 -4
  74. package/build-module/utils/forward-resolver.js.map +1 -1
  75. package/build-module/utils/on-sub-key.js +3 -1
  76. package/build-module/utils/on-sub-key.js.map +1 -1
  77. package/package.json +12 -12
@@ -74,7 +74,10 @@ export function addEntities(entities) {
74
74
  * @return {Object} Action object.
75
75
  */
76
76
 
77
- export function receiveEntityRecords(kind, name, records, query, invalidateCache = false, edits) {
77
+ export function receiveEntityRecords(kind, name, records, query) {
78
+ let invalidateCache = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
79
+ let edits = arguments.length > 5 ? arguments[5] : undefined;
80
+
78
81
  // Auto drafts should not have titles, but some plugins rely on them so we can't filter this
79
82
  // on the server.
80
83
  if (kind === 'postType') {
@@ -188,62 +191,66 @@ export function receiveEmbedPreview(url, preview) {
188
191
  * Must return a promise.
189
192
  */
190
193
 
191
- export const deleteEntityRecord = (kind, name, recordId, query, {
192
- __unstableFetch = apiFetch
193
- } = {}) => async ({
194
- dispatch
195
- }) => {
196
- const entities = await dispatch(getKindEntities(kind));
197
- const entity = find(entities, {
198
- kind,
199
- name
200
- });
201
- let error;
202
- let deletedRecord = false;
203
-
204
- if (!entity || entity !== null && entity !== void 0 && entity.__experimentalNoFetch) {
205
- return;
206
- }
194
+ export const deleteEntityRecord = function (kind, name, recordId, query) {
195
+ let {
196
+ __unstableFetch = apiFetch
197
+ } = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
198
+ return async _ref => {
199
+ let {
200
+ dispatch
201
+ } = _ref;
202
+ const entities = await dispatch(getKindEntities(kind));
203
+ const entity = find(entities, {
204
+ kind,
205
+ name
206
+ });
207
+ let error;
208
+ let deletedRecord = false;
207
209
 
208
- const lock = await dispatch.__unstableAcquireStoreLock(STORE_NAME, ['entities', 'data', kind, name, recordId], {
209
- exclusive: true
210
- });
210
+ if (!entity || entity !== null && entity !== void 0 && entity.__experimentalNoFetch) {
211
+ return;
212
+ }
211
213
 
212
- try {
213
- dispatch({
214
- type: 'DELETE_ENTITY_RECORD_START',
215
- kind,
216
- name,
217
- recordId
214
+ const lock = await dispatch.__unstableAcquireStoreLock(STORE_NAME, ['entities', 'data', kind, name, recordId], {
215
+ exclusive: true
218
216
  });
219
217
 
220
218
  try {
221
- let path = `${entity.baseURL}/${recordId}`;
219
+ dispatch({
220
+ type: 'DELETE_ENTITY_RECORD_START',
221
+ kind,
222
+ name,
223
+ recordId
224
+ });
222
225
 
223
- if (query) {
224
- path = addQueryArgs(path, query);
226
+ try {
227
+ let path = `${entity.baseURL}/${recordId}`;
228
+
229
+ if (query) {
230
+ path = addQueryArgs(path, query);
231
+ }
232
+
233
+ deletedRecord = await __unstableFetch({
234
+ path,
235
+ method: 'DELETE'
236
+ });
237
+ await dispatch(removeItems(kind, name, recordId, true));
238
+ } catch (_error) {
239
+ error = _error;
225
240
  }
226
241
 
227
- deletedRecord = await __unstableFetch({
228
- path,
229
- method: 'DELETE'
242
+ dispatch({
243
+ type: 'DELETE_ENTITY_RECORD_FINISH',
244
+ kind,
245
+ name,
246
+ recordId,
247
+ error
230
248
  });
231
- await dispatch(removeItems(kind, name, recordId, true));
232
- } catch (_error) {
233
- error = _error;
249
+ return deletedRecord;
250
+ } finally {
251
+ dispatch.__unstableReleaseStoreLock(lock);
234
252
  }
235
-
236
- dispatch({
237
- type: 'DELETE_ENTITY_RECORD_FINISH',
238
- kind,
239
- name,
240
- recordId,
241
- error
242
- });
243
- return deletedRecord;
244
- } finally {
245
- dispatch.__unstableReleaseStoreLock(lock);
246
- }
253
+ };
247
254
  };
248
255
  /**
249
256
  * Returns an action object that triggers an
@@ -259,52 +266,56 @@ export const deleteEntityRecord = (kind, name, recordId, query, {
259
266
  * @return {Object} Action object.
260
267
  */
261
268
 
262
- export const editEntityRecord = (kind, name, recordId, edits, options = {}) => ({
263
- select,
264
- dispatch
265
- }) => {
266
- const entity = select.getEntity(kind, name);
267
-
268
- if (!entity) {
269
- throw new Error(`The entity being edited (${kind}, ${name}) does not have a loaded config.`);
270
- }
269
+ export const editEntityRecord = function (kind, name, recordId, edits) {
270
+ let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
271
+ return _ref2 => {
272
+ let {
273
+ select,
274
+ dispatch
275
+ } = _ref2;
276
+ const entity = select.getEntity(kind, name);
277
+
278
+ if (!entity) {
279
+ throw new Error(`The entity being edited (${kind}, ${name}) does not have a loaded config.`);
280
+ }
271
281
 
272
- const {
273
- transientEdits = {},
274
- mergedEdits = {}
275
- } = entity;
276
- const record = select.getRawEntityRecord(kind, name, recordId);
277
- const editedRecord = select.getEditedEntityRecord(kind, name, recordId);
278
- const edit = {
279
- kind,
280
- name,
281
- recordId,
282
- // Clear edits when they are equal to their persisted counterparts
283
- // so that the property is not considered dirty.
284
- edits: Object.keys(edits).reduce((acc, key) => {
285
- const recordValue = record[key];
286
- const editedRecordValue = editedRecord[key];
287
- const value = mergedEdits[key] ? { ...editedRecordValue,
288
- ...edits[key]
289
- } : edits[key];
290
- acc[key] = isEqual(recordValue, value) ? undefined : value;
291
- return acc;
292
- }, {}),
293
- transientEdits
294
- };
295
- dispatch({
296
- type: 'EDIT_ENTITY_RECORD',
297
- ...edit,
298
- meta: {
299
- undo: !options.undoIgnore && { ...edit,
300
- // Send the current values for things like the first undo stack entry.
301
- edits: Object.keys(edits).reduce((acc, key) => {
302
- acc[key] = editedRecord[key];
303
- return acc;
304
- }, {})
282
+ const {
283
+ transientEdits = {},
284
+ mergedEdits = {}
285
+ } = entity;
286
+ const record = select.getRawEntityRecord(kind, name, recordId);
287
+ const editedRecord = select.getEditedEntityRecord(kind, name, recordId);
288
+ const edit = {
289
+ kind,
290
+ name,
291
+ recordId,
292
+ // Clear edits when they are equal to their persisted counterparts
293
+ // so that the property is not considered dirty.
294
+ edits: Object.keys(edits).reduce((acc, key) => {
295
+ const recordValue = record[key];
296
+ const editedRecordValue = editedRecord[key];
297
+ const value = mergedEdits[key] ? { ...editedRecordValue,
298
+ ...edits[key]
299
+ } : edits[key];
300
+ acc[key] = isEqual(recordValue, value) ? undefined : value;
301
+ return acc;
302
+ }, {}),
303
+ transientEdits
304
+ };
305
+ dispatch({
306
+ type: 'EDIT_ENTITY_RECORD',
307
+ ...edit,
308
+ meta: {
309
+ undo: !options.undoIgnore && { ...edit,
310
+ // Send the current values for things like the first undo stack entry.
311
+ edits: Object.keys(edits).reduce((acc, key) => {
312
+ acc[key] = editedRecord[key];
313
+ return acc;
314
+ }, {})
315
+ }
305
316
  }
306
- }
307
- });
317
+ });
318
+ };
308
319
  };
309
320
  /**
310
321
  * Action triggered to undo the last edit to
@@ -313,10 +324,11 @@ export const editEntityRecord = (kind, name, recordId, edits, options = {}) => (
313
324
  * @return {undefined}
314
325
  */
315
326
 
316
- export const undo = () => ({
317
- select,
318
- dispatch
319
- }) => {
327
+ export const undo = () => _ref3 => {
328
+ let {
329
+ select,
330
+ dispatch
331
+ } = _ref3;
320
332
  const undoEdit = select.getUndoEdit();
321
333
 
322
334
  if (!undoEdit) {
@@ -338,10 +350,11 @@ export const undo = () => ({
338
350
  * @return {undefined}
339
351
  */
340
352
 
341
- export const redo = () => ({
342
- select,
343
- dispatch
344
- }) => {
353
+ export const redo = () => _ref4 => {
354
+ let {
355
+ select,
356
+ dispatch
357
+ } = _ref4;
345
358
  const redoEdit = select.getRedoEdit();
346
359
 
347
360
  if (!redoEdit) {
@@ -380,148 +393,152 @@ export function __unstableCreateUndoLevel() {
380
393
  * Must return a promise.
381
394
  */
382
395
 
383
- export const saveEntityRecord = (kind, name, record, {
384
- isAutosave = false,
385
- __unstableFetch = apiFetch
386
- } = {}) => async ({
387
- select,
388
- resolveSelect,
389
- dispatch
390
- }) => {
391
- const entities = await dispatch(getKindEntities(kind));
392
- const entity = find(entities, {
393
- kind,
394
- name
395
- });
396
-
397
- if (!entity || entity !== null && entity !== void 0 && entity.__experimentalNoFetch) {
398
- return;
399
- }
400
-
401
- const entityIdKey = entity.key || DEFAULT_ENTITY_KEY;
402
- const recordId = record[entityIdKey];
403
- const lock = await dispatch.__unstableAcquireStoreLock(STORE_NAME, ['entities', 'data', kind, name, recordId || uuid()], {
404
- exclusive: true
405
- });
396
+ export const saveEntityRecord = function (kind, name, record) {
397
+ let {
398
+ isAutosave = false,
399
+ __unstableFetch = apiFetch
400
+ } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
401
+ return async _ref5 => {
402
+ let {
403
+ select,
404
+ resolveSelect,
405
+ dispatch
406
+ } = _ref5;
407
+ const entities = await dispatch(getKindEntities(kind));
408
+ const entity = find(entities, {
409
+ kind,
410
+ name
411
+ });
406
412
 
407
- try {
408
- // Evaluate optimized edits.
409
- // (Function edits that should be evaluated on save to avoid expensive computations on every edit.)
410
- for (const [key, value] of Object.entries(record)) {
411
- if (typeof value === 'function') {
412
- const evaluatedValue = value(select.getEditedEntityRecord(kind, name, recordId));
413
- dispatch.editEntityRecord(kind, name, recordId, {
414
- [key]: evaluatedValue
415
- }, {
416
- undoIgnore: true
417
- });
418
- record[key] = evaluatedValue;
419
- }
413
+ if (!entity || entity !== null && entity !== void 0 && entity.__experimentalNoFetch) {
414
+ return;
420
415
  }
421
416
 
422
- dispatch({
423
- type: 'SAVE_ENTITY_RECORD_START',
424
- kind,
425
- name,
426
- recordId,
427
- isAutosave
417
+ const entityIdKey = entity.key || DEFAULT_ENTITY_KEY;
418
+ const recordId = record[entityIdKey];
419
+ const lock = await dispatch.__unstableAcquireStoreLock(STORE_NAME, ['entities', 'data', kind, name, recordId || uuid()], {
420
+ exclusive: true
428
421
  });
429
- let updatedRecord;
430
- let error;
431
422
 
432
423
  try {
433
- const path = `${entity.baseURL}${recordId ? '/' + recordId : ''}`;
434
- const persistedRecord = select.getRawEntityRecord(kind, name, recordId);
435
-
436
- if (isAutosave) {
437
- // Most of this autosave logic is very specific to posts.
438
- // This is fine for now as it is the only supported autosave,
439
- // but ideally this should all be handled in the back end,
440
- // so the client just sends and receives objects.
441
- const currentUser = select.getCurrentUser();
442
- const currentUserId = currentUser ? currentUser.id : undefined;
443
- const autosavePost = resolveSelect.getAutosave(persistedRecord.type, persistedRecord.id, currentUserId); // Autosaves need all expected fields to be present.
444
- // So we fallback to the previous autosave and then
445
- // to the actual persisted entity if the edits don't
446
- // have a value.
447
-
448
- let data = { ...persistedRecord,
449
- ...autosavePost,
450
- ...record
451
- };
452
- data = Object.keys(data).reduce((acc, key) => {
453
- if (['title', 'excerpt', 'content'].includes(key)) {
454
- acc[key] = data[key];
455
- }
424
+ // Evaluate optimized edits.
425
+ // (Function edits that should be evaluated on save to avoid expensive computations on every edit.)
426
+ for (const [key, value] of Object.entries(record)) {
427
+ if (typeof value === 'function') {
428
+ const evaluatedValue = value(select.getEditedEntityRecord(kind, name, recordId));
429
+ dispatch.editEntityRecord(kind, name, recordId, {
430
+ [key]: evaluatedValue
431
+ }, {
432
+ undoIgnore: true
433
+ });
434
+ record[key] = evaluatedValue;
435
+ }
436
+ }
456
437
 
457
- return acc;
458
- }, {
459
- status: data.status === 'auto-draft' ? 'draft' : data.status
460
- });
461
- updatedRecord = await __unstableFetch({
462
- path: `${path}/autosaves`,
463
- method: 'POST',
464
- data
465
- }); // An autosave may be processed by the server as a regular save
466
- // when its update is requested by the author and the post had
467
- // draft or auto-draft status.
468
-
469
- if (persistedRecord.id === updatedRecord.id) {
470
- let newRecord = { ...persistedRecord,
471
- ...data,
472
- ...updatedRecord
438
+ dispatch({
439
+ type: 'SAVE_ENTITY_RECORD_START',
440
+ kind,
441
+ name,
442
+ recordId,
443
+ isAutosave
444
+ });
445
+ let updatedRecord;
446
+ let error;
447
+
448
+ try {
449
+ const path = `${entity.baseURL}${recordId ? '/' + recordId : ''}`;
450
+ const persistedRecord = select.getRawEntityRecord(kind, name, recordId);
451
+
452
+ if (isAutosave) {
453
+ // Most of this autosave logic is very specific to posts.
454
+ // This is fine for now as it is the only supported autosave,
455
+ // but ideally this should all be handled in the back end,
456
+ // so the client just sends and receives objects.
457
+ const currentUser = select.getCurrentUser();
458
+ const currentUserId = currentUser ? currentUser.id : undefined;
459
+ const autosavePost = resolveSelect.getAutosave(persistedRecord.type, persistedRecord.id, currentUserId); // Autosaves need all expected fields to be present.
460
+ // So we fallback to the previous autosave and then
461
+ // to the actual persisted entity if the edits don't
462
+ // have a value.
463
+
464
+ let data = { ...persistedRecord,
465
+ ...autosavePost,
466
+ ...record
473
467
  };
474
- newRecord = Object.keys(newRecord).reduce((acc, key) => {
475
- // These properties are persisted in autosaves.
468
+ data = Object.keys(data).reduce((acc, key) => {
476
469
  if (['title', 'excerpt', 'content'].includes(key)) {
477
- acc[key] = newRecord[key];
478
- } else if (key === 'status') {
479
- // Status is only persisted in autosaves when going from
480
- // "auto-draft" to "draft".
481
- acc[key] = persistedRecord.status === 'auto-draft' && newRecord.status === 'draft' ? newRecord.status : persistedRecord.status;
482
- } else {
483
- // These properties are not persisted in autosaves.
484
- acc[key] = persistedRecord[key];
470
+ acc[key] = data[key];
485
471
  }
486
472
 
487
473
  return acc;
488
- }, {});
489
- dispatch.receiveEntityRecords(kind, name, newRecord, undefined, true);
474
+ }, {
475
+ status: data.status === 'auto-draft' ? 'draft' : data.status
476
+ });
477
+ updatedRecord = await __unstableFetch({
478
+ path: `${path}/autosaves`,
479
+ method: 'POST',
480
+ data
481
+ }); // An autosave may be processed by the server as a regular save
482
+ // when its update is requested by the author and the post had
483
+ // draft or auto-draft status.
484
+
485
+ if (persistedRecord.id === updatedRecord.id) {
486
+ let newRecord = { ...persistedRecord,
487
+ ...data,
488
+ ...updatedRecord
489
+ };
490
+ newRecord = Object.keys(newRecord).reduce((acc, key) => {
491
+ // These properties are persisted in autosaves.
492
+ if (['title', 'excerpt', 'content'].includes(key)) {
493
+ acc[key] = newRecord[key];
494
+ } else if (key === 'status') {
495
+ // Status is only persisted in autosaves when going from
496
+ // "auto-draft" to "draft".
497
+ acc[key] = persistedRecord.status === 'auto-draft' && newRecord.status === 'draft' ? newRecord.status : persistedRecord.status;
498
+ } else {
499
+ // These properties are not persisted in autosaves.
500
+ acc[key] = persistedRecord[key];
501
+ }
502
+
503
+ return acc;
504
+ }, {});
505
+ dispatch.receiveEntityRecords(kind, name, newRecord, undefined, true);
506
+ } else {
507
+ dispatch.receiveAutosaves(persistedRecord.id, updatedRecord);
508
+ }
490
509
  } else {
491
- dispatch.receiveAutosaves(persistedRecord.id, updatedRecord);
492
- }
493
- } else {
494
- let edits = record;
510
+ let edits = record;
495
511
 
496
- if (entity.__unstablePrePersist) {
497
- edits = { ...edits,
498
- ...entity.__unstablePrePersist(persistedRecord, edits)
499
- };
500
- }
512
+ if (entity.__unstablePrePersist) {
513
+ edits = { ...edits,
514
+ ...entity.__unstablePrePersist(persistedRecord, edits)
515
+ };
516
+ }
501
517
 
502
- updatedRecord = await __unstableFetch({
503
- path,
504
- method: recordId ? 'PUT' : 'POST',
505
- data: edits
506
- });
507
- dispatch.receiveEntityRecords(kind, name, updatedRecord, undefined, true, edits);
518
+ updatedRecord = await __unstableFetch({
519
+ path,
520
+ method: recordId ? 'PUT' : 'POST',
521
+ data: edits
522
+ });
523
+ dispatch.receiveEntityRecords(kind, name, updatedRecord, undefined, true, edits);
524
+ }
525
+ } catch (_error) {
526
+ error = _error;
508
527
  }
509
- } catch (_error) {
510
- error = _error;
511
- }
512
528
 
513
- dispatch({
514
- type: 'SAVE_ENTITY_RECORD_FINISH',
515
- kind,
516
- name,
517
- recordId,
518
- error,
519
- isAutosave
520
- });
521
- return updatedRecord;
522
- } finally {
523
- dispatch.__unstableReleaseStoreLock(lock);
524
- }
529
+ dispatch({
530
+ type: 'SAVE_ENTITY_RECORD_FINISH',
531
+ kind,
532
+ name,
533
+ recordId,
534
+ error,
535
+ isAutosave
536
+ });
537
+ return updatedRecord;
538
+ } finally {
539
+ dispatch.__unstableReleaseStoreLock(lock);
540
+ }
541
+ };
525
542
  };
526
543
  /**
527
544
  * Runs multiple core-data actions at the same time using one API request.
@@ -546,9 +563,10 @@ export const saveEntityRecord = (kind, name, record, {
546
563
  * values of each function given in `requests`.
547
564
  */
548
565
 
549
- export const __experimentalBatch = requests => async ({
550
- dispatch
551
- }) => {
566
+ export const __experimentalBatch = requests => async _ref6 => {
567
+ let {
568
+ dispatch
569
+ } = _ref6;
552
570
  const batch = createBatch();
553
571
  const api = {
554
572
  saveEntityRecord(kind, name, record, options) {
@@ -583,10 +601,12 @@ export const __experimentalBatch = requests => async ({
583
601
  * @param {Object} options Saving options.
584
602
  */
585
603
 
586
- export const saveEditedEntityRecord = (kind, name, recordId, options) => async ({
587
- select,
588
- dispatch
589
- }) => {
604
+ export const saveEditedEntityRecord = (kind, name, recordId, options) => async _ref7 => {
605
+ let {
606
+ select,
607
+ dispatch
608
+ } = _ref7;
609
+
590
610
  if (!select.hasEditsForEntityRecord(kind, name, recordId)) {
591
611
  return;
592
612
  }
@@ -619,10 +639,12 @@ export const saveEditedEntityRecord = (kind, name, recordId, options) => async (
619
639
  * @param {Object} options Saving options.
620
640
  */
621
641
 
622
- export const __experimentalSaveSpecifiedEntityEdits = (kind, name, recordId, itemsToSave, options) => async ({
623
- select,
624
- dispatch
625
- }) => {
642
+ export const __experimentalSaveSpecifiedEntityEdits = (kind, name, recordId, itemsToSave, options) => async _ref8 => {
643
+ let {
644
+ select,
645
+ dispatch
646
+ } = _ref8;
647
+
626
648
  if (!select.hasEditsForEntityRecord(kind, name, recordId)) {
627
649
  return;
628
650
  }