{"version":3,"sources":["webpack:///webpack/bootstrap 1025ed3106995132d2ba","webpack:///external \"lodash\"","webpack:///./src/utils.ts","webpack:///./src/execution.ts","webpack:///./src/boot.ts","webpack:///./src/ast.ts","webpack:///./src/index.ts","webpack:///./src/resolvers.ts","webpack:///./src/typedefs.ts","webpack:///external \"body-parser\"","webpack:///external \"graphql-date\"","webpack:///external \"graphql-geojson\"","webpack:///external \"graphql-server-express\"","webpack:///external \"graphql-tools\"","webpack:///external \"graphql-type-json\""],"names":[],"mappings":"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","file":"dist\\index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 1025ed3106995132d2ba","module.exports = require(\"lodash\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash\"\n// module id = 0\n// module chunks = 0","import * as _ from 'lodash';\n\nconst PAGINATION = '(where: JSON, after: String, first: Int, before: String, last: Int)';\n\nfunction base64(i) {\n  return (new Buffer(i, 'ascii')).toString('base64');\n}\n\nfunction unbase64(i) {\n  return (new Buffer(i, 'base64')).toString('ascii');\n}\n\nconst PREFIX = 'connection.';\n\n/**\n * Creates the cursor string from an offset.\n * @param {String} id the id to convert\n * @returns {String}   an opaque cursor\n */\nfunction idToCursor(id) {\n  return base64(PREFIX + id);\n}\n\n/**\n * Rederives the offset from the cursor string.\n * @param {String} cursor   the cursor for conversion\n * @returns {String} id   converted id\n */\nfunction cursorToId(cursor) {\n  return unbase64(cursor).substring(PREFIX.length);\n}\n\nfunction getId(cursor) {\n  if (cursor === undefined || cursor === null) {\n    return null;\n  }\n  return cursorToId(cursor);\n}\n\nfunction connectionTypeName(model) {\n  return `${model.modelName}Connection`;\n}\n\nfunction edgeTypeName(model: any) {\n  return `${model.modelName}Edge`; // e.g. UserEdge\n}\n\nfunction singularModelName(model) {\n  return model.modelName;\n}\n\nfunction pluralModelName(model: any) {\n  return 'all' + _.upperFirst(model.pluralModelName);\n}\n\nfunction sharedRelations(model: any) {\n  return _.pickBy(model.relations, rel => rel.modelTo && rel.modelTo.shared);\n}\n\nfunction sharedModels(models: any[]) {\n  return _.filter(models, model => {\n    return model.shared;\n  });\n}\n\nfunction methodName(method, model) {\n  return model.modelName + _.upperFirst(method.name);\n}\nexport {\n  PAGINATION,\n  getId,\n  idToCursor,\n  cursorToId,\n  connectionTypeName,\n  edgeTypeName,\n  singularModelName,\n  methodName,\n  pluralModelName,\n  sharedRelations,\n  sharedModels,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils.ts","import * as _ from 'lodash';\n\nimport {\n  getId,\n  connectionTypeName,\n  idToCursor,\n} from './utils';\n\nfunction buildSelector(model, args) {\n  let selector = {\n    where: args.where || {},\n    skip: undefined,\n    limit: undefined,\n    order: undefined,\n  };\n  const begin = getId(args.after);\n  const end = getId(args.before);\n\n  selector.skip = args.first - args.last || 0;\n  selector.limit = args.last || args.first;\n  selector.order = model.getIdName() + (end ? ' DESC' : ' ASC');\n  if (begin) {\n    selector.where[model.getIdName()] = selector[model.getIdName()] || {};\n    selector.where[model.getIdName()].gt = begin;\n  }\n  if (end) {\n    selector.where[model.getIdName()] = selector[model.getIdName()] || {};\n    selector.where[model.getIdName()].lt = end;\n  }\n  return selector;\n}\n\nfunction findOne(model, obj, args, context) {\n  let id = obj ? obj[model.getIdName()] : args.id;\n  return model.findById(id);\n}\n\nfunction getCount(model, obj, args, context) {\n  return model.count(args.where);\n}\n\nfunction getFirst(model, obj, args) {\n  return model.findOne({\n    order: model.getIdName() + (args.before ? ' DESC' : ' ASC'),\n    where: args.where,\n  })\n    .then(res => {\n      return res ? res.__data : {};\n    });\n}\n\nfunction getList(model, obj, args) {\n  return model.find(buildSelector(model, args));\n}\n\nfunction findAll(model: any, obj: any, args: any, context: any) {\n  const response = {\n    args: args,\n    count: undefined,\n    first: undefined,\n    list: undefined,\n  };\n  return getCount(model, obj, args, undefined)\n    .then(count => {\n      response.count = count;\n      return getFirst(model, obj, args);\n    })\n    .then(first => {\n      response.first = first;\n      return getList(model, obj, args);\n    })\n    .then(list => {\n      response.list = list;\n      return response;\n    });\n}\n\nfunction findRelated(rel, obj, args, context) {\n  if (_.isArray(obj[rel.keyFrom])) {\n    return [];\n  }\n  args.where = {\n    [rel.keyTo]: obj[rel.keyFrom],\n  };\n  return findAll(rel.modelTo, obj, args, context);\n\n}\n\nfunction resolveConnection(model) {\n  return {\n    [connectionTypeName(model)]: {\n      totalCount: (obj, args, context) => {\n        return obj.count;\n      },\n\n      edges: (obj, args, context) => {\n        return _.map(obj.list, node => {\n          return {\n            cursor: idToCursor(node[model.getIdName()]),\n            node: node,\n          };\n        });\n      },\n\n      [model.pluralModelName]: (obj, args, context) => {\n        return obj.list;\n      },\n\n      pageInfo: (obj, args, context) => {\n        let pageInfo = {\n          startCursor: null,\n          endCursor: null,\n          hasPreviousPage: false,\n          hasNextPage: false,\n        };\n        if (obj.count > 0) {\n          pageInfo.startCursor = idToCursor(obj.list[0][model.getIdName()]);\n          pageInfo.endCursor = idToCursor(obj.list[obj.list.length - 1][model.getIdName()]);\n          pageInfo.hasNextPage = obj.list.length === obj.args.limit;\n          pageInfo.hasPreviousPage = obj.list[0][model.getIdName()] !== obj.first[model.getIdName()].toString();\n        }\n        return pageInfo;\n      },\n    },\n  };\n}\n\nexport {\n  findAll,\n  findOne,\n  findRelated,\n  resolveConnection,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/execution.ts","import { graphqlExpress, graphiqlExpress } from 'graphql-server-express';\nimport { makeExecutableSchema } from 'graphql-tools';\nimport * as bodyParser from 'body-parser';\n\nimport { abstractTypes } from './ast';\nimport { resolvers } from './resolvers';\nimport { generateTypeDefs } from './typedefs';\n\nexport function boot(app, options) {\n  const models = app.models();\n  let types = abstractTypes(models);\n  let schema = makeExecutableSchema({\n    typeDefs: generateTypeDefs(types),\n    resolvers: resolvers(models),\n    resolverValidationOptions: {\n      requireResolversForAllFields: false,\n    },\n  });\n\n  let graphiqlPath = options.graphiqlPath || '/graphiql';\n  let path = options.path || '/graphql';\n\n  app.use(path, bodyParser.json(), graphqlExpress(req => {\n    return {\n      schema,\n      context: req,\n    };\n  }));\n  app.use(graphiqlPath, graphiqlExpress({\n    endpointURL: path,\n  }));\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/boot.ts","import * as _ from 'lodash';\nimport {\n  connectionTypeName,\n  singularModelName,\n  pluralModelName,\n  methodName,\n  edgeTypeName,\n  sharedRelations,\n  idToCursor,\n} from './utils';\nimport { findRelated, findAll, findOne, resolveConnection } from './execution';\nimport { IProperty, ITypesHash } from './interfaces';\n\n/*** Loopback Types - GraphQL types\n        any - JSON\n        Array - [JSON]\n        Boolean = boolean\n        Buffer - not supported\n        Date - Date (custom scalar)\n        GeoPoint - not supported\n        null - not supported\n        Number = float\n        Object = JSON (custom scalar)\n        String - string\n    ***/\n\nlet types: ITypesHash = {};\n\nconst exchangeTypes = {\n  'any': 'JSON',\n  'Any': 'JSON',\n  'Number': 'Int',\n  'number': 'Int',\n  'Object': 'JSON',\n  'object': 'JSON',\n};\n\nconst SCALARS = {\n  any: 'JSON',\n  number: 'Float',\n  string: 'String',\n  boolean: 'Boolean',\n  objectid: 'ID',\n  date: 'Date',\n  object: 'JSON',\n  now: 'Date',\n  guid: 'ID',\n  uuid: 'ID',\n  uuidv4: 'ID',\n  geopoint: 'GeoPoint',\n};\n\nconst PAGINATION = 'where: JSON, after: String, first: Int, before: String, last: Int';\nconst IDPARAMS = 'id: ID!';\n\nfunction getScalar(type: string) {\n  return SCALARS[type.toLowerCase().trim()];\n}\n\nfunction toTypes(union: string[]) {\n  return _.map(union, type => {\n    return getScalar(type) ? getScalar(type) : type;\n  });\n}\n\nfunction mapProperty(model: any, property: any, modelName: string, propertyName: string) {\n  if (property.deprecated) {\n    return;\n  }\n  types[modelName].fields[propertyName] = {\n    required: property.required,\n    hidden: model.definition.settings.hidden && model.definition.settings.hidden.indexOf(propertyName) !== -1,\n  };\n  let currentProperty = types[modelName].fields[propertyName];\n\n  let typeName = `${modelName}_${propertyName}`;\n  let propertyType = property.type;\n\n  if (propertyType.name === 'Array') { // JSON Array\n    currentProperty.list = true;\n    currentProperty.gqlType = 'JSON';\n    currentProperty.scalar = true;\n    return;\n  }\n\n  if (_.isArray(property.type)) {\n    currentProperty.list = true;\n    propertyType = property.type[0];\n  }\n\n  let scalar = getScalar(propertyType.name);\n  if (property.defaultFn) {\n    scalar = getScalar(property.defaultFn);\n  }\n  if (scalar) {\n    currentProperty.scalar = true;\n    currentProperty.gqlType = scalar;\n    if (property.enum) { // enum has a dedicated type but no input type is required\n      types[typeName] = {\n        values: property.enum,\n        category: 'ENUM',\n      };\n      currentProperty.gqlType = typeName;\n    }\n  }\n\n  if (propertyType.name === 'ModelConstructor' && property.defaultFn !== 'now') {\n    currentProperty.gqlType = propertyType.modelName;\n    let union = propertyType.modelName.split('|');\n    //type is a union\n    if (union.length > 1) { // union type\n      types[typeName] = { // creating a new union type\n        category: 'UNION',\n        values: toTypes(union),\n      };\n    } else if (propertyType.settings && propertyType.settings.anonymous && propertyType.definition) {\n      currentProperty.gqlType = typeName;\n      types[typeName] = {\n        category: 'TYPE',\n        input: true,\n        fields: {},\n      }; // creating a new type\n      _.forEach(propertyType.definition.properties, (p, key) => {\n        mapProperty(propertyType, p, typeName, key);\n      });\n    }\n  }\n}\n\nfunction mapRelation(rel: any, modelName: string, relName: string) {\n  types[modelName].fields[relName] = {\n    relation: true,\n    embed: rel.embed,\n    gqlType: connectionTypeName(rel.modelTo),\n    args: PAGINATION,\n    resolver: (obj, args, context) => {\n      return findRelated(rel, obj, args, context);\n    },\n  };\n}\n\n/*\nfunction generateReturns(name, props) {\n    if (_.isObject(props)) {\n        props = [props];\n    }\n    let args;\n    args = _.map(props, prop => {\n        if (_.isArray(prop.type)) {\n            return `${prop.arg}: [${toType(prop.type[0])}]${prop.required ? '!' : ''}`;\n        } else if (toType(prop.type)) {\n            return `${prop.arg}: ${toType(prop.type)}${prop.required ? '!' : ''}`;\n        }\n        return '';\n    }).join(' \\n ');\n    return args ? `{${args}}` : '';\n}\n\nfunction generateAccepts(name, props) {\n    let ret = _.map(props, prop => {\n        let propType = prop.type;\n        if (_.isArray(prop.type)) {\n            propType = prop.type[0];\n        }\n        return propType ? `${prop.arg}: [${toType(prop.type[0])}]${prop.required ? '!' : ''}` : '';\n    }).join(' \\n ');\n    return ret ? `(${ret})` : '';\n\n}\n*/\n\nfunction addRemoteHooks(model: any) {\n\n  _.map(model.sharedClass._methods, (method: any) => {\n    if (method.accessType !== 'READ' && method.http.path) {\n      let acceptingParams = '',\n        returnType = 'JSON';\n      method.accepts.map(function (param) {\n        let paramType = '';\n        if (typeof param.type === 'object') {\n          paramType = 'JSON';\n        } else {\n          if (!SCALARS[param.type.toLowerCase()]) {\n            paramType = `${param.type}Input`;\n          } else {\n            paramType = _.upperFirst(param.type);\n          }\n        }\n        if (param.arg) {\n          acceptingParams += `${param.arg}: ${exchangeTypes[paramType] || paramType} `;\n        }\n      });\n      if (method.returns && method.returns[0]) {\n        if (!SCALARS[method.returns[0].type] && typeof method.returns[0].type !== 'object') {\n          returnType = `${method.returns[0].type}`;\n        } else {\n          returnType = `${_.upperFirst(method.returns[0].type)}`;\n          if (typeof method.returns[0].type === 'object') {\n            returnType = 'JSON';\n          }\n        }\n      }\n      types.Mutation.fields[`${methodName(method, model)}`] = {\n        relation: true,\n        args: acceptingParams,\n        gqlType: `${exchangeTypes[returnType] || returnType}`,\n      };\n    }\n  });\n}\n\nfunction mapRoot(model) {\n  types.Query.fields[singularModelName(model)] = {\n    relation: true,\n    args: IDPARAMS,\n    root: true,\n    gqlType: singularModelName(model),\n    resolver: (obj, args, context) => {\n      findOne(model, obj, args, context);\n    },\n  };\n\n  types.Query.fields[pluralModelName(model)] = {\n    relation: true,\n    root: true,\n    args: PAGINATION,\n    gqlType: connectionTypeName(model),\n    resolver: (obj, args, context) => {\n      findAll(model, obj, args, context);\n    },\n  };\n\n  types.Mutation.fields[`save${singularModelName(model)}`] = {\n    relation: true,\n    args: `obj: ${singularModelName(model)}Input!`,\n    gqlType: singularModelName(model),\n    resolver: (context, args) => model.upsert(args.obj),\n  };\n\n  types.Mutation.fields[`delete${singularModelName(model)}`] = {\n    relation: true,\n    args: IDPARAMS,\n    gqlType: ` ${singularModelName(model)}`,\n    resolver: (context, args) => {\n      return model.findById(args.id)\n        .then(instance => instance.destroy());\n    },\n  };\n  // _.each(model.sharedClass.methods, method => {\n  //     if (method.accessType !== 'READ' && method.http.path) {\n  //         let methodName = methodName(method, model);\n  //         types.Mutation.fields[methodName] = {\n  //             gqlType: `${generateReturns(method.name, method.returns)}`,\n  //             args: `${generateAccepts(method.name, method.accepts)}`\n  //         }\n\n  //         return `${methodName(method)}\n  //                     ${generateAccepts(method.name, method.accepts)}\n\n  //                 : JSON`;\n  //     } else {\n  //         return undefined;\n  //     }\n  // });\n  addRemoteHooks(model);\n}\n\nfunction mapConnection(model) {\n  types[connectionTypeName(model)] = {\n    connection: true,\n    category: 'TYPE',\n    fields: {\n      pageInfo: {\n        required: true,\n        gqlType: 'pageInfo',\n      },\n      edges: {\n        list: true,\n        gqlType: edgeTypeName(model),\n        resolver: (obj, args, context) => {\n          return _.map(obj.list, node => {\n            return {\n              cursor: idToCursor(node[model.getIdName()]),\n              node: node,\n            };\n          });\n        },\n      },\n      totalCount: {\n        gqlType: 'Int',\n        scalar: true,\n        resolver: (obj, args, context) => {\n          return obj.count;\n        },\n      },\n      [model.pluralModelName]: {\n        gqlType: singularModelName(model),\n        list: true,\n        resolver: (obj, args, context) => {\n          return obj.list;\n        },\n      },\n    },\n    resolver: (obj, args, context) => {\n      return resolveConnection(model);\n    },\n  };\n  types[edgeTypeName(model)] = {\n    category: 'TYPE',\n    fields: {\n      node: {\n        gqlType: singularModelName(model),\n        required: true,\n      },\n      cursor: {\n        gqlType: 'String',\n        required: true,\n      },\n    },\n  };\n\n}\nexport function abstractTypes(models: any[]): ITypesHash {\n  //building all models types & relationships\n  types.pageInfo = {\n    category: 'TYPE',\n    fields: {\n      hasNextPage: {\n        gqlType: 'Boolean',\n        required: true,\n      },\n      hasPreviousPage: {\n        gqlType: 'Boolean',\n        required: true,\n      },\n      startCursor: {\n        gqlType: 'String',\n      },\n      endCursor: {\n        gqlType: 'String',\n      },\n    },\n  };\n  types.Query = {\n    category: 'TYPE',\n    fields: {},\n  };\n  types.Mutation = {\n    category: 'TYPE',\n    fields: {},\n  };\n\n  _.forEach(models, model => {\n    if (model.shared) {\n      mapRoot(model);\n    }\n    types[singularModelName(model)] = {\n      category: 'TYPE',\n      input: true,\n      fields: {},\n    };\n    _.forEach(model.definition.properties, (property, key) => {\n      mapProperty(model, property, singularModelName(model), key);\n    });\n\n    mapConnection(model);\n    _.forEach(sharedRelations(model), rel => {\n      mapRelation(rel, singularModelName(model), rel.name);\n      mapConnection(rel.modelTo);\n    });\n  });\n  return types;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ast.ts","import {boot} from './boot';\n\nmodule.exports = boot;\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","import * as _ from 'lodash';\nimport * as utils from './utils';\n\nimport * as execution from './execution';\nimport * as GraphQLJSON from 'graphql-type-json';\nimport * as GraphQLDate from 'graphql-date';\nimport {\n  CoordinatesScalar,\n} from 'graphql-geojson';\n\nconst scalarResolvers = {\n  JSON: GraphQLJSON,\n  Date: GraphQLDate,\n  GeoPoint: CoordinatesScalar,\n};\n\nfunction RelationResolver(model) {\n  let resolver = {};\n  _.forEach(utils.sharedRelations(model), rel => {\n    resolver[rel.name] = (obj, args, context) => {\n      return execution.findRelated(rel, obj, args, context);\n    };\n  });\n\n  return {\n    [utils.singularModelName(model)]: resolver,\n  };\n}\n\nfunction rootResolver(model) {\n  return {\n    Query: {\n      [`${utils.pluralModelName(model)}`]: (root, args, context) => {\n        return execution.findAll(model, root, args, context);\n      },\n      [`${utils.singularModelName(model)}`]: (obj, args, context) => {\n        return execution.findOne(model, obj, args, context);\n      },\n    },\n    Mutation: {\n      [`save${utils.singularModelName(model)}`]: (context, args) => {\n        return model.upsert(args.obj);\n      },\n      [`delete${utils.singularModelName(model)}`]: (context, args) => {\n        return model.findById(args.id)\n          .then(instance => {\n            return instance ? instance.destroy() : null;\n          });\n      },\n    },\n  };\n}\n\nfunction connectionResolver(model: any) {\n  return {\n    [utils.connectionTypeName(model)]: {\n      totalCount: (obj, args, context) => {\n        return obj.count;\n      },\n\n      edges: (obj, args, context) => {\n        return _.map(obj.list, node => {\n          return {\n            cursor: utils.idToCursor(node[model.getIdName()]),\n            node: node,\n          };\n        });\n      },\n\n      [model.pluralModelName]: (obj, args, context) => {\n        return obj.list;\n      },\n\n      pageInfo: (obj, args, context) => {\n        let pageInfo = {\n          startCursor: null,\n          endCursor: null,\n          hasPreviousPage: false,\n          hasNextPage: false,\n        };\n        if (obj.count > 0) {\n          pageInfo.startCursor = utils.idToCursor(obj.list[0][model.getIdName()]);\n          pageInfo.endCursor = utils.idToCursor(obj.list[obj.list.length - 1][model.getIdName()]);\n          pageInfo.hasNextPage = obj.list.length === obj.args.limit;\n          pageInfo.hasPreviousPage = obj.list[0][model.getIdName()] !== obj.first[model.getIdName()].toString();\n        }\n        return pageInfo;\n      },\n    },\n  };\n}\n\nfunction remoteResolver(model) {\n  let mutation = {};\n  //model.sharedClass.methods\n  if (model.sharedClass && model.sharedClass.methods) {\n    model.sharedClass._methods.map(function (method) {\n      if (method.accessType !== 'READ' && method.http.path) {\n        let acceptingParams = [];\n        method.accepts.map(function (param) {\n          if (param.arg) {\n            acceptingParams.push(param.arg);\n          }\n        });\n        mutation[`${utils.methodName(method, model)}`] = (context, args) => {\n          let params = [];\n          _.each(method.accepts, (el, i) => {\n            params[i] = args[el.arg];\n          });\n          return model[method.name].apply(model, params);\n        };\n      }\n    });\n  }\n  return {\n    Mutation: mutation,\n  };\n}\n\n/**\n * Generate resolvers for all models\n *\n * @param {Object} models: All loopback Models\n * @returns {Object} resolvers functions for all models - queries and mutations\n */\nexport function resolvers(models: any[]) {\n  return _.reduce(models, (obj: any, model: any) => {\n    if (model.shared) {\n      return _.merge(\n        obj,\n        rootResolver(model),\n        connectionResolver(model),\n        RelationResolver(model),\n        remoteResolver(model),\n      );\n    }\n    return obj;\n  }, scalarResolvers);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/resolvers.ts","import * as _ from 'lodash';\nimport { ISchemaType, IField, ITypesHash } from './interfaces';\n\nconst scalarTypes = `\n        scalar Date\n        scalar JSON\n        scalar GeoPoint\n        `;\n\nfunction args(args: string): string {\n  return args ? `(${args})` : '';\n}\n\nfunction generateInputField(field: IField, name: string): string {\n  return `\n        ${name} : ${field.list ? '[' : ''}\n        ${field.gqlType}${field.scalar ? '' : 'Input'}${field.required ? '!' : ''} ${field.list ? ']' : ''}`;\n}\n\nfunction generateOutputField(field: IField, name: string): string {\n  return `${name} ${args(field.args)} : ${field.list ? '[' : ''}${field.gqlType}${field.required ? '!' : ''} ${field.list ? ']' : ''}`;\n}\n\nexport function generateTypeDefs(types: ITypesHash) {\n  const categories = {\n    TYPE: (type: ISchemaType, name: string) => {\n      let output = _.reduce(type.fields, (result: string, field: IField, fieldName: string): string => {\n        return result + generateOutputField(field, fieldName) + ' \\n ';\n      }, '');\n\n      let result = `\n                type ${name} {\n                    ${output}\n                }`;\n      if (type.input) {\n        let input = _.reduce(type.fields, (accumulator: string, field: IField, fieldName: string) => {\n          return !field.relation ? accumulator + generateInputField(field, fieldName) + ' \\n ' : accumulator;\n        }, '');\n        result += `input ${name}Input {\n                    ${input}\n                }`;\n      }\n      return result;\n    },\n    UNION: (type: ISchemaType, name: string) => {\n      return `union ${name} = ${type.values.join(' | ')}`;\n    },\n    ENUM: (type: ISchemaType, name: string) => {\n      return `enum ${name} {${type.values.join(' ')}}`;\n    },\n  };\n\n  return _.reduce(types, (result: string, type: ISchemaType, name: string) => {\n    return result + categories[type.category](type, name);\n  }, scalarTypes);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/typedefs.ts","module.exports = require(\"body-parser\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"body-parser\"\n// module id = 8\n// module chunks = 0","module.exports = require(\"graphql-date\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"graphql-date\"\n// module id = 9\n// module chunks = 0","module.exports = require(\"graphql-geojson\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"graphql-geojson\"\n// module id = 10\n// module chunks = 0","module.exports = require(\"graphql-server-express\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"graphql-server-express\"\n// module id = 11\n// module chunks = 0","module.exports = require(\"graphql-tools\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"graphql-tools\"\n// module id = 12\n// module chunks = 0","module.exports = require(\"graphql-type-json\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"graphql-type-json\"\n// module id = 13\n// module chunks = 0"],"sourceRoot":""}