UNPKG

@data-client/normalizr

Version:

Normalizes and denormalizes JSON according to schema for Redux and Flux applications

23 lines 3.18 kB
export default class LocalCache { constructor() { this.localCache = new Map(); } getEntity(pk, schema, entity, computeValue) { const key = schema.key; if (!this.localCache.has(key)) { this.localCache.set(key, new Map()); } const localCacheKey = this.localCache.get(key); if (!localCacheKey.get(pk)) { computeValue(localCacheKey); } return localCacheKey.get(pk); } getResults(input, cachable, computeValue) { return { data: computeValue(), paths: [] }; } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMb2NhbENhY2hlIiwiY29uc3RydWN0b3IiLCJsb2NhbENhY2hlIiwiTWFwIiwiZ2V0RW50aXR5IiwicGsiLCJzY2hlbWEiLCJlbnRpdHkiLCJjb21wdXRlVmFsdWUiLCJrZXkiLCJoYXMiLCJzZXQiLCJsb2NhbENhY2hlS2V5IiwiZ2V0IiwiZ2V0UmVzdWx0cyIsImlucHV0IiwiY2FjaGFibGUiLCJkYXRhIiwicGF0aHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVub3JtYWxpemUvbG9jYWxDYWNoZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDYWNoZSBmcm9tICcuL2NhY2hlLmpzJztcbmltcG9ydCB0eXBlIHsgRW50aXR5SW50ZXJmYWNlLCBFbnRpdHlQYXRoIH0gZnJvbSAnLi4vaW50ZXJmYWNlLmpzJztcbmltcG9ydCB0eXBlIHsgSU5WQUxJRCB9IGZyb20gJy4vc3ltYm9sLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9jYWxDYWNoZSBpbXBsZW1lbnRzIENhY2hlIHtcbiAgcHJpdmF0ZSBsb2NhbENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIGFueT4+KCk7XG5cbiAgZ2V0RW50aXR5KFxuICAgIHBrOiBzdHJpbmcsXG4gICAgc2NoZW1hOiBFbnRpdHlJbnRlcmZhY2UsXG4gICAgZW50aXR5OiBhbnksXG4gICAgY29tcHV0ZVZhbHVlOiAobG9jYWxDYWNoZUtleTogTWFwPHN0cmluZywgYW55PikgPT4gdm9pZCxcbiAgKTogb2JqZWN0IHwgdW5kZWZpbmVkIHwgdHlwZW9mIElOVkFMSUQge1xuICAgIGNvbnN0IGtleSA9IHNjaGVtYS5rZXk7XG4gICAgaWYgKCF0aGlzLmxvY2FsQ2FjaGUuaGFzKGtleSkpIHtcbiAgICAgIHRoaXMubG9jYWxDYWNoZS5zZXQoa2V5LCBuZXcgTWFwPHN0cmluZywgYW55PigpKTtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxDYWNoZUtleSA9IHRoaXMubG9jYWxDYWNoZS5nZXQoa2V5KSE7XG5cbiAgICBpZiAoIWxvY2FsQ2FjaGVLZXkuZ2V0KHBrKSkge1xuICAgICAgY29tcHV0ZVZhbHVlKGxvY2FsQ2FjaGVLZXkpO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYWxDYWNoZUtleS5nZXQocGspO1xuICB9XG5cbiAgZ2V0UmVzdWx0cyhcbiAgICBpbnB1dDogYW55LFxuICAgIGNhY2hhYmxlOiBib29sZWFuLFxuICAgIGNvbXB1dGVWYWx1ZTogKCkgPT4gYW55LFxuICApOiB7XG4gICAgZGF0YTogYW55O1xuICAgIHBhdGhzOiBFbnRpdHlQYXRoW107XG4gIH0ge1xuICAgIHJldHVybiB7IGRhdGE6IGNvbXB1dGVWYWx1ZSgpLCBwYXRoczogW10gfTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFJQSxlQUFlLE1BQU1BLFVBQVUsQ0FBa0I7RUFBQUMsWUFBQTtJQUFBLEtBQ3ZDQyxVQUFVLEdBQUcsSUFBSUMsR0FBRyxDQUEyQixDQUFDO0VBQUE7RUFFeERDLFNBQVNBLENBQ1BDLEVBQVUsRUFDVkMsTUFBdUIsRUFDdkJDLE1BQVcsRUFDWEMsWUFBdUQsRUFDbEI7SUFDckMsTUFBTUMsR0FBRyxHQUFHSCxNQUFNLENBQUNHLEdBQUc7SUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQ1AsVUFBVSxDQUFDUSxHQUFHLENBQUNELEdBQUcsQ0FBQyxFQUFFO01BQzdCLElBQUksQ0FBQ1AsVUFBVSxDQUFDUyxHQUFHLENBQUNGLEdBQUcsRUFBRSxJQUFJTixHQUFHLENBQWMsQ0FBQyxDQUFDO0lBQ2xEO0lBQ0EsTUFBTVMsYUFBYSxHQUFHLElBQUksQ0FBQ1YsVUFBVSxDQUFDVyxHQUFHLENBQUNKLEdBQUcsQ0FBRTtJQUUvQyxJQUFJLENBQUNHLGFBQWEsQ0FBQ0MsR0FBRyxDQUFDUixFQUFFLENBQUMsRUFBRTtNQUMxQkcsWUFBWSxDQUFDSSxhQUFhLENBQUM7SUFDN0I7SUFDQSxPQUFPQSxhQUFhLENBQUNDLEdBQUcsQ0FBQ1IsRUFBRSxDQUFDO0VBQzlCO0VBRUFTLFVBQVVBLENBQ1JDLEtBQVUsRUFDVkMsUUFBaUIsRUFDakJSLFlBQXVCLEVBSXZCO0lBQ0EsT0FBTztNQUFFUyxJQUFJLEVBQUVULFlBQVksQ0FBQyxDQUFDO01BQUVVLEtBQUssRUFBRTtJQUFHLENBQUM7RUFDNUM7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==