UNPKG

@forzalabs/remora

Version:

A powerful CLI tool for seamless data translation.

23 lines (22 loc) 1.18 kB
"use strict"; 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;