@loona/core
Version:
App State Management done with GraphQL (core package)
36 lines • 3.07 kB
JavaScript
/**
* @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 {?} */
var constructor = proto.constructor;
/** @type {?} */
var meta = ensureMetadata(constructor);
meta.resolvers.push({ propName: propName, path: path });
}
/**
* @param {?} instance
* @param {?} meta
* @param {?=} transformFn
* @return {?}
*/
export function transformResolvers(instance, meta, transformFn) {
if (transformFn === void 0) { transformFn = function (resolver) { return resolver; }; }
return meta.resolvers.map(function (_a) {
var propName = _a.propName, path = _a.path;
return ({
name: propName,
path: path,
resolve: transformFn(instance[propName].bind(instance)),
});
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bsb29uYS9jb3JlLyIsInNvdXJjZXMiOlsibWV0YWRhdGEvcmVzb2x2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLFlBQVksQ0FBQzs7Ozs7OztBQUsxQyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBVSxFQUFFLFFBQWdCLEVBQUUsSUFBWTs7UUFDckUsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXOztRQUMvQixJQUFJLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQztJQUV4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsVUFBQSxFQUFFLElBQUksTUFBQSxFQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxRQUFhLEVBQ2IsSUFBYyxFQUNkLFdBQWtFO0lBQWxFLDRCQUFBLEVBQUEsd0JBQThDLFFBQVEsSUFBSSxPQUFBLFFBQVEsRUFBUixDQUFRO0lBRWxFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBQyxFQUFnQjtZQUFmLHNCQUFRLEVBQUUsY0FBSTtRQUFNLE9BQUEsQ0FBQztZQUMvQyxJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksTUFBQTtZQUNKLE9BQU8sRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4RCxDQUFDO0lBSjhDLENBSTlDLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Vuc3VyZU1ldGFkYXRhfSBmcm9tICcuL21ldGFkYXRhJztcbmltcG9ydCB7TWV0YWRhdGF9IGZyb20gJy4uL3R5cGVzL21ldGFkYXRhJztcbmltcG9ydCB7UmVzb2x2ZXJEZWZ9IGZyb20gJy4uL3R5cGVzL3Jlc29sdmVyJztcbmltcG9ydCB7UmVzb2x2ZUZufSBmcm9tICcuLi90eXBlcy9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0UmVzb2x2ZU1ldGFkYXRhKHByb3RvOiBhbnksIHByb3BOYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZykge1xuICBjb25zdCBjb25zdHJ1Y3RvciA9IHByb3RvLmNvbnN0cnVjdG9yO1xuICBjb25zdCBtZXRhID0gZW5zdXJlTWV0YWRhdGEoY29uc3RydWN0b3IpO1xuXG4gIG1ldGEucmVzb2x2ZXJzLnB1c2goe3Byb3BOYW1lLCBwYXRofSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1SZXNvbHZlcnMoXG4gIGluc3RhbmNlOiBhbnksXG4gIG1ldGE6IE1ldGFkYXRhLFxuICB0cmFuc2Zvcm1GbjogKChyZXNvbHZlcjogYW55KSA9PiBSZXNvbHZlRm4pID0gcmVzb2x2ZXIgPT4gcmVzb2x2ZXIsXG4pOiBSZXNvbHZlckRlZltdIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG1ldGEucmVzb2x2ZXJzLm1hcCgoe3Byb3BOYW1lLCBwYXRofSkgPT4gKHtcbiAgICBuYW1lOiBwcm9wTmFtZSxcbiAgICBwYXRoLFxuICAgIHJlc29sdmU6IHRyYW5zZm9ybUZuKGluc3RhbmNlW3Byb3BOYW1lXS5iaW5kKGluc3RhbmNlKSksXG4gIH0pKTtcbn1cbiJdfQ==