@cran/vue.use
Version:
Cranberry Vue Use Utilities
15 lines (14 loc) • 486 B
JavaScript
;
/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", { value: true });
exports.createUseFactory = void 0;
function createUseFactory(name, factory, cacheKey) {
const cache = {};
return ({
[name](key, ...rest) {
const str = cacheKey?.(key) || (`${key}`);
return cache[str] || (cache[str] = factory(key, ...rest));
},
})[name];
}
exports.createUseFactory = createUseFactory;