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
package/storage/client.js CHANGED
@@ -1,106 +1,281 @@
1
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
3
- import { StorageClient } from "./lib/client";
4
- class M2mStorageClient extends StorageClient {}
5
- var context = {};
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);
6
20
 
7
- /**
8
- * Get the connected storage client.
9
- * @param timeout
10
- * @default 5000
11
- */
12
- var getStorage = /*#__PURE__*/function () {
13
- var _ref = _asyncToGenerator(function* () {
14
- var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5000;
15
- var storage = yield new Promise((resolve, reject) => {
16
- var rejectTimer = window.setTimeout(function () {
17
- reject(new Error("Timeout: M2mStorageClient could not connect. Please call m2mStorageClient.init() before using m2mStorageClient."));
18
- }, timeout);
19
- var storage = context.storage;
20
- if (storage) {
21
- window.clearTimeout(rejectTimer);
22
- resolve(storage);
21
+ // src/storage/client.ts
22
+ var client_exports = {};
23
+ __export(client_exports, {
24
+ M2M_AUTH_TOKEN_KEY: () => M2M_AUTH_TOKEN_KEY,
25
+ m2mAuthTokenApi: () => m2mAuthTokenApi,
26
+ m2mStorageClient: () => m2mStorageClient
27
+ });
28
+ module.exports = __toCommonJS(client_exports);
29
+
30
+ // src/storage/lib/client.ts
31
+ var generateUUID = () => {
32
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
33
+ const r = Math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
34
+ return v.toString(16);
35
+ });
36
+ };
37
+ var StorageClient = class {
38
+ constructor(url, opts) {
39
+ opts = opts || {};
40
+ this.id = generateUUID();
41
+ this.frameId = opts.frameId || "CrossStorageClient-" + this.id;
42
+ this.origin = new URL(url).origin;
43
+ this.requests = {};
44
+ this.connected = false;
45
+ this.closed = false;
46
+ this.count = 0;
47
+ this.timeout = opts.timeout || 5e3;
48
+ window.addEventListener("message", this.listener.bind(this), false);
49
+ const frame = this.createFrame(url);
50
+ this.hub = frame.contentWindow;
51
+ }
52
+ onConnect() {
53
+ if (this.connected) {
54
+ return Promise.resolve();
55
+ } else if (this.closed) {
56
+ return Promise.reject(new Error("StorageClient has closed."));
57
+ }
58
+ if (!this.requests.connect) {
59
+ this.requests.connect = [];
60
+ }
61
+ return new Promise((resolve, reject) => {
62
+ const timeout = setTimeout(function() {
63
+ reject(new Error("StorageClient could not connect."));
64
+ }, this.timeout);
65
+ this.requests.connect.push((err) => {
66
+ clearTimeout(timeout);
67
+ if (err)
68
+ return reject(err);
69
+ resolve(void 0);
70
+ });
71
+ });
72
+ }
73
+ set(key, value) {
74
+ return this.request("set", {
75
+ key,
76
+ value
77
+ });
78
+ }
79
+ get(...keys) {
80
+ return this.request("get", { keys });
81
+ }
82
+ del(...keys) {
83
+ return this.request("del", { keys });
84
+ }
85
+ clear() {
86
+ return this.request("clear");
87
+ }
88
+ getKeys() {
89
+ this.request("getKeys");
90
+ }
91
+ close() {
92
+ const frame = document.getElementById(this.frameId);
93
+ if (frame && frame.parentNode) {
94
+ frame.parentNode.removeChild(frame);
95
+ }
96
+ window.removeEventListener("message", this.listener, false);
97
+ this.connected = false;
98
+ this.closed = true;
99
+ }
100
+ listener(message) {
101
+ let i, error, response;
102
+ if (this.closed || !message.data || typeof message.data !== "string") {
103
+ return;
104
+ }
105
+ const origin = message.origin;
106
+ if (origin !== this.origin)
107
+ return;
108
+ if (message.data === "cross-storage:unavailable") {
109
+ if (!this.closed)
110
+ this.close();
111
+ if (!this.requests.connect)
112
+ return;
113
+ error = new Error(
114
+ "Closing StorageClient. Could not access localStorage in StorageHub."
115
+ );
116
+ for (i = 0; i < this.requests.connect.length; i++) {
117
+ this.requests.connect[i](error);
118
+ }
119
+ return;
120
+ }
121
+ if (message.data.indexOf("cross-storage:") !== -1 && !this.connected) {
122
+ this.connected = true;
123
+ if (!this.requests.connect)
124
+ return;
125
+ for (i = 0; i < this.requests.connect.length; i++) {
126
+ this.requests.connect[i](error);
127
+ }
128
+ delete this.requests.connect;
129
+ }
130
+ if (message.data === "cross-storage:ready")
131
+ return;
132
+ try {
133
+ response = JSON.parse(message.data);
134
+ } catch (e) {
135
+ return;
136
+ }
137
+ if (!response.id)
138
+ return;
139
+ if (this.requests[response.id]) {
140
+ this.requests[response.id](response.error, response.result);
141
+ }
142
+ }
143
+ createFrame(url) {
144
+ const frame = window.document.createElement("iframe");
145
+ frame.id = this.frameId;
146
+ frame.style.display = "none";
147
+ frame.style.position = "absolute";
148
+ frame.style.top = "-999px";
149
+ frame.style.left = "-999px";
150
+ window.document.body.appendChild(frame);
151
+ frame.src = url;
152
+ return frame;
153
+ }
154
+ // eslint-disable-next-line @typescript-eslint/ban-types
155
+ request(method, params) {
156
+ if (this.closed) {
157
+ return Promise.reject(new Error("StorageClient has closed."));
158
+ }
159
+ this.count++;
160
+ const req = {
161
+ id: this.id + ":" + this.count,
162
+ method: "cross-storage:" + method,
163
+ params
164
+ };
165
+ return new Promise((resolve, reject) => {
166
+ const timeout = window.setTimeout(() => {
167
+ if (!this.requests[req.id])
168
+ return;
169
+ delete this.requests[req.id];
170
+ reject(
171
+ new Error("Timeout: StorageClient could not perform " + req.method)
172
+ );
173
+ }, this.timeout);
174
+ this.requests[req.id] = (err, result) => {
175
+ clearTimeout(timeout);
176
+ delete this.requests[req.id];
177
+ if (err)
178
+ return reject(new Error(err));
179
+ resolve(result);
180
+ };
181
+ if (this.hub) {
182
+ this.hub.postMessage(JSON.stringify(req), this.origin);
183
+ } else {
184
+ reject(new Error("Not found StorageHub."));
23
185
  }
24
- var timer = window.setInterval(() => {
25
- var storage = context.storage;
26
- if (storage) {
27
- window.clearTimeout(rejectTimer);
28
- window.clearInterval(timer);
29
- resolve(storage);
30
- }
31
- }, 200);
32
186
  });
33
- yield storage.onConnect();
34
- return storage;
187
+ }
188
+ };
189
+
190
+ // src/storage/client.ts
191
+ var M2mStorageClient = class extends StorageClient {
192
+ };
193
+ var context = {};
194
+ var getStorage = async (timeout = 5e3) => {
195
+ const storage = await new Promise((resolve, reject) => {
196
+ const rejectTimer = window.setTimeout(function() {
197
+ reject(
198
+ new Error(
199
+ "Timeout: M2mStorageClient could not connect. Please call m2mStorageClient.init() before using m2mStorageClient."
200
+ )
201
+ );
202
+ }, timeout);
203
+ const storage2 = context.storage;
204
+ if (storage2) {
205
+ window.clearTimeout(rejectTimer);
206
+ resolve(storage2);
207
+ }
208
+ const timer = window.setInterval(() => {
209
+ const storage3 = context.storage;
210
+ if (storage3) {
211
+ window.clearTimeout(rejectTimer);
212
+ window.clearInterval(timer);
213
+ resolve(storage3);
214
+ }
215
+ }, 200);
35
216
  });
36
- return function getStorage() {
37
- return _ref.apply(this, arguments);
38
- };
39
- }();
217
+ await storage.onConnect();
218
+ return storage;
219
+ };
40
220
  var M2M_STORAGE_HUB_URL = "https://hub.m2msystems.cloud/";
41
221
  var M2M_STORAGE_HUB_URL_DEV = "https://m2m-components-storage-hub-dev.netlify.app/";
42
- var initStorageClient = options => {
222
+ var initStorageClient = (options) => {
43
223
  if (context.storage) {
44
- throw new Error("M2mStorageClient already initialized. Do not call m2mStorageClient.init multiple times.");
224
+ throw new Error(
225
+ "M2mStorageClient already initialized. Do not call m2mStorageClient.init multiple times."
226
+ );
45
227
  }
46
- var storage = new M2mStorageClient((options === null || options === void 0 ? void 0 : options.env) === "production" ? M2M_STORAGE_HUB_URL : M2M_STORAGE_HUB_URL_DEV);
228
+ const storage = new M2mStorageClient(
229
+ (options == null ? void 0 : options.env) === "production" ? M2M_STORAGE_HUB_URL : M2M_STORAGE_HUB_URL_DEV
230
+ );
47
231
  context.storage = storage;
48
232
  };
49
- export var m2mStorageClient = {
233
+ var m2mStorageClient = {
50
234
  init: initStorageClient,
51
- getStorage: getStorage
235
+ getStorage
52
236
  };
53
- export var M2M_AUTH_TOKEN_KEY = "M2M_APP_AUTH_TOKEN";
237
+ var M2M_AUTH_TOKEN_KEY = "M2M_APP_AUTH_TOKEN";
54
238
  var getAuthTokenCache = () => {
55
239
  return window.localStorage.getItem(M2M_AUTH_TOKEN_KEY);
56
240
  };
57
- var getAuthToken = /*#__PURE__*/function () {
58
- var _ref2 = _asyncToGenerator(function* () {
59
- try {
60
- var storage = yield getStorage();
61
- var autuToken = yield storage.get(M2M_AUTH_TOKEN_KEY);
62
- return autuToken || getAuthTokenCache();
63
- } catch (error) {
64
- console.warn(error);
65
- return getAuthTokenCache();
66
- }
67
- });
68
- return function getAuthToken() {
69
- return _ref2.apply(this, arguments);
70
- };
71
- }();
72
- var setAuthToken = /*#__PURE__*/function () {
73
- var _ref3 = _asyncToGenerator(function* (token) {
74
- window.localStorage.setItem(M2M_AUTH_TOKEN_KEY, token);
75
- try {
76
- var storage = yield getStorage();
77
- yield storage.set(M2M_AUTH_TOKEN_KEY, token);
78
- } catch (error) {
79
- console.warn(error);
80
- }
81
- });
82
- return function setAuthToken(_x) {
83
- return _ref3.apply(this, arguments);
84
- };
85
- }();
86
- var clearAuthToken = /*#__PURE__*/function () {
87
- var _ref4 = _asyncToGenerator(function* () {
88
- window.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);
89
- try {
90
- var storage = yield getStorage();
91
- yield storage.del(M2M_AUTH_TOKEN_KEY);
92
- } catch (error) {
93
- console.warn(error);
94
- }
95
- });
96
- return function clearAuthToken() {
97
- return _ref4.apply(this, arguments);
98
- };
99
- }();
100
- export var m2mAuthTokenApi = {
241
+ var getAuthToken = async () => {
242
+ try {
243
+ const storage = await getStorage();
244
+ const autuToken = await storage.get(M2M_AUTH_TOKEN_KEY);
245
+ return autuToken || getAuthTokenCache();
246
+ } catch (error) {
247
+ console.warn(error);
248
+ return getAuthTokenCache();
249
+ }
250
+ };
251
+ var setAuthToken = async (token) => {
252
+ window.localStorage.setItem(M2M_AUTH_TOKEN_KEY, token);
253
+ try {
254
+ const storage = await getStorage();
255
+ await storage.set(M2M_AUTH_TOKEN_KEY, token);
256
+ } catch (error) {
257
+ console.warn(error);
258
+ }
259
+ };
260
+ var clearAuthToken = async () => {
261
+ window.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);
262
+ try {
263
+ const storage = await getStorage();
264
+ await storage.del(M2M_AUTH_TOKEN_KEY);
265
+ } catch (error) {
266
+ console.warn(error);
267
+ }
268
+ };
269
+ var m2mAuthTokenApi = {
101
270
  get: getAuthToken,
102
271
  getCache: getAuthTokenCache,
103
272
  set: setAuthToken,
104
273
  clear: clearAuthToken
105
274
  };
275
+ // Annotate the CommonJS export names for ESM import in node:
276
+ 0 && (module.exports = {
277
+ M2M_AUTH_TOKEN_KEY,
278
+ m2mAuthTokenApi,
279
+ m2mStorageClient
280
+ });
106
281
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["StorageClient","M2mStorageClient","context","getStorage","_ref","_asyncToGenerator","timeout","arguments","length","undefined","storage","Promise","resolve","reject","rejectTimer","window","setTimeout","Error","clearTimeout","timer","setInterval","clearInterval","onConnect","apply","M2M_STORAGE_HUB_URL","M2M_STORAGE_HUB_URL_DEV","initStorageClient","options","env","m2mStorageClient","init","M2M_AUTH_TOKEN_KEY","getAuthTokenCache","localStorage","getItem","getAuthToken","_ref2","autuToken","get","error","console","warn","setAuthToken","_ref3","token","setItem","set","_x","clearAuthToken","_ref4","removeItem","del","m2mAuthTokenApi","getCache","clear"],"sources":["../src/storage/client.ts"],"sourcesContent":["import { StorageClient } from \"./lib/client\";\n\nclass M2mStorageClient extends StorageClient {}\n\nexport type { M2mStorageClient };\n\nconst context: {\n storage?: M2mStorageClient;\n} = {};\n\n/**\n * Get the connected storage client.\n * @param timeout\n * @default 5000\n */\nconst getStorage = async (timeout = 5000) => {\n const storage = await new Promise<M2mStorageClient>((resolve, reject) => {\n const rejectTimer = window.setTimeout(function () {\n reject(\n new Error(\n \"Timeout: M2mStorageClient could not connect. Please call m2mStorageClient.init() before using m2mStorageClient.\"\n )\n );\n }, timeout);\n\n const storage = context.storage;\n if (storage) {\n window.clearTimeout(rejectTimer);\n resolve(storage);\n }\n\n const timer = window.setInterval(() => {\n const storage = context.storage;\n if (storage) {\n window.clearTimeout(rejectTimer);\n window.clearInterval(timer);\n resolve(storage);\n }\n }, 200);\n });\n\n await storage.onConnect();\n\n return storage;\n};\n\nconst M2M_STORAGE_HUB_URL = \"https://hub.m2msystems.cloud/\";\n\nconst M2M_STORAGE_HUB_URL_DEV =\n \"https://m2m-components-storage-hub-dev.netlify.app/\";\n\nconst initStorageClient = (options?: {\n env?: \"development\" | \"production\";\n}) => {\n if (context.storage) {\n throw new Error(\n \"M2mStorageClient already initialized. Do not call m2mStorageClient.init multiple times.\"\n );\n }\n const storage = new M2mStorageClient(\n options?.env === \"production\"\n ? M2M_STORAGE_HUB_URL\n : M2M_STORAGE_HUB_URL_DEV\n );\n context.storage = storage;\n};\n\nexport const m2mStorageClient = {\n init: initStorageClient,\n getStorage: getStorage,\n};\n\nexport const M2M_AUTH_TOKEN_KEY = \"M2M_APP_AUTH_TOKEN\";\n\nconst getAuthTokenCache = () => {\n return window.localStorage.getItem(M2M_AUTH_TOKEN_KEY);\n};\n\nconst getAuthToken = async () => {\n try {\n const storage = await getStorage();\n const autuToken = (await storage.get(M2M_AUTH_TOKEN_KEY)) as string;\n return autuToken || getAuthTokenCache();\n } catch (error) {\n console.warn(error);\n return getAuthTokenCache();\n }\n};\n\nconst setAuthToken = async (token: string) => {\n window.localStorage.setItem(M2M_AUTH_TOKEN_KEY, token);\n try {\n const storage = await getStorage();\n await storage.set(M2M_AUTH_TOKEN_KEY, token);\n } catch (error) {\n console.warn(error);\n }\n};\n\nconst clearAuthToken = async () => {\n window.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);\n try {\n const storage = await getStorage();\n await storage.del(M2M_AUTH_TOKEN_KEY);\n } catch (error) {\n console.warn(error);\n }\n};\n\nexport const m2mAuthTokenApi = {\n get: getAuthToken,\n getCache: getAuthTokenCache,\n set: setAuthToken,\n clear: clearAuthToken,\n};\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/storage/client.ts","../../src/storage/lib/client.ts"],"sourcesContent":["import { StorageClient } from \"./lib/client\";\n\nclass M2mStorageClient extends StorageClient {}\n\nexport type { M2mStorageClient };\n\nconst context: {\n storage?: M2mStorageClient;\n} = {};\n\n/**\n * Get the connected storage client.\n * @param timeout\n * @default 5000\n */\nconst getStorage = async (timeout = 5000) => {\n const storage = await new Promise<M2mStorageClient>((resolve, reject) => {\n const rejectTimer = window.setTimeout(function () {\n reject(\n new Error(\n \"Timeout: M2mStorageClient could not connect. Please call m2mStorageClient.init() before using m2mStorageClient.\"\n )\n );\n }, timeout);\n\n const storage = context.storage;\n if (storage) {\n window.clearTimeout(rejectTimer);\n resolve(storage);\n }\n\n const timer = window.setInterval(() => {\n const storage = context.storage;\n if (storage) {\n window.clearTimeout(rejectTimer);\n window.clearInterval(timer);\n resolve(storage);\n }\n }, 200);\n });\n\n await storage.onConnect();\n\n return storage;\n};\n\nconst M2M_STORAGE_HUB_URL = \"https://hub.m2msystems.cloud/\";\n\nconst M2M_STORAGE_HUB_URL_DEV =\n \"https://m2m-components-storage-hub-dev.netlify.app/\";\n\nconst initStorageClient = (options?: {\n env?: \"development\" | \"production\";\n}) => {\n if (context.storage) {\n throw new Error(\n \"M2mStorageClient already initialized. Do not call m2mStorageClient.init multiple times.\"\n );\n }\n const storage = new M2mStorageClient(\n options?.env === \"production\"\n ? M2M_STORAGE_HUB_URL\n : M2M_STORAGE_HUB_URL_DEV\n );\n context.storage = storage;\n};\n\nexport const m2mStorageClient = {\n init: initStorageClient,\n getStorage: getStorage,\n};\n\nexport const M2M_AUTH_TOKEN_KEY = \"M2M_APP_AUTH_TOKEN\";\n\nconst getAuthTokenCache = () => {\n return window.localStorage.getItem(M2M_AUTH_TOKEN_KEY);\n};\n\nconst getAuthToken = async () => {\n try {\n const storage = await getStorage();\n const autuToken = (await storage.get(M2M_AUTH_TOKEN_KEY)) as string;\n return autuToken || getAuthTokenCache();\n } catch (error) {\n console.warn(error);\n return getAuthTokenCache();\n }\n};\n\nconst setAuthToken = async (token: string) => {\n window.localStorage.setItem(M2M_AUTH_TOKEN_KEY, token);\n try {\n const storage = await getStorage();\n await storage.set(M2M_AUTH_TOKEN_KEY, token);\n } catch (error) {\n console.warn(error);\n }\n};\n\nconst clearAuthToken = async () => {\n window.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);\n try {\n const storage = await getStorage();\n await storage.del(M2M_AUTH_TOKEN_KEY);\n } catch (error) {\n console.warn(error);\n }\n};\n\nexport const m2mAuthTokenApi = {\n get: getAuthToken,\n getCache: getAuthTokenCache,\n set: setAuthToken,\n clear: clearAuthToken,\n};\n","/**\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":["storage"]}
@@ -0,0 +1,14 @@
1
+ 'use client'
2
+ import {
3
+ M2M_AUTH_TOKEN_KEY,
4
+ m2mAuthTokenApi,
5
+ m2mStorageClient
6
+ } from "../chunk-5FHEMJGG.mjs";
7
+ import "../chunk-UOPEIK22.mjs";
8
+ import "../chunk-JUBOAWNR.mjs";
9
+ export {
10
+ M2M_AUTH_TOKEN_KEY,
11
+ m2mAuthTokenApi,
12
+ m2mStorageClient
13
+ };
14
+ //# sourceMappingURL=client.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,9 @@
1
+ import { Permission } from './lib/hub.mjs';
2
+
3
+ interface M2mStoragePermission extends Permission {
4
+ }
5
+ declare const m2mStorageHub: {
6
+ init: (permissions: M2mStoragePermission[]) => void;
7
+ };
8
+
9
+ export { M2mStoragePermission, m2mStorageHub };
package/storage/hub.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- import type { Permission } from "./lib/hub";
2
- export interface M2mStoragePermission extends Permission {
1
+ import { Permission } from './lib/hub.js';
2
+
3
+ interface M2mStoragePermission extends Permission {
3
4
  }
4
- export declare const m2mStorageHub: {
5
+ declare const m2mStorageHub: {
5
6
  init: (permissions: M2mStoragePermission[]) => void;
6
7
  };
7
- //# sourceMappingURL=hub.d.ts.map
8
+
9
+ export { M2mStoragePermission, m2mStorageHub };
package/storage/hub.js CHANGED
@@ -1,14 +1,127 @@
1
- import { init } from "./lib/hub";
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);
2
20
 
3
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
21
+ // src/storage/hub.ts
22
+ var hub_exports = {};
23
+ __export(hub_exports, {
24
+ m2mStorageHub: () => m2mStorageHub
25
+ });
26
+ module.exports = __toCommonJS(hub_exports);
27
+
28
+ // src/storage/lib/hub.ts
29
+ var context = {};
30
+ var init = (permissions) => {
31
+ context.permissions = permissions;
32
+ window.addEventListener("message", listener, false);
33
+ window.parent.postMessage("cross-storage:ready", "*");
34
+ };
35
+ var permitted = (origin, method) => {
36
+ const available = ["get", "set", "del", "clear", "getKeys"];
37
+ if (!available.includes(method)) {
38
+ return false;
39
+ }
40
+ if (context.permissions === void 0) {
41
+ return false;
42
+ }
43
+ for (let i = 0; i < context.permissions.length; i++) {
44
+ const entry = context.permissions[i];
45
+ const match = entry.origin.test(origin);
46
+ if (match && entry.allow.includes(method)) {
47
+ return true;
48
+ }
49
+ }
50
+ return false;
51
+ };
52
+ var methods = {
53
+ get: (params) => {
54
+ const storage = window.localStorage;
55
+ const result = [];
56
+ for (let i = 0; i < params.keys.length; i++) {
57
+ const value = storage.getItem(params.keys[i]) || null;
58
+ result.push(value);
59
+ }
60
+ return result.length > 1 ? result : result[0];
61
+ },
62
+ set: (params) => {
63
+ window.localStorage.setItem(params.key, params.value);
64
+ },
65
+ del: (params) => {
66
+ for (var i = 0; i < params.keys.length; i++) {
67
+ window.localStorage.removeItem(params.keys[i]);
68
+ }
69
+ },
70
+ getKeys: () => {
71
+ const keys = [];
72
+ const length = window.localStorage.length;
73
+ for (let i = 0; i < length; i++) {
74
+ keys.push(window.localStorage.key(i));
75
+ }
76
+ return keys;
77
+ },
78
+ clear: () => {
79
+ window.localStorage.clear();
80
+ }
81
+ };
82
+ var listener = (message) => {
83
+ const origin = message.origin === "null" ? "file://" : message.origin;
84
+ if (message.data === "cross-storage:poll") {
85
+ return window.parent.postMessage("cross-storage:ready", message.origin);
86
+ }
87
+ if (message.data === "cross-storage:ready")
88
+ return;
89
+ const request = JSON.parse(message.data);
90
+ if (!request || typeof request.method !== "string") {
91
+ return;
92
+ }
93
+ const method = request.method.split("cross-storage:")[1];
94
+ let error = "";
95
+ let result = void 0;
96
+ if (!method) {
97
+ return;
98
+ } else if (!permitted(origin, method)) {
99
+ error = "Invalid permissions for " + method;
100
+ } else {
101
+ try {
102
+ result = methods[method](request.params);
103
+ } catch (err) {
104
+ error = err.message;
105
+ }
106
+ }
107
+ const response = JSON.stringify({
108
+ id: request.id,
109
+ error,
110
+ result
111
+ });
112
+ const targetOrigin = origin === "file://" ? "*" : origin;
113
+ window.parent.postMessage(response, targetOrigin);
114
+ };
4
115
 
5
- /**
6
- * Init the hub.
7
- */
8
- var initM2mStorageHub = permissions => {
116
+ // src/storage/hub.ts
117
+ var initM2mStorageHub = (permissions) => {
9
118
  init(permissions);
10
119
  };
11
- export var m2mStorageHub = {
120
+ var m2mStorageHub = {
12
121
  init: initM2mStorageHub
13
122
  };
123
+ // Annotate the CommonJS export names for ESM import in node:
124
+ 0 && (module.exports = {
125
+ m2mStorageHub
126
+ });
14
127
  //# sourceMappingURL=hub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hub.js","names":["init","initM2mStorageHub","permissions","m2mStorageHub"],"sources":["../src/storage/hub.ts"],"sourcesContent":["import { init } from \"./lib/hub\";\nimport type { Permission } from \"./lib/hub\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface M2mStoragePermission extends Permission {}\n\n/**\n * Init the hub.\n */\nconst initM2mStorageHub = (permissions: M2mStoragePermission[]) => {\n init(permissions);\n};\n\nexport const m2mStorageHub = {\n init: initM2mStorageHub,\n};\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,WAAW;;AAGhC;;AAGA;AACA;AACA;AACA,IAAMC,iBAAiB,GAAIC,WAAmC,IAAK;EACjEF,IAAI,CAACE,WAAW,CAAC;AACnB,CAAC;AAED,OAAO,IAAMC,aAAa,GAAG;EAC3BH,IAAI,EAAEC;AACR,CAAC"}
1
+ {"version":3,"sources":["../../src/storage/hub.ts","../../src/storage/lib/hub.ts"],"sourcesContent":["import { init } from \"./lib/hub\";\nimport type { Permission } from \"./lib/hub\";\n\nexport interface M2mStoragePermission extends Permission {}\n\n/**\n * Init the hub.\n */\nconst initM2mStorageHub = (permissions: M2mStoragePermission[]) => {\n init(permissions);\n};\n\nexport const m2mStorageHub = {\n init: initM2mStorageHub,\n};\n","/**\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":"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","names":[]}
@@ -0,0 +1,10 @@
1
+ 'use client'
2
+ import {
3
+ m2mStorageHub
4
+ } from "../chunk-NO6ZGO5P.mjs";
5
+ import "../chunk-2X6HV5XJ.mjs";
6
+ import "../chunk-JUBOAWNR.mjs";
7
+ export {
8
+ m2mStorageHub
9
+ };
10
+ //# sourceMappingURL=hub.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,27 @@
1
+ declare class StorageClient {
2
+ id: string;
3
+ frameId: string;
4
+ origin: string;
5
+ requests: Record<string, any>;
6
+ connected: boolean;
7
+ closed: boolean;
8
+ count: number;
9
+ timeout: number;
10
+ hub: null | Window;
11
+ constructor(url: string, opts?: {
12
+ frameId?: string;
13
+ timeout?: number;
14
+ });
15
+ onConnect(): Promise<unknown>;
16
+ set(key: string, value: string): Promise<unknown>;
17
+ get(...keys: string[]): Promise<unknown>;
18
+ del(...keys: string[]): Promise<unknown>;
19
+ clear(): Promise<unknown>;
20
+ getKeys(): void;
21
+ close(): void;
22
+ private listener;
23
+ private createFrame;
24
+ private request;
25
+ }
26
+
27
+ export { StorageClient };