@wordpress/core-data 7.10.0 → 7.12.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/actions.js +13 -9
  3. package/build/actions.js.map +1 -1
  4. package/build/entities.js +3 -63
  5. package/build/entities.js.map +1 -1
  6. package/build/entity-types/attachment.js.map +1 -1
  7. package/build/entity-types/settings.js.map +1 -1
  8. package/build/hooks/use-entity-block-editor.js +4 -5
  9. package/build/hooks/use-entity-block-editor.js.map +1 -1
  10. package/build/lock-unlock.js.map +1 -1
  11. package/build/private-apis.js +3 -1
  12. package/build/private-apis.js.map +1 -1
  13. package/build/resolvers.js +98 -68
  14. package/build/resolvers.js.map +1 -1
  15. package/build/selectors.js +0 -19
  16. package/build/selectors.js.map +1 -1
  17. package/build/utils/index.js +7 -0
  18. package/build/utils/index.js.map +1 -1
  19. package/build/utils/receive-intermediate-results.js +8 -0
  20. package/build/utils/receive-intermediate-results.js.map +1 -0
  21. package/build-module/actions.js +14 -10
  22. package/build-module/actions.js.map +1 -1
  23. package/build-module/entities.js +2 -61
  24. package/build-module/entities.js.map +1 -1
  25. package/build-module/entity-types/attachment.js.map +1 -1
  26. package/build-module/entity-types/settings.js.map +1 -1
  27. package/build-module/hooks/use-entity-block-editor.js +4 -5
  28. package/build-module/hooks/use-entity-block-editor.js.map +1 -1
  29. package/build-module/lock-unlock.js.map +1 -1
  30. package/build-module/private-apis.js +3 -1
  31. package/build-module/private-apis.js.map +1 -1
  32. package/build-module/resolvers.js +98 -68
  33. package/build-module/resolvers.js.map +1 -1
  34. package/build-module/selectors.js +0 -18
  35. package/build-module/selectors.js.map +1 -1
  36. package/build-module/utils/index.js +1 -0
  37. package/build-module/utils/index.js.map +1 -1
  38. package/build-module/utils/receive-intermediate-results.js +2 -0
  39. package/build-module/utils/receive-intermediate-results.js.map +1 -0
  40. package/build-types/actions.d.ts +8 -4
  41. package/build-types/actions.d.ts.map +1 -1
  42. package/build-types/entities.d.ts +0 -1
  43. package/build-types/entities.d.ts.map +1 -1
  44. package/build-types/entity-types/attachment.d.ts +36 -1
  45. package/build-types/entity-types/attachment.d.ts.map +1 -1
  46. package/build-types/entity-types/settings.d.ts +4 -0
  47. package/build-types/entity-types/settings.d.ts.map +1 -1
  48. package/build-types/hooks/use-entity-block-editor.d.ts.map +1 -1
  49. package/build-types/index.d.ts +8 -5
  50. package/build-types/index.d.ts.map +1 -1
  51. package/build-types/lock-unlock.d.ts +1 -2
  52. package/build-types/lock-unlock.d.ts.map +1 -1
  53. package/build-types/private-apis.d.ts.map +1 -1
  54. package/build-types/queried-data/reducer.d.ts +10 -2
  55. package/build-types/reducer.d.ts +24 -2
  56. package/build-types/reducer.d.ts.map +1 -1
  57. package/build-types/resolvers.d.ts +16 -13
  58. package/build-types/resolvers.d.ts.map +1 -1
  59. package/build-types/selectors.d.ts +0 -9
  60. package/build-types/selectors.d.ts.map +1 -1
  61. package/build-types/utils/index.d.ts +1 -0
  62. package/build-types/utils/receive-intermediate-results.d.ts +2 -0
  63. package/build-types/utils/receive-intermediate-results.d.ts.map +1 -0
  64. package/package.json +19 -18
  65. package/src/actions.js +10 -10
  66. package/src/entities.js +2 -64
  67. package/src/entity-types/attachment.ts +35 -1
  68. package/src/entity-types/settings.ts +4 -0
  69. package/src/hooks/test/use-entity-record.js +9 -2
  70. package/src/hooks/use-entity-block-editor.js +4 -9
  71. package/src/private-apis.js +2 -0
  72. package/src/resolvers.js +125 -90
  73. package/src/selectors.ts +0 -32
  74. package/src/test/actions.js +24 -39
  75. package/src/test/entities.js +0 -80
  76. package/src/test/resolvers.js +89 -35
  77. package/src/utils/index.js +1 -0
  78. package/src/utils/receive-intermediate-results.js +3 -0
  79. package/tsconfig.tsbuildinfo +1 -1
  80. /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
