simpl-to-graphql-schema
Version:
simpl schema to graphql schema converter
50 lines (44 loc) • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var getFieldsKey = exports.getFieldsKey = function getFieldsKey(_ref, noObjects) {
var schema = _ref.schema,
fields = _ref.fields,
_ref$except = _ref.except,
except = _ref$except === undefined ? [] : _ref$except;
var SchemaValue = schema._schema;
if (fields && !fields.length) {
fields = null;
}
if (except && !except.length) {
except = null;
}
// Get firstLevelKeys
var keys = schema._firstLevelSchemaKeys.filter(function (k) {
if (noObjects && SchemaValue[k].type === Object) {
return false;
}
if (fields) {
return fields.indexOf(k) > -1;
}
if (except) {
return except.indexOf(k) === -1;
}
return true;
});
// Get the Objects' keys
var objectKeys = Object.keys(schema._objectKeys).map(function (k) {
var ind = k.lastIndexOf('.$');
return k.substring(0, ind > -1 ? ind : k.lastIndexOf('.'));
}).filter(function (k) {
if (fields) {
return fields.indexOf(k) > -1;
}
if (except) {
return except.indexOf(k) === -1;
}
return true;
});
return { keys: keys, objectKeys: objectKeys };
};