@dynamic-labs/web-extension 4.0.0-alpha.16

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 (50) hide show
  1. package/CHANGELOG.md +4303 -0
  2. package/LICENSE +21 -0
  3. package/README.md +3 -0
  4. package/_virtual/_tslib.cjs +36 -0
  5. package/_virtual/_tslib.js +32 -0
  6. package/package.cjs +8 -0
  7. package/package.js +4 -0
  8. package/package.json +39 -0
  9. package/src/index.cjs +12 -0
  10. package/src/index.d.ts +1 -0
  11. package/src/index.js +6 -0
  12. package/src/lib/WebExtension/WebExtension.cjs +39 -0
  13. package/src/lib/WebExtension/WebExtension.d.ts +7 -0
  14. package/src/lib/WebExtension/WebExtension.js +35 -0
  15. package/src/lib/WebExtension/index.d.ts +1 -0
  16. package/src/lib/utils/addHostOriginToUrl/addHostOriginToUrl.cjs +20 -0
  17. package/src/lib/utils/addHostOriginToUrl/addHostOriginToUrl.d.ts +1 -0
  18. package/src/lib/utils/addHostOriginToUrl/addHostOriginToUrl.js +16 -0
  19. package/src/lib/utils/addHostOriginToUrl/index.d.ts +1 -0
  20. package/src/lib/utils/connectIFrameToMessageTransport/connectIFrameToMessageTransport.cjs +53 -0
  21. package/src/lib/utils/connectIFrameToMessageTransport/connectIFrameToMessageTransport.d.ts +2 -0
  22. package/src/lib/utils/connectIFrameToMessageTransport/connectIFrameToMessageTransport.js +49 -0
  23. package/src/lib/utils/connectIFrameToMessageTransport/index.d.ts +1 -0
  24. package/src/lib/utils/getIFrameController/getIFrameController.cjs +39 -0
  25. package/src/lib/utils/getIFrameController/getIFrameController.d.ts +6 -0
  26. package/src/lib/utils/getIFrameController/getIFrameController.js +35 -0
  27. package/src/lib/utils/getIFrameController/index.d.ts +1 -0
  28. package/src/lib/utils/logger.cjs +10 -0
  29. package/src/lib/utils/logger.d.ts +2 -0
  30. package/src/lib/utils/logger.js +6 -0
  31. package/src/lib/utils/setupIFrameVisibilityState/index.d.ts +1 -0
  32. package/src/lib/utils/setupIFrameVisibilityState/setupIFrameVisibilityState.cjs +20 -0
  33. package/src/lib/utils/setupIFrameVisibilityState/setupIFrameVisibilityState.d.ts +3 -0
  34. package/src/lib/utils/setupIFrameVisibilityState/setupIFrameVisibilityState.js +16 -0
  35. package/src/lib/utils/setupPasskeyHandler/index.d.ts +1 -0
  36. package/src/lib/utils/setupPasskeyHandler/setupPasskeyHandler.cjs +47 -0
  37. package/src/lib/utils/setupPasskeyHandler/setupPasskeyHandler.d.ts +2 -0
  38. package/src/lib/utils/setupPasskeyHandler/setupPasskeyHandler.js +43 -0
  39. package/src/lib/utils/setupPlatformHandler/index.d.ts +1 -0
  40. package/src/lib/utils/setupPlatformHandler/setupPlatformHandler.cjs +16 -0
  41. package/src/lib/utils/setupPlatformHandler/setupPlatformHandler.d.ts +2 -0
  42. package/src/lib/utils/setupPlatformHandler/setupPlatformHandler.js +12 -0
  43. package/src/lib/utils/setupSocialHandler/index.d.ts +1 -0
  44. package/src/lib/utils/setupSocialHandler/setupSocialHandler.cjs +25 -0
  45. package/src/lib/utils/setupSocialHandler/setupSocialHandler.d.ts +2 -0
  46. package/src/lib/utils/setupSocialHandler/setupSocialHandler.js +21 -0
  47. package/src/lib/utils/setupStorage/index.d.ts +1 -0
  48. package/src/lib/utils/setupStorage/setupStorage.cjs +22 -0
  49. package/src/lib/utils/setupStorage/setupStorage.d.ts +2 -0
  50. package/src/lib/utils/setupStorage/setupStorage.js +18 -0
