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 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
- const metadata = process.env.NODE_ENV === "test" ? {} : { global: "true" };
8597
- const perfMetadata = process.env.NODE_ENV === "test" ? {} : { perf: "true" };
8598
- const errorMetadata = process.env.NODE_ENV === "test" ? {} : { error: "true" };
8599
- const resourceMetadata = process.env.NODE_ENV === "test" ? {} : { resource: "true" };
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.on("exit", async () => {
13176
- if (this.isConnected()) {
13177
- try {
13178
- await this.disconnect();
13179
- } catch (err) {
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 (resource && !targetResourceName) targetResourceName = resource;
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++) {