@wordpress/block-editor
Version:
8 lines (7 loc) • 2.45 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/provider/with-registry-provider.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { useRegistry, createRegistry, RegistryProvider } from '@wordpress/data';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { storeConfig } from '../../store';\nimport { STORE_NAME as blockEditorStoreName } from '../../store/constants';\n\nfunction getSubRegistry( subRegistries, registry, useSubRegistry ) {\n\tif ( ! useSubRegistry ) {\n\t\treturn registry;\n\t}\n\tlet subRegistry = subRegistries.get( registry );\n\tif ( ! subRegistry ) {\n\t\tsubRegistry = createRegistry( {}, registry );\n\t\tsubRegistry.registerStore( blockEditorStoreName, storeConfig );\n\t\tsubRegistries.set( registry, subRegistry );\n\t}\n\treturn subRegistry;\n}\n\nconst withRegistryProvider = createHigherOrderComponent(\n\t( WrappedComponent ) =>\n\t\t( { useSubRegistry = true, ...props } ) => {\n\t\t\tconst registry = useRegistry();\n\t\t\tconst [ subRegistries ] = useState( () => new WeakMap() );\n\t\t\tconst subRegistry = getSubRegistry(\n\t\t\t\tsubRegistries,\n\t\t\t\tregistry,\n\t\t\t\tuseSubRegistry\n\t\t\t);\n\n\t\t\tif ( subRegistry === registry ) {\n\t\t\t\treturn <WrappedComponent registry={ registry } { ...props } />;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<RegistryProvider value={ subRegistry }>\n\t\t\t\t\t<WrappedComponent registry={ subRegistry } { ...props } />\n\t\t\t\t</RegistryProvider>\n\t\t\t);\n\t\t},\n\t'withRegistryProvider'\n);\n\nexport default withRegistryProvider;\n"],
"mappings": ";AAGA,SAAS,gBAAgB;AACzB,SAAS,aAAa,gBAAgB,wBAAwB;AAC9D,SAAS,kCAAkC;AAK3C,SAAS,mBAAmB;AAC5B,SAAS,cAAc,4BAA4B;AA2BxC;AAzBX,SAAS,eAAgB,eAAe,UAAU,gBAAiB;AAClE,MAAK,CAAE,gBAAiB;AACvB,WAAO;AAAA,EACR;AACA,MAAI,cAAc,cAAc,IAAK,QAAS;AAC9C,MAAK,CAAE,aAAc;AACpB,kBAAc,eAAgB,CAAC,GAAG,QAAS;AAC3C,gBAAY,cAAe,sBAAsB,WAAY;AAC7D,kBAAc,IAAK,UAAU,WAAY;AAAA,EAC1C;AACA,SAAO;AACR;AAEA,IAAM,uBAAuB;AAAA,EAC5B,CAAE,qBACD,CAAE,EAAE,iBAAiB,MAAM,GAAG,MAAM,MAAO;AAC1C,UAAM,WAAW,YAAY;AAC7B,UAAM,CAAE,aAAc,IAAI,SAAU,MAAM,oBAAI,QAAQ,CAAE;AACxD,UAAM,cAAc;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAEA,QAAK,gBAAgB,UAAW;AAC/B,aAAO,oBAAC,oBAAiB,UAAwB,GAAG,OAAQ;AAAA,IAC7D;AAEA,WACC,oBAAC,oBAAiB,OAAQ,aACzB,8BAAC,oBAAiB,UAAW,aAAgB,GAAG,OAAQ,GACzD;AAAA,EAEF;AAAA,EACD;AACD;AAEA,IAAO,iCAAQ;",
"names": []
}