@e1011/es-kit 1.1.0 → 1.1.4
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/hooks/esm/index.css +26 -26
- package/dist/hooks/index.css +26 -26
- package/dist/lib/cjs/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/dist/lib/cjs/node_modules/uuid/dist/esm-browser/native.js +2 -0
- package/dist/lib/cjs/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/lib/cjs/node_modules/uuid/dist/esm-browser/rng.js +2 -0
- package/dist/lib/cjs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/lib/cjs/node_modules/uuid/dist/esm-browser/stringify.js +2 -0
- package/dist/lib/cjs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/lib/cjs/node_modules/uuid/dist/esm-browser/v4.js +2 -0
- package/dist/lib/cjs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/dist/lib/cjs/src/core/utils/appState/peregrineMQ/index.js +2 -0
- package/dist/lib/cjs/src/core/utils/appState/peregrineMQ/index.js.map +1 -0
- package/dist/lib/cjs/src/core/utils/appState/peregrineMQ/peregrineMQ.js +2 -0
- package/dist/lib/cjs/src/core/utils/appState/peregrineMQ/peregrineMQ.js.map +1 -0
- package/dist/lib/cjs/src/core/utils/appState/stateMachine/tiny-state-machine.base.js +2 -0
- package/dist/lib/cjs/src/core/utils/appState/stateMachine/tiny-state-machine.base.js.map +1 -0
- package/dist/lib/cjs/src/core/utils/appState/store/store.vanillajs.js +1 -1
- package/dist/lib/cjs/src/core/utils/appState/store/store.vanillajs.js.map +1 -1
- package/dist/lib/cjs/src/core/utils/appState/store/useStore.react.js.map +1 -1
- package/dist/lib/cjs/src/core/utils/helpers/other.js +1 -1
- package/dist/lib/cjs/src/core/utils/helpers/other.js.map +1 -1
- package/dist/lib/cjs/src/index.js +1 -1
- package/dist/lib/esm/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/dist/lib/esm/node_modules/uuid/dist/esm-browser/native.js +2 -0
- package/dist/lib/esm/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/lib/esm/node_modules/uuid/dist/esm-browser/rng.js +2 -0
- package/dist/lib/esm/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/lib/esm/node_modules/uuid/dist/esm-browser/stringify.js +2 -0
- package/dist/lib/esm/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/lib/esm/node_modules/uuid/dist/esm-browser/v4.js +2 -0
- package/dist/lib/esm/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/dist/lib/esm/src/core/utils/appState/peregrineMQ/index.js +2 -0
- package/dist/lib/esm/src/core/utils/appState/peregrineMQ/index.js.map +1 -0
- package/dist/lib/esm/src/core/utils/appState/peregrineMQ/peregrineMQ.js +2 -0
- package/dist/lib/esm/src/core/utils/appState/peregrineMQ/peregrineMQ.js.map +1 -0
- package/dist/lib/esm/src/core/utils/appState/stateMachine/tiny-state-machine.base.js +2 -0
- package/dist/lib/esm/src/core/utils/appState/stateMachine/tiny-state-machine.base.js.map +1 -0
- package/dist/lib/esm/src/core/utils/appState/store/store.vanillajs.js +1 -1
- package/dist/lib/esm/src/core/utils/appState/store/store.vanillajs.js.map +1 -1
- package/dist/lib/esm/src/core/utils/appState/store/useStore.react.js.map +1 -1
- package/dist/lib/esm/src/core/utils/helpers/other.js +1 -1
- package/dist/lib/esm/src/core/utils/helpers/other.js.map +1 -1
- package/dist/lib/esm/src/index.js +1 -1
- package/dist/lib/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/core/utils/appState/peregrineMQ/index.d.ts +3 -1
- package/dist/types/src/core/utils/appState/peregrineMQ/index.d.ts.map +1 -1
- package/dist/types/src/core/utils/appState/peregrineMQ/peregrineMQ.d.ts +8 -8
- package/dist/types/src/core/utils/appState/peregrineMQ/peregrineMQ.d.ts.map +1 -1
- package/dist/types/src/core/utils/appState/peregrineMQ/peregrineMQ.stories.d.ts.map +1 -1
- package/dist/types/src/core/utils/appState/peregrineMQ/peregrineMQ.types.d.ts +38 -45
- package/dist/types/src/core/utils/appState/peregrineMQ/peregrineMQ.types.d.ts.map +1 -1
- package/dist/types/src/core/utils/appState/peregrineMQ/usePeregrineMQ.react.d.ts +10 -0
- package/dist/types/src/core/utils/appState/peregrineMQ/usePeregrineMQ.react.d.ts.map +1 -0
- package/dist/types/src/core/utils/appState/stateMachine/index.d.ts +2 -0
- package/dist/types/src/core/utils/appState/stateMachine/index.d.ts.map +1 -0
- package/dist/types/src/core/utils/appState/stateMachine/tiny-state-machine.base.d.ts +7 -7
- package/dist/types/src/core/utils/appState/stateMachine/tiny-state-machine.base.d.ts.map +1 -1
- package/dist/types/src/core/utils/appState/store/asyncFunc.spec.d.ts +2 -0
- package/dist/types/src/core/utils/appState/store/asyncFunc.spec.d.ts.map +1 -0
- package/dist/types/src/core/utils/appState/store/store.stories.d.ts.map +1 -1
- package/dist/types/src/core/utils/appState/store/store.vanillajs.d.ts.map +1 -1
- package/dist/types/src/core/utils/helpers/other.d.ts +2 -0
- package/dist/types/src/core/utils/helpers/other.d.ts.map +1 -1
- package/dist/types/src/core/utils/index.d.ts +2 -0
- package/dist/types/src/core/utils/index.d.ts.map +1 -1
- package/dist/utils/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/dist/utils/esm/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/dist/utils/esm/index.css +26 -26
- package/dist/utils/esm/node_modules/uuid/dist/esm-browser/native.js +2 -0
- package/dist/utils/esm/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/utils/esm/node_modules/uuid/dist/esm-browser/rng.js +2 -0
- package/dist/utils/esm/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/utils/esm/node_modules/uuid/dist/esm-browser/stringify.js +2 -0
- package/dist/utils/esm/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/utils/esm/node_modules/uuid/dist/esm-browser/v4.js +2 -0
- package/dist/utils/esm/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/dist/utils/esm/src/core/utils/appState/peregrineMQ/index.js +2 -0
- package/dist/utils/esm/src/core/utils/appState/peregrineMQ/index.js.map +1 -0
- package/dist/utils/esm/src/core/utils/appState/peregrineMQ/peregrineMQ.js +2 -0
- package/dist/utils/esm/src/core/utils/appState/peregrineMQ/peregrineMQ.js.map +1 -0
- package/dist/utils/esm/src/core/utils/appState/stateMachine/tiny-state-machine.base.js +2 -0
- package/dist/utils/esm/src/core/utils/appState/stateMachine/tiny-state-machine.base.js.map +1 -0
- package/dist/utils/esm/src/core/utils/appState/store/store.vanillajs.js +1 -1
- package/dist/utils/esm/src/core/utils/appState/store/store.vanillajs.js.map +1 -1
- package/dist/utils/esm/src/core/utils/appState/store/useStore.react.js.map +1 -1
- package/dist/utils/esm/src/core/utils/helpers/other.js +1 -1
- package/dist/utils/esm/src/core/utils/helpers/other.js.map +1 -1
- package/dist/utils/esm/src/core/utils/index.js +1 -1
- package/dist/utils/index.css +26 -26
- package/dist/utils/node_modules/uuid/dist/esm-browser/native.js +2 -0
- package/dist/utils/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/utils/node_modules/uuid/dist/esm-browser/rng.js +2 -0
- package/dist/utils/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/utils/node_modules/uuid/dist/esm-browser/stringify.js +2 -0
- package/dist/utils/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/utils/node_modules/uuid/dist/esm-browser/v4.js +2 -0
- package/dist/utils/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/dist/utils/src/core/utils/appState/peregrineMQ/index.js +2 -0
- package/dist/utils/src/core/utils/appState/peregrineMQ/index.js.map +1 -0
- package/dist/utils/src/core/utils/appState/peregrineMQ/peregrineMQ.js +2 -0
- package/dist/utils/src/core/utils/appState/peregrineMQ/peregrineMQ.js.map +1 -0
- package/dist/utils/src/core/utils/appState/stateMachine/tiny-state-machine.base.js +2 -0
- package/dist/utils/src/core/utils/appState/stateMachine/tiny-state-machine.base.js.map +1 -0
- package/dist/utils/src/core/utils/appState/store/store.vanillajs.js +1 -1
- package/dist/utils/src/core/utils/appState/store/store.vanillajs.js.map +1 -1
- package/dist/utils/src/core/utils/appState/store/useStore.react.js.map +1 -1
- package/dist/utils/src/core/utils/helpers/other.js +1 -1
- package/dist/utils/src/core/utils/helpers/other.js.map +1 -1
- package/dist/utils/src/core/utils/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { PeregrineMQ } from './peregrineMQ';
|
|
2
|
-
|
|
2
|
+
export { PeregrineMQ, PeregrineMQClearError } from './peregrineMQ';
|
|
3
|
+
export declare const peregrineMQInstance: PeregrineMQ;
|
|
3
4
|
export default peregrineMQInstance;
|
|
5
|
+
export type * from './peregrineMQ.types';
|
|
4
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/peregrineMQ/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/peregrineMQ/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAElE,eAAO,MAAM,mBAAmB,aAAoB,CAAA;AAEpD,eAAe,mBAAmB,CAAA;AAGlC,mBAAmB,qBAAqB,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { Callback, Config, PeregrineMQApi, UnsubscribeOptions } from './peregrineMQ.types';
|
|
2
|
+
export declare class PeregrineMQClearError extends Error {
|
|
3
|
+
constructor();
|
|
4
|
+
}
|
|
2
5
|
/**
|
|
3
6
|
* Represents a message queue with publish/subscribe functionality.
|
|
4
7
|
*/
|
|
@@ -21,15 +24,15 @@ export declare class PeregrineMQ implements PeregrineMQApi {
|
|
|
21
24
|
private addListener;
|
|
22
25
|
/**
|
|
23
26
|
* Removes the callback from the listeners collection if it is not subscribed to any channels.
|
|
24
|
-
* @description Removes the
|
|
27
|
+
* @description Removes the callback only when it is not present in any other subscriberSet
|
|
25
28
|
* (Ref to Map<string, SubscribersSet>).
|
|
26
|
-
* @param callback The callback to remove
|
|
29
|
+
* @param callback The callback to remove from listeners.
|
|
27
30
|
*/
|
|
28
31
|
private removeListener;
|
|
29
32
|
/**
|
|
30
33
|
* Publishes data to a channel.
|
|
31
34
|
* @param channel The channel to publish the data to.
|
|
32
|
-
* @param
|
|
35
|
+
* @param isParent Indicates if the channel is a parent channel.
|
|
33
36
|
* @param data The data to publish.
|
|
34
37
|
* @returns A boolean indicating if the publication was successful.
|
|
35
38
|
*/
|
|
@@ -92,7 +95,6 @@ export declare class PeregrineMQ implements PeregrineMQApi {
|
|
|
92
95
|
unsubscribe: (callback: Callback, options?: UnsubscribeOptions) => boolean;
|
|
93
96
|
/**
|
|
94
97
|
* Checks if a callback is subscribed to a specific channel or any channel.
|
|
95
|
-
*
|
|
96
98
|
* @param callback The callback function to check.
|
|
97
99
|
* @param channel Optional channel name to check subscription for.
|
|
98
100
|
* @returns A boolean indicating if the callback is subscribed.
|
|
@@ -100,14 +102,12 @@ export declare class PeregrineMQ implements PeregrineMQApi {
|
|
|
100
102
|
isSubscribed: (callback: Callback, channel?: string) => boolean;
|
|
101
103
|
/**
|
|
102
104
|
* Clears all channels and listeners.
|
|
103
|
-
*
|
|
104
105
|
* @throws {Error} If clearing PeregrineMQ is not allowed.
|
|
105
106
|
*/
|
|
106
107
|
clear: () => void;
|
|
107
108
|
/**
|
|
108
|
-
* Returns the specific instance of PeregrineMQ
|
|
109
|
-
*
|
|
110
|
-
* @returns A string identifier of the specific instance of PeregrineMQ
|
|
109
|
+
* Returns the specific instance of PeregrineMQ.
|
|
110
|
+
* @returns A string identifier of the specific instance of PeregrineMQ.
|
|
111
111
|
*/
|
|
112
112
|
getId: () => string;
|
|
113
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peregrineMQ.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/peregrineMQ/peregrineMQ.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAkB,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"peregrineMQ.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/peregrineMQ/peregrineMQ.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAkB,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAG1G,qBAAa,qBAAsB,SAAQ,KAAK;;CAK/C;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,cAAc;IAChD,OAAO,CAAC,EAAE,CAAQ;IAElB,OAAO,CAAC,MAAM,CAIb;IAED;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAyC;IAEzD;;OAEG;IACH,OAAO,CAAC,SAAS,CAA6C;IAE9D;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAWlB;IAED;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAerB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB,CAgBvB;IAED;;;;OAIG;gBACS,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAKxC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,SAAS,WAAY,MAAM,KAAG;QAC5B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;QAC/B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;KAClC,CA8BA;IAED;;;OAGG;IACH,WAAW,QAAO,MAAM,EAAE,CAA6B;IAEvD;;;OAGG;IACH,KAAK,QAAO,MAAM,EAAE,CAenB;IAED;;;;OAIG;IACH,aAAa,YAAa,MAAM,KAAG,OAAO,CAiBzC;IAED;;;;;OAKG;IACH,OAAO,eAAgB,MAAM,SAAS,CAAC,KAAG,OAAO,CAuBhD;IAED;;;;;OAKG;IACH,SAAS,YAAa,MAAM,YAAY,QAAQ,KAAG,MAAM,OAAO,CAY/D;IAED;;;;;OAKG;IACH,WAAW,aAAc,QAAQ,YAAY,kBAAkB,KAAG,OAAO,CAkCxE;IAED;;;;;OAKG;IACH,YAAY,aAAc,QAAQ,YAAY,MAAM,KAAG,OAAO,CAQ7D;IAED;;;OAGG;IACH,KAAK,QAAO,IAAI,CAOf;IAED;;;OAGG;IACH,KAAK,QAAO,MAAM,CAAW;CAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peregrineMQ.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/peregrineMQ/peregrineMQ.stories.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"peregrineMQ.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/peregrineMQ/peregrineMQ.stories.tsx"],"names":[],"mappings":";AAWA,wBAGS;AA6FT,eAAO,MAAM,qBAAqB,4FAAyC,CAAA"}
|
|
@@ -3,26 +3,25 @@ export type Callback = (message: string, data?: CallbackPayload) => void;
|
|
|
3
3
|
export type SubscribersSet = Set<Callback>;
|
|
4
4
|
export interface Config {
|
|
5
5
|
/**
|
|
6
|
-
* If true, enables automatic
|
|
6
|
+
* If true, enables automatic removal of channels without subscribers.
|
|
7
7
|
*/
|
|
8
8
|
allowAutoPrune?: boolean;
|
|
9
9
|
/**
|
|
10
|
-
* The interval in milliseconds
|
|
11
|
-
* subscribers.
|
|
10
|
+
* The interval, in milliseconds, for checking channels with no subscribers.
|
|
12
11
|
*/
|
|
13
12
|
pruneInterval?: number;
|
|
14
13
|
/**
|
|
15
|
-
* If true,
|
|
14
|
+
* If true, allows the use of the clear method to remove all channels and listeners.
|
|
16
15
|
*/
|
|
17
16
|
allowClear?: boolean;
|
|
18
17
|
}
|
|
19
18
|
export interface UnsubscribeOptions {
|
|
20
19
|
/**
|
|
21
|
-
*
|
|
20
|
+
* The channel to unsubscribe from.
|
|
22
21
|
*/
|
|
23
22
|
channel?: string;
|
|
24
23
|
/**
|
|
25
|
-
* If true,
|
|
24
|
+
* If true, removes the channel from the collection when the last subscriber is removed.
|
|
26
25
|
*/
|
|
27
26
|
prune?: boolean;
|
|
28
27
|
}
|
|
@@ -30,81 +29,75 @@ export interface PeregrineMQApi {
|
|
|
30
29
|
/**
|
|
31
30
|
* Sets the configuration options for a PeregrineMQ instance.
|
|
32
31
|
*
|
|
33
|
-
* @param {Config} config - An object containing configuration options for the
|
|
32
|
+
* @param {Config} config - An object containing configuration options for the instance.
|
|
34
33
|
* @return {void}
|
|
35
34
|
*/
|
|
36
35
|
configure: (config: Config) => void;
|
|
37
36
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
37
|
+
* Retrieves a list of all channels and their subscribers.
|
|
38
|
+
*
|
|
40
39
|
* @return { string[] }
|
|
41
40
|
*/
|
|
42
41
|
getChannels: () => string[];
|
|
43
42
|
/**
|
|
44
|
-
*
|
|
43
|
+
* Removes all channels that have no subscribers.
|
|
45
44
|
*
|
|
46
|
-
* @
|
|
47
|
-
* @returns {void}
|
|
45
|
+
* @return {void}
|
|
48
46
|
*/
|
|
49
47
|
prune: () => void;
|
|
50
48
|
/**
|
|
51
|
-
* Removes a channel from the collection.
|
|
49
|
+
* Removes a specified channel from the collection.
|
|
52
50
|
*
|
|
53
51
|
* @param {string} channel - The name of the channel to remove.
|
|
54
|
-
* @
|
|
52
|
+
* @return {boolean} - Returns true if the channel was successfully removed, otherwise false.
|
|
55
53
|
*/
|
|
56
54
|
removeChannel: (channel: string) => boolean;
|
|
57
55
|
/**
|
|
58
|
-
* Publishes
|
|
59
|
-
*
|
|
60
|
-
* @param {
|
|
61
|
-
* @param {} data The data to pass to subscribers
|
|
62
|
-
* @return {
|
|
56
|
+
* Publishes a message to a specified channel, passing the data to its subscribers.
|
|
57
|
+
*
|
|
58
|
+
* @param {string} channel - The channel to publish the message to.
|
|
59
|
+
* @param {unknown} [data] - The data to pass to subscribers.
|
|
60
|
+
* @return {boolean} - Returns true if the message was successfully published, otherwise false.
|
|
63
61
|
*/
|
|
64
62
|
publish: (channel: string, data?: unknown) => boolean;
|
|
65
63
|
/**
|
|
66
|
-
* Subscribes
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* @param {
|
|
70
|
-
* @param {
|
|
71
|
-
* @return {
|
|
64
|
+
* Subscribes a function to a specified channel.
|
|
65
|
+
* The returned unsubscribe function is unique and should be stored for later use.
|
|
66
|
+
*
|
|
67
|
+
* @param {string} channel - The channel name to subscribe to.
|
|
68
|
+
* @param {Callback} callback - The function to call when a new message is published.
|
|
69
|
+
* @return {() => boolean} - The unsubscribe function.
|
|
72
70
|
*/
|
|
73
71
|
subscribe: (channel: string, callback: Callback) => () => boolean;
|
|
74
72
|
/**
|
|
75
|
-
* Unsubscribes a callback from a channel.
|
|
76
|
-
* unsubscribed, false
|
|
77
|
-
*
|
|
78
|
-
* @param callback The callback to unsubscribe.
|
|
79
|
-
* @param channel (optional) The channel from which to unsubscribe the callback. If no channel is
|
|
80
|
-
* specified, the callback will be unsubscribed from all channels.
|
|
73
|
+
* Unsubscribes a callback from a channel.
|
|
74
|
+
* Returns true if the callback was successfully unsubscribed, otherwise false.
|
|
81
75
|
*
|
|
82
|
-
* @
|
|
76
|
+
* @param {Callback} callback - The callback to unsubscribe.
|
|
77
|
+
* @param {UnsubscribeOptions} [options] - Options for unsubscribing, including the channel.
|
|
78
|
+
* @return {boolean} - Returns true if the callback was successfully unsubscribed, otherwise false.
|
|
83
79
|
*/
|
|
84
80
|
unsubscribe: (callback: Callback, options?: UnsubscribeOptions) => boolean;
|
|
85
81
|
/**
|
|
86
|
-
*
|
|
87
|
-
* channel, if no channel is specified), false otherwise.
|
|
88
|
-
*
|
|
89
|
-
* @param callback The callback to check for subscription.
|
|
90
|
-
* @param channel (optional) The channel to check for subscription. If no channel is specified, all
|
|
91
|
-
* channels will be checked.
|
|
82
|
+
* Checks if a specified callback is subscribed to a specified channel (or any channel if not specified).
|
|
92
83
|
*
|
|
93
|
-
* @
|
|
94
|
-
* channel
|
|
84
|
+
* @param {Callback} callback - The callback to check for subscription.
|
|
85
|
+
* @param {string} [channel] - The channel to check for subscription. If not specified, all channels will be checked.
|
|
86
|
+
* @return {boolean} - Returns true if the callback is subscribed, otherwise false.
|
|
95
87
|
*/
|
|
96
88
|
isSubscribed: (callback: Callback, channel?: string) => boolean;
|
|
97
89
|
/**
|
|
98
|
-
* Removes all channels and
|
|
90
|
+
* Removes all channels and subscribers from the collection.
|
|
91
|
+
*
|
|
99
92
|
* @function
|
|
100
93
|
* @alias clear
|
|
101
94
|
*/
|
|
102
95
|
clear: () => void;
|
|
103
96
|
/**
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
97
|
+
* Retrieves the identifier for the specific instance of PeregrineMQ.
|
|
98
|
+
*
|
|
99
|
+
* @return {string} - A string identifier for the specific instance.
|
|
100
|
+
*/
|
|
108
101
|
getId: () => string;
|
|
109
102
|
}
|
|
110
103
|
//# sourceMappingURL=peregrineMQ.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peregrineMQ.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/peregrineMQ/peregrineMQ.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"peregrineMQ.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/peregrineMQ/peregrineMQ.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;AAEzE,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;AAE3C,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAEnC;;;;OAIG;IACH,WAAW,EAAE,MAAM,MAAM,EAAE,CAAA;IAE3B;;;;OAIG;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;IAEjB;;;;;OAKG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;IAE3C;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;IAErD;;;;;;;OAOG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,MAAM,OAAO,CAAA;IAEjE;;;;;;;OAOG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAA;IAE1E;;;;;;OAMG;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;IAE/D;;;;;OAKG;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;IAEjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,MAAM,CAAA;CACpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PeregrineMQ } from './peregrineMQ';
|
|
2
|
+
import { Callback } from './peregrineMQ.types';
|
|
3
|
+
export type usePeregrineMQReturnType = [
|
|
4
|
+
{
|
|
5
|
+
current?: () => boolean;
|
|
6
|
+
},
|
|
7
|
+
<T>(channel: string, data?: T) => boolean
|
|
8
|
+
];
|
|
9
|
+
export declare const usePeregrineMQ: (peregrineInstance: PeregrineMQ, channel: string, callback: Callback) => usePeregrineMQReturnType;
|
|
10
|
+
//# sourceMappingURL=usePeregrineMQ.react.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePeregrineMQ.react.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/peregrineMQ/usePeregrineMQ.react.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,MAAM,wBAAwB,GAAG;IACrC;QAAE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAA;KAAE;IAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,OAAO;CAC1C,CAAA;AAED,eAAO,MAAM,cAAc,sBACN,WAAW,WAAW,MAAM,YAAY,QAAQ,6BAepE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/stateMachine/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
|
|
@@ -5,13 +5,13 @@ export declare enum TinyStateMachineEventType {
|
|
|
5
5
|
ADDED_TO_QUEUE = "addedToQueue",
|
|
6
6
|
REMOVED_FROM_QUEUE = "removedFromQueue"
|
|
7
7
|
}
|
|
8
|
-
export type
|
|
8
|
+
export type TinyStateMachineListenerCallBack = (stateEvent: TinyStateMachineEvent, state?: ITinyStateMachineState) => void;
|
|
9
9
|
export declare class TinyStateMachineEvent extends Event {
|
|
10
10
|
constructor(type: TinyStateMachineEventType, eventInitDict?: any);
|
|
11
11
|
}
|
|
12
12
|
interface IPubSub {
|
|
13
|
-
subscribe: (listener:
|
|
14
|
-
unsubscribe: (listener:
|
|
13
|
+
subscribe: (listener: TinyStateMachineListenerCallBack) => () => void;
|
|
14
|
+
unsubscribe: (listener: TinyStateMachineListenerCallBack) => void;
|
|
15
15
|
publish: (...args: any[]) => void;
|
|
16
16
|
}
|
|
17
17
|
export interface ITinyStateMachineState extends IPubSub {
|
|
@@ -21,8 +21,8 @@ export declare class TinyStateMachineState implements ITinyStateMachineState {
|
|
|
21
21
|
#private;
|
|
22
22
|
constructor(name: string);
|
|
23
23
|
get name(): string;
|
|
24
|
-
subscribe: (listener:
|
|
25
|
-
unsubscribe: (listener:
|
|
24
|
+
subscribe: (listener: TinyStateMachineListenerCallBack) => () => void;
|
|
25
|
+
unsubscribe: (listener: TinyStateMachineListenerCallBack) => boolean;
|
|
26
26
|
publish: (event: TinyStateMachineEvent) => void;
|
|
27
27
|
toString: () => string;
|
|
28
28
|
get [Symbol.toStringTag](): string;
|
|
@@ -42,8 +42,8 @@ export declare class TinyStateMachine implements ITinyStateMachine {
|
|
|
42
42
|
removeState: (state: TinyStateMachineState) => void;
|
|
43
43
|
get states(): Set<TinyStateMachineState>;
|
|
44
44
|
get currentState(): undefined | TinyStateMachineState;
|
|
45
|
-
subscribe: (listener:
|
|
46
|
-
unsubscribe: (listener:
|
|
45
|
+
subscribe: (listener: TinyStateMachineListenerCallBack) => () => void;
|
|
46
|
+
unsubscribe: (listener: TinyStateMachineListenerCallBack) => void;
|
|
47
47
|
publish: (event: TinyStateMachineEvent, state?: TinyStateMachineState) => void;
|
|
48
48
|
gotoState: (state: TinyStateMachineState | string) => void | boolean;
|
|
49
49
|
next: () => TinyStateMachineState | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiny-state-machine.base.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/stateMachine/tiny-state-machine.base.ts"],"names":[],"mappings":"AAAA,oBAAY,yBAAyB;IACnC,MAAM,WAAW;IACjB,eAAe,mBAAmB;IAClC,iBAAiB,qBAAqB;IACtC,cAAc,iBAAiB;IAC/B,kBAAkB,qBAAqB;CACxC;AAED,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"tiny-state-machine.base.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/stateMachine/tiny-state-machine.base.ts"],"names":[],"mappings":"AAAA,oBAAY,yBAAyB;IACnC,MAAM,WAAW;IACjB,eAAe,mBAAmB;IAClC,iBAAiB,qBAAqB;IACtC,cAAc,iBAAiB;IAC/B,kBAAkB,qBAAqB;CACxC;AAED,MAAM,MAAM,gCAAgC,GAAG,CAC7C,UAAU,EAAE,qBAAqB,EACjC,KAAK,CAAC,EAAE,sBAAsB,KAC3B,IAAI,CAAC;AAEV,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,IAAI,EAAE,yBAAyB,EAAE,aAAa,CAAC,EAAE,GAAG;CAGjE;AAED,UAAU,OAAO;IACf,SAAS,EAAE,CAAC,QAAQ,EAAE,gCAAgC,KAAK,MAAM,IAAI,CAAA;IACrE,WAAW,EAAE,CAAC,QAAQ,EAAE,gCAAgC,KAAK,IAAI,CAAA;IACjE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAClC;AAED,MAAM,WAAW,sBAAuB,SAAQ,OAAO;IACrD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,qBAAsB,YAAW,sBAAsB;;gBAKtD,IAAI,EAAE,MAAM;IAKxB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,aAAc,gCAAgC,KAAG,MAAM,IAAI,CAGnE;IAED,WAAW,aAAc,gCAAgC,KAAG,OAAO,CAAoC;IAEvG,OAAO,UAAW,qBAAqB,KAAG,IAAI,CAQ7C;IAED,QAAQ,QAAO,MAAM,CAAyC;IAE9D,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;CACF;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO;IAChD,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAChD,WAAW,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACnD,YAAY,EAAE,SAAS,GAAG,qBAAqB,CAAA;IAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAA;CAE5D;AAED,eAAO,MAAM,YAAY,eAAgB,MAAM,EAAE,KAAG,IAAI,qBAAqB,CAE5E,CAAA;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;;gBAO5C,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC;IAK9C,QAAQ,UAAW,qBAAqB,KAAG,IAAI,CAE9C;IAED,WAAW,UAAW,qBAAqB,KAAG,IAAI,CAEjD;IAED,IAAI,MAAM,IAAK,GAAG,CAAC,qBAAqB,CAAC,CAExC;IAED,IAAI,YAAY,IAAK,SAAS,GAAG,qBAAqB,CAErD;IAED,SAAS,aAAc,gCAAgC,KAAG,MAAM,IAAI,CAGnE;IAED,WAAW,aAAc,gCAAgC,KAAG,IAAI,CAE/D;IAED,OAAO,UAAW,qBAAqB,UAAU,qBAAqB,KAAG,IAAI,CAQ5E;IAQD,SAAS,UAAW,qBAAqB,GAAG,MAAM,KAAG,IAAI,GAAG,OAAO,CAkBlE;IAED,IAAI,QAAO,qBAAqB,GAAG,IAAI,CAmBtC;CACF;AAKD,eAAO,MAAM,aAAa;;;;;CA6BzB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncFunc.spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/asyncFunc.spec.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,UAA8C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/store.stories.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"store.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/store.stories.tsx"],"names":[],"mappings":";AAUA,wBAGS;AAwFT,eAAO,MAAM,eAAe,4FAAmC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.vanillajs.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/store.vanillajs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.vanillajs.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/utils/appState/store/store.vanillajs.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AAE7D;;GAEG;AAEH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAC9D,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;AACxF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAGtE;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACtB,aAAa,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;CACrC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAEvB;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB;;;OAGG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD;;;;;OAKG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAA;IACxE;;;OAGG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;CAC7C,CAAA;AAGD;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;KAAE,CAAA;CAAE,CAAA;AAE1G;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAC7B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,iDAAiD;AACjF,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,yCAAyC;AACzE,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAEnD;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CACvB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,CAAC,CAAC,CAAA;AAGf;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAG3G;;;;;GAKG;AACH,eAAO,MAAM,WAAW,oBACR,QAAQ,CAAC,CAAC,YACd,OAAO,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,YAChC,QAAQ,CAAC,CAAC,KACnB,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAqJ/B,CAAA"}
|
|
@@ -5,4 +5,6 @@ export declare const memoizeComplex: (...args: readonly any[]) => any;
|
|
|
5
5
|
export declare const memoizer: (memoizeFunc?: (...args: any[]) => string) => ReturnType<typeof memoizeWith>;
|
|
6
6
|
export declare const debounce: (func: () => void, wait?: number, immediate?: boolean) => () => void;
|
|
7
7
|
export declare const delay: (delay: number) => Promise<string>;
|
|
8
|
+
export declare const AsyncFunctionTemplate: Function;
|
|
9
|
+
export declare const isFunctionAsync: (func: () => unknown) => boolean;
|
|
8
10
|
//# sourceMappingURL=other.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../../../../../src/core/utils/helpers/other.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAY,MAAM,OAAO,CAAA;AAG7C,eAAO,MAAM,aAAa,cAAe,OAAO,WAAW,GAAG,WAAW,GAAG,KAAG,GAAsC,CAAA;AAIrH,eAAO,MAAM,OAAO,kCAAwB,CAAA;AAK5C,eAAO,MAAM,cAAc,kCAAiD,CAAA;AAE5E,eAAO,MAAM,QAAQ,qCAGO,MAAM,KAA2B,WAAW,kBAAkB,CAA6B,CAAA;AAEvH,eAAO,MAAM,QAAQ,SAAU,MAAM,IAAI,yCAAkC,MAAM,IAuBhF,CAAA;AAED,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,QAAQ,MAAM,CAElD,CAAA"}
|
|
1
|
+
{"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../../../../../src/core/utils/helpers/other.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAY,MAAM,OAAO,CAAA;AAG7C,eAAO,MAAM,aAAa,cAAe,OAAO,WAAW,GAAG,WAAW,GAAG,KAAG,GAAsC,CAAA;AAIrH,eAAO,MAAM,OAAO,kCAAwB,CAAA;AAK5C,eAAO,MAAM,cAAc,kCAAiD,CAAA;AAE5E,eAAO,MAAM,QAAQ,qCAGO,MAAM,KAA2B,WAAW,kBAAkB,CAA6B,CAAA;AAEvH,eAAO,MAAM,QAAQ,SAAU,MAAM,IAAI,yCAAkC,MAAM,IAuBhF,CAAA;AAED,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,QAAQ,MAAM,CAElD,CAAA;AAEF,eAAO,MAAM,qBAAqB,UAA8C,CAAA;AAEhF,eAAO,MAAM,eAAe,SACpB,MAAM,OAAO,KAClB,OAA2E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function e(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}var t=0;exports.asyncToGenerator=function(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=t.apply(r,n);function s(t){e(a,o,i,s,c,"next",t)}function c(t){e(a,o,i,s,c,"throw",t)}s(void 0)}))}},exports.classPrivateFieldLooseBase=function(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e},exports.classPrivateFieldLooseKey=function(e){return"__private_"+t+++"_"+e};
|
|
2
2
|
//# sourceMappingURL=_rollupPluginBabelHelpers.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function e(e,n,r,t,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?n(c):Promise.resolve(c).then(t,o)}function n(n){return function(){var r=this,t=arguments;return new Promise((function(o,a){var i=n.apply(r,t);function s(n){e(i,o,a,s,c,"next",n)}function c(n){e(i,o,a,s,c,"throw",n)}s(void 0)}))}}function r(e,n){if(!{}.hasOwnProperty.call(e,n))throw new TypeError("attempted to use private field on non-instance");return e}var t=0;function o(e){return"__private_"+t+++"_"+e}export{n as asyncToGenerator,r as classPrivateFieldLooseBase,o as classPrivateFieldLooseKey};
|
|
2
2
|
//# sourceMappingURL=_rollupPluginBabelHelpers.js.map
|
package/dist/utils/esm/index.css
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
|
-
.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
background-color: var(--color);
|
|
6
|
-
opacity: var(--opacity);
|
|
7
|
-
}
|
|
8
|
-
.divider-module_divider-line__6CesR.divider-module_vertical__qSVWD {
|
|
9
|
-
height: var(--length);
|
|
10
|
-
left: var(--left);
|
|
11
|
-
width: var(--width);
|
|
12
|
-
margin: var(--margin);
|
|
1
|
+
.errorBoundary-module_errorBoundary__gk9ps {
|
|
2
|
+
background: #EFEFEF;
|
|
3
|
+
width: 100%;
|
|
4
|
+
height: 100%;
|
|
13
5
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
height: var(--height);
|
|
18
|
-
margin: var(--margin);
|
|
6
|
+
|
|
7
|
+
.errorBoundary-module_StyledIcon__IYHiU {
|
|
8
|
+
margin-right: 10px;
|
|
19
9
|
}
|
|
20
10
|
.icon-module_icon-base-parent__nOMvW {
|
|
21
11
|
line-height: 1px !important;
|
|
@@ -80,6 +70,25 @@
|
|
|
80
70
|
max-width: var(--prop-value);
|
|
81
71
|
opacity: 1;
|
|
82
72
|
}
|
|
73
|
+
.divider-module_divider-line__6CesR {
|
|
74
|
+
position: relative;
|
|
75
|
+
display: block;
|
|
76
|
+
transition: opacity, width, height 250ms ease-in-out;
|
|
77
|
+
background-color: var(--color);
|
|
78
|
+
opacity: var(--opacity);
|
|
79
|
+
}
|
|
80
|
+
.divider-module_divider-line__6CesR.divider-module_vertical__qSVWD {
|
|
81
|
+
height: var(--length);
|
|
82
|
+
left: var(--left);
|
|
83
|
+
width: var(--width);
|
|
84
|
+
margin: var(--margin);
|
|
85
|
+
}
|
|
86
|
+
.divider-module_divider-line__6CesR.divider-module_horizontal__Gz-Oj {
|
|
87
|
+
width: var(--length);
|
|
88
|
+
left: var(--left);
|
|
89
|
+
height: var(--height);
|
|
90
|
+
margin: var(--margin);
|
|
91
|
+
}
|
|
83
92
|
.field-module_field__UfKm3 {
|
|
84
93
|
opacity: 1;
|
|
85
94
|
pointer-events: auto;
|
|
@@ -154,15 +163,6 @@
|
|
|
154
163
|
.field-module_field__UfKm3 label {
|
|
155
164
|
text-align: left;
|
|
156
165
|
}
|
|
157
|
-
.errorBoundary-module_errorBoundary__gk9ps {
|
|
158
|
-
background: #EFEFEF;
|
|
159
|
-
width: 100%;
|
|
160
|
-
height: 100%;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.errorBoundary-module_StyledIcon__IYHiU {
|
|
164
|
-
margin-right: 10px;
|
|
165
|
-
}
|
|
166
166
|
.layoutBox-module_layout-box__ZIID8 {
|
|
167
167
|
display: flex;
|
|
168
168
|
position: relative;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.js","sources":["../../../../../../../node_modules/uuid/dist/esm-browser/native.js"],"sourcesContent":["const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};"],"names":["native","randomUUID","crypto","bind"],"mappings":"AACA,IAAeA,EAAA,CACbC,WAFmC,oBAAXC,QAA0BA,OAAOD,YAAcC,OAAOD,WAAWE,KAAKD","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let t;const e=new Uint8Array(16);function o(){if(!t&&(t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!t))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return t(e)}export{o as default};
|
|
2
|
+
//# sourceMappingURL=rng.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rng.js","sources":["../../../../../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}"],"names":["getRandomValues","rnds8","Uint8Array","rng","crypto","bind","Error"],"mappings":"AAGA,IAAIA,EACJ,MAAMC,EAAQ,IAAIC,WAAW,IACd,SAASC,IAEtB,IAAKH,IAEHA,EAAoC,oBAAXI,QAA0BA,OAAOJ,iBAAmBI,OAAOJ,gBAAgBK,KAAKD,SAEpGJ,GACH,MAAM,IAAIM,MAAM,4GAIpB,OAAON,EAAgBC,EACzB","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const t=[];for(let n=0;n<256;++n)t.push((n+256).toString(16).slice(1));function n(n,o=0){return t[n[o+0]]+t[n[o+1]]+t[n[o+2]]+t[n[o+3]]+"-"+t[n[o+4]]+t[n[o+5]]+"-"+t[n[o+6]]+t[n[o+7]]+"-"+t[n[o+8]]+t[n[o+9]]+"-"+t[n[o+10]]+t[n[o+11]]+t[n[o+12]]+t[n[o+13]]+t[n[o+14]]+t[n[o+15]]}export{n as unsafeStringify};
|
|
2
|
+
//# sourceMappingURL=stringify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringify.js","sources":["../../../../../../../node_modules/uuid/dist/esm-browser/stringify.js"],"sourcesContent":["import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;"],"names":["byteToHex","i","push","toString","slice","unsafeStringify","arr","offset"],"mappings":"AAMA,MAAMA,EAAY,GAElB,IAAK,IAAIC,EAAI,EAAGA,EAAI,MAAOA,EACzBD,EAAUE,MAAMD,EAAI,KAAOE,SAAS,IAAIC,MAAM,IAGzC,SAASC,EAAgBC,EAAKC,EAAS,GAG5C,OAAOP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAM,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAM,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAM,IAAMP,EAAUM,EAAIC,EAAS,IAAMP,EAAUM,EAAIC,EAAS,IAAM,IAAMP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,KAAOP,EAAUM,EAAIC,EAAS,IAChf","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import r from"./native.js";import n from"./rng.js";import{unsafeStringify as o}from"./stringify.js";function t(t,m,i){if(r.randomUUID&&!m&&!t)return r.randomUUID();const f=(t=t||{}).random||(t.rng||n)();return f[6]=15&f[6]|64,f[8]=63&f[8]|128,o(f)}export{t as default};
|
|
2
|
+
//# sourceMappingURL=v4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v4.js","sources":["../../../../../../../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;"],"names":["v4","options","buf","offset","native","randomUUID","rnds","random","rng","unsafeStringify"],"mappings":"oGAIA,SAASA,EAAGC,EAASC,EAAKC,GACxB,GAAIC,EAAOC,aAAeH,IAAQD,EAChC,OAAOG,EAAOC,aAIhB,MAAMC,GADNL,EAAUA,GAAW,IACAM,SAAWN,EAAQO,KAAOA,KAe/C,OAbAF,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAYpBG,EAAgBH,EACzB","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../src/core/utils/appState/peregrineMQ/index.ts"],"sourcesContent":["import { PeregrineMQ } from './peregrineMQ'\n\nexport { PeregrineMQ, PeregrineMQClearError } from './peregrineMQ'\n\nexport const peregrineMQInstance = new PeregrineMQ()\n\nexport default peregrineMQInstance\n\n\nexport type * from './peregrineMQ.types'\n"],"names":["peregrineMQInstance","PeregrineMQ"],"mappings":"yGAIaA,EAAsB,IAAIC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"../../../../../node_modules/uuid/dist/esm-browser/v4.js";class t extends Error{constructor(){super("Clearing PeregrineMQ is not allowed. Please read the documentation for more information."),this.name="PeregrineMQClearError"}}class s{constructor(s,n){this.id=void 0,this.config={allowAutoPrune:!1,pruneInterval:1e4,allowClear:!1},this.channels=new Map,this.listeners=new Map,this.addListener=(e,t)=>{const s=this.listeners.get(e),n=this.channels.get(t);n&&(s?s.push(n):this.listeners.set(e,[n]))},this.removeListener=e=>{const t=this.listeners.get(e);let s=!0;for(const n of t||[])if(s=!n.has(e),!s)break;s&&this.listeners.delete(e)},this.publishToChannel=(e,t,s)=>{const n=this.channels.get(e);if(!n)return t;const r=n[Symbol.iterator]();let i=r.next().value;for(;i;)i(e,s),i=r.next().value;return!0},this.configure=e=>{this.config=e;const{allowAutoPrune:t,pruneInterval:s}=e;let n;t&&(n=setInterval((()=>{this.prune()}),s));const r=this;return{...t?{clearPruneInterval:()=>{clearInterval(n)},restartPruneInterval:()=>{clearInterval(n),n=setInterval((()=>{r.prune()}),s)}}:{}}},this.getChannels=()=>[...this.channels.keys()],this.prune=()=>{const e=this.channels[Symbol.iterator]();let t=e.next().value;const s=[];for(;t;)0===t[1]?.size&&(s.push(t[0]),this.channels.delete(t[0])),t=e.next().value;return s},this.removeChannel=e=>{const t=this.channels.get(e);if(t&&t.size>0){const e=[...t||[]];t.clear();let s=e.length;for(;s--;)this.removeListener(e[s])}return this.channels.delete(e)},this.publish=(e,t)=>{if(e.includes(".")){const s=e.split(".");let{length:n}=s,r=!1;for(;n--;){this.publishToChannel(s.slice(0,n+1).join("."),n!==s.length-1,t)||(r=!0)}return!r}return this.publishToChannel(e,!1,t)},this.subscribe=(e,t)=>{const s=this.channels.get(e);return s?s.add(t):this.channels.set(e,new Set([t])),this.addListener(t,e),()=>this.unsubscribe(t,{channel:e,prune:!0})},this.unsubscribe=(e,t)=>{const{channel:s,prune:n}=t||{};let r=!1;if(s){const t=this.channels.get(s);return r=!!t&&t.delete(e),n&&0===t?.size&&this.channels.delete(s),this.removeListener(e),r}const i=this.listeners.get(e)||[];for(const t of i)r=t.delete(e),n&&0===t.size&&this.prune();return this.listeners.delete(e),r},this.isSubscribed=(e,t)=>{if(t){const s=this.channels.get(t);return!!s&&s.has(e)}return this.listeners.has(e)},this.clear=()=>{if(!this.config.allowClear)throw new t;this.channels.clear(),this.listeners.clear()},this.getId=()=>this.id,this.id=s||e(),this.configure(n||{})}get length(){return[...this.channels.values()].reduce(((e,t)=>e+t.size),0)}}export{s as PeregrineMQ,t as PeregrineMQClearError};
|
|
2
|
+
//# sourceMappingURL=peregrineMQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peregrineMQ.js","sources":["../../../../../../../../src/core/utils/appState/peregrineMQ/peregrineMQ.ts"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nimport { Callback, Config, PeregrineMQApi, SubscribersSet, UnsubscribeOptions } from './peregrineMQ.types'\n\n\nexport class PeregrineMQClearError extends Error {\n constructor() {\n super('Clearing PeregrineMQ is not allowed. Please read the documentation for more information.')\n this.name = 'PeregrineMQClearError'\n }\n}\n\n/**\n * Represents a message queue with publish/subscribe functionality.\n */\nexport class PeregrineMQ implements PeregrineMQApi {\n private id: string\n\n private config: Config = {\n allowAutoPrune: false,\n pruneInterval: 10000,\n allowClear: false,\n }\n\n /**\n * The map of channels and their subscribers sets.\n */\n private channels: Map<string, SubscribersSet> = new Map()\n\n /**\n * The map of listeners and their subscribed channels.\n */\n private listeners: Map<Callback, SubscribersSet[]> = new Map()\n\n /**\n * Adds a callback as a listener to a channel.\n * @param callback The callback function to add as a listener.\n * @param channel The channel to add the listener to.\n */\n private addListener = (callback: Callback, channel: string): void => {\n const listener = this.listeners.get(callback)\n const subscribersSet = this.channels.get(channel)\n\n if (subscribersSet) {\n if (listener) {\n listener.push(subscribersSet)\n } else {\n this.listeners.set(callback, [subscribersSet])\n }\n }\n }\n\n /**\n * Removes the callback from the listeners collection if it is not subscribed to any channels.\n * @description Removes the callback only when it is not present in any other subscriberSet\n * (Ref to Map<string, SubscribersSet>).\n * @param callback The callback to remove from listeners.\n */\n private removeListener = (callback: Callback): void => {\n const channelSubscriberSets = this.listeners.get(callback)\n let isEmpty = true\n\n // eslint-disable-next-line no-restricted-syntax\n for (const channelSubscriberSet of channelSubscriberSets || []) {\n isEmpty = !channelSubscriberSet.has(callback)\n if (!isEmpty) {\n break\n }\n }\n\n if (isEmpty) {\n this.listeners.delete(callback)\n }\n }\n\n /**\n * Publishes data to a channel.\n * @param channel The channel to publish the data to.\n * @param isParent Indicates if the channel is a parent channel.\n * @param data The data to publish.\n * @returns A boolean indicating if the publication was successful.\n */\n private publishToChannel = (channel: string, isParent: boolean, data?: unknown): boolean => {\n const subscribersSet = this.channels.get(channel)\n\n if (!subscribersSet) {\n return isParent\n }\n\n const iterator = subscribersSet[Symbol.iterator]()\n let subscriberFunc = iterator.next().value\n\n // eslint-disable-next-line no-plusplus\n while (subscriberFunc) {\n subscriberFunc(channel, data)\n subscriberFunc = iterator.next().value\n }\n return true\n }\n\n /**\n * Creates a new instance of PeregrineMQ.\n * @param id Specific instance of PeregrineMQ identifier\n * @param config The configuration options for PeregrineMQ.\n */\n constructor(id?: string, config?: Config) {\n this.id = id || uuidv4()\n this.configure(config || {})\n }\n\n /**\n * Gets the total number of subscribers across all channels.\n */\n get length(): number {\n return [...this.channels.values()].reduce((acc, subscribersList) => acc + subscribersList.size, 0)\n }\n\n /**\n * Configures PeregrineMQ with the specified options.\n * @param config The configuration options for PeregrineMQ.\n * @returns An object containing the prune interval handler (if auto prune is enabled).\n */\n configure = (config: Config): {\n clearPruneInterval?: () => void\n restartPruneInterval?: () => void\n } => {\n this.config = config\n const { allowAutoPrune, pruneInterval } = config\n\n let pruneIntervalHandler: ReturnType<typeof setInterval>\n\n if (allowAutoPrune) {\n pruneIntervalHandler = setInterval(() => {\n this.prune()\n }, pruneInterval)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const instance: PeregrineMQ = this\n\n return {\n ...(allowAutoPrune\n ? {\n clearPruneInterval: (): void => {\n clearInterval(pruneIntervalHandler)\n },\n restartPruneInterval: (): void => {\n clearInterval(pruneIntervalHandler)\n pruneIntervalHandler = setInterval(() => {\n instance.prune()\n }, pruneInterval)\n },\n }\n : {}),\n }\n }\n\n /**\n * Gets an array of all channels.\n * @returns An array of channel names.\n */\n getChannels = (): string[] => [...this.channels.keys()]\n\n /**\n * Prunes the channels with no subscribers.\n * @returns An array of pruned channel names.\n */\n prune = (): string[] => {\n const iterator = this.channels[Symbol.iterator]()\n let subscribersSet = iterator.next().value\n const prunedChannels: string[] = []\n\n // eslint-disable-next-line no-plusplus\n while (subscribersSet) {\n if (subscribersSet[1]?.size === 0) {\n prunedChannels.push(subscribersSet[0])\n this.channels.delete(subscribersSet[0])\n }\n subscribersSet = iterator.next().value\n }\n\n return prunedChannels\n }\n\n /**\n * Removes a channel and its subscribers.\n * @param channel The channel to remove.\n * @returns A boolean indicating if the channel was successfully removed.\n */\n removeChannel = (channel: string): boolean => {\n const subscribersSet = this.channels.get(channel)\n\n if (subscribersSet && subscribersSet.size > 0) {\n const channelListeners = [...subscribersSet || []]\n\n subscribersSet.clear()\n\n let index = channelListeners.length\n\n // eslint-disable-next-line no-plusplus\n while (index--) {\n this.removeListener(channelListeners[index])\n }\n }\n\n return this.channels.delete(channel)\n }\n\n /**\n * Publishes data to a channel.\n * @param channel The channel to publish the data to.\n * @param data The data to publish.\n * @returns A boolean indicating if the publication was successful.\n */\n publish = <T>(channel: string, data?: T): boolean => {\n if (channel.includes('.')) {\n const nestedChannels = channel.split('.')\n\n let { length } = nestedChannels\n let failed = false\n\n // eslint-disable-next-line no-plusplus\n while (length--) {\n const result = this.publishToChannel(\n nestedChannels.slice(0, length + 1).join('.'),\n length !== nestedChannels.length - 1,\n data,\n )\n\n if (!result) {\n failed = true\n }\n }\n return !failed\n }\n\n return this.publishToChannel(channel, false, data)\n }\n\n /**\n * Subscribes a callback to a channel.\n * @param channel The channel to subscribe to.\n * @param callback The callback function to subscribe.\n * @returns A function to unsubscribe the callback.\n */\n subscribe = (channel: string, callback: Callback): () => boolean => {\n const subscribersList = this.channels.get(channel)\n\n if (subscribersList) {\n subscribersList.add(callback)\n } else {\n this.channels.set(channel, new Set([callback]))\n }\n\n this.addListener(callback, channel)\n\n return () => this.unsubscribe(callback, { channel, prune: true })\n }\n\n /**\n * Unsubscribes a callback from a channel or all channels.\n * @param callback The callback function to unsubscribe.\n * @param options Optional unsubscribe options.\n * @returns A boolean indicating if the callback was successfully unsubscribed.\n */\n unsubscribe = (callback: Callback, options?: UnsubscribeOptions): boolean => {\n const { channel, prune } = options || {}\n\n let unsubscribed = false\n\n if (channel) {\n const subscriberSet = this.channels.get(channel)\n\n unsubscribed = subscriberSet ? subscriberSet.delete(callback) : false\n if (prune && subscriberSet?.size === 0) {\n this.channels.delete(channel)\n }\n\n this.removeListener(callback)\n\n return unsubscribed\n }\n\n const subscriberSetArray = this.listeners.get(callback) || []\n\n // remove callback form listeners and all channels\n // TODO remove only if has\n // eslint-disable-next-line no-restricted-syntax\n for (const subscriberSet of subscriberSetArray) {\n unsubscribed = subscriberSet.delete(callback) as boolean\n\n if (prune && subscriberSet.size === 0) {\n this.prune()\n }\n }\n\n this.listeners.delete(callback)\n\n return unsubscribed\n }\n\n /**\n * Checks if a callback is subscribed to a specific channel or any channel.\n * @param callback The callback function to check.\n * @param channel Optional channel name to check subscription for.\n * @returns A boolean indicating if the callback is subscribed.\n */\n isSubscribed = (callback: Callback, channel?: string): boolean => {\n if (channel) {\n const subscribersList = this.channels.get(channel)\n\n return subscribersList ? subscribersList.has(callback) : false\n }\n\n return this.listeners.has(callback)\n }\n\n /**\n * Clears all channels and listeners.\n * @throws {Error} If clearing PeregrineMQ is not allowed.\n */\n clear = (): void => {\n if (this.config.allowClear) {\n this.channels.clear()\n this.listeners.clear()\n } else {\n throw new PeregrineMQClearError()\n }\n }\n\n /**\n * Returns the specific instance of PeregrineMQ.\n * @returns A string identifier of the specific instance of PeregrineMQ.\n */\n getId = (): string => this.id\n}\n"],"names":["PeregrineMQClearError","Error","constructor","super","this","name","PeregrineMQ","id","config","allowAutoPrune","pruneInterval","allowClear","channels","Map","listeners","addListener","callback","channel","listener","get","subscribersSet","push","set","removeListener","channelSubscriberSets","isEmpty","channelSubscriberSet","has","delete","publishToChannel","isParent","data","iterator","Symbol","subscriberFunc","next","value","configure","pruneIntervalHandler","setInterval","prune","instance","clearPruneInterval","clearInterval","restartPruneInterval","getChannels","keys","prunedChannels","size","removeChannel","channelListeners","clear","index","length","publish","includes","nestedChannels","split","failed","slice","join","subscribe","subscribersList","add","Set","unsubscribe","options","unsubscribed","subscriberSet","subscriberSetArray","isSubscribed","getId","uuidv4","values","reduce","acc"],"mappings":"uEAKO,MAAMA,UAA8BC,MACzCC,WAAAA,GACEC,MAAM,4FACNC,KAAKC,KAAO,uBACd,EAMK,MAAMC,EA0FXJ,WAAAA,CAAYK,EAAaC,GAAiBJ,KAzFlCG,QAAE,EAAAH,KAEFI,OAAiB,CACvBC,gBAAgB,EAChBC,cAAe,IACfC,YAAY,GAGdP,KAGQQ,SAAwC,IAAIC,IAEpDT,KAGQU,UAA6C,IAAID,IAEzDT,KAKQW,YAAc,CAACC,EAAoBC,KACzC,MAAMC,EAAWd,KAAKU,UAAUK,IAAIH,GAC9BI,EAAiBhB,KAAKQ,SAASO,IAAIF,GAErCG,IACEF,EACFA,EAASG,KAAKD,GAEdhB,KAAKU,UAAUQ,IAAIN,EAAU,CAACI,IAElC,EAGFhB,KAMQmB,eAAkBP,IACxB,MAAMQ,EAAwBpB,KAAKU,UAAUK,IAAIH,GACjD,IAAIS,GAAU,EAGd,IAAK,MAAMC,KAAwBF,GAAyB,GAE1D,GADAC,GAAWC,EAAqBC,IAAIX,IAC/BS,EACH,MAIAA,GACFrB,KAAKU,UAAUc,OAAOZ,EACxB,EAGFZ,KAOQyB,iBAAmB,CAACZ,EAAiBa,EAAmBC,KAC9D,MAAMX,EAAiBhB,KAAKQ,SAASO,IAAIF,GAEzC,IAAKG,EACH,OAAOU,EAGT,MAAME,EAAWZ,EAAea,OAAOD,YACvC,IAAIE,EAAiBF,EAASG,OAAOC,MAGrC,KAAOF,GACLA,EAAejB,EAASc,GACxBG,EAAiBF,EAASG,OAAOC,MAEnC,OAAO,CAAI,EAoBbhC,KAKAiC,UAAa7B,IAIXJ,KAAKI,OAASA,EACd,MAAMC,eAAEA,EAAcC,cAAEA,GAAkBF,EAE1C,IAAI8B,EAEA7B,IACF6B,EAAuBC,aAAY,KACjCnC,KAAKoC,OAAO,GACX9B,IAIL,MAAM+B,EAAwBrC,KAE9B,MAAO,IACDK,EACA,CACAiC,mBAAoBA,KAClBC,cAAcL,EAAqB,EAErCM,qBAAsBA,KACpBD,cAAcL,GACdA,EAAuBC,aAAY,KACjCE,EAASD,OAAO,GACf9B,EAAc,GAGnB,CAAE,EACP,EAGHN,KAIAyC,YAAc,IAAgB,IAAIzC,KAAKQ,SAASkC,QAEhD1C,KAIAoC,MAAQ,KACN,MAAMR,EAAW5B,KAAKQ,SAASqB,OAAOD,YACtC,IAAIZ,EAAiBY,EAASG,OAAOC,MACrC,MAAMW,EAA2B,GAGjC,KAAO3B,GAC2B,IAA5BA,EAAe,IAAI4B,OACrBD,EAAe1B,KAAKD,EAAe,IACnChB,KAAKQ,SAASgB,OAAOR,EAAe,KAEtCA,EAAiBY,EAASG,OAAOC,MAGnC,OAAOW,CAAc,EAGvB3C,KAKA6C,cAAiBhC,IACf,MAAMG,EAAiBhB,KAAKQ,SAASO,IAAIF,GAEzC,GAAIG,GAAkBA,EAAe4B,KAAO,EAAG,CAC7C,MAAME,EAAmB,IAAI9B,GAAkB,IAE/CA,EAAe+B,QAEf,IAAIC,EAAQF,EAAiBG,OAG7B,KAAOD,KACLhD,KAAKmB,eAAe2B,EAAiBE,GAEzC,CAEA,OAAOhD,KAAKQ,SAASgB,OAAOX,EAAQ,EAGtCb,KAMAkD,QAAU,CAAIrC,EAAiBc,KAC7B,GAAId,EAAQsC,SAAS,KAAM,CACzB,MAAMC,EAAiBvC,EAAQwC,MAAM,KAErC,IAAIJ,OAAEA,GAAWG,EACbE,GAAS,EAGb,KAAOL,KAAU,CACAjD,KAAKyB,iBAClB2B,EAAeG,MAAM,EAAGN,EAAS,GAAGO,KAAK,KACzCP,IAAWG,EAAeH,OAAS,EACnCtB,KAIA2B,GAAS,EAEb,CACA,OAAQA,CACV,CAEA,OAAOtD,KAAKyB,iBAAiBZ,GAAS,EAAOc,EAAK,EAGpD3B,KAMAyD,UAAY,CAAC5C,EAAiBD,KAC5B,MAAM8C,EAAkB1D,KAAKQ,SAASO,IAAIF,GAU1C,OARI6C,EACFA,EAAgBC,IAAI/C,GAEpBZ,KAAKQ,SAASU,IAAIL,EAAS,IAAI+C,IAAI,CAAChD,KAGtCZ,KAAKW,YAAYC,EAAUC,GAEpB,IAAMb,KAAK6D,YAAYjD,EAAU,CAAEC,UAASuB,OAAO,GAAO,EAGnEpC,KAMA6D,YAAc,CAACjD,EAAoBkD,KACjC,MAAMjD,QAAEA,EAAOuB,MAAEA,GAAU0B,GAAW,CAAA,EAEtC,IAAIC,GAAe,EAEnB,GAAIlD,EAAS,CACX,MAAMmD,EAAgBhE,KAAKQ,SAASO,IAAIF,GASxC,OAPAkD,IAAeC,GAAgBA,EAAcxC,OAAOZ,GAChDwB,GAAiC,IAAxB4B,GAAepB,MAC1B5C,KAAKQ,SAASgB,OAAOX,GAGvBb,KAAKmB,eAAeP,GAEbmD,CACT,CAEA,MAAME,EAAqBjE,KAAKU,UAAUK,IAAIH,IAAa,GAK3D,IAAK,MAAMoD,KAAiBC,EAC1BF,EAAeC,EAAcxC,OAAOZ,GAEhCwB,GAAgC,IAAvB4B,EAAcpB,MACzB5C,KAAKoC,QAMT,OAFApC,KAAKU,UAAUc,OAAOZ,GAEfmD,CAAY,EAGrB/D,KAMAkE,aAAe,CAACtD,EAAoBC,KAClC,GAAIA,EAAS,CACX,MAAM6C,EAAkB1D,KAAKQ,SAASO,IAAIF,GAE1C,QAAO6C,GAAkBA,EAAgBnC,IAAIX,EAC/C,CAEA,OAAOZ,KAAKU,UAAUa,IAAIX,EAAS,EAGrCZ,KAIA+C,MAAQ,KACN,IAAI/C,KAAKI,OAAOG,WAId,MAAM,IAAIX,EAHVI,KAAKQ,SAASuC,QACd/C,KAAKU,UAAUqC,OAGjB,EAGF/C,KAIAmE,MAAQ,IAAcnE,KAAKG,GApOzBH,KAAKG,GAAKA,GAAMiE,IAChBpE,KAAKiC,UAAU7B,GAAU,CAAA,EAC3B,CAKA,UAAI6C,GACF,MAAO,IAAIjD,KAAKQ,SAAS6D,UAAUC,QAAO,CAACC,EAAKb,IAAoBa,EAAMb,EAAgBd,MAAM,EAClG"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{classPrivateFieldLooseBase as t,classPrivateFieldLooseKey as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";let i=function(t){return t.CHANGE="change",t.TRANSITIONED_TO="transitionedTo",t.TRANSITIONED_FROM="transitionedFrom",t.ADDED_TO_QUEUE="addedToQueue",t.REMOVED_FROM_QUEUE="removedFromQueue",t}({});class s extends Event{constructor(t,e){super(t,e)}}var r=e("name"),n=e("listeners");class a{constructor(e){Object.defineProperty(this,r,{writable:!0,value:void 0}),Object.defineProperty(this,n,{writable:!0,value:void 0}),this.subscribe=e=>(t(this,n)[n].add(e),()=>t(this,n)[n].delete(e)),this.unsubscribe=e=>t(this,n)[n].delete(e),this.publish=e=>{if(t(this,n)[n]?.size)for(const i of t(this,n)[n])i(e)},this.toString=()=>`TinyStateMachineSate: ${t(this,r)[r]}`,t(this,r)[r]=e,t(this,n)[n]=new Set}get name(){return t(this,r)[r]}get[Symbol.toStringTag](){return`TinyStateMachineSate: ${t(this,r)[r]}`}}const o=t=>new Set(t.map((t=>new a(t))));var h=e("states"),l=e("listeners"),u=e("currentState"),d=e("getStateByName"),c=e("getStateByState");class _{constructor(e){Object.defineProperty(this,h,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,u,{writable:!0,value:void 0}),this.addState=e=>{t(this,h)[h].add(e)},this.removeState=e=>{t(this,h)[h].delete(e)},this.subscribe=e=>(t(this,l)[l].add(e),()=>t(this,l)[l].delete(e)),this.unsubscribe=e=>{t(this,l)[l].delete(e)},this.publish=(e,i)=>{if(t(this,l)[l]?.size)for(const s of t(this,l)[l])s(e,i)},Object.defineProperty(this,d,{writable:!0,value:e=>Array.from(t(this,h)[h]).find((t=>t.name===e))}),Object.defineProperty(this,c,{writable:!0,value:e=>t(this,h)[h].has(e)?e:void 0}),this.gotoState=e=>{const r="string"==typeof e?t(this,d)[d](e):t(this,c)[c](e);if(!r)throw Error(`TinyStateMachin::gotoState state not found: ${e}`);const n=t(this,u)[u];return t(this,u)[u]=r,this.publish(new s(i.TRANSITIONED_FROM),n),this.publish(new s(i.TRANSITIONED_TO),r),n?.publish(new s(i.TRANSITIONED_FROM)),t(this,u)[u].publish(new s(i.TRANSITIONED_TO)),!0},this.next=()=>{let e;const i=Array.from(t(this,h)[h]);if(!t(this,u)[u])return[e]=i,this.gotoState(e)?e:null;const s=i.findIndex((e=>e===t(this,u)[u]));return s<t(this,h)[h].size-2?(e=i[s+1],this.gotoState(e)?e:null):null},t(this,h)[h]=e,t(this,l)[l]=new Set}get states(){return t(this,h)[h]}get currentState(){return t(this,u)[u]}}const S=function*(){let t,e=S.IS_RUNNING;for(;;)if(t=yield e,t===S.DO_END){e=S.IS_FINITE,yield e;break}return yield*[1,2,3],yield 123,10};S.DO_END="__DO__END__",S.IS_FINITE="__IS__FINITE__",S.IS_RUNNING="__IS__RUNNING__";export{_ as TinyStateMachine,s as TinyStateMachineEvent,i as TinyStateMachineEventType,a as TinyStateMachineState,o as createStates,S as stateIterator};
|
|
2
|
+
//# sourceMappingURL=tiny-state-machine.base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiny-state-machine.base.js","sources":["../../../../../../../../src/core/utils/appState/stateMachine/tiny-state-machine.base.ts"],"sourcesContent":["export enum TinyStateMachineEventType {\n CHANGE = 'change',\n TRANSITIONED_TO = 'transitionedTo',\n TRANSITIONED_FROM = 'transitionedFrom',\n ADDED_TO_QUEUE = 'addedToQueue',\n REMOVED_FROM_QUEUE = 'removedFromQueue'\n}\n\nexport type TinyStateMachineListenerCallBack = (\n stateEvent: TinyStateMachineEvent,\n state?: ITinyStateMachineState\n) => void;\n\nexport class TinyStateMachineEvent extends Event {\n constructor(type: TinyStateMachineEventType, eventInitDict?: any) {\n super(type, eventInitDict)\n }\n}\n\ninterface IPubSub {\n subscribe: (listener: TinyStateMachineListenerCallBack) => () => void\n unsubscribe: (listener: TinyStateMachineListenerCallBack) => void\n publish: (...args: any[]) => void\n}\n\nexport interface ITinyStateMachineState extends IPubSub {\n name: string\n}\n\nexport class TinyStateMachineState implements ITinyStateMachineState {\n #name: string\n\n #listeners: Set<TinyStateMachineListenerCallBack>\n\n constructor(name: string) {\n this.#name = name\n this.#listeners = new Set<TinyStateMachineListenerCallBack>()\n }\n\n get name(): string {\n return this.#name\n }\n\n subscribe = (listener: TinyStateMachineListenerCallBack): () => void => {\n this.#listeners.add(listener)\n return () => this.#listeners.delete(listener)\n }\n\n unsubscribe = (listener: TinyStateMachineListenerCallBack): boolean => this.#listeners.delete(listener)\n\n publish = (event: TinyStateMachineEvent): void => {\n if (!this.#listeners?.size) {\n return\n }\n // eslint-disable-next-line no-restricted-syntax\n for (const listener of this.#listeners) {\n listener(event)\n }\n }\n\n toString = (): string => `TinyStateMachineSate: ${this.#name}`\n\n get [Symbol.toStringTag](): string {\n return `TinyStateMachineSate: ${this.#name}`\n }\n}\n\nexport interface ITinyStateMachine extends IPubSub {\n states: Set<TinyStateMachineState>\n addState: (state: TinyStateMachineState) => void\n removeState: (state: TinyStateMachineState) => void\n currentState: undefined | TinyStateMachineState\n gotoState: (state: TinyStateMachineState) => void | boolean\n\n}\n\nexport const createStates = (stateNames: string[]): Set<TinyStateMachineState> => new Set(\n stateNames.map((name: string) => new TinyStateMachineState(name)),\n)\n\nexport class TinyStateMachine implements ITinyStateMachine {\n #states: Set<TinyStateMachineState>\n\n #listeners: Set<TinyStateMachineListenerCallBack>\n\n #currentState: undefined | TinyStateMachineState\n\n constructor(states: Set<TinyStateMachineState>) {\n this.#states = states\n this.#listeners = new Set<TinyStateMachineListenerCallBack>()\n }\n\n addState = (state: TinyStateMachineState): void => {\n this.#states.add(state)\n }\n\n removeState = (state: TinyStateMachineState): void => {\n this.#states.delete(state)\n }\n\n get states (): Set<TinyStateMachineState> {\n return this.#states\n }\n\n get currentState (): undefined | TinyStateMachineState {\n return this.#currentState\n }\n\n subscribe = (listener: TinyStateMachineListenerCallBack): () => void => {\n this.#listeners.add(listener)\n return () => this.#listeners.delete(listener)\n }\n\n unsubscribe = (listener: TinyStateMachineListenerCallBack): void => {\n this.#listeners.delete(listener)\n }\n\n publish = (event: TinyStateMachineEvent, state?: TinyStateMachineState): void => {\n if (!this.#listeners?.size) {\n return\n }\n // eslint-disable-next-line no-restricted-syntax\n for (const listener of this.#listeners) {\n listener(event, state)\n }\n }\n\n #getStateByName = (stateName: string): undefined | TinyStateMachineState => Array\n .from(this.#states).find((state: TinyStateMachineState) => state.name === stateName)\n\n #getStateByState\n = (state: TinyStateMachineState): undefined | TinyStateMachineState => (this.#states.has(state) ? state : undefined)\n\n gotoState = (state: TinyStateMachineState | string): void | boolean => {\n const foundState = typeof state === 'string'\n ? this.#getStateByName(state as string)\n : this.#getStateByState(state as TinyStateMachineState)\n\n if (!foundState) {\n throw Error(`TinyStateMachin::gotoState state not found: ${state}`)\n }\n\n const prevState: undefined | TinyStateMachineState = this.#currentState\n\n this.#currentState = foundState\n this.publish(new TinyStateMachineEvent(TinyStateMachineEventType.TRANSITIONED_FROM), prevState)\n this.publish(new TinyStateMachineEvent(TinyStateMachineEventType.TRANSITIONED_TO), foundState)\n\n prevState?.publish(new TinyStateMachineEvent(TinyStateMachineEventType.TRANSITIONED_FROM))\n this.#currentState.publish(new TinyStateMachineEvent(TinyStateMachineEventType.TRANSITIONED_TO))\n return true\n }\n\n next = (): TinyStateMachineState | null => {\n let nextState: TinyStateMachineState\n const arrayOfStates: TinyStateMachineState[] = Array.from(this.#states)\n\n if (!this.#currentState) {\n [nextState] = arrayOfStates\n\n return this.gotoState(nextState) ? nextState : null\n }\n\n const currentStateIndex = arrayOfStates\n .findIndex((state: TinyStateMachineState) => state === this.#currentState)\n\n if (currentStateIndex < this.#states.size - 2) {\n nextState = arrayOfStates[currentStateIndex + 1]\n return this.gotoState(nextState) ? nextState : null\n }\n\n return null\n }\n}\n\n\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport const stateIterator = function* () {\n let operation: string\n let state: string = stateIterator.IS_RUNNING\n\n while (true) {\n // console.log('inside while loop')\n\n // // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // // @ts-ignore\n\n\n // // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // // @ts-ignore\n operation = yield state\n\n // // console.log('operation', operation)\n // // console.log('state', state)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (operation === stateIterator.DO_END) {\n state = stateIterator.IS_FINITE\n yield state\n break\n }\n }\n yield* [1, 2, 3]\n yield 123\n\n return 10\n}\n\nstateIterator.DO_END = '__DO__END__'\nstateIterator.IS_FINITE = '__IS__FINITE__'\nstateIterator.IS_RUNNING = '__IS__RUNNING__'\n"],"names":["TinyStateMachineEventType","TinyStateMachineEvent","Event","constructor","type","eventInitDict","super","_name","_classPrivateFieldLooseKey","_listeners","TinyStateMachineState","name","Object","defineProperty","this","writable","value","subscribe","listener","_classPrivateFieldLooseBase","add","delete","unsubscribe","publish","event","size","toString","Set","Symbol","toStringTag","createStates","stateNames","map","_states","_listeners2","_currentState","_getStateByName","_getStateByState","TinyStateMachine","states","addState","state","removeState","stateName","Array","from","find","has","undefined","gotoState","foundState","Error","prevState","TRANSITIONED_FROM","TRANSITIONED_TO","next","nextState","arrayOfStates","currentStateIndex","findIndex","currentState","stateIterator","operation","IS_RUNNING","DO_END","IS_FINITE"],"mappings":"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"}
|