@wordpress/data
Version:
Data module for WordPress.
24 lines (23 loc) • 746 B
JavaScript
// packages/data/src/factory.ts
function createRegistrySelector(registrySelector) {
const selectorsByRegistry = /* @__PURE__ */ new WeakMap();
const wrappedSelector = (...args) => {
let selector = selectorsByRegistry.get(wrappedSelector.registry);
if (!selector) {
selector = registrySelector(wrappedSelector.registry.select);
selectorsByRegistry.set(wrappedSelector.registry, selector);
}
return selector(...args);
};
wrappedSelector.isRegistrySelector = true;
return wrappedSelector;
}
function createRegistryControl(registryControl) {
registryControl.isRegistryControl = true;
return registryControl;
}
export {
createRegistryControl,
createRegistrySelector
};
//# sourceMappingURL=factory.js.map