UNPKG

@data-client/endpoint

Version:

Declarative Network Interface Definitions

27 lines 4.35 kB
/** * Programmatic cache reading * * @see https://dataclient.io/rest/api/Query */ export default class Query { /** * Programmatic cache reading * * @see https://dataclient.io/rest/api/Query */ constructor(schema, process) { this.schema = schema; this.process = process; } normalize(...args) { return this.schema.normalize(...args); } denormalize(input, args, unvisit) { const value = unvisit(this.schema, input); return typeof value === 'symbol' ? value : this.process(value, ...args); } queryKey(args, queryKey, getEntity, getIndex) { return queryKey(this.schema, args, getEntity, getIndex); } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVyeSIsImNvbnN0cnVjdG9yIiwic2NoZW1hIiwicHJvY2VzcyIsIm5vcm1hbGl6ZSIsImFyZ3MiLCJkZW5vcm1hbGl6ZSIsImlucHV0IiwidW52aXNpdCIsInZhbHVlIiwicXVlcnlLZXkiLCJnZXRFbnRpdHkiLCJnZXRJbmRleCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWFzL1F1ZXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgR2V0SW5kZXgsXG4gIEdldEVudGl0eSxcbiAgUXVlcnlhYmxlLFxuICBTY2hlbWFTaW1wbGUsXG59IGZyb20gJy4uL2ludGVyZmFjZS5qcyc7XG5pbXBvcnQgdHlwZSB7IERlbm9ybWFsaXplLCBOb3JtYWxpemVOdWxsYWJsZSwgU2NoZW1hQXJncyB9IGZyb20gJy4uL25vcm1hbC5qcyc7XG5cbi8qKlxuICogUHJvZ3JhbW1hdGljIGNhY2hlIHJlYWRpbmdcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9RdWVyeVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBRdWVyeTxcbiAgUyBleHRlbmRzIFF1ZXJ5YWJsZSB8IHsgW2s6IHN0cmluZ106IFF1ZXJ5YWJsZSB9LFxuICBQIGV4dGVuZHMgKGVudHJpZXM6IERlbm9ybWFsaXplPFM+LCAuLi5hcmdzOiBhbnkpID0+IGFueSxcbj4gaW1wbGVtZW50cyBTY2hlbWFTaW1wbGU8UmV0dXJuVHlwZTxQPiB8IHVuZGVmaW5lZCwgUHJvY2Vzc1BhcmFtZXRlcnM8UCwgUz4+XG57XG4gIGRlY2xhcmUgc2NoZW1hOiBTO1xuICBkZWNsYXJlIHByb2Nlc3M6IFA7XG5cbiAgLyoqXG4gICAqIFByb2dyYW1tYXRpYyBjYWNoZSByZWFkaW5nXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1F1ZXJ5XG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY2hlbWE6IFMsIHByb2Nlc3M6IFApIHtcbiAgICB0aGlzLnNjaGVtYSA9IHNjaGVtYTtcbiAgICB0aGlzLnByb2Nlc3MgPSBwcm9jZXNzO1xuICB9XG5cbiAgbm9ybWFsaXplKC4uLmFyZ3M6IGFueSkge1xuICAgIHJldHVybiAodGhpcy5zY2hlbWEgYXMgYW55KS5ub3JtYWxpemUoLi4uYXJncyk7XG4gIH1cblxuICBkZW5vcm1hbGl6ZShpbnB1dDoge30sIGFyZ3M6IGFueSwgdW52aXNpdDogYW55KTogUmV0dXJuVHlwZTxQPiB7XG4gICAgY29uc3QgdmFsdWUgPSB1bnZpc2l0KHRoaXMuc2NoZW1hLCBpbnB1dCk7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N5bWJvbCcgPyB2YWx1ZSA6IHRoaXMucHJvY2Vzcyh2YWx1ZSwgLi4uYXJncykpIGFzIGFueTtcbiAgfVxuXG4gIHF1ZXJ5S2V5KFxuICAgIGFyZ3M6IFByb2Nlc3NQYXJhbWV0ZXJzPFAsIFM+LFxuICAgIHF1ZXJ5S2V5OiAoXG4gICAgICBzY2hlbWE6IGFueSxcbiAgICAgIGFyZ3M6IGFueSxcbiAgICAgIGdldEVudGl0eTogR2V0RW50aXR5LFxuICAgICAgZ2V0SW5kZXg6IEdldEluZGV4LFxuICAgICkgPT4gYW55LFxuICAgIGdldEVudGl0eTogR2V0RW50aXR5LFxuICAgIGdldEluZGV4OiBHZXRJbmRleCxcbiAgKSB7XG4gICAgcmV0dXJuIHF1ZXJ5S2V5KHRoaXMuc2NoZW1hLCBhcmdzLCBnZXRFbnRpdHksIGdldEluZGV4KTtcbiAgfVxuXG4gIGRlY2xhcmUgX2Rlbm9ybWFsaXplTnVsbGFibGU6IChcbiAgICBpbnB1dDoge30sXG4gICAgYXJnczogcmVhZG9ubHkgYW55W10sXG4gICAgdW52aXNpdDogKHNjaGVtYTogYW55LCBpbnB1dDogYW55KSA9PiBhbnksXG4gICkgPT4gUmV0dXJuVHlwZTxQPiB8IHVuZGVmaW5lZDtcblxuICBkZWNsYXJlIF9ub3JtYWxpemVOdWxsYWJsZTogKCkgPT4gTm9ybWFsaXplTnVsbGFibGU8Uz47XG59XG5cbnR5cGUgUHJvY2Vzc1BhcmFtZXRlcnM8UCwgUyBleHRlbmRzIFF1ZXJ5YWJsZSB8IHsgW2s6IHN0cmluZ106IFF1ZXJ5YWJsZSB9PiA9XG4gIFAgZXh0ZW5kcyAoZW50cmllczogYW55LCAuLi5hcmdzOiBpbmZlciBQYXIpID0+IGFueSA/XG4gICAgUGFyIGV4dGVuZHMgW10gP1xuICAgICAgU2NoZW1hQXJnczxTPlxuICAgIDogUGFyICYgU2NoZW1hQXJnczxTPlxuICA6IFNjaGVtYUFyZ3M8Uz47XG4iXSwibWFwcGluZ3MiOiJBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU1BLEtBQUssQ0FJMUI7RUFJRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0VBQ0VDLFdBQVdBLENBQUNDLE1BQVMsRUFBRUMsT0FBVSxFQUFFO0lBQ2pDLElBQUksQ0FBQ0QsTUFBTSxHQUFHQSxNQUFNO0lBQ3BCLElBQUksQ0FBQ0MsT0FBTyxHQUFHQSxPQUFPO0VBQ3hCO0VBRUFDLFNBQVNBLENBQUMsR0FBR0MsSUFBUyxFQUFFO0lBQ3RCLE9BQVEsSUFBSSxDQUFDSCxNQUFNLENBQVNFLFNBQVMsQ0FBQyxHQUFHQyxJQUFJLENBQUM7RUFDaEQ7RUFFQUMsV0FBV0EsQ0FBQ0MsS0FBUyxFQUFFRixJQUFTLEVBQUVHLE9BQVksRUFBaUI7SUFDN0QsTUFBTUMsS0FBSyxHQUFHRCxPQUFPLENBQUMsSUFBSSxDQUFDTixNQUFNLEVBQUVLLEtBQUssQ0FBQztJQUN6QyxPQUNFLE9BQU9FLEtBQUssS0FBSyxRQUFRLEdBQUdBLEtBQUssR0FBRyxJQUFJLENBQUNOLE9BQU8sQ0FBQ00sS0FBSyxFQUFFLEdBQUdKLElBQUksQ0FBQztFQUNwRTtFQUVBSyxRQUFRQSxDQUNOTCxJQUE2QixFQUM3QkssUUFLUSxFQUNSQyxTQUFvQixFQUNwQkMsUUFBa0IsRUFDbEI7SUFDQSxPQUFPRixRQUFRLENBQUMsSUFBSSxDQUFDUixNQUFNLEVBQUVHLElBQUksRUFBRU0sU0FBUyxFQUFFQyxRQUFRLENBQUM7RUFDekQ7QUFTRiIsImlnbm9yZUxpc3QiOltdfQ==