@@ -29,6 +29,7 @@ describe( 'getEntityRecord', () => {
29
29
  },
30
30
  ];
31
31
  const registry = { batch: ( callback ) => callback() };
32
+ const resolveSelect = { getEntitiesConfig: jest.fn( () => ENTITIES ) };
32
33
 
33
34
  let dispatch;
34
35
  beforeEach( async () => {
@@ -43,9 +44,6 @@ describe( 'getEntityRecord', () => {
43
44
  } );
44
45
 
45
46
  it( 'yields with requested post type', async () => {
46
- // Provide entities
47
- dispatch.mockReturnValueOnce( ENTITIES );
48
-
49
47
  // Provide response
50
48
  triggerFetch.mockImplementation( () => POST_TYPE_RESPONSE );
51
49
 
@@ -53,7 +51,7 @@ describe( 'getEntityRecord', () => {
53
51
  'root',
54
52
  'postType',
55
53
  'post'
56
- )( { dispatch, registry } );
54
+ )( { dispatch, registry, resolveSelect } );
57
55
 
58
56
  // Fetch request should have been issued.
59
57
  expect( triggerFetch ).toHaveBeenCalledWith( {
@@ -84,8 +82,6 @@ describe( 'getEntityRecord', () => {
84
82
  const select = {
85
83
  hasEntityRecords: jest.fn( () => {} ),
86
84
  };
87
- // Provide entities
88
- dispatch.mockReturnValueOnce( ENTITIES );
89
85
 
90
86
  // Provide response
91
87
  triggerFetch.mockImplementation( () => POST_TYPE_RESPONSE );
@@ -95,7 +91,7 @@ describe( 'getEntityRecord', () => {
95
91
  'postType',
96
92
  'post',
97
93
  query
98
- )( { dispatch, select, registry } );
94
+ )( { dispatch, select, registry, resolveSelect } );
99
95
 
100
96
  // Trigger apiFetch, test that the query is present in the url.
101
97
  expect( triggerFetch ).toHaveBeenCalledWith( {
@@ -141,6 +137,7 @@ describe( 'getEntityRecords', () => {
141
137
  },
142
138
  ];
143
139
  const registry = { batch: ( callback ) => callback() };
140
+ const resolveSelect = { getEntitiesConfig: jest.fn( () => ENTITIES ) };
144
141
 
145
142
  beforeEach( async () => {
146
143
  triggerFetch.mockReset();
@@ -152,13 +149,14 @@ describe( 'getEntityRecords', () => {
152
149
  __unstableAcquireStoreLock: jest.fn(),
153
150
  __unstableReleaseStoreLock: jest.fn(),
154
151
  } );
155
- // Provide entities
156
- dispatch.mockReturnValueOnce( ENTITIES );
157
152
 
158
153
  // Provide response
159
154
  triggerFetch.mockImplementation( () => POST_TYPES );
160
155
 
161
- await getEntityRecords( 'root', 'postType' )( { dispatch, registry } );
156
+ await getEntityRecords(
157
+ 'root',
158
+ 'postType'
159
+ )( { dispatch, registry, resolveSelect } );
162
160
 
163
161
  // Fetch request should have been issued.
164
162
  expect( triggerFetch ).toHaveBeenCalledWith( {
@@ -183,13 +181,14 @@ describe( 'getEntityRecords', () => {
183
181
  __unstableAcquireStoreLock: jest.fn(),
184
182
  __unstableReleaseStoreLock: jest.fn(),
185
183
  } );
186
- // Provide entities
187
- dispatch.mockReturnValueOnce( ENTITIES );
188
184
 
189
185
  // Provide response
190
186
  triggerFetch.mockImplementation( () => POST_TYPES );
191
187
 
192
- await getEntityRecords( 'root', 'postType' )( { dispatch, registry } );
188
+ await getEntityRecords(
189
+ 'root',
190
+ 'postType'
191
+ )( { dispatch, registry, resolveSelect } );
193
192
 
194
193
  // Fetch request should have been issued.
195
194
  expect( triggerFetch ).toHaveBeenCalledWith( {
@@ -216,13 +215,14 @@ describe( 'getEntityRecords', () => {
216
215
  __unstableReleaseStoreLock: jest.fn(),
217
216
  finishResolutions,
218
217
  } );
219
- // Provide entities
220
- dispatch.mockReturnValueOnce( ENTITIES );
221
218
 
222
219
  // Provide response
223
220
  triggerFetch.mockImplementation( () => POST_TYPES );
224
221
 
225
- await getEntityRecords( 'root', 'postType' )( { dispatch, registry } );
222
+ await getEntityRecords(
223
+ 'root',
224
+ 'postType'
225
+ )( { dispatch, registry, resolveSelect } );
226
226
 
227
227
  // Fetch request should have been issued.
228
228
  expect( triggerFetch ).toHaveBeenCalledWith( {
@@ -290,6 +290,7 @@ describe( 'canUser', () => {
290
290
  baseURLParams: { context: 'edit' },
291
291
  },
292
292
  ];
293
+ const resolveSelect = { getEntitiesConfig: jest.fn( () => ENTITIES ) };
293
294
 
294
295
  let dispatch, registry;
295
296
  beforeEach( async () => {
@@ -303,7 +304,6 @@ describe( 'canUser', () => {
303
304
  receiveUserPermission: jest.fn(),
304
305
  finishResolution: jest.fn(),
305
306
  } );
306
- dispatch.mockReturnValue( ENTITIES );
307
307
  triggerFetch.mockReset();
308
308
  } );
309
309
 
@@ -312,10 +312,14 @@ describe( 'canUser', () => {
312
312
  Promise.reject( { status: 404 } )
313
313
  );
314
314
 
315
- await canUser( 'create', 'media' )( { dispatch, registry } );
315
+ await canUser(
316
+ 'create',
317
+ 'media'
318
+ )( { dispatch, registry, resolveSelect } );
316
319
  await canUser( 'create', { kind: 'root', name: 'media' } )( {
317
320
  dispatch,
318
321
  registry,
322
+ resolveSelect,
319
323
  } );
320
324
 
321
325
  expect( triggerFetch ).toHaveBeenCalledWith( {
@@ -332,6 +336,7 @@ describe( 'canUser', () => {
332
336
  canUser( 'create', { name: 'wp_block' } )( {
333
337
  dispatch,
334
338
  registry,
339
+ resolveSelect,
335
340
  } )
336
341
  ).rejects.toThrow( 'The entity resource object is not valid.' );
337
342
  } );
@@ -341,7 +346,10 @@ describe( 'canUser', () => {
341
346
  headers: new Map( [ [ 'allow', 'GET' ] ] ),
342
347
  } ) );
343
348
 
344
- await canUser( 'create', 'media' )( { dispatch, registry } );
349
+ await canUser(
350
+ 'create',
351
+ 'media'
352
+ )( { dispatch, registry, resolveSelect } );
345
353
 
346
354
  expect( triggerFetch ).toHaveBeenCalledWith( {
347
355
  path: '/wp/v2/media',
@@ -363,6 +371,7 @@ describe( 'canUser', () => {
363
371
  await canUser( 'create', { kind: 'root', name: 'media' } )( {
364
372
  dispatch,
365
373
  registry,
374
+ resolveSelect,
366
375
  } );
367
376
 
368
377
  expect( triggerFetch ).toHaveBeenCalledWith( {
@@ -382,7 +391,10 @@ describe( 'canUser', () => {
382
391
  headers: new Map( [ [ 'allow', 'POST, GET, PUT, DELETE' ] ] ),
383
392
  } ) );
384
393
 
385
- await canUser( 'create', 'media' )( { dispatch, registry } );
394
+ await canUser(
395
+ 'create',
396
+ 'media'
397
+ )( { dispatch, registry, resolveSelect } );
386
398
 
387
399
  expect( triggerFetch ).toHaveBeenCalledWith( {
388
400
  path: '/wp/v2/media',
@@ -404,6 +416,7 @@ describe( 'canUser', () => {
404
416
  await canUser( 'create', { kind: 'root', name: 'media' } )( {
405
417
  dispatch,
406
418
  registry,
419
+ resolveSelect,
407
420
  } );
408
421
 
409
422
  expect( triggerFetch ).toHaveBeenCalledWith( {
@@ -423,7 +436,11 @@ describe( 'canUser', () => {
423
436
  headers: new Map( [ [ 'allow', 'POST, GET, PUT, DELETE' ] ] ),
424
437
  } ) );
425
438
 
426
- await canUser( 'create', 'blocks', 123 )( { dispatch, registry } );
439
+ await canUser(
440
+ 'create',
441
+ 'blocks',
442
+ 123
443
+ )( { dispatch, registry, resolveSelect } );
427
444
 
428
445
  expect( triggerFetch ).toHaveBeenCalledWith( {
429
446
  path: '/wp/v2/blocks/123',
@@ -449,6 +466,7 @@ describe( 'canUser', () => {
449
466
  } )( {
450
467
  dispatch,
451
468
  registry,
469
+ resolveSelect,
452
470
  } );
453
471
 
454
472
  expect( triggerFetch ).toHaveBeenCalledWith( {
@@ -475,8 +493,14 @@ describe( 'canUser', () => {
475
493
  headers: new Map( [ [ 'allow', 'POST, GET' ] ] ),
476
494
  } ) );
477
495
 
478
- await canUser( 'create', 'blocks' )( { dispatch, registry } );
479
- await canUser( 'read', 'blocks' )( { dispatch, registry } );
496
+ await canUser(
497
+ 'create',
498
+ 'blocks'
499
+ )( { dispatch, registry, resolveSelect } );
500
+ await canUser(
501
+ 'read',
502
+ 'blocks'
503
+ )( { dispatch, registry, resolveSelect } );
480
504
 
481
505
  expect( triggerFetch ).toHaveBeenCalledTimes( 1 );
482
506
 
@@ -508,6 +532,7 @@ describe( 'canUser', () => {
508
532
  } )( {
509
533
  dispatch,
510
534
  registry,
535
+ resolveSelect,
511
536
  } );
512
537
  await canUser( 'read', {
513
538
  kind: 'postType',
@@ -515,6 +540,7 @@ describe( 'canUser', () => {
515
540
  } )( {
516
541
  dispatch,
517
542
  registry,
543
+ resolveSelect,
518
544
  } );
519
545
 
520
546
  expect( triggerFetch ).toHaveBeenCalledTimes( 1 );
@@ -541,10 +567,22 @@ describe( 'canUser', () => {
541
567
  headers: new Map( [ [ 'allow', 'POST, GET' ] ] ),
542
568
  } ) );
543
569
 
544
- await canUser( 'create', 'blocks' )( { dispatch, registry } );
545
- await canUser( 'read', 'blocks' )( { dispatch, registry } );
546
- await canUser( 'update', 'blocks' )( { dispatch, registry } );
547
- await canUser( 'delete', 'blocks' )( { dispatch, registry } );
570
+ await canUser(
571
+ 'create',
572
+ 'blocks'
573
+ )( { dispatch, registry, resolveSelect } );
574
+ await canUser(
575
+ 'read',
576
+ 'blocks'
577
+ )( { dispatch, registry, resolveSelect } );
578
+ await canUser(
579
+ 'update',
580
+ 'blocks'
581
+ )( { dispatch, registry, resolveSelect } );
582
+ await canUser(
583
+ 'delete',
584
+ 'blocks'
585
+ )( { dispatch, registry, resolveSelect } );
548
586
 
549
587
  expect( dispatch.receiveUserPermission ).toHaveBeenCalledWith(
550
588
  'create/blocks',
@@ -576,10 +614,26 @@ describe( 'canUser', () => {
576
614
  headers: new Map( [ [ 'allow', 'POST, GET, PUT, DELETE' ] ] ),
577
615
  } ) );
578
616
 
579
- await canUser( 'create', 'blocks', 123 )( { dispatch, registry } );
580
- await canUser( 'read', 'blocks', 123 )( { dispatch, registry } );
581
- await canUser( 'update', 'blocks', 123 )( { dispatch, registry } );
582
- await canUser( 'delete', 'blocks', 123 )( { dispatch, registry } );
617
+ await canUser(
618
+ 'create',
619
+ 'blocks',
620
+ 123
621
+ )( { dispatch, registry, resolveSelect } );
622
+ await canUser(
623
+ 'read',
624
+ 'blocks',
625
+ 123
626
+ )( { dispatch, registry, resolveSelect } );
627
+ await canUser(
628
+ 'update',
629
+ 'blocks',
630
+ 123
631
+ )( { dispatch, registry, resolveSelect } );
632
+ await canUser(
633
+ 'delete',
634
+ 'blocks',
635
+ 123
636
+ )( { dispatch, registry, resolveSelect } );
583
637
 
584
638
  expect( triggerFetch ).toHaveBeenCalledTimes( 1 );
585
639
 
@@ -617,22 +671,22 @@ describe( 'canUser', () => {
617
671
  kind: 'postType',
618
672
  name: 'wp_block',
619
673
  id: 123,
620
- } )( { dispatch, registry } );
674
+ } )( { dispatch, registry, resolveSelect } );
621
675
  await canUser( 'read', {
622
676
  kind: 'postType',
623
677
  name: 'wp_block',
624
678
  id: 123,
625
- } )( { dispatch, registry } );
679
+ } )( { dispatch, registry, resolveSelect } );
626
680
  await canUser( 'update', {
627
681
  kind: 'postType',
628
682
  name: 'wp_block',
629
683
  id: 123,
630
- } )( { dispatch, registry } );
684
+ } )( { dispatch, registry, resolveSelect } );
631
685
  await canUser( 'delete', {
632
686
  kind: 'postType',
633
687
  name: 'wp_block',
634
688
  id: 123,
635
- } )( { dispatch, registry } );
689
+ } )( { dispatch, registry, resolveSelect } );
636
690
 
637
691
  expect( triggerFetch ).toHaveBeenCalledTimes( 1 );
638
692
 
@@ -14,3 +14,4 @@ export {
14
14
  getUserPermissionsFromAllowHeader,
15
15
  ALLOWED_RESOURCE_ACTIONS,
16
16
  } from './user-permissions';
17
+ export { RECEIVE_INTERMEDIATE_RESULTS } from './receive-intermediate-results';
@@ -0,0 +1,3 @@
1
+ export const RECEIVE_INTERMEDIATE_RESULTS = Symbol(
2
+ 'RECEIVE_INTERMEDIATE_RESULTS'
3
+ );