@loona/core
Version:
App State Management done with GraphQL (core package)
33 lines • 2.95 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { buildContext } from '../helpers';
/**
* @param {?} manager
* @return {?}
*/
export function createResolvers(manager) {
/** @type {?} */
var schema = {};
manager.resolvers.forEach(function (def) {
var _a = tslib_1.__read(def.path.split('.'), 2), typeName = _a[0], fieldName = _a[1];
if (!schema[typeName]) {
schema[typeName] = {};
}
schema[typeName][fieldName] = createResolver(def, manager);
});
return schema;
}
/**
* @param {?} def
* @param {?} manager
* @return {?}
*/
function createResolver(def, manager) {
return function (parent, args, context) {
return def.resolve(parent, args, buildContext(context, manager.getClient()));
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXJzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGxvb25hL2NvcmUvIiwic291cmNlcyI6WyJpbnRlcm5hbC9yZXNvbHZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sWUFBWSxDQUFDOzs7OztBQUV4QyxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQWdCOztRQUN4QyxNQUFNLEdBQWMsRUFBRTtJQUU1QixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUc7UUFDckIsSUFBQSwyQ0FBMkMsRUFBMUMsZ0JBQVEsRUFBRSxpQkFBZ0M7UUFFakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3ZCO1FBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDOzs7Ozs7QUFFRCxTQUFTLGNBQWMsQ0FBQyxHQUFnQixFQUFFLE9BQWdCO0lBQ3hELE9BQU8sVUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU87UUFDM0IsT0FBQSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUFyRSxDQUFxRSxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Jlc29sdmVycywgUmVzb2x2ZXJEZWZ9IGZyb20gJy4uL3R5cGVzL3Jlc29sdmVyJztcbmltcG9ydCB7TWFuYWdlcn0gZnJvbSAnLi4vbWFuYWdlcic7XG5pbXBvcnQge1Jlc29sdmVGbn0gZnJvbSAnLi4vdHlwZXMvY29tbW9uJztcbmltcG9ydCB7YnVpbGRDb250ZXh0fSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlc29sdmVycyhtYW5hZ2VyOiBNYW5hZ2VyKTogUmVzb2x2ZXJzIHtcbiAgY29uc3Qgc2NoZW1hOiBSZXNvbHZlcnMgPSB7fTtcblxuICBtYW5hZ2VyLnJlc29sdmVycy5mb3JFYWNoKGRlZiA9PiB7XG4gICAgY29uc3QgW3R5cGVOYW1lLCBmaWVsZE5hbWVdID0gZGVmLnBhdGguc3BsaXQoJy4nKTtcblxuICAgIGlmICghc2NoZW1hW3R5cGVOYW1lXSkge1xuICAgICAgc2NoZW1hW3R5cGVOYW1lXSA9IHt9O1xuICAgIH1cblxuICAgIHNjaGVtYVt0eXBlTmFtZV1bZmllbGROYW1lXSA9IGNyZWF0ZVJlc29sdmVyKGRlZiwgbWFuYWdlcik7XG4gIH0pO1xuXG4gIHJldHVybiBzY2hlbWE7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlc29sdmVyKGRlZjogUmVzb2x2ZXJEZWYsIG1hbmFnZXI6IE1hbmFnZXIpOiBSZXNvbHZlRm4ge1xuICByZXR1cm4gKHBhcmVudCwgYXJncywgY29udGV4dCkgPT5cbiAgICBkZWYucmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGJ1aWxkQ29udGV4dChjb250ZXh0LCBtYW5hZ2VyLmdldENsaWVudCgpKSk7XG59XG4iXX0=