@mittwald/ext-bridge 0.2.0-alpha.153 → 0.2.0-alpha.155

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 (69) hide show
  1. package/dist/js/config/getConfig.mjs +9 -0
  2. package/dist/js/config/getConfig.mjs.map +1 -0
  3. package/dist/js/getExtBridge.mjs +7 -0
  4. package/dist/js/getExtBridge.mjs.map +1 -0
  5. package/dist/js/global-browser.mjs +15 -0
  6. package/dist/js/global-browser.mjs.map +1 -0
  7. package/dist/js/index-browser.mjs +4 -0
  8. package/dist/js/index-browser.mjs.map +1 -0
  9. package/dist/js/index-node.mjs +6 -0
  10. package/dist/js/index-node.mjs.map +1 -0
  11. package/dist/js/index.mjs +1 -4
  12. package/dist/js/index.mjs.map +1 -1
  13. package/dist/js/lib/assertBrowserEnv.mjs +13 -0
  14. package/dist/js/lib/assertBrowserEnv.mjs.map +1 -0
  15. package/dist/js/lib/controllablePromise.mjs +18 -0
  16. package/dist/js/lib/controllablePromise.mjs.map +1 -0
  17. package/dist/js/react/hooks/useConfig.mjs +8 -0
  18. package/dist/js/react/hooks/useConfig.mjs.map +1 -0
  19. package/dist/js/react/hooks/useExtBridge.mjs +4 -4
  20. package/dist/js/react/hooks/useExtBridge.mjs.map +1 -1
  21. package/dist/js/react.mjs +2 -1
  22. package/dist/js/react.mjs.map +1 -1
  23. package/dist/js/readiness.mjs +30 -0
  24. package/dist/js/readiness.mjs.map +1 -0
  25. package/dist/js/sessionToken/getAccessToken.mjs +15 -0
  26. package/dist/js/sessionToken/getAccessToken.mjs.map +1 -0
  27. package/dist/js/sessionToken/getSessionToken.mjs +9 -0
  28. package/dist/js/sessionToken/getSessionToken.mjs.map +1 -0
  29. package/dist/js/sessionToken/publicKeys/fetchPublicKey.mjs +1 -1
  30. package/dist/js/sessionToken/publicKeys/fetchPublicKey.mjs.map +1 -1
  31. package/dist/types/config/getConfig.d.ts +11 -0
  32. package/dist/types/config/getConfig.d.ts.map +1 -0
  33. package/dist/types/getExtBridge.d.ts +2 -0
  34. package/dist/types/getExtBridge.d.ts.map +1 -0
  35. package/dist/types/global-browser.d.ts +3 -0
  36. package/dist/types/global-browser.d.ts.map +1 -0
  37. package/dist/types/index-browser.d.ts +3 -0
  38. package/dist/types/index-browser.d.ts.map +1 -0
  39. package/dist/types/index-node.d.ts +3 -0
  40. package/dist/types/index-node.d.ts.map +1 -0
  41. package/dist/types/index.d.ts +0 -2
  42. package/dist/types/index.d.ts.map +1 -1
  43. package/dist/types/lib/assertBrowserEnv.d.ts +2 -0
  44. package/dist/types/lib/assertBrowserEnv.d.ts.map +1 -0
  45. package/dist/types/lib/controllablePromise.d.ts +2 -0
  46. package/dist/types/lib/controllablePromise.d.ts.map +1 -0
  47. package/dist/types/react/hooks/index.d.ts +1 -1
  48. package/dist/types/react/hooks/index.d.ts.map +1 -1
  49. package/dist/types/react/hooks/useConfig.d.ts +11 -0
  50. package/dist/types/react/hooks/useConfig.d.ts.map +1 -0
  51. package/dist/types/react/hooks/useExtBridge.d.ts.map +1 -1
  52. package/dist/types/react/index.d.ts.map +1 -1
  53. package/dist/types/readiness.d.ts +5 -0
  54. package/dist/types/readiness.d.ts.map +1 -0
  55. package/dist/types/sessionToken/getAccessToken.d.ts +7 -0
  56. package/dist/types/sessionToken/getAccessToken.d.ts.map +1 -0
  57. package/dist/types/sessionToken/getSessionToken.d.ts +2 -0
  58. package/dist/types/sessionToken/getSessionToken.d.ts.map +1 -0
  59. package/dist/types/types.d.ts +7 -8
  60. package/dist/types/types.d.ts.map +1 -1
  61. package/package.json +11 -4
  62. package/dist/js/global.mjs +0 -19
  63. package/dist/js/global.mjs.map +0 -1
  64. package/dist/js/loading.mjs +0 -19
  65. package/dist/js/loading.mjs.map +0 -1
  66. package/dist/types/global.d.ts +0 -2
  67. package/dist/types/global.d.ts.map +0 -1
  68. package/dist/types/loading.d.ts +0 -5
  69. package/dist/types/loading.d.ts.map +0 -1
