Files
dbgate/packages/datalib/src/nameTools.ts
2020-06-06 22:17:17 +02:00

26 lines
612 B
TypeScript

export function fullNameFromString(name) {
const m = name.match(/\[([^\]]+)\]\.\[([^\]]+)\]/);
if (m) {
return {
schemaName: m[1],
pureName: m[2],
};
}
return {
schemaName: null,
pureName: name,
};
}
export function fullNameToString({ schemaName, pureName }) {
if (schemaName) {
return `[${schemaName}].[${pureName}]`;
}
return pureName;
}
export function quoteFullName(dialect, { schemaName, pureName }) {
if (schemaName) return `${dialect.quoteIdentifier(schemaName)}.${dialect.quoteIdentifier(pureName)}`;
return `${dialect.quoteIdentifier(pureName)}`;
}