topsyde-utils 1.0.181 → 1.0.183

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.
@@ -1,2 +1 @@
1
- export * from './rxjs';
2
1
  export * from './useRxjs';
@@ -1,5 +1,4 @@
1
1
  // This file is auto-generated by scripts/generate-indexes.ts
2
2
  // Do not edit this file directly
3
- export * from './rxjs';
4
3
  export * from './useRxjs';
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/rxjs/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,iCAAiC;AAEjC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-indexes.ts\n// Do not edit this file directly\n\nexport * from './rxjs';\nexport * from './useRxjs';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/rxjs/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,iCAAiC;AAEjC,cAAc,WAAW,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-indexes.ts\n// Do not edit this file directly\n\nexport * from './useRxjs';\n"]}
@@ -1,4 +1,4 @@
1
- import { RxjsNamespaces, I_RxjsPayload } from "./rxjs";
1
+ import { I_RxjsPayload, RxjsNamespaces } from "../../utils/Rxjs";
2
2
  export type RxjsDataType = string | Record<string, any>;
3
3
  type NamespaceActions = Record<string, Function>;
4
4
  type MultiNamespaceActions<T extends string> = Partial<Record<RxjsNamespaces<T>, NamespaceActions>>;
@@ -1,6 +1,6 @@
1
1
  import { onBeforeUnmount, onMounted, ref } from "vue";
2
- import { Rxjs } from "./rxjs";
3
2
  import { Guards, Lib } from "../../utils";
