zer
Version:
Generate Gremlin queries by chaining JavaScript function calls
39 lines (28 loc) • 982 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = renderInline;
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _chain = require('../chain');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function renderArgument(argument, syntax) {
if (argument instanceof _chain.Chain) {
return renderInline(argument, syntax);
}
if (_lodash2.default.isString(argument)) {
return syntax.STRING(argument);
}
// Either Number or Object
return syntax.DEFAULT(argument);
}
function renderMember(member, syntax) {
if (member instanceof _chain.Arguments) {
return syntax.ARGUMENTS(member.params.map(param => renderArgument(param, syntax)).join(syntax.ARGUMENT_SEPARATOR));
}
return syntax[member.type](member);
}
function renderInline({ members }, syntax) {
return members.map(member => renderMember(member, syntax)).join('');
}
;