Skip to content

Commit 584f657

Browse files
authored
Merge pull request yarax#29 from marla-singer/master
Improve support es6 features for node v4
2 parents 68e39e9 + ddc2a91 commit 584f657

File tree

7 files changed

+351
-30
lines changed

7 files changed

+351
-30
lines changed

.babelrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"presets": ["es2015", "stage-0"],
3-
"plugins": ["add-module-exports", "syntax-flow", "transform-flow-strip-types"]
3+
"plugins": ["add-module-exports", "syntax-flow", "transform-flow-strip-types", "transform-runtime"]
44
}

lib/index.js

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ Object.defineProperty(exports, "__esModule", {
44
value: true
55
});
66

7+
var _regenerator = require('babel-runtime/regenerator');
8+
9+
var _regenerator2 = _interopRequireDefault(_regenerator);
10+
11+
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
12+
13+
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
14+
15+
var _keys = require('babel-runtime/core-js/object/keys');
16+
17+
var _keys2 = _interopRequireDefault(_keys);
18+
719
var _requestPromise = require('request-promise');
820

921
var _requestPromise2 = _interopRequireDefault(_requestPromise);
@@ -16,11 +28,6 @@ var _typeMap = require('./typeMap');
1628

1729
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1830

19-
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"); }); }; }
20-
21-
require('babel-polyfill');
22-
23-
2431
var schemaFromEndpoints = function schemaFromEndpoints(endpoints) {
2532
var rootType = new _graphql.GraphQLObjectType({
2633
name: 'Query',
@@ -31,7 +38,7 @@ var schemaFromEndpoints = function schemaFromEndpoints(endpoints) {
3138
name: 'viewer',
3239
fields: function fields() {
3340
var queryFields = getQueriesFields(endpoints, false);
34-
if (!Object.keys(queryFields).length) {
41+
if (!(0, _keys2.default)(queryFields).length) {
3542
throw new Error('Did not find any GET endpoints');
3643
}
3744
return queryFields;
@@ -50,7 +57,7 @@ var schemaFromEndpoints = function schemaFromEndpoints(endpoints) {
5057
};
5158

5259
var mutationFields = getQueriesFields(endpoints, true);
53-
if (Object.keys(mutationFields).length) {
60+
if ((0, _keys2.default)(mutationFields).length) {
5461
graphQLSchema.mutation = new _graphql.GraphQLObjectType({
5562
name: 'Mutation',
5663
fields: mutationFields
@@ -60,11 +67,12 @@ var schemaFromEndpoints = function schemaFromEndpoints(endpoints) {
6067
return new _graphql.GraphQLSchema(graphQLSchema);
6168
};
6269

70+
6371
var resolver = function resolver(endpoint) {
6472
return function () {
65-
var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(_, args, opts) {
73+
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(_, args, opts) {
6674
var req, res;
67-
return regeneratorRuntime.wrap(function _callee$(_context) {
75+
return _regenerator2.default.wrap(function _callee$(_context) {
6876
while (1) {
6977
switch (_context.prev = _context.next) {
7078
case 0:
@@ -95,7 +103,7 @@ var resolver = function resolver(endpoint) {
95103
};
96104

97105
var getQueriesFields = function getQueriesFields(endpoints, isMutation) {
98-
return Object.keys(endpoints).filter(function (typeName) {
106+
return (0, _keys2.default)(endpoints).filter(function (typeName) {
99107
return !!endpoints[typeName].mutation === !!isMutation;
100108
}).reduce(function (result, typeName) {
101109
var endpoint = endpoints[typeName];
@@ -112,9 +120,9 @@ var getQueriesFields = function getQueriesFields(endpoints, isMutation) {
112120
};
113121

114122
var build = function () {
115-
var _ref2 = _asyncToGenerator(regeneratorRuntime.mark(function _callee2(swaggerPath) {
123+
var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2(swaggerPath) {
116124
var swaggerSchema, endpoints, schema;
117-
return regeneratorRuntime.wrap(function _callee2$(_context2) {
125+
return _regenerator2.default.wrap(function _callee2$(_context2) {
118126
while (1) {
119127
switch (_context2.prev = _context2.next) {
120128
case 0:

lib/swagger.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
55
});
66
exports.getAllEndPoints = exports.loadSchema = exports.getSchema = undefined;
77

8+
var _keys = require('babel-runtime/core-js/object/keys');
9+
10+
var _keys2 = _interopRequireDefault(_keys);
11+
812
var _jsonSchemaRefParser = require('json-schema-ref-parser');
913

1014
var _jsonSchemaRefParser2 = _interopRequireDefault(_jsonSchemaRefParser);
@@ -17,7 +21,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
1721

1822
var __schema = void 0;
1923
var getSchema = exports.getSchema = function getSchema() {
20-
if (!__schema || !Object.keys(__schema).length) {
24+
if (!__schema || !(0, _keys2.default)(__schema).length) {
2125
throw new Error('Schema was not loaded');
2226
}
2327
return __schema;
@@ -33,7 +37,7 @@ var getSuccessResponse = function getSuccessResponse(responses) {
3337

3438
if (!responses) return null;
3539

36-
Object.keys(responses).some(function (code) {
40+
(0, _keys2.default)(responses).some(function (code) {
3741
resp = responses[code];
3842
return code[0] === '2';
3943
});
@@ -56,9 +60,9 @@ var replaceOddChars = function replaceOddChars(str) {
5660
*/
5761
var getAllEndPoints = exports.getAllEndPoints = function getAllEndPoints(schema) {
5862
var allTypes = {};
59-
Object.keys(schema.paths).forEach(function (path) {
63+
(0, _keys2.default)(schema.paths).forEach(function (path) {
6064
var route = schema.paths[path];
61-
Object.keys(route).forEach(function (method) {
65+
(0, _keys2.default)(route).forEach(function (method) {
6266
var obj = route[method];
6367
var isMutation = ['post', 'put', 'patch', 'delete'].indexOf(method) !== -1;
6468
var typeName = obj.operationId || getGQLTypeNameFromURL(method, path);

lib/typeMap.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ Object.defineProperty(exports, "__esModule", {
55
});
66
exports.mapParametersToFields = exports.getTypeFields = exports.createGQLObject = undefined;
77

8+
var _stringify = require('babel-runtime/core-js/json/stringify');
9+
10+
var _stringify2 = _interopRequireDefault(_stringify);
11+
12+
var _keys = require('babel-runtime/core-js/object/keys');
13+
14+
var _keys2 = _interopRequireDefault(_keys);
15+
816
var _lodash = require('lodash');
917

1018
var _lodash2 = _interopRequireDefault(_lodash);
@@ -103,7 +111,7 @@ var getTypeFields = exports.getTypeFields = function getTypeFields(jsonSchema, t
103111
};
104112
});
105113

106-
if (!Object.keys(fields).length) {
114+
if (!(0, _keys2.default)(fields).length) {
107115
fields.empty = {
108116
description: 'default field',
109117
type: graphql.GraphQLString
@@ -118,7 +126,7 @@ var jsonSchemaTypeToGraphQL = function jsonSchemaTypeToGraphQL(title, jsonSchema
118126
} else if (jsonSchema.type) {
119127
return getPrimitiveTypes(jsonSchema);
120128
}
121-
throw new Error("Don't know how to handle schema " + JSON.stringify(jsonSchema) + ' without type and schema');
129+
throw new Error("Don't know how to handle schema " + (0, _stringify2.default)(jsonSchema) + ' without type and schema');
122130
};
123131

124132
var getPrimitiveTypes = function getPrimitiveTypes(jsonSchema) {

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44
"author": "Roman Krivtsov",
55
"bin": "./bin/swagger2graphql",
66
"dependencies": {
7-
"babel-polyfill": "^6.23.0",
87
"graphql": "^0.10.1",
98
"isomorphic-fetch": "^2.2.1",
109
"js-yaml": "^3.8.4",
1110
"json-schema-ref-parser": "^3.1.2",
1211
"lodash": "^4.16.4",
13-
"node-request-by-swagger": "^1.0.5",
12+
"node-request-by-swagger": "github:marla-singer/node-request-by-swagger",
1413
"request": "^2.75.0",
1514
"request-promise": "^4.1.1",
1615
"yargs": "^8.0.2"
@@ -22,6 +21,7 @@
2221
"babel-plugin-add-module-exports": "^0.2.1",
2322
"babel-plugin-syntax-flow": "^6.18.0",
2423
"babel-plugin-transform-flow-strip-types": "^6.22.0",
24+
"babel-plugin-transform-runtime": "^6.23.0",
2525
"babel-preset-es2015": "^6.24.1",
2626
"babel-preset-stage-0": "^6.24.1",
2727
"eslint": "^3.19.0",

src/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
// @flow
2-
require('babel-polyfill');
32
import type {GraphQLParameters, Endpoint, GraphQLType, RootGraphQLSchema, SwaggerToGraphQLOptions} from './types';
43
import rp from 'request-promise';
54
import { GraphQLSchema, GraphQLObjectType } from 'graphql';

0 commit comments

Comments
 (0)