UNPKG

@wordpress/data

Version:
33 lines (32 loc) 1.1 kB
// packages/data/src/resolvers-cache-middleware.ts 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; } const { shouldInvalidate } = resolver; resolversByArgs.forEach((value, args) => { if (value === void 0) { return; } if (value.status !== "finished" && value.status !== "error") { return; } if (!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.mjs.map