@@ -0,0 +1,9 @@
1
+ import { getExtBridge } from '../getExtBridge.mjs';
2
+
3
+ const getConfig = async () => {
4
+ const extBridge = await getExtBridge();
5
+ return extBridge.config;
6
+ };
7
+
8
+ export { getConfig };
9
+ //# sourceMappingURL=getConfig.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getConfig.mjs","sources":["../../../src/config/getConfig.ts"],"sourcesContent":["import { getExtBridge } from \"@/getExtBridge\";\n\nexport const getConfig = async () => {\n const extBridge = await getExtBridge();\n return extBridge.config;\n};\n"],"names":[],"mappings":";;AAEO,MAAM,YAAY,YAAY;AACnC,EAAM,MAAA,SAAA,GAAY,MAAM,YAAa,EAAA;AACrC,EAAA,OAAO,SAAU,CAAA,MAAA;AACnB;;;;"}
@@ -0,0 +1,7 @@
1
+ const getExtBridge = async () => {
2
+ await globalThis.mwExtBridge.readiness.isReady();
3
+ return globalThis.mwExtBridge;
4
+ };
5
+
6
+ export { getExtBridge };
7
+ //# sourceMappingURL=getExtBridge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExtBridge.mjs","sources":["../../src/getExtBridge.ts"],"sourcesContent":["export const getExtBridge = async () => {\n await globalThis.mwExtBridge.readiness.isReady();\n return globalThis.mwExtBridge;\n};\n"],"names":[],"mappings":"AAAO,MAAM,eAAe,YAAY;AACtC,EAAM,MAAA,UAAA,CAAW,WAAY,CAAA,SAAA,CAAU,OAAQ,EAAA;AAC/C,EAAA,OAAO,UAAW,CAAA,WAAA;AACpB;;;;"}
@@ -0,0 +1,15 @@
1
+ import { readinessApi } from './readiness.mjs';
2
+
3
+ const isAlreadyDefined = typeof globalThis.mwExtBridge !== "undefined";
4
+ if (isAlreadyDefined) {
5
+ console.warn(
6
+ "mwExtBridge is already defined. The @mittwald/ext-bridge package is probably installed multiple times."
7
+ );
8
+ }
9
+ const mwExtBridge = {
10
+ readiness: readinessApi
11
+ };
12
+ globalThis.mwExtBridge = mwExtBridge;
13
+
14
+ export { mwExtBridge };
15
+ //# sourceMappingURL=global-browser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-browser.mjs","sources":["../../src/global-browser.ts"],"sourcesContent":["import { readinessApi } from \"@/readiness\";\nimport type { ExtBridge } from \"@/types\";\n\nconst isAlreadyDefined = typeof globalThis.mwExtBridge !== \"undefined\";\n\nif (isAlreadyDefined) {\n console.warn(\n \"mwExtBridge is already defined. The @mittwald/ext-bridge package is probably installed multiple times.\",\n );\n}\n\nexport const mwExtBridge = {\n readiness: readinessApi,\n} as ExtBridge;\n\nglobalThis.mwExtBridge = mwExtBridge;\n"],"names":[],"mappings":";;AAGA,MAAM,gBAAA,GAAmB,OAAO,UAAA,CAAW,WAAgB,KAAA,WAAA;AAE3D,IAAI,gBAAkB,EAAA;AACpB,EAAQ,OAAA,CAAA,IAAA;AAAA,IACN;AAAA,GACF;AACF;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB,SAAW,EAAA;AACb;AAEA,UAAA,CAAW,WAAc,GAAA,WAAA;;;;"}
@@ -0,0 +1,4 @@
1
+ import './global-browser.mjs';
2
+ export { getConfig } from './config/getConfig.mjs';
3
+ export { getSessionToken } from './sessionToken/getSessionToken.mjs';
4
+ //# sourceMappingURL=index-browser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-browser.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,6 @@
1
+ import './error.mjs';
2
+ import './sessionToken/schemas.mjs';
3
+ import 'jose';
4
+ export { verify } from './sessionToken/verify.mjs';
5
+ export { getAccessToken } from './sessionToken/getAccessToken.mjs';
6
+ //# sourceMappingURL=index-node.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/dist/js/index.mjs CHANGED
@@ -1,5 +1,2 @@
1
- import './global.mjs';
2
- export { ExtBridgeError } from './error.mjs';
3
- export { decode } from './sessionToken/decode.mjs';
4
- export { verify } from './sessionToken/verify.mjs';
1
+
5
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { ExtBridgeError } from '../error.mjs';
2
+
3
+ const isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
4
+ const assertBrowserEnv = () => {
5
+ if (!isBrowser) {
6
+ throw new ExtBridgeError(
7
+ "Ext Bridge can only be used in a browser environment. To opt-out from SSR you can use <BrowserOnly> from '@mittwald/flow-remote-react-components'."
8
+ );
9
+ }
10
+ };
11
+
12
+ export { assertBrowserEnv };
13
+ //# sourceMappingURL=assertBrowserEnv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertBrowserEnv.mjs","sources":["../../../src/lib/assertBrowserEnv.ts"],"sourcesContent":["import { ExtBridgeError } from \"@/error\";\n\nconst isBrowser: boolean =\n typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n\nexport const assertBrowserEnv = () => {\n if (!isBrowser) {\n throw new ExtBridgeError(\n \"Ext Bridge can only be used in a browser environment. To opt-out from SSR you can use <BrowserOnly> from '@mittwald/flow-remote-react-components'.\",\n );\n }\n};\n"],"names":[],"mappings":";;AAEA,MAAM,YACJ,OAAO,MAAA,KAAW,WAAe,IAAA,OAAO,OAAO,QAAa,KAAA,WAAA;AAEvD,MAAM,mBAAmB,MAAM;AACpC,EAAA,IAAI,CAAC,SAAW,EAAA;AACd,IAAA,MAAM,IAAI,cAAA;AAAA,MACR;AAAA,KACF;AAAA;AAEJ;;;;"}
@@ -0,0 +1,18 @@
1
+ import { ExtBridgeError } from '../error.mjs';
2
+
3
+ const controllablePromise = () => {
4
+ let resolve = () => {
5
+ throw new ExtBridgeError("Unexpected call of resolve()");
6
+ };
7
+ let reject = () => {
8
+ throw new ExtBridgeError("Unexpected call of reject()");
9
+ };
10
+ const promise = new Promise((res, rej) => {
11
+ resolve = res;
12
+ reject = rej;
13
+ });
14
+ return [promise, resolve, reject];
15
+ };
16
+
17
+ export { controllablePromise };
18
+ //# sourceMappingURL=controllablePromise.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllablePromise.mjs","sources":["../../../src/lib/controllablePromise.ts"],"sourcesContent":["import { ExtBridgeError } from \"@/error\";\n\nexport const controllablePromise = () => {\n let resolve = (): void => {\n throw new ExtBridgeError(\"Unexpected call of resolve()\");\n };\n\n let reject: (error: unknown) => void = () => {\n throw new ExtBridgeError(\"Unexpected call of reject()\");\n };\n\n const promise = new Promise<void>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n return [promise, resolve, reject] as const;\n};\n"],"names":[],"mappings":";;AAEO,MAAM,sBAAsB,MAAM;AACvC,EAAA,IAAI,UAAU,MAAY;AACxB,IAAM,MAAA,IAAI,eAAe,8BAA8B,CAAA;AAAA,GACzD;AAEA,EAAA,IAAI,SAAmC,MAAM;AAC3C,IAAM,MAAA,IAAI,eAAe,6BAA6B,CAAA;AAAA,GACxD;AAEA,EAAA,MAAM,OAAU,GAAA,IAAI,OAAc,CAAA,CAAC,KAAK,GAAQ,KAAA;AAC9C,IAAU,OAAA,GAAA,GAAA;AACV,IAAS,MAAA,GAAA,GAAA;AAAA,GACV,CAAA;AAED,EAAO,OAAA,CAAC,OAAS,EAAA,OAAA,EAAS,MAAM,CAAA;AAClC;;;;"}
@@ -0,0 +1,8 @@
1
+ import { useExtBridge } from './useExtBridge.mjs';
2
+
3
+ const useConfig = () => {
4
+ return useExtBridge().config;
5
+ };
6
+
7
+ export { useConfig };
8
+ //# sourceMappingURL=useConfig.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConfig.mjs","sources":["../../../../src/react/hooks/useConfig.ts"],"sourcesContent":["import { useExtBridge } from \"@/react/hooks/useExtBridge\";\n\nexport const useConfig = () => {\n return useExtBridge().config;\n};\n"],"names":[],"mappings":";;AAEO,MAAM,YAAY,MAAM;AAC7B,EAAA,OAAO,cAAe,CAAA,MAAA;AACxB;;;;"}
@@ -1,9 +1,9 @@
1
+ import { getExtBridge } from '../../getExtBridge.mjs';
1
2
  import { usePromise } from '@mittwald/react-use-promise';
