temba 0.45.1 → 0.46.0
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/data/json/index.d.ts.map +1 -1
- package/data/json/index.js +57 -28
- package/data/json/index.js.map +1 -1
- package/data/queries.d.ts.map +1 -1
- package/data/queries.js +5 -2
- package/data/queries.js.map +1 -1
- package/log/logger.d.ts +10 -4
- package/log/logger.d.ts.map +1 -1
- package/log/logger.js +19 -34
- package/log/logger.js.map +1 -1
- package/package.json +1 -1
- package/version.js +1 -1
package/data/json/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data/json/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data/json/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,UAAU,CAAA;AAqB5D,KAAK,UAAU,GAAG;IAIhB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,WAqGjE"}
|
package/data/json/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Low, Memory } from 'lowdb';
|
|
2
2
|
import { JSONFile } from 'lowdb/node';
|
|
3
|
+
import { promises as fs } from 'node:fs';
|
|
4
|
+
import { join } from 'node:path';
|
|
3
5
|
const getInMemoryDb = (defaultData) => {
|
|
4
6
|
return getJsonDb(new Memory(), defaultData);
|
|
5
7
|
};
|
|
@@ -12,54 +14,81 @@ const getJsonDb = async (adapter, defaultData) => {
|
|
|
12
14
|
return db;
|
|
13
15
|
};
|
|
14
16
|
export default function createJsonQueries({ filename }) {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const mode = filename == null ? 'memory' : filename.toLowerCase().endsWith('.json') ? 'single' : 'dir';
|
|
18
|
+
const defaultAllData = {};
|
|
19
|
+
let sharedDb = null;
|
|
20
|
+
const getSharedDb = () => {
|
|
21
|
+
if (!sharedDb) {
|
|
22
|
+
sharedDb =
|
|
23
|
+
mode === 'memory'
|
|
24
|
+
? getInMemoryDb(defaultAllData)
|
|
25
|
+
: getFileDb(filename, defaultAllData);
|
|
26
|
+
}
|
|
27
|
+
return sharedDb;
|
|
28
|
+
};
|
|
29
|
+
const resourceDbs = new Map();
|
|
30
|
+
let ensuredDir = false;
|
|
31
|
+
const ensureDir = async () => {
|
|
32
|
+
if (ensuredDir)
|
|
33
|
+
return;
|
|
34
|
+
await fs.mkdir(filename, { recursive: true });
|
|
35
|
+
ensuredDir = true;
|
|
36
|
+
};
|
|
37
|
+
const getResourceDb = (resource) => {
|
|
38
|
+
let db = resourceDbs.get(resource);
|
|
39
|
+
if (!db) {
|
|
40
|
+
const defaultData = { [resource]: [] };
|
|
41
|
+
db = (async () => {
|
|
42
|
+
await ensureDir();
|
|
43
|
+
const file = join(filename, `${resource}.json`);
|
|
44
|
+
return await getFileDb(file, defaultData);
|
|
45
|
+
})();
|
|
46
|
+
resourceDbs.set(resource, db);
|
|
47
|
+
}
|
|
18
48
|
return db;
|
|
19
|
-
}
|
|
49
|
+
};
|
|
50
|
+
const readAll = async (resource) => {
|
|
51
|
+
const db = mode === 'dir' ? await getResourceDb(resource) : await getSharedDb();
|
|
52
|
+
return db.data[resource] || [];
|
|
53
|
+
};
|
|
54
|
+
const writeAll = async (resource, next) => {
|
|
55
|
+
const db = mode === 'dir' ? await getResourceDb(resource) : await getSharedDb();
|
|
56
|
+
await db.update((data) => {
|
|
57
|
+
data[resource] = next;
|
|
58
|
+
});
|
|
59
|
+
};
|
|
20
60
|
async function getAll(resource) {
|
|
21
|
-
|
|
22
|
-
const data = db.data[resource] || [];
|
|
23
|
-
return data;
|
|
61
|
+
return await readAll(resource);
|
|
24
62
|
}
|
|
25
63
|
async function getById(resource, id) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
return (data || []).find((x) => x.id === id) || null;
|
|
64
|
+
const data = await readAll(resource);
|
|
65
|
+
return data.find((x) => x.id === id) || null;
|
|
29
66
|
}
|
|
30
67
|
async function create(resource, id, item) {
|
|
31
|
-
const
|
|
68
|
+
const data = await readAll(resource);
|
|
32
69
|
const itemWithId = {
|
|
33
70
|
...item,
|
|
34
71
|
id: id || String(new Date().getTime()),
|
|
35
72
|
};
|
|
36
|
-
await
|
|
37
|
-
data[resource] = [...(data[resource] || []), itemWithId];
|
|
38
|
-
});
|
|
73
|
+
await writeAll(resource, [...data, itemWithId]);
|
|
39
74
|
return itemWithId;
|
|
40
75
|
}
|
|
41
76
|
async function update(resource, item) {
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
await
|
|
45
|
-
|
|
46
|
-
});
|
|
47
|
-
return updatedItem;
|
|
77
|
+
const data = await readAll(resource);
|
|
78
|
+
const next = [...data.filter((r) => r.id !== item.id), { ...item }];
|
|
79
|
+
await writeAll(resource, next);
|
|
80
|
+
return next.find((r) => r.id === item.id);
|
|
48
81
|
}
|
|
49
82
|
async function replace(resource, item) {
|
|
50
83
|
return update(resource, item);
|
|
51
84
|
}
|
|
52
85
|
async function deleteById(resource, id) {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
});
|
|
86
|
+
const data = await readAll(resource);
|
|
87
|
+
const next = data.filter((r) => r.id !== id);
|
|
88
|
+
await writeAll(resource, next);
|
|
57
89
|
}
|
|
58
90
|
async function deleteAll(resource) {
|
|
59
|
-
|
|
60
|
-
await db.update((data) => {
|
|
61
|
-
data[resource] = [];
|
|
62
|
-
});
|
|
91
|
+
await writeAll(resource, []);
|
|
63
92
|
}
|
|
64
93
|
const fileQueries = {
|
|
65
94
|
getAll,
|
package/data/json/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data/json/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAgB,MAAM,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data/json/index.ts"],"names":[],"mappings":"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"}
|
package/data/queries.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAI3C,eAAO,MAAM,aAAa,GAAI,kBAAkB,MAAM,GAAG,IAAI,EAAE,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAI3C,eAAO,MAAM,aAAa,GAAI,kBAAkB,MAAM,GAAG,IAAI,EAAE,KAAK,MAAM,8BAazE,CAAA"}
|
package/data/queries.js
CHANGED
|
@@ -3,10 +3,13 @@ import { createMongoQueries } from './mongo/index.js';
|
|
|
3
3
|
export const createQueries = (connectionString, log) => {
|
|
4
4
|
if (process.env.NODE_ENV === 'test' || !connectionString)
|
|
5
5
|
return createJsonQueries({ filename: null });
|
|
6
|
-
|
|
7
|
-
return createJsonQueries({ filename: connectionString });
|
|
6
|
+
// MongoDB
|
|
8
7
|
if (connectionString.startsWith('mongodb'))
|
|
9
8
|
return createMongoQueries(connectionString, log);
|
|
9
|
+
// Single JSON file or a folder with per-resource JSON files
|
|
10
|
+
if (connectionString.endsWith('.json') || /^[a-zA-Z0-9_-]+$/.test(connectionString))
|
|
11
|
+
return createJsonQueries({ filename: connectionString });
|
|
12
|
+
log.warn('Unknown connection string, defaulting to in-memory DB');
|
|
10
13
|
return createJsonQueries({ filename: null });
|
|
11
14
|
};
|
|
12
15
|
//# sourceMappingURL=queries.js.map
|
package/data/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAA+B,EAAE,GAAW,EAAE,EAAE;IAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,gBAAgB;QACtD,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9C,IAAI,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAA+B,EAAE,GAAW,EAAE,EAAE;IAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,gBAAgB;QACtD,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9C,UAAU;IACV,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,kBAAkB,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAE5F,4DAA4D;IAC5D,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACjF,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAE1D,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IACjE,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAA"}
|
package/log/logger.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
|
|
2
|
+
declare const logLevels: {
|
|
3
|
+
readonly debug: 0;
|
|
4
|
+
readonly info: 1;
|
|
5
|
+
readonly warn: 2;
|
|
6
|
+
readonly error: 3;
|
|
7
|
+
};
|
|
8
|
+
type LogLevel = keyof typeof logLevels;
|
|
3
9
|
export type Logger = Record<LogLevel, (...data: unknown[]) => void>;
|
|
4
|
-
export declare const initLogger: (
|
|
5
|
-
logLevel:
|
|
10
|
+
export declare const initLogger: (configured: string | undefined) => {
|
|
11
|
+
logLevel: "error" | "debug" | "info" | "warn";
|
|
6
12
|
log: Logger;
|
|
7
13
|
};
|
|
8
|
-
export declare const getHttpLogger: (logLevel: LogLevel) => (_: IncomingMessage, __: ServerResponse
|
|
14
|
+
export declare const getHttpLogger: (logLevel: LogLevel) => (_: IncomingMessage, __: ServerResponse, next: (err?: unknown) => void) => void;
|
|
9
15
|
export {};
|
|
10
16
|
//# sourceMappingURL=logger.d.ts.map
|
package/log/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhE,KAAK,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhE,QAAA,MAAM,SAAS;;;;;CAAoD,CAAA;AACnE,KAAK,QAAQ,GAAG,MAAM,OAAO,SAAS,CAAA;AACtC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAA;AAoBnE,eAAO,MAAM,UAAU,GAAI,YAAY,MAAM,GAAG,SAAS;;;CAKxD,CAAA;AAID,eAAO,MAAM,aAAa,GAAI,UAAU,QAAQ,SAF/B,eAAe,MAAM,cAAc,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,SAKzE,CAAA"}
|
package/log/logger.js
CHANGED
|
@@ -1,43 +1,28 @@
|
|
|
1
1
|
import morgan from 'morgan';
|
|
2
|
-
const logLevels = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
error: 2,
|
|
6
|
-
};
|
|
7
|
-
const createLogger = (logLevel) => {
|
|
2
|
+
const logLevels = { debug: 0, info: 1, warn: 2, error: 3 };
|
|
3
|
+
const levels = Object.keys(logLevels);
|
|
4
|
+
const createLogger = (minLevel) => {
|
|
8
5
|
const log = (level, ...data) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
6
|
+
if (logLevels[level] < logLevels[minLevel])
|
|
7
|
+
return;
|
|
8
|
+
try {
|
|
9
|
+
console[level](`${new Date().toISOString()} ${level.toUpperCase().padEnd(6)}- ${data.join(' ')}`);
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
// Swallow exceptions caused by logging itself
|
|
17
13
|
}
|
|
18
14
|
};
|
|
19
|
-
return
|
|
20
|
-
debug: (...data) => log('debug', ...data),
|
|
21
|
-
info: (...data) => log('info', ...data),
|
|
22
|
-
error: (...data) => log('error', ...data),
|
|
23
|
-
};
|
|
15
|
+
return Object.fromEntries(levels.map((l) => [l, (...d) => log(l, ...d)]));
|
|
24
16
|
};
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
export const initLogger = (configuredLogLevel) => {
|
|
29
|
-
const logLevel = isInvalid(configuredLogLevel) ? 'debug' : configuredLogLevel;
|
|
17
|
+
const isLogLevel = (v) => !!v && v in logLevels;
|
|
18
|
+
export const initLogger = (configured) => {
|
|
19
|
+
const logLevel = isLogLevel(configured) ? configured : 'debug';
|
|
30
20
|
const log = createLogger(logLevel);
|
|
31
21
|
log.debug('Logger initialized');
|
|
32
|
-
return {
|
|
33
|
-
logLevel,
|
|
34
|
-
log,
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
const noopHandler = (_, __, next) => next();
|
|
38
|
-
export const getHttpLogger = (logLevel) => {
|
|
39
|
-
return logLevel === 'debug'
|
|
40
|
-
? morgan(':date[iso] DEBUG - :method :url :status :res[content-length] - :response-time ms')
|
|
41
|
-
: noopHandler;
|
|
22
|
+
return { logLevel, log };
|
|
42
23
|
};
|
|
24
|
+
const noop = (_, __, next) => next();
|
|
25
|
+
export const getHttpLogger = (logLevel) => logLevel === 'debug'
|
|
26
|
+
? morgan(':date[iso] DEBUG - :method :url :status :res[content-length] - :response-time ms')
|
|
27
|
+
: noop;
|
|
43
28
|
//# sourceMappingURL=logger.js.map
|
package/log/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAW,CAAA;AAInE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAe,CAAA;AAEnD,MAAM,YAAY,GAAG,CAAC,QAAkB,EAAU,EAAE;IAClD,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAClD,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;YAAE,OAAM;QAClD,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,CACZ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAClF,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;IACH,CAAC,CAAA;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAY,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAW,CAAA;AAChG,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,CAAqB,EAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAA;AAElF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAA8B,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAA;IAC9D,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAClC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC/B,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,CAAkB,EAAE,EAAkB,EAAE,IAA6B,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;AAE9F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAkB,EAAE,EAAE,CAClD,QAAQ,KAAK,OAAO;IAClB,CAAC,CAAC,MAAM,CAAC,kFAAkF,CAAC;IAC5F,CAAC,CAAC,IAAI,CAAA"}
|
package/package.json
CHANGED
package/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = 'v0.
|
|
1
|
+
export const version = 'v0.46.0'
|
|
2
2
|
|