Skip to content

Commit

Permalink
Add lib directory
Browse files Browse the repository at this point in the history
  • Loading branch information
c10h22 committed Jul 16, 2015
1 parent 128e415 commit 378f85f
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 0 deletions.
40 changes: 40 additions & 0 deletions lib/attributeFields.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
'use strict';

var _Object$keys = require('babel-runtime/core-js/object/keys')['default'];

var _interopRequireWildcard = require('babel-runtime/helpers/interop-require-wildcard')['default'];

Object.defineProperty(exports, '__esModule', {
value: true
});

var _typeMapper = require('./typeMapper');

var typeMapper = _interopRequireWildcard(_typeMapper);

var _graphql = require('graphql');

exports['default'] = function (config, opts) {
var options = opts || {};

return _Object$keys(config.schema).reduce(function (memo, key) {
if (options.exclude && ~options.exclude.indexOf(key)) {
return memo;
}

var attribute = key;
var type = config.schema[key];

memo[key] = {
type: typeMapper.toGraphQL(type)
};

if (attribute === config.hashKey) {
memo[key].type = new _graphql.GraphQLNonNull(memo[key].type);
}

return memo;
}, {});
};

module.exports = exports['default'];
16 changes: 16 additions & 0 deletions lib/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
'use strict';

var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];

Object.defineProperty(exports, '__esModule', {
value: true
});

var _attributeFieldsJs = require('./attributeFields.js');

var _attributeFieldsJs2 = _interopRequireDefault(_attributeFieldsJs);

exports['default'] = {
attributeFields: _attributeFieldsJs2['default']
};
module.exports = exports['default'];
24 changes: 24 additions & 0 deletions lib/typeMapper.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
'use strict';

Object.defineProperty(exports, '__esModule', {
value: true
});
exports.toGraphQL = toGraphQL;

var _graphql = require('graphql');

function toGraphQL(vogelsType) {
if (vogelsType._type === 'boolean') {
return _graphql.GraphQLBoolean;
} else if (vogelsType._type === 'number') {
return _graphql.GraphQLInt;
} else if (vogelsType._type === 'array') {
return _graphql.GraphQLList;
} else if (vogelsType._type === 'object') {
return _graphql.GraphQLObjectType;
} else if (vogelsType._type === 'string' || vogelsType._type === 'date' || vogelsType._type === 'uuid') {
return _graphql.GraphQLString;
} else {
return new Error('Not handled vogelType ' + vogelsType._type);
}
}

0 comments on commit 378f85f

Please sign in to comment.