@dynamic-labs/message-transport 4.0.0-alpha.5 → 4.0.0-alpha.50
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/CHANGELOG.md +460 -0
- package/package.cjs +8 -0
- package/package.js +4 -0
- package/package.json +9 -15
- package/src/index.cjs +14 -1
- package/src/index.d.ts +3 -2
- package/src/index.js +9 -0
- package/src/messageTransport/decorators/makeWaitForInitEvent/makeWaitForInitEvent.d.ts +4 -9
- package/src/messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.cjs +21 -15
- package/src/messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.d.ts +16 -8
- package/src/messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.js +21 -15
- package/src/messageTypes/AccountAbstractionMessages.d.ts +15 -0
- package/src/messageTypes/AuthModuleMessages.cjs +14 -0
- package/src/messageTypes/AuthModuleMessages.d.ts +12 -1
- package/src/messageTypes/AuthModuleMessages.js +10 -0
- package/src/messageTypes/EmbeddedWalletsModuleMessages.cjs +10 -0
- package/src/messageTypes/EmbeddedWalletsModuleMessages.d.ts +5 -1
- package/src/messageTypes/EmbeddedWalletsModuleMessages.js +6 -0
- package/src/messageTypes/OtpMessages.cjs +14 -0
- package/src/messageTypes/OtpMessages.d.ts +10 -0
- package/src/messageTypes/OtpMessages.js +9 -0
- package/src/messageTypes/PasskeyMessages.d.ts +6 -0
- package/src/messageTypes/ProjectSettingsMessages.d.ts +6 -0
- package/src/messageTypes/SocialAuthModuleMessages.d.ts +13 -1
- package/src/messageTypes/StorageMessages.d.ts +19 -0
- package/src/messageTypes/TurnkeyIframeEventProxyMessages.d.ts +9 -0
- package/src/messageTypes/UserInterfaceModuleMessages.cjs +12 -0
- package/src/messageTypes/UserInterfaceModuleMessages.d.ts +4 -0
- package/src/messageTypes/UserInterfaceModuleMessages.js +8 -0
- package/src/messageTypes/WalletsModuleMessages.cjs +12 -0
- package/src/messageTypes/WalletsModuleMessages.d.ts +29 -0
- package/src/messageTypes/WalletsModuleMessages.js +8 -0
- package/src/messageTypes/ZeroDevExtensionMessages.d.ts +10 -0
- package/src/messageTypes/index.d.ts +5 -1
- package/src/requestChannel/createRequestChannelMessageSender/createRequestChannelMessageSender.cjs +45 -0
- package/src/requestChannel/createRequestChannelMessageSender/createRequestChannelMessageSender.d.ts +18 -0
- package/src/requestChannel/createRequestChannelMessageSender/createRequestChannelMessageSender.js +41 -0
- package/src/requestChannel/createRequestChannelMessageSender/index.d.ts +1 -0
- package/src/requestChannel/index.d.ts +1 -0
- package/src/requestChannel/requestChannel.cjs +46 -76
- package/src/requestChannel/requestChannel.d.ts +3 -69
- package/src/requestChannel/requestChannel.js +42 -68
- package/src/requestChannel/types.d.ts +55 -0
- package/src/requestChannel/utils/index.d.ts +1 -0
- package/src/requestChannel/utils/utils.cjs +33 -0
- package/src/requestChannel/utils/utils.d.ts +16 -0
- package/src/requestChannel/utils/utils.js +25 -0
- package/src/store/createEventEmitterForMessages/createEventEmitterForMessages.cjs +4 -5
- package/src/store/createEventEmitterForMessages/createEventEmitterForMessages.d.ts +5 -8
- package/src/store/createEventEmitterForMessages/createEventEmitterForMessages.js +4 -5
- package/src/store/store.cjs +1 -1
- package/src/store/store.js +1 -1
- package/src/store/types.d.ts +3 -11
- package/src/types.d.ts +5 -0
- package/src/utils/parseErrorFromTransport/parseErrorFromTransport.cjs +11 -0
- package/src/utils/parseErrorFromTransport/parseErrorFromTransport.d.ts +1 -1
- package/src/utils/parseErrorFromTransport/parseErrorFromTransport.js +11 -0
- package/src/utils/serializeErrorForTransport/serializeErrorForTransport.cjs +3 -0
- package/src/utils/serializeErrorForTransport/serializeErrorForTransport.js +3 -0
- package/src/messageTypes/SecureStorageMessages.d.ts +0 -5
package/src/store/store.js
CHANGED
|
@@ -30,6 +30,7 @@ const createStore = ({ initialState, key, messageTransport, }) => {
|
|
|
30
30
|
const messageName = `${key}__${variable}Changed`;
|
|
31
31
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
32
|
requestChannel.handle(messageName, (newValue) => {
|
|
33
|
+
state[variable] = newValue;
|
|
33
34
|
const eventName = `${variable}Changed`;
|
|
34
35
|
// We emit with the same event name for simplicity, but keep in mind
|
|
35
36
|
// the eventEmitter events are different from the messageTransport message we are handling.
|
|
@@ -39,7 +40,6 @@ const createStore = ({ initialState, key, messageTransport, }) => {
|
|
|
39
40
|
// but all this is encapsulated in this function and it works like a charm for whoever calls it.
|
|
40
41
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
42
|
eventEmitter.emit(eventName, newValue);
|
|
42
|
-
state[variable] = newValue;
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
return {
|
package/src/store/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import EventEmitter from 'eventemitter3';
|
|
2
|
-
|
|
2
|
+
import { PickedEventListeners } from '../types';
|
|
3
|
+
export type StoreKeys = 'auth' | 'sdk' | 'wallets' | 'embeddedWallets' | 'platform' | 'userInterface' | 'otp' | 'networks';
|
|
3
4
|
/**
|
|
4
5
|
* Readonly getters for the store values
|
|
5
6
|
*/
|
|
@@ -38,16 +39,7 @@ export type StoreStateChangeEvent<T extends Record<string, unknown>, K extends E
|
|
|
38
39
|
export type StoreStateEvents<T extends Record<string, unknown>> = {
|
|
39
40
|
[K in Extract<keyof T, string> as StoreStateChangeEvent<T, K>]: (value: T[K]) => void;
|
|
40
41
|
};
|
|
41
|
-
/**
|
|
42
|
-
* Generates the event listener methods for a StoreState.
|
|
43
|
-
* The methods still return the original type of the eventemitter3 class.
|
|
44
|
-
* Use StoreEventListeners instead, which hides these return types.
|
|
45
|
-
*/
|
|
46
|
-
type RawStoreEventListeners<T extends Record<string, unknown>> = Pick<EventEmitter<StoreStateEvents<T>>, 'on' | 'off' | 'once'>;
|
|
47
42
|
/**
|
|
48
43
|
* The event listener methods for a StoreState
|
|
49
44
|
*/
|
|
50
|
-
export type StoreEventListeners<T extends Record<string, unknown>> =
|
|
51
|
-
[M in keyof RawStoreEventListeners<T>]: (...args: Parameters<RawStoreEventListeners<T>[M]>) => void;
|
|
52
|
-
};
|
|
53
|
-
export {};
|
|
45
|
+
export type StoreEventListeners<T extends Record<string, unknown>> = PickedEventListeners<StoreStateEvents<T>>;
|
package/src/types.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type PickedEventListeners<T extends Record<string, unknown>> = {
|
|
2
|
+
on: <K extends keyof T>(eventName: K, listener: T[K]) => void;
|
|
3
|
+
once: <K extends keyof T>(eventName: K, listener: T[K]) => void;
|
|
4
|
+
off: <K extends keyof T>(eventName: K, listener: T[K]) => void;
|
|
5
|
+
};
|
|
@@ -17,6 +17,17 @@ var _tslib = require('../../../_virtual/_tslib.cjs');
|
|
|
17
17
|
const parseErrorFromTransport = (serializedError) => {
|
|
18
18
|
const { message, name, stack } = serializedError, otherProps = _tslib.__rest(serializedError, ["message", "name", "stack"]);
|
|
19
19
|
let error;
|
|
20
|
+
// If we have passed in a array of values, we just use it directly
|
|
21
|
+
if (message) {
|
|
22
|
+
try {
|
|
23
|
+
const data = JSON.parse(message);
|
|
24
|
+
if (Array.isArray(data))
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
catch (_a) {
|
|
28
|
+
/* empty */
|
|
29
|
+
}
|
|
30
|
+
}
|
|
20
31
|
// Determine the type of the error based on the 'name' property and instantiate accordingly
|
|
21
32
|
switch (name) {
|
|
22
33
|
case 'TypeError':
|
|
@@ -8,4 +8,4 @@ import { SerializedError } from '../serializeErrorForTransport';
|
|
|
8
8
|
* @param {SerializedError} serializedError - The serialized error object to parse.
|
|
9
9
|
* @returns {Error} - The reconstructed Error instance.
|
|
10
10
|
*/
|
|
11
|
-
export declare const parseErrorFromTransport: (serializedError: SerializedError) => Error;
|
|
11
|
+
export declare const parseErrorFromTransport: (serializedError: SerializedError) => Error | unknown[];
|
|
@@ -13,6 +13,17 @@ import { __rest } from '../../../_virtual/_tslib.js';
|
|
|
13
13
|
const parseErrorFromTransport = (serializedError) => {
|
|
14
14
|
const { message, name, stack } = serializedError, otherProps = __rest(serializedError, ["message", "name", "stack"]);
|
|
15
15
|
let error;
|
|
16
|
+
// If we have passed in a array of values, we just use it directly
|
|
17
|
+
if (message) {
|
|
18
|
+
try {
|
|
19
|
+
const data = JSON.parse(message);
|
|
20
|
+
if (Array.isArray(data))
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
catch (_a) {
|
|
24
|
+
/* empty */
|
|
25
|
+
}
|
|
26
|
+
}
|
|
16
27
|
// Determine the type of the error based on the 'name' property and instantiate accordingly
|
|
17
28
|
switch (name) {
|
|
18
29
|
case 'TypeError':
|
|
@@ -20,6 +20,9 @@ const serializeErrorForTransport = (err) => {
|
|
|
20
20
|
// @ts-expect-error name is a standard property of Error
|
|
21
21
|
name: err.name, stack: err.stack }, err);
|
|
22
22
|
}
|
|
23
|
+
else if (Array.isArray(err)) {
|
|
24
|
+
return { message: JSON.stringify(err) };
|
|
25
|
+
}
|
|
23
26
|
else if (typeof err === 'object' && err !== null) {
|
|
24
27
|
const plainObject = {};
|
|
25
28
|
for (const [key, value] of Object.entries(err)) {
|
|
@@ -16,6 +16,9 @@ const serializeErrorForTransport = (err) => {
|
|
|
16
16
|
// @ts-expect-error name is a standard property of Error
|
|
17
17
|
name: err.name, stack: err.stack }, err);
|
|
18
18
|
}
|
|
19
|
+
else if (Array.isArray(err)) {
|
|
20
|
+
return { message: JSON.stringify(err) };
|
|
21
|
+
}
|
|
19
22
|
else if (typeof err === 'object' && err !== null) {
|
|
20
23
|
const plainObject = {};
|
|
21
24
|
for (const [key, value] of Object.entries(err)) {
|