@n8n/n8n-nodes-langchain
Version:
36 lines • 1.39 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.escapeSqlIdentifier = escapeSqlIdentifier;
exports.escapeQualifiedSqlIdentifier = escapeQualifiedSqlIdentifier;
exports.isSafeSqlIdentifier = isSafeSqlIdentifier;
exports.isSafeQualifiedSqlIdentifier = isSafeQualifiedSqlIdentifier;
exports.findUnsafeMetadataFilterKey = findUnsafeMetadataFilterKey;
const pg_1 = __importDefault(require("pg"));
const SAFE_SQL_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_$]*$/;
function escapeSqlIdentifier(name) {
return pg_1.default.escapeIdentifier(name);
}
function escapeQualifiedSqlIdentifier(name) {
return name
.split('.')
.map((part) => escapeSqlIdentifier(part.toLowerCase()))
.join('.');
}
function isSafeSqlIdentifier(name) {
return SAFE_SQL_IDENTIFIER.test(name);
}
function isSafeQualifiedSqlIdentifier(name) {
if (typeof name !== 'string')
return false;
const parts = name.split('.');
return parts.length <= 2 && parts.every(isSafeSqlIdentifier);
}
function findUnsafeMetadataFilterKey(filter) {
if (!filter)
return undefined;
return Object.keys(filter).find((key) => key.includes("'") || key.includes('\\'));
}
//# sourceMappingURL=sqlIdentifier.js.map