@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.
Files changed (60) hide show
  1. package/CHANGELOG.md +460 -0
  2. package/package.cjs +8 -0
  3. package/package.js +4 -0
  4. package/package.json +9 -15
  5. package/src/index.cjs +14 -1
  6. package/src/index.d.ts +3 -2
  7. package/src/index.js +9 -0
  8. package/src/messageTransport/decorators/makeWaitForInitEvent/makeWaitForInitEvent.d.ts +4 -9
  9. package/src/messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.cjs +21 -15
  10. package/src/messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.d.ts +16 -8
  11. package/src/messageTransport/decorators/makeWaitForUnblock/makeWaitForUnblock.js +21 -15
  12. package/src/messageTypes/AccountAbstractionMessages.d.ts +15 -0
  13. package/src/messageTypes/AuthModuleMessages.cjs +14 -0
  14. package/src/messageTypes/AuthModuleMessages.d.ts +12 -1
  15. package/src/messageTypes/AuthModuleMessages.js +10 -0
  16. package/src/messageTypes/EmbeddedWalletsModuleMessages.cjs +10 -0
  17. package/src/messageTypes/EmbeddedWalletsModuleMessages.d.ts +5 -1
  18. package/src/messageTypes/EmbeddedWalletsModuleMessages.js +6 -0
  19. package/src/messageTypes/OtpMessages.cjs +14 -0
  20. package/src/messageTypes/OtpMessages.d.ts +10 -0
  21. package/src/messageTypes/OtpMessages.js +9 -0
  22. package/src/messageTypes/PasskeyMessages.d.ts +6 -0
  23. package/src/messageTypes/ProjectSettingsMessages.d.ts +6 -0
  24. package/src/messageTypes/SocialAuthModuleMessages.d.ts +13 -1
  25. package/src/messageTypes/StorageMessages.d.ts +19 -0
  26. package/src/messageTypes/TurnkeyIframeEventProxyMessages.d.ts +9 -0
  27. package/src/messageTypes/UserInterfaceModuleMessages.cjs +12 -0
  28. package/src/messageTypes/UserInterfaceModuleMessages.d.ts +4 -0
  29. package/src/messageTypes/UserInterfaceModuleMessages.js +8 -0
  30. package/src/messageTypes/WalletsModuleMessages.cjs +12 -0
  31. package/src/messageTypes/WalletsModuleMessages.d.ts +29 -0
  32. package/src/messageTypes/WalletsModuleMessages.js +8 -0
  33. package/src/messageTypes/ZeroDevExtensionMessages.d.ts +10 -0
  34. package/src/messageTypes/index.d.ts +5 -1
  35. package/src/requestChannel/createRequestChannelMessageSender/createRequestChannelMessageSender.cjs +45 -0
  36. package/src/requestChannel/createRequestChannelMessageSender/createRequestChannelMessageSender.d.ts +18 -0
  37. package/src/requestChannel/createRequestChannelMessageSender/createRequestChannelMessageSender.js +41 -0
  38. package/src/requestChannel/createRequestChannelMessageSender/index.d.ts +1 -0
  39. package/src/requestChannel/index.d.ts +1 -0
  40. package/src/requestChannel/requestChannel.cjs +46 -76
  41. package/src/requestChannel/requestChannel.d.ts +3 -69
  42. package/src/requestChannel/requestChannel.js +42 -68
  43. package/src/requestChannel/types.d.ts +55 -0
  44. package/src/requestChannel/utils/index.d.ts +1 -0
  45. package/src/requestChannel/utils/utils.cjs +33 -0
  46. package/src/requestChannel/utils/utils.d.ts +16 -0
  47. package/src/requestChannel/utils/utils.js +25 -0
  48. package/src/store/createEventEmitterForMessages/createEventEmitterForMessages.cjs +4 -5
  49. package/src/store/createEventEmitterForMessages/createEventEmitterForMessages.d.ts +5 -8
  50. package/src/store/createEventEmitterForMessages/createEventEmitterForMessages.js +4 -5
  51. package/src/store/store.cjs +1 -1
  52. package/src/store/store.js +1 -1
  53. package/src/store/types.d.ts +3 -11
  54. package/src/types.d.ts +5 -0
  55. package/src/utils/parseErrorFromTransport/parseErrorFromTransport.cjs +11 -0
  56. package/src/utils/parseErrorFromTransport/parseErrorFromTransport.d.ts +1 -1
  57. package/src/utils/parseErrorFromTransport/parseErrorFromTransport.js +11 -0
  58. package/src/utils/serializeErrorForTransport/serializeErrorForTransport.cjs +3 -0
  59. package/src/utils/serializeErrorForTransport/serializeErrorForTransport.js +3 -0
  60. package/src/messageTypes/SecureStorageMessages.d.ts +0 -5
@@ -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 {
@@ -1,5 +1,6 @@
1
1
  import EventEmitter from 'eventemitter3';
2
- export type StoreKeys = 'auth' | 'sdk' | 'wallets' | 'embeddedWallets' | 'platform' | 'networks';
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)) {
@@ -1,5 +0,0 @@
1
- export type SecureStorageMessages = {
2
- getSecureItem: (key: string) => Promise<string | null>;
3
- setSecureItem: (key: string, data: string) => Promise<void>;
4
- deleteSecureItem: (key: string) => Promise<void>;
5
- };