Initial commit - Event Planner application

This commit is contained in:
mberlin
2026-03-18 14:55:56 -03:00
commit 86d779eb4d
7548 changed files with 1006324 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
/// <reference types="./update-set-parser.d.ts" />
import { ColumnNode } from '../operation-node/column-node.js';
import { ColumnUpdateNode } from '../operation-node/column-update-node.js';
import { expressionBuilder, } from '../expression/expression-builder.js';
import { isFunction } from '../util/object-utils.js';
import { parseValueExpression } from './value-parser.js';
import { parseReferenceExpression, } from './reference-parser.js';
export function parseUpdate(...args) {
if (args.length === 2) {
return [
ColumnUpdateNode.create(parseReferenceExpression(args[0]), parseValueExpression(args[1])),
];
}
return parseUpdateObjectExpression(args[0]);
}
export function parseUpdateObjectExpression(update) {
const updateObj = isFunction(update) ? update(expressionBuilder()) : update;
return Object.entries(updateObj)
.filter(([_, value]) => value !== undefined)
.map(([key, value]) => {
return ColumnUpdateNode.create(ColumnNode.create(key), parseValueExpression(value));
});
}