@event-driven-io/dumbo 0.13.0-beta.17 → 0.13.0-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-5IB6GQ4B.cjs +83 -0
- package/dist/chunk-5IB6GQ4B.cjs.map +1 -0
- package/dist/{chunk-GO4XRJ54.js → chunk-6HOV3XIU.js} +125 -67
- package/dist/chunk-6HOV3XIU.js.map +1 -0
- package/dist/{chunk-TPI4PBBT.js → chunk-ATOLS3SJ.js} +87 -148
- package/dist/chunk-ATOLS3SJ.js.map +1 -0
- package/dist/chunk-BZZWWOTL.js +83 -0
- package/dist/chunk-BZZWWOTL.js.map +1 -0
- package/dist/{chunk-PVDHYDCI.js → chunk-GT4KHEEM.js} +7 -17
- package/dist/chunk-GT4KHEEM.js.map +1 -0
- package/dist/{chunk-B62CTLCE.cjs → chunk-KTLU63FC.cjs} +66 -76
- package/dist/chunk-KTLU63FC.cjs.map +1 -0
- package/dist/chunk-NOU3ET7H.js +34 -0
- package/dist/chunk-NOU3ET7H.js.map +1 -0
- package/dist/chunk-ROBOLHYE.cjs +34 -0
- package/dist/chunk-ROBOLHYE.cjs.map +1 -0
- package/dist/{chunk-3ZFHPC7X.cjs → chunk-SL7VLQU2.cjs} +162 -104
- package/dist/chunk-SL7VLQU2.cjs.map +1 -0
- package/dist/{chunk-FC7D5FAO.cjs → chunk-W5PTAHLA.cjs} +106 -167
- package/dist/chunk-W5PTAHLA.cjs.map +1 -0
- package/dist/cloudflare.cjs +99 -96
- package/dist/cloudflare.cjs.map +1 -1
- package/dist/cloudflare.d.cts +7 -7
- package/dist/cloudflare.d.ts +7 -7
- package/dist/cloudflare.js +59 -56
- package/dist/cloudflare.js.map +1 -1
- package/dist/{columnProcessors-Cys5osLJ.d.cts → columnProcessors-BfHxKD4I.d.cts} +1 -1
- package/dist/{columnProcessors-Tpa7ygiq.d.ts → columnProcessors-DX_o9H5O.d.ts} +1 -1
- package/dist/{connectionString-BPmAxtYW.d.ts → connectionString-BSe28YMb.d.cts} +231 -189
- package/dist/{connectionString-BPmAxtYW.d.cts → connectionString-BSe28YMb.d.ts} +231 -189
- package/dist/index.cjs +18 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +16 -16
- package/dist/index.d.ts +16 -16
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/pg.cjs +42 -43
- package/dist/pg.cjs.map +1 -1
- package/dist/pg.d.cts +6 -12
- package/dist/pg.d.ts +6 -12
- package/dist/pg.js +25 -26
- package/dist/pg.js.map +1 -1
- package/dist/postgresql.cjs +5 -3
- package/dist/postgresql.cjs.map +1 -1
- package/dist/postgresql.d.cts +7 -6
- package/dist/postgresql.d.ts +7 -6
- package/dist/postgresql.js +13 -11
- package/dist/sqlite.cjs +5 -3
- package/dist/sqlite.cjs.map +1 -1
- package/dist/sqlite.d.cts +6 -5
- package/dist/sqlite.d.ts +6 -5
- package/dist/sqlite.js +9 -7
- package/dist/sqlite3.cjs +26 -30
- package/dist/sqlite3.cjs.map +1 -1
- package/dist/sqlite3.d.cts +7 -7
- package/dist/sqlite3.d.ts +7 -7
- package/dist/sqlite3.js +17 -21
- package/dist/sqlite3.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-3ZFHPC7X.cjs.map +0 -1
- package/dist/chunk-B62CTLCE.cjs.map +0 -1
- package/dist/chunk-FC7D5FAO.cjs.map +0 -1
- package/dist/chunk-GO4XRJ54.js.map +0 -1
- package/dist/chunk-PVDHYDCI.js.map +0 -1
- package/dist/chunk-TPI4PBBT.js.map +0 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkSL7VLQU2cjs = require('./chunk-SL7VLQU2.cjs');
|
|
5
|
+
|
|
6
|
+
// src/storage/postgresql/core/connections/connectionString.ts
|
|
7
|
+
var defaultPostgreSQLConnectionString = "postgresql://postgres@localhost:5432/postgres";
|
|
8
|
+
var PostgreSQLConnectionString = (connectionString) => {
|
|
9
|
+
if (!connectionString.startsWith("postgresql://") && !connectionString.startsWith("postgres://")) {
|
|
10
|
+
throw new Error(
|
|
11
|
+
`Invalid PostgreSQL connection string: ${connectionString}. It should start with "postgresql://".`
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
return connectionString;
|
|
15
|
+
};
|
|
16
|
+
function parseDatabaseName(str) {
|
|
17
|
+
if (str.charAt(0) === "/") {
|
|
18
|
+
const parts = str.split(" ");
|
|
19
|
+
return parts[1] || null;
|
|
20
|
+
}
|
|
21
|
+
if (/ |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(str)) {
|
|
22
|
+
str = encodeURI(str).replace(/%25(\d\d)/g, "%$1");
|
|
23
|
+
}
|
|
24
|
+
let result;
|
|
25
|
+
try {
|
|
26
|
+
result = new URL(str, "postgres://base");
|
|
27
|
+
} catch (e) {
|
|
28
|
+
try {
|
|
29
|
+
result = new URL(str.replace("@/", "@___DUMMY___/"), "postgres://base");
|
|
30
|
+
} catch (e2) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (result.protocol === "socket:") {
|
|
35
|
+
return result.searchParams.get("db");
|
|
36
|
+
}
|
|
37
|
+
const pathname = result.pathname.slice(1) || null;
|
|
38
|
+
return pathname ? decodeURI(pathname) : null;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// src/storage/postgresql/core/schema/schema.ts
|
|
42
|
+
var defaultPostgreSqlDatabase = "postgres";
|
|
43
|
+
var tableExistsSQL = (tableName) => _chunkSL7VLQU2cjs.SQL`
|
|
44
|
+
SELECT EXISTS (
|
|
45
|
+
SELECT FROM pg_tables
|
|
46
|
+
WHERE tablename = ${tableName}
|
|
47
|
+
) AS exists;`;
|
|
48
|
+
var tableExists = async (execute, tableName) => _chunkSL7VLQU2cjs.exists.call(void 0, execute.query(tableExistsSQL(tableName)));
|
|
49
|
+
var functionExistsSQL = (functionName) => _chunkSL7VLQU2cjs.SQL`
|
|
50
|
+
SELECT EXISTS (
|
|
51
|
+
SELECT FROM pg_proc
|
|
52
|
+
WHERE
|
|
53
|
+
proname = ${functionName}
|
|
54
|
+
) AS exists;`;
|
|
55
|
+
var functionExists = async (execute, functionName) => _chunkSL7VLQU2cjs.exists.call(void 0, execute.query(functionExistsSQL(functionName)));
|
|
56
|
+
|
|
57
|
+
// src/storage/postgresql/core/schema/postgreSQLMetadata.ts
|
|
58
|
+
var postgreSQLMetadata = {
|
|
59
|
+
databaseType: "PostgreSQL",
|
|
60
|
+
defaultDatabaseName: defaultPostgreSqlDatabase,
|
|
61
|
+
capabilities: {
|
|
62
|
+
supportsSchemas: true,
|
|
63
|
+
supportsFunctions: true,
|
|
64
|
+
supportsMultipleDatabases: true
|
|
65
|
+
},
|
|
66
|
+
tableExists,
|
|
67
|
+
functionExists,
|
|
68
|
+
parseDatabaseName: (connectionString) => _nullishCoalesce((connectionString ? parseDatabaseName(connectionString) : null), () => ( defaultPostgreSqlDatabase))
|
|
69
|
+
};
|
|
70
|
+
dumboDatabaseMetadataRegistry.register("PostgreSQL", postgreSQLMetadata);
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
exports.defaultPostgreSQLConnectionString = defaultPostgreSQLConnectionString; exports.PostgreSQLConnectionString = PostgreSQLConnectionString; exports.parseDatabaseName = parseDatabaseName; exports.defaultPostgreSqlDatabase = defaultPostgreSqlDatabase; exports.tableExistsSQL = tableExistsSQL; exports.tableExists = tableExists; exports.functionExistsSQL = functionExistsSQL; exports.functionExists = functionExists; exports.postgreSQLMetadata = postgreSQLMetadata;
|
|
83
|
+
//# sourceMappingURL=chunk-5IB6GQ4B.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/Pongo/Pongo/src/packages/dumbo/dist/chunk-5IB6GQ4B.cjs","../src/storage/postgresql/core/connections/connectionString.ts","../src/storage/postgresql/core/schema/schema.ts","../src/storage/postgresql/core/schema/postgreSQLMetadata.ts"],"names":[],"mappings":"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","file":"/home/runner/work/Pongo/Pongo/src/packages/dumbo/dist/chunk-5IB6GQ4B.cjs","sourcesContent":[null,"import type { DatabaseConnectionString } from '../../../all';\n\nexport const defaultPostgreSQLConnectionString: PostgreSQLConnectionString =\n 'postgresql://postgres@localhost:5432/postgres' as PostgreSQLConnectionString;\n\nexport type PostgreSQLConnectionString = DatabaseConnectionString<\n 'PostgreSQL',\n `postgresql://${string}` | `postgres://${string}`\n>;\n\nexport const PostgreSQLConnectionString = (\n connectionString: string,\n): PostgreSQLConnectionString => {\n if (\n !connectionString.startsWith('postgresql://') &&\n !connectionString.startsWith('postgres://')\n ) {\n throw new Error(\n `Invalid PostgreSQL connection string: ${connectionString}. It should start with \"postgresql://\".`,\n );\n }\n return connectionString as PostgreSQLConnectionString;\n};\n\n// Stripped from https://github.com/brianc/node-postgres\n// Copyright (c) 2010-2014 Brian Carlson (brian.m.carlson@gmail.com)\n// MIT License\n/**\n * Parse database name from a PostgreSQL connection string\n */\nexport function parseDatabaseName(str: string): string | null {\n // Unix socket format: /path/to/socket database_name\n if (str.charAt(0) === '/') {\n const parts = str.split(' ');\n return parts[1] || null;\n }\n\n // Encode spaces if present\n if (/ |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(str)) {\n str = encodeURI(str).replace(/%25(\\d\\d)/g, '%$1');\n }\n\n let result: URL;\n try {\n result = new URL(str, 'postgres://base');\n } catch {\n // Try with dummy host for malformed URLs\n try {\n result = new URL(str.replace('@/', '@___DUMMY___/'), 'postgres://base');\n } catch {\n return null;\n }\n }\n\n // Socket protocol: socket://path?db=dbname\n if (result.protocol === 'socket:') {\n return result.searchParams.get('db');\n }\n\n // Standard URL: postgres://user:pass@host:port/database\n const pathname = result.pathname.slice(1) || null;\n return pathname ? decodeURI(pathname) : null;\n}\n","import { exists, SQL, type SQLExecutor } from '../../../../core';\nexport * from './schema';\n\nexport const defaultPostgreSqlDatabase = 'postgres';\n\nexport const tableExistsSQL = (tableName: string): SQL =>\n SQL`\n SELECT EXISTS (\n SELECT FROM pg_tables\n WHERE tablename = ${tableName}\n ) AS exists;`;\n\nexport const tableExists = async (\n execute: SQLExecutor,\n tableName: string,\n): Promise<boolean> => exists(execute.query(tableExistsSQL(tableName)));\n\nexport const functionExistsSQL = (functionName: string): SQL =>\n SQL`\n SELECT EXISTS (\n SELECT FROM pg_proc\n WHERE\n proname = ${functionName}\n ) AS exists;`;\n\nexport const functionExists = async (\n execute: SQLExecutor,\n functionName: string,\n): Promise<boolean> => exists(execute.query(functionExistsSQL(functionName)));\n","import type { DatabaseMetadata } from '../../../../core';\nimport { parseDatabaseName } from '../connections';\nimport {\n defaultPostgreSqlDatabase,\n functionExists,\n tableExists,\n} from './schema';\n\nexport const postgreSQLMetadata: DatabaseMetadata<true, true, true> = {\n databaseType: 'PostgreSQL',\n defaultDatabaseName: defaultPostgreSqlDatabase,\n capabilities: {\n supportsSchemas: true,\n supportsFunctions: true,\n supportsMultipleDatabases: true,\n },\n tableExists,\n functionExists,\n parseDatabaseName: (connectionString?: string) =>\n (connectionString ? parseDatabaseName(connectionString) : null) ??\n defaultPostgreSqlDatabase,\n};\n\ndumboDatabaseMetadataRegistry.register('PostgreSQL', postgreSQLMetadata);\n"]}
|
|
@@ -232,6 +232,122 @@ var schemaComponentURN = {
|
|
|
232
232
|
}
|
|
233
233
|
};
|
|
234
234
|
|
|
235
|
+
// src/core/drivers/databaseDriver.ts
|
|
236
|
+
var canHandleDriverWithConnectionString = (driver, tryParseConnectionString) => (options) => {
|
|
237
|
+
if ("driverType" in options) return options.driverType === driver;
|
|
238
|
+
if ("connectionString" in options && typeof options.connectionString === "string")
|
|
239
|
+
return tryParseConnectionString(options.connectionString) !== null;
|
|
240
|
+
return false;
|
|
241
|
+
};
|
|
242
|
+
var DumboDatabaseDriverRegistry = () => {
|
|
243
|
+
const drivers = /* @__PURE__ */ new Map();
|
|
244
|
+
const register = (driverType, plugin) => {
|
|
245
|
+
const entry = drivers.get(driverType);
|
|
246
|
+
if (entry && (typeof entry !== "function" || typeof plugin === "function")) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
drivers.set(driverType, plugin);
|
|
250
|
+
};
|
|
251
|
+
const getDriver = (options) => options.driverType ? drivers.get(options.driverType) : [...drivers.values()].find(
|
|
252
|
+
(d) => typeof d !== "function" && d.canHandle(options)
|
|
253
|
+
);
|
|
254
|
+
const tryResolve = async (options) => {
|
|
255
|
+
const driver = getDriver(options);
|
|
256
|
+
if (!driver) return null;
|
|
257
|
+
if (typeof driver !== "function") return driver;
|
|
258
|
+
const plugin = await driver();
|
|
259
|
+
register(plugin.driverType, plugin);
|
|
260
|
+
return plugin;
|
|
261
|
+
};
|
|
262
|
+
const tryGet = (options) => {
|
|
263
|
+
const driver = getDriver(options);
|
|
264
|
+
return driver && typeof driver !== "function" ? driver : null;
|
|
265
|
+
};
|
|
266
|
+
const has = (driverType) => drivers.has(driverType);
|
|
267
|
+
return {
|
|
268
|
+
register,
|
|
269
|
+
tryResolve,
|
|
270
|
+
tryGet,
|
|
271
|
+
has,
|
|
272
|
+
get databaseDriverTypes() {
|
|
273
|
+
return Array.from(drivers.keys());
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
};
|
|
277
|
+
var dumboDatabaseDriverRegistry = globalThis.dumboDatabaseDriverRegistry = globalThis.dumboDatabaseDriverRegistry ?? DumboDatabaseDriverRegistry();
|
|
278
|
+
|
|
279
|
+
// src/core/drivers/index.ts
|
|
280
|
+
function toDatabaseDriverType(databaseType, driverName) {
|
|
281
|
+
return `${databaseType}:${driverName}`;
|
|
282
|
+
}
|
|
283
|
+
function fromDatabaseDriverType(databaseDriverType) {
|
|
284
|
+
const parts = databaseDriverType.split(":");
|
|
285
|
+
return {
|
|
286
|
+
databaseType: parts[0],
|
|
287
|
+
driverName: parts[1]
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
function getDatabaseDriverName(databaseDriverType) {
|
|
291
|
+
const { driverName } = fromDatabaseDriverType(databaseDriverType);
|
|
292
|
+
return driverName;
|
|
293
|
+
}
|
|
294
|
+
function getDatabaseType(databaseDriverType) {
|
|
295
|
+
const { databaseType } = fromDatabaseDriverType(databaseDriverType);
|
|
296
|
+
return databaseType;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// src/core/schema/databaseMetadata/databaseMetadata.ts
|
|
300
|
+
var DumboDatabaseMetadataRegistry = () => {
|
|
301
|
+
const infos = /* @__PURE__ */ new Map();
|
|
302
|
+
const register = (databaseType, info) => {
|
|
303
|
+
const entry = infos.get(databaseType);
|
|
304
|
+
if (entry && (typeof entry !== "function" || typeof info === "function")) {
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
infos.set(databaseType, info);
|
|
308
|
+
};
|
|
309
|
+
const tryResolve = async (databaseType) => {
|
|
310
|
+
const entry = infos.get(databaseType);
|
|
311
|
+
if (!entry) return null;
|
|
312
|
+
if (typeof entry !== "function") return entry;
|
|
313
|
+
const resolved = await entry();
|
|
314
|
+
register(databaseType, resolved);
|
|
315
|
+
return resolved;
|
|
316
|
+
};
|
|
317
|
+
const tryGet = (databaseType) => {
|
|
318
|
+
const entry = infos.get(databaseType);
|
|
319
|
+
return entry && typeof entry !== "function" ? entry : null;
|
|
320
|
+
};
|
|
321
|
+
const has = (databaseType) => infos.has(databaseType);
|
|
322
|
+
return {
|
|
323
|
+
register,
|
|
324
|
+
tryResolve,
|
|
325
|
+
tryGet,
|
|
326
|
+
has,
|
|
327
|
+
get databaseTypes() {
|
|
328
|
+
return Array.from(infos.keys());
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
};
|
|
332
|
+
var dumboDatabaseMetadataRegistry = globalThis.dumboDatabaseMetadataRegistry = globalThis.dumboDatabaseMetadataRegistry ?? DumboDatabaseMetadataRegistry();
|
|
333
|
+
var getDatabaseMetadata = (driverType) => {
|
|
334
|
+
const { databaseType } = fromDatabaseDriverType(driverType);
|
|
335
|
+
return dumboDatabaseMetadataRegistry.tryGet(databaseType);
|
|
336
|
+
};
|
|
337
|
+
var resolveDatabaseMetadata = async (driverType, driverOverride) => {
|
|
338
|
+
if (driverOverride) return driverOverride;
|
|
339
|
+
const { databaseType } = fromDatabaseDriverType(driverType);
|
|
340
|
+
return dumboDatabaseMetadataRegistry.tryResolve(databaseType);
|
|
341
|
+
};
|
|
342
|
+
var getDefaultDatabase = (driverType) => {
|
|
343
|
+
const metadata = getDatabaseMetadata(driverType);
|
|
344
|
+
return metadata?.defaultDatabaseName;
|
|
345
|
+
};
|
|
346
|
+
var getDefaultDatabaseAsync = async (driverType) => {
|
|
347
|
+
const metadata = await resolveDatabaseMetadata(driverType);
|
|
348
|
+
return metadata?.defaultDatabaseName;
|
|
349
|
+
};
|
|
350
|
+
|
|
235
351
|
// src/core/schema/dumboSchema/dumboSchema.ts
|
|
236
352
|
var DEFAULT_DATABASE_NAME = "__default_database__";
|
|
237
353
|
var DEFAULT_DATABASE_SCHEMA_NAME = "__default_database_schema__";
|
|
@@ -316,70 +432,6 @@ var dumboSchema = {
|
|
|
316
432
|
index: dumboIndex
|
|
317
433
|
};
|
|
318
434
|
|
|
319
|
-
// src/core/drivers/databaseDriver.ts
|
|
320
|
-
var canHandleDriverWithConnectionString = (driver, tryParseConnectionString) => (options) => {
|
|
321
|
-
if ("driverType" in options) return options.driverType === driver;
|
|
322
|
-
if ("connectionString" in options && typeof options.connectionString === "string")
|
|
323
|
-
return tryParseConnectionString(options.connectionString) !== null;
|
|
324
|
-
return false;
|
|
325
|
-
};
|
|
326
|
-
var DumboDatabaseDriverRegistry = () => {
|
|
327
|
-
const drivers = /* @__PURE__ */ new Map();
|
|
328
|
-
const register = (driverType, plugin) => {
|
|
329
|
-
const entry = drivers.get(driverType);
|
|
330
|
-
if (entry && (typeof entry !== "function" || typeof plugin === "function")) {
|
|
331
|
-
return;
|
|
332
|
-
}
|
|
333
|
-
drivers.set(driverType, plugin);
|
|
334
|
-
};
|
|
335
|
-
const getDriver = (options) => options.driverType ? drivers.get(options.driverType) : [...drivers.values()].find(
|
|
336
|
-
(d) => typeof d !== "function" && d.canHandle(options)
|
|
337
|
-
);
|
|
338
|
-
const tryResolve = async (options) => {
|
|
339
|
-
const driver = getDriver(options);
|
|
340
|
-
if (!driver) return null;
|
|
341
|
-
if (typeof driver !== "function") return driver;
|
|
342
|
-
const plugin = await driver();
|
|
343
|
-
register(plugin.driverType, plugin);
|
|
344
|
-
return plugin;
|
|
345
|
-
};
|
|
346
|
-
const tryGet = (options) => {
|
|
347
|
-
const driver = getDriver(options);
|
|
348
|
-
return driver && typeof driver !== "function" ? driver : null;
|
|
349
|
-
};
|
|
350
|
-
const has = (driverType) => drivers.has(driverType);
|
|
351
|
-
return {
|
|
352
|
-
register,
|
|
353
|
-
tryResolve,
|
|
354
|
-
tryGet,
|
|
355
|
-
has,
|
|
356
|
-
get databaseDriverTypes() {
|
|
357
|
-
return Array.from(drivers.keys());
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
|
-
};
|
|
361
|
-
var dumboDatabaseDriverRegistry = globalThis.dumboDatabaseDriverRegistry = globalThis.dumboDatabaseDriverRegistry ?? DumboDatabaseDriverRegistry();
|
|
362
|
-
|
|
363
|
-
// src/core/drivers/index.ts
|
|
364
|
-
function toDatabaseDriverType(databaseType, driverName) {
|
|
365
|
-
return `${databaseType}:${driverName}`;
|
|
366
|
-
}
|
|
367
|
-
function fromDatabaseDriverType(databaseDriverType) {
|
|
368
|
-
const parts = databaseDriverType.split(":");
|
|
369
|
-
return {
|
|
370
|
-
databaseType: parts[0],
|
|
371
|
-
driverName: parts[1]
|
|
372
|
-
};
|
|
373
|
-
}
|
|
374
|
-
function getDatabaseDriverName(databaseDriverType) {
|
|
375
|
-
const { driverName } = fromDatabaseDriverType(databaseDriverType);
|
|
376
|
-
return driverName;
|
|
377
|
-
}
|
|
378
|
-
function getDatabaseType(databaseDriverType) {
|
|
379
|
-
const { databaseType } = fromDatabaseDriverType(databaseDriverType);
|
|
380
|
-
return databaseType;
|
|
381
|
-
}
|
|
382
|
-
|
|
383
435
|
// src/core/locks/databaseLock.ts
|
|
384
436
|
var defaultDatabaseLockOptions = {
|
|
385
437
|
timeoutMs: 1e4
|
|
@@ -1451,7 +1503,7 @@ var getEnvVariable = (name) => {
|
|
|
1451
1503
|
}
|
|
1452
1504
|
};
|
|
1453
1505
|
var shouldLog = (logLevel) => {
|
|
1454
|
-
const definedLogLevel = getEnvVariable("DUMBO_LOG_LEVEL") ?? LogLevel.
|
|
1506
|
+
const definedLogLevel = getEnvVariable("DUMBO_LOG_LEVEL") ?? LogLevel.ERROR;
|
|
1455
1507
|
if (definedLogLevel === LogLevel.ERROR && logLevel === LogLevel.ERROR)
|
|
1456
1508
|
return true;
|
|
1457
1509
|
if (definedLogLevel === LogLevel.WARN && [LogLevel.ERROR, LogLevel.WARN].includes(logLevel))
|
|
@@ -2335,7 +2387,6 @@ export {
|
|
|
2335
2387
|
databaseSchemaComponent,
|
|
2336
2388
|
relationship,
|
|
2337
2389
|
schemaComponentURN,
|
|
2338
|
-
dumboSchema,
|
|
2339
2390
|
canHandleDriverWithConnectionString,
|
|
2340
2391
|
DumboDatabaseDriverRegistry,
|
|
2341
2392
|
dumboDatabaseDriverRegistry,
|
|
@@ -2343,6 +2394,13 @@ export {
|
|
|
2343
2394
|
fromDatabaseDriverType,
|
|
2344
2395
|
getDatabaseDriverName,
|
|
2345
2396
|
getDatabaseType,
|
|
2397
|
+
DumboDatabaseMetadataRegistry,
|
|
2398
|
+
dumboDatabaseMetadataRegistry,
|
|
2399
|
+
getDatabaseMetadata,
|
|
2400
|
+
resolveDatabaseMetadata,
|
|
2401
|
+
getDefaultDatabase,
|
|
2402
|
+
getDefaultDatabaseAsync,
|
|
2403
|
+
dumboSchema,
|
|
2346
2404
|
defaultDatabaseLockOptions,
|
|
2347
2405
|
NoDatabaseLock,
|
|
2348
2406
|
mapRows,
|
|
@@ -2466,4 +2524,4 @@ export {
|
|
|
2466
2524
|
createAlwaysNewConnectionPool,
|
|
2467
2525
|
createConnectionPool
|
|
2468
2526
|
};
|
|
2469
|
-
//# sourceMappingURL=chunk-
|
|
2527
|
+
//# sourceMappingURL=chunk-6HOV3XIU.js.map
|