@data-client/normalizr
Version:
Normalizes and denormalizes JSON according to schema for Redux and Flux applications
11 lines • 2.29 kB
JavaScript
import LocalCache from './localCache.js';
import getUnvisit from './unvisit.js';
import { MemoPolicy } from '../memo/Policy.js';
export function denormalize(schema, input, entities, args = []) {
// undefined means don't do anything
if (schema === undefined || input === undefined) {
return input;
}
return getUnvisit(MemoPolicy.getEntities(entities), new LocalCache(), args)(schema, input).data;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMb2NhbENhY2hlIiwiZ2V0VW52aXNpdCIsIk1lbW9Qb2xpY3kiLCJkZW5vcm1hbGl6ZSIsInNjaGVtYSIsImlucHV0IiwiZW50aXRpZXMiLCJhcmdzIiwidW5kZWZpbmVkIiwiZ2V0RW50aXRpZXMiLCJkYXRhIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rlbm9ybWFsaXplL2Rlbm9ybWFsaXplLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2NhbENhY2hlIGZyb20gJy4vbG9jYWxDYWNoZS5qcyc7XG5pbXBvcnQgZ2V0VW52aXNpdCBmcm9tICcuL3VudmlzaXQuanMnO1xuaW1wb3J0IHR5cGUgeyBTY2hlbWEgfSBmcm9tICcuLi9pbnRlcmZhY2UuanMnO1xuaW1wb3J0IHR5cGUgeyBEZW5vcm1hbGl6ZU51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBJTlZBTElEIH0gZnJvbSAnLi9zeW1ib2wuanMnO1xuaW1wb3J0IHsgTWVtb1BvbGljeSB9IGZyb20gJy4uL21lbW8vUG9saWN5LmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRlbm9ybWFsaXplPFMgZXh0ZW5kcyBTY2hlbWE+KFxuICBzY2hlbWE6IFMgfCB1bmRlZmluZWQsXG4gIGlucHV0OiBhbnksXG4gIGVudGl0aWVzOiBhbnksXG4gIGFyZ3M6IHJlYWRvbmx5IGFueVtdID0gW10sXG4pOiBEZW5vcm1hbGl6ZU51bGxhYmxlPFM+IHwgdHlwZW9mIElOVkFMSUQge1xuICAvLyB1bmRlZmluZWQgbWVhbnMgZG9uJ3QgZG8gYW55dGhpbmdcbiAgaWYgKHNjaGVtYSA9PT0gdW5kZWZpbmVkIHx8IGlucHV0ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gaW5wdXQgYXMgYW55O1xuICB9XG5cbiAgcmV0dXJuIGdldFVudmlzaXQoXG4gICAgTWVtb1BvbGljeS5nZXRFbnRpdGllcyhlbnRpdGllcyksXG4gICAgbmV3IExvY2FsQ2FjaGUoKSxcbiAgICBhcmdzLFxuICApKHNjaGVtYSwgaW5wdXQpLmRhdGE7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFVBQVUsTUFBTSxpQkFBaUI7QUFDeEMsT0FBT0MsVUFBVSxNQUFNLGNBQWM7QUFJckMsU0FBU0MsVUFBVSxRQUFRLG1CQUFtQjtBQUU5QyxPQUFPLFNBQVNDLFdBQVdBLENBQ3pCQyxNQUFxQixFQUNyQkMsS0FBVSxFQUNWQyxRQUFhLEVBQ2JDLElBQW9CLEdBQUcsRUFBRSxFQUNnQjtFQUN6QztFQUNBLElBQUlILE1BQU0sS0FBS0ksU0FBUyxJQUFJSCxLQUFLLEtBQUtHLFNBQVMsRUFBRTtJQUMvQyxPQUFPSCxLQUFLO0VBQ2Q7RUFFQSxPQUFPSixVQUFVLENBQ2ZDLFVBQVUsQ0FBQ08sV0FBVyxDQUFDSCxRQUFRLENBQUMsRUFDaEMsSUFBSU4sVUFBVSxDQUFDLENBQUMsRUFDaEJPLElBQ0YsQ0FBQyxDQUFDSCxNQUFNLEVBQUVDLEtBQUssQ0FBQyxDQUFDSyxJQUFJO0FBQ3ZCIiwiaWdub3JlTGlzdCI6W119