You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@lightdash/common

Package Overview
Dependencies
Maintainers
3
Versions
5277
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lightdash/common - npm Package Compare versions

Comparing version
0.119.0
to
0.119.1
+1
-1
dist/compiler/translator.d.ts

@@ -14,3 +14,3 @@ import { DbtMetric, DbtModelNode, SupportedDbtAdapter } from '../types/dbt';

};
}, throwOnMissingCatalogEntry?: boolean) => DbtModelNode[];
}, throwOnMissingCatalogEntry?: boolean, caseSensitiveMatching?: boolean) => DbtModelNode[];
export declare const getSchemaStructureFromDbtModels: (dbtModels: DbtModelNode[]) => {

@@ -17,0 +17,0 @@ database: string;

@@ -237,9 +237,18 @@ "use strict";

exports.convertExplores = convertExplores;
const attachTypesToModels = (models, warehouseCatalog, throwOnMissingCatalogEntry = true) => {
const attachTypesToModels = (models, warehouseCatalog, throwOnMissingCatalogEntry = true, caseSensitiveMatching = true) => {
// Check that all models appear in the warehouse
models.forEach(({ database, schema, name }) => {
if ((!(database in warehouseCatalog) ||
!(schema in warehouseCatalog[database]) ||
!(name in warehouseCatalog[database][schema])) &&
throwOnMissingCatalogEntry) {
const databaseMatch = Object.keys(warehouseCatalog).find((db) => caseSensitiveMatching
? db === database
: db.toLowerCase() === database.toLowerCase());
const schemaMatch = databaseMatch &&
Object.keys(warehouseCatalog[databaseMatch]).find((s) => caseSensitiveMatching
? s === schema
: s.toLowerCase() === schema.toLowerCase());
const tableMatch = databaseMatch &&
schemaMatch &&
Object.keys(warehouseCatalog[databaseMatch][schemaMatch]).find((t) => caseSensitiveMatching
? t === name
: t.toLowerCase() === name.toLowerCase());
if (!tableMatch && throwOnMissingCatalogEntry) {
throw new errors_1.MissingCatalogEntryError(`Model "${name}" was expected in your target warehouse at "${database}.${schema}.${name}". Does the table exist in your target data warehouse?`, {});

@@ -249,7 +258,22 @@ }

const getType = ({ database, schema, name }, columnName) => {
if (database in warehouseCatalog &&
schema in warehouseCatalog[database] &&
name in warehouseCatalog[database][schema] &&
columnName in warehouseCatalog[database][schema][name]) {
return warehouseCatalog[database][schema][name][columnName];
const databaseMatch = Object.keys(warehouseCatalog).find((db) => caseSensitiveMatching
? db === database
: db.toLowerCase() === database.toLowerCase());
const schemaMatch = databaseMatch &&
Object.keys(warehouseCatalog[databaseMatch]).find((s) => caseSensitiveMatching
? s === schema
: s.toLowerCase() === schema.toLowerCase());
const tableMatch = databaseMatch &&
schemaMatch &&
Object.keys(warehouseCatalog[databaseMatch][schemaMatch]).find((t) => caseSensitiveMatching
? t === name
: t.toLowerCase() === name.toLowerCase());
const columnMatch = databaseMatch &&
schemaMatch &&
tableMatch &&
Object.keys(warehouseCatalog[databaseMatch][schemaMatch][tableMatch]).find((c) => caseSensitiveMatching
? c === columnName
: c.toLowerCase() === columnName.toLowerCase());
if (databaseMatch && schemaMatch && tableMatch && columnMatch) {
return warehouseCatalog[databaseMatch][schemaMatch][tableMatch][columnMatch];
}

@@ -256,0 +280,0 @@ if (throwOnMissingCatalogEntry) {

{
"name": "@lightdash/common",
"version": "0.119.0",
"version": "0.119.1",
"main": "dist/index.js",

@@ -5,0 +5,0 @@ "types": "dist/index.d.ts",