2
3
 
3
- const useExtBridge = () => usePromise(async () => {
4
- await globalThis.mittwald.extBridge.ready;
5
- return globalThis.mittwald.extBridge;
6
- }, []);
4
+ const useExtBridge = () => {
5
+ return usePromise(getExtBridge, []);
6
+ };
7
7
 
8
8
  export { useExtBridge };
9
9
  //# sourceMappingURL=useExtBridge.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useExtBridge.mjs","sources":["../../../../src/react/hooks/useExtBridge.ts"],"sourcesContent":["import { usePromise } from \"@mittwald/react-use-promise\";\n\nexport const useExtBridge = () =>\n usePromise(async () => {\n await globalThis.mittwald.extBridge.ready;\n return globalThis.mittwald.extBridge;\n }, []);\n"],"names":[],"mappings":";;AAEa,MAAA,YAAA,GAAe,MAC1B,UAAA,CAAW,YAAY;AACrB,EAAM,MAAA,UAAA,CAAW,SAAS,SAAU,CAAA,KAAA;AACpC,EAAA,OAAO,WAAW,QAAS,CAAA,SAAA;AAC7B,CAAA,EAAG,EAAE;;;;"}
1
+ {"version":3,"file":"useExtBridge.mjs","sources":["../../../../src/react/hooks/useExtBridge.ts"],"sourcesContent":["import { getExtBridge } from \"@/getExtBridge\";\nimport { usePromise } from \"@mittwald/react-use-promise\";\n\nexport const useExtBridge = () => {\n return usePromise(getExtBridge, []);\n};\n"],"names":[],"mappings":";;;AAGO,MAAM,eAAe,MAAM;AAChC,EAAO,OAAA,UAAA,CAAW,YAAc,EAAA,EAAE,CAAA;AACpC;;;;"}
package/dist/js/react.mjs CHANGED
@@ -1,2 +1,3 @@
1
- export { useExtBridge } from './react/hooks/useExtBridge.mjs';
1
+ import './global-browser.mjs';
2
+ export { useConfig } from './react/hooks/useConfig.mjs';
2
3
  //# sourceMappingURL=react.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"react.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,30 @@
