UNPKG

@data-client/normalizr

Version:

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

28 lines (26 loc) 4.06 kB
import { BaseDelegate } from './BaseDelegate.js'; /** Basic ImmutableJS state interfaces for normalize side */ export class ImmDelegate extends BaseDelegate { constructor(state) { super(state); } // we must expose the entities object to track in our WeakDependencyMap // however, this should not be part of the public API getEntitiesObject(key) { return this.entities.get(key); } getEntities(key) { return this.entities.get(key); } getEntity(...path) { return this.entities.getIn(path); } // this is different return value than QuerySnapshot getIndex(key, field) { return this.indexes.getIn([key, field]); } getIndexEnd(entity, value) { return entity == null || entity.get == null ? void 0 : entity.get(value); } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlRGVsZWdhdGUiLCJJbW1EZWxlZ2F0ZSIsImNvbnN0cnVjdG9yIiwic3RhdGUiLCJnZXRFbnRpdGllc09iamVjdCIsImtleSIsImVudGl0aWVzIiwiZ2V0IiwiZ2V0RW50aXRpZXMiLCJnZXRFbnRpdHkiLCJwYXRoIiwiZ2V0SW4iLCJnZXRJbmRleCIsImZpZWxkIiwiaW5kZXhlcyIsImdldEluZGV4RW5kIiwiZW50aXR5IiwidmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVsZWdhdGUvRGVsZWdhdGUuaW1tLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VEZWxlZ2F0ZSB9IGZyb20gJy4vQmFzZURlbGVnYXRlLmpzJztcbmltcG9ydCB7IEVudGl0aWVzSW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlLmpzJztcblxuZXhwb3J0IHR5cGUgSW1tdXRhYmxlSlNFbnRpdHlUYWJsZSA9IHtcbiAgZ2V0KGtleTogc3RyaW5nKTogRW50aXRpZXNJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XG4gIGdldEluKGs6IFtrZXk6IHN0cmluZywgcGs6IHN0cmluZ10pOiB7IHRvSlMoKTogYW55IH0gfCB1bmRlZmluZWQ7XG4gIHNldEluKGs6IFtrZXk6IHN0cmluZywgcGs6IHN0cmluZ10sIHZhbHVlOiBhbnkpO1xufTtcblxuLyoqIEJhc2ljIEltbXV0YWJsZUpTIHN0YXRlIGludGVyZmFjZXMgZm9yIG5vcm1hbGl6ZSBzaWRlICovXG5leHBvcnQgY2xhc3MgSW1tRGVsZWdhdGUgZXh0ZW5kcyBCYXNlRGVsZWdhdGUge1xuICBkZWNsYXJlIGVudGl0aWVzOiBJbW11dGFibGVKU0VudGl0eVRhYmxlO1xuICBkZWNsYXJlIGluZGV4ZXM6IEltbXV0YWJsZUpTRW50aXR5VGFibGU7XG5cbiAgY29uc3RydWN0b3Ioc3RhdGU6IHtcbiAgICBlbnRpdGllczogSW1tdXRhYmxlSlNFbnRpdHlUYWJsZTtcbiAgICBpbmRleGVzOiBJbW11dGFibGVKU0VudGl0eVRhYmxlO1xuICB9KSB7XG4gICAgc3VwZXIoc3RhdGUpO1xuICB9XG5cbiAgLy8gd2UgbXVzdCBleHBvc2UgdGhlIGVudGl0aWVzIG9iamVjdCB0byB0cmFjayBpbiBvdXIgV2Vha0RlcGVuZGVuY3lNYXBcbiAgLy8gaG93ZXZlciwgdGhpcyBzaG91bGQgbm90IGJlIHBhcnQgb2YgdGhlIHB1YmxpYyBBUElcbiAgcHJvdGVjdGVkIGdldEVudGl0aWVzT2JqZWN0KGtleTogc3RyaW5nKTogb2JqZWN0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcy5nZXQoa2V5KTtcbiAgfVxuXG4gIGdldEVudGl0aWVzKGtleTogc3RyaW5nKTogRW50aXRpZXNJbnRlcmZhY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzLmdldChrZXkpO1xuICB9XG5cbiAgZ2V0RW50aXR5KC4uLnBhdGg6IFtrZXk6IHN0cmluZywgcGs6IHN0cmluZ10pOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzLmdldEluKHBhdGgpO1xuICB9XG5cbiAgLy8gdGhpcyBpcyBkaWZmZXJlbnQgcmV0dXJuIHZhbHVlIHRoYW4gUXVlcnlTbmFwc2hvdFxuICBnZXRJbmRleChrZXk6IHN0cmluZywgZmllbGQ6IHN0cmluZyk6IG9iamVjdCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaW5kZXhlcy5nZXRJbihba2V5LCBmaWVsZF0pO1xuICB9XG5cbiAgZ2V0SW5kZXhFbmQoXG4gICAgZW50aXR5OiB7IGdldChrOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgfSB8IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gZW50aXR5Py5nZXQ/Lih2YWx1ZSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsWUFBWSxRQUFRLG1CQUFtQjtBQVNoRDtBQUNBLE9BQU8sTUFBTUMsV0FBVyxTQUFTRCxZQUFZLENBQUM7RUFJNUNFLFdBQVdBLENBQUNDLEtBR1gsRUFBRTtJQUNELEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0VBQ2Q7O0VBRUE7RUFDQTtFQUNVQyxpQkFBaUJBLENBQUNDLEdBQVcsRUFBc0I7SUFDM0QsT0FBTyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsR0FBRyxDQUFDRixHQUFHLENBQUM7RUFDL0I7RUFFQUcsV0FBV0EsQ0FBQ0gsR0FBVyxFQUFpQztJQUN0RCxPQUFPLElBQUksQ0FBQ0MsUUFBUSxDQUFDQyxHQUFHLENBQUNGLEdBQUcsQ0FBQztFQUMvQjtFQUVBSSxTQUFTQSxDQUFDLEdBQUdDLElBQStCLEVBQU87SUFDakQsT0FBTyxJQUFJLENBQUNKLFFBQVEsQ0FBQ0ssS0FBSyxDQUFDRCxJQUFJLENBQUM7RUFDbEM7O0VBRUE7RUFDQUUsUUFBUUEsQ0FBQ1AsR0FBVyxFQUFFUSxLQUFhLEVBQXNCO0lBQ3ZELE9BQU8sSUFBSSxDQUFDQyxPQUFPLENBQUNILEtBQUssQ0FBQyxDQUFDTixHQUFHLEVBQUVRLEtBQUssQ0FBQyxDQUFDO0VBQ3pDO0VBRUFFLFdBQVdBLENBQ1RDLE1BQTBELEVBQzFEQyxLQUFhLEVBQ2I7SUFDQSxPQUFPRCxNQUFNLFlBQU5BLE1BQU0sQ0FBRVQsR0FBRyxvQkFBWFMsTUFBTSxDQUFFVCxHQUFHLENBQUdVLEtBQUssQ0FBQztFQUM3QjtBQUNGIiwiaWdub3JlTGlzdCI6W119