@@ -0,0 +1,43 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
3
+ import { WebauthnStamper } from '@turnkey/webauthn-stamper';
4
+ import { createRequestChannel } from '@dynamic-labs/message-transport';
5
+ import { createWebauthnCredential } from '@dynamic-labs/webauthn';
6
+ import { logger } from '../logger.js';
7
+
8
+ const setupPasskeyHandler = (core) => {
9
+ const passkeysRequestChannel = createRequestChannel(core.messageTransport);
10
+ passkeysRequestChannel.handle('createPasskey', (_a) => __awaiter(void 0, [_a], void 0, function* ({ publicKey }) {
11
+ try {
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ const attestation = yield createWebauthnCredential(publicKey);
14
+ return {
15
+ attestation: {
16
+ attestationObject: attestation.response.attestationObject,
17
+ clientDataJson: attestation.response.clientDataJSON,
18
+ credentialId: attestation.rawId,
19
+ transports: [],
20
+ },
21
+ };
22
+ }
23
+ catch (err) {
24
+ logger.error(err);
25
+ throw err;
26
+ }
27
+ }));
28
+ passkeysRequestChannel.handle('passkeyStamp', (rpId, payload) => __awaiter(void 0, void 0, void 0, function* () {
29
+ try {
30
+ const stamper = new WebauthnStamper({
31
+ rpId,
32
+ });
33
+ const stamped = yield stamper.stamp(payload);
34
+ return stamped;
35
+ }
36
+ catch (err) {
37
+ logger.error(err);
38
+ throw err;
39
+ }
40
+ }));
41
+ };
42
+
43
+ export { setupPasskeyHandler };
@@ -0,0 +1 @@
1
+ export { setupPlatformHandler } from './setupPlatformHandler';
@@ -0,0 +1,16 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
+ var messageTransport = require('@dynamic-labs/message-transport');
8
+
9
+ const setupPlatformHandler = (messageTransport$1) => {
10
+ const platformChannel = messageTransport.createRequestChannel(messageTransport$1);
11
+ platformChannel.handle('openURL', (url) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
12
+ window.location.assign(url);
13
+ }));
14
+ };
15
+
16
+ exports.setupPlatformHandler = setupPlatformHandler;
@@ -0,0 +1,2 @@
1
+ import { MessageTransportWithDefaultOrigin } from '@dynamic-labs/message-transport';
2
+ export declare const setupPlatformHandler: (messageTransport: MessageTransportWithDefaultOrigin) => void;
@@ -0,0 +1,12 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
3
+ import { createRequestChannel } from '@dynamic-labs/message-transport';
4
+
5
+ const setupPlatformHandler = (messageTransport) => {
6
+ const platformChannel = createRequestChannel(messageTransport);
7
+ platformChannel.handle('openURL', (url) => __awaiter(void 0, void 0, void 0, function* () {
8
+ window.location.assign(url);
9
+ }));
10
+ };
11
+
12
+ export { setupPlatformHandler };
@@ -0,0 +1 @@
1
+ export { setupSocialHandler } from './setupSocialHandler';
@@ -0,0 +1,25 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
+ var messageTransport = require('@dynamic-labs/message-transport');
8
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
9
+ var utils = require('@dynamic-labs/utils');
10
+
11
+ const setupSocialHandler = (messageTransport$1) => {
12
+ const socialAuthRequestChannel = messageTransport.createRequestChannel(messageTransport$1);
13
+ socialAuthRequestChannel.handle('connectWithSocialOnHost', (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ clientId, oauthLoginUrl, provider, state }) {
14
+ if (provider === sdkApiCore.ProviderEnum.Apple) {
15
+ return utils.connectWithAppleId({
16
+ clientId,
17
+ oauthLoginUrl: new URL(oauthLoginUrl),
18
+ state,
19
+ });
20
+ }
21
+ throw new Error('Provider not supported');
22
+ }));
23
+ };
24
+
25
+ exports.setupSocialHandler = setupSocialHandler;
@@ -0,0 +1,2 @@
1
+ import { MessageTransportWithDefaultOrigin } from '@dynamic-labs/message-transport';
2
+ export declare const setupSocialHandler: (messageTransport: MessageTransportWithDefaultOrigin) => void;
@@ -0,0 +1,21 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
3
+ import { createRequestChannel } from '@dynamic-labs/message-transport';
4
+ import { ProviderEnum } from '@dynamic-labs/sdk-api-core';
5
+ import { connectWithAppleId } from '@dynamic-labs/utils';
6
+
7
+ const setupSocialHandler = (messageTransport) => {
8
+ const socialAuthRequestChannel = createRequestChannel(messageTransport);
9
+ socialAuthRequestChannel.handle('connectWithSocialOnHost', (_a) => __awaiter(void 0, [_a], void 0, function* ({ clientId, oauthLoginUrl, provider, state }) {
10
+ if (provider === ProviderEnum.Apple) {
11
+ return connectWithAppleId({
12
+ clientId,
13
+ oauthLoginUrl: new URL(oauthLoginUrl),
14
+ state,
15
+ });
16
+ }
17
+ throw new Error('Provider not supported');
18
+ }));
19
+ };
20
+
21
+ export { setupSocialHandler };
@@ -0,0 +1 @@
1
+ export { setupStorage } from './setupStorage';
@@ -0,0 +1,22 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
+ var messageTransport = require('@dynamic-labs/message-transport');
8
+
9
+ const setupStorage = (messageTransport$1) => {
10
+ const storageRequestChannel = messageTransport.createRequestChannel(messageTransport$1);
11
+ const getStorageFromSource = (source) => {
12
+ if (source === 'localStorage') {
13
+ return window.localStorage;
14
+ }
15
+ return window.sessionStorage;
16
+ };
17
+ storageRequestChannel.handle('getItem', (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ key, source }) { return getStorageFromSource(source).getItem(key); }));
18
+ storageRequestChannel.handle('setItem', (_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({ key, data, source }) { return getStorageFromSource(source).setItem(key, data); }));
19
+ storageRequestChannel.handle('deleteItem', (_c) => _tslib.__awaiter(void 0, [_c], void 0, function* ({ key, source }) { return getStorageFromSource(source).removeItem(key); }));
20
+ };
21
+
22
+ exports.setupStorage = setupStorage;
@@ -0,0 +1,2 @@
1
+ import { MessageTransportWithDefaultOrigin } from '@dynamic-labs/message-transport';
2
+ export declare const setupStorage: (messageTransport: MessageTransportWithDefaultOrigin) => void;
@@ -0,0 +1,18 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
3
+ import { createRequestChannel } from '@dynamic-labs/message-transport';
4
+
5
+ const setupStorage = (messageTransport) => {
6
+ const storageRequestChannel = createRequestChannel(messageTransport);
7
+ const getStorageFromSource = (source) => {
8
+ if (source === 'localStorage') {
9
+ return window.localStorage;
10
+ }
11
+ return window.sessionStorage;
12
+ };
13
+ storageRequestChannel.handle('getItem', (_a) => __awaiter(void 0, [_a], void 0, function* ({ key, source }) { return getStorageFromSource(source).getItem(key); }));
14
+ storageRequestChannel.handle('setItem', (_b) => __awaiter(void 0, [_b], void 0, function* ({ key, data, source }) { return getStorageFromSource(source).setItem(key, data); }));
15
+ storageRequestChannel.handle('deleteItem', (_c) => __awaiter(void 0, [_c], void 0, function* ({ key, source }) { return getStorageFromSource(source).removeItem(key); }));
16
+ };
17
+
18
+ export { setupStorage };