s3db.js 7.3.4 → 7.3.5
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/s3db.cjs.js +26 -36
- package/dist/s3db.cjs.min.js +1 -1
- package/dist/s3db.es.js +26 -36
- package/dist/s3db.es.min.js +1 -1
- package/dist/s3db.iife.js +27 -37
- package/dist/s3db.iife.min.js +1 -1
- package/package.json +24 -24
- package/src/database.class.js +10 -8
- package/src/plugins/metrics.plugin.js +18 -8
- package/src/plugins/replicator.plugin.js +0 -26
- package/src/plugins/replicators/s3db-replicator.class.js +3 -3
package/dist/s3db.cjs.js
CHANGED
|
@@ -7,8 +7,8 @@ var zlib = require('node:zlib');
|
|
|
7
7
|
var promisePool = require('@supercharge/promise-pool');
|
|
8
8
|
var web = require('node:stream/web');
|
|
9
9
|
var promises = require('fs/promises');
|
|
10
|
-
var lodashEs = require('lodash-es');
|
|
11
10
|
var crypto = require('crypto');
|
|
11
|
+
var lodashEs = require('lodash-es');
|
|
12
12
|
var jsonStableStringify = require('json-stable-stringify');
|
|
13
13
|
var clientS3 = require('@aws-sdk/client-s3');
|
|
14
14
|
var flat = require('flat');
|
|
@@ -8353,7 +8353,7 @@ class MetricsPlugin extends plugin_class_default {
|
|
|
8353
8353
|
}
|
|
8354
8354
|
async setup(database) {
|
|
8355
8355
|
this.database = database;
|
|
8356
|
-
if (process.env.NODE_ENV === "test") return;
|
|
8356
|
+
if (typeof process !== "undefined" && process.env.NODE_ENV === "test") return;
|
|
8357
8357
|
const [ok, err] = await try_fn_default(async () => {
|
|
8358
8358
|
const [ok1, err1, metricsResource] = await try_fn_default(() => database.createResource({
|
|
8359
8359
|
name: "metrics",
|
|
@@ -8403,7 +8403,7 @@ class MetricsPlugin extends plugin_class_default {
|
|
|
8403
8403
|
this.performanceResource = database.resources.performance_logs;
|
|
8404
8404
|
}
|
|
8405
8405
|
this.installMetricsHooks();
|
|
8406
|
-
if (process.env.NODE_ENV !== "test") {
|
|
8406
|
+
if (typeof process !== "undefined" && process.env.NODE_ENV !== "test") {
|
|
8407
8407
|
this.startFlushTimer();
|
|
8408
8408
|
}
|
|
8409
8409
|
}
|
|
@@ -8414,7 +8414,7 @@ class MetricsPlugin extends plugin_class_default {
|
|
|
8414
8414
|
clearInterval(this.flushTimer);
|
|
8415
8415
|
this.flushTimer = null;
|
|
8416
8416
|
}
|
|
8417
|
-
if (process.env.NODE_ENV !== "test") {
|
|
8417
|
+
if (typeof process !== "undefined" && process.env.NODE_ENV !== "test") {
|
|
8418
8418
|
await this.flushMetrics();
|
|
8419
8419
|
}
|
|
8420
8420
|
}
|
|
@@ -8593,10 +8593,18 @@ class MetricsPlugin extends plugin_class_default {
|
|
|
8593
8593
|
async flushMetrics() {
|
|
8594
8594
|
if (!this.metricsResource) return;
|
|
8595
8595
|
const [ok, err] = await try_fn_default(async () => {
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8596
|
+
let metadata, perfMetadata, errorMetadata, resourceMetadata;
|
|
8597
|
+
if (typeof process !== "undefined" && process.env.NODE_ENV === "test") {
|
|
8598
|
+
metadata = {};
|
|
8599
|
+
perfMetadata = {};
|
|
8600
|
+
errorMetadata = {};
|
|
8601
|
+
resourceMetadata = {};
|
|
8602
|
+
} else {
|
|
8603
|
+
metadata = { global: "true" };
|
|
8604
|
+
perfMetadata = { perf: "true" };
|
|
8605
|
+
errorMetadata = { error: "true" };
|
|
8606
|
+
resourceMetadata = { resource: "true" };
|
|
8607
|
+
}
|
|
8600
8608
|
for (const [operation, data] of Object.entries(this.metrics.operations)) {
|
|
8601
8609
|
if (data.count > 0) {
|
|
8602
8610
|
await this.metricsResource.insert({
|
|
@@ -13172,14 +13180,16 @@ class Database extends EventEmitter {
|
|
|
13172
13180
|
this.keyPrefix = this.client.keyPrefix;
|
|
13173
13181
|
if (!this._exitListenerRegistered) {
|
|
13174
13182
|
this._exitListenerRegistered = true;
|
|
13175
|
-
process
|
|
13176
|
-
|
|
13177
|
-
|
|
13178
|
-
|
|
13179
|
-
|
|
13183
|
+
if (typeof process !== "undefined") {
|
|
13184
|
+
process.on("exit", async () => {
|
|
13185
|
+
if (this.isConnected()) {
|
|
13186
|
+
try {
|
|
13187
|
+
await this.disconnect();
|
|
13188
|
+
} catch (err) {
|
|
13189
|
+
}
|
|
13180
13190
|
}
|
|
13181
|
-
}
|
|
13182
|
-
}
|
|
13191
|
+
});
|
|
13192
|
+
}
|
|
13183
13193
|
}
|
|
13184
13194
|
}
|
|
13185
13195
|
async connect() {
|
|
@@ -13762,7 +13772,7 @@ class S3dbReplicator extends base_replicator_class_default {
|
|
|
13762
13772
|
if (typeof entry[0] === "function") return resource;
|
|
13763
13773
|
}
|
|
13764
13774
|
if (typeof entry === "string") return entry;
|
|
13765
|
-
if (
|
|
13775
|
+
if (typeof entry === "function") return resource;
|
|
13766
13776
|
if (typeof entry === "object" && entry.resource) return entry.resource;
|
|
13767
13777
|
return resource;
|
|
13768
13778
|
}
|
|
@@ -14311,31 +14321,11 @@ class ReplicatorPlugin extends plugin_class_default {
|
|
|
14311
14321
|
}
|
|
14312
14322
|
async stop() {
|
|
14313
14323
|
}
|
|
14314
|
-
filterInternalFields(data) {
|
|
14315
|
-
if (!data || typeof data !== "object") return data;
|
|
14316
|
-
const filtered = {};
|
|
14317
|
-
for (const [key, value] of Object.entries(data)) {
|
|
14318
|
-
if (!key.startsWith("_") && !key.startsWith("$")) {
|
|
14319
|
-
filtered[key] = value;
|
|
14320
|
-
}
|
|
14321
|
-
}
|
|
14322
|
-
return filtered;
|
|
14323
|
-
}
|
|
14324
14324
|
async uploadMetadataFile(database) {
|
|
14325
14325
|
if (typeof database.uploadMetadataFile === "function") {
|
|
14326
14326
|
await database.uploadMetadataFile();
|
|
14327
14327
|
}
|
|
14328
14328
|
}
|
|
14329
|
-
async getCompleteData(resource, data) {
|
|
14330
|
-
try {
|
|
14331
|
-
const [ok, err, record] = await try_fn_default(() => resource.get(data.id));
|
|
14332
|
-
if (ok && record) {
|
|
14333
|
-
return record;
|
|
14334
|
-
}
|
|
14335
|
-
} catch (error) {
|
|
14336
|
-
}
|
|
14337
|
-
return data;
|
|
14338
|
-
}
|
|
14339
14329
|
async retryWithBackoff(operation, maxRetries = 3) {
|
|
14340
14330
|
let lastError;
|
|
14341
14331
|
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|