/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/insert-values-parser.js (2585B)
/// import { ColumnNode } from '../operation-node/column-node.js'; import { PrimitiveValueListNode } from '../operation-node/primitive-value-list-node.js'; import { ValueListNode } from '../operation-node/value-list-node.js'; import { freeze, isFunction, isReadonlyArray, isUndefined, } from '../util/object-utils.js'; import { parseValueExpression } from './value-parser.js'; import { ValuesNode } from '../operation-node/values-node.js'; import { isExpressionOrFactory } from './expression-parser.js'; import { DefaultInsertValueNode } from '../operation-node/default-insert-value-node.js'; import { expressionBuilder, } from '../expression/expression-builder.js'; export function parseInsertExpression(arg) { const objectOrList = isFunction(arg) ? arg(expressionBuilder()) : arg; const list = isReadonlyArray(objectOrList) ? objectOrList : freeze([objectOrList]); return parseInsertColumnsAndValues(list); } function parseInsertColumnsAndValues(rows) { const columns = parseColumnNamesAndIndexes(rows); return [ freeze([...columns.keys()].map(ColumnNode.create)), ValuesNode.create(rows.map((row) => parseRowValues(row, columns))), ]; } function parseColumnNamesAndIndexes(rows) { const columns = new Map(); for (const row of rows) { const cols = Object.keys(row); for (const col of cols) { if (!columns.has(col) && row[col] !== undefined) { columns.set(col, columns.size); } } } return columns; } function parseRowValues(row, columns) { const rowColumns = Object.keys(row); const rowValues = Array.from({ length: columns.size, }); let hasUndefinedOrComplexColumns = false; let indexedRowColumns = rowColumns.length; for (const col of rowColumns) { const columnIdx = columns.get(col); if (isUndefined(columnIdx)) { indexedRowColumns--; continue; } const value = row[col]; if (isUndefined(value) || isExpressionOrFactory(value)) { hasUndefinedOrComplexColumns = true; } rowValues[columnIdx] = value; } const hasMissingColumns = indexedRowColumns < columns.size; if (hasMissingColumns || hasUndefinedOrComplexColumns) { const defaultValue = DefaultInsertValueNode.create(); return ValueListNode.create(rowValues.map((it) => isUndefined(it) ? defaultValue : parseValueExpression(it))); } return PrimitiveValueListNode.create(rowValues); }