ddl-manager
Version:
store postgres procedures and triggers in files
31 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArrayElement = void 0;
const AbstractExpressionElement_1 = require("./AbstractExpressionElement");
const lodash_1 = require("lodash");
class ArrayElement extends AbstractExpressionElement_1.AbstractExpressionElement {
constructor(arrayContent) {
super();
this.arrayContent = arrayContent;
}
children() {
return lodash_1.flatMap(this.arrayContent, (expression) => expression.children());
}
replaceTable(replaceTable, toTable) {
return this.clone(this.arrayContent.map(expression => expression.replaceTable(replaceTable, toTable)));
}
replaceColumn(replaceColumn, toSql) {
return this.clone(this.arrayContent.map(expression => expression.replaceColumn(replaceColumn, toSql)));
}
replaceFuncCall(replaceFunc, toSql) {
return this.clone(this.arrayContent.map(expression => expression.replaceFuncCall(replaceFunc, toSql)));
}
clone(arrayContent = this.arrayContent.map(expression => expression.clone())) {
return new ArrayElement(arrayContent);
}
template() {
return [`ARRAY[${this.arrayContent.join(", ")}]`];
}
}
exports.ArrayElement = ArrayElement;
//# sourceMappingURL=ArrayElement.js.map