1
+ import { parseConfig } from './config/parse.mjs';
2
+ import { ExtBridgeError } from './error.mjs';
3
+ import { assertBrowserEnv } from './lib/assertBrowserEnv.mjs';
4
+ import { controllablePromise } from './lib/controllablePromise.mjs';
5
+
6
+ const timeoutMs = 7500;
7
+ const [readiness, resolveReadiness] = controllablePromise();
8
+ const [timoutPromise, , rejectOnTimeout] = controllablePromise();
9
+ const startTimeout = () => {
10
+ setTimeout(() => {
11
+ rejectOnTimeout(
12
+ new ExtBridgeError(`Ext Bridge not ready after ${timeoutMs}ms`)
13
+ );
14
+ }, timeoutMs);
15
+ return timoutPromise;
16
+ };
17
+ const readinessApi = {
18
+ isReady: async () => {
19
+ assertBrowserEnv();
20
+ await Promise.race([readiness, startTimeout()]);
21
+ },
22
+ setIsReady: async () => {
23
+ const config = await mwExtBridge.connection.getConfig();
24
+ mwExtBridge.config = parseConfig(config);
25
+ resolveReadiness();
26
+ }
27
+ };
28
+
29
+ export { readinessApi };
30
+ //# sourceMappingURL=readiness.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readiness.mjs","sources":["../../src/readiness.ts"],"sourcesContent":["import { parseConfig } from \"@/config/parse\";\nimport { ExtBridgeError } from \"@/error\";\nimport { assertBrowserEnv } from \"@/lib/assertBrowserEnv\";\nimport { controllablePromise } from \"@/lib/controllablePromise\";\n\nconst timeoutMs = 7500;\n\nconst [readiness, resolveReadiness] = controllablePromise();\nconst [timoutPromise, , rejectOnTimeout] = controllablePromise();\n\nconst startTimeout = () => {\n setTimeout(() => {\n rejectOnTimeout(\n new ExtBridgeError(`Ext Bridge not ready after ${timeoutMs}ms`),\n );\n }, timeoutMs);\n return timoutPromise;\n};\n\nexport const readinessApi = {\n isReady: async () => {\n assertBrowserEnv();\n await Promise.race([readiness, startTimeout()]);\n },\n setIsReady: async () => {\n const config = await mwExtBridge.connection.getConfig();\n mwExtBridge.config = parseConfig(config);\n resolveReadiness();\n },\n} as const;\n"],"names":[],"mappings":";;;;;AAKA,MAAM,SAAY,GAAA,IAAA;AAElB,MAAM,CAAC,SAAA,EAAW,gBAAgB,CAAA,GAAI,mBAAoB,EAAA;AAC1D,MAAM,CAAC,aAAA,IAAiB,eAAe,IAAI,mBAAoB,EAAA;AAE/D,MAAM,eAAe,MAAM;AACzB,EAAA,UAAA,CAAW,MAAM;AACf,IAAA,eAAA;AAAA,MACE,IAAI,cAAA,CAAe,CAA8B,2BAAA,EAAA,SAAS,CAAI,EAAA,CAAA;AAAA,KAChE;AAAA,KACC,SAAS,CAAA;AACZ,EAAO,OAAA,aAAA;AACT,CAAA;AAEO,MAAM,YAAe,GAAA;AAAA,EAC1B,SAAS,YAAY;AACnB,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,QAAQ,IAAK,CAAA,CAAC,SAAW,EAAA,YAAA,EAAc,CAAC,CAAA;AAAA,GAChD;AAAA,EACA,YAAY,YAAY;AACtB,IAAA,MAAM,MAAS,GAAA,MAAM,WAAY,CAAA,UAAA,CAAW,SAAU,EAAA;AACtD,IAAY,WAAA,CAAA,MAAA,GAAS,YAAY,MAAM,CAAA;AACvC,IAAiB,gBAAA,EAAA;AAAA;AAErB;;;;"}
@@ -0,0 +1,15 @@
1
+ import { MW_EXT_API_URL } from '../environment.mjs';
2
+ import axios from 'axios';
3
+
4
+ const getAccessToken = async (sessionToken, extensionSecret) => {
5
+ const response = await axios({
6
+ url: `${MW_EXT_API_URL}/v2/authenticate-session-token`,
7
+ data: { sessionToken, extensionSecret },
8
+ validateStatus: (status) => status === 201,
9
+ method: "POST"
10
+ });
11
+ return response.data;
12
+ };
13
+
14
+ export { getAccessToken };
15
+ //# sourceMappingURL=getAccessToken.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAccessToken.mjs","sources":["../../../src/sessionToken/getAccessToken.ts"],"sourcesContent":["import { MW_EXT_API_URL } from \"@/environment\";\nimport axios from \"axios\";\n\ninterface ApiResponse {\n expiry: string;\n publicToken: string;\n}\n\nexport const getAccessToken = async (\n sessionToken: string,\n extensionSecret: string,\n) => {\n const response = await axios<ApiResponse>({\n url: `${MW_EXT_API_URL}/v2/authenticate-session-token`,\n data: { sessionToken, extensionSecret },\n validateStatus: (status) => status === 201,\n method: \"POST\",\n });\n return response.data;\n};\n"],"names":[],"mappings":";;;AAQa,MAAA,cAAA,GAAiB,OAC5B,YAAA,EACA,eACG,KAAA;AACH,EAAM,MAAA,QAAA,GAAW,MAAM,KAAmB,CAAA;AAAA,IACxC,GAAA,EAAK,GAAG,cAAc,CAAA,8BAAA,CAAA;AAAA,IACtB,IAAA,EAAM,EAAE,YAAA,EAAc,eAAgB,EAAA;AAAA,IACtC,cAAA,EAAgB,CAAC,MAAA,KAAW,MAAW,KAAA,GAAA;AAAA,IACvC,MAAQ,EAAA;AAAA,GACT,CAAA;AACD,EAAA,OAAO,QAAS,CAAA,IAAA;AAClB;;;;"}
@@ -0,0 +1,9 @@
1
+ import { getExtBridge } from '../getExtBridge.mjs';
2
+
3
+ const getSessionToken = async () => {
4
+ const bridge = await getExtBridge();
5
+ return bridge.connection.getSessionToken();
6
+ };
7
+
8
+ export { getSessionToken };
9
+ //# sourceMappingURL=getSessionToken.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSessionToken.mjs","sources":["../../../src/sessionToken/getSessionToken.ts"],"sourcesContent":["import { getExtBridge } from \"@/getExtBridge\";\n\nexport const getSessionToken = async () => {\n const bridge = await getExtBridge();\n return bridge.connection.getSessionToken();\n};\n"],"names":[],"mappings":";;AAEO,MAAM,kBAAkB,YAAY;AACzC,EAAM,MAAA,MAAA,GAAS,MAAM,YAAa,EAAA;AAClC,EAAO,OAAA,MAAA,CAAO,WAAW,eAAgB,EAAA;AAC3C;;;;"}
@@ -3,7 +3,7 @@ import axios from 'axios';
3
3
 
