m2m-components 3.3.0 → 3.3.1-alpha-aef9a40.0

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 (306) hide show
  1. package/MenuBaseElement.d.mts +24 -0
  2. package/MenuBaseElement.d.ts +12 -8
  3. package/MenuBaseElement.js +177 -102
  4. package/MenuBaseElement.js.map +1 -1
  5. package/MenuBaseElement.mjs +9 -0
  6. package/MenuBaseElement.mjs.map +1 -0
  7. package/{cjs/storage/lib/hub.js → chunk-2X6HV5XJ.mjs} +21 -40
  8. package/chunk-2X6HV5XJ.mjs.map +1 -0
  9. package/chunk-3YQYBFME.mjs +102 -0
  10. package/chunk-3YQYBFME.mjs.map +1 -0
  11. package/chunk-5FHEMJGG.mjs +97 -0
  12. package/chunk-5FHEMJGG.mjs.map +1 -0
  13. package/{cjs/domains.js → chunk-B7STDXYN.mjs} +8 -8
  14. package/chunk-B7STDXYN.mjs.map +1 -0
  15. package/chunk-BFPL6AIR.mjs +74 -0
  16. package/chunk-BFPL6AIR.mjs.map +1 -0
  17. package/chunk-CB56CZRA.mjs +8491 -0
  18. package/chunk-CB56CZRA.mjs.map +1 -0
  19. package/chunk-CEBJL6ZD.mjs +22 -0
  20. package/chunk-CEBJL6ZD.mjs.map +1 -0
  21. package/{cjs/endpoints/matsuri-forms.v1.js → chunk-DYNNGZMQ.mjs} +94 -185
  22. package/chunk-DYNNGZMQ.mjs.map +1 -0
  23. package/chunk-FDRD4YS4.mjs +34 -0
  24. package/chunk-FDRD4YS4.mjs.map +1 -0
  25. package/{cjs/endpoints/m2m-users.v1.js → chunk-GMPQV5TL.mjs} +136 -267
  26. package/chunk-GMPQV5TL.mjs.map +1 -0
  27. package/chunk-H66U7VZB.mjs +9 -0
  28. package/chunk-H66U7VZB.mjs.map +1 -0
  29. package/chunk-IH72EYIB.mjs +9 -0
  30. package/chunk-IH72EYIB.mjs.map +1 -0
  31. package/chunk-IOZIVEOV.mjs +2 -0
  32. package/chunk-IOZIVEOV.mjs.map +1 -0
  33. package/{cjs/endpoints/m2m-notifications.v1.js → chunk-ISOF65DB.mjs} +42 -63
  34. package/chunk-ISOF65DB.mjs.map +1 -0
  35. package/chunk-JUBOAWNR.mjs +61 -0
  36. package/chunk-JUBOAWNR.mjs.map +1 -0
  37. package/chunk-LDSJ6KYP.mjs +28 -0
  38. package/chunk-LDSJ6KYP.mjs.map +1 -0
  39. package/chunk-LYVJL4T5.mjs +78 -0
  40. package/chunk-LYVJL4T5.mjs.map +1 -0
  41. package/chunk-M4ZBTA6A.mjs +19 -0
  42. package/chunk-M4ZBTA6A.mjs.map +1 -0
  43. package/chunk-NO6ZGO5P.mjs +17 -0
  44. package/chunk-NO6ZGO5P.mjs.map +1 -0
  45. package/chunk-UCJSCAN5.mjs +45 -0
  46. package/chunk-UCJSCAN5.mjs.map +1 -0
  47. package/chunk-UM6FAKR4.mjs +152 -0
  48. package/chunk-UM6FAKR4.mjs.map +1 -0
  49. package/{cjs/storage/lib/client.js → chunk-UOPEIK22.mjs} +45 -50
  50. package/chunk-UOPEIK22.mjs.map +1 -0
  51. package/chunk-V4ROE7DI.mjs +54 -0
  52. package/chunk-V4ROE7DI.mjs.map +1 -0
  53. package/chunk-VNCVFELM.mjs +83 -0
  54. package/chunk-VNCVFELM.mjs.map +1 -0
  55. package/chunk-YUHXVW6K.mjs +2 -0
  56. package/chunk-YUHXVW6K.mjs.map +1 -0
  57. package/domains.d.mts +11 -0
  58. package/domains.d.ts +3 -2
  59. package/domains.js +31 -1
  60. package/domains.js.map +1 -1
  61. package/domains.mjs +9 -0
  62. package/domains.mjs.map +1 -0
  63. package/endpoints/m2m-notifications.d.mts +7 -0
  64. package/endpoints/m2m-notifications.d.ts +5 -3
  65. package/endpoints/m2m-notifications.js +129 -4
  66. package/endpoints/m2m-notifications.js.map +1 -1
  67. package/endpoints/m2m-notifications.mjs +12 -0
  68. package/endpoints/m2m-notifications.mjs.map +1 -0
  69. package/endpoints/m2m-notifications.v1.d.mts +1 -0
  70. package/endpoints/m2m-notifications.v1.d.ts +1 -51
  71. package/endpoints/m2m-notifications.v1.js +95 -102
  72. package/endpoints/m2m-notifications.v1.js.map +1 -1
  73. package/endpoints/m2m-notifications.v1.mjs +23 -0
  74. package/endpoints/m2m-notifications.v1.mjs.map +1 -0
  75. package/endpoints/m2m-users.d.mts +7 -0
  76. package/endpoints/m2m-users.d.ts +5 -3
  77. package/endpoints/m2m-users.js +407 -4
  78. package/endpoints/m2m-users.js.map +1 -1
  79. package/endpoints/m2m-users.mjs +12 -0
  80. package/endpoints/m2m-users.mjs.map +1 -0
  81. package/endpoints/m2m-users.v1.d.mts +1 -0
  82. package/endpoints/m2m-users.v1.d.ts +1 -221
  83. package/endpoints/m2m-users.v1.js +327 -475
  84. package/endpoints/m2m-users.v1.js.map +1 -1
  85. package/endpoints/m2m-users.v1.mjs +69 -0
  86. package/endpoints/m2m-users.v1.mjs.map +1 -0
  87. package/endpoints/matsuri-forms.d.mts +7 -0
  88. package/endpoints/matsuri-forms.d.ts +5 -3
  89. package/endpoints/matsuri-forms.js +291 -4
  90. package/endpoints/matsuri-forms.js.map +1 -1
  91. package/endpoints/matsuri-forms.mjs +12 -0
  92. package/endpoints/matsuri-forms.mjs.map +1 -0
  93. package/endpoints/matsuri-forms.v1.d.mts +1 -0
  94. package/endpoints/matsuri-forms.v1.d.ts +1 -177
  95. package/endpoints/matsuri-forms.v1.js +231 -332
  96. package/endpoints/matsuri-forms.v1.js.map +1 -1
  97. package/endpoints/matsuri-forms.v1.mjs +49 -0
  98. package/endpoints/matsuri-forms.v1.mjs.map +1 -0
  99. package/feedback/MultipleTextQuestion.d.mts +6 -0
  100. package/feedback/MultipleTextQuestion.d.ts +6 -3
  101. package/feedback/MultipleTextQuestion.js +43 -10
  102. package/feedback/MultipleTextQuestion.js.map +1 -1
  103. package/feedback/MultipleTextQuestion.mjs +9 -0
  104. package/feedback/MultipleTextQuestion.mjs.map +1 -0
  105. package/feedback/SelectQuestion.d.mts +6 -0
  106. package/feedback/SelectQuestion.d.ts +6 -3
  107. package/feedback/SelectQuestion.js +55 -18
  108. package/feedback/SelectQuestion.js.map +1 -1
  109. package/feedback/SelectQuestion.mjs +9 -0
  110. package/feedback/SelectQuestion.mjs.map +1 -0
  111. package/feedback/getRandomId.d.mts +6 -0
  112. package/feedback/getRandomId.d.ts +3 -2
  113. package/feedback/getRandomId.js +31 -4
  114. package/feedback/getRandomId.js.map +1 -1
  115. package/feedback/getRandomId.mjs +9 -0
  116. package/feedback/getRandomId.mjs.map +1 -0
  117. package/feedback/index.d.mts +15 -0
  118. package/feedback/index.d.ts +7 -5
  119. package/feedback/index.js +8558 -166
  120. package/feedback/index.js.map +1 -1
  121. package/feedback/index.mjs +13 -0
  122. package/feedback/index.mjs.map +1 -0
  123. package/global.d.d.mts +4 -0
  124. package/global.d.d.ts +4 -0
  125. package/global.d.js +20 -0
  126. package/global.d.js.map +1 -0
  127. package/global.d.mjs +2 -0
  128. package/global.d.mjs.map +1 -0
  129. package/index.d.mts +6 -0
  130. package/index.d.ts +6 -9
  131. package/index.js +421 -8
  132. package/index.js.map +1 -1
  133. package/index.mjs +23 -0
  134. package/index.mjs.map +1 -0
  135. package/initM2mComponents.d.mts +7 -0
  136. package/initM2mComponents.d.ts +3 -6
  137. package/initM2mComponents.js +242 -3
  138. package/initM2mComponents.js.map +1 -1
  139. package/initM2mComponents.mjs +11 -0
  140. package/initM2mComponents.mjs.map +1 -0
  141. package/m2m-apps-menu.d.mts +16 -0
  142. package/m2m-apps-menu.d.ts +10 -5
  143. package/m2m-apps-menu.js +265 -43
  144. package/m2m-apps-menu.js.map +1 -1
  145. package/m2m-apps-menu.mjs +11 -0
  146. package/m2m-apps-menu.mjs.map +1 -0
  147. package/m2m-notifications.v1-0186835d.d.ts +73 -0
  148. package/m2m-user-menu.d.mts +17 -0
  149. package/m2m-user-menu.d.ts +10 -5
  150. package/m2m-user-menu.js +327 -53
  151. package/m2m-user-menu.js.map +1 -1
  152. package/m2m-user-menu.mjs +13 -0
  153. package/m2m-user-menu.mjs.map +1 -0
  154. package/m2m-users.v1-c78c72cf.d.ts +289 -0
  155. package/matsuri-forms.v1-0ffee104.d.ts +225 -0
  156. package/notification/NotificationProvider.d.mts +18 -0
  157. package/notification/NotificationProvider.d.ts +10 -7
  158. package/notification/NotificationProvider.js +185 -51
  159. package/notification/NotificationProvider.js.map +1 -1
  160. package/notification/NotificationProvider.mjs +15 -0
  161. package/notification/NotificationProvider.mjs.map +1 -0
  162. package/notification/ServiceIdProvider.d.mts +10 -0
  163. package/notification/ServiceIdProvider.d.ts +8 -5
  164. package/notification/ServiceIdProvider.js +56 -18
  165. package/notification/ServiceIdProvider.js.map +1 -1
  166. package/notification/ServiceIdProvider.mjs +11 -0
  167. package/notification/ServiceIdProvider.mjs.map +1 -0
  168. package/notification/api.d.mts +7 -0
  169. package/notification/api.d.ts +7 -5
  170. package/notification/api.js +157 -59
  171. package/notification/api.js.map +1 -1
  172. package/notification/api.mjs +14 -0
  173. package/notification/api.mjs.map +1 -0
  174. package/notification/domain.d.mts +24 -0
  175. package/notification/domain.d.ts +6 -5
  176. package/notification/domain.js +19 -1
  177. package/notification/domain.js.map +1 -1
  178. package/notification/domain.mjs +3 -0
  179. package/notification/domain.mjs.map +1 -0
  180. package/notification/index.d.mts +6 -0
  181. package/notification/index.d.ts +6 -5
  182. package/notification/index.js +271 -4
  183. package/notification/index.js.map +1 -1
  184. package/notification/index.mjs +30 -0
  185. package/notification/index.mjs.map +1 -0
  186. package/package.json +43 -103
  187. package/releases/m2m-releases-link.d.mts +11 -0
  188. package/releases/m2m-releases-link.d.ts +9 -5
  189. package/releases/m2m-releases-link.js +97 -54
  190. package/releases/m2m-releases-link.js.map +1 -1
  191. package/releases/m2m-releases-link.mjs +69 -0
  192. package/releases/m2m-releases-link.mjs.map +1 -0
  193. package/releases/t.d.mts +3 -0
  194. package/releases/t.d.ts +3 -2
  195. package/releases/t.js +31 -1
  196. package/releases/t.js.map +1 -1
  197. package/releases/t.mjs +9 -0
  198. package/releases/t.mjs.map +1 -0
  199. package/storage/client.d.mts +20 -0
  200. package/storage/client.d.ts +8 -6
  201. package/storage/client.js +260 -85
  202. package/storage/client.js.map +1 -1
  203. package/storage/client.mjs +14 -0
  204. package/storage/client.mjs.map +1 -0
  205. package/storage/hub.d.mts +9 -0
  206. package/storage/hub.d.ts +6 -4
  207. package/storage/hub.js +120 -7
  208. package/storage/hub.js.map +1 -1
  209. package/storage/hub.mjs +10 -0
  210. package/storage/hub.mjs.map +1 -0
  211. package/storage/lib/client.d.mts +27 -0
  212. package/storage/lib/client.d.ts +4 -5
  213. package/storage/lib/client.js +76 -57
  214. package/storage/lib/client.js.map +1 -1
  215. package/storage/lib/client.mjs +9 -0
  216. package/storage/lib/client.mjs.map +1 -0
  217. package/storage/lib/hub.d.mts +15 -0
  218. package/storage/lib/hub.d.ts +4 -4
  219. package/storage/lib/hub.js +57 -46
  220. package/storage/lib/hub.js.map +1 -1
  221. package/storage/lib/hub.mjs +9 -0
  222. package/storage/lib/hub.mjs.map +1 -0
  223. package/storage/useM2mAuth.d.mts +25 -0
  224. package/storage/useM2mAuth.d.ts +10 -8
  225. package/storage/useM2mAuth.js +184 -74
  226. package/storage/useM2mAuth.js.map +1 -1
  227. package/storage/useM2mAuth.mjs +14 -0
  228. package/storage/useM2mAuth.mjs.map +1 -0
  229. package/storage/useM2mAuth.test.d.mts +2 -0
  230. package/storage/useM2mAuth.test.d.ts +2 -0
  231. package/storage/useM2mAuth.test.js +60906 -0
  232. package/storage/useM2mAuth.test.js.map +1 -0
  233. package/storage/useM2mAuth.test.mjs +60682 -0
  234. package/storage/useM2mAuth.test.mjs.map +1 -0
  235. package/cjs/MenuBaseElement.js +0 -207
  236. package/cjs/MenuBaseElement.js.map +0 -1
  237. package/cjs/domains.js.map +0 -1
  238. package/cjs/endpoints/m2m-notifications.js +0 -15
  239. package/cjs/endpoints/m2m-notifications.js.map +0 -1
  240. package/cjs/endpoints/m2m-notifications.v1.js.map +0 -1
  241. package/cjs/endpoints/m2m-users.js +0 -15
  242. package/cjs/endpoints/m2m-users.js.map +0 -1
  243. package/cjs/endpoints/m2m-users.v1.js.map +0 -1
  244. package/cjs/endpoints/matsuri-forms.js +0 -15
  245. package/cjs/endpoints/matsuri-forms.js.map +0 -1
  246. package/cjs/endpoints/matsuri-forms.v1.js.map +0 -1
  247. package/cjs/feedback/MultipleTextQuestion.js +0 -19
  248. package/cjs/feedback/MultipleTextQuestion.js.map +0 -1
  249. package/cjs/feedback/SelectQuestion.js +0 -27
  250. package/cjs/feedback/SelectQuestion.js.map +0 -1
  251. package/cjs/feedback/getRandomId.js +0 -12
  252. package/cjs/feedback/getRandomId.js.map +0 -1
  253. package/cjs/feedback/index.js +0 -185
  254. package/cjs/feedback/index.js.map +0 -1
  255. package/cjs/index.js +0 -11
  256. package/cjs/index.js.map +0 -1
  257. package/cjs/initM2mComponents.js +0 -17
  258. package/cjs/initM2mComponents.js.map +0 -1
  259. package/cjs/m2m-apps-menu.js +0 -95
  260. package/cjs/m2m-apps-menu.js.map +0 -1
  261. package/cjs/m2m-user-menu.js +0 -91
  262. package/cjs/m2m-user-menu.js.map +0 -1
  263. package/cjs/notification/NotificationProvider.js +0 -84
  264. package/cjs/notification/NotificationProvider.js.map +0 -1
  265. package/cjs/notification/ServiceIdProvider.js +0 -33
  266. package/cjs/notification/ServiceIdProvider.js.map +0 -1
  267. package/cjs/notification/api.js +0 -55
  268. package/cjs/notification/api.js.map +0 -1
  269. package/cjs/notification/domain.js +0 -6
  270. package/cjs/notification/domain.js.map +0 -1
  271. package/cjs/notification/index.js +0 -50
  272. package/cjs/notification/index.js.map +0 -1
  273. package/cjs/releases/m2m-releases-link.js +0 -99
  274. package/cjs/releases/m2m-releases-link.js.map +0 -1
  275. package/cjs/releases/t.js +0 -8
  276. package/cjs/releases/t.js.map +0 -1
  277. package/cjs/storage/client.js +0 -89
  278. package/cjs/storage/client.js.map +0 -1
  279. package/cjs/storage/hub.js +0 -19
  280. package/cjs/storage/hub.js.map +0 -1
  281. package/cjs/storage/lib/client.js.map +0 -1
  282. package/cjs/storage/lib/hub.js.map +0 -1
  283. package/cjs/storage/useM2mAuth.js +0 -97
  284. package/cjs/storage/useM2mAuth.js.map +0 -1
  285. package/endpoints/m2m-notifications.d.ts.map +0 -1
  286. package/endpoints/m2m-notifications.v1.d.ts.map +0 -1
  287. package/endpoints/m2m-users.d.ts.map +0 -1
  288. package/endpoints/m2m-users.v1.d.ts.map +0 -1
  289. package/endpoints/matsuri-forms.d.ts.map +0 -1
  290. package/endpoints/matsuri-forms.v1.d.ts.map +0 -1
  291. package/feedback/MultipleTextQuestion.d.ts.map +0 -1
  292. package/feedback/SelectQuestion.d.ts.map +0 -1
  293. package/feedback/getRandomId.d.ts.map +0 -1
  294. package/feedback/index.d.ts.map +0 -1
  295. package/notification/NotificationProvider.d.ts.map +0 -1
  296. package/notification/ServiceIdProvider.d.ts.map +0 -1
  297. package/notification/api.d.ts.map +0 -1
  298. package/notification/domain.d.ts.map +0 -1
  299. package/notification/index.d.ts.map +0 -1
  300. package/releases/m2m-releases-link.d.ts.map +0 -1
  301. package/releases/t.d.ts.map +0 -1
  302. package/storage/client.d.ts.map +0 -1
  303. package/storage/hub.d.ts.map +0 -1
  304. package/storage/lib/client.d.ts.map +0 -1
  305. package/storage/lib/hub.d.ts.map +0 -1
  306. package/storage/useM2mAuth.d.ts.map +0 -1
