topsyde-utils 1.0.181 → 1.0.182
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.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/server/base/base.database.d.ts +10 -0
- package/dist/server/base/base.database.js +23 -0
- package/dist/server/base/base.database.js.map +1 -0
- package/dist/server/base/index.d.ts +2 -0
- package/dist/server/base/index.js +5 -0
- package/dist/server/base/index.js.map +1 -0
- package/package.json +8 -1
- package/src/index.ts +2 -0
- package/src/server/base/base.database.ts +31 -0
- package/src/server/base/index.ts +5 -0
package/dist/index.d.ts
CHANGED
@@ -11,6 +11,7 @@ export * from "./client/rxjs/useRxjs";
|
|
11
11
|
export * from "./client/vite/plugins/topsydeUtilsVitePlugin";
|
12
12
|
export * from "./server/controller";
|
13
13
|
export * from "./server/service";
|
14
|
+
export * from "./server/base/base.database";
|
14
15
|
export * from "./server/bun/router/controller-discovery";
|
15
16
|
export * from "./server/bun/router/routes";
|
16
17
|
export * from "./server/bun/router/router";
|
@@ -32,6 +33,7 @@ export { default as Throwable } from "./throwable";
|
|
32
33
|
export { default as TopsydeUtilsVitePlugin } from "./client/vite/plugins/topsydeUtilsVitePlugin";
|
33
34
|
export { default as Controller } from "./server/controller";
|
34
35
|
export { default as Service } from "./server/service";
|
36
|
+
export { default as Database } from "./server/base/base.database";
|
35
37
|
export { default as Router } from "./server/bun/router/router";
|
36
38
|
export { default as Router_Internal } from "./server/bun/router/router.internal";
|
37
39
|
export { default as Client } from "./server/bun/websocket/Client";
|
package/dist/index.js
CHANGED
@@ -14,6 +14,7 @@ export * from "./client/rxjs/useRxjs";
|
|
14
14
|
export * from "./client/vite/plugins/topsydeUtilsVitePlugin";
|
15
15
|
export * from "./server/controller";
|
16
16
|
export * from "./server/service";
|
17
|
+
export * from "./server/base/base.database";
|
17
18
|
export * from "./server/bun/router/controller-discovery";
|
18
19
|
export * from "./server/bun/router/routes";
|
19
20
|
export * from "./server/bun/router/router";
|
@@ -36,6 +37,7 @@ export { default as Throwable } from "./throwable";
|
|
36
37
|
export { default as TopsydeUtilsVitePlugin } from "./client/vite/plugins/topsydeUtilsVitePlugin";
|
37
38
|
export { default as Controller } from "./server/controller";
|
38
39
|
export { default as Service } from "./server/service";
|
40
|
+
export { default as Database } from "./server/base/base.database";
|
39
41
|
export { default as Router } from "./server/bun/router/router";
|
40
42
|
export { default as Router_Internal } from "./server/bun/router/router.internal";
|
41
43
|
export { default as Client } from "./server/bun/websocket/Client";
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,iCAAiC;AAEjC,qBAAqB;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAEhC,yBAAyB;AACzB,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErD,sDAAsD;AACtD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAiC,MAAM,oBAAoB,CAAC;AAKlF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-indexes.ts\n// Do not edit this file directly\n\n// Export all modules\nexport * from \"./errors\";\nexport * from \"./singleton\";\nexport * from \"./initializable\";\nexport * from \"./application\";\nexport * from \"./consts\";\nexport * from \"./types\";\nexport * from \"./throwable\";\nexport * from \"./enums\";\nexport * from \"./client/rxjs/rxjs\";\nexport * from \"./client/rxjs/useRxjs\";\nexport * from \"./client/vite/plugins/topsydeUtilsVitePlugin\";\nexport * from \"./server/controller\";\nexport * from \"./server/service\";\nexport * from \"./server/bun/router/controller-discovery\";\nexport * from \"./server/bun/router/routes\";\nexport * from \"./server/bun/router/router\";\nexport * from \"./server/bun/router/router.internal\";\nexport * from \"./server/bun/websocket/websocket.guards\";\nexport * from \"./server/bun/websocket/Client\";\nexport * from \"./server/bun/websocket/Websocket\";\nexport * from \"./server/bun/websocket/websocket.enums\";\nexport * from \"./server/bun/websocket/websocket.types\";\nexport * from \"./server/bun/websocket/Message\";\nexport * from \"./server/bun/websocket/Channel\";\nexport * from \"./utils/Guards\";\nexport * from \"./utils/Lib\";\nexport * from \"./utils/Console\";\n\n// Export default classes\nexport { default as Singleton } from \"./singleton\";\nexport { default as Initializable } from \"./initializable\";\nexport { default as Application } from \"./application\";\nexport { default as Throwable } from \"./throwable\";\nexport { default as TopsydeUtilsVitePlugin } from \"./client/vite/plugins/topsydeUtilsVitePlugin\";\nexport { default as Controller } from \"./server/controller\";\nexport { default as Service } from \"./server/service\";\nexport { default as Router } from \"./server/bun/router/router\";\nexport { default as Router_Internal } from \"./server/bun/router/router.internal\";\nexport { default as Client } from \"./server/bun/websocket/Client\";\nexport { default as Websocket } from \"./server/bun/websocket/Websocket\";\nexport { default as Message } from \"./server/bun/websocket/Message\";\nexport { default as Channel } from \"./server/bun/websocket/Channel\";\nexport { default as Guards } from \"./utils/Guards\";\nexport { default as Lib } from \"./utils/Lib\";\nexport { default as Console } from \"./utils/Console\";\n\n// Re-export specific items for backward compatibility\nexport { ERROR_CODE, HTTP_ERROR_CODE, WS_ERROR_CODE } from \"./errors\";\nexport { InitializableOptions, InitializableEvent } from \"./initializable\";\nexport { RESPONSE_INIT, HEADERS_INIT, RESPONSE_METHOD_OPTIONS } from \"./application\";\nexport { DEFAULT_FALSE_RESPONSE, LOG_COLORS, LOG_ICONS } from \"./consts\";\nexport { ClassConstructor, NonNullableType, ObjectKeys, KVObj, I_ApplicationResponse } from \"./types\";\nexport { E_IS, E_ENVIRONMENTS } from \"./enums\";\nexport { E_SUBJET_TYPE, I_RxjsPayload, RxjsNamespaces } from \"./client/rxjs/rxjs\";\nexport { RxjsDataType } from \"./client/rxjs/useRxjs\";\nexport { ControllerResponse, ControllerAction, ControllerMap, ControllerOptions } from \"./server/controller\";\nexport { Routes } from \"./server/bun/router/routes\";\nexport { WebsocketConstructorOptions, I_WebsocketConstructor } from \"./server/bun/websocket/Websocket\";\nexport { E_WebsocketMessageType, E_WebsocketMessagePriority } from \"./server/bun/websocket/websocket.enums\";\nexport {\n\tBunWebsocketMessage,\n\tWebsocketChannel,\n\tWebsocketClients,\n\tWebsocketMessageOptions,\n\tWebsocketMessage,\n\tWebsocketStructuredMessage,\n\tWebsocketEntityId,\n\tWebsocketEntityName,\n\tWebsocketEntityData,\n\tI_WebsocketEntity,\n\tI_WebsocketClient,\n\tI_WebsocketChannelEntity,\n\tBroadcastOptions,\n\tI_WebsocketChannel,\n\tWebsocketInterfaceHandlers,\n\tI_WebsocketInterface,\n} from \"./server/bun/websocket/websocket.types\";\n"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,iCAAiC;AAEjC,qBAAqB;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAEhC,yBAAyB;AACzB,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErD,sDAAsD;AACtD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAiC,MAAM,oBAAoB,CAAC;AAKlF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-indexes.ts\n// Do not edit this file directly\n\n// Export all modules\nexport * from \"./errors\";\nexport * from \"./singleton\";\nexport * from \"./initializable\";\nexport * from \"./application\";\nexport * from \"./consts\";\nexport * from \"./types\";\nexport * from \"./throwable\";\nexport * from \"./enums\";\nexport * from \"./client/rxjs/rxjs\";\nexport * from \"./client/rxjs/useRxjs\";\nexport * from \"./client/vite/plugins/topsydeUtilsVitePlugin\";\nexport * from \"./server/controller\";\nexport * from \"./server/service\";\nexport * from \"./server/base/base.database\";\nexport * from \"./server/bun/router/controller-discovery\";\nexport * from \"./server/bun/router/routes\";\nexport * from \"./server/bun/router/router\";\nexport * from \"./server/bun/router/router.internal\";\nexport * from \"./server/bun/websocket/websocket.guards\";\nexport * from \"./server/bun/websocket/Client\";\nexport * from \"./server/bun/websocket/Websocket\";\nexport * from \"./server/bun/websocket/websocket.enums\";\nexport * from \"./server/bun/websocket/websocket.types\";\nexport * from \"./server/bun/websocket/Message\";\nexport * from \"./server/bun/websocket/Channel\";\nexport * from \"./utils/Guards\";\nexport * from \"./utils/Lib\";\nexport * from \"./utils/Console\";\n\n// Export default classes\nexport { default as Singleton } from \"./singleton\";\nexport { default as Initializable } from \"./initializable\";\nexport { default as Application } from \"./application\";\nexport { default as Throwable } from \"./throwable\";\nexport { default as TopsydeUtilsVitePlugin } from \"./client/vite/plugins/topsydeUtilsVitePlugin\";\nexport { default as Controller } from \"./server/controller\";\nexport { default as Service } from \"./server/service\";\nexport { default as Database } from \"./server/base/base.database\";\nexport { default as Router } from \"./server/bun/router/router\";\nexport { default as Router_Internal } from \"./server/bun/router/router.internal\";\nexport { default as Client } from \"./server/bun/websocket/Client\";\nexport { default as Websocket } from \"./server/bun/websocket/Websocket\";\nexport { default as Message } from \"./server/bun/websocket/Message\";\nexport { default as Channel } from \"./server/bun/websocket/Channel\";\nexport { default as Guards } from \"./utils/Guards\";\nexport { default as Lib } from \"./utils/Lib\";\nexport { default as Console } from \"./utils/Console\";\n\n// Re-export specific items for backward compatibility\nexport { ERROR_CODE, HTTP_ERROR_CODE, WS_ERROR_CODE } from \"./errors\";\nexport { InitializableOptions, InitializableEvent } from \"./initializable\";\nexport { RESPONSE_INIT, HEADERS_INIT, RESPONSE_METHOD_OPTIONS } from \"./application\";\nexport { DEFAULT_FALSE_RESPONSE, LOG_COLORS, LOG_ICONS } from \"./consts\";\nexport { ClassConstructor, NonNullableType, ObjectKeys, KVObj, I_ApplicationResponse } from \"./types\";\nexport { E_IS, E_ENVIRONMENTS } from \"./enums\";\nexport { E_SUBJET_TYPE, I_RxjsPayload, RxjsNamespaces } from \"./client/rxjs/rxjs\";\nexport { RxjsDataType } from \"./client/rxjs/useRxjs\";\nexport { ControllerResponse, ControllerAction, ControllerMap, ControllerOptions } from \"./server/controller\";\nexport { Routes } from \"./server/bun/router/routes\";\nexport { WebsocketConstructorOptions, I_WebsocketConstructor } from \"./server/bun/websocket/Websocket\";\nexport { E_WebsocketMessageType, E_WebsocketMessagePriority } from \"./server/bun/websocket/websocket.enums\";\nexport {\n\tBunWebsocketMessage,\n\tWebsocketChannel,\n\tWebsocketClients,\n\tWebsocketMessageOptions,\n\tWebsocketMessage,\n\tWebsocketStructuredMessage,\n\tWebsocketEntityId,\n\tWebsocketEntityName,\n\tWebsocketEntityData,\n\tI_WebsocketEntity,\n\tI_WebsocketClient,\n\tI_WebsocketChannelEntity,\n\tBroadcastOptions,\n\tI_WebsocketChannel,\n\tWebsocketInterfaceHandlers,\n\tI_WebsocketInterface,\n} from \"./server/bun/websocket/websocket.types\";\n"]}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import Singleton from "../../singleton";
|
2
|
+
declare abstract class Database extends Singleton {
|
3
|
+
constructor();
|
4
|
+
abstract connect(): Promise<void>;
|
5
|
+
abstract disconnect(): Promise<void>;
|
6
|
+
protected connected: boolean;
|
7
|
+
protected processing: boolean;
|
8
|
+
static Connection<T extends (new (...args: any[]) => Database) & typeof Singleton>(this: T, ...args: ConstructorParameters<T>): Promise<InstanceType<T>>;
|
9
|
+
}
|
10
|
+
export default Database;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import Singleton from "../../singleton";
|
2
|
+
class Database extends Singleton {
|
3
|
+
constructor() {
|
4
|
+
super();
|
5
|
+
this.connected = false;
|
6
|
+
this.processing = false;
|
7
|
+
}
|
8
|
+
static async Connection(...args) {
|
9
|
+
try {
|
10
|
+
const instance = this.GetInstance(...args);
|
11
|
+
if (!instance.connected && !instance.processing) {
|
12
|
+
await instance.connect();
|
13
|
+
}
|
14
|
+
return instance;
|
15
|
+
}
|
16
|
+
catch (e) {
|
17
|
+
console.error(e);
|
18
|
+
throw e;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
export default Database;
|
23
|
+
//# sourceMappingURL=base.database.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"base.database.js","sourceRoot":"","sources":["../../../src/server/base/base.database.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC,MAAe,QAAS,SAAQ,SAAS;IACxC;QACC,KAAK,EAAE,CAAC;QAMC,cAAS,GAAY,KAAK,CAAC;QAC3B,eAAU,GAAY,KAAK,CAAC;IANtC,CAAC;IAQM,MAAM,CAAC,KAAK,CAAC,UAAU,CAE7B,GAAG,IAA8B;QAEjC,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAoB,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACjD,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO,QAAQ,CAAC;QACjB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,CAAC;QACT,CAAC;IACF,CAAC;CACD;AAED,eAAe,QAAQ,CAAC","sourcesContent":["import Singleton from \"../../singleton\";\n\nabstract class Database extends Singleton {\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tpublic abstract connect(): Promise<void>;\n\tpublic abstract disconnect(): Promise<void>;\n\n\tprotected connected: boolean = false;\n\tprotected processing: boolean = false;\n\n\tpublic static async Connection<T extends (new (...args: any[]) => Database) & typeof Singleton>(\n\t\tthis: T,\n\t\t...args: ConstructorParameters<T>\n\t): Promise<InstanceType<T>> {\n\t\ttry {\n\t\t\tconst instance = this.GetInstance(...args) as InstanceType<T>;\n\t\t\tif (!instance.connected && !instance.processing) {\n\t\t\t\tawait instance.connect();\n\t\t\t}\n\t\t\treturn instance;\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport default Database;\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/base/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,iCAAiC;AAEjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-indexes.ts\n// Do not edit this file directly\n\nexport * from './base.database';\nexport { default as Database } from './base.database';\n"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "topsyde-utils",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.182",
|
4
4
|
"description": "A bundle of TypeScript utility classes and functions",
|
5
5
|
"type": "module",
|
6
6
|
"main": "dist/index.js",
|
@@ -39,6 +39,10 @@
|
|
39
39
|
"types": "./dist/client/vite/plugins/index.d.ts",
|
40
40
|
"default": "./dist/client/vite/plugins/index.js"
|
41
41
|
},
|
42
|
+
"./server/base": {
|
43
|
+
"types": "./dist/server/base/index.d.ts",
|
44
|
+
"default": "./dist/server/base/index.js"
|
45
|
+
},
|
42
46
|
"./server/bun/router": {
|
43
47
|
"types": "./dist/server/bun/router/index.d.ts",
|
44
48
|
"default": "./dist/server/bun/router/index.js"
|
@@ -60,6 +64,9 @@
|
|
60
64
|
"client/vite/plugins": [
|
61
65
|
"./dist/client/vite/plugins/index.d.ts"
|
62
66
|
],
|
67
|
+
"server/base": [
|
68
|
+
"./dist/server/base/index.d.ts"
|
69
|
+
],
|
63
70
|
"server/bun/router": [
|
64
71
|
"./dist/server/bun/router/index.d.ts"
|
65
72
|
],
|
package/src/index.ts
CHANGED
@@ -15,6 +15,7 @@ export * from "./client/rxjs/useRxjs";
|
|
15
15
|
export * from "./client/vite/plugins/topsydeUtilsVitePlugin";
|
16
16
|
export * from "./server/controller";
|
17
17
|
export * from "./server/service";
|
18
|
+
export * from "./server/base/base.database";
|
18
19
|
export * from "./server/bun/router/controller-discovery";
|
19
20
|
export * from "./server/bun/router/routes";
|
20
21
|
export * from "./server/bun/router/router";
|
@@ -38,6 +39,7 @@ export { default as Throwable } from "./throwable";
|
|
38
39
|
export { default as TopsydeUtilsVitePlugin } from "./client/vite/plugins/topsydeUtilsVitePlugin";
|
39
40
|
export { default as Controller } from "./server/controller";
|
40
41
|
export { default as Service } from "./server/service";
|
42
|
+
export { default as Database } from "./server/base/base.database";
|
41
43
|
export { default as Router } from "./server/bun/router/router";
|
42
44
|
export { default as Router_Internal } from "./server/bun/router/router.internal";
|
43
45
|
export { default as Client } from "./server/bun/websocket/Client";
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import Singleton from "../../singleton";
|
2
|
+
|
3
|
+
abstract class Database extends Singleton {
|
4
|
+
constructor() {
|
5
|
+
super();
|
6
|
+
}
|
7
|
+
|
8
|
+
public abstract connect(): Promise<void>;
|
9
|
+
public abstract disconnect(): Promise<void>;
|
10
|
+
|
11
|
+
protected connected: boolean = false;
|
12
|
+
protected processing: boolean = false;
|
13
|
+
|
14
|
+
public static async Connection<T extends (new (...args: any[]) => Database) & typeof Singleton>(
|
15
|
+
this: T,
|
16
|
+
...args: ConstructorParameters<T>
|
17
|
+
): Promise<InstanceType<T>> {
|
18
|
+
try {
|
19
|
+
const instance = this.GetInstance(...args) as InstanceType<T>;
|
20
|
+
if (!instance.connected && !instance.processing) {
|
21
|
+
await instance.connect();
|
22
|
+
}
|
23
|
+
return instance;
|
24
|
+
} catch (e) {
|
25
|
+
console.error(e);
|
26
|
+
throw e;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
export default Database;
|