UNPKG

@wordpress/data

Version:
30 lines (29 loc) 1.06 kB
// packages/data/src/resolvers-cache-middleware.js var createResolversCacheMiddleware = (registry, storeName) => () => (next) => (action) => { const resolvers = registry.select(storeName).getCachedResolvers(); const resolverEntries = Object.entries(resolvers); resolverEntries.forEach(([selectorName, resolversByArgs]) => { const resolver = registry.stores[storeName]?.resolvers?.[selectorName]; if (!resolver || !resolver.shouldInvalidate) { return; } resolversByArgs.forEach((value, args) => { if (value === void 0) { return; } if (value.status !== "finished" && value.status !== "error") { return; } if (!resolver.shouldInvalidate(action, ...args)) { return; } registry.dispatch(storeName).invalidateResolution(selectorName, args); }); }); return next(action); }; var resolvers_cache_middleware_default = createResolversCacheMiddleware; export { resolvers_cache_middleware_default as default }; //# sourceMappingURL=resolvers-cache-middleware.js.map