@adaas/a-utils 0.3.5 → 0.3.6
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/browser/a-service.mjs +12 -12
- package/dist/browser/a-service.mjs.map +1 -1
- package/dist/browser/a-signal.d.mts +34 -9
- package/dist/browser/a-signal.mjs +66 -7
- package/dist/browser/a-signal.mjs.map +1 -1
- package/dist/node/{A-Signal.types-P5VKMKMs.d.mts → A-Signal.types-C0Ta5Unp.d.mts} +6 -6
- package/dist/node/{A-Signal.types-P5VKMKMs.d.ts → A-Signal.types-C0Ta5Unp.d.ts} +6 -6
- package/dist/node/lib/A-Service/A-Service.container.js +12 -12
- package/dist/node/lib/A-Service/A-Service.container.js.map +1 -1
- package/dist/node/lib/A-Service/A-Service.container.mjs +12 -12
- package/dist/node/lib/A-Service/A-Service.container.mjs.map +1 -1
- package/dist/node/lib/A-Signal/A-Signal.types.d.mts +1 -1
- package/dist/node/lib/A-Signal/A-Signal.types.d.ts +1 -1
- package/dist/node/lib/A-Signal/components/A-SignalBus.component.d.mts +1 -1
- package/dist/node/lib/A-Signal/components/A-SignalBus.component.d.ts +1 -1
- package/dist/node/lib/A-Signal/context/A-SignalConfig.context.d.mts +1 -1
- package/dist/node/lib/A-Signal/context/A-SignalConfig.context.d.ts +1 -1
- package/dist/node/lib/A-Signal/context/A-SignalState.context.d.mts +1 -1
- package/dist/node/lib/A-Signal/context/A-SignalState.context.d.ts +1 -1
- package/dist/node/lib/A-Signal/entities/A-Signal.entity.d.mts +1 -1
- package/dist/node/lib/A-Signal/entities/A-Signal.entity.d.ts +1 -1
- package/dist/node/lib/A-Signal/entities/A-Signal.entity.js +1 -1
- package/dist/node/lib/A-Signal/entities/A-Signal.entity.js.map +1 -1
- package/dist/node/lib/A-Signal/entities/A-Signal.entity.mjs +1 -1
- package/dist/node/lib/A-Signal/entities/A-Signal.entity.mjs.map +1 -1
- package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.d.mts +29 -4
- package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.d.ts +29 -4
- package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.js +64 -5
- package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.js.map +1 -1
- package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.mjs +65 -6
- package/dist/node/lib/A-Signal/entities/A-SignalVector.entity.mjs.map +1 -1
- package/dist/node/lib/A-Signal/index.d.mts +1 -1
- package/dist/node/lib/A-Signal/index.d.ts +1 -1
- package/package.json +3 -3
- package/src/lib/A-Service/A-Service.container.ts +12 -12
- package/src/lib/A-Signal/A-Signal.types.ts +2 -2
- package/src/lib/A-Signal/entities/A-Signal.entity.ts +9 -8
- package/src/lib/A-Signal/entities/A-SignalVector.entity.ts +80 -11
- package/tests/A-Signal.test.ts +11 -11
|
@@ -13,7 +13,7 @@ import { A_Entity, A_TYPES__Entity_Serialized, A_TYPES__Entity_Constructor } fro
|
|
|
13
13
|
* Signals are typically used in scenarios where the current state is more important than individual events,
|
|
14
14
|
* such as monitoring systems, real-time dashboards, or stateful applications.
|
|
15
15
|
*/
|
|
16
|
-
declare class A_Signal<_TSignalDataType extends
|
|
16
|
+
declare class A_Signal<_TSignalDataType extends any = any, _TSignalSerializedDataType extends any = _TSignalDataType> extends A_Entity<A_Signal_Init<_TSignalDataType>, A_Signal_Serialized<_TSignalSerializedDataType>> {
|
|
17
17
|
/**
|
|
18
18
|
* Allows to define default data for the signal.
|
|
19
19
|
*
|
|
@@ -21,7 +21,7 @@ declare class A_Signal<_TSignalDataType extends Record<string, any> = Record<str
|
|
|
21
21
|
*
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
|
-
static default():
|
|
24
|
+
static default(): A_Signal | undefined;
|
|
25
25
|
/**
|
|
26
26
|
* The actual data carried by the signal.
|
|
27
27
|
*/
|
|
@@ -54,9 +54,9 @@ declare class A_Signal<_TSignalDataType extends Record<string, any> = Record<str
|
|
|
54
54
|
* @returns
|
|
55
55
|
*/
|
|
56
56
|
compare(other: A_Signal<_TSignalDataType>): boolean;
|
|
57
|
-
fromJSON(serializedEntity: A_Signal_Serialized<
|
|
57
|
+
fromJSON(serializedEntity: A_Signal_Serialized<_TSignalSerializedDataType>): void;
|
|
58
58
|
fromNew(newEntity: A_Signal_Init<_TSignalDataType>): void;
|
|
59
|
-
toJSON(): A_Signal_Serialized<
|
|
59
|
+
toJSON(): A_Signal_Serialized<_TSignalSerializedDataType>;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
type A_SignalConfig_Init<TSignals extends Array<A_Signal> = Array<A_Signal>> = {
|
|
@@ -88,7 +88,7 @@ type A_SignalVector_Serialized = A_TYPES__Entity_Serialized & {
|
|
|
88
88
|
structure: string[];
|
|
89
89
|
values: Array<Record<string, any>>;
|
|
90
90
|
} & A_TYPES__Entity_Serialized;
|
|
91
|
-
type A_Signal_Init<T extends
|
|
91
|
+
type A_Signal_Init<T extends any = any> = {
|
|
92
92
|
/**
|
|
93
93
|
* Possible signal id
|
|
94
94
|
*
|
|
@@ -104,7 +104,7 @@ type A_Signal_Init<T extends Record<string, any> = Record<string, any>> = {
|
|
|
104
104
|
*/
|
|
105
105
|
data: T;
|
|
106
106
|
};
|
|
107
|
-
type A_Signal_Serialized<T extends
|
|
107
|
+
type A_Signal_Serialized<T extends any = any> = {
|
|
108
108
|
/**
|
|
109
109
|
* The signal data
|
|
110
110
|
*/
|
|
@@ -13,7 +13,7 @@ import { A_Entity, A_TYPES__Entity_Serialized, A_TYPES__Entity_Constructor } fro
|
|
|
13
13
|
* Signals are typically used in scenarios where the current state is more important than individual events,
|
|
14
14
|
* such as monitoring systems, real-time dashboards, or stateful applications.
|
|
15
15
|
*/
|
|
16
|
-
declare class A_Signal<_TSignalDataType extends
|
|
16
|
+
declare class A_Signal<_TSignalDataType extends any = any, _TSignalSerializedDataType extends any = _TSignalDataType> extends A_Entity<A_Signal_Init<_TSignalDataType>, A_Signal_Serialized<_TSignalSerializedDataType>> {
|
|
17
17
|
/**
|
|
18
18
|
* Allows to define default data for the signal.
|
|
19
19
|
*
|
|
@@ -21,7 +21,7 @@ declare class A_Signal<_TSignalDataType extends Record<string, any> = Record<str
|
|
|
21
21
|
*
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
|
-
static default():
|
|
24
|
+
static default(): A_Signal | undefined;
|
|
25
25
|
/**
|
|
26
26
|
* The actual data carried by the signal.
|
|
27
27
|
*/
|
|
@@ -54,9 +54,9 @@ declare class A_Signal<_TSignalDataType extends Record<string, any> = Record<str
|
|
|
54
54
|
* @returns
|
|
55
55
|
*/
|
|
56
56
|
compare(other: A_Signal<_TSignalDataType>): boolean;
|
|
57
|
-
fromJSON(serializedEntity: A_Signal_Serialized<
|
|
57
|
+
fromJSON(serializedEntity: A_Signal_Serialized<_TSignalSerializedDataType>): void;
|
|
58
58
|
fromNew(newEntity: A_Signal_Init<_TSignalDataType>): void;
|
|
59
|
-
toJSON(): A_Signal_Serialized<
|
|
59
|
+
toJSON(): A_Signal_Serialized<_TSignalSerializedDataType>;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
type A_SignalConfig_Init<TSignals extends Array<A_Signal> = Array<A_Signal>> = {
|
|
@@ -88,7 +88,7 @@ type A_SignalVector_Serialized = A_TYPES__Entity_Serialized & {
|
|
|
88
88
|
structure: string[];
|
|
89
89
|
values: Array<Record<string, any>>;
|
|
90
90
|
} & A_TYPES__Entity_Serialized;
|
|
91
|
-
type A_Signal_Init<T extends
|
|
91
|
+
type A_Signal_Init<T extends any = any> = {
|
|
92
92
|
/**
|
|
93
93
|
* Possible signal id
|
|
94
94
|
*
|
|
@@ -104,7 +104,7 @@ type A_Signal_Init<T extends Record<string, any> = Record<string, any>> = {
|
|
|
104
104
|
*/
|
|
105
105
|
data: T;
|
|
106
106
|
};
|
|
107
|
-
type A_Signal_Serialized<T extends
|
|
107
|
+
type A_Signal_Serialized<T extends any = any> = {
|
|
108
108
|
/**
|
|
109
109
|
* The signal data
|
|
110
110
|
*/
|
|
@@ -25,9 +25,9 @@ exports.A_Service = class A_Service extends aConcept.A_Container {
|
|
|
25
25
|
*/
|
|
26
26
|
async load() {
|
|
27
27
|
try {
|
|
28
|
-
await this.call(AService_constants.A_ServiceFeatures.onBeforeLoad);
|
|
29
|
-
await this.call(AService_constants.A_ServiceFeatures.onLoad);
|
|
30
|
-
await this.call(AService_constants.A_ServiceFeatures.onAfterLoad);
|
|
28
|
+
await this.call(AService_constants.A_ServiceFeatures.onBeforeLoad, this.scope);
|
|
29
|
+
await this.call(AService_constants.A_ServiceFeatures.onLoad, this.scope);
|
|
30
|
+
await this.call(AService_constants.A_ServiceFeatures.onAfterLoad, this.scope);
|
|
31
31
|
} catch (error) {
|
|
32
32
|
let wrappedError;
|
|
33
33
|
switch (true) {
|
|
@@ -46,7 +46,7 @@ exports.A_Service = class A_Service extends aConcept.A_Container {
|
|
|
46
46
|
break;
|
|
47
47
|
}
|
|
48
48
|
this.scope.register(wrappedError);
|
|
49
|
-
await this.call(AService_constants.A_ServiceFeatures.onError);
|
|
49
|
+
await this.call(AService_constants.A_ServiceFeatures.onError, this.scope);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
@@ -54,9 +54,9 @@ exports.A_Service = class A_Service extends aConcept.A_Container {
|
|
|
54
54
|
*/
|
|
55
55
|
async start() {
|
|
56
56
|
try {
|
|
57
|
-
await this.call(AService_constants.A_ServiceFeatures.onBeforeStart);
|
|
58
|
-
await this.call(AService_constants.A_ServiceFeatures.onStart);
|
|
59
|
-
await this.call(AService_constants.A_ServiceFeatures.onAfterStart);
|
|
57
|
+
await this.call(AService_constants.A_ServiceFeatures.onBeforeStart, this.scope);
|
|
58
|
+
await this.call(AService_constants.A_ServiceFeatures.onStart, this.scope);
|
|
59
|
+
await this.call(AService_constants.A_ServiceFeatures.onAfterStart, this.scope);
|
|
60
60
|
} catch (error) {
|
|
61
61
|
let wrappedError;
|
|
62
62
|
switch (true) {
|
|
@@ -75,7 +75,7 @@ exports.A_Service = class A_Service extends aConcept.A_Container {
|
|
|
75
75
|
break;
|
|
76
76
|
}
|
|
77
77
|
this.scope.register(wrappedError);
|
|
78
|
-
await this.call(AService_constants.A_ServiceFeatures.onError);
|
|
78
|
+
await this.call(AService_constants.A_ServiceFeatures.onError, this.scope);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
@@ -83,9 +83,9 @@ exports.A_Service = class A_Service extends aConcept.A_Container {
|
|
|
83
83
|
*/
|
|
84
84
|
async stop() {
|
|
85
85
|
try {
|
|
86
|
-
await this.call(AService_constants.A_ServiceFeatures.onBeforeStop);
|
|
87
|
-
await this.call(AService_constants.A_ServiceFeatures.onStop);
|
|
88
|
-
await this.call(AService_constants.A_ServiceFeatures.onAfterStop);
|
|
86
|
+
await this.call(AService_constants.A_ServiceFeatures.onBeforeStop, this.scope);
|
|
87
|
+
await this.call(AService_constants.A_ServiceFeatures.onStop, this.scope);
|
|
88
|
+
await this.call(AService_constants.A_ServiceFeatures.onAfterStop, this.scope);
|
|
89
89
|
} catch (error) {
|
|
90
90
|
let wrappedError;
|
|
91
91
|
switch (true) {
|
|
@@ -104,7 +104,7 @@ exports.A_Service = class A_Service extends aConcept.A_Container {
|
|
|
104
104
|
break;
|
|
105
105
|
}
|
|
106
106
|
this.scope.register(wrappedError);
|
|
107
|
-
await this.call(AService_constants.A_ServiceFeatures.onError);
|
|
107
|
+
await this.call(AService_constants.A_ServiceFeatures.onError, this.scope);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
async [_j = AService_constants.A_ServiceFeatures.onBeforeLoad](polyfill, ...args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/A-Service/A-Service.container.ts"],"names":["A_Service","A_Container","A_ServiceFeatures","A_Service_Error","A_Error","A_Polyfill","A_Concept","A_Feature","A_Logger","A_Frame"],"mappings":"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","file":"A-Service.container.js","sourcesContent":["import { A_Concept, A_Container, A_Error, A_Feature, A_Inject } from \"@adaas/a-concept\";\nimport { A_ServiceFeatures } from \"./A-Service.constants\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_Service_Error } from \"./A-Service.error\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { A_Polyfill } from '@adaas/a-utils/a-polyfill';\n\n\n\n/**\n * A-Service is a container that can run different types of services, such as HTTP servers, workers, etc.\n * Depending on the provided config and configuration, it will load the necessary components and start the service.\n * \n */\n@A_Frame.Container({\n namespace: 'A-Utils',\n name: 'A-Service',\n description: 'Service container that manages the lifecycle of various types of services, such as HTTP servers and workers or UI loader. It dynamically loads necessary components based on the provided configuration and orchestrates the start and stop processes, ensuring proper error handling and extensibility through feature hooks.'\n})\nexport class A_Service extends A_Container {\n\n\n @A_Concept.Load()\n /**\n * Load the service\n */\n async load() {\n try {\n await this.call(A_ServiceFeatures.onBeforeLoad);\n\n await this.call(A_ServiceFeatures.onLoad);\n\n await this.call(A_ServiceFeatures.onAfterLoad);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceLoadError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError);\n }\n\n }\n\n\n @A_Concept.Start()\n /**\n * Start the server\n */\n async start() {\n try {\n await this.call(A_ServiceFeatures.onBeforeStart);\n\n await this.call(A_ServiceFeatures.onStart);\n\n await this.call(A_ServiceFeatures.onAfterStart);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceStartError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError);\n }\n\n }\n\n @A_Concept.Stop()\n /**\n * Stop the server\n */\n async stop() {\n try {\n await this.call(A_ServiceFeatures.onBeforeStop);\n\n await this.call(A_ServiceFeatures.onStop);\n\n await this.call(A_ServiceFeatures.onAfterStop);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceStopError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError);\n }\n }\n\n\n\n\n // ======================================================================================\n // ============================= A-Service Lifecycle =================================\n // ======================================================================================\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeLoad](\n @A_Inject(A_Polyfill) polyfill: A_Polyfill,\n ...args: any[]\n ): Promise<void> {\n // Initialize Polyfill\n if (!polyfill) {\n this.scope.register(A_Polyfill);\n polyfill = this.scope.resolve(A_Polyfill)!\n }\n }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onLoad](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterLoad](...args: any[]) { }\n\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeStart](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onStart](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterStart](...args: any[]) { }\n\n\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeStop](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onStop](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterStop](...args: any[]) { }\n\n\n\n @A_Feature.Extend({\n before: /.*/\n })\n protected async [A_ServiceFeatures.onError](\n @A_Inject(A_Error) error: A_Error,\n @A_Inject(A_Logger) logger?: A_Logger,\n ...args: any[]\n ) {\n logger?.error(error);\n }\n\n}\n\n\n\n\n\n\n\n\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/A-Service/A-Service.container.ts"],"names":["A_Service","A_Container","A_ServiceFeatures","A_Service_Error","A_Error","A_Polyfill","A_Concept","A_Feature","A_Logger","A_Frame"],"mappings":"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","file":"A-Service.container.js","sourcesContent":["import { A_Concept, A_Container, A_Error, A_Feature, A_Inject } from \"@adaas/a-concept\";\nimport { A_ServiceFeatures } from \"./A-Service.constants\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_Service_Error } from \"./A-Service.error\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { A_Polyfill } from '@adaas/a-utils/a-polyfill';\n\n\n\n/**\n * A-Service is a container that can run different types of services, such as HTTP servers, workers, etc.\n * Depending on the provided config and configuration, it will load the necessary components and start the service.\n * \n */\n@A_Frame.Container({\n namespace: 'A-Utils',\n name: 'A-Service',\n description: 'Service container that manages the lifecycle of various types of services, such as HTTP servers and workers or UI loader. It dynamically loads necessary components based on the provided configuration and orchestrates the start and stop processes, ensuring proper error handling and extensibility through feature hooks.'\n})\nexport class A_Service extends A_Container {\n\n\n @A_Concept.Load()\n /**\n * Load the service\n */\n async load() {\n try {\n await this.call(A_ServiceFeatures.onBeforeLoad, this.scope);\n\n await this.call(A_ServiceFeatures.onLoad, this.scope);\n\n await this.call(A_ServiceFeatures.onAfterLoad, this.scope);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceLoadError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError, this.scope);\n }\n\n }\n\n\n @A_Concept.Start()\n /**\n * Start the server\n */\n async start() {\n try {\n await this.call(A_ServiceFeatures.onBeforeStart, this.scope);\n\n await this.call(A_ServiceFeatures.onStart, this.scope);\n\n await this.call(A_ServiceFeatures.onAfterStart, this.scope);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceStartError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError, this.scope);\n }\n\n }\n\n @A_Concept.Stop()\n /**\n * Stop the server\n */\n async stop() {\n try {\n await this.call(A_ServiceFeatures.onBeforeStop, this.scope);\n\n await this.call(A_ServiceFeatures.onStop, this.scope);\n\n await this.call(A_ServiceFeatures.onAfterStop, this.scope);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceStopError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError, this.scope);\n }\n }\n\n\n\n\n // ======================================================================================\n // ============================= A-Service Lifecycle =================================\n // ======================================================================================\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeLoad](\n @A_Inject(A_Polyfill) polyfill: A_Polyfill,\n ...args: any[]\n ): Promise<void> {\n // Initialize Polyfill\n if (!polyfill) {\n this.scope.register(A_Polyfill);\n polyfill = this.scope.resolve(A_Polyfill)!\n }\n }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onLoad](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterLoad](...args: any[]) { }\n\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeStart](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onStart](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterStart](...args: any[]) { }\n\n\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeStop](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onStop](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterStop](...args: any[]) { }\n\n\n\n @A_Feature.Extend({\n before: /.*/\n })\n protected async [A_ServiceFeatures.onError](\n @A_Inject(A_Error) error: A_Error,\n @A_Inject(A_Logger) logger?: A_Logger,\n ...args: any[]\n ) {\n logger?.error(error);\n }\n\n}\n\n\n\n\n\n\n\n\n"]}
|
|
@@ -13,9 +13,9 @@ let A_Service = class extends A_Container {
|
|
|
13
13
|
*/
|
|
14
14
|
async load() {
|
|
15
15
|
try {
|
|
16
|
-
await this.call(A_ServiceFeatures.onBeforeLoad);
|
|
17
|
-
await this.call(A_ServiceFeatures.onLoad);
|
|
18
|
-
await this.call(A_ServiceFeatures.onAfterLoad);
|
|
16
|
+
await this.call(A_ServiceFeatures.onBeforeLoad, this.scope);
|
|
17
|
+
await this.call(A_ServiceFeatures.onLoad, this.scope);
|
|
18
|
+
await this.call(A_ServiceFeatures.onAfterLoad, this.scope);
|
|
19
19
|
} catch (error) {
|
|
20
20
|
let wrappedError;
|
|
21
21
|
switch (true) {
|
|
@@ -34,7 +34,7 @@ let A_Service = class extends A_Container {
|
|
|
34
34
|
break;
|
|
35
35
|
}
|
|
36
36
|
this.scope.register(wrappedError);
|
|
37
|
-
await this.call(A_ServiceFeatures.onError);
|
|
37
|
+
await this.call(A_ServiceFeatures.onError, this.scope);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
@@ -42,9 +42,9 @@ let A_Service = class extends A_Container {
|
|
|
42
42
|
*/
|
|
43
43
|
async start() {
|
|
44
44
|
try {
|
|
45
|
-
await this.call(A_ServiceFeatures.onBeforeStart);
|
|
46
|
-
await this.call(A_ServiceFeatures.onStart);
|
|
47
|
-
await this.call(A_ServiceFeatures.onAfterStart);
|
|
45
|
+
await this.call(A_ServiceFeatures.onBeforeStart, this.scope);
|
|
46
|
+
await this.call(A_ServiceFeatures.onStart, this.scope);
|
|
47
|
+
await this.call(A_ServiceFeatures.onAfterStart, this.scope);
|
|
48
48
|
} catch (error) {
|
|
49
49
|
let wrappedError;
|
|
50
50
|
switch (true) {
|
|
@@ -63,7 +63,7 @@ let A_Service = class extends A_Container {
|
|
|
63
63
|
break;
|
|
64
64
|
}
|
|
65
65
|
this.scope.register(wrappedError);
|
|
66
|
-
await this.call(A_ServiceFeatures.onError);
|
|
66
|
+
await this.call(A_ServiceFeatures.onError, this.scope);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
@@ -71,9 +71,9 @@ let A_Service = class extends A_Container {
|
|
|
71
71
|
*/
|
|
72
72
|
async stop() {
|
|
73
73
|
try {
|
|
74
|
-
await this.call(A_ServiceFeatures.onBeforeStop);
|
|
75
|
-
await this.call(A_ServiceFeatures.onStop);
|
|
76
|
-
await this.call(A_ServiceFeatures.onAfterStop);
|
|
74
|
+
await this.call(A_ServiceFeatures.onBeforeStop, this.scope);
|
|
75
|
+
await this.call(A_ServiceFeatures.onStop, this.scope);
|
|
76
|
+
await this.call(A_ServiceFeatures.onAfterStop, this.scope);
|
|
77
77
|
} catch (error) {
|
|
78
78
|
let wrappedError;
|
|
79
79
|
switch (true) {
|
|
@@ -92,7 +92,7 @@ let A_Service = class extends A_Container {
|
|
|
92
92
|
break;
|
|
93
93
|
}
|
|
94
94
|
this.scope.register(wrappedError);
|
|
95
|
-
await this.call(A_ServiceFeatures.onError);
|
|
95
|
+
await this.call(A_ServiceFeatures.onError, this.scope);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
async [_j = A_ServiceFeatures.onBeforeLoad](polyfill, ...args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/A-Service/A-Service.container.ts"],"names":[],"mappings":"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","file":"A-Service.container.mjs","sourcesContent":["import { A_Concept, A_Container, A_Error, A_Feature, A_Inject } from \"@adaas/a-concept\";\nimport { A_ServiceFeatures } from \"./A-Service.constants\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_Service_Error } from \"./A-Service.error\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { A_Polyfill } from '@adaas/a-utils/a-polyfill';\n\n\n\n/**\n * A-Service is a container that can run different types of services, such as HTTP servers, workers, etc.\n * Depending on the provided config and configuration, it will load the necessary components and start the service.\n * \n */\n@A_Frame.Container({\n namespace: 'A-Utils',\n name: 'A-Service',\n description: 'Service container that manages the lifecycle of various types of services, such as HTTP servers and workers or UI loader. It dynamically loads necessary components based on the provided configuration and orchestrates the start and stop processes, ensuring proper error handling and extensibility through feature hooks.'\n})\nexport class A_Service extends A_Container {\n\n\n @A_Concept.Load()\n /**\n * Load the service\n */\n async load() {\n try {\n await this.call(A_ServiceFeatures.onBeforeLoad);\n\n await this.call(A_ServiceFeatures.onLoad);\n\n await this.call(A_ServiceFeatures.onAfterLoad);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceLoadError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError);\n }\n\n }\n\n\n @A_Concept.Start()\n /**\n * Start the server\n */\n async start() {\n try {\n await this.call(A_ServiceFeatures.onBeforeStart);\n\n await this.call(A_ServiceFeatures.onStart);\n\n await this.call(A_ServiceFeatures.onAfterStart);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceStartError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError);\n }\n\n }\n\n @A_Concept.Stop()\n /**\n * Stop the server\n */\n async stop() {\n try {\n await this.call(A_ServiceFeatures.onBeforeStop);\n\n await this.call(A_ServiceFeatures.onStop);\n\n await this.call(A_ServiceFeatures.onAfterStop);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceStopError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError);\n }\n }\n\n\n\n\n // ======================================================================================\n // ============================= A-Service Lifecycle =================================\n // ======================================================================================\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeLoad](\n @A_Inject(A_Polyfill) polyfill: A_Polyfill,\n ...args: any[]\n ): Promise<void> {\n // Initialize Polyfill\n if (!polyfill) {\n this.scope.register(A_Polyfill);\n polyfill = this.scope.resolve(A_Polyfill)!\n }\n }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onLoad](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterLoad](...args: any[]) { }\n\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeStart](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onStart](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterStart](...args: any[]) { }\n\n\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeStop](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onStop](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterStop](...args: any[]) { }\n\n\n\n @A_Feature.Extend({\n before: /.*/\n })\n protected async [A_ServiceFeatures.onError](\n @A_Inject(A_Error) error: A_Error,\n @A_Inject(A_Logger) logger?: A_Logger,\n ...args: any[]\n ) {\n logger?.error(error);\n }\n\n}\n\n\n\n\n\n\n\n\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/A-Service/A-Service.container.ts"],"names":[],"mappings":"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","file":"A-Service.container.mjs","sourcesContent":["import { A_Concept, A_Container, A_Error, A_Feature, A_Inject } from \"@adaas/a-concept\";\nimport { A_ServiceFeatures } from \"./A-Service.constants\";\nimport { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_Service_Error } from \"./A-Service.error\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { A_Polyfill } from '@adaas/a-utils/a-polyfill';\n\n\n\n/**\n * A-Service is a container that can run different types of services, such as HTTP servers, workers, etc.\n * Depending on the provided config and configuration, it will load the necessary components and start the service.\n * \n */\n@A_Frame.Container({\n namespace: 'A-Utils',\n name: 'A-Service',\n description: 'Service container that manages the lifecycle of various types of services, such as HTTP servers and workers or UI loader. It dynamically loads necessary components based on the provided configuration and orchestrates the start and stop processes, ensuring proper error handling and extensibility through feature hooks.'\n})\nexport class A_Service extends A_Container {\n\n\n @A_Concept.Load()\n /**\n * Load the service\n */\n async load() {\n try {\n await this.call(A_ServiceFeatures.onBeforeLoad, this.scope);\n\n await this.call(A_ServiceFeatures.onLoad, this.scope);\n\n await this.call(A_ServiceFeatures.onAfterLoad, this.scope);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceLoadError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError, this.scope);\n }\n\n }\n\n\n @A_Concept.Start()\n /**\n * Start the server\n */\n async start() {\n try {\n await this.call(A_ServiceFeatures.onBeforeStart, this.scope);\n\n await this.call(A_ServiceFeatures.onStart, this.scope);\n\n await this.call(A_ServiceFeatures.onAfterStart, this.scope);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceStartError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError, this.scope);\n }\n\n }\n\n @A_Concept.Stop()\n /**\n * Stop the server\n */\n async stop() {\n try {\n await this.call(A_ServiceFeatures.onBeforeStop, this.scope);\n\n await this.call(A_ServiceFeatures.onStop, this.scope);\n\n await this.call(A_ServiceFeatures.onAfterStop, this.scope);\n\n } catch (error) {\n\n let wrappedError;\n\n switch (true) {\n case error instanceof A_Service_Error:\n wrappedError = error;\n break;\n\n case error instanceof A_Error && error.originalError instanceof A_Service_Error:\n wrappedError = error.originalError;\n break;\n\n default:\n wrappedError = new A_Service_Error({\n title: A_Service_Error.ServiceStopError,\n description: 'An error occurred while processing the request.',\n originalError: error\n })\n break;\n }\n\n this.scope.register(wrappedError);\n\n await this.call(A_ServiceFeatures.onError, this.scope);\n }\n }\n\n\n\n\n // ======================================================================================\n // ============================= A-Service Lifecycle =================================\n // ======================================================================================\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeLoad](\n @A_Inject(A_Polyfill) polyfill: A_Polyfill,\n ...args: any[]\n ): Promise<void> {\n // Initialize Polyfill\n if (!polyfill) {\n this.scope.register(A_Polyfill);\n polyfill = this.scope.resolve(A_Polyfill)!\n }\n }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onLoad](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterLoad](...args: any[]) { }\n\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeStart](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onStart](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterStart](...args: any[]) { }\n\n\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onBeforeStop](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onStop](...args: any[]) { }\n\n @A_Feature.Extend()\n protected async [A_ServiceFeatures.onAfterStop](...args: any[]) { }\n\n\n\n @A_Feature.Extend({\n before: /.*/\n })\n protected async [A_ServiceFeatures.onError](\n @A_Inject(A_Error) error: A_Error,\n @A_Inject(A_Logger) logger?: A_Logger,\n ...args: any[]\n ) {\n logger?.error(error);\n }\n\n}\n\n\n\n\n\n\n\n\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '@adaas/a-concept';
|
|
2
|
-
export { a as A_SignalConfig_Init, b as A_SignalTValue, c as A_SignalTValueArray, d as A_SignalVector_Init, e as A_SignalVector_Serialized, f as A_Signal_Init, g as A_Signal_Serialized, h as A_Signal_TSignalsConstructors } from '../../A-Signal.types-
|
|
2
|
+
export { a as A_SignalConfig_Init, b as A_SignalTValue, c as A_SignalTValueArray, d as A_SignalVector_Init, e as A_SignalVector_Serialized, f as A_Signal_Init, g as A_Signal_Serialized, h as A_Signal_TSignalsConstructors } from '../../A-Signal.types-C0Ta5Unp.mjs';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '@adaas/a-concept';
|
|
2
|
-
export { a as A_SignalConfig_Init, b as A_SignalTValue, c as A_SignalTValueArray, d as A_SignalVector_Init, e as A_SignalVector_Serialized, f as A_Signal_Init, g as A_Signal_Serialized, h as A_Signal_TSignalsConstructors } from '../../A-Signal.types-
|
|
2
|
+
export { a as A_SignalConfig_Init, b as A_SignalTValue, c as A_SignalTValueArray, d as A_SignalVector_Init, e as A_SignalVector_Serialized, f as A_Signal_Init, g as A_Signal_Serialized, h as A_Signal_TSignalsConstructors } from '../../A-Signal.types-C0Ta5Unp.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A_Component, A_Error, A_Scope } from '@adaas/a-concept';
|
|
2
2
|
import { A_SignalState } from '../context/A-SignalState.context.mjs';
|
|
3
3
|
import { A_SignalConfig } from '../context/A-SignalConfig.context.mjs';
|
|
4
|
-
import { A as A_Signal } from '../../../A-Signal.types-
|
|
4
|
+
import { A as A_Signal } from '../../../A-Signal.types-C0Ta5Unp.mjs';
|
|
5
5
|
import { A_Logger } from '../../A-Logger/A-Logger.component.mjs';
|
|
6
6
|
import { A_Config } from '../../A-Config/A-Config.context.mjs';
|
|
7
7
|
import { A_SignalBusFeatures } from './A-SignalBus.constants.mjs';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A_Component, A_Error, A_Scope } from '@adaas/a-concept';
|
|
2
2
|
import { A_SignalState } from '../context/A-SignalState.context.js';
|
|
3
3
|
import { A_SignalConfig } from '../context/A-SignalConfig.context.js';
|
|
4
|
-
import { A as A_Signal } from '../../../A-Signal.types-
|
|
4
|
+
import { A as A_Signal } from '../../../A-Signal.types-C0Ta5Unp.js';
|
|
5
5
|
import { A_Logger } from '../../A-Logger/A-Logger.component.js';
|
|
6
6
|
import { A_Config } from '../../A-Config/A-Config.context.js';
|
|
7
7
|
import { A_SignalBusFeatures } from './A-SignalBus.constants.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A_Fragment, A_TYPES__Entity_Constructor } from '@adaas/a-concept';
|
|
2
|
-
import { A as A_Signal, a as A_SignalConfig_Init } from '../../../A-Signal.types-
|
|
2
|
+
import { A as A_Signal, a as A_SignalConfig_Init } from '../../../A-Signal.types-C0Ta5Unp.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* This component should dictate a structure of the vector for all signals within a given scope.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A_Fragment, A_TYPES__Entity_Constructor } from '@adaas/a-concept';
|
|
2
|
-
import { A as A_Signal, a as A_SignalConfig_Init } from '../../../A-Signal.types-
|
|
2
|
+
import { A as A_Signal, a as A_SignalConfig_Init } from '../../../A-Signal.types-C0Ta5Unp.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* This component should dictate a structure of the vector for all signals within a given scope.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A_Fragment, A_TYPES__Component_Constructor } from '@adaas/a-concept';
|
|
2
|
-
import { A as A_Signal } from '../../../A-Signal.types-
|
|
2
|
+
import { A as A_Signal } from '../../../A-Signal.types-C0Ta5Unp.mjs';
|
|
3
3
|
import { A_SignalVector } from '../entities/A-SignalVector.entity.mjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A_Fragment, A_TYPES__Component_Constructor } from '@adaas/a-concept';
|
|
2
|
-
import { A as A_Signal } from '../../../A-Signal.types-
|
|
2
|
+
import { A as A_Signal } from '../../../A-Signal.types-C0Ta5Unp.js';
|
|
3
3
|
import { A_SignalVector } from '../entities/A-SignalVector.entity.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '@adaas/a-concept';
|
|
2
|
-
export { A as A_Signal } from '../../../A-Signal.types-
|
|
2
|
+
export { A as A_Signal } from '../../../A-Signal.types-C0Ta5Unp.mjs';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '@adaas/a-concept';
|
|
2
|
-
export { A as A_Signal } from '../../../A-Signal.types-
|
|
2
|
+
export { A as A_Signal } from '../../../A-Signal.types-C0Ta5Unp.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/A-Signal/entities/A-Signal.entity.ts"],"names":["A_Signal","A_Entity","A_Frame"],"mappings":";;;;;;;;;;;;;AAsBaA,gBAAA,GAAN,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/A-Signal/entities/A-Signal.entity.ts"],"names":["A_Signal","A_Entity","A_Frame"],"mappings":"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","file":"A-Signal.entity.js","sourcesContent":["import { A_Entity, A_Scope } from \"@adaas/a-concept\";\nimport { A_Signal_Init, A_Signal_Serialized } from \"../A-Signal.types\";\nimport { A_Frame } from \"@adaas/a-frame\";\n\n/**\n * A Signal Entity is an individual signal instance that carries data.\n * Signals is a event types that uses for vectors of signals to be used for further processing. \n * \n * Comparing to standard events, signals should be used in case when the event impacts some \"state\" \n * and the state should be used instead of the event itself.\n * \n * For example, a signal can represent the current status of a user (online/offline/away), \n * while an event would represent a single action (user logged in/logged out).\n * \n * Signals are typically used in scenarios where the current state is more important than individual events, \n * such as monitoring systems, real-time dashboards, or stateful applications.\n */\n@A_Frame.Entity({\n namespace: 'A-Utils',\n name: 'A-Signal',\n description: 'A Signal Entity represents an individual signal instance that carries data, used for managing state within an application context. Signals are designed to reflect the current state rather than individual events, making them suitable for scenarios where state monitoring and real-time updates are essential.'\n})\nexport class A_Signal<\n _TSignalDataType extends any = any,\n _TSignalSerializedDataType extends any = _TSignalDataType,\n> extends A_Entity<A_Signal_Init<_TSignalDataType>, A_Signal_Serialized<_TSignalSerializedDataType>> {\n\n\n // ========================================================================\n // ========================== Static Methods ==============================\n // ========================================================================\n /**\n * Allows to define default data for the signal.\n * \n * If no data is provided during initialization, the default data will be used.\n * \n * @returns \n */\n static default(): A_Signal | undefined {\n return undefined;\n }\n\n // ========================================================================\n // ========================== Instance Properties ========================\n // ========================================================================\n\n /**\n * The actual data carried by the signal.\n */\n data!: _TSignalDataType;\n\n /**\n * Generates signal hash uses for comparison\n * \n * @param str \n */\n protected createHash(str?: string): string\n protected createHash(str?: undefined): string\n protected createHash(str?: Record<string, any>): string\n protected createHash(str?: Array<any>): string\n protected createHash(str?: number): string\n protected createHash(str?: boolean): string\n protected createHash(str?: null): string\n protected createHash(map?: Map<any, any>): string\n protected createHash(set?: Set<any>): string\n protected createHash(str?: any): string {\n let hashSource: string;\n\n if (str instanceof Map) {\n hashSource = JSON.stringify(Array.from(str.entries()));\n } else if (str instanceof Set) {\n hashSource = JSON.stringify(Array.from(str.values()));\n } else {\n switch (typeof str) {\n case 'string':\n hashSource = str;\n break;\n case 'undefined':\n hashSource = 'undefined';\n break;\n\n case 'object':\n if ('toJSON' in str)\n hashSource = JSON.stringify(str.toJSON());\n\n else\n hashSource = JSON.stringify(str);\n break;\n case 'number':\n hashSource = str.toString();\n break;\n case 'boolean':\n hashSource = str ? 'true' : 'false';\n break;\n case 'function':\n hashSource = str.toString();\n break;\n default:\n hashSource = String(str);\n }\n }\n\n let hash = 0, i, chr;\n for (i = 0; i < hashSource.length; i++) {\n chr = hashSource.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0; // Convert to 32bit integer\n }\n\n const hashString = hash.toString();\n\n return hashString;\n }\n\n /**\n * This method compares the current signal with another signal instance by deduplication ID\n * this id can be configured during initialization with the \"id\" property.\n * \n * example: \n * * const signalA = new A_Signal({ id: ['user-status', 'user123'], data: { status: 'online' } });\n * * const signalB = new A_Signal({ id: ['user-status', 'user123'], data: { status: 'offline' } });\n * \n * signalA.compare(signalB) // true because both signals have the same deduplication ID\n * \n * @param other \n * @returns \n */\n compare(other: A_Signal<_TSignalDataType>): boolean {\n if (this.aseid.id !== other.aseid.id) {\n return false;\n }\n\n return true;\n }\n\n\n\n fromJSON(serializedEntity: A_Signal_Serialized<_TSignalSerializedDataType>): void {\n super.fromJSON(serializedEntity);\n this.data = serializedEntity.data as unknown as _TSignalDataType;\n }\n\n\n fromNew(newEntity: A_Signal_Init<_TSignalDataType>): void {\n this.data = newEntity.data;\n\n const identity = newEntity.id || {\n name: newEntity.name,\n data: this.data\n };\n\n const id = this.createHash(identity);\n\n this.aseid = this.generateASEID({\n entity: newEntity.name,\n id: id,\n });\n }\n\n\n toJSON(): A_Signal_Serialized<_TSignalSerializedDataType> {\n return {\n ...super.toJSON(),\n data: this.data as unknown as _TSignalSerializedDataType\n };\n }\n\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/A-Signal/entities/A-Signal.entity.ts"],"names":[],"mappings":";;;;AAsBO,IAAM,QAAA,GAAN,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/A-Signal/entities/A-Signal.entity.ts"],"names":[],"mappings":"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","file":"A-Signal.entity.mjs","sourcesContent":["import { A_Entity, A_Scope } from \"@adaas/a-concept\";\nimport { A_Signal_Init, A_Signal_Serialized } from \"../A-Signal.types\";\nimport { A_Frame } from \"@adaas/a-frame\";\n\n/**\n * A Signal Entity is an individual signal instance that carries data.\n * Signals is a event types that uses for vectors of signals to be used for further processing. \n * \n * Comparing to standard events, signals should be used in case when the event impacts some \"state\" \n * and the state should be used instead of the event itself.\n * \n * For example, a signal can represent the current status of a user (online/offline/away), \n * while an event would represent a single action (user logged in/logged out).\n * \n * Signals are typically used in scenarios where the current state is more important than individual events, \n * such as monitoring systems, real-time dashboards, or stateful applications.\n */\n@A_Frame.Entity({\n namespace: 'A-Utils',\n name: 'A-Signal',\n description: 'A Signal Entity represents an individual signal instance that carries data, used for managing state within an application context. Signals are designed to reflect the current state rather than individual events, making them suitable for scenarios where state monitoring and real-time updates are essential.'\n})\nexport class A_Signal<\n _TSignalDataType extends any = any,\n _TSignalSerializedDataType extends any = _TSignalDataType,\n> extends A_Entity<A_Signal_Init<_TSignalDataType>, A_Signal_Serialized<_TSignalSerializedDataType>> {\n\n\n // ========================================================================\n // ========================== Static Methods ==============================\n // ========================================================================\n /**\n * Allows to define default data for the signal.\n * \n * If no data is provided during initialization, the default data will be used.\n * \n * @returns \n */\n static default(): A_Signal | undefined {\n return undefined;\n }\n\n // ========================================================================\n // ========================== Instance Properties ========================\n // ========================================================================\n\n /**\n * The actual data carried by the signal.\n */\n data!: _TSignalDataType;\n\n /**\n * Generates signal hash uses for comparison\n * \n * @param str \n */\n protected createHash(str?: string): string\n protected createHash(str?: undefined): string\n protected createHash(str?: Record<string, any>): string\n protected createHash(str?: Array<any>): string\n protected createHash(str?: number): string\n protected createHash(str?: boolean): string\n protected createHash(str?: null): string\n protected createHash(map?: Map<any, any>): string\n protected createHash(set?: Set<any>): string\n protected createHash(str?: any): string {\n let hashSource: string;\n\n if (str instanceof Map) {\n hashSource = JSON.stringify(Array.from(str.entries()));\n } else if (str instanceof Set) {\n hashSource = JSON.stringify(Array.from(str.values()));\n } else {\n switch (typeof str) {\n case 'string':\n hashSource = str;\n break;\n case 'undefined':\n hashSource = 'undefined';\n break;\n\n case 'object':\n if ('toJSON' in str)\n hashSource = JSON.stringify(str.toJSON());\n\n else\n hashSource = JSON.stringify(str);\n break;\n case 'number':\n hashSource = str.toString();\n break;\n case 'boolean':\n hashSource = str ? 'true' : 'false';\n break;\n case 'function':\n hashSource = str.toString();\n break;\n default:\n hashSource = String(str);\n }\n }\n\n let hash = 0, i, chr;\n for (i = 0; i < hashSource.length; i++) {\n chr = hashSource.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0; // Convert to 32bit integer\n }\n\n const hashString = hash.toString();\n\n return hashString;\n }\n\n /**\n * This method compares the current signal with another signal instance by deduplication ID\n * this id can be configured during initialization with the \"id\" property.\n * \n * example: \n * * const signalA = new A_Signal({ id: ['user-status', 'user123'], data: { status: 'online' } });\n * * const signalB = new A_Signal({ id: ['user-status', 'user123'], data: { status: 'offline' } });\n * \n * signalA.compare(signalB) // true because both signals have the same deduplication ID\n * \n * @param other \n * @returns \n */\n compare(other: A_Signal<_TSignalDataType>): boolean {\n if (this.aseid.id !== other.aseid.id) {\n return false;\n }\n\n return true;\n }\n\n\n\n fromJSON(serializedEntity: A_Signal_Serialized<_TSignalSerializedDataType>): void {\n super.fromJSON(serializedEntity);\n this.data = serializedEntity.data as unknown as _TSignalDataType;\n }\n\n\n fromNew(newEntity: A_Signal_Init<_TSignalDataType>): void {\n this.data = newEntity.data;\n\n const identity = newEntity.id || {\n name: newEntity.name,\n data: this.data\n };\n\n const id = this.createHash(identity);\n\n this.aseid = this.generateASEID({\n entity: newEntity.name,\n id: id,\n });\n }\n\n\n toJSON(): A_Signal_Serialized<_TSignalSerializedDataType> {\n return {\n ...super.toJSON(),\n data: this.data as unknown as _TSignalSerializedDataType\n };\n }\n\n}"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A_Entity, A_TYPES__Entity_Constructor } from '@adaas/a-concept';
|
|
2
|
-
import { A as A_Signal, d as A_SignalVector_Init, h as A_Signal_TSignalsConstructors, e as A_SignalVector_Serialized, c as A_SignalTValueArray } from '../../../A-Signal.types-
|
|
2
|
+
import { A as A_Signal, d as A_SignalVector_Init, h as A_Signal_TSignalsConstructors, e as A_SignalVector_Serialized, c as A_SignalTValueArray } from '../../../A-Signal.types-C0Ta5Unp.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* A Signal Vector Entity is a collection of signals structured in a specific way.
|
|
@@ -46,14 +46,39 @@ declare class A_SignalVector<TSignals extends A_Signal[] = A_Signal[]> extends A
|
|
|
46
46
|
* @returns
|
|
47
47
|
*/
|
|
48
48
|
[Symbol.iterator](): Iterator<TSignals[number]>;
|
|
49
|
+
/**
|
|
50
|
+
* Checks that 2 vectors are identical by types and data
|
|
51
|
+
*
|
|
52
|
+
* e.g. [UserSignInSignal, UserStatusSignal] is equal to [UserSignInSignal, UserStatusSignal] with the same data,
|
|
53
|
+
* but not equal to [UserStatusSignal, UserSignInSignal] or [UserSignInSignal, UserStatusSignal] with different data.
|
|
54
|
+
*
|
|
55
|
+
* @param other
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
equals(other: A_SignalVector<TSignals>): boolean;
|
|
49
59
|
/**
|
|
50
60
|
* Allows to match the current Signal Vector with another Signal Vector by comparing each signal in the structure.
|
|
51
|
-
* This method returns true if all signals in the vector match the corresponding signals in
|
|
61
|
+
* This method returns true if all signals in the vector A match the corresponding signals in vector B, and false otherwise.
|
|
62
|
+
*
|
|
63
|
+
*
|
|
64
|
+
* e.g. [UserSignInSignal, UserStatusSignal] matches [UserStatusSignal, UserSignInSignal] with the same data,
|
|
65
|
+
*
|
|
66
|
+
* but not matches [UserSignInSignal, UserStatusSignal] with different data or [UserSignInSignal] or [UserSignInSignal, UserStatusSignal, UserActivitySignal].
|
|
67
|
+
*
|
|
52
68
|
*
|
|
53
69
|
* @param other
|
|
54
70
|
* @returns
|
|
55
71
|
*/
|
|
56
72
|
match(other: A_SignalVector<TSignals>): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Checks if the current Signal Vector includes all signals from another Signal Vector, regardless of order.
|
|
75
|
+
*
|
|
76
|
+
* e.g. [UserSignInSignal, UserStatusSignal] includes [UserStatusSignal] with the same data,
|
|
77
|
+
* but not includes [UserStatusSignal] with different data or [UserActivitySignal].
|
|
78
|
+
*
|
|
79
|
+
* @param other
|
|
80
|
+
*/
|
|
81
|
+
includes(other: A_SignalVector<TSignals>): boolean;
|
|
57
82
|
/**
|
|
58
83
|
* This method should ensure that the current Signal Vector contains all signals from the provided Signal Vector.
|
|
59
84
|
*
|
|
@@ -81,7 +106,7 @@ declare class A_SignalVector<TSignals extends A_Signal[] = A_Signal[]> extends A
|
|
|
81
106
|
* @param structure - Optional structure to override the default ordering
|
|
82
107
|
* @returns Array of signal instances in the specified order
|
|
83
108
|
*/
|
|
84
|
-
toVector<T extends Array<A_Signal> = TSignals>(structure?: A_Signal_TSignalsConstructors<T>):
|
|
109
|
+
toVector<T extends Array<A_Signal> = TSignals>(structure?: A_Signal_TSignalsConstructors<T>): T;
|
|
85
110
|
/**
|
|
86
111
|
* Converts to Array of data of signals in the vector
|
|
87
112
|
* Maintains the order specified in the structure/generic type
|
|
@@ -89,7 +114,7 @@ declare class A_SignalVector<TSignals extends A_Signal[] = A_Signal[]> extends A
|
|
|
89
114
|
* @param structure - Optional structure to override the default ordering
|
|
90
115
|
* @returns Array of serialized signal data in the specified order
|
|
91
116
|
*/
|
|
92
|
-
toDataVector<T extends A_Signal[] = TSignals>(structure?: A_Signal_TSignalsConstructors<T>):
|
|
117
|
+
toDataVector<T extends A_Signal[] = TSignals>(structure?: A_Signal_TSignalsConstructors<T>): A_SignalTValueArray<T>;
|
|
93
118
|
/**
|
|
94
119
|
* Converts to Object with signal constructor names as keys and their corresponding data values
|
|
95
120
|
* Uses the structure ordering to ensure consistent key ordering
|