@@ -1,10 +1,8 @@
1
- export declare class StorageClient {
1
+ declare class StorageClient {
2
2
  id: string;
3
3
  frameId: string;
4
4
  origin: string;
5
- requests: {
6
- [key: string]: any;
7
- };
5
+ requests: Record<string, any>;
8
6
  connected: boolean;
9
7
  closed: boolean;
10
8
  count: number;
@@ -25,4 +23,5 @@ export declare class StorageClient {
25
23
  private createFrame;
26
24
  private request;
27
25
  }
28
- //# sourceMappingURL=client.d.ts.map
26
+
27
+ export { StorageClient };
@@ -1,24 +1,37 @@
1
- /**
2
- * この実装はcross-storageほぼそのままです。
3
- */
1
+ 'use client'
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/storage/lib/client.ts
22
+ var client_exports = {};
23
+ __export(client_exports, {
24
+ StorageClient: () => StorageClient
25
+ });
26
+ module.exports = __toCommonJS(client_exports);
4
27
  var generateUUID = () => {
5
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
6
- var r = Math.random() * 16 | 0,
7
- v = c == "x" ? r : r & 0x3 | 0x8;
28
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
29
+ const r = Math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
8
30
  return v.toString(16);
9
31
  });
10
32
  };
11
- export class StorageClient {
33
+ var StorageClient = class {
12
34
  constructor(url, opts) {
13
- this.id = void 0;
14
- this.frameId = void 0;
15
- this.origin = void 0;
16
- this.requests = void 0;
17
- this.connected = void 0;
18
- this.closed = void 0;
19
- this.count = void 0;
20
- this.timeout = void 0;
21
- this.hub = void 0;
22
35
  opts = opts || {};
23
36
  this.id = generateUUID();
24
37
  this.frameId = opts.frameId || "CrossStorageClient-" + this.id;
@@ -27,9 +40,9 @@ export class StorageClient {
27
40
  this.connected = false;
28
41
  this.closed = false;
29
42
  this.count = 0;
30
- this.timeout = opts.timeout || 5000;
43
+ this.timeout = opts.timeout || 5e3;
31
44
  window.addEventListener("message", this.listener.bind(this), false);
32
- var frame = this.createFrame(url);
45
+ const frame = this.createFrame(url);
33
46
  this.hub = frame.contentWindow;
34
47
  }
35
48
  onConnect() {
@@ -42,37 +55,28 @@ export class StorageClient {
42
55
  this.requests.connect = [];
43
56
  }
44
57
  return new Promise((resolve, reject) => {
45
- var timeout = setTimeout(function () {
58
+ const timeout = setTimeout(function() {
46
59
  reject(new Error("StorageClient could not connect."));
47
60
  }, this.timeout);
48
- this.requests.connect.push(err => {
61
+ this.requests.connect.push((err) => {
49
62
  clearTimeout(timeout);
50
- if (err) return reject(err);
51
- resolve(undefined);
63
+ if (err)
64
+ return reject(err);
65
+ resolve(void 0);
52
66
  });
53
67
  });
54
68
  }
55
69
  set(key, value) {
56
70
  return this.request("set", {
57
- key: key,
58
- value: value
71
+ key,
72
+ value
59
73
  });
60
74
  }
61
- get() {
62
- for (var _len = arguments.length, keys = new Array(_len), _key = 0; _key < _len; _key++) {
63
- keys[_key] = arguments[_key];
64
- }
65
- return this.request("get", {
66
- keys
67
- });
75
+ get(...keys) {
76
+ return this.request("get", { keys });
68
77
  }
69
- del() {
70
- for (var _len2 = arguments.length, keys = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
71
- keys[_key2] = arguments[_key2];
72
- }
73
- return this.request("del", {
74
- keys
75
- });
78
+ del(...keys) {
79
+ return this.request("del", { keys });
76
80
  }
77
81
  clear() {
78
82
  return this.request("clear");
@@ -81,7 +85,7 @@ export class StorageClient {
81
85
  this.request("getKeys");
82
86
  }
83
87
  close() {
84
- var frame = document.getElementById(this.frameId);
88
+ const frame = document.getElementById(this.frameId);
85
89
  if (frame && frame.parentNode) {
86
90
  frame.parentNode.removeChild(frame);
87
91
  }
@@ -90,16 +94,21 @@ export class StorageClient {
90
94
  this.closed = true;
91
95
  }
92
96
  listener(message) {
93
- var i, error, response;
97
+ let i, error, response;
94
98
  if (this.closed || !message.data || typeof message.data !== "string") {
95
99
  return;
96
100
  }
97
- var origin = message.origin;
98
- if (origin !== this.origin) return;
101
+ const origin = message.origin;
102
+ if (origin !== this.origin)
103
+ return;
99
104
  if (message.data === "cross-storage:unavailable") {
100
- if (!this.closed) this.close();
101
- if (!this.requests.connect) return;
102
- error = new Error("Closing StorageClient. Could not access localStorage in StorageHub.");
105
+ if (!this.closed)
106
+ this.close();
107
+ if (!this.requests.connect)
108
+ return;
109
+ error = new Error(
110
+ "Closing StorageClient. Could not access localStorage in StorageHub."
111
+ );
103
112
  for (i = 0; i < this.requests.connect.length; i++) {
104
113
  this.requests.connect[i](error);
105
114
  }
@@ -107,25 +116,28 @@ export class StorageClient {
107
116
  }
108
117
  if (message.data.indexOf("cross-storage:") !== -1 && !this.connected) {
109
118
  this.connected = true;
110
- if (!this.requests.connect) return;
119
+ if (!this.requests.connect)
120
+ return;
111
121
  for (i = 0; i < this.requests.connect.length; i++) {
112
122
  this.requests.connect[i](error);
113
123
  }
114
124
  delete this.requests.connect;
115
125
  }
116
- if (message.data === "cross-storage:ready") return;
126
+ if (message.data === "cross-storage:ready")
127
+ return;
117
128
  try {
118
129
  response = JSON.parse(message.data);
119
130
  } catch (e) {
120
131
  return;
121
132
  }
122
- if (!response.id) return;
133
+ if (!response.id)
134
+ return;
123
135
  if (this.requests[response.id]) {
124
136
  this.requests[response.id](response.error, response.result);
125
137
  }
126
138
  }
127
139
  createFrame(url) {
128
- var frame = window.document.createElement("iframe");
140
+ const frame = window.document.createElement("iframe");
129
141
  frame.id = this.frameId;
130
142
  frame.style.display = "none";
131
143
  frame.style.position = "absolute";
@@ -135,28 +147,31 @@ export class StorageClient {
135
147
  frame.src = url;
136
148
  return frame;
137
149
  }
138
-
139
150
  // eslint-disable-next-line @typescript-eslint/ban-types
140
151
  request(method, params) {
141
152
  if (this.closed) {
142
153
  return Promise.reject(new Error("StorageClient has closed."));
143
154
  }
144
155
  this.count++;
145
- var req = {
156
+ const req = {
146
157
  id: this.id + ":" + this.count,
147
158
  method: "cross-storage:" + method,
148
- params: params
159
+ params
149
160
  };
150
161
  return new Promise((resolve, reject) => {
151
- var timeout = window.setTimeout(() => {
152
- if (!this.requests[req.id]) return;
162
+ const timeout = window.setTimeout(() => {
163
+ if (!this.requests[req.id])
164
+ return;
153
165
  delete this.requests[req.id];
154
- reject(new Error("Timeout: StorageClient could not perform " + req.method));
166
+ reject(
167
+ new Error("Timeout: StorageClient could not perform " + req.method)
168
+ );
155
169
  }, this.timeout);
156
170
  this.requests[req.id] = (err, result) => {
157
171
  clearTimeout(timeout);
158
172
  delete this.requests[req.id];
159
- if (err) return reject(new Error(err));
173
+ if (err)
174
+ return reject(new Error(err));
160
175
  resolve(result);
161
176
  };
162
177
  if (this.hub) {
@@ -166,5 +181,9 @@ export class StorageClient {
166
181
  }
167
182
  });
168
183
  }
169
- }
184
+ };
185
+ // Annotate the CommonJS export names for ESM import in node:
186
+ 0 && (module.exports = {
187
+ StorageClient
188
+ });
170
189
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["generateUUID","replace","c","r","Math","random","v","toString","StorageClient","constructor","url","opts","id","frameId","origin","requests","connected","closed","count","timeout","hub","URL","window","addEventListener","listener","bind","frame","createFrame","contentWindow","onConnect","Promise","resolve","reject","Error","connect","setTimeout","push","err","clearTimeout","undefined","set","key","value","request","get","_len","arguments","length","keys","Array","_key","del","_len2","_key2","clear","getKeys","close","document","getElementById","parentNode","removeChild","removeEventListener","message","i","error","response","data","indexOf","JSON","parse","e","result","createElement","style","display","position","top","left","body","appendChild","src","method","params","req","postMessage","stringify"],"sources":["../../src/storage/lib/client.ts"],"sourcesContent":["/**\n * この実装はcross-storageほぼそのままです。\n */\nconst generateUUID = () => {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n\n return v.toString(16);\n });\n};\nexport class StorageClient {\n id: string;\n frameId: string;\n origin: string;\n requests: {\n [key: string]: any;\n };\n connected: boolean;\n closed: boolean;\n count: number;\n timeout: number;\n hub: null | Window;\n\n constructor(url: string, opts?: { frameId?: string; timeout?: number }) {\n opts = opts || {};\n\n this.id = generateUUID();\n this.frameId = opts.frameId || \"CrossStorageClient-\" + this.id;\n this.origin = new URL(url).origin;\n this.requests = {};\n this.connected = false;\n this.closed = false;\n this.count = 0;\n this.timeout = opts.timeout || 5000;\n\n window.addEventListener(\"message\", this.listener.bind(this), false);\n\n const frame = this.createFrame(url);\n this.hub = frame.contentWindow;\n }\n\n onConnect() {\n if (this.connected) {\n return Promise.resolve();\n } else if (this.closed) {\n return Promise.reject(new Error(\"StorageClient has closed.\"));\n }\n\n if (!this.requests.connect) {\n this.requests.connect = [];\n }\n\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(function () {\n reject(new Error(\"StorageClient could not connect.\"));\n }, this.timeout);\n\n this.requests.connect.push((err: string) => {\n clearTimeout(timeout);\n if (err) return reject(err);\n\n resolve(undefined);\n });\n });\n }\n\n set(key: string, value: string) {\n return this.request(\"set\", {\n key: key,\n value: value,\n });\n }\n\n get(...keys: string[]) {\n return this.request(\"get\", { keys });\n }\n\n del(...keys: string[]) {\n return this.request(\"del\", { keys });\n }\n\n clear() {\n return this.request(\"clear\");\n }\n\n getKeys() {\n this.request(\"getKeys\");\n }\n\n close() {\n const frame = document.getElementById(this.frameId);\n if (frame && frame.parentNode) {\n frame.parentNode.removeChild(frame);\n }\n\n window.removeEventListener(\"message\", this.listener, false);\n\n this.connected = false;\n this.closed = true;\n }\n\n private listener(message: MessageEvent) {\n let i, error, response;\n\n if (this.closed || !message.data || typeof message.data !== \"string\") {\n return;\n }\n\n const origin = message.origin;\n\n if (origin !== this.origin) return;\n\n if (message.data === \"cross-storage:unavailable\") {\n if (!this.closed) this.close();\n if (!this.requests.connect) return;\n\n error = new Error(\n \"Closing StorageClient. Could not access localStorage in StorageHub.\"\n );\n for (i = 0; i < this.requests.connect.length; i++) {\n this.requests.connect[i](error);\n }\n\n return;\n }\n\n if (message.data.indexOf(\"cross-storage:\") !== -1 && !this.connected) {\n this.connected = true;\n if (!this.requests.connect) return;\n\n for (i = 0; i < this.requests.connect.length; i++) {\n this.requests.connect[i](error);\n }\n delete this.requests.connect;\n }\n\n if (message.data === \"cross-storage:ready\") return;\n\n try {\n response = JSON.parse(message.data);\n } catch (e) {\n return;\n }\n\n if (!response.id) return;\n\n if (this.requests[response.id]) {\n this.requests[response.id](response.error, response.result);\n }\n }\n\n private createFrame(url: string) {\n const frame = window.document.createElement(\"iframe\");\n frame.id = this.frameId;\n\n frame.style.display = \"none\";\n frame.style.position = \"absolute\";\n frame.style.top = \"-999px\";\n frame.style.left = \"-999px\";\n\n window.document.body.appendChild(frame);\n frame.src = url;\n\n return frame;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-types\n private request(method: string, params?: {}) {\n if (this.closed) {\n return Promise.reject(new Error(\"StorageClient has closed.\"));\n }\n\n this.count++;\n\n const req = {\n id: this.id + \":\" + this.count,\n method: \"cross-storage:\" + method,\n params: params,\n };\n\n return new Promise((resolve, reject) => {\n const timeout = window.setTimeout(() => {\n if (!this.requests[req.id]) return;\n\n delete this.requests[req.id];\n reject(\n new Error(\"Timeout: StorageClient could not perform \" + req.method)\n );\n }, this.timeout);\n\n this.requests[req.id] = (err: string, result: string) => {\n clearTimeout(timeout);\n delete this.requests[req.id];\n if (err) return reject(new Error(err));\n resolve(result);\n };\n\n if (this.hub) {\n this.hub.postMessage(JSON.stringify(req), this.origin);\n } else {\n reject(new Error(\"Not found StorageHub.\"));\n }\n });\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,IAAMA,YAAY,GAAGA,CAAA,KAAM;EACzB,OAAO,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAE,UAAUC,CAAC,EAAE;IAC1E,IAAMC,CAAC,GAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAI,CAAC;MAChCC,CAAC,GAAGJ,CAAC,IAAI,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAI,GAAG;IAEpC,OAAOG,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC;EACvB,CAAC,CAAC;AACJ,CAAC;AACD,OAAO,MAAMC,aAAa,CAAC;EAazBC,WAAWA,CAACC,GAAW,EAAEC,IAA6C,EAAE;IAAA,KAZxEC,EAAE;IAAA,KACFC,OAAO;IAAA,KACPC,MAAM;IAAA,KACNC,QAAQ;IAAA,KAGRC,SAAS;IAAA,KACTC,MAAM;IAAA,KACNC,KAAK;IAAA,KACLC,OAAO;IAAA,KACPC,GAAG;IAGDT,IAAI,GAAGA,IAAI,IAAI,CAAC,CAAC;IAEjB,IAAI,CAACC,EAAE,GAAGZ,YAAY,CAAC,CAAC;IACxB,IAAI,CAACa,OAAO,GAAGF,IAAI,CAACE,OAAO,IAAI,qBAAqB,GAAG,IAAI,CAACD,EAAE;IAC9D,IAAI,CAACE,MAAM,GAAG,IAAIO,GAAG,CAACX,GAAG,CAAC,CAACI,MAAM;IACjC,IAAI,CAACC,QAAQ,GAAG,CAAC,CAAC;IAClB,IAAI,CAACC,SAAS,GAAG,KAAK;IACtB,IAAI,CAACC,MAAM,GAAG,KAAK;IACnB,IAAI,CAACC,KAAK,GAAG,CAAC;IACd,IAAI,CAACC,OAAO,GAAGR,IAAI,CAACQ,OAAO,IAAI,IAAI;IAEnCG,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACC,QAAQ,CAACC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAEnE,IAAMC,KAAK,GAAG,IAAI,CAACC,WAAW,CAACjB,GAAG,CAAC;IACnC,IAAI,CAACU,GAAG,GAAGM,KAAK,CAACE,aAAa;EAChC;EAEAC,SAASA,CAAA,EAAG;IACV,IAAI,IAAI,CAACb,SAAS,EAAE;MAClB,OAAOc,OAAO,CAACC,OAAO,CAAC,CAAC;IAC1B,CAAC,MAAM,IAAI,IAAI,CAACd,MAAM,EAAE;MACtB,OAAOa,OAAO,CAACE,MAAM,CAAC,IAAIC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/D;IAEA,IAAI,CAAC,IAAI,CAAClB,QAAQ,CAACmB,OAAO,EAAE;MAC1B,IAAI,CAACnB,QAAQ,CAACmB,OAAO,GAAG,EAAE;IAC5B;IAEA,OAAO,IAAIJ,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,IAAMb,OAAO,GAAGgB,UAAU,CAAC,YAAY;QACrCH,MAAM,CAAC,IAAIC,KAAK,CAAC,kCAAkC,CAAC,CAAC;MACvD,CAAC,EAAE,IAAI,CAACd,OAAO,CAAC;MAEhB,IAAI,CAACJ,QAAQ,CAACmB,OAAO,CAACE,IAAI,CAAEC,GAAW,IAAK;QAC1CC,YAAY,CAACnB,OAAO,CAAC;QACrB,IAAIkB,GAAG,EAAE,OAAOL,MAAM,CAACK,GAAG,CAAC;QAE3BN,OAAO,CAACQ,SAAS,CAAC;MACpB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAC,GAAGA,CAACC,GAAW,EAAEC,KAAa,EAAE;IAC9B,OAAO,IAAI,CAACC,OAAO,CAAC,KAAK,EAAE;MACzBF,GAAG,EAAEA,GAAG;MACRC,KAAK,EAAEA;IACT,CAAC,CAAC;EACJ;EAEAE,GAAGA,CAAA,EAAoB;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAhBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IACT,OAAO,IAAI,CAACP,OAAO,CAAC,KAAK,EAAE;MAAEK;IAAK,CAAC,CAAC;EACtC;EAEAG,GAAGA,CAAA,EAAoB;IAAA,SAAAC,KAAA,GAAAN,SAAA,CAAAC,MAAA,EAAhBC,IAAI,OAAAC,KAAA,CAAAG,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAJL,IAAI,CAAAK,KAAA,IAAAP,SAAA,CAAAO,KAAA;IAAA;IACT,OAAO,IAAI,CAACV,OAAO,CAAC,KAAK,EAAE;MAAEK;IAAK,CAAC,CAAC;EACtC;EAEAM,KAAKA,CAAA,EAAG;IACN,OAAO,IAAI,CAACX,OAAO,CAAC,OAAO,CAAC;EAC9B;EAEAY,OAAOA,CAAA,EAAG;IACR,IAAI,CAACZ,OAAO,CAAC,SAAS,CAAC;EACzB;EAEAa,KAAKA,CAAA,EAAG;IACN,IAAM9B,KAAK,GAAG+B,QAAQ,CAACC,cAAc,CAAC,IAAI,CAAC7C,OAAO,CAAC;IACnD,IAAIa,KAAK,IAAIA,KAAK,CAACiC,UAAU,EAAE;MAC7BjC,KAAK,CAACiC,UAAU,CAACC,WAAW,CAAClC,KAAK,CAAC;IACrC;IAEAJ,MAAM,CAACuC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACrC,QAAQ,EAAE,KAAK,CAAC;IAE3D,IAAI,CAACR,SAAS,GAAG,KAAK;IACtB,IAAI,CAACC,MAAM,GAAG,IAAI;EACpB;EAEQO,QAAQA,CAACsC,OAAqB,EAAE;IACtC,IAAIC,CAAC,EAAEC,KAAK,EAAEC,QAAQ;IAEtB,IAAI,IAAI,CAAChD,MAAM,IAAI,CAAC6C,OAAO,CAACI,IAAI,IAAI,OAAOJ,OAAO,CAACI,IAAI,KAAK,QAAQ,EAAE;MACpE;IACF;IAEA,IAAMpD,MAAM,GAAGgD,OAAO,CAAChD,MAAM;IAE7B,IAAIA,MAAM,KAAK,IAAI,CAACA,MAAM,EAAE;IAE5B,IAAIgD,OAAO,CAACI,IAAI,KAAK,2BAA2B,EAAE;MAChD,IAAI,CAAC,IAAI,CAACjD,MAAM,EAAE,IAAI,CAACuC,KAAK,CAAC,CAAC;MAC9B,IAAI,CAAC,IAAI,CAACzC,QAAQ,CAACmB,OAAO,EAAE;MAE5B8B,KAAK,GAAG,IAAI/B,KAAK,CACf,qEACF,CAAC;MACD,KAAK8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAChD,QAAQ,CAACmB,OAAO,CAACa,MAAM,EAAEgB,CAAC,EAAE,EAAE;QACjD,IAAI,CAAChD,QAAQ,CAACmB,OAAO,CAAC6B,CAAC,CAAC,CAACC,KAAK,CAAC;MACjC;MAEA;IACF;IAEA,IAAIF,OAAO,CAACI,IAAI,CAACC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAACnD,SAAS,EAAE;MACpE,IAAI,CAACA,SAAS,GAAG,IAAI;MACrB,IAAI,CAAC,IAAI,CAACD,QAAQ,CAACmB,OAAO,EAAE;MAE5B,KAAK6B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAChD,QAAQ,CAACmB,OAAO,CAACa,MAAM,EAAEgB,CAAC,EAAE,EAAE;QACjD,IAAI,CAAChD,QAAQ,CAACmB,OAAO,CAAC6B,CAAC,CAAC,CAACC,KAAK,CAAC;MACjC;MACA,OAAO,IAAI,CAACjD,QAAQ,CAACmB,OAAO;IAC9B;IAEA,IAAI4B,OAAO,CAACI,IAAI,KAAK,qBAAqB,EAAE;IAE5C,IAAI;MACFD,QAAQ,GAAGG,IAAI,CAACC,KAAK,CAACP,OAAO,CAACI,IAAI,CAAC;IACrC,CAAC,CAAC,OAAOI,CAAC,EAAE;MACV;IACF;IAEA,IAAI,CAACL,QAAQ,CAACrD,EAAE,EAAE;IAElB,IAAI,IAAI,CAACG,QAAQ,CAACkD,QAAQ,CAACrD,EAAE,CAAC,EAAE;MAC9B,IAAI,CAACG,QAAQ,CAACkD,QAAQ,CAACrD,EAAE,CAAC,CAACqD,QAAQ,CAACD,KAAK,EAAEC,QAAQ,CAACM,MAAM,CAAC;IAC7D;EACF;EAEQ5C,WAAWA,CAACjB,GAAW,EAAE;IAC/B,IAAMgB,KAAK,GAAGJ,MAAM,CAACmC,QAAQ,CAACe,aAAa,CAAC,QAAQ,CAAC;IACrD9C,KAAK,CAACd,EAAE,GAAG,IAAI,CAACC,OAAO;IAEvBa,KAAK,CAAC+C,KAAK,CAACC,OAAO,GAAG,MAAM;IAC5BhD,KAAK,CAAC+C,KAAK,CAACE,QAAQ,GAAG,UAAU;IACjCjD,KAAK,CAAC+C,KAAK,CAACG,GAAG,GAAG,QAAQ;IAC1BlD,KAAK,CAAC+C,KAAK,CAACI,IAAI,GAAG,QAAQ;IAE3BvD,MAAM,CAACmC,QAAQ,CAACqB,IAAI,CAACC,WAAW,CAACrD,KAAK,CAAC;IACvCA,KAAK,CAACsD,GAAG,GAAGtE,GAAG;IAEf,OAAOgB,KAAK;EACd;;EAEA;EACQiB,OAAOA,CAACsC,MAAc,EAAEC,MAAW,EAAE;IAC3C,IAAI,IAAI,CAACjE,MAAM,EAAE;MACf,OAAOa,OAAO,CAACE,MAAM,CAAC,IAAIC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/D;IAEA,IAAI,CAACf,KAAK,EAAE;IAEZ,IAAMiE,GAAG,GAAG;MACVvE,EAAE,EAAE,IAAI,CAACA,EAAE,GAAG,GAAG,GAAG,IAAI,CAACM,KAAK;MAC9B+D,MAAM,EAAE,gBAAgB,GAAGA,MAAM;MACjCC,MAAM,EAAEA;IACV,CAAC;IAED,OAAO,IAAIpD,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,IAAMb,OAAO,GAAGG,MAAM,CAACa,UAAU,CAAC,MAAM;QACtC,IAAI,CAAC,IAAI,CAACpB,QAAQ,CAACoE,GAAG,CAACvE,EAAE,CAAC,EAAE;QAE5B,OAAO,IAAI,CAACG,QAAQ,CAACoE,GAAG,CAACvE,EAAE,CAAC;QAC5BoB,MAAM,CACJ,IAAIC,KAAK,CAAC,2CAA2C,GAAGkD,GAAG,CAACF,MAAM,CACpE,CAAC;MACH,CAAC,EAAE,IAAI,CAAC9D,OAAO,CAAC;MAEhB,IAAI,CAACJ,QAAQ,CAACoE,GAAG,CAACvE,EAAE,CAAC,GAAG,CAACyB,GAAW,EAAEkC,MAAc,KAAK;QACvDjC,YAAY,CAACnB,OAAO,CAAC;QACrB,OAAO,IAAI,CAACJ,QAAQ,CAACoE,GAAG,CAACvE,EAAE,CAAC;QAC5B,IAAIyB,GAAG,EAAE,OAAOL,MAAM,CAAC,IAAIC,KAAK,CAACI,GAAG,CAAC,CAAC;QACtCN,OAAO,CAACwC,MAAM,CAAC;MACjB,CAAC;MAED,IAAI,IAAI,CAACnD,GAAG,EAAE;QACZ,IAAI,CAACA,GAAG,CAACgE,WAAW,CAAChB,IAAI,CAACiB,SAAS,CAACF,GAAG,CAAC,EAAE,IAAI,CAACrE,MAAM,CAAC;MACxD,CAAC,MAAM;QACLkB,MAAM,CAAC,IAAIC,KAAK,CAAC,uBAAuB,CAAC,CAAC;MAC5C;IACF,CAAC,CAAC;EACJ;AACF"}
1
+ {"version":3,"sources":["../../../src/storage/lib/client.ts"],"sourcesContent":["/**\n * この実装はcross-storageほぼそのままです。\n */\nconst generateUUID = () => {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n\n return v.toString(16);\n });\n};\nexport class StorageClient {\n id: string;\n frameId: string;\n origin: string;\n requests: Record<string, any>;\n connected: boolean;\n closed: boolean;\n count: number;\n timeout: number;\n hub: null | Window;\n\n constructor(url: string, opts?: { frameId?: string; timeout?: number }) {\n opts = opts || {};\n\n this.id = generateUUID();\n this.frameId = opts.frameId || \"CrossStorageClient-\" + this.id;\n this.origin = new URL(url).origin;\n this.requests = {};\n this.connected = false;\n this.closed = false;\n this.count = 0;\n this.timeout = opts.timeout || 5000;\n\n window.addEventListener(\"message\", this.listener.bind(this), false);\n\n const frame = this.createFrame(url);\n this.hub = frame.contentWindow;\n }\n\n onConnect() {\n if (this.connected) {\n return Promise.resolve();\n } else if (this.closed) {\n return Promise.reject(new Error(\"StorageClient has closed.\"));\n }\n\n if (!this.requests.connect) {\n this.requests.connect = [];\n }\n\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(function () {\n reject(new Error(\"StorageClient could not connect.\"));\n }, this.timeout);\n\n this.requests.connect.push((err: string) => {\n clearTimeout(timeout);\n if (err) return reject(err);\n\n resolve(undefined);\n });\n });\n }\n\n set(key: string, value: string) {\n return this.request(\"set\", {\n key: key,\n value: value,\n });\n }\n\n get(...keys: string[]) {\n return this.request(\"get\", { keys });\n }\n\n del(...keys: string[]) {\n return this.request(\"del\", { keys });\n }\n\n clear() {\n return this.request(\"clear\");\n }\n\n getKeys() {\n this.request(\"getKeys\");\n }\n\n close() {\n const frame = document.getElementById(this.frameId);\n if (frame && frame.parentNode) {\n frame.parentNode.removeChild(frame);\n }\n\n window.removeEventListener(\"message\", this.listener, false);\n\n this.connected = false;\n this.closed = true;\n }\n\n private listener(message: MessageEvent) {\n let i, error, response;\n\n if (this.closed || !message.data || typeof message.data !== \"string\") {\n return;\n }\n\n const origin = message.origin;\n\n if (origin !== this.origin) return;\n\n if (message.data === \"cross-storage:unavailable\") {\n if (!this.closed) this.close();\n if (!this.requests.connect) return;\n\n error = new Error(\n \"Closing StorageClient. Could not access localStorage in StorageHub.\"\n );\n for (i = 0; i < this.requests.connect.length; i++) {\n this.requests.connect[i](error);\n }\n\n return;\n }\n\n if (message.data.indexOf(\"cross-storage:\") !== -1 && !this.connected) {\n this.connected = true;\n if (!this.requests.connect) return;\n\n for (i = 0; i < this.requests.connect.length; i++) {\n this.requests.connect[i](error);\n }\n delete this.requests.connect;\n }\n\n if (message.data === \"cross-storage:ready\") return;\n\n try {\n response = JSON.parse(message.data);\n } catch (e) {\n return;\n }\n\n if (!response.id) return;\n\n if (this.requests[response.id]) {\n this.requests[response.id](response.error, response.result);\n }\n }\n\n private createFrame(url: string) {\n const frame = window.document.createElement(\"iframe\");\n frame.id = this.frameId;\n\n frame.style.display = \"none\";\n frame.style.position = \"absolute\";\n frame.style.top = \"-999px\";\n frame.style.left = \"-999px\";\n\n window.document.body.appendChild(frame);\n frame.src = url;\n\n return frame;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-types\n private request(method: string, params?: {}) {\n if (this.closed) {\n return Promise.reject(new Error(\"StorageClient has closed.\"));\n }\n\n this.count++;\n\n const req = {\n id: this.id + \":\" + this.count,\n method: \"cross-storage:\" + method,\n params: params,\n };\n\n return new Promise((resolve, reject) => {\n const timeout = window.setTimeout(() => {\n if (!this.requests[req.id]) return;\n\n delete this.requests[req.id];\n reject(\n new Error(\"Timeout: StorageClient could not perform \" + req.method)\n );\n }, this.timeout);\n\n this.requests[req.id] = (err: string, result: string) => {\n clearTimeout(timeout);\n delete this.requests[req.id];\n if (err) return reject(new Error(err));\n resolve(result);\n };\n\n if (this.hub) {\n this.hub.postMessage(JSON.stringify(req), this.origin);\n } else {\n reject(new Error(\"Not found StorageHub.\"));\n }\n });\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,9 @@
1
+ 'use client'
2
+ import {
3
+ StorageClient
4
+ } from "../../chunk-UOPEIK22.mjs";
5
+ import "../../chunk-JUBOAWNR.mjs";
6
+ export {
7
+ StorageClient
8
+ };
9
+ //# sourceMappingURL=client.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * この実装はcross-storageほぼそのままです。
3
+ */
4
+ type Method = "get" | "set" | "del" | "getKeys" | "clear";
5
+ interface Permission {
6
+ origin: RegExp;
7
+ allow: Method[];
8
+ }
9
+ /**
10
+ * Do not use this directly. This specifications are subject to significant change.
11
+ * @internal
12
+ */
13
+ declare const init: (permissions: Permission[]) => void;
14
+
15
+ export { Permission, init };
@@ -2,7 +2,7 @@
2
2
  * この実装はcross-storageほぼそのままです。
3
3
  */
4
4
  type Method = "get" | "set" | "del" | "getKeys" | "clear";
5
- export interface Permission {
5
+ interface Permission {
6
6
  origin: RegExp;
7
7
  allow: Method[];
8
8
  }
@@ -10,6 +10,6 @@ export interface Permission {
10
10
  * Do not use this directly. This specifications are subject to significant change.
11
11
  * @internal
12
12
  */
13
- export declare const init: (permissions: Permission[]) => void;
14
- export {};
15
- //# sourceMappingURL=hub.d.ts.map
13
+ declare const init: (permissions: Permission[]) => void;
14
+
15
+ export { Permission, init };
@@ -1,29 +1,46 @@
1
- /**
2
- * この実装はcross-storageほぼそのままです。
3
- */
1
+ 'use client'
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
4
20
 
21
+ // src/storage/lib/hub.ts
22
+ var hub_exports = {};
23
+ __export(hub_exports, {
24
+ init: () => init
25
+ });
26
+ module.exports = __toCommonJS(hub_exports);
5
27
  var context = {};
6
-
7
- /**
8
- * Do not use this directly. This specifications are subject to significant change.
9
- * @internal
10
- */
11
- export var init = permissions => {
28
+ var init = (permissions) => {
12
29
  context.permissions = permissions;
13
30
  window.addEventListener("message", listener, false);
14
31
  window.parent.postMessage("cross-storage:ready", "*");
15
32
  };
16
33
  var permitted = (origin, method) => {
17
- var available = ["get", "set", "del", "clear", "getKeys"];
34
+ const available = ["get", "set", "del", "clear", "getKeys"];
18
35
  if (!available.includes(method)) {
19
36
  return false;
20
37
  }
21
- if (context.permissions === undefined) {
38
+ if (context.permissions === void 0) {
22
39
  return false;
23
40
  }
24
- for (var i = 0; i < context.permissions.length; i++) {
25
- var entry = context.permissions[i];
26
- var match = entry.origin.test(origin);
41
+ for (let i = 0; i < context.permissions.length; i++) {
42
+ const entry = context.permissions[i];
43
+ const match = entry.origin.test(origin);
27
44
  if (match && entry.allow.includes(method)) {
28
45
  return true;
29
46
  }
@@ -31,29 +48,27 @@ var permitted = (origin, method) => {
31
48
  return false;
32
49
  };
33
50
  var methods = {
34
- get: params => {
35
- var storage = window.localStorage;
36
- var result = [];
37
- for (var i = 0; i < params.keys.length; i++) {
38
- var value = storage.getItem(params.keys[i]) || null;
51
+ get: (params) => {
52
+ const storage = window.localStorage;
53
+ const result = [];
54
+ for (let i = 0; i < params.keys.length; i++) {
55
+ const value = storage.getItem(params.keys[i]) || null;
39
56
  result.push(value);
40
57
  }
41
- // Todo: このパターン好きじゃない
42
58
  return result.length > 1 ? result : result[0];
43
59
  },
44
- set: params => {
60
+ set: (params) => {
45
61
  window.localStorage.setItem(params.key, params.value);
46
62
  },
47
- del: params => {
48
- // eslint-disable-next-line no-var
63
+ del: (params) => {
49
64
  for (var i = 0; i < params.keys.length; i++) {
50
65
  window.localStorage.removeItem(params.keys[i]);
51
66
  }
52
67
  },
53
68
  getKeys: () => {
54
- var keys = [];
55
- var length = window.localStorage.length;
56
- for (var i = 0; i < length; i++) {
69
+ const keys = [];
70
+ const length = window.localStorage.length;
71
+ for (let i = 0; i < length; i++) {
57
72
  keys.push(window.localStorage.key(i));
58
73
  }
59
74
  return keys;
@@ -62,26 +77,20 @@ var methods = {
62
77
  window.localStorage.clear();
63
78
  }
64
79
  };
65
- var listener = message => {
66
- // postMessage returns the string "null" as the origin for "file://"
67
- var origin = message.origin === "null" ? "file://" : message.origin;
68
-
69
- // Handle polling for a ready message
80
+ var listener = (message) => {
81
+ const origin = message.origin === "null" ? "file://" : message.origin;
70
82
  if (message.data === "cross-storage:poll") {
71
83
  return window.parent.postMessage("cross-storage:ready", message.origin);
72
84
  }
73
-
74
- // Ignore the ready message when viewing the hub directly
75
- if (message.data === "cross-storage:ready") return;
76
- var request = JSON.parse(message.data);
77
-
78
- // Check whether request.method is a string
85
+ if (message.data === "cross-storage:ready")
86
+ return;
87
+ const request = JSON.parse(message.data);
79
88
  if (!request || typeof request.method !== "string") {
80
89
  return;
81
90
  }
82
- var method = request.method.split("cross-storage:")[1];
83
- var error = "";
84
- var result = undefined;
91
+ const method = request.method.split("cross-storage:")[1];
92
+ let error = "";
93
+ let result = void 0;
85
94
  if (!method) {
86
95
  return;
87
96
  } else if (!permitted(origin, method)) {
@@ -93,14 +102,16 @@ var listener = message => {
93
102
  error = err.message;
94
103
  }
95
104
  }
96
- var response = JSON.stringify({
105
+ const response = JSON.stringify({
97
106
  id: request.id,
98
- error: error,
99
- result: result
107
+ error,
108
+ result
100
109
  });
101
-
102
- // postMessage requires that the target origin be set to "*" for "file://"
103
- var targetOrigin = origin === "file://" ? "*" : origin;
110
+ const targetOrigin = origin === "file://" ? "*" : origin;
104
111
  window.parent.postMessage(response, targetOrigin);
105
112
  };
113
+ // Annotate the CommonJS export names for ESM import in node:
114
+ 0 && (module.exports = {
115
+ init
116
+ });
106
117
  //# sourceMappingURL=hub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hub.js","names":["context","init","permissions","window","addEventListener","listener","parent","postMessage","permitted","origin","method","available","includes","undefined","i","length","entry","match","test","allow","methods","get","params","storage","localStorage","result","keys","value","getItem","push","set","setItem","key","del","removeItem","getKeys","clear","message","data","request","JSON","parse","split","error","err","response","stringify","id","targetOrigin"],"sources":["../../src/storage/lib/hub.ts"],"sourcesContent":["/**\n * この実装はcross-storageほぼそのままです。\n */\ntype Method = \"get\" | \"set\" | \"del\" | \"getKeys\" | \"clear\";\n\nexport interface Permission {\n origin: RegExp;\n allow: Method[];\n}\n\nconst context: {\n permissions?: Permission[];\n} = {};\n\n/**\n * Do not use this directly. This specifications are subject to significant change.\n * @internal\n */\nexport const init = (permissions: Permission[]) => {\n context.permissions = permissions;\n window.addEventListener(\"message\", listener, false);\n window.parent.postMessage(\"cross-storage:ready\", \"*\");\n};\n\nconst permitted = (origin: string, method: Method) => {\n const available = [\"get\", \"set\", \"del\", \"clear\", \"getKeys\"];\n if (!available.includes(method)) {\n return false;\n }\n\n if (context.permissions === undefined) {\n return false;\n }\n\n for (let i = 0; i < context.permissions.length; i++) {\n const entry = context.permissions[i];\n const match = entry.origin.test(origin);\n if (match && entry.allow.includes(method)) {\n return true;\n }\n }\n return false;\n};\n\nconst methods: {\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key in Method]: Function;\n} = {\n get: (params: { keys: string[] }) => {\n const storage = window.localStorage;\n const result = [];\n for (let i = 0; i < params.keys.length; i++) {\n const value = storage.getItem(params.keys[i]) || null;\n result.push(value);\n }\n // Todo: このパターン好きじゃない\n return result.length > 1 ? result : result[0];\n },\n set: (params: { key: string; value: string }) => {\n window.localStorage.setItem(params.key, params.value);\n },\n del: (params: { keys: string[] }) => {\n // eslint-disable-next-line no-var\n for (var i = 0; i < params.keys.length; i++) {\n window.localStorage.removeItem(params.keys[i]);\n }\n },\n getKeys: () => {\n const keys = [];\n const length = window.localStorage.length;\n\n for (let i = 0; i < length; i++) {\n keys.push(window.localStorage.key(i));\n }\n\n return keys;\n },\n clear: () => {\n window.localStorage.clear();\n },\n};\n\ninterface Message {\n origin: string;\n data: string;\n}\n\nconst listener = (message: Message) => {\n // postMessage returns the string \"null\" as the origin for \"file://\"\n const origin = message.origin === \"null\" ? \"file://\" : message.origin;\n\n // Handle polling for a ready message\n if (message.data === \"cross-storage:poll\") {\n return window.parent.postMessage(\"cross-storage:ready\", message.origin);\n }\n\n // Ignore the ready message when viewing the hub directly\n if (message.data === \"cross-storage:ready\") return;\n\n const request: {\n id: string;\n method?: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n params: Object;\n } = JSON.parse(message.data);\n\n // Check whether request.method is a string\n if (!request || typeof request.method !== \"string\") {\n return;\n }\n\n const method = request.method.split(\"cross-storage:\")[1] as Method;\n\n let error = \"\";\n let result: string | undefined = undefined;\n\n if (!method) {\n return;\n } else if (!permitted(origin, method)) {\n error = \"Invalid permissions for \" + method;\n } else {\n try {\n result = methods[method](request.params);\n } catch (err) {\n error = (err as unknown as Error).message;\n }\n }\n\n const response = JSON.stringify({\n id: request.id,\n error: error,\n result: result,\n });\n\n // postMessage requires that the target origin be set to \"*\" for \"file://\"\n const targetOrigin = origin === \"file://\" ? \"*\" : origin;\n\n window.parent.postMessage(response, targetOrigin);\n};\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/storage/lib/hub.ts"],"sourcesContent":["/**\n * この実装はcross-storageほぼそのままです。\n */\ntype Method = \"get\" | \"set\" | \"del\" | \"getKeys\" | \"clear\";\n\nexport interface Permission {\n origin: RegExp;\n allow: Method[];\n}\n\nconst context: {\n permissions?: Permission[];\n} = {};\n\n/**\n * Do not use this directly. This specifications are subject to significant change.\n * @internal\n */\nexport const init = (permissions: Permission[]) => {\n context.permissions = permissions;\n window.addEventListener(\"message\", listener, false);\n window.parent.postMessage(\"cross-storage:ready\", \"*\");\n};\n\nconst permitted = (origin: string, method: Method) => {\n const available = [\"get\", \"set\", \"del\", \"clear\", \"getKeys\"];\n if (!available.includes(method)) {\n return false;\n }\n\n if (context.permissions === undefined) {\n return false;\n }\n\n for (let i = 0; i < context.permissions.length; i++) {\n const entry = context.permissions[i];\n const match = entry.origin.test(origin);\n if (match && entry.allow.includes(method)) {\n return true;\n }\n }\n return false;\n};\n\nconst methods: {\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key in Method]: Function;\n} = {\n get: (params: { keys: string[] }) => {\n const storage = window.localStorage;\n const result = [];\n for (let i = 0; i < params.keys.length; i++) {\n const value = storage.getItem(params.keys[i]) || null;\n result.push(value);\n }\n // Todo: このパターン好きじゃない\n return result.length > 1 ? result : result[0];\n },\n set: (params: { key: string; value: string }) => {\n window.localStorage.setItem(params.key, params.value);\n },\n del: (params: { keys: string[] }) => {\n // eslint-disable-next-line no-var\n for (var i = 0; i < params.keys.length; i++) {\n window.localStorage.removeItem(params.keys[i]);\n }\n },\n getKeys: () => {\n const keys = [];\n const length = window.localStorage.length;\n\n for (let i = 0; i < length; i++) {\n keys.push(window.localStorage.key(i));\n }\n\n return keys;\n },\n clear: () => {\n window.localStorage.clear();\n },\n};\n\ninterface Message {\n origin: string;\n data: string;\n}\n\nconst listener = (message: Message) => {\n // postMessage returns the string \"null\" as the origin for \"file://\"\n const origin = message.origin === \"null\" ? \"file://\" : message.origin;\n\n // Handle polling for a ready message\n if (message.data === \"cross-storage:poll\") {\n return window.parent.postMessage(\"cross-storage:ready\", message.origin);\n }\n\n // Ignore the ready message when viewing the hub directly\n if (message.data === \"cross-storage:ready\") return;\n\n const request: {\n id: string;\n method?: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n params: Object;\n } = JSON.parse(message.data);\n\n // Check whether request.method is a string\n if (!request || typeof request.method !== \"string\") {\n return;\n }\n\n const method = request.method.split(\"cross-storage:\")[1] as Method;\n\n let error = \"\";\n let result: string | undefined = undefined;\n\n if (!method) {\n return;\n } else if (!permitted(origin, method)) {\n error = \"Invalid permissions for \" + method;\n } else {\n try {\n result = methods[method](request.params);\n } catch (err) {\n error = (err as Error).message;\n }\n }\n\n const response = JSON.stringify({\n id: request.id,\n error: error,\n result: result,\n });\n\n // postMessage requires that the target origin be set to \"*\" for \"file://\"\n const targetOrigin = origin === \"file://\" ? \"*\" : origin;\n\n window.parent.postMessage(response, targetOrigin);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,IAAM,UAEF,CAAC;AAME,IAAM,OAAO,CAAC,gBAA8B;AACjD,UAAQ,cAAc;AACtB,SAAO,iBAAiB,WAAW,UAAU,KAAK;AAClD,SAAO,OAAO,YAAY,uBAAuB,GAAG;AACtD;AAEA,IAAM,YAAY,CAAC,QAAgB,WAAmB;AACpD,QAAM,YAAY,CAAC,OAAO,OAAO,OAAO,SAAS,SAAS;AAC1D,MAAI,CAAC,UAAU,SAAS,MAAM,GAAG;AAC/B,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,gBAAgB,QAAW;AACrC,WAAO;AAAA,EACT;AAEA,WAAS,IAAI,GAAG,IAAI,QAAQ,YAAY,QAAQ,KAAK;AACnD,UAAM,QAAQ,QAAQ,YAAY,CAAC;AACnC,UAAM,QAAQ,MAAM,OAAO,KAAK,MAAM;AACtC,QAAI,SAAS,MAAM,MAAM,SAAS,MAAM,GAAG;AACzC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,UAGF;AAAA,EACF,KAAK,CAAC,WAA+B;AACnC,UAAM,UAAU,OAAO;AACvB,UAAM,SAAS,CAAC;AAChB,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,YAAM,QAAQ,QAAQ,QAAQ,OAAO,KAAK,CAAC,CAAC,KAAK;AACjD,aAAO,KAAK,KAAK;AAAA,IACnB;AAEA,WAAO,OAAO,SAAS,IAAI,SAAS,OAAO,CAAC;AAAA,EAC9C;AAAA,EACA,KAAK,CAAC,WAA2C;AAC/C,WAAO,aAAa,QAAQ,OAAO,KAAK,OAAO,KAAK;AAAA,EACtD;AAAA,EACA,KAAK,CAAC,WAA+B;AAEnC,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,aAAO,aAAa,WAAW,OAAO,KAAK,CAAC,CAAC;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,SAAS,MAAM;AACb,UAAM,OAAO,CAAC;AACd,UAAM,SAAS,OAAO,aAAa;AAEnC,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,WAAK,KAAK,OAAO,aAAa,IAAI,CAAC,CAAC;AAAA,IACtC;AAEA,WAAO;AAAA,EACT;AAAA,EACA,OAAO,MAAM;AACX,WAAO,aAAa,MAAM;AAAA,EAC5B;AACF;AAOA,IAAM,WAAW,CAAC,YAAqB;AAErC,QAAM,SAAS,QAAQ,WAAW,SAAS,YAAY,QAAQ;AAG/D,MAAI,QAAQ,SAAS,sBAAsB;AACzC,WAAO,OAAO,OAAO,YAAY,uBAAuB,QAAQ,MAAM;AAAA,EACxE;AAGA,MAAI,QAAQ,SAAS;AAAuB;AAE5C,QAAM,UAKF,KAAK,MAAM,QAAQ,IAAI;AAG3B,MAAI,CAAC,WAAW,OAAO,QAAQ,WAAW,UAAU;AAClD;AAAA,EACF;AAEA,QAAM,SAAS,QAAQ,OAAO,MAAM,gBAAgB,EAAE,CAAC;AAEvD,MAAI,QAAQ;AACZ,MAAI,SAA6B;AAEjC,MAAI,CAAC,QAAQ;AACX;AAAA,EACF,WAAW,CAAC,UAAU,QAAQ,MAAM,GAAG;AACrC,YAAQ,6BAA6B;AAAA,EACvC,OAAO;AACL,QAAI;AACF,eAAS,QAAQ,MAAM,EAAE,QAAQ,MAAM;AAAA,IACzC,SAAS,KAAK;AACZ,cAAS,IAAc;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,WAAW,KAAK,UAAU;AAAA,IAC9B,IAAI,QAAQ;AAAA,IACZ;AAAA,IACA;AAAA,EACF,CAAC;AAGD,QAAM,eAAe,WAAW,YAAY,MAAM;AAElD,SAAO,OAAO,YAAY,UAAU,YAAY;AAClD;","names":[]}
@@ -0,0 +1,9 @@
1
+ 'use client'
2
+ import {
3
+ init
4
+ } from "../../chunk-2X6HV5XJ.mjs";
5
+ import "../../chunk-JUBOAWNR.mjs";
6
+ export {
7
+ init
8
+ };
9
+ //# sourceMappingURL=hub.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,25 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React from 'react';
3
+
4
+ interface LoginInput {
5
+ email: string;
6
+ password: string;
7
+ }
8
+ interface AuthenticationState {
9
+ token: string;
10
+ authenticated: boolean;
11
+ login: (input: LoginInput) => Promise<{
12
+ token?: string;
13
+ error?: Error;
14
+ }>;
15
+ logout: () => void;
16
+ updateToken: (token: string) => Promise<{
17
+ error?: Error;
18
+ }>;
19
+ }
20
+ declare const M2mAuthenticationProvider: ({ children, }: {
21
+ children: React.ReactNode;
22
+ }) => react_jsx_runtime.JSX.Element;
23
+ declare const useAuth: () => AuthenticationState;
24
+
25
+ export { M2mAuthenticationProvider, useAuth };
@@ -1,9 +1,11 @@
1
- import React from "react";
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React from 'react';
3
+
2
4
  interface LoginInput {
3
5
  email: string;
4
6
  password: string;
5
7
  }
6
- type AuthenticationState = {
8
+ interface AuthenticationState {
7
9
  token: string;
8
10
  authenticated: boolean;
9
11
  login: (input: LoginInput) => Promise<{
@@ -14,10 +16,10 @@ type AuthenticationState = {
14
16
  updateToken: (token: string) => Promise<{
15
17
  error?: Error;
16
18
  }>;
17
- };
18
- export declare const M2mAuthenticationProvider: ({ children, }: {
19
+ }
20
+ declare const M2mAuthenticationProvider: ({ children, }: {
19
21
  children: React.ReactNode;
20
- }) => import("react/jsx-runtime").JSX.Element;
21
- export declare const useAuth: () => AuthenticationState;
22
- export {};
23
- //# sourceMappingURL=useM2mAuth.d.ts.map
22
+ }) => react_jsx_runtime.JSX.Element;
23
+ declare const useAuth: () => AuthenticationState;
24
+
25
+ export { M2mAuthenticationProvider, useAuth };