3
+ import { Rxjs } from "../../utils/Rxjs";
4
4
  export const useRxjs = (_namespace, actions, options) => {
5
5
  const subs = ref(new Map());
6
6
  const _actions = ref(actions);
@@ -1 +1 @@
1
- {"version":3,"file":"useRxjs.js","sourceRoot":"","sources":["../../../src/client/rxjs/useRxjs.ts"],"names":[],"mappings":"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","sourcesContent":["import { Subscription } from \"rxjs\";\nimport { computed, onBeforeUnmount, onMounted, ref } from \"vue\";\nimport { Rxjs, RxjsNamespaces, I_RxjsPayload } from \"./rxjs\";\nimport { Guards, Lib } from \"../../utils\";\n\nexport type RxjsDataType = string | Record<string, any>;\ntype NamespaceActions = Record<string, Function>;\ntype MultiNamespaceActions<T extends string> = Partial<Record<RxjsNamespaces<T>, NamespaceActions>>;\n\nexport const useRxjs = <T extends string>(\n\t_namespace: RxjsNamespaces<T> | RxjsNamespaces<T>[],\n\tactions?: NamespaceActions | MultiNamespaceActions<T>,\n\toptions?: { static_instance: boolean },\n) => {\n\tconst subs = ref<Map<RxjsNamespaces<T>, Subscription>>(new Map());\n\tconst _actions = ref(actions);\n\tconst instance = Rxjs.GetInstance<Rxjs<T>>();\n\tconst namespaces = ref<RxjsNamespaces<T>[]>(Guards.IsArray(_namespace) ? _namespace : [_namespace]);\n\n\tnamespaces.value.forEach((ns) => {\n\t\tif (instance.has(ns)) return;\n\t\tconsole.log(\"Creating namespace\", ns);\n\t\tinstance.create(ns);\n\t});\n\n\tfunction _getAction(cta: string, ns: RxjsNamespaces<T>) {\n\t\tif (Guards.IsArray(_namespace)) return _actions.value?.[ns]?.[cta];\n\t\treturn _actions.value?.[cta];\n\t}\n\n\tfunction $next(namespace: RxjsNamespaces<T>, payload: I_RxjsPayload<any>): void;\n\tfunction $next(cta: string, data: RxjsDataType): void;\n\tfunction $next(firstParam: RxjsNamespaces<T> | string, secondParam: I_RxjsPayload<RxjsDataType> | any): void {\n\t\tif (typeof firstParam !== \"string\" && secondParam && typeof secondParam === \"object\" && \"cta\" in secondParam && \"data\" in secondParam) {\n\t\t\tconst ns = firstParam;\n\t\t\tconst payload: I_RxjsPayload<any> = secondParam;\n\t\t\tinstance.next(ns, payload);\n\t\t\treturn;\n\t\t}\n\n\t\tconst cta = firstParam as string;\n\t\tconst data = secondParam as RxjsDataType;\n\t\tconst namespaces = Guards.IsArray(_namespace) ? _namespace : [_namespace];\n\t\tnamespaces.forEach((ns) => {\n\t\t\tinstance.next(ns, { cta, data });\n\t\t});\n\t}\n\n\tfunction $clear(namespace: RxjsNamespaces<T>) {\n\t\tinstance.clear(namespace);\n\t}\n\n\tfunction $subscribe(actions: NamespaceActions | MultiNamespaceActions<T>) {\n\t\t_actions.value = actions;\n\t\t$unsubscribe(); // Clear existing subscriptions\n\n\t\tconst namespaces = Guards.IsArray(_namespace) ? _namespace : [_namespace];\n\n\t\tnamespaces.forEach((ns) => {\n\t\t\tif (!instance.namespaces.has(ns)) {\n\t\t\t\tLib.Warn(`Rxjs namespace ${ns} does not exist`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (subs.value.has(ns)) return;\n\n\t\t\tsubs.value.set(\n\t\t\t\tns,\n\t\t\t\tinstance.subscribe(ns, ({ cta, data }) => {\n\t\t\t\t\tconst action = _getAction(cta, ns) || (() => {});\n\t\t\t\t\taction(data);\n\t\t\t\t}),\n\t\t\t);\n\t\t});\n\t}\n\n\tfunction $unsubscribe() {\n\t\tsubs.value.forEach((sub) => sub.unsubscribe());\n\t\tsubs.value.clear();\n\t}\n\n\tfunction $mount() {\n\t\tif (subs.value.size > 0 || !actions) return;\n\t\t$subscribe(actions);\n\t}\n\n\tfunction $unmount() {\n\t\t$unsubscribe();\n\t}\n\n\tif (!options?.static_instance) {\n\t\tonMounted(() => {\n\t\t\t$mount();\n\t\t});\n\t}\n\n\tif (!options?.static_instance) {\n\t\tonBeforeUnmount(() => {\n\t\t\t$unmount();\n\t\t});\n\t}\n\n\treturn {\n\t\t$next,\n\t\t$clear,\n\t\t$subscribe,\n\t\t$unsubscribe,\n\t\t$mount,\n\t\t$unmount,\n\t};\n};\n"]}
1
+ {"version":3,"file":"useRxjs.js","sourceRoot":"","sources":["../../../src/client/rxjs/useRxjs.ts"],"names":[],"mappings":"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","sourcesContent":["import { Subscription } from \"rxjs\";\nimport { onBeforeUnmount, onMounted, ref } from \"vue\";\nimport { Guards, Lib } from \"../../utils\";\nimport { I_RxjsPayload, Rxjs, RxjsNamespaces } from \"../../utils/Rxjs\";\n\nexport type RxjsDataType = string | Record<string, any>;\ntype NamespaceActions = Record<string, Function>;\ntype MultiNamespaceActions<T extends string> = Partial<Record<RxjsNamespaces<T>, NamespaceActions>>;\n\nexport const useRxjs = <T extends string>(\n\t_namespace: RxjsNamespaces<T> | RxjsNamespaces<T>[],\n\tactions?: NamespaceActions | MultiNamespaceActions<T>,\n\toptions?: { static_instance: boolean },\n) => {\n\tconst subs = ref<Map<RxjsNamespaces<T>, Subscription>>(new Map());\n\tconst _actions = ref(actions);\n\tconst instance = Rxjs.GetInstance<Rxjs<T>>();\n\tconst namespaces = ref<RxjsNamespaces<T>[]>(Guards.IsArray(_namespace) ? _namespace : [_namespace]);\n\n\tnamespaces.value.forEach((ns) => {\n\t\tif (instance.has(ns)) return;\n\t\tconsole.log(\"Creating namespace\", ns);\n\t\tinstance.create(ns);\n\t});\n\n\tfunction _getAction(cta: string, ns: RxjsNamespaces<T>) {\n\t\tif (Guards.IsArray(_namespace)) return _actions.value?.[ns]?.[cta];\n\t\treturn _actions.value?.[cta];\n\t}\n\n\tfunction $next(namespace: RxjsNamespaces<T>, payload: I_RxjsPayload<any>): void;\n\tfunction $next(cta: string, data: RxjsDataType): void;\n\tfunction $next(firstParam: RxjsNamespaces<T> | string, secondParam: I_RxjsPayload<RxjsDataType> | any): void {\n\t\tif (typeof firstParam !== \"string\" && secondParam && typeof secondParam === \"object\" && \"cta\" in secondParam && \"data\" in secondParam) {\n\t\t\tconst ns = firstParam;\n\t\t\tconst payload: I_RxjsPayload<any> = secondParam;\n\t\t\tinstance.next(ns, payload);\n\t\t\treturn;\n\t\t}\n\n\t\tconst cta = firstParam as string;\n\t\tconst data = secondParam as RxjsDataType;\n\t\tconst namespaces = Guards.IsArray(_namespace) ? _namespace : [_namespace];\n\t\tnamespaces.forEach((ns) => {\n\t\t\tinstance.next(ns, { cta, data });\n\t\t});\n\t}\n\n\tfunction $clear(namespace: RxjsNamespaces<T>) {\n\t\tinstance.clear(namespace);\n\t}\n\n\tfunction $subscribe(actions: NamespaceActions | MultiNamespaceActions<T>) {\n\t\t_actions.value = actions;\n\t\t$unsubscribe(); // Clear existing subscriptions\n\n\t\tconst namespaces = Guards.IsArray(_namespace) ? _namespace : [_namespace];\n\n\t\tnamespaces.forEach((ns) => {\n\t\t\tif (!instance.namespaces.has(ns)) {\n\t\t\t\tLib.Warn(`Rxjs namespace ${ns} does not exist`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (subs.value.has(ns)) return;\n\n\t\t\tsubs.value.set(\n\t\t\t\tns,\n\t\t\t\tinstance.subscribe(ns, ({ cta, data }) => {\n\t\t\t\t\tconst action = _getAction(cta, ns) || (() => {});\n\t\t\t\t\taction(data);\n\t\t\t\t}),\n\t\t\t);\n\t\t});\n\t}\n\n\tfunction $unsubscribe() {\n\t\tsubs.value.forEach((sub) => sub.unsubscribe());\n\t\tsubs.value.clear();\n\t}\n\n\tfunction $mount() {\n\t\tif (subs.value.size > 0 || !actions) return;\n\t\t$subscribe(actions);\n\t}\n\n\tfunction $unmount() {\n\t\t$unsubscribe();\n\t}\n\n\tif (!options?.static_instance) {\n\t\tonMounted(() => {\n\t\t\t$mount();\n\t\t});\n\t}\n\n\tif (!options?.static_instance) {\n\t\tonBeforeUnmount(() => {\n\t\t\t$unmount();\n\t\t});\n\t}\n\n\treturn {\n\t\t$next,\n\t\t$clear,\n\t\t$subscribe,\n\t\t$unsubscribe,\n\t\t$mount,\n\t\t$unmount,\n\t};\n};\n"]}
package/dist/index.d.ts CHANGED
@@ -6,11 +6,11 @@ export * from "./consts";
6
6
  export * from "./types";
7
7
  export * from "./throwable";
8
8
  export * from "./enums";
9
- export * from "./client/rxjs/rxjs";
10
9
  export * from "./client/rxjs/useRxjs";
11
10
  export * from "./client/vite/plugins/topsydeUtilsVitePlugin";
12
11
  export * from "./server/controller";
13
12
  export * from "./server/service";
13
+ export * from "./server/base/base.database";
14
14
  export * from "./server/bun/router/controller-discovery";
15
15
  export * from "./server/bun/router/routes";
16
16
  export * from "./server/bun/router/router";
@@ -22,6 +22,7 @@ export * from "./server/bun/websocket/websocket.enums";
22
22
  export * from "./server/bun/websocket/websocket.types";
23
23
  export * from "./server/bun/websocket/Message";
24
24
  export * from "./server/bun/websocket/Channel";
25
+ export * from "./utils/Rxjs";
25
26
  export * from "./utils/Guards";
26
27
  export * from "./utils/Lib";
27
28
  export * from "./utils/Console";
@@ -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";
@@ -47,10 +49,10 @@ export { RESPONSE_INIT, HEADERS_INIT, RESPONSE_METHOD_OPTIONS } from "./applicat
47
49
  export { DEFAULT_FALSE_RESPONSE, LOG_COLORS, LOG_ICONS } from "./consts";
48
50
  export { ClassConstructor, NonNullableType, ObjectKeys, KVObj, I_ApplicationResponse } from "./types";
49
51
  export { E_IS, E_ENVIRONMENTS } from "./enums";
50
- export { E_SUBJET_TYPE, I_RxjsPayload, RxjsNamespaces } from "./client/rxjs/rxjs";
51
52
  export { RxjsDataType } from "./client/rxjs/useRxjs";
52
53
  export { ControllerResponse, ControllerAction, ControllerMap, ControllerOptions } from "./server/controller";
53
54
  export { Routes } from "./server/bun/router/routes";
54
55
  export { WebsocketConstructorOptions, I_WebsocketConstructor } from "./server/bun/websocket/Websocket";
55
56
  export { E_WebsocketMessageType, E_WebsocketMessagePriority } from "./server/bun/websocket/websocket.enums";
56
57
  export { BunWebsocketMessage, WebsocketChannel, WebsocketClients, WebsocketMessageOptions, WebsocketMessage, WebsocketStructuredMessage, WebsocketEntityId, WebsocketEntityName, WebsocketEntityData, I_WebsocketEntity, I_WebsocketClient, I_WebsocketChannelEntity, BroadcastOptions, I_WebsocketChannel, WebsocketInterfaceHandlers, I_WebsocketInterface, } from "./server/bun/websocket/websocket.types";
58
+ export { E_SUBJET_TYPE, I_RxjsPayload, RxjsNamespaces } from "./utils/Rxjs";
package/dist/index.js CHANGED
@@ -9,11 +9,11 @@ export * from "./consts";
9
9
  export * from "./types";
10
10
  export * from "./throwable";
11
11
  export * from "./enums";
12
- export * from "./client/rxjs/rxjs";
13
12
  export * from "./client/rxjs/useRxjs";
14
13
  export * from "./client/vite/plugins/topsydeUtilsVitePlugin";
15
14
  export * from "./server/controller";
16
15
  export * from "./server/service";
16
+ export * from "./server/base/base.database";
17
17
  export * from "./server/bun/router/controller-discovery";
18
18
  export * from "./server/bun/router/routes";
19
19
  export * from "./server/bun/router/router";
@@ -25,6 +25,7 @@ export * from "./server/bun/websocket/websocket.enums";
25
25
  export * from "./server/bun/websocket/websocket.types";
26
26
  export * from "./server/bun/websocket/Message";
27
27
  export * from "./server/bun/websocket/Channel";
28
+ export * from "./utils/Rxjs";
28
29
  export * from "./utils/Guards";
29
30
  export * from "./utils/Lib";
30
31
  export * from "./utils/Console";
@@ -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";
@@ -50,6 +52,6 @@ export { ERROR_CODE, HTTP_ERROR_CODE, WS_ERROR_CODE } from "./errors";
50
52
  export { RESPONSE_INIT, HEADERS_INIT, RESPONSE_METHOD_OPTIONS } from "./application";
51
53
  export { DEFAULT_FALSE_RESPONSE, LOG_COLORS, LOG_ICONS } from "./consts";
52
54
  export { E_IS, E_ENVIRONMENTS } from "./enums";
53
- export { E_SUBJET_TYPE } from "./client/rxjs/rxjs";
54
55
  export { E_WebsocketMessageType, E_WebsocketMessagePriority } from "./server/bun/websocket/websocket.enums";
56
+ export { E_SUBJET_TYPE } from "./utils/Rxjs";
55
57
  //# sourceMappingURL=index.js.map
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,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,cAAc,CAAC;AAC7B,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;AAK/C,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AAmB5G,OAAO,EAAE,aAAa,EAAiC,MAAM,cAAc,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/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/Rxjs\";\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 { 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\";\nexport { E_SUBJET_TYPE, I_RxjsPayload, RxjsNamespaces } from \"./utils/Rxjs\";\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,2 @@
1
+ export * from './base.database';
2
+ export { default as Database } from './base.database';
@@ -0,0 +1,5 @@
1
+ // This file is auto-generated by scripts/generate-indexes.ts
2
+ // Do not edit this file directly
3
+ export * from './base.database';
4
+ export { default as Database } from './base.database';
5
+ //# sourceMappingURL=index.js.map
@@ -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"]}
@@ -1,5 +1,5 @@
1
1
  import { Subject, Subscription } from "rxjs";
2
- import { Singleton } from "../..";
2
+ import Singleton from "../singleton";
3
3
  export declare enum E_SUBJET_TYPE {
4
4
  SUBJECT = "subject",
5
5
  ASYNC_SUBJECT = "asyncSubject",
@@ -1,6 +1,6 @@
1
1
  import { AsyncSubject, BehaviorSubject, ReplaySubject, Subject, Subscription } from "rxjs";
2
- import { Lib } from "../../utils";
3
- import { Singleton } from "../..";
2
+ import Singleton from "../singleton";
3
+ import Lib from "./Lib";
4
4
  export var E_SUBJET_TYPE;
5
5
  (function (E_SUBJET_TYPE) {
6
6
  E_SUBJET_TYPE["SUBJECT"] = "subject";
@@ -95,4 +95,4 @@ export class RxjsInstance {
95
95
  this.subscriptions.unsubscribe();
96
96
  }
97
97
  }
98
- //# sourceMappingURL=rxjs.js.map
98
+ //# sourceMappingURL=Rxjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rxjs.js","sourceRoot":"","sources":["../../src/utils/Rxjs.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsyncSubject, BehaviorSubject, ReplaySubject, Subject, Subscription } from \"rxjs\";\nimport Singleton from \"../singleton\";\nimport Lib from \"./Lib\";\n\nexport enum E_SUBJET_TYPE {\n\tSUBJECT = \"subject\",\n\tASYNC_SUBJECT = \"asyncSubject\",\n\tBEHAVIOR_SUBJECT = \"behaviorSubject\",\n\tREPLAY_SUBJECT = \"replaySubject\",\n}\n\nexport type I_RxjsPayload<T> = {\n\tcta: string;\n\tdata: T;\n\tsource?: string;\n};\n\nexport type RxjsNamespaces<T extends string> = T;\n\nexport class Rxjs<T extends string> extends Singleton {\n\tpublic namespaces = new Map<string, RxjsInstance>();\n\n\tcreate(namespace: string, subjectType: E_SUBJET_TYPE = E_SUBJET_TYPE.SUBJECT) {\n\t\tconsole.log(\"Creating namespace\", namespace, subjectType);\n\t\tif (!this.namespaces.has(namespace)) {\n\t\t\tthis.namespaces.set(namespace, new RxjsInstance(subjectType));\n\t\t}\n\t}\n\n\thas(namespace: string) {\n\t\treturn this.namespaces.has(namespace);\n\t}\n\n\tnext<U>(namespace: RxjsNamespaces<T>, rxjsPayload: I_RxjsPayload<U>): void {\n\t\tthis.namespaces.get(namespace)?.next(rxjsPayload);\n\t}\n\n\tsubscribe(namespace: RxjsNamespaces<T>, listener: (payload: I_RxjsPayload<T>) => any): Subscription {\n\t\tconst instance = this.namespaces.get(namespace);\n\t\tif (!instance) {\n\t\t\tthrow new Error(`Namespace ${namespace} not found`);\n\t\t}\n\t\treturn instance.subscribe((payload: I_RxjsPayload<T>) => listener(payload));\n\t}\n\n\tclear(namespace: RxjsNamespaces<T>) {\n\t\tthis.namespaces.get(namespace)?.clear();\n\t}\n}\n\nexport class RxjsInstance {\n\tsubscriptions: Subscription;\n\tsubject: Subject<any>;\n\n\tconstructor(subjectType: E_SUBJET_TYPE) {\n\t\tthis.subscriptions = new Subscription();\n\t\tswitch (subjectType) {\n\t\t\tcase E_SUBJET_TYPE.SUBJECT:\n\t\t\t\tthis.subject = new Subject();\n\t\t\t\tbreak;\n\t\t\tcase E_SUBJET_TYPE.ASYNC_SUBJECT:\n\t\t\t\tthis.subject = new AsyncSubject();\n\t\t\t\tbreak;\n\t\t\tcase E_SUBJET_TYPE.BEHAVIOR_SUBJECT:\n\t\t\t\tthis.subject = new BehaviorSubject(null);\n\t\t\t\tbreak;\n\t\t\tcase E_SUBJET_TYPE.REPLAY_SUBJECT:\n\t\t\t\tthis.subject = new ReplaySubject();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.subject = new Subject();\n\t\t}\n\t}\n\n\tnext(data: any) {\n\t\tthis.subject.next(data);\n\t}\n\n\tasObservable() {\n\t\treturn this.subject.asObservable();\n\t}\n\n\tclear() {\n\t\tif (this.subject instanceof ReplaySubject) {\n\t\t\t// Get the current subscribers\n\t\t\tconst currentSubscribers = (this.subject as any)._subscribers;\n\n\t\t\t// Create a new ReplaySubject with same buffer config\n\t\t\tconst bufferSize = (this.subject as any)._bufferSize;\n\t\t\tconst windowTime = (this.subject as any)._windowTime;\n\t\t\tconst newSubject = new ReplaySubject(bufferSize, windowTime);\n\n\t\t\t// Transfer subscribers to new subject\n\t\t\tnewSubject.subscribe(currentSubscribers);\n\n\t\t\t// Replace the old subject\n\t\t\tthis.subject = newSubject;\n\t\t}\n\t}\n\n\tset add(subscription: Subscription) {\n\t\tthis.subscriptions.add(subscription);\n\t}\n\n\tsubscribe<U>(callback: (payload: I_RxjsPayload<U>) => void): Subscription {\n\t\tif (typeof callback !== \"function\") {\n\t\t\tthrow \"Failed to subscribe. Please provide a callback function\";\n\t\t}\n\n\t\tconst subscriber = this.asObservable().subscribe((payload: I_RxjsPayload<U>) => {\n\t\t\tif (Lib.IsNumpty(payload) || !payload.hasOwnProperty(\"cta\")) return;\n\t\t\tcallback(payload);\n\t\t});\n\n\t\tthis.subscriptions.add(subscriber);\n\t\treturn subscriber;\n\t}\n\n\tunsubscribe() {\n\t\tthis.subscriptions.unsubscribe();\n\t}\n}\n"]}
@@ -1,3 +1,4 @@
1
+ export * from './Rxjs';
1
2
  export * from './Guards';
2
3
  export * from './Lib';
3
4
  export * from './Console';
@@ -1,5 +1,6 @@
1
1
  // This file is auto-generated by scripts/generate-indexes.ts
2
2
  // Do not edit this file directly
3
+ export * from './Rxjs';
3
4
  export * from './Guards';
4
5
  export * from './Lib';
5
6
  export * from './Console';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,iCAAiC;AAEjC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-indexes.ts\n// Do not edit this file directly\n\nexport * from './Guards';\nexport * from './Lib';\nexport * from './Console';\nexport { default as Guards } from './Guards';\nexport { default as Lib } from './Lib';\nexport { default as Console } from './Console';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,iCAAiC;AAEjC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-indexes.ts\n// Do not edit this file directly\n\nexport * from './Rxjs';\nexport * from './Guards';\nexport * from './Lib';\nexport * from './Console';\nexport { default as Guards } from './Guards';\nexport { default as Lib } from './Lib';\nexport { default as Console } from './Console';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topsyde-utils",
3
- "version": "1.0.181",
3
+ "version": "1.0.183",
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
  ],
@@ -1,5 +1,4 @@
1
1
  // This file is auto-generated by scripts/generate-indexes.ts
2
2
  // Do not edit this file directly
3
3
 
4
- export * from './rxjs';
5
4
  export * from './useRxjs';
@@ -1,7 +1,7 @@
1
1
  import { Subscription } from "rxjs";
2
- import { computed, onBeforeUnmount, onMounted, ref } from "vue";
3
- import { Rxjs, RxjsNamespaces, I_RxjsPayload } from "./rxjs";
2
+ import { onBeforeUnmount, onMounted, ref } from "vue";
4
3
  import { Guards, Lib } from "../../utils";
4
+ import { I_RxjsPayload, Rxjs, RxjsNamespaces } from "../../utils/Rxjs";
5
5
 
6
6
  export type RxjsDataType = string | Record<string, any>;
7
7
  type NamespaceActions = Record<string, Function>;
package/src/index.ts CHANGED
@@ -10,11 +10,11 @@ export * from "./consts";
10
10
  export * from "./types";
11
11
  export * from "./throwable";
12
12
  export * from "./enums";
13
- export * from "./client/rxjs/rxjs";
14
13
  export * from "./client/rxjs/useRxjs";
15
14
  export * from "./client/vite/plugins/topsydeUtilsVitePlugin";
16
15
  export * from "./server/controller";
17
16
  export * from "./server/service";
17
+ export * from "./server/base/base.database";
18
18
  export * from "./server/bun/router/controller-discovery";
19
19
  export * from "./server/bun/router/routes";
20
20
  export * from "./server/bun/router/router";
@@ -26,6 +26,7 @@ export * from "./server/bun/websocket/websocket.enums";
26
26
  export * from "./server/bun/websocket/websocket.types";
27
27
  export * from "./server/bun/websocket/Message";
28
28
  export * from "./server/bun/websocket/Channel";
29
+ export * from "./utils/Rxjs";
29
30
  export * from "./utils/Guards";
30
31
  export * from "./utils/Lib";
31
32
  export * from "./utils/Console";
@@ -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";
@@ -55,7 +57,6 @@ export { RESPONSE_INIT, HEADERS_INIT, RESPONSE_METHOD_OPTIONS } from "./applicat
55
57
  export { DEFAULT_FALSE_RESPONSE, LOG_COLORS, LOG_ICONS } from "./consts";
56
58
  export { ClassConstructor, NonNullableType, ObjectKeys, KVObj, I_ApplicationResponse } from "./types";
57
59
  export { E_IS, E_ENVIRONMENTS } from "./enums";
58
- export { E_SUBJET_TYPE, I_RxjsPayload, RxjsNamespaces } from "./client/rxjs/rxjs";
59
60
  export { RxjsDataType } from "./client/rxjs/useRxjs";
60
61
  export { ControllerResponse, ControllerAction, ControllerMap, ControllerOptions } from "./server/controller";
61
62
  export { Routes } from "./server/bun/router/routes";
@@ -79,3 +80,4 @@ export {
79
80
  WebsocketInterfaceHandlers,
80
81
  I_WebsocketInterface,
81
82
  } from "./server/bun/websocket/websocket.types";
83
+ export { E_SUBJET_TYPE, I_RxjsPayload, RxjsNamespaces } from "./utils/Rxjs";
@@ -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;
@@ -0,0 +1,5 @@
1
+ // This file is auto-generated by scripts/generate-indexes.ts
2
+ // Do not edit this file directly
3
+
4
+ export * from './base.database';
5
+ export { default as Database } from './base.database';
@@ -1,6 +1,6 @@
1
1
  import { AsyncSubject, BehaviorSubject, ReplaySubject, Subject, Subscription } from "rxjs";
2
- import { Lib } from "../../utils";
3
- import { Singleton } from "../..";
2
+ import Singleton from "../singleton";
3
+ import Lib from "./Lib";
4
4
 
5
5
  export enum E_SUBJET_TYPE {
6
6
  SUBJECT = "subject",
@@ -1,6 +1,7 @@
1
1
  // This file is auto-generated by scripts/generate-indexes.ts
2
2
  // Do not edit this file directly
3
3
 
4
+ export * from './Rxjs';
4
5
  export * from './Guards';
5
6
  export * from './Lib';
6
7
  export * from './Console';
@@ -1 +0,0 @@
1
- {"version":3,"file":"rxjs.js","sourceRoot":"","sources":["../../../src/client/rxjs/rxjs.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsyncSubject, BehaviorSubject, ReplaySubject, Subject, Subscription } from \"rxjs\";\nimport { Lib } from \"../../utils\";\nimport { Singleton } from \"../..\";\n\nexport enum E_SUBJET_TYPE {\n\tSUBJECT = \"subject\",\n\tASYNC_SUBJECT = \"asyncSubject\",\n\tBEHAVIOR_SUBJECT = \"behaviorSubject\",\n\tREPLAY_SUBJECT = \"replaySubject\",\n}\n\nexport type I_RxjsPayload<T> = {\n\tcta: string;\n\tdata: T;\n\tsource?: string;\n};\n\nexport type RxjsNamespaces<T extends string> = T;\n\nexport class Rxjs<T extends string> extends Singleton {\n\tpublic namespaces = new Map<string, RxjsInstance>();\n\n\tcreate(namespace: string, subjectType: E_SUBJET_TYPE = E_SUBJET_TYPE.SUBJECT) {\n\t\tconsole.log(\"Creating namespace\", namespace, subjectType);\n\t\tif (!this.namespaces.has(namespace)) {\n\t\t\tthis.namespaces.set(namespace, new RxjsInstance(subjectType));\n\t\t}\n\t}\n\n\thas(namespace: string) {\n\t\treturn this.namespaces.has(namespace);\n\t}\n\n\tnext<U>(namespace: RxjsNamespaces<T>, rxjsPayload: I_RxjsPayload<U>): void {\n\t\tthis.namespaces.get(namespace)?.next(rxjsPayload);\n\t}\n\n\tsubscribe(namespace: RxjsNamespaces<T>, listener: (payload: I_RxjsPayload<T>) => any): Subscription {\n\t\tconst instance = this.namespaces.get(namespace);\n\t\tif (!instance) {\n\t\t\tthrow new Error(`Namespace ${namespace} not found`);\n\t\t}\n\t\treturn instance.subscribe((payload: I_RxjsPayload<T>) => listener(payload));\n\t}\n\n\tclear(namespace: RxjsNamespaces<T>) {\n\t\tthis.namespaces.get(namespace)?.clear();\n\t}\n}\n\nexport class RxjsInstance {\n\tsubscriptions: Subscription;\n\tsubject: Subject<any>;\n\n\tconstructor(subjectType: E_SUBJET_TYPE) {\n\t\tthis.subscriptions = new Subscription();\n\t\tswitch (subjectType) {\n\t\t\tcase E_SUBJET_TYPE.SUBJECT:\n\t\t\t\tthis.subject = new Subject();\n\t\t\t\tbreak;\n\t\t\tcase E_SUBJET_TYPE.ASYNC_SUBJECT:\n\t\t\t\tthis.subject = new AsyncSubject();\n\t\t\t\tbreak;\n\t\t\tcase E_SUBJET_TYPE.BEHAVIOR_SUBJECT:\n\t\t\t\tthis.subject = new BehaviorSubject(null);\n\t\t\t\tbreak;\n\t\t\tcase E_SUBJET_TYPE.REPLAY_SUBJECT:\n\t\t\t\tthis.subject = new ReplaySubject();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.subject = new Subject();\n\t\t}\n\t}\n\n\tnext(data: any) {\n\t\tthis.subject.next(data);\n\t}\n\n\tasObservable() {\n\t\treturn this.subject.asObservable();\n\t}\n\n\tclear() {\n\t\tif (this.subject instanceof ReplaySubject) {\n\t\t\t// Get the current subscribers\n\t\t\tconst currentSubscribers = (this.subject as any)._subscribers;\n\n\t\t\t// Create a new ReplaySubject with same buffer config\n\t\t\tconst bufferSize = (this.subject as any)._bufferSize;\n\t\t\tconst windowTime = (this.subject as any)._windowTime;\n\t\t\tconst newSubject = new ReplaySubject(bufferSize, windowTime);\n\n\t\t\t// Transfer subscribers to new subject\n\t\t\tnewSubject.subscribe(currentSubscribers);\n\n\t\t\t// Replace the old subject\n\t\t\tthis.subject = newSubject;\n\t\t}\n\t}\n\n\tset add(subscription: Subscription) {\n\t\tthis.subscriptions.add(subscription);\n\t}\n\n\tsubscribe<U>(callback: (payload: I_RxjsPayload<U>) => void): Subscription {\n\t\tif (typeof callback !== \"function\") {\n\t\t\tthrow \"Failed to subscribe. Please provide a callback function\";\n\t\t}\n\n\t\tconst subscriber = this.asObservable().subscribe((payload: I_RxjsPayload<U>) => {\n\t\t\tif (Lib.IsNumpty(payload) || !payload.hasOwnProperty(\"cta\")) return;\n\t\t\tcallback(payload);\n\t\t});\n\n\t\tthis.subscriptions.add(subscriber);\n\t\treturn subscriber;\n\t}\n\n\tunsubscribe() {\n\t\tthis.subscriptions.unsubscribe();\n\t}\n}\n"]}