UNPKG

@data-client/normalizr

Version:

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

23 lines 3.19 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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMb2NhbENhY2hlIiwiY29uc3RydWN0b3IiLCJsb2NhbENhY2hlIiwiTWFwIiwiZ2V0RW50aXR5IiwicGsiLCJzY2hlbWEiLCJlbnRpdHkiLCJjb21wdXRlVmFsdWUiLCJrZXkiLCJoYXMiLCJzZXQiLCJsb2NhbENhY2hlS2V5IiwiZ2V0IiwiZ2V0UmVzdWx0cyIsImlucHV0IiwiY2FjaGFibGUiLCJkYXRhIiwicGF0aHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVub3JtYWxpemUvbG9jYWxDYWNoZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDYWNoZSBmcm9tICcuL2NhY2hlLmpzJztcbmltcG9ydCB0eXBlIHsgRW50aXR5SW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlLmpzJztcbmltcG9ydCB0eXBlIHsgRW50aXR5UGF0aCB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9jYWxDYWNoZSBpbXBsZW1lbnRzIENhY2hlIHtcbiAgcHJpdmF0ZSBsb2NhbENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIGFueT4+KCk7XG5cbiAgZ2V0RW50aXR5KFxuICAgIHBrOiBzdHJpbmcsXG4gICAgc2NoZW1hOiBFbnRpdHlJbnRlcmZhY2UsXG4gICAgZW50aXR5OiBhbnksXG4gICAgY29tcHV0ZVZhbHVlOiAobG9jYWxDYWNoZUtleTogTWFwPHN0cmluZywgYW55PikgPT4gdm9pZCxcbiAgKTogb2JqZWN0IHwgdW5kZWZpbmVkIHwgc3ltYm9sIHtcbiAgICBjb25zdCBrZXkgPSBzY2hlbWEua2V5O1xuICAgIGlmICghdGhpcy5sb2NhbENhY2hlLmhhcyhrZXkpKSB7XG4gICAgICB0aGlzLmxvY2FsQ2FjaGUuc2V0KGtleSwgbmV3IE1hcDxzdHJpbmcsIGFueT4oKSk7XG4gICAgfVxuICAgIGNvbnN0IGxvY2FsQ2FjaGVLZXkgPSB0aGlzLmxvY2FsQ2FjaGUuZ2V0KGtleSkgYXMgTWFwPHN0cmluZywgYW55PjtcblxuICAgIGlmICghbG9jYWxDYWNoZUtleS5nZXQocGspKSB7XG4gICAgICBjb21wdXRlVmFsdWUobG9jYWxDYWNoZUtleSk7XG4gICAgfVxuICAgIHJldHVybiBsb2NhbENhY2hlS2V5LmdldChwayk7XG4gIH1cblxuICBnZXRSZXN1bHRzKFxuICAgIGlucHV0OiBhbnksXG4gICAgY2FjaGFibGU6IGJvb2xlYW4sXG4gICAgY29tcHV0ZVZhbHVlOiAoKSA9PiBhbnksXG4gICk6IHtcbiAgICBkYXRhOiBhbnk7XG4gICAgcGF0aHM6IEVudGl0eVBhdGhbXTtcbiAgfSB7XG4gICAgcmV0dXJuIHsgZGF0YTogY29tcHV0ZVZhbHVlKCksIHBhdGhzOiBbXSB9O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUlBLGVBQWUsTUFBTUEsVUFBVSxDQUFrQjtFQUFBQyxZQUFBO0lBQUEsS0FDdkNDLFVBQVUsR0FBRyxJQUFJQyxHQUFHLENBQTJCLENBQUM7RUFBQTtFQUV4REMsU0FBU0EsQ0FDUEMsRUFBVSxFQUNWQyxNQUF1QixFQUN2QkMsTUFBVyxFQUNYQyxZQUF1RCxFQUMxQjtJQUM3QixNQUFNQyxHQUFHLEdBQUdILE1BQU0sQ0FBQ0csR0FBRztJQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDUCxVQUFVLENBQUNRLEdBQUcsQ0FBQ0QsR0FBRyxDQUFDLEVBQUU7TUFDN0IsSUFBSSxDQUFDUCxVQUFVLENBQUNTLEdBQUcsQ0FBQ0YsR0FBRyxFQUFFLElBQUlOLEdBQUcsQ0FBYyxDQUFDLENBQUM7SUFDbEQ7SUFDQSxNQUFNUyxhQUFhLEdBQUcsSUFBSSxDQUFDVixVQUFVLENBQUNXLEdBQUcsQ0FBQ0osR0FBRyxDQUFxQjtJQUVsRSxJQUFJLENBQUNHLGFBQWEsQ0FBQ0MsR0FBRyxDQUFDUixFQUFFLENBQUMsRUFBRTtNQUMxQkcsWUFBWSxDQUFDSSxhQUFhLENBQUM7SUFDN0I7SUFDQSxPQUFPQSxhQUFhLENBQUNDLEdBQUcsQ0FBQ1IsRUFBRSxDQUFDO0VBQzlCO0VBRUFTLFVBQVVBLENBQ1JDLEtBQVUsRUFDVkMsUUFBaUIsRUFDakJSLFlBQXVCLEVBSXZCO0lBQ0EsT0FBTztNQUFFUyxJQUFJLEVBQUVULFlBQVksQ0FBQyxDQUFDO01BQUVVLEtBQUssRUFBRTtJQUFHLENBQUM7RUFDNUM7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==