/opt/canhelp/node_modules/kysely/dist/esm/parser
NameSizeModeActions
binary-operation-parser.d.ts22100644editdlrm
binary-operation-parser.js31840644editdlrm
coalesce-parser.d.ts21780644editdlrm
coalesce-parser.js600644editdlrm
collate-parser.d.ts710644editdlrm
collate-parser.js590644editdlrm
data-type-parser.d.ts3730644editdlrm
data-type-parser.js5340644editdlrm
default-value-parser.d.ts3040644editdlrm
default-value-parser.js3720644editdlrm
delete-from-parser.d.ts8200644editdlrm
delete-from-parser.js630644editdlrm
expression-parser.d.ts16310644editdlrm
expression-parser.js10580644editdlrm
fetch-parser.d.ts1800644editdlrm
fetch-parser.js5920644editdlrm
group-by-parser.d.ts6340644editdlrm
group-by-parser.js5230644editdlrm
identifier-parser.d.ts1770644editdlrm
identifier-parser.js6620644editdlrm
insert-values-parser.d.ts11750644editdlrm
insert-values-parser.js25850644editdlrm
join-parser.d.ts9070644editdlrm
join-parser.js11460644editdlrm
merge-into-parser.d.ts6000644editdlrm
merge-into-parser.js620644editdlrm
merge-parser.d.ts5700644editdlrm
merge-parser.js11940644editdlrm
on-commit-action-parse.d.ts1630644editdlrm
on-commit-action-parse.js3130644editdlrm
on-modify-action-parser.d.ts1890644editdlrm
on-modify-action-parser.js3420644editdlrm
order-by-parser.d.ts17020644editdlrm
order-by-parser.js27980644editdlrm
parse-utils.d.ts7260644editdlrm
parse-utils.js13880644editdlrm
partition-by-parser.d.ts6120644editdlrm
partition-by-parser.js3470644editdlrm
reference-parser.d.ts36160644editdlrm
reference-parser.js38170644editdlrm
returning-parser.d.ts9260644editdlrm
returning-parser.js610644editdlrm
savepoint-parser.d.ts5350644editdlrm
savepoint-parser.js4240644editdlrm
select-from-parser.d.ts7250644editdlrm
select-from-parser.js630644editdlrm
select-parser.d.ts42300644editdlrm
select-parser.js17380644editdlrm
set-operation-parser.d.ts5650644editdlrm
set-operation-parser.js6870644editdlrm
table-parser.d.ts26920644editdlrm
table-parser.js16410644editdlrm
top-parser.d.ts1720644editdlrm
top-parser.js7020644editdlrm
tuple-parser.d.ts20940644editdlrm
tuple-parser.js570644editdlrm
unary-operation-parser.d.ts6970644editdlrm
unary-operation-parser.js6250644editdlrm
update-parser.d.ts9040644editdlrm
update-parser.js580644editdlrm
update-set-parser.d.ts14840644editdlrm
update-set-parser.js10600644editdlrm
value-parser.d.ts13320644editdlrm
value-parser.js13220644editdlrm
with-parser.d.ts30020644editdlrm
with-parser.js14370644editdlrm
Edit: /opt/canhelp/node_modules/kysely/dist/esm/parser/binary-operation-parser.js (3184B)
/// import { BinaryOperationNode } from '../operation-node/binary-operation-node.js'; import { isBoolean, isNull, isString, isUndefined, } from '../util/object-utils.js'; import { isOperationNodeSource, } from '../operation-node/operation-node-source.js'; import { OperatorNode, OPERATORS, } from '../operation-node/operator-node.js'; import { parseReferenceExpression, } from './reference-parser.js'; import { parseValueExpression, parseValueExpressionOrList, } from './value-parser.js'; import { ValueNode } from '../operation-node/value-node.js'; import { AndNode } from '../operation-node/and-node.js'; import { ParensNode } from '../operation-node/parens-node.js'; import { OrNode } from '../operation-node/or-node.js'; export function parseValueBinaryOperationOrExpression(args) { if (args.length === 3) { return parseValueBinaryOperation(args[0], args[1], args[2]); } else if (args.length === 1) { return parseValueExpression(args[0]); } throw new Error(`invalid arguments: ${JSON.stringify(args)}`); } export function parseValueBinaryOperation(left, operator, right) { if (isIsOperator(operator) && needsIsOperator(right)) { return BinaryOperationNode.create(parseReferenceExpression(left), parseOperator(operator), ValueNode.createImmediate(right)); } return BinaryOperationNode.create(parseReferenceExpression(left), parseOperator(operator), parseValueExpressionOrList(right)); } export function parseReferentialBinaryOperation(left, operator, right) { return BinaryOperationNode.create(parseReferenceExpression(left), parseOperator(operator), parseReferenceExpression(right)); } export function parseFilterObject(obj, combinator) { return parseFilterList(Object.entries(obj) .filter(([, v]) => !isUndefined(v)) .map(([k, v]) => parseValueBinaryOperation(k, needsIsOperator(v) ? 'is' : '=', v)), combinator); } export function parseFilterList(list, combinator, withParens = true) { const combine = combinator === 'and' ? AndNode.create : OrNode.create; if (list.length === 0) { return BinaryOperationNode.create(ValueNode.createImmediate(1), OperatorNode.create('='), ValueNode.createImmediate(combinator === 'and' ? 1 : 0)); } let node = toOperationNode(list[0]); for (let i = 1; i < list.length; ++i) { node = combine(node, toOperationNode(list[i])); } if (list.length > 1 && withParens) { return ParensNode.create(node); } return node; } function isIsOperator(operator) { return operator === 'is' || operator === 'is not'; } function needsIsOperator(value) { return isNull(value) || isBoolean(value); } function parseOperator(operator) { if (isString(operator) && OPERATORS.includes(operator)) { return OperatorNode.create(operator); } if (isOperationNodeSource(operator)) { return operator.toOperationNode(); } throw new Error(`invalid operator ${JSON.stringify(operator)}`); } function toOperationNode(nodeOrSource) { return isOperationNodeSource(nodeOrSource) ? nodeOrSource.toOperationNode() : nodeOrSource; }