4
4
  const fetchPublicKey = async (serial) => {
5
5
  const response = await axios({
6
- url: `https://${MW_EXT_API_URL}/v2/public-keys/${serial}`,
6
+ url: `${MW_EXT_API_URL}/v2/public-keys/${serial}`,
7
7
  validateStatus: (status) => status === 200,
8
8
  params: {
9
9
  format: "spki",
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPublicKey.mjs","sources":["../../../../src/sessionToken/publicKeys/fetchPublicKey.ts"],"sourcesContent":["import { MW_EXT_API_URL } from \"@/environment\";\nimport axios from \"axios\";\n\ninterface ApiResponse {\n algorithm: string;\n key: string;\n serial: string;\n}\n\nexport const fetchPublicKey = async (serial: string) => {\n const response = await axios<ApiResponse>({\n url: `https://${MW_EXT_API_URL}/v2/public-keys/${serial}`,\n validateStatus: (status) => status === 200,\n params: {\n format: \"spki\",\n purpose: \"session_token\",\n },\n });\n return response.data.key;\n};\n"],"names":[],"mappings":";;;AASa,MAAA,cAAA,GAAiB,OAAO,MAAmB,KAAA;AACtD,EAAM,MAAA,QAAA,GAAW,MAAM,KAAmB,CAAA;AAAA,IACxC,GAAK,EAAA,CAAA,QAAA,EAAW,cAAc,CAAA,gBAAA,EAAmB,MAAM,CAAA,CAAA;AAAA,IACvD,cAAA,EAAgB,CAAC,MAAA,KAAW,MAAW,KAAA,GAAA;AAAA,IACvC,MAAQ,EAAA;AAAA,MACN,MAAQ,EAAA,MAAA;AAAA,MACR,OAAS,EAAA;AAAA;AACX,GACD,CAAA;AACD,EAAA,OAAO,SAAS,IAAK,CAAA,GAAA;AACvB;;;;"}
1
+ {"version":3,"file":"fetchPublicKey.mjs","sources":["../../../../src/sessionToken/publicKeys/fetchPublicKey.ts"],"sourcesContent":["import { MW_EXT_API_URL } from \"@/environment\";\nimport axios from \"axios\";\n\ninterface ApiResponse {\n algorithm: string;\n key: string;\n serial: string;\n}\n\nexport const fetchPublicKey = async (serial: string) => {\n const response = await axios<ApiResponse>({\n url: `${MW_EXT_API_URL}/v2/public-keys/${serial}`,\n validateStatus: (status) => status === 200,\n params: {\n format: \"spki\",\n purpose: \"session_token\",\n },\n });\n return response.data.key;\n};\n"],"names":[],"mappings":";;;AASa,MAAA,cAAA,GAAiB,OAAO,MAAmB,KAAA;AACtD,EAAM,MAAA,QAAA,GAAW,MAAM,KAAmB,CAAA;AAAA,IACxC,GAAK,EAAA,CAAA,EAAG,cAAc,CAAA,gBAAA,EAAmB,MAAM,CAAA,CAAA;AAAA,IAC/C,cAAA,EAAgB,CAAC,MAAA,KAAW,MAAW,KAAA,GAAA;AAAA,IACvC,MAAQ,EAAA;AAAA,MACN,MAAQ,EAAA,MAAA;AAAA,MACR,OAAS,EAAA;AAAA;AACX,GACD,CAAA;AACD,EAAA,OAAO,SAAS,IAAK,CAAA,GAAA;AACvB;;;;"}
@@ -0,0 +1,11 @@
1
+ export declare const getConfig: () => Promise<import('zod').objectOutputType<import("zod").objectUtil.extendShape<{
2
+ sessionId: import('zod').ZodString;
3
+ userId: import('zod').ZodString;
4
+ extensionId: import('zod').ZodString;
5
+ extensionInstanceId: import('zod').ZodString;
6
+ }, {
7
+ appInstallationId: import('zod').ZodOptional<import('zod').ZodString>;
8
+ projectId: import('zod').ZodOptional<import('zod').ZodString>;
9
+ customerId: import('zod').ZodOptional<import('zod').ZodString>;
10
+ }>, import('zod').ZodString, "strip">>;
11
+ //# sourceMappingURL=getConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getConfig.d.ts","sourceRoot":"","sources":["../../../src/config/getConfig.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;sCAGrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const getExtBridge: () => Promise<import('./types').ExtBridge>;
2
+ //# sourceMappingURL=getExtBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExtBridge.d.ts","sourceRoot":"","sources":["../../src/getExtBridge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,4CAGxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ExtBridge } from './types';
2
+ export declare const mwExtBridge: ExtBridge;
3
+ //# sourceMappingURL=global-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-browser.d.ts","sourceRoot":"","sources":["../../src/global-browser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAUzC,eAAO,MAAM,WAAW,EAEnB,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { getConfig } from './config/getConfig';
2
+ export { getSessionToken } from './sessionToken/getSessionToken';
3
+ //# sourceMappingURL=index-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-browser.d.ts","sourceRoot":"","sources":["../../src/index-browser.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { verify } from './sessionToken';
2
+ export { getAccessToken } from './sessionToken/getAccessToken';
3
+ //# sourceMappingURL=index-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../../src/index-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,4 +1,2 @@
1
- export * from './error';
2
- export * from './sessionToken';
3
1
  export * from './types';
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const assertBrowserEnv: () => void;
2
+ //# sourceMappingURL=assertBrowserEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertBrowserEnv.d.ts","sourceRoot":"","sources":["../../../src/lib/assertBrowserEnv.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,YAM5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const controllablePromise: () => readonly [Promise<void>, () => void, (error: unknown) => void];
2
+ //# sourceMappingURL=controllablePromise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllablePromise.d.ts","sourceRoot":"","sources":["../../../src/lib/controllablePromise.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,uCACZ,IAAI,UAIF,OAAO,KAAK,IAAI,CAUrC,CAAC"}
@@ -1,2 +1,2 @@
1
- export * from './useExtBridge';
1
+ export * from './useConfig';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const useConfig: () => import('zod').objectOutputType<import("zod").objectUtil.extendShape<{
2
+ sessionId: import('zod').ZodString;
3
+ userId: import('zod').ZodString;
4
+ extensionId: import('zod').ZodString;
5
+ extensionInstanceId: import('zod').ZodString;
6
+ }, {
7
+ appInstallationId: import('zod').ZodOptional<import('zod').ZodString>;
8
+ projectId: import('zod').ZodOptional<import('zod').ZodString>;
9
+ customerId: import('zod').ZodOptional<import('zod').ZodString>;
10
+ }>, import('zod').ZodString, "strip">;
11
+ //# sourceMappingURL=useConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConfig.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/useConfig.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;qCAErB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useExtBridge.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/useExtBridge.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,iCAIjB,CAAC"}
1
+ {"version":3,"file":"useExtBridge.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/useExtBridge.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,iCAExB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const readinessApi: {
2
+ readonly isReady: () => Promise<void>;
3
+ readonly setIsReady: () => Promise<void>;
4
+ };
5
+ //# sourceMappingURL=readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../src/readiness.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,YAAY;;;CAUf,CAAC"}
@@ -0,0 +1,7 @@
1
+ interface ApiResponse {
2
+ expiry: string;
3
+ publicToken: string;
4
+ }
5
+ export declare const getAccessToken: (sessionToken: string, extensionSecret: string) => Promise<ApiResponse>;
6
+ export {};
7
+ //# sourceMappingURL=getAccessToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAccessToken.d.ts","sourceRoot":"","sources":["../../../src/sessionToken/getAccessToken.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,GACzB,cAAc,MAAM,EACpB,iBAAiB,MAAM,yBASxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const getSessionToken: () => Promise<string>;
2
+ //# sourceMappingURL=getSessionToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSessionToken.d.ts","sourceRoot":"","sources":["../../../src/sessionToken/getSessionToken.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,uBAG3B,CAAC"}
@@ -1,18 +1,17 @@
1
1
  import { ExtBridgeConfig } from './config/types';
2
- import { loadingApi } from './loading';
2
+ import { readinessApi } from './readiness';
3
3
  export type { ExtBridgeConfig } from './config/types';
4
- type LoadingApi = typeof loadingApi;
5
- export interface ExtBridgeRemoteApi {
4
+ type ReadinessApi = typeof readinessApi;
5
+ export interface ExtBridgeConnectionApi {
6
6
  getSessionToken: () => Promise<string>;
7
7
  getConfig: () => Promise<ExtBridgeConfig>;
8
8
  }
9
- export interface ExtBridge extends ExtBridgeRemoteApi, LoadingApi {
9
+ export interface ExtBridge {
10
+ readiness: ReadinessApi;
11
+ connection: ExtBridgeConnectionApi;
10
12
  config: ExtBridgeConfig;
11
13
  }
12
14
  declare global {
13
- interface mittwald {
14
- extBridge: ExtBridge;
15
- }
16
- var mittwald: mittwald;
15
+ var mwExtBridge: ExtBridge;
17
16
  }
18
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,KAAK,UAAU,GAAG,OAAO,UAAU,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,SAAU,SAAQ,kBAAkB,EAAE,UAAU;IAC/D,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,QAAQ;QAChB,SAAS,EAAE,SAAS,CAAC;KACtB;IAGD,IAAI,QAAQ,EAAE,QAAQ,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,KAAK,YAAY,GAAG,OAAO,YAAY,CAAC;AAExC,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,YAAY,CAAC;IACxB,UAAU,EAAE,sBAAsB,CAAC;IACnC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,WAAW,EAAE,SAAS,CAAC;CAC5B"}
package/package.json CHANGED
@@ -1,14 +1,21 @@
1
1
  {
2
2
  "name": "@mittwald/ext-bridge",
3
- "version": "0.2.0-alpha.153",
3
+ "version": "0.2.0-alpha.155",
4
4
  "type": "module",
5
5
  "description": "Bridge for mStudio embedded frontend extensions",
6
6
  "homepage": "https://mittwald.github.io/flow",
7
7
  "repository": "https://github.com/mittwald/flow",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./dist/types/index.d.ts",
11
- "default": "./dist/js/index.mjs"
10
+ "types": "./dist/types/index.d.ts"
11
+ },
12
+ "./node": {
13
+ "types": "./dist/types/index-node.d.ts",
14
+ "node": "./dist/js/index-node.mjs"
15
+ },
16
+ "./browser": {
17
+ "types": "./dist/types/index-browser.d.ts",
18
+ "default": "./dist/js/index-browser.mjs"
12
19
  },
13
20
  "./react": {
14
21
  "types": "./dist/types/react/index.d.ts",
@@ -64,5 +71,5 @@
64
71
  "optional": true
65
72
  }
66
73
  },
67
- "gitHead": "6249eaf1059736228b5754edd281b0cae9e979a1"
74
+ "gitHead": "bf4884b497cb14566c4ca1d9ce6687dc767cc8a9"
68
75
  }
@@ -1,19 +0,0 @@
1
- import { loadingApi } from './loading.mjs';
2
-
3
- const isAlreadyDefined = typeof globalThis.mittwald?.extBridge !== "undefined";
4
- if (isAlreadyDefined) {
5
- console.warn(
6
- "mittwald.extBridge is already defined. The @mittwald/ext-bridge package is probably installed multiple times."
7
- );
8
- }
9
- const extBridge = {
10
- ...loadingApi
11
- };
12
- if (typeof globalThis.mittwald === "undefined") {
13
- globalThis.mittwald = {
14
- extBridge
15
- };
16
- } else {
17
- globalThis.mittwald.extBridge = extBridge;
18
- }
19
- //# sourceMappingURL=global.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global.mjs","sources":["../../src/global.ts"],"sourcesContent":["import { loadingApi } from \"@/loading\";\nimport type { ExtBridge } from \"@/types\";\n\nconst isAlreadyDefined = typeof globalThis.mittwald?.extBridge !== \"undefined\";\n\nif (isAlreadyDefined) {\n console.warn(\n \"mittwald.extBridge is already defined. The @mittwald/ext-bridge package is probably installed multiple times.\",\n );\n}\n\nconst extBridge = {\n ...loadingApi,\n} as ExtBridge;\n\nif (typeof globalThis.mittwald === \"undefined\") {\n globalThis.mittwald = {\n extBridge,\n };\n} else {\n globalThis.mittwald.extBridge = extBridge;\n}\n"],"names":[],"mappings":";;AAGA,MAAM,gBAAmB,GAAA,OAAO,UAAW,CAAA,QAAA,EAAU,SAAc,KAAA,WAAA;AAEnE,IAAI,gBAAkB,EAAA;AACpB,EAAQ,OAAA,CAAA,IAAA;AAAA,IACN;AAAA,GACF;AACF;AAEA,MAAM,SAAY,GAAA;AAAA,EAChB,GAAG;AACL,CAAA;AAEA,IAAI,OAAO,UAAW,CAAA,QAAA,KAAa,WAAa,EAAA;AAC9C,EAAA,UAAA,CAAW,QAAW,GAAA;AAAA,IACpB;AAAA,GACF;AACF,CAAO,MAAA;AACL,EAAA,UAAA,CAAW,SAAS,SAAY,GAAA,SAAA;AAClC"}
@@ -1,19 +0,0 @@
1
- import { parseConfig } from './config/parse.mjs';
2
- import { ExtBridgeError } from './error.mjs';
3
-
4
- let resolveReadyPromise = () => {
5
- throw new ExtBridgeError("Unexpected call of resolveReadyPromise()");
6
- };
7
- const loadingApi = {
8
- ready: new Promise((res) => {
9
- resolveReadyPromise = res;
10
- }),
11
- setIsReady: async () => {
12
- const config = await mittwald.extBridge.getConfig();
13
- mittwald.extBridge.config = parseConfig(config);
14
- resolveReadyPromise();
15
- }
16
- };
17
-
18
- export { loadingApi };
19
- //# sourceMappingURL=loading.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading.mjs","sources":["../../src/loading.ts"],"sourcesContent":["import { parseConfig } from \"@/config/parse\";\nimport { ExtBridgeError } from \"@/error\";\n\nlet resolveReadyPromise: () => void = () => {\n throw new ExtBridgeError(\"Unexpected call of resolveReadyPromise()\");\n};\n\nexport const loadingApi = {\n ready: new Promise<void>((res) => {\n resolveReadyPromise = res;\n }),\n setIsReady: async () => {\n const config = await mittwald.extBridge.getConfig();\n mittwald.extBridge.config = parseConfig(config);\n resolveReadyPromise();\n },\n} as const;\n"],"names":[],"mappings":";;;AAGA,IAAI,sBAAkC,MAAM;AAC1C,EAAM,MAAA,IAAI,eAAe,0CAA0C,CAAA;AACrE,CAAA;AAEO,MAAM,UAAa,GAAA;AAAA,EACxB,KAAO,EAAA,IAAI,OAAc,CAAA,CAAC,GAAQ,KAAA;AAChC,IAAsB,mBAAA,GAAA,GAAA;AAAA,GACvB,CAAA;AAAA,EACD,YAAY,YAAY;AACtB,IAAA,MAAM,MAAS,GAAA,MAAM,QAAS,CAAA,SAAA,CAAU,SAAU,EAAA;AAClD,IAAS,QAAA,CAAA,SAAA,CAAU,MAAS,GAAA,WAAA,CAAY,MAAM,CAAA;AAC9C,IAAoB,mBAAA,EAAA;AAAA;AAExB;;;;"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=global.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../src/global.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- export declare const loadingApi: {
2
- readonly ready: Promise<void>;
3
- readonly setIsReady: () => Promise<void>;
4
- };
5
- //# sourceMappingURL=loading.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../src/loading.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU;;;CASb,CAAC"}