@wordpress/core-data 7.32.0 → 7.32.1-next.ff1cebbba.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.
- package/build/actions.js +375 -632
- package/build/actions.js.map +7 -1
- package/build/batch/create-batch.js +49 -62
- package/build/batch/create-batch.js.map +7 -1
- package/build/batch/default-processor.js +43 -39
- package/build/batch/default-processor.js.map +7 -1
- package/build/batch/index.js +38 -17
- package/build/batch/index.js.map +7 -1
- package/build/dynamic-entities.js +30 -32
- package/build/dynamic-entities.js.map +7 -1
- package/build/entities.js +298 -410
- package/build/entities.js.map +7 -1
- package/build/entity-context.js +29 -12
- package/build/entity-context.js.map +7 -1
- package/build/entity-provider.js +38 -46
- package/build/entity-provider.js.map +7 -1
- package/build/entity-types/attachment.js +16 -5
- package/build/entity-types/attachment.js.map +7 -1
- package/build/entity-types/base-entity-records.js +16 -42
- package/build/entity-types/base-entity-records.js.map +7 -1
- package/build/entity-types/base.js +16 -5
- package/build/entity-types/base.js.map +7 -1
- package/build/entity-types/comment.js +16 -5
- package/build/entity-types/comment.js.map +7 -1
- package/build/entity-types/global-styles-revision.js +16 -5
- package/build/entity-types/global-styles-revision.js.map +7 -1
- package/build/entity-types/helpers.js +16 -5
- package/build/entity-types/helpers.js.map +7 -1
- package/build/entity-types/index.js +16 -5
- package/build/entity-types/index.js.map +7 -1
- package/build/entity-types/menu-location.js +16 -5
- package/build/entity-types/menu-location.js.map +7 -1
- package/build/entity-types/nav-menu-item.js +16 -5
- package/build/entity-types/nav-menu-item.js.map +7 -1
- package/build/entity-types/nav-menu.js +16 -5
- package/build/entity-types/nav-menu.js.map +7 -1
- package/build/entity-types/page.js +16 -5
- package/build/entity-types/page.js.map +7 -1
- package/build/entity-types/plugin.js +16 -5
- package/build/entity-types/plugin.js.map +7 -1
- package/build/entity-types/post-revision.js +16 -5
- package/build/entity-types/post-revision.js.map +7 -1
- package/build/entity-types/post-status.js +16 -5
- package/build/entity-types/post-status.js.map +7 -1
- package/build/entity-types/post.js +16 -5
- package/build/entity-types/post.js.map +7 -1
- package/build/entity-types/settings.js +16 -5
- package/build/entity-types/settings.js.map +7 -1
- package/build/entity-types/sidebar.js +16 -5
- package/build/entity-types/sidebar.js.map +7 -1
- package/build/entity-types/taxonomy.js +16 -5
- package/build/entity-types/taxonomy.js.map +7 -1
- package/build/entity-types/term.js +16 -5
- package/build/entity-types/term.js.map +7 -1
- package/build/entity-types/theme.js +16 -5
- package/build/entity-types/theme.js.map +7 -1
- package/build/entity-types/type.js +16 -5
- package/build/entity-types/type.js.map +7 -1
- package/build/entity-types/user.js +16 -5
- package/build/entity-types/user.js.map +7 -1
- package/build/entity-types/widget-type.js +16 -5
- package/build/entity-types/widget-type.js.map +7 -1
- package/build/entity-types/widget.js +16 -5
- package/build/entity-types/widget.js.map +7 -1
- package/build/entity-types/wp-template-part.js +16 -5
- package/build/entity-types/wp-template-part.js.map +7 -1
- package/build/entity-types/wp-template.js +16 -5
- package/build/entity-types/wp-template.js.map +7 -1
- package/build/fetch/__experimental-fetch-link-suggestions.js +141 -154
- package/build/fetch/__experimental-fetch-link-suggestions.js.map +7 -1
- package/build/fetch/__experimental-fetch-url-data.js +47 -59
- package/build/fetch/__experimental-fetch-url-data.js.map +7 -1
- package/build/fetch/index.js +53 -32
- package/build/fetch/index.js.map +7 -1
- package/build/footnotes/get-footnotes-order.js +38 -25
- package/build/footnotes/get-footnotes-order.js.map +7 -1
- package/build/footnotes/get-rich-text-values-cached.js +26 -27
- package/build/footnotes/get-rich-text-values-cached.js.map +7 -1
- package/build/footnotes/index.js +68 -55
- package/build/footnotes/index.js.map +7 -1
- package/build/hooks/constants.js +33 -12
- package/build/hooks/constants.js.map +7 -1
- package/build/hooks/index.js +59 -68
- package/build/hooks/index.js.map +7 -1
- package/build/hooks/memoize.js +34 -12
- package/build/hooks/memoize.js.map +7 -1
- package/build/hooks/use-entity-block-editor.js +111 -119
- package/build/hooks/use-entity-block-editor.js.map +7 -1
- package/build/hooks/use-entity-id.js +25 -23
- package/build/hooks/use-entity-id.js.map +7 -1
- package/build/hooks/use-entity-prop.js +59 -60
- package/build/hooks/use-entity-prop.js.map +7 -1
- package/build/hooks/use-entity-record.js +95 -155
- package/build/hooks/use-entity-record.js.map +7 -1
- package/build/hooks/use-entity-records.js +131 -139
- package/build/hooks/use-entity-records.js.map +7 -1
- package/build/hooks/use-query-select.js +65 -84
- package/build/hooks/use-query-select.js.map +7 -1
- package/build/hooks/use-resource-permissions.js +92 -145
- package/build/hooks/use-resource-permissions.js.map +7 -1
- package/build/index.js +96 -153
- package/build/index.js.map +7 -1
- package/build/lock-unlock.js +31 -14
- package/build/lock-unlock.js.map +7 -1
- package/build/locks/actions.js +36 -19
- package/build/locks/actions.js.map +7 -1
- package/build/locks/engine.js +48 -47
- package/build/locks/engine.js.map +7 -1
- package/build/locks/reducer.js +54 -63
- package/build/locks/reducer.js.map +7 -1
- package/build/locks/selectors.js +35 -30
- package/build/locks/selectors.js.map +7 -1
- package/build/locks/utils.js +37 -16
- package/build/locks/utils.js.map +7 -1
- package/build/name.js +27 -12
- package/build/name.js.map +7 -1
- package/build/private-actions.js +67 -75
- package/build/private-actions.js.map +7 -1
- package/build/private-apis.js +33 -16
- package/build/private-apis.js.map +7 -1
- package/build/private-selectors.js +204 -184
- package/build/private-selectors.js.map +7 -1
- package/build/queried-data/actions.js +32 -41
- package/build/queried-data/actions.js.map +7 -1
- package/build/queried-data/get-query-parts.js +41 -79
- package/build/queried-data/get-query-parts.js.map +7 -1
- package/build/queried-data/index.js +39 -36
- package/build/queried-data/index.js.map +7 -1
- package/build/queried-data/reducer.js +162 -193
- package/build/queried-data/reducer.js.map +7 -1
- package/build/queried-data/selectors.js +57 -85
- package/build/queried-data/selectors.js.map +7 -1
- package/build/reducer.js +279 -404
- package/build/reducer.js.map +7 -1
- package/build/resolvers.js +553 -600
- package/build/resolvers.js.map +7 -1
- package/build/selectors.js +456 -981
- package/build/selectors.js.map +7 -1
- package/build/sync.js +34 -22
- package/build/sync.js.map +7 -1
- package/build/types.js +16 -5
- package/build/types.js.map +7 -1
- package/build/utils/conservative-map-item.js +34 -27
- package/build/utils/conservative-map-item.js.map +7 -1
- package/build/utils/crdt-blocks.js +289 -0
- package/build/utils/crdt-blocks.js.map +7 -0
- package/build/utils/crdt.js +202 -0
- package/build/utils/crdt.js.map +7 -0
- package/build/utils/forward-resolver.js +24 -16
- package/build/utils/forward-resolver.js.map +7 -1
- package/build/utils/get-nested-value.js +26 -21
- package/build/utils/get-nested-value.js.map +7 -1
- package/build/utils/get-normalized-comma-separable.js +25 -17
- package/build/utils/get-normalized-comma-separable.js.map +7 -1
- package/build/utils/if-matching-action.js +25 -19
- package/build/utils/if-matching-action.js.map +7 -1
- package/build/utils/index.js +77 -108
- package/build/utils/index.js.map +7 -1
- package/build/utils/is-numeric-id.js +22 -12
- package/build/utils/is-numeric-id.js.map +7 -1
- package/build/utils/is-raw-attribute.js +22 -13
- package/build/utils/is-raw-attribute.js.map +7 -1
- package/build/utils/log-entity-deprecation.js +37 -38
- package/build/utils/log-entity-deprecation.js.map +7 -1
- package/build/utils/on-sub-key.js +30 -24
- package/build/utils/on-sub-key.js.map +7 -1
- package/build/utils/receive-intermediate-results.js +29 -6
- package/build/utils/receive-intermediate-results.js.map +7 -1
- package/build/utils/replace-action.js +24 -17
- package/build/utils/replace-action.js.map +7 -1
- package/build/utils/set-nested-value.js +25 -30
- package/build/utils/set-nested-value.js.map +7 -1
- package/build/utils/user-permissions.js +41 -13
- package/build/utils/user-permissions.js.map +7 -1
- package/build/utils/with-weak-map-cache.js +26 -22
- package/build/utils/with-weak-map-cache.js.map +7 -1
- package/build-module/actions.js +322 -601
- package/build-module/actions.js.map +7 -1
- package/build-module/batch/create-batch.js +21 -57
- package/build-module/batch/create-batch.js.map +7 -1
- package/build-module/batch/default-processor.js +14 -33
- package/build-module/batch/default-processor.js.map +7 -1
- package/build-module/batch/index.js +7 -3
- package/build-module/batch/index.js.map +7 -1
- package/build-module/dynamic-entities.js +7 -28
- package/build-module/dynamic-entities.js.map +7 -1
- package/build-module/entities.js +263 -399
- package/build-module/entities.js.map +7 -1
- package/build-module/entity-context.js +7 -7
- package/build-module/entity-context.js.map +7 -1
- package/build-module/entity-provider.js +19 -42
- package/build-module/entity-provider.js.map +7 -1
- package/build-module/entity-types/attachment.js +1 -2
- package/build-module/entity-types/attachment.js.map +7 -1
- package/build-module/entity-types/base-entity-records.js +1 -37
- package/build-module/entity-types/base-entity-records.js.map +7 -1
- package/build-module/entity-types/base.js +1 -2
- package/build-module/entity-types/base.js.map +7 -1
- package/build-module/entity-types/comment.js +1 -2
- package/build-module/entity-types/comment.js.map +7 -1
- package/build-module/entity-types/global-styles-revision.js +1 -2
- package/build-module/entity-types/global-styles-revision.js.map +7 -1
- package/build-module/entity-types/helpers.js +1 -2
- package/build-module/entity-types/helpers.js.map +7 -1
- package/build-module/entity-types/index.js +1 -2
- package/build-module/entity-types/index.js.map +7 -1
- package/build-module/entity-types/menu-location.js +1 -2
- package/build-module/entity-types/menu-location.js.map +7 -1
- package/build-module/entity-types/nav-menu-item.js +1 -2
- package/build-module/entity-types/nav-menu-item.js.map +7 -1
- package/build-module/entity-types/nav-menu.js +1 -2
- package/build-module/entity-types/nav-menu.js.map +7 -1
- package/build-module/entity-types/page.js +1 -2
- package/build-module/entity-types/page.js.map +7 -1
- package/build-module/entity-types/plugin.js +1 -2
- package/build-module/entity-types/plugin.js.map +7 -1
- package/build-module/entity-types/post-revision.js +1 -2
- package/build-module/entity-types/post-revision.js.map +7 -1
- package/build-module/entity-types/post-status.js +1 -2
- package/build-module/entity-types/post-status.js.map +7 -1
- package/build-module/entity-types/post.js +1 -2
- package/build-module/entity-types/post.js.map +7 -1
- package/build-module/entity-types/settings.js +1 -2
- package/build-module/entity-types/settings.js.map +7 -1
- package/build-module/entity-types/sidebar.js +1 -2
- package/build-module/entity-types/sidebar.js.map +7 -1
- package/build-module/entity-types/taxonomy.js +1 -2
- package/build-module/entity-types/taxonomy.js.map +7 -1
- package/build-module/entity-types/term.js +1 -2
- package/build-module/entity-types/term.js.map +7 -1
- package/build-module/entity-types/theme.js +1 -2
- package/build-module/entity-types/theme.js.map +7 -1
- package/build-module/entity-types/type.js +1 -2
- package/build-module/entity-types/type.js.map +7 -1
- package/build-module/entity-types/user.js +1 -2
- package/build-module/entity-types/user.js.map +7 -1
- package/build-module/entity-types/widget-type.js +1 -2
- package/build-module/entity-types/widget-type.js.map +7 -1
- package/build-module/entity-types/widget.js +1 -2
- package/build-module/entity-types/widget.js.map +7 -1
- package/build-module/entity-types/wp-template-part.js +1 -2
- package/build-module/entity-types/wp-template-part.js.map +7 -1
- package/build-module/entity-types/wp-template.js +1 -2
- package/build-module/entity-types/wp-template.js.map +7 -1
- package/build-module/fetch/__experimental-fetch-link-suggestions.js +111 -149
- package/build-module/fetch/__experimental-fetch-link-suggestions.js.map +7 -1
- package/build-module/fetch/__experimental-fetch-url-data.js +20 -49
- package/build-module/fetch/__experimental-fetch-url-data.js.map +7 -1
- package/build-module/fetch/index.js +20 -15
- package/build-module/fetch/index.js.map +7 -1
- package/build-module/footnotes/get-footnotes-order.js +10 -19
- package/build-module/footnotes/get-footnotes-order.js.map +7 -1
- package/build-module/footnotes/get-rich-text-values-cached.js +8 -23
- package/build-module/footnotes/get-rich-text-values-cached.js.map +7 -1
- package/build-module/footnotes/index.js +34 -47
- package/build-module/footnotes/index.js.map +7 -1
- package/build-module/hooks/constants.js +11 -8
- package/build-module/hooks/constants.js.map +7 -1
- package/build-module/hooks/index.js +27 -15
- package/build-module/hooks/index.js.map +7 -1
- package/build-module/hooks/memoize.js +6 -8
- package/build-module/hooks/memoize.js.map +7 -1
- package/build-module/hooks/use-entity-block-editor.js +80 -110
- package/build-module/hooks/use-entity-block-editor.js.map +7 -1
- package/build-module/hooks/use-entity-id.js +7 -19
- package/build-module/hooks/use-entity-id.js.map +7 -1
- package/build-module/hooks/use-entity-prop.js +31 -55
- package/build-module/hooks/use-entity-prop.js.map +7 -1
- package/build-module/hooks/use-entity-record.js +63 -148
- package/build-module/hooks/use-entity-record.js.map +7 -1
- package/build-module/hooks/use-entity-records.js +98 -131
- package/build-module/hooks/use-entity-records.js.map +7 -1
- package/build-module/hooks/use-query-select.js +27 -71
- package/build-module/hooks/use-query-select.js.map +7 -1
- package/build-module/hooks/use-resource-permissions.js +57 -136
- package/build-module/hooks/use-resource-permissions.js.map +7 -1
- package/build-module/index.js +49 -71
- package/build-module/index.js.map +7 -1
- package/build-module/lock-unlock.js +8 -7
- package/build-module/lock-unlock.js.map +7 -1
- package/build-module/locks/actions.js +8 -13
- package/build-module/locks/actions.js.map +7 -1
- package/build-module/locks/engine.js +17 -38
- package/build-module/locks/engine.js.map +7 -1
- package/build-module/locks/reducer.js +37 -59
- package/build-module/locks/reducer.js.map +7 -1
- package/build-module/locks/selectors.js +16 -23
- package/build-module/locks/selectors.js.map +7 -1
- package/build-module/locks/utils.js +15 -12
- package/build-module/locks/utils.js.map +7 -1
- package/build-module/name.js +5 -8
- package/build-module/name.js.map +7 -1
- package/build-module/private-actions.js +35 -69
- package/build-module/private-actions.js.map +7 -1
- package/build-module/private-apis.js +8 -8
- package/build-module/private-apis.js.map +7 -1
- package/build-module/private-selectors.js +167 -174
- package/build-module/private-selectors.js.map +7 -1
- package/build-module/queried-data/actions.js +11 -38
- package/build-module/queried-data/actions.js.map +7 -1
- package/build-module/queried-data/get-query-parts.js +20 -75
- package/build-module/queried-data/get-query-parts.js.map +7 -1
- package/build-module/queried-data/index.js +7 -4
- package/build-module/queried-data/index.js.map +7 -1
- package/build-module/queried-data/reducer.js +134 -185
- package/build-module/queried-data/reducer.js.map +7 -1
- package/build-module/queried-data/selectors.js +23 -78
- package/build-module/queried-data/selectors.js.map +7 -1
- package/build-module/reducer.js +243 -393
- package/build-module/reducer.js.map +7 -1
- package/build-module/resolvers.js +478 -549
- package/build-module/resolvers.js.map +7 -1
- package/build-module/selectors.js +410 -953
- package/build-module/selectors.js.map +7 -1
- package/build-module/sync.js +14 -17
- package/build-module/sync.js.map +7 -1
- package/build-module/types.js +1 -2
- package/build-module/types.js.map +7 -1
- package/build-module/utils/conservative-map-item.js +6 -22
- package/build-module/utils/conservative-map-item.js.map +7 -1
- package/build-module/utils/crdt-blocks.js +255 -0
- package/build-module/utils/crdt-blocks.js.map +7 -0
- package/build-module/utils/crdt.js +167 -0
- package/build-module/utils/crdt.js.map +7 -0
- package/build-module/utils/forward-resolver.js +6 -12
- package/build-module/utils/forward-resolver.js.map +7 -1
- package/build-module/utils/get-nested-value.js +9 -18
- package/build-module/utils/get-nested-value.js.map +7 -1
- package/build-module/utils/get-normalized-comma-separable.js +7 -13
- package/build-module/utils/get-normalized-comma-separable.js.map +7 -1
- package/build-module/utils/if-matching-action.js +7 -15
- package/build-module/utils/if-matching-action.js.map +7 -1
- package/build-module/utils/index.js +35 -14
- package/build-module/utils/index.js.map +7 -1
- package/build-module/utils/is-numeric-id.js +5 -9
- package/build-module/utils/is-numeric-id.js.map +7 -1
- package/build-module/utils/is-raw-attribute.js +5 -10
- package/build-module/utils/is-raw-attribute.js.map +7 -1
- package/build-module/utils/log-entity-deprecation.js +8 -31
- package/build-module/utils/log-entity-deprecation.js.map +7 -1
- package/build-module/utils/on-sub-key.js +8 -19
- package/build-module/utils/on-sub-key.js.map +7 -1
- package/build-module/utils/receive-intermediate-results.js +7 -2
- package/build-module/utils/receive-intermediate-results.js.map +7 -1
- package/build-module/utils/replace-action.js +6 -13
- package/build-module/utils/replace-action.js.map +7 -1
- package/build-module/utils/set-nested-value.js +8 -27
- package/build-module/utils/set-nested-value.js.map +7 -1
- package/build-module/utils/user-permissions.js +19 -9
- package/build-module/utils/user-permissions.js.map +7 -1
- package/build-module/utils/with-weak-map-cache.js +8 -18
- package/build-module/utils/with-weak-map-cache.js.map +7 -1
- package/build-types/actions.d.ts.map +1 -1
- package/build-types/entities.d.ts +0 -56
- package/build-types/entities.d.ts.map +1 -1
- package/build-types/index.d.ts.map +1 -1
- package/build-types/private-selectors.d.ts.map +1 -1
- package/build-types/resolvers.d.ts +3 -0
- package/build-types/resolvers.d.ts.map +1 -1
- package/build-types/selectors.d.ts.map +1 -1
- package/build-types/sync.d.ts +6 -1
- package/build-types/sync.d.ts.map +1 -1
- package/build-types/types.d.ts +9 -0
- package/build-types/types.d.ts.map +1 -1
- package/build-types/utils/crdt-blocks.d.ts +30 -0
- package/build-types/utils/crdt-blocks.d.ts.map +1 -0
- package/build-types/utils/crdt.d.ts +49 -0
- package/build-types/utils/crdt.d.ts.map +1 -0
- package/package.json +26 -19
- package/src/actions.js +56 -74
- package/src/entities.js +59 -113
- package/src/private-selectors.ts +32 -7
- package/src/resolvers.js +173 -120
- package/src/selectors.ts +0 -13
- package/src/sync.ts +12 -0
- package/src/test/resolvers.js +183 -0
- package/src/types.ts +12 -0
- package/src/utils/crdt-blocks.ts +503 -0
- package/src/utils/crdt.ts +310 -0
- package/src/utils/test/crdt-blocks.ts +375 -0
- package/src/utils/test/crdt.ts +254 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/src/sync.js +0 -27
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/locks/engine.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport { isLockAvailable, getPendingLockRequests } from './selectors';\n\nexport default function createLocks() {\n\tlet state = reducer( undefined, { type: '@@INIT' } );\n\n\tfunction processPendingLockRequests() {\n\t\tfor ( const request of getPendingLockRequests( state ) ) {\n\t\t\tconst { store, path, exclusive, notifyAcquired } = request;\n\t\t\tif ( isLockAvailable( state, store, path, { exclusive } ) ) {\n\t\t\t\tconst lock = { store, path, exclusive };\n\t\t\t\tstate = reducer( state, {\n\t\t\t\t\ttype: 'GRANT_LOCK_REQUEST',\n\t\t\t\t\tlock,\n\t\t\t\t\trequest,\n\t\t\t\t} );\n\t\t\t\tnotifyAcquired( lock );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction acquire( store, path, exclusive ) {\n\t\treturn new Promise( ( resolve ) => {\n\t\t\tstate = reducer( state, {\n\t\t\t\ttype: 'ENQUEUE_LOCK_REQUEST',\n\t\t\t\trequest: { store, path, exclusive, notifyAcquired: resolve },\n\t\t\t} );\n\t\t\tprocessPendingLockRequests();\n\t\t} );\n\t}\n\tfunction release( lock ) {\n\t\tstate = reducer( state, {\n\t\t\ttype: 'RELEASE_LOCK',\n\t\t\tlock,\n\t\t} );\n\t\tprocessPendingLockRequests();\n\t}\n\n\treturn { acquire, release };\n}\n"],
|
|
5
|
+
"mappings": "AAGA,OAAO,aAAa;AACpB,SAAS,iBAAiB,8BAA8B;AAEzC,SAAR,cAA+B;AACrC,MAAI,QAAQ,QAAS,QAAW,EAAE,MAAM,SAAS,CAAE;AAEnD,WAAS,6BAA6B;AACrC,eAAY,WAAW,uBAAwB,KAAM,GAAI;AACxD,YAAM,EAAE,OAAO,MAAM,WAAW,eAAe,IAAI;AACnD,UAAK,gBAAiB,OAAO,OAAO,MAAM,EAAE,UAAU,CAAE,GAAI;AAC3D,cAAM,OAAO,EAAE,OAAO,MAAM,UAAU;AACtC,gBAAQ,QAAS,OAAO;AAAA,UACvB,MAAM;AAAA,UACN;AAAA,UACA;AAAA,QACD,CAAE;AACF,uBAAgB,IAAK;AAAA,MACtB;AAAA,IACD;AAAA,EACD;AAEA,WAAS,QAAS,OAAO,MAAM,WAAY;AAC1C,WAAO,IAAI,QAAS,CAAE,YAAa;AAClC,cAAQ,QAAS,OAAO;AAAA,QACvB,MAAM;AAAA,QACN,SAAS,EAAE,OAAO,MAAM,WAAW,gBAAgB,QAAQ;AAAA,MAC5D,CAAE;AACF,iCAA2B;AAAA,IAC5B,CAAE;AAAA,EACH;AACA,WAAS,QAAS,MAAO;AACxB,YAAQ,QAAS,OAAO;AAAA,MACvB,MAAM;AAAA,MACN;AAAA,IACD,CAAE;AACF,+BAA2B;AAAA,EAC5B;AAEA,SAAO,EAAE,SAAS,QAAQ;AAC3B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Internal dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { getNode, deepCopyLocksTreePath } from './utils';
|
|
1
|
+
import { getNode, deepCopyLocksTreePath } from "./utils";
|
|
5
2
|
const DEFAULT_STATE = {
|
|
6
3
|
requests: [],
|
|
7
4
|
tree: {
|
|
@@ -9,62 +6,43 @@ const DEFAULT_STATE = {
|
|
|
9
6
|
children: {}
|
|
10
7
|
}
|
|
11
8
|
};
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Reducer returning locks.
|
|
15
|
-
*
|
|
16
|
-
* @param {Object} state Current state.
|
|
17
|
-
* @param {Object} action Dispatched action.
|
|
18
|
-
*
|
|
19
|
-
* @return {Object} Updated state.
|
|
20
|
-
*/
|
|
21
|
-
export default function locks(state = DEFAULT_STATE, action) {
|
|
9
|
+
function locks(state = DEFAULT_STATE, action) {
|
|
22
10
|
switch (action.type) {
|
|
23
|
-
case
|
|
24
|
-
{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
{
|
|
55
|
-
const {
|
|
56
|
-
lock
|
|
57
|
-
} = action;
|
|
58
|
-
const storePath = [lock.store, ...lock.path];
|
|
59
|
-
const newTree = deepCopyLocksTreePath(state.tree, storePath);
|
|
60
|
-
const node = getNode(newTree, storePath);
|
|
61
|
-
node.locks = node.locks.filter(l => l !== lock);
|
|
62
|
-
return {
|
|
63
|
-
...state,
|
|
64
|
-
tree: newTree
|
|
65
|
-
};
|
|
66
|
-
}
|
|
11
|
+
case "ENQUEUE_LOCK_REQUEST": {
|
|
12
|
+
const { request } = action;
|
|
13
|
+
return {
|
|
14
|
+
...state,
|
|
15
|
+
requests: [request, ...state.requests]
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
case "GRANT_LOCK_REQUEST": {
|
|
19
|
+
const { lock, request } = action;
|
|
20
|
+
const { store, path } = request;
|
|
21
|
+
const storePath = [store, ...path];
|
|
22
|
+
const newTree = deepCopyLocksTreePath(state.tree, storePath);
|
|
23
|
+
const node = getNode(newTree, storePath);
|
|
24
|
+
node.locks = [...node.locks, lock];
|
|
25
|
+
return {
|
|
26
|
+
...state,
|
|
27
|
+
requests: state.requests.filter((r) => r !== request),
|
|
28
|
+
tree: newTree
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
case "RELEASE_LOCK": {
|
|
32
|
+
const { lock } = action;
|
|
33
|
+
const storePath = [lock.store, ...lock.path];
|
|
34
|
+
const newTree = deepCopyLocksTreePath(state.tree, storePath);
|
|
35
|
+
const node = getNode(newTree, storePath);
|
|
36
|
+
node.locks = node.locks.filter((l) => l !== lock);
|
|
37
|
+
return {
|
|
38
|
+
...state,
|
|
39
|
+
tree: newTree
|
|
40
|
+
};
|
|
41
|
+
}
|
|
67
42
|
}
|
|
68
43
|
return state;
|
|
69
44
|
}
|
|
70
|
-
|
|
45
|
+
export {
|
|
46
|
+
locks as default
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=reducer.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/locks/reducer.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport { getNode, deepCopyLocksTreePath } from './utils';\n\nconst DEFAULT_STATE = {\n\trequests: [],\n\ttree: {\n\t\tlocks: [],\n\t\tchildren: {},\n\t},\n};\n\n/**\n * Reducer returning locks.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport default function locks( state = DEFAULT_STATE, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'ENQUEUE_LOCK_REQUEST': {\n\t\t\tconst { request } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\trequests: [ request, ...state.requests ],\n\t\t\t};\n\t\t}\n\t\tcase 'GRANT_LOCK_REQUEST': {\n\t\t\tconst { lock, request } = action;\n\t\t\tconst { store, path } = request;\n\t\t\tconst storePath = [ store, ...path ];\n\n\t\t\tconst newTree = deepCopyLocksTreePath( state.tree, storePath );\n\t\t\tconst node = getNode( newTree, storePath );\n\t\t\tnode.locks = [ ...node.locks, lock ];\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\trequests: state.requests.filter( ( r ) => r !== request ),\n\t\t\t\ttree: newTree,\n\t\t\t};\n\t\t}\n\t\tcase 'RELEASE_LOCK': {\n\t\t\tconst { lock } = action;\n\t\t\tconst storePath = [ lock.store, ...lock.path ];\n\n\t\t\tconst newTree = deepCopyLocksTreePath( state.tree, storePath );\n\t\t\tconst node = getNode( newTree, storePath );\n\t\t\tnode.locks = node.locks.filter( ( l ) => l !== lock );\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\ttree: newTree,\n\t\t\t};\n\t\t}\n\t}\n\n\treturn state;\n}\n"],
|
|
5
|
+
"mappings": "AAGA,SAAS,SAAS,6BAA6B;AAE/C,MAAM,gBAAgB;AAAA,EACrB,UAAU,CAAC;AAAA,EACX,MAAM;AAAA,IACL,OAAO,CAAC;AAAA,IACR,UAAU,CAAC;AAAA,EACZ;AACD;AAUe,SAAR,MAAwB,QAAQ,eAAe,QAAS;AAC9D,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK,wBAAwB;AAC5B,YAAM,EAAE,QAAQ,IAAI;AACpB,aAAO;AAAA,QACN,GAAG;AAAA,QACH,UAAU,CAAE,SAAS,GAAG,MAAM,QAAS;AAAA,MACxC;AAAA,IACD;AAAA,IACA,KAAK,sBAAsB;AAC1B,YAAM,EAAE,MAAM,QAAQ,IAAI;AAC1B,YAAM,EAAE,OAAO,KAAK,IAAI;AACxB,YAAM,YAAY,CAAE,OAAO,GAAG,IAAK;AAEnC,YAAM,UAAU,sBAAuB,MAAM,MAAM,SAAU;AAC7D,YAAM,OAAO,QAAS,SAAS,SAAU;AACzC,WAAK,QAAQ,CAAE,GAAG,KAAK,OAAO,IAAK;AAEnC,aAAO;AAAA,QACN,GAAG;AAAA,QACH,UAAU,MAAM,SAAS,OAAQ,CAAE,MAAO,MAAM,OAAQ;AAAA,QACxD,MAAM;AAAA,MACP;AAAA,IACD;AAAA,IACA,KAAK,gBAAgB;AACpB,YAAM,EAAE,KAAK,IAAI;AACjB,YAAM,YAAY,CAAE,KAAK,OAAO,GAAG,KAAK,IAAK;AAE7C,YAAM,UAAU,sBAAuB,MAAM,MAAM,SAAU;AAC7D,YAAM,OAAO,QAAS,SAAS,SAAU;AACzC,WAAK,QAAQ,KAAK,MAAM,OAAQ,CAAE,MAAO,MAAM,IAAK;AAEpD,aAAO;AAAA,QACN,GAAG;AAAA,QACH,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,40 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import {
|
|
2
|
+
iterateDescendants,
|
|
3
|
+
iteratePath,
|
|
4
|
+
hasConflictingLock,
|
|
5
|
+
getNode
|
|
6
|
+
} from "./utils";
|
|
7
|
+
function getPendingLockRequests(state) {
|
|
6
8
|
return state.requests;
|
|
7
9
|
}
|
|
8
|
-
|
|
9
|
-
exclusive
|
|
10
|
-
}) {
|
|
10
|
+
function isLockAvailable(state, store, path, { exclusive }) {
|
|
11
11
|
const storePath = [store, ...path];
|
|
12
12
|
const locks = state.tree;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
for (const node of iteratePath(locks, storePath)) {
|
|
16
|
-
if (hasConflictingLock({
|
|
17
|
-
exclusive
|
|
18
|
-
}, node.locks)) {
|
|
13
|
+
for (const node2 of iteratePath(locks, storePath)) {
|
|
14
|
+
if (hasConflictingLock({ exclusive }, node2.locks)) {
|
|
19
15
|
return false;
|
|
20
16
|
}
|
|
21
17
|
}
|
|
22
|
-
|
|
23
|
-
// iteratePath terminates early if path is unreachable, let's
|
|
24
|
-
// re-fetch the node and check it exists in the tree.
|
|
25
18
|
const node = getNode(locks, storePath);
|
|
26
19
|
if (!node) {
|
|
27
20
|
return true;
|
|
28
21
|
}
|
|
29
|
-
|
|
30
|
-
// Validate all nested nodes
|
|
31
22
|
for (const descendant of iterateDescendants(node)) {
|
|
32
|
-
if (hasConflictingLock({
|
|
33
|
-
exclusive
|
|
34
|
-
}, descendant.locks)) {
|
|
23
|
+
if (hasConflictingLock({ exclusive }, descendant.locks)) {
|
|
35
24
|
return false;
|
|
36
25
|
}
|
|
37
26
|
}
|
|
38
27
|
return true;
|
|
39
28
|
}
|
|
40
|
-
|
|
29
|
+
export {
|
|
30
|
+
getPendingLockRequests,
|
|
31
|
+
isLockAvailable
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=selectors.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/locks/selectors.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport {\n\titerateDescendants,\n\titeratePath,\n\thasConflictingLock,\n\tgetNode,\n} from './utils';\n\nexport function getPendingLockRequests( state ) {\n\treturn state.requests;\n}\n\nexport function isLockAvailable( state, store, path, { exclusive } ) {\n\tconst storePath = [ store, ...path ];\n\tconst locks = state.tree;\n\n\t// Validate all parents and the node itself\n\tfor ( const node of iteratePath( locks, storePath ) ) {\n\t\tif ( hasConflictingLock( { exclusive }, node.locks ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t// iteratePath terminates early if path is unreachable, let's\n\t// re-fetch the node and check it exists in the tree.\n\tconst node = getNode( locks, storePath );\n\tif ( ! node ) {\n\t\treturn true;\n\t}\n\n\t// Validate all nested nodes\n\tfor ( const descendant of iterateDescendants( node ) ) {\n\t\tif ( hasConflictingLock( { exclusive }, descendant.locks ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n"],
|
|
5
|
+
"mappings": "AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEA,SAAS,uBAAwB,OAAQ;AAC/C,SAAO,MAAM;AACd;AAEO,SAAS,gBAAiB,OAAO,OAAO,MAAM,EAAE,UAAU,GAAI;AACpE,QAAM,YAAY,CAAE,OAAO,GAAG,IAAK;AACnC,QAAM,QAAQ,MAAM;AAGpB,aAAYA,SAAQ,YAAa,OAAO,SAAU,GAAI;AACrD,QAAK,mBAAoB,EAAE,UAAU,GAAGA,MAAK,KAAM,GAAI;AACtD,aAAO;AAAA,IACR;AAAA,EACD;AAIA,QAAM,OAAO,QAAS,OAAO,SAAU;AACvC,MAAK,CAAE,MAAO;AACb,WAAO;AAAA,EACR;AAGA,aAAY,cAAc,mBAAoB,IAAK,GAAI;AACtD,QAAK,mBAAoB,EAAE,UAAU,GAAG,WAAW,KAAM,GAAI;AAC5D,aAAO;AAAA,IACR;AAAA,EACD;AAEA,SAAO;AACR;",
|
|
6
|
+
"names": ["node"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
const newTree = {
|
|
3
|
-
...tree
|
|
4
|
-
};
|
|
1
|
+
function deepCopyLocksTreePath(tree, path) {
|
|
2
|
+
const newTree = { ...tree };
|
|
5
3
|
let currentNode = newTree;
|
|
6
4
|
for (const branchName of path) {
|
|
7
5
|
currentNode.children = {
|
|
@@ -16,7 +14,7 @@ export function deepCopyLocksTreePath(tree, path) {
|
|
|
16
14
|
}
|
|
17
15
|
return newTree;
|
|
18
16
|
}
|
|
19
|
-
|
|
17
|
+
function getNode(tree, path) {
|
|
20
18
|
let currentNode = tree;
|
|
21
19
|
for (const branchName of path) {
|
|
22
20
|
const nextNode = currentNode.children[branchName];
|
|
@@ -27,7 +25,7 @@ export function getNode(tree, path) {
|
|
|
27
25
|
}
|
|
28
26
|
return currentNode;
|
|
29
27
|
}
|
|
30
|
-
|
|
28
|
+
function* iteratePath(tree, path) {
|
|
31
29
|
let currentNode = tree;
|
|
32
30
|
yield currentNode;
|
|
33
31
|
for (const branchName of path) {
|
|
@@ -39,7 +37,7 @@ export function* iteratePath(tree, path) {
|
|
|
39
37
|
currentNode = nextNode;
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
|
-
|
|
40
|
+
function* iterateDescendants(node) {
|
|
43
41
|
const stack = Object.values(node.children);
|
|
44
42
|
while (stack.length) {
|
|
45
43
|
const childNode = stack.pop();
|
|
@@ -47,15 +45,20 @@ export function* iterateDescendants(node) {
|
|
|
47
45
|
stack.push(...Object.values(childNode.children));
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
|
-
|
|
51
|
-
exclusive
|
|
52
|
-
}, locks) {
|
|
48
|
+
function hasConflictingLock({ exclusive }, locks) {
|
|
53
49
|
if (exclusive && locks.length) {
|
|
54
50
|
return true;
|
|
55
51
|
}
|
|
56
|
-
if (!exclusive && locks.filter(lock => lock.exclusive).length) {
|
|
52
|
+
if (!exclusive && locks.filter((lock) => lock.exclusive).length) {
|
|
57
53
|
return true;
|
|
58
54
|
}
|
|
59
55
|
return false;
|
|
60
56
|
}
|
|
61
|
-
|
|
57
|
+
export {
|
|
58
|
+
deepCopyLocksTreePath,
|
|
59
|
+
getNode,
|
|
60
|
+
hasConflictingLock,
|
|
61
|
+
iterateDescendants,
|
|
62
|
+
iteratePath
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/locks/utils.js"],
|
|
4
|
+
"sourcesContent": ["export function deepCopyLocksTreePath( tree, path ) {\n\tconst newTree = { ...tree };\n\tlet currentNode = newTree;\n\tfor ( const branchName of path ) {\n\t\tcurrentNode.children = {\n\t\t\t...currentNode.children,\n\t\t\t[ branchName ]: {\n\t\t\t\tlocks: [],\n\t\t\t\tchildren: {},\n\t\t\t\t...currentNode.children[ branchName ],\n\t\t\t},\n\t\t};\n\t\tcurrentNode = currentNode.children[ branchName ];\n\t}\n\treturn newTree;\n}\n\nexport function getNode( tree, path ) {\n\tlet currentNode = tree;\n\tfor ( const branchName of path ) {\n\t\tconst nextNode = currentNode.children[ branchName ];\n\t\tif ( ! nextNode ) {\n\t\t\treturn null;\n\t\t}\n\t\tcurrentNode = nextNode;\n\t}\n\treturn currentNode;\n}\n\nexport function* iteratePath( tree, path ) {\n\tlet currentNode = tree;\n\tyield currentNode;\n\tfor ( const branchName of path ) {\n\t\tconst nextNode = currentNode.children[ branchName ];\n\t\tif ( ! nextNode ) {\n\t\t\tbreak;\n\t\t}\n\t\tyield nextNode;\n\t\tcurrentNode = nextNode;\n\t}\n}\n\nexport function* iterateDescendants( node ) {\n\tconst stack = Object.values( node.children );\n\twhile ( stack.length ) {\n\t\tconst childNode = stack.pop();\n\t\tyield childNode;\n\t\tstack.push( ...Object.values( childNode.children ) );\n\t}\n}\n\nexport function hasConflictingLock( { exclusive }, locks ) {\n\tif ( exclusive && locks.length ) {\n\t\treturn true;\n\t}\n\n\tif ( ! exclusive && locks.filter( ( lock ) => lock.exclusive ).length ) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n"],
|
|
5
|
+
"mappings": "AAAO,SAAS,sBAAuB,MAAM,MAAO;AACnD,QAAM,UAAU,EAAE,GAAG,KAAK;AAC1B,MAAI,cAAc;AAClB,aAAY,cAAc,MAAO;AAChC,gBAAY,WAAW;AAAA,MACtB,GAAG,YAAY;AAAA,MACf,CAAE,UAAW,GAAG;AAAA,QACf,OAAO,CAAC;AAAA,QACR,UAAU,CAAC;AAAA,QACX,GAAG,YAAY,SAAU,UAAW;AAAA,MACrC;AAAA,IACD;AACA,kBAAc,YAAY,SAAU,UAAW;AAAA,EAChD;AACA,SAAO;AACR;AAEO,SAAS,QAAS,MAAM,MAAO;AACrC,MAAI,cAAc;AAClB,aAAY,cAAc,MAAO;AAChC,UAAM,WAAW,YAAY,SAAU,UAAW;AAClD,QAAK,CAAE,UAAW;AACjB,aAAO;AAAA,IACR;AACA,kBAAc;AAAA,EACf;AACA,SAAO;AACR;AAEO,UAAU,YAAa,MAAM,MAAO;AAC1C,MAAI,cAAc;AAClB,QAAM;AACN,aAAY,cAAc,MAAO;AAChC,UAAM,WAAW,YAAY,SAAU,UAAW;AAClD,QAAK,CAAE,UAAW;AACjB;AAAA,IACD;AACA,UAAM;AACN,kBAAc;AAAA,EACf;AACD;AAEO,UAAU,mBAAoB,MAAO;AAC3C,QAAM,QAAQ,OAAO,OAAQ,KAAK,QAAS;AAC3C,SAAQ,MAAM,QAAS;AACtB,UAAM,YAAY,MAAM,IAAI;AAC5B,UAAM;AACN,UAAM,KAAM,GAAG,OAAO,OAAQ,UAAU,QAAS,CAAE;AAAA,EACpD;AACD;AAEO,SAAS,mBAAoB,EAAE,UAAU,GAAG,OAAQ;AAC1D,MAAK,aAAa,MAAM,QAAS;AAChC,WAAO;AAAA,EACR;AAEA,MAAK,CAAE,aAAa,MAAM,OAAQ,CAAE,SAAU,KAAK,SAAU,EAAE,QAAS;AACvE,WAAO;AAAA,EACR;AAEA,SAAO;AACR;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/build-module/name.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
export const STORE_NAME = 'core';
|
|
8
|
-
//# sourceMappingURL=name.js.map
|
|
1
|
+
const STORE_NAME = "core";
|
|
2
|
+
export {
|
|
3
|
+
STORE_NAME
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=name.js.map
|
package/build-module/name.js.map
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/name.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * The reducer key used by core data in store registration.\n * This is defined in a separate file to avoid cycle-dependency\n *\n * @type {string}\n */\nexport const STORE_NAME = 'core';\n"],
|
|
5
|
+
"mappings": "AAMO,MAAM,aAAa;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,79 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import apiFetch from '@wordpress/api-fetch';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Internal dependencies
|
|
8
|
-
*/
|
|
9
|
-
import { STORE_NAME } from './name';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Returns an action object used in signalling that the registered post meta
|
|
13
|
-
* fields for a post type have been received.
|
|
14
|
-
*
|
|
15
|
-
* @param {string} postType Post type slug.
|
|
16
|
-
* @param {Object} registeredPostMeta Registered post meta.
|
|
17
|
-
*
|
|
18
|
-
* @return {Object} Action object.
|
|
19
|
-
*/
|
|
20
|
-
export function receiveRegisteredPostMeta(postType, registeredPostMeta) {
|
|
1
|
+
import apiFetch from "@wordpress/api-fetch";
|
|
2
|
+
import { STORE_NAME } from "./name";
|
|
3
|
+
function receiveRegisteredPostMeta(postType, registeredPostMeta) {
|
|
21
4
|
return {
|
|
22
|
-
type:
|
|
5
|
+
type: "RECEIVE_REGISTERED_POST_META",
|
|
23
6
|
postType,
|
|
24
7
|
registeredPostMeta
|
|
25
8
|
};
|
|
26
9
|
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @typedef {Object} Modifier
|
|
30
|
-
* @property {string} [type] - The type of modifier.
|
|
31
|
-
* @property {Object} [args] - The arguments of the modifier.
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @typedef {Object} Edits
|
|
36
|
-
* @property {string} [src] - The URL of the media item.
|
|
37
|
-
* @property {Modifier[]} [modifiers] - The modifiers to apply to the media item.
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Duplicates a media (attachment) entity record and, optionally, modifies it.
|
|
42
|
-
*
|
|
43
|
-
* @param {string} recordId Entity record ID.
|
|
44
|
-
* @param {Edits} edits Edits to apply to the record.
|
|
45
|
-
* @param {Object} options Options object.
|
|
46
|
-
* @param {Function} options.__unstableFetch Custom fetch function.
|
|
47
|
-
* @param {boolean} options.throwOnError Whether to throw an error if the request fails.
|
|
48
|
-
*
|
|
49
|
-
* @return {Promise} Promise resolving to the updated record.
|
|
50
|
-
*/
|
|
51
|
-
export const editMediaEntity = (recordId, edits = {}, {
|
|
52
|
-
__unstableFetch = apiFetch,
|
|
53
|
-
throwOnError = false
|
|
54
|
-
} = {}) => async ({
|
|
55
|
-
dispatch,
|
|
56
|
-
resolveSelect
|
|
57
|
-
}) => {
|
|
10
|
+
const editMediaEntity = (recordId, edits = {}, { __unstableFetch = apiFetch, throwOnError = false } = {}) => async ({ dispatch, resolveSelect }) => {
|
|
58
11
|
if (!recordId) {
|
|
59
12
|
return;
|
|
60
13
|
}
|
|
61
|
-
const kind =
|
|
62
|
-
const name =
|
|
14
|
+
const kind = "postType";
|
|
15
|
+
const name = "attachment";
|
|
63
16
|
const configs = await resolveSelect.getEntitiesConfig(kind);
|
|
64
|
-
const entityConfig = configs.find(
|
|
17
|
+
const entityConfig = configs.find(
|
|
18
|
+
(config) => config.kind === kind && config.name === name
|
|
19
|
+
);
|
|
65
20
|
if (!entityConfig) {
|
|
66
21
|
return;
|
|
67
22
|
}
|
|
68
|
-
const lock = await dispatch.__unstableAcquireStoreLock(
|
|
69
|
-
|
|
70
|
-
|
|
23
|
+
const lock = await dispatch.__unstableAcquireStoreLock(
|
|
24
|
+
STORE_NAME,
|
|
25
|
+
["entities", "records", kind, name, recordId],
|
|
26
|
+
{ exclusive: true }
|
|
27
|
+
);
|
|
71
28
|
let updatedRecord;
|
|
72
29
|
let error;
|
|
73
30
|
let hasError = false;
|
|
74
31
|
try {
|
|
75
32
|
dispatch({
|
|
76
|
-
type:
|
|
33
|
+
type: "SAVE_ENTITY_RECORD_START",
|
|
77
34
|
kind,
|
|
78
35
|
name,
|
|
79
36
|
recordId
|
|
@@ -82,13 +39,21 @@ export const editMediaEntity = (recordId, edits = {}, {
|
|
|
82
39
|
const path = `${entityConfig.baseURL}/${recordId}/edit`;
|
|
83
40
|
const newRecord = await __unstableFetch({
|
|
84
41
|
path,
|
|
85
|
-
method:
|
|
42
|
+
method: "POST",
|
|
86
43
|
data: {
|
|
87
44
|
...edits
|
|
88
45
|
}
|
|
89
46
|
});
|
|
90
47
|
if (newRecord) {
|
|
91
|
-
dispatch.receiveEntityRecords(
|
|
48
|
+
dispatch.receiveEntityRecords(
|
|
49
|
+
kind,
|
|
50
|
+
name,
|
|
51
|
+
[newRecord],
|
|
52
|
+
void 0,
|
|
53
|
+
true,
|
|
54
|
+
void 0,
|
|
55
|
+
void 0
|
|
56
|
+
);
|
|
92
57
|
updatedRecord = newRecord;
|
|
93
58
|
}
|
|
94
59
|
} catch (e) {
|
|
@@ -96,7 +61,7 @@ export const editMediaEntity = (recordId, edits = {}, {
|
|
|
96
61
|
hasError = true;
|
|
97
62
|
}
|
|
98
63
|
dispatch({
|
|
99
|
-
type:
|
|
64
|
+
type: "SAVE_ENTITY_RECORD_FINISH",
|
|
100
65
|
kind,
|
|
101
66
|
name,
|
|
102
67
|
recordId,
|
|
@@ -110,11 +75,12 @@ export const editMediaEntity = (recordId, edits = {}, {
|
|
|
110
75
|
dispatch.__unstableReleaseStoreLock(lock);
|
|
111
76
|
}
|
|
112
77
|
};
|
|
113
|
-
|
|
114
|
-
return {
|
|
115
|
-
type: 'RECEIVE_TEMPLATE_AUTO_DRAFT_ID',
|
|
116
|
-
target,
|
|
117
|
-
id
|
|
118
|
-
};
|
|
78
|
+
function receiveTemplateAutoDraftId(target, id) {
|
|
79
|
+
return { type: "RECEIVE_TEMPLATE_AUTO_DRAFT_ID", target, id };
|
|
119
80
|
}
|
|
120
|
-
|
|
81
|
+
export {
|
|
82
|
+
editMediaEntity,
|
|
83
|
+
receiveRegisteredPostMeta,
|
|
84
|
+
receiveTemplateAutoDraftId
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=private-actions.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/private-actions.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME } from './name';\n\n/**\n * Returns an action object used in signalling that the registered post meta\n * fields for a post type have been received.\n *\n * @param {string} postType Post type slug.\n * @param {Object} registeredPostMeta Registered post meta.\n *\n * @return {Object} Action object.\n */\nexport function receiveRegisteredPostMeta( postType, registeredPostMeta ) {\n\treturn {\n\t\ttype: 'RECEIVE_REGISTERED_POST_META',\n\t\tpostType,\n\t\tregisteredPostMeta,\n\t};\n}\n\n/**\n * @typedef {Object} Modifier\n * @property {string} [type] - The type of modifier.\n * @property {Object} [args] - The arguments of the modifier.\n */\n\n/**\n * @typedef {Object} Edits\n * @property {string} [src] - The URL of the media item.\n * @property {Modifier[]} [modifiers] - The modifiers to apply to the media item.\n */\n\n/**\n * Duplicates a media (attachment) entity record and, optionally, modifies it.\n *\n * @param {string} recordId Entity record ID.\n * @param {Edits} edits Edits to apply to the record.\n * @param {Object} options Options object.\n * @param {Function} options.__unstableFetch Custom fetch function.\n * @param {boolean} options.throwOnError Whether to throw an error if the request fails.\n *\n * @return {Promise} Promise resolving to the updated record.\n */\nexport const editMediaEntity =\n\t(\n\t\trecordId,\n\t\tedits = {},\n\t\t{ __unstableFetch = apiFetch, throwOnError = false } = {}\n\t) =>\n\tasync ( { dispatch, resolveSelect } ) => {\n\t\tif ( ! recordId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst kind = 'postType';\n\t\tconst name = 'attachment';\n\n\t\tconst configs = await resolveSelect.getEntitiesConfig( kind );\n\t\tconst entityConfig = configs.find(\n\t\t\t( config ) => config.kind === kind && config.name === name\n\t\t);\n\n\t\tif ( ! entityConfig ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lock = await dispatch.__unstableAcquireStoreLock(\n\t\t\tSTORE_NAME,\n\t\t\t[ 'entities', 'records', kind, name, recordId ],\n\t\t\t{ exclusive: true }\n\t\t);\n\n\t\tlet updatedRecord;\n\t\tlet error;\n\t\tlet hasError = false;\n\n\t\ttry {\n\t\t\tdispatch( {\n\t\t\t\ttype: 'SAVE_ENTITY_RECORD_START',\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\trecordId,\n\t\t\t} );\n\n\t\t\ttry {\n\t\t\t\tconst path = `${ entityConfig.baseURL }/${ recordId }/edit`;\n\t\t\t\tconst newRecord = await __unstableFetch( {\n\t\t\t\t\tpath,\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\t...edits,\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\tif ( newRecord ) {\n\t\t\t\t\tdispatch.receiveEntityRecords(\n\t\t\t\t\t\tkind,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t[ newRecord ],\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\tundefined\n\t\t\t\t\t);\n\t\t\t\t\tupdatedRecord = newRecord;\n\t\t\t\t}\n\t\t\t} catch ( e ) {\n\t\t\t\terror = e;\n\t\t\t\thasError = true;\n\t\t\t}\n\n\t\t\tdispatch( {\n\t\t\t\ttype: 'SAVE_ENTITY_RECORD_FINISH',\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\trecordId,\n\t\t\t\terror,\n\t\t\t} );\n\n\t\t\tif ( hasError && throwOnError ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\treturn updatedRecord;\n\t\t} finally {\n\t\t\tdispatch.__unstableReleaseStoreLock( lock );\n\t\t}\n\t};\n\nexport function receiveTemplateAutoDraftId( target, id ) {\n\treturn { type: 'RECEIVE_TEMPLATE_AUTO_DRAFT_ID', target, id };\n}\n"],
|
|
5
|
+
"mappings": "AAGA,OAAO,cAAc;AAKrB,SAAS,kBAAkB;AAWpB,SAAS,0BAA2B,UAAU,oBAAqB;AACzE,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAyBO,MAAM,kBACZ,CACC,UACA,QAAQ,CAAC,GACT,EAAE,kBAAkB,UAAU,eAAe,MAAM,IAAI,CAAC,MAEzD,OAAQ,EAAE,UAAU,cAAc,MAAO;AACxC,MAAK,CAAE,UAAW;AACjB;AAAA,EACD;AAEA,QAAM,OAAO;AACb,QAAM,OAAO;AAEb,QAAM,UAAU,MAAM,cAAc,kBAAmB,IAAK;AAC5D,QAAM,eAAe,QAAQ;AAAA,IAC5B,CAAE,WAAY,OAAO,SAAS,QAAQ,OAAO,SAAS;AAAA,EACvD;AAEA,MAAK,CAAE,cAAe;AACrB;AAAA,EACD;AAEA,QAAM,OAAO,MAAM,SAAS;AAAA,IAC3B;AAAA,IACA,CAAE,YAAY,WAAW,MAAM,MAAM,QAAS;AAAA,IAC9C,EAAE,WAAW,KAAK;AAAA,EACnB;AAEA,MAAI;AACJ,MAAI;AACJ,MAAI,WAAW;AAEf,MAAI;AACH,aAAU;AAAA,MACT,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAE;AAEF,QAAI;AACH,YAAM,OAAO,GAAI,aAAa,OAAQ,IAAK,QAAS;AACpD,YAAM,YAAY,MAAM,gBAAiB;AAAA,QACxC;AAAA,QACA,QAAQ;AAAA,QACR,MAAM;AAAA,UACL,GAAG;AAAA,QACJ;AAAA,MACD,CAAE;AAEF,UAAK,WAAY;AAChB,iBAAS;AAAA,UACR;AAAA,UACA;AAAA,UACA,CAAE,SAAU;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD;AACA,wBAAgB;AAAA,MACjB;AAAA,IACD,SAAU,GAAI;AACb,cAAQ;AACR,iBAAW;AAAA,IACZ;AAEA,aAAU;AAAA,MACT,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAE;AAEF,QAAK,YAAY,cAAe;AAC/B,YAAM;AAAA,IACP;AACA,WAAO;AAAA,EACR,UAAE;AACD,aAAS,2BAA4B,IAAK;AAAA,EAC3C;AACD;AAEM,SAAS,2BAA4B,QAAQ,IAAK;AACxD,SAAO,EAAE,MAAM,kCAAkC,QAAQ,GAAG;AAC7D;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { RECEIVE_INTERMEDIATE_RESULTS } from './utils';
|
|
6
|
-
import { lock } from './lock-unlock';
|
|
7
|
-
export const privateApis = {};
|
|
1
|
+
import { useEntityRecordsWithPermissions } from "./hooks/use-entity-records";
|
|
2
|
+
import { RECEIVE_INTERMEDIATE_RESULTS } from "./utils";
|
|
3
|
+
import { lock } from "./lock-unlock";
|
|
4
|
+
const privateApis = {};
|
|
8
5
|
lock(privateApis, {
|
|
9
6
|
useEntityRecordsWithPermissions,
|
|
10
7
|
RECEIVE_INTERMEDIATE_RESULTS
|
|
11
8
|
});
|
|
12
|
-
|
|
9
|
+
export {
|
|
10
|
+
privateApis
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=private-apis.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/private-apis.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport { useEntityRecordsWithPermissions } from './hooks/use-entity-records';\nimport { RECEIVE_INTERMEDIATE_RESULTS } from './utils';\nimport { lock } from './lock-unlock';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tuseEntityRecordsWithPermissions,\n\tRECEIVE_INTERMEDIATE_RESULTS,\n} );\n"],
|
|
5
|
+
"mappings": "AAGA,SAAS,uCAAuC;AAChD,SAAS,oCAAoC;AAC7C,SAAS,YAAY;AAEd,MAAM,cAAc,CAAC;AAC5B,KAAM,aAAa;AAAA,EAClB;AAAA,EACA;AACD,CAAE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|