Initial commit

This commit is contained in:
2025-12-07 14:32:46 +00:00
commit 0a0969b8af
4726 changed files with 536089 additions and 0 deletions

84
node_modules/knex/lib/formatter/rawFormatter.js generated vendored Executable file
View File

@@ -0,0 +1,84 @@
const { columnize } = require('./wrappingFormatter');
function replaceRawArrBindings(raw, client) {
const bindingsHolder = {
bindings: [],
};
const builder = raw;
const expectedBindings = raw.bindings.length;
const values = raw.bindings;
let index = 0;
const sql = raw.sql.replace(/\\?\?\??/g, function (match) {
if (match === '\\?') {
return match;
}
const value = values[index++];
if (match === '??') {
return columnize(value, builder, client, bindingsHolder);
}
return client.parameter(value, builder, bindingsHolder);
});
if (expectedBindings !== index) {
throw new Error(`Expected ${expectedBindings} bindings, saw ${index}`);
}
return {
method: 'raw',
sql,
bindings: bindingsHolder.bindings,
};
}
function replaceKeyBindings(raw, client) {
const bindingsHolder = {
bindings: [],
};
const builder = raw;
const values = raw.bindings;
const regex = /\\?(:(\w+):(?=::)|:(\w+):(?!:)|:(\w+))/g;
const sql = raw.sql.replace(regex, function (match, p1, p2, p3, p4) {
if (match !== p1) {
return p1;
}
const part = p2 || p3 || p4;
const key = match.trim();
const isIdentifier = key[key.length - 1] === ':';
const value = values[part];
if (value === undefined) {
if (Object.prototype.hasOwnProperty.call(values, part)) {
bindingsHolder.bindings.push(value);
}
return match;
}
if (isIdentifier) {
return match.replace(
p1,
columnize(value, builder, client, bindingsHolder)
);
}
return match.replace(p1, client.parameter(value, builder, bindingsHolder));
});
return {
method: 'raw',
sql,
bindings: bindingsHolder.bindings,
};
}
module.exports = {
replaceKeyBindings,
replaceRawArrBindings,
};