UNPKG

balena-sdk

Version:
21 lines (20 loc) 741 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAuthDependentMemoize = void 0; const tslib_1 = require("tslib"); const memoizee_1 = tslib_1.__importDefault(require("memoizee")); const DEFAULT_CACHING_INTERVAL = 10 * 60 * 1000; // 10 minutes const getAuthDependentMemoize = (pubsub, cacheInterval = DEFAULT_CACHING_INTERVAL) => { return (fn) => { const memoizedFn = (0, memoizee_1.default)(fn, { maxAge: cacheInterval, primitive: true, promise: true, }); pubsub.subscribe('auth.keyChange', () => { memoizedFn.clear(); }); return memoizedFn; }; }; exports.getAuthDependentMemoize = getAuthDependentMemoize;