@dbcube/core 1.0.55 → 1.0.57

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/index.d.mts CHANGED
@@ -7,6 +7,7 @@ interface ResponseEngine {
7
7
  }
8
8
 
9
9
  declare class Engine {
10
+ private static instances;
10
11
  private name;
11
12
  private config;
12
13
  private arguments;
@@ -15,6 +16,7 @@ declare class Engine {
15
16
  private isDaemonConnected;
16
17
  private isConnecting;
17
18
  constructor(name: string, timeout?: number);
19
+ static getInstance(name: string, timeout?: number): Engine;
18
20
  initializeBinary(): Promise<void>;
19
21
  setArguments(): any[];
20
22
  setConfig(name: string): {
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ interface ResponseEngine {
7
7
  }
8
8
 
9
9
  declare class Engine {
10
+ private static instances;
10
11
  private name;
11
12
  private config;
12
13
  private arguments;
@@ -15,6 +16,7 @@ declare class Engine {
15
16
  private isDaemonConnected;
16
17
  private isConnecting;
17
18
  constructor(name: string, timeout?: number);
19
+ static getInstance(name: string, timeout?: number): Engine;
18
20
  initializeBinary(): Promise<void>;
19
21
  setArguments(): any[];
20
22
  setConfig(name: string): {
package/dist/index.js CHANGED
@@ -549,21 +549,32 @@ var Config = class {
549
549
  // src/lib/Engine.ts
550
550
  import { spawn } from "child_process";
551
551
  import { createRequire } from "module";
552
- var Engine = class {
553
- name;
552
+ var Engine = class _Engine {
553
+ static instances = /* @__PURE__ */ new Map();
554
+ name = "";
554
555
  config;
555
556
  arguments;
556
557
  binary = null;
557
- timeout;
558
+ timeout = 3e4;
558
559
  isDaemonConnected = false;
559
560
  isConnecting = false;
560
561
  constructor(name, timeout = 3e4) {
562
+ if (_Engine.instances.has(name)) {
563
+ return _Engine.instances.get(name);
564
+ }
561
565
  this.name = name;
562
566
  this.config = this.setConfig(name);
563
567
  this.arguments = this.setArguments();
564
568
  this.timeout = timeout;
569
+ _Engine.instances.set(name, this);
565
570
  this.setupProcessExitHandlers();
566
571
  }
572
+ static getInstance(name, timeout = 3e4) {
573
+ if (_Engine.instances.has(name)) {
574
+ return _Engine.instances.get(name);
575
+ }
576
+ return new _Engine(name, timeout);
577
+ }
567
578
  async initializeBinary() {
568
579
  if (!this.binary) {
569
580
  this.binary = await Binary.get();