UNPKG

@loona/core

Version:

App State Management done with GraphQL (core package)

32 lines 2.83 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ import { ensureMetadata } from './metadata'; /** * @param {?} proto * @param {?} propName * @param {?} path * @return {?} */ export function setResolveMetadata(proto, propName, path) { /** @type {?} */ const constructor = proto.constructor; /** @type {?} */ const meta = ensureMetadata(constructor); meta.resolvers.push({ propName, path }); } /** * @param {?} instance * @param {?} meta * @param {?=} transformFn * @return {?} */ export function transformResolvers(instance, meta, transformFn = resolver => resolver) { return meta.resolvers.map(({ propName, path }) => ({ name: propName, path, resolve: transformFn(instance[propName].bind(instance)), })); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bsb29uYS9jb3JlLyIsInNvdXJjZXMiOlsibWV0YWRhdGEvcmVzb2x2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLFlBQVksQ0FBQzs7Ozs7OztBQUsxQyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBVSxFQUFFLFFBQWdCLEVBQUUsSUFBWTs7VUFDckUsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXOztVQUMvQixJQUFJLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQztJQUV4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFFBQWEsRUFDYixJQUFjLEVBQ2QsY0FBOEMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRO0lBRWxFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLEVBQUUsUUFBUTtRQUNkLElBQUk7UUFDSixPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDeEQsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtlbnN1cmVNZXRhZGF0YX0gZnJvbSAnLi9tZXRhZGF0YSc7XG5pbXBvcnQge01ldGFkYXRhfSBmcm9tICcuLi90eXBlcy9tZXRhZGF0YSc7XG5pbXBvcnQge1Jlc29sdmVyRGVmfSBmcm9tICcuLi90eXBlcy9yZXNvbHZlcic7XG5pbXBvcnQge1Jlc29sdmVGbn0gZnJvbSAnLi4vdHlwZXMvY29tbW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFJlc29sdmVNZXRhZGF0YShwcm90bzogYW55LCBwcm9wTmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcpIHtcbiAgY29uc3QgY29uc3RydWN0b3IgPSBwcm90by5jb25zdHJ1Y3RvcjtcbiAgY29uc3QgbWV0YSA9IGVuc3VyZU1ldGFkYXRhKGNvbnN0cnVjdG9yKTtcblxuICBtZXRhLnJlc29sdmVycy5wdXNoKHtwcm9wTmFtZSwgcGF0aH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUmVzb2x2ZXJzKFxuICBpbnN0YW5jZTogYW55LFxuICBtZXRhOiBNZXRhZGF0YSxcbiAgdHJhbnNmb3JtRm46ICgocmVzb2x2ZXI6IGFueSkgPT4gUmVzb2x2ZUZuKSA9IHJlc29sdmVyID0+IHJlc29sdmVyLFxuKTogUmVzb2x2ZXJEZWZbXSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBtZXRhLnJlc29sdmVycy5tYXAoKHtwcm9wTmFtZSwgcGF0aH0pID0+ICh7XG4gICAgbmFtZTogcHJvcE5hbWUsXG4gICAgcGF0aCxcbiAgICByZXNvbHZlOiB0cmFuc2Zvcm1GbihpbnN0YW5jZVtwcm9wTmFtZV0uYmluZChpbnN0YW5jZSkpLFxuICB9KSk7XG59XG4iXX0=