/
opt
/
canhelp
/
node_modules
/
kysely
/
dist
/
esm
/
parser
/
/opt/canhelp/node_modules/kysely/dist/esm/parser
mkdir
upload
Name
Size
Mode
Actions
binary-operation-parser.d.ts
2210
0644
edit
dl
rm
binary-operation-parser.js
3184
0644
edit
dl
rm
coalesce-parser.d.ts
2178
0644
edit
dl
rm
coalesce-parser.js
60
0644
edit
dl
rm
collate-parser.d.ts
71
0644
edit
dl
rm
collate-parser.js
59
0644
edit
dl
rm
data-type-parser.d.ts
373
0644
edit
dl
rm
data-type-parser.js
534
0644
edit
dl
rm
default-value-parser.d.ts
304
0644
edit
dl
rm
default-value-parser.js
372
0644
edit
dl
rm
delete-from-parser.d.ts
820
0644
edit
dl
rm
delete-from-parser.js
63
0644
edit
dl
rm
expression-parser.d.ts
1631
0644
edit
dl
rm
expression-parser.js
1058
0644
edit
dl
rm
fetch-parser.d.ts
180
0644
edit
dl
rm
fetch-parser.js
592
0644
edit
dl
rm
group-by-parser.d.ts
634
0644
edit
dl
rm
group-by-parser.js
523
0644
edit
dl
rm
identifier-parser.d.ts
177
0644
edit
dl
rm
identifier-parser.js
662
0644
edit
dl
rm
insert-values-parser.d.ts
1175
0644
edit
dl
rm
insert-values-parser.js
2585
0644
edit
dl
rm
join-parser.d.ts
907
0644
edit
dl
rm
join-parser.js
1146
0644
edit
dl
rm
merge-into-parser.d.ts
600
0644
edit
dl
rm
merge-into-parser.js
62
0644
edit
dl
rm
merge-parser.d.ts
570
0644
edit
dl
rm
merge-parser.js
1194
0644
edit
dl
rm
on-commit-action-parse.d.ts
163
0644
edit
dl
rm
on-commit-action-parse.js
313
0644
edit
dl
rm
on-modify-action-parser.d.ts
189
0644
edit
dl
rm
on-modify-action-parser.js
342
0644
edit
dl
rm
order-by-parser.d.ts
1702
0644
edit
dl
rm
order-by-parser.js
2798
0644
edit
dl
rm
parse-utils.d.ts
726
0644
edit
dl
rm
parse-utils.js
1388
0644
edit
dl
rm
partition-by-parser.d.ts
612
0644
edit
dl
rm
partition-by-parser.js
347
0644
edit
dl
rm
reference-parser.d.ts
3616
0644
edit
dl
rm
reference-parser.js
3817
0644
edit
dl
rm
returning-parser.d.ts
926
0644
edit
dl
rm
returning-parser.js
61
0644
edit
dl
rm
savepoint-parser.d.ts
535
0644
edit
dl
rm
savepoint-parser.js
424
0644
edit
dl
rm
select-from-parser.d.ts
725
0644
edit
dl
rm
select-from-parser.js
63
0644
edit
dl
rm
select-parser.d.ts
4230
0644
edit
dl
rm
select-parser.js
1738
0644
edit
dl
rm
set-operation-parser.d.ts
565
0644
edit
dl
rm
set-operation-parser.js
687
0644
edit
dl
rm
table-parser.d.ts
2692
0644
edit
dl
rm
table-parser.js
1641
0644
edit
dl
rm
top-parser.d.ts
172
0644
edit
dl
rm
top-parser.js
702
0644
edit
dl
rm
tuple-parser.d.ts
2094
0644
edit
dl
rm
tuple-parser.js
57
0644
edit
dl
rm
unary-operation-parser.d.ts
697
0644
edit
dl
rm
unary-operation-parser.js
625
0644
edit
dl
rm
update-parser.d.ts
904
0644
edit
dl
rm
update-parser.js
58
0644
edit
dl
rm
update-set-parser.d.ts
1484
0644
edit
dl
rm
update-set-parser.js
1060
0644
edit
dl
rm
value-parser.d.ts
1332
0644
edit
dl
rm
value-parser.js
1322
0644
edit
dl
rm
with-parser.d.ts
3002
0644
edit
dl
rm
with-parser.js
1437
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/kysely/dist/esm/parser/binary-operation-parser.js
(3184B)
/// <reference types="./binary-operation-parser.d.ts" /> 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; }
Save
cmd:
run