UNPKG

nextbus-graphql

Version:

A GraphQL interface to the NextBus XML Feed

54 lines (45 loc) 2.22 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.nodeField = exports.nodeInterface = undefined; var _graphqlRelay = require('graphql-relay'); var relay = _interopRequireWildcard(_graphqlRelay); var _types = require('./types'); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } const { nodeInterface, nodeField } = relay.nodeDefinitions((() => { var _ref = _asyncToGenerator(function* (globalId, context, info) { const { type, id } = relay.fromGlobalId(globalId); switch (type) { case _types.agency.type.name: return _types.agency.getNode(id, context, info); case _types.route.type.name: return _types.route.getNode(id, context, info); case _types.stop.type.name: return _types.stop.getNode(id, context, info); case _types.viewer.type.name: return _types.viewer.getNode(id, context, info); default: throw new Error(`Invalid type "${ type }" from global ID "${ globalId }"`); } }); return function (_x, _x2, _x3) { return _ref.apply(this, arguments); }; })(), obj => { switch (obj.type) { case _types.agency.type.name: return _types.agency.type; case _types.route.type.name: return _types.route.type; case _types.stop.type.name: return _types.stop.type; case _types.viewer.type.name: return _types.viewer.type; default: throw new Error(`Invalid object type "${ obj.type }"`); } }); exports.nodeInterface = nodeInterface; exports.nodeField = nodeField;