kysely
Version:
Type safe SQL query builder
32 lines (31 loc) • 1.55 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.isExpressionOrFactory = exports.parseAliasedExpression = exports.parseExpression = void 0;
const expression_js_1 = require("../expression/expression.js");
const operation_node_source_js_1 = require("../operation-node/operation-node-source.js");
const expression_builder_js_1 = require("../expression/expression-builder.js");
const object_utils_js_1 = require("../util/object-utils.js");
function parseExpression(exp) {
if ((0, operation_node_source_js_1.isOperationNodeSource)(exp)) {
return exp.toOperationNode();
}
else if ((0, object_utils_js_1.isFunction)(exp)) {
return exp((0, expression_builder_js_1.expressionBuilder)()).toOperationNode();
}
throw new Error(`invalid expression: ${JSON.stringify(exp)}`);
}
exports.parseExpression = parseExpression;
function parseAliasedExpression(exp) {
if ((0, operation_node_source_js_1.isOperationNodeSource)(exp)) {
return exp.toOperationNode();
}
else if ((0, object_utils_js_1.isFunction)(exp)) {
return exp((0, expression_builder_js_1.expressionBuilder)()).toOperationNode();
}
throw new Error(`invalid aliased expression: ${JSON.stringify(exp)}`);
}
exports.parseAliasedExpression = parseAliasedExpression;
function isExpressionOrFactory(obj) {
return (0, expression_js_1.isExpression)(obj) || (0, expression_js_1.isAliasedExpression)(obj) || (0, object_utils_js_1.isFunction)(obj);
}
exports.isExpressionOrFactory = isExpressionOrFactory;
;