@forzalabs/remora
Version:
A powerful CLI tool for seamless data translation.
23 lines (22 loc) • 1.18 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Affirm_1 = __importDefault(require("../../core/Affirm"));
const Algo_1 = __importDefault(require("../../core/Algo"));
const SQLUtils = {
viewName: (name) => 'v_remora_' + SQLUtils.sanitizeName(name),
acceleratedViewName: (name) => 'av_remora_' + SQLUtils.sanitizeName(name),
findDimension: (compiledDimensions, dimensionQualifier) => {
const cleanedQualifier = Algo_1.default.replaceAll(dimensionQualifier.split('.')[1], '}', '');
const hit = compiledDimensions.find(x => x.consumerAlias === cleanedQualifier);
(0, Affirm_1.default)(hit, `Unable to find the column referenced by "${dimensionQualifier}" in the compiled list of columns (${compiledDimensions.map(x => `"${x.consumerAlias}"`).join(', ')})`);
return hit;
},
sanitizeName: (string) => {
(0, Affirm_1.default)(string, 'Invalid string to sanitize');
return string.replace(/[^a-z0-9]/gi, '_');
}
};
exports.default = SQLUtils;