1 | "use strict";
|
2 | var graphql_1 = require("graphql");
|
3 | var model_handler_1 = require("./model-handler");
|
4 | var operation_handler_1 = require("./operation-handler");
|
5 | var fragment_handler_1 = require("./fragment-handler");
|
6 | exports.prepareCodegen = function (schema, document, primitivesMap) {
|
7 | if (primitivesMap === void 0) { primitivesMap = {}; }
|
8 | var models = [];
|
9 | var documents = [];
|
10 | var typesMap = schema.getTypeMap();
|
11 | Object.keys(typesMap).forEach(function (typeName) {
|
12 | models.push(model_handler_1.handleType(primitivesMap, typesMap[typeName]));
|
13 | });
|
14 | document.definitions.forEach(function (definition) {
|
15 | switch (definition.kind) {
|
16 | case graphql_1.Kind.OPERATION_DEFINITION:
|
17 | documents.push(operation_handler_1.handleOperation(schema, definition, primitivesMap));
|
18 | break;
|
19 | case graphql_1.Kind.FRAGMENT_DEFINITION:
|
20 | documents.push(fragment_handler_1.handleFragment(schema, definition, primitivesMap));
|
21 | break;
|
22 | default:
|
23 | break;
|
24 | }
|
25 | });
|
26 | return {
|
27 | models: models.filter(function (item) { return item; }),
|
28 | documents: documents.filter(function (item) { return item; })
|
29 | };
|
30 | };
|
31 |
|
\ | No newline at end of file |