m2m-components 0.1.1 → 0.3.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 (78) hide show
  1. package/LitMenuBaseElement.js +11 -91
  2. package/LitMenuBaseElement.js.map +1 -1
  3. package/cjs/LitMenuBaseElement.js +225 -0
  4. package/cjs/LitMenuBaseElement.js.map +1 -0
  5. package/cjs/domains.js +19 -0
  6. package/cjs/domains.js.map +1 -0
  7. package/cjs/endpoints/m2m-notifications.js +19 -0
  8. package/cjs/endpoints/m2m-notifications.js.map +1 -0
  9. package/cjs/endpoints/m2m-notifications.v1.js +169 -0
  10. package/cjs/endpoints/m2m-notifications.v1.js.map +1 -0
  11. package/cjs/endpoints/m2m-users.js +19 -0
  12. package/cjs/endpoints/m2m-users.js.map +1 -0
  13. package/cjs/endpoints/m2m-users.v1.js +672 -0
  14. package/cjs/endpoints/m2m-users.v1.js.map +1 -0
  15. package/cjs/index.js +14 -0
  16. package/cjs/index.js.map +1 -0
  17. package/cjs/m2m-apps-menu.js +105 -0
  18. package/cjs/m2m-apps-menu.js.map +1 -0
  19. package/cjs/m2m-user-menu.js +113 -0
  20. package/cjs/m2m-user-menu.js.map +1 -0
  21. package/cjs/notification/NotificationProvider.js +100 -0
  22. package/cjs/notification/NotificationProvider.js.map +1 -0
  23. package/cjs/notification/ServiceIdProvider.js +41 -0
  24. package/cjs/notification/ServiceIdProvider.js.map +1 -0
  25. package/cjs/notification/api.js +63 -0
  26. package/cjs/notification/api.js.map +1 -0
  27. package/cjs/notification/domain.js +6 -0
  28. package/cjs/notification/domain.js.map +1 -0
  29. package/cjs/notification/index.js +58 -0
  30. package/cjs/notification/index.js.map +1 -0
  31. package/cjs/storage/client.js +110 -0
  32. package/cjs/storage/client.js.map +1 -0
  33. package/cjs/storage/hub.js +21 -0
  34. package/cjs/storage/hub.js.map +1 -0
  35. package/cjs/storage/lib/client.js +203 -0
  36. package/cjs/storage/lib/client.js.map +1 -0
  37. package/cjs/storage/lib/hub.js +126 -0
  38. package/cjs/storage/lib/hub.js.map +1 -0
  39. package/cjs/storage/useM2mAuth.js +101 -0
  40. package/cjs/storage/useM2mAuth.js.map +1 -0
  41. package/domains.js +1 -1
  42. package/domains.js.map +1 -1
  43. package/endpoints/m2m-notifications.js +1 -1
  44. package/endpoints/m2m-notifications.js.map +1 -1
  45. package/endpoints/m2m-notifications.v1.js +71 -49
  46. package/endpoints/m2m-notifications.v1.js.map +1 -1
  47. package/endpoints/m2m-users.d.ts +5 -0
  48. package/endpoints/m2m-users.d.ts.map +1 -0
  49. package/endpoints/m2m-users.js +6 -0
  50. package/endpoints/m2m-users.js.map +1 -0
  51. package/endpoints/m2m-users.v1.d.ts +221 -0
  52. package/endpoints/m2m-users.v1.d.ts.map +1 -0
  53. package/endpoints/m2m-users.v1.js +682 -0
  54. package/endpoints/m2m-users.v1.js.map +1 -0
  55. package/m2m-apps-menu.js +11 -39
  56. package/m2m-apps-menu.js.map +1 -1
  57. package/m2m-user-menu.js +11 -33
  58. package/m2m-user-menu.js.map +1 -1
  59. package/notification/NotificationProvider.js +82 -0
  60. package/notification/NotificationProvider.js.map +1 -0
  61. package/notification/ServiceIdProvider.js +24 -0
  62. package/notification/ServiceIdProvider.js.map +1 -0
  63. package/notification/api.js +66 -38
  64. package/notification/api.js.map +1 -1
  65. package/package.json +38 -14
  66. package/storage/client.d.ts.map +1 -1
  67. package/storage/client.js +69 -31
  68. package/storage/client.js.map +1 -1
  69. package/storage/hub.js +2 -2
  70. package/storage/hub.js.map +1 -1
  71. package/storage/lib/client.js +21 -13
  72. package/storage/lib/client.js.map +1 -1
  73. package/storage/lib/hub.js +23 -23
  74. package/storage/lib/hub.js.map +1 -1
  75. package/storage/useM2mAuth.d.ts +19 -0
  76. package/storage/useM2mAuth.d.ts.map +1 -0
  77. package/storage/useM2mAuth.js +94 -0
  78. package/storage/useM2mAuth.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/notification/api.ts"],"names":["fetcher","m2mNotifications_v1","requestUpdateNotificationStatusToRead","token","id","updateNotificationStatus","method","body","JSON","stringify","status","requestSubscribe","serviceId","input","error","saveSubscription","console","requestUnSubscribe"],"mappings":"AAAA,SAASA,OAAT,QAAwB,eAAxB;AACA,SAASC,mBAAT,QAAoC,mCAApC;AAGA,OAAO,MAAMC,qCAAqC,GAAG,OACnDC,KADmD,EAEnDC,EAFmD,KAGhD;AACH,QAAMJ,OAAO,CACXC,mBAAmB,CAACI,wBAApB,CAA6C;AAC3CD,IAAAA;AAD2C,GAA7C,CADW,EAIX;AACEE,IAAAA,MAAM,EAAE,KADV;AAEEH,IAAAA,KAFF;AAGEI,IAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAe;AAAEC,MAAAA,MAAM,EAAE;AAAV,KAAf;AAHR,GAJW,CAAb;AAUD,CAdM;AAgBP,OAAO,MAAMC,gBAAgB,GAAG,OAC9BR,KAD8B,EAE9BS,SAF8B,EAG9BC,KAH8B,KAI3B;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAY,MAAMd,OAAO,CAACC,mBAAmB,CAACc,gBAApB,EAAD,EAAyC;AACtET,IAAAA,MAAM,EAAE,MAD8D;AAEtEH,IAAAA,KAFsE;AAGtEI,IAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAe,EACnB,GAAGI,KADgB;AAEnBD,MAAAA,SAFmB;AAGnBF,MAAAA,MAAM,EAAE;AAHW,KAAf;AAHgE,GAAzC,CAA/B;;AASA,MAAII,KAAJ,EAAW;AACTE,IAAAA,OAAO,CAACF,KAAR,CAAcA,KAAd;AACD;AACF,CAjBM;AAmBP,OAAO,MAAMG,kBAAkB,GAAG,OAChCd,KADgC,EAEhCS,SAFgC,EAGhCC,KAHgC,KAI7B;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAY,MAAMd,OAAO,CAACC,mBAAmB,CAACc,gBAApB,EAAD,EAAyC;AACtET,IAAAA,MAAM,EAAE,MAD8D;AAEtEH,IAAAA,KAFsE;AAGtEI,IAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAe,EACnB,GAAGI,KADgB;AAEnBD,MAAAA,SAFmB;AAGnBF,MAAAA,MAAM,EAAE;AAHW,KAAf;AAHgE,GAAzC,CAA/B;;AASA,MAAII,KAAJ,EAAW;AACTE,IAAAA,OAAO,CAACF,KAAR,CAAcA,KAAd;AACD;AACF,CAjBM","sourcesContent":["import { fetcher } from \"matsuri-hooks\";\nimport { m2mNotifications_v1 } from \"../endpoints/m2m-notifications.v1\";\nimport { Subscription } from \"./domain\";\n\nexport const requestUpdateNotificationStatusToRead = async (\n token: string,\n id: string\n) => {\n await fetcher(\n m2mNotifications_v1.updateNotificationStatus({\n id,\n }),\n {\n method: \"PUT\",\n token,\n body: JSON.stringify({ status: \"read\" }),\n }\n );\n};\n\nexport const requestSubscribe = async (\n token: string,\n serviceId: string,\n input: Pick<Subscription, \"notificationType\" | \"resourceSubscription\">\n) => {\n const { error } = await fetcher(m2mNotifications_v1.saveSubscription(), {\n method: \"POST\",\n token,\n body: JSON.stringify({\n ...input,\n serviceId,\n status: \"subscribed\",\n }),\n });\n if (error) {\n console.error(error);\n }\n};\n\nexport const requestUnSubscribe = async (\n token: string,\n serviceId: string,\n input: Pick<Subscription, \"notificationType\" | \"resourceSubscription\">\n) => {\n const { error } = await fetcher(m2mNotifications_v1.saveSubscription(), {\n method: \"POST\",\n token,\n body: JSON.stringify({\n ...input,\n serviceId,\n status: \"denied\",\n }),\n });\n if (error) {\n console.error(error);\n }\n};\n"],"file":"api.js"}
1
+ {"version":3,"sources":["../src/notification/api.ts"],"names":["fetcher","m2mNotifications_v1","requestUpdateNotificationStatusToRead","token","id","updateNotificationStatus","method","body","JSON","stringify","status","requestSubscribe","serviceId","input","error","saveSubscription","console","requestUnSubscribe"],"mappings":";;;;;;;;;;AAAA,SAASA,OAAT,QAAwB,eAAxB;AACA,SAASC,mBAAT,QAAoC,mCAApC;AAGA,OAAO,IAAMC,qCAAqC;AAAA,+BAAG,WACnDC,KADmD,EAEnDC,EAFmD,EAGhD;AACH,UAAMJ,OAAO,CACXC,mBAAmB,CAACI,wBAApB,CAA6C;AAC3CD,MAAAA;AAD2C,KAA7C,CADW,EAIX;AACEE,MAAAA,MAAM,EAAE,KADV;AAEEH,MAAAA,KAFF;AAGEI,MAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAe;AAAEC,QAAAA,MAAM,EAAE;AAAV,OAAf;AAHR,KAJW,CAAb;AAUD,GAdiD;;AAAA,kBAArCR,qCAAqC;AAAA;AAAA;AAAA,GAA3C;AAgBP,OAAO,IAAMS,gBAAgB;AAAA,gCAAG,WAC9BR,KAD8B,EAE9BS,SAF8B,EAG9BC,KAH8B,EAI3B;AACH,QAAM;AAAEC,MAAAA;AAAF,cAAkBd,OAAO,CAACC,mBAAmB,CAACc,gBAApB,EAAD,EAAyC;AACtET,MAAAA,MAAM,EAAE,MAD8D;AAEtEH,MAAAA,KAFsE;AAGtEI,MAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,iCACDI,KADC;AAEJD,QAAAA,SAFI;AAGJF,QAAAA,MAAM,EAAE;AAHJ;AAHgE,KAAzC,CAA/B;;AASA,QAAII,KAAJ,EAAW;AACTE,MAAAA,OAAO,CAACF,KAAR,CAAcA,KAAd;AACD;AACF,GAjB4B;;AAAA,kBAAhBH,gBAAgB;AAAA;AAAA;AAAA,GAAtB;AAmBP,OAAO,IAAMM,kBAAkB;AAAA,gCAAG,WAChCd,KADgC,EAEhCS,SAFgC,EAGhCC,KAHgC,EAI7B;AACH,QAAM;AAAEC,MAAAA;AAAF,cAAkBd,OAAO,CAACC,mBAAmB,CAACc,gBAApB,EAAD,EAAyC;AACtET,MAAAA,MAAM,EAAE,MAD8D;AAEtEH,MAAAA,KAFsE;AAGtEI,MAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,iCACDI,KADC;AAEJD,QAAAA,SAFI;AAGJF,QAAAA,MAAM,EAAE;AAHJ;AAHgE,KAAzC,CAA/B;;AASA,QAAII,KAAJ,EAAW;AACTE,MAAAA,OAAO,CAACF,KAAR,CAAcA,KAAd;AACD;AACF,GAjB8B;;AAAA,kBAAlBG,kBAAkB;AAAA;AAAA;AAAA,GAAxB","sourcesContent":["import { fetcher } from \"matsuri-hooks\";\nimport { m2mNotifications_v1 } from \"../endpoints/m2m-notifications.v1\";\nimport { Subscription } from \"./domain\";\n\nexport const requestUpdateNotificationStatusToRead = async (\n token: string,\n id: string\n) => {\n await fetcher(\n m2mNotifications_v1.updateNotificationStatus({\n id,\n }),\n {\n method: \"PUT\",\n token,\n body: JSON.stringify({ status: \"read\" }),\n }\n );\n};\n\nexport const requestSubscribe = async (\n token: string,\n serviceId: string,\n input: Pick<Subscription, \"notificationType\" | \"resourceSubscription\">\n) => {\n const { error } = await fetcher(m2mNotifications_v1.saveSubscription(), {\n method: \"POST\",\n token,\n body: JSON.stringify({\n ...input,\n serviceId,\n status: \"subscribed\",\n }),\n });\n if (error) {\n console.error(error);\n }\n};\n\nexport const requestUnSubscribe = async (\n token: string,\n serviceId: string,\n input: Pick<Subscription, \"notificationType\" | \"resourceSubscription\">\n) => {\n const { error } = await fetcher(m2mNotifications_v1.saveSubscription(), {\n method: \"POST\",\n token,\n body: JSON.stringify({\n ...input,\n serviceId,\n status: \"denied\",\n }),\n });\n if (error) {\n console.error(error);\n }\n};\n"],"file":"api.js"}
package/package.json CHANGED
@@ -1,30 +1,41 @@
1
1
  {
2
2
  "name": "m2m-components",
3
- "version": "0.1.1",
4
- "main": "index.js",
3
+ "version": "0.3.0",
4
+ "main": "cjs/index.js",
5
5
  "module": "index.js",
6
6
  "typings": "index.d.ts",
7
7
  "exports": {
8
8
  ".": {
9
- "default": "./index.js"
9
+ "default": "./index.js",
10
+ "require": "./cjs/index.js"
10
11
  },
11
12
  "./m2m-apps-menu": {
12
- "default": "./m2m-apps-menu.js"
13
+ "default": "./m2m-apps-menu.js",
14
+ "require": "./cjs/m2m-apps-menu.js"
13
15
  },
14
16
  "./m2m-user-menu": {
15
- "default": "./m2m-user-menu.js"
17
+ "default": "./m2m-user-menu.js",
18
+ "require": "./cjs/m2m-user-menu.js"
16
19
  },
17
20
  "./domains": {
18
- "default": "./domains.js"
21
+ "default": "./domains.js",
22
+ "require": "./cjs/domains.js"
19
23
  },
20
24
  "./storage/client": {
21
- "default": "./storage/client.js"
25
+ "default": "./storage/client.js",
26
+ "require": "./cjs/storage/client.js"
22
27
  },
23
28
  "./storage/hub": {
24
- "default": "./storage/hub.js"
29
+ "default": "./storage/hub.js",
30
+ "require": "./cjs/storage/hub.js"
31
+ },
32
+ "./storage/useM2mAuth": {
33
+ "default": "./storage/useM2mAuth.js",
34
+ "require": "./cjs/storage/useM2mAuth.js"
25
35
  },
26
36
  "./notification": {
27
- "default": "./notification/index.js"
37
+ "default": "./notification/index.js",
38
+ "require": "./cjs/notification/index.js"
28
39
  }
29
40
  },
30
41
  "files": [
@@ -36,7 +47,8 @@
36
47
  "/notification/",
37
48
  "/storage/",
38
49
  "/endpoints/",
39
- "/jsx.d.ts"
50
+ "/jsx.d.ts",
51
+ "/cjs/"
40
52
  ],
41
53
  "targets": {
42
54
  "module": false,
@@ -48,15 +60,17 @@
48
60
  "build-app:clients": "vite build website/clients/ --out-dir ../../build -c vite.config.clients.ts -m development",
49
61
  "build-app:hub": "vite build website/hub/ --out-dir ../../build",
50
62
  "build-app:hub:dev": "vite build website/hub/ --out-dir ../../build -m development",
51
- "clean": "rm -rf {m2m-apps-menu,m2m-user-menu,LitMenuBaseElement,domains,index}.{d.ts.map,d.ts,js.map,js} storage/ notification/ endpoints/",
63
+ "clean": "rm -rf {m2m-apps-menu,m2m-user-menu,LitMenuBaseElement,domains,index}.{d.ts.map,d.ts,js.map,js} storage/ notification/ endpoints/ cjs/",
52
64
  "build": "concurrently yarn:build:*",
53
- "build:esm": "NODE_ENV=production BABEL_ENV=esm babel src --extensions .ts -d ./ --source-maps",
54
- "build:types": "tsc -p tsconfig.json --emitDeclarationOnly --declaration --declarationDir ./",
65
+ "build:esm": "NODE_ENV=production BABEL_ENV=esm babel src --extensions .ts,.tsx -d ./ --source-maps",
66
+ "build:cjs": "NODE_ENV=production BABEL_ENV=cjs babel src --extensions .ts,.tsx -d ./cjs --source-maps",
67
+ "build:types": "tsc -p tsconfig.build.json --emitDeclarationOnly --declaration --declarationDir ./",
55
68
  "lint": "eslint .",
56
69
  "postlint": "prettier --check .",
57
70
  "format": "eslint . --fix",
58
71
  "postformat": "prettier --write .",
59
- "typecheck": "tsc -p . --noEmit"
72
+ "typecheck": "tsc -p . --noEmit",
73
+ "test": "jest"
60
74
  },
61
75
  "dependencies": {
62
76
  "lit": "^2.0.2",
@@ -70,10 +84,15 @@
70
84
  "@babel/plugin-proposal-class-properties": "^7.16.7",
71
85
  "@babel/plugin-proposal-decorators": "^7.16.5",
72
86
  "@babel/preset-env": "^7.16.5",
87
+ "@babel/preset-react": "^7.16.7",
73
88
  "@babel/preset-typescript": "^7.16.5",
74
89
  "@rollup/plugin-babel": "^5.3.0",
75
90
  "@rollup/plugin-node-resolve": "^13.1.3",
76
91
  "@rollup/plugin-typescript": "^8.3.0",
92
+ "@testing-library/jest-dom": "^5.16.4",
93
+ "@testing-library/react": "^12.1.2",
94
+ "@testing-library/react-hooks": "^8.0.0",
95
+ "@types/jest": "^27.4.1",
77
96
  "@types/node": "^17.0.5",
78
97
  "@typescript-eslint/eslint-plugin": "^5.9.1",
79
98
  "@typescript-eslint/parser": "^5.9.1",
@@ -81,8 +100,13 @@
81
100
  "endpoints-sdk-cli": "^2.2.0",
82
101
  "eslint": "^8.7.0",
83
102
  "eslint-config-prettier": "^8.3.0",
103
+ "eslint-plugin-react": "^7.29.4",
104
+ "eslint-plugin-react-hooks": "^4.3.0",
105
+ "jest": "^27.5.1",
84
106
  "prettier": "^2.5.1",
107
+ "react-dom": "^17.0.2",
85
108
  "rollup": "^2.67.1",
109
+ "ts-jest": "^27.1.4",
86
110
  "typescript": "^4.5.4",
87
111
  "vite": "^2.7.9"
88
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/storage/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,cAAM,gBAAiB,SAAQ,aAAa;CAAG;AAE/C,YAAY,EAAE,gBAAgB,EAAE,CAAC;AA8DjC,eAAO,MAAM,gBAAgB;;;;;CAG5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAwBvD,eAAO,MAAM,eAAe;;;iBAZO,MAAM;;CAiBxC,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/storage/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,cAAM,gBAAiB,SAAQ,aAAa;CAAG;AAE/C,YAAY,EAAE,gBAAgB,EAAE,CAAC;AA8DjC,eAAO,MAAM,gBAAgB;;;;;CAG5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAqCvD,eAAO,MAAM,eAAe;;;iBApBO,MAAM;;CAyBxC,CAAC"}
package/storage/client.js CHANGED
@@ -1,20 +1,25 @@
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
+
3
+ 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); }); }; }
4
+
1
5
  import { StorageClient } from "./lib/client";
2
6
 
3
7
  class M2mStorageClient extends StorageClient {}
4
8
 
5
- const context = {};
9
+ var context = {};
6
10
  /**
7
11
  * Get the connected storage client.
8
12
  * @param timeout
9
13
  * @default 5000
10
14
  */
11
15
 
12
- const getStorage = (timeout = 5000) => {
16
+ var getStorage = function getStorage() {
17
+ var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5000;
13
18
  return new Promise((resolve, reject) => {
14
- const rejectTimer = window.setTimeout(function () {
19
+ var rejectTimer = window.setTimeout(function () {
15
20
  reject(new Error("Timeout: M2mStorageClient could not connect. Please call m2mStorageClient.init() before using m2mStorageClient."));
16
21
  }, timeout);
17
- const storage = context.storage;
22
+ var storage = context.storage;
18
23
 
19
24
  if (storage) {
20
25
  window.clearTimeout(rejectTimer);
@@ -23,60 +28,93 @@ const getStorage = (timeout = 5000) => {
23
28
  });
24
29
  }
25
30
 
26
- const timer = window.setInterval(async () => {
27
- const storage = context.storage;
31
+ var timer = window.setInterval( /*#__PURE__*/_asyncToGenerator(function* () {
32
+ var storage = context.storage;
28
33
 
29
34
  if (storage) {
30
35
  window.clearTimeout(rejectTimer);
31
- await storage.onConnect();
36
+ yield storage.onConnect();
32
37
  window.clearInterval(timer);
33
38
  resolve(storage);
34
39
  }
35
- }, 200);
40
+ }), 200);
36
41
  });
37
42
  };
38
43
 
39
- const M2M_STORAGE_HUB_URL = "https://hub.m2msystems.cloud/";
40
- const M2M_STORAGE_HUB_URL_DEV = "https://m2m-components-storage-hub-dev.netlify.app/";
44
+ var M2M_STORAGE_HUB_URL = "https://hub.m2msystems.cloud/";
45
+ var M2M_STORAGE_HUB_URL_DEV = "https://m2m-components-storage-hub-dev.netlify.app/";
41
46
 
42
- const initStorageClient = options => {
47
+ var initStorageClient = options => {
43
48
  if (context.storage) {
44
49
  throw new Error("M2mStorageClient already initialized. Do not call m2mStorageClient.init multiple times.");
45
50
  }
46
51
 
47
- const storage = new M2mStorageClient(options?.env === "production" ? M2M_STORAGE_HUB_URL : M2M_STORAGE_HUB_URL_DEV);
52
+ var storage = new M2mStorageClient((options === null || options === void 0 ? void 0 : options.env) === "production" ? M2M_STORAGE_HUB_URL : M2M_STORAGE_HUB_URL_DEV);
48
53
  context.storage = storage;
49
54
  };
50
55
 
51
- export const m2mStorageClient = {
56
+ export var m2mStorageClient = {
52
57
  init: initStorageClient,
53
58
  getStorage: getStorage
54
59
  };
55
- export const M2M_AUTH_TOKEN_KEY = "M2M_APP_AUTH_TOKEN";
60
+ export var M2M_AUTH_TOKEN_KEY = "M2M_APP_AUTH_TOKEN";
56
61
 
57
- const getAuthTokenCache = () => {
62
+ var getAuthTokenCache = () => {
58
63
  return window.localStorage.getItem(M2M_AUTH_TOKEN_KEY);
59
64
  };
60
65
 
61
- const getAuthToken = async () => {
62
- const storage = await getStorage();
63
- const autuToken = await storage.get(M2M_AUTH_TOKEN_KEY);
64
- return autuToken || getAuthTokenCache();
65
- };
66
+ var getAuthToken = /*#__PURE__*/function () {
67
+ var _ref2 = _asyncToGenerator(function* () {
68
+ try {
69
+ var storage = yield getStorage();
70
+ var autuToken = yield storage.get(M2M_AUTH_TOKEN_KEY);
71
+ return autuToken || getAuthTokenCache();
72
+ } catch (error) {
73
+ console.warn(error);
74
+ return getAuthTokenCache();
75
+ }
76
+ });
66
77
 
67
- const setAuthToken = async token => {
68
- const storage = await getStorage();
69
- window.localStorage.setItem(M2M_AUTH_TOKEN_KEY, token);
70
- await storage.set(M2M_AUTH_TOKEN_KEY, token);
71
- };
78
+ return function getAuthToken() {
79
+ return _ref2.apply(this, arguments);
80
+ };
81
+ }();
72
82
 
73
- const clearAuthToken = async () => {
74
- const storage = await getStorage();
75
- window.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);
76
- await storage.del(M2M_AUTH_TOKEN_KEY);
77
- };
83
+ var setAuthToken = /*#__PURE__*/function () {
84
+ var _ref3 = _asyncToGenerator(function* (token) {
85
+ window.localStorage.setItem(M2M_AUTH_TOKEN_KEY, token);
86
+
87
+ try {
88
+ var storage = yield getStorage();
89
+ yield storage.set(M2M_AUTH_TOKEN_KEY, token);
90
+ } catch (error) {
91
+ console.warn(error);
92
+ }
93
+ });
94
+
95
+ return function setAuthToken(_x) {
96
+ return _ref3.apply(this, arguments);
97
+ };
98
+ }();
99
+
100
+ var clearAuthToken = /*#__PURE__*/function () {
101
+ var _ref4 = _asyncToGenerator(function* () {
102
+ window.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);
103
+
104
+ try {
105
+ var storage = yield getStorage();
106
+ yield storage.del(M2M_AUTH_TOKEN_KEY);
107
+ } catch (error) {
108
+ console.warn(error);
109
+ }
110
+ });
111
+
112
+ return function clearAuthToken() {
113
+ return _ref4.apply(this, arguments);
114
+ };
115
+ }();
78
116
 
79
- export const m2mAuthTokenApi = {
117
+ export var m2mAuthTokenApi = {
80
118
  get: getAuthToken,
81
119
  getCache: getAuthTokenCache,
82
120
  set: setAuthToken,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/storage/client.ts"],"names":["StorageClient","M2mStorageClient","context","getStorage","timeout","Promise","resolve","reject","rejectTimer","window","setTimeout","Error","storage","clearTimeout","onConnect","then","timer","setInterval","clearInterval","M2M_STORAGE_HUB_URL","M2M_STORAGE_HUB_URL_DEV","initStorageClient","options","env","m2mStorageClient","init","M2M_AUTH_TOKEN_KEY","getAuthTokenCache","localStorage","getItem","getAuthToken","autuToken","get","setAuthToken","token","setItem","set","clearAuthToken","removeItem","del","m2mAuthTokenApi","getCache","clear"],"mappings":"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","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 = (timeout = 5000) => {\n return 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 storage.onConnect().then(() => {\n resolve(storage);\n });\n }\n\n const timer = window.setInterval(async () => {\n const storage = context.storage;\n if (storage) {\n window.clearTimeout(rejectTimer);\n await storage.onConnect();\n window.clearInterval(timer);\n resolve(storage);\n }\n }, 200);\n });\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 const storage = await getStorage();\n const autuToken = (await storage.get(M2M_AUTH_TOKEN_KEY)) as string;\n return autuToken || getAuthTokenCache();\n};\n\nconst setAuthToken = async (token: string) => {\n const storage = await getStorage();\n window.localStorage.setItem(M2M_AUTH_TOKEN_KEY, token);\n await storage.set(M2M_AUTH_TOKEN_KEY, token);\n};\n\nconst clearAuthToken = async () => {\n const storage = await getStorage();\n window.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);\n await storage.del(M2M_AUTH_TOKEN_KEY);\n};\n\nexport const m2mAuthTokenApi = {\n get: getAuthToken,\n getCache: getAuthTokenCache,\n set: setAuthToken,\n clear: clearAuthToken,\n};\n"],"file":"client.js"}
1
+ {"version":3,"sources":["../src/storage/client.ts"],"names":["StorageClient","M2mStorageClient","context","getStorage","timeout","Promise","resolve","reject","rejectTimer","window","setTimeout","Error","storage","clearTimeout","onConnect","then","timer","setInterval","clearInterval","M2M_STORAGE_HUB_URL","M2M_STORAGE_HUB_URL_DEV","initStorageClient","options","env","m2mStorageClient","init","M2M_AUTH_TOKEN_KEY","getAuthTokenCache","localStorage","getItem","getAuthToken","autuToken","get","error","console","warn","setAuthToken","token","setItem","set","clearAuthToken","removeItem","del","m2mAuthTokenApi","getCache","clear"],"mappings":"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","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 = (timeout = 5000) => {\n return 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 storage.onConnect().then(() => {\n resolve(storage);\n });\n }\n\n const timer = window.setInterval(async () => {\n const storage = context.storage;\n if (storage) {\n window.clearTimeout(rejectTimer);\n await storage.onConnect();\n window.clearInterval(timer);\n resolve(storage);\n }\n }, 200);\n });\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"],"file":"client.js"}
package/storage/hub.js CHANGED
@@ -3,11 +3,11 @@ import { init } from "./lib/hub";
3
3
  /**
4
4
  * Init the hub.
5
5
  */
6
- const initM2mStorageHub = permissions => {
6
+ var initM2mStorageHub = permissions => {
7
7
  init(permissions);
8
8
  };
9
9
 
10
- export const m2mStorageHub = {
10
+ export var m2mStorageHub = {
11
11
  init: initM2mStorageHub
12
12
  };
13
13
  //# sourceMappingURL=hub.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/storage/hub.ts"],"names":["init","initM2mStorageHub","permissions","m2mStorageHub"],"mappings":"AAAA,SAASA,IAAT,QAAqB,WAArB;;AAMA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAIC,WAAD,IAAyC;AACjEF,EAAAA,IAAI,CAACE,WAAD,CAAJ;AACD,CAFD;;AAIA,OAAO,MAAMC,aAAa,GAAG;AAC3BH,EAAAA,IAAI,EAAEC;AADqB,CAAtB","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"],"file":"hub.js"}
1
+ {"version":3,"sources":["../src/storage/hub.ts"],"names":["init","initM2mStorageHub","permissions","m2mStorageHub"],"mappings":"AAAA,SAASA,IAAT,QAAqB,WAArB;;AAMA;AACA;AACA;AACA,IAAMC,iBAAiB,GAAIC,WAAD,IAAyC;AACjEF,EAAAA,IAAI,CAACE,WAAD,CAAJ;AACD,CAFD;;AAIA,OAAO,IAAMC,aAAa,GAAG;AAC3BH,EAAAA,IAAI,EAAEC;AADqB,CAAtB","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"],"file":"hub.js"}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * この実装はcross-storageほぼそのままです。
3
3
  */
4
- const generateUUID = () => {
4
+ var generateUUID = () => {
5
5
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
6
- const r = Math.random() * 16 | 0,
7
- v = c == "x" ? r : r & 0x3 | 0x8;
6
+ var r = Math.random() * 16 | 0,
7
+ v = c == "x" ? r : r & 0x3 | 0x8;
8
8
  return v.toString(16);
9
9
  });
10
10
  };
@@ -30,7 +30,7 @@ export class StorageClient {
30
30
  this.count = 0;
31
31
  this.timeout = opts.timeout || 5000;
32
32
  window.addEventListener("message", this.listener.bind(this), false);
33
- const frame = this.createFrame(url);
33
+ var frame = this.createFrame(url);
34
34
  this.hub = frame.contentWindow;
35
35
  }
36
36
 
@@ -46,7 +46,7 @@ export class StorageClient {
46
46
  }
47
47
 
48
48
  return new Promise((resolve, reject) => {
49
- const timeout = setTimeout(function () {
49
+ var timeout = setTimeout(function () {
50
50
  reject(new Error("StorageClient could not connect."));
51
51
  }, this.timeout);
52
52
  this.requests.connect.push(err => {
@@ -64,13 +64,21 @@ export class StorageClient {
64
64
  });
65
65
  }
66
66
 
67
- get(...keys) {
67
+ get() {
68
+ for (var _len = arguments.length, keys = new Array(_len), _key = 0; _key < _len; _key++) {
69
+ keys[_key] = arguments[_key];
70
+ }
71
+
68
72
  return this.request("get", {
69
73
  keys
70
74
  });
71
75
  }
72
76
 
73
- del(...keys) {
77
+ del() {
78
+ for (var _len2 = arguments.length, keys = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
79
+ keys[_key2] = arguments[_key2];
80
+ }
81
+
74
82
  return this.request("del", {
75
83
  keys
76
84
  });
@@ -85,7 +93,7 @@ export class StorageClient {
85
93
  }
86
94
 
87
95
  close() {
88
- const frame = document.getElementById(this.frameId);
96
+ var frame = document.getElementById(this.frameId);
89
97
 
90
98
  if (frame && frame.parentNode) {
91
99
  frame.parentNode.removeChild(frame);
@@ -97,13 +105,13 @@ export class StorageClient {
97
105
  }
98
106
 
99
107
  listener(message) {
100
- let i, error, response;
108
+ var i, error, response;
101
109
 
102
110
  if (this.closed || !message.data || typeof message.data !== "string") {
103
111
  return;
104
112
  }
105
113
 
106
- const origin = message.origin;
114
+ var origin = message.origin;
107
115
  if (origin !== this.origin) return;
108
116
 
109
117
  if (message.data === "cross-storage:unavailable") {
@@ -145,7 +153,7 @@ export class StorageClient {
145
153
  }
146
154
 
147
155
  createFrame(url) {
148
- const frame = window.document.createElement("iframe");
156
+ var frame = window.document.createElement("iframe");
149
157
  frame.id = this.frameId;
150
158
  frame.style.display = "none";
151
159
  frame.style.position = "absolute";
@@ -163,13 +171,13 @@ export class StorageClient {
163
171
  }
164
172
 
165
173
  this.count++;
166
- const req = {
174
+ var req = {
167
175
  id: this.id + ":" + this.count,
168
176
  method: "cross-storage:" + method,
169
177
  params: params
170
178
  };
171
179
  return new Promise((resolve, reject) => {
172
- const timeout = window.setTimeout(() => {
180
+ var timeout = window.setTimeout(() => {
173
181
  if (!this.requests[req.id]) return;
174
182
  delete this.requests[req.id];
175
183
  reject(new Error("Timeout: StorageClient could not perform " + req.method));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/storage/lib/client.ts"],"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","keys","del","clear","getKeys","close","document","getElementById","parentNode","removeChild","removeEventListener","message","i","error","response","data","length","indexOf","JSON","parse","e","result","createElement","style","display","position","top","left","body","appendChild","src","method","params","req","postMessage","stringify"],"mappings":"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","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"],"file":"client.js"}
1
+ {"version":3,"sources":["../../src/storage/lib/client.ts"],"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","keys","del","clear","getKeys","close","document","getElementById","parentNode","removeChild","removeEventListener","message","i","error","response","data","length","indexOf","JSON","parse","e","result","createElement","style","display","position","top","left","body","appendChild","src","method","params","req","postMessage","stringify"],"mappings":"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","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"],"file":"client.js"}
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * この実装はcross-storageほぼそのままです。
3
3
  */
4
- const context = {};
4
+ var context = {};
5
5
  /**
6
6
  * Do not use this directly. This specifications are subject to significant change.
7
7
  * @internal
8
8
  */
9
9
 
10
- export const init = permissions => {
10
+ export var init = permissions => {
11
11
  context.permissions = permissions;
12
12
  window.addEventListener("message", listener, false);
13
13
  window.parent.postMessage("cross-storage:ready", "*");
14
14
  };
15
15
 
16
- const permitted = (origin, method) => {
17
- const available = ["get", "set", "del", "clear", "getKeys"];
16
+ var permitted = (origin, method) => {
17
+ var available = ["get", "set", "del", "clear", "getKeys"];
18
18
 
19
19
  if (!available.includes(method)) {
20
20
  return false;
@@ -24,9 +24,9 @@ const permitted = (origin, method) => {
24
24
  return false;
25
25
  }
26
26
 
27
- for (let i = 0; i < context.permissions.length; i++) {
28
- const entry = context.permissions[i];
29
- const match = entry.origin.test(origin);
27
+ for (var i = 0; i < context.permissions.length; i++) {
28
+ var entry = context.permissions[i];
29
+ var match = entry.origin.test(origin);
30
30
 
31
31
  if (match && entry.allow.includes(method)) {
32
32
  return true;
@@ -36,13 +36,13 @@ const permitted = (origin, method) => {
36
36
  return false;
37
37
  };
38
38
 
39
- const methods = {
39
+ var methods = {
40
40
  get: params => {
41
- const storage = window.localStorage;
42
- const result = [];
41
+ var storage = window.localStorage;
42
+ var result = [];
43
43
 
44
- for (let i = 0; i < params.keys.length; i++) {
45
- const value = storage.getItem(params.keys[i]) || null;
44
+ for (var i = 0; i < params.keys.length; i++) {
45
+ var value = storage.getItem(params.keys[i]) || null;
46
46
  result.push(value);
47
47
  } // Todo: このパターン好きじゃない
48
48
 
@@ -59,10 +59,10 @@ const methods = {
59
59
  }
60
60
  },
61
61
  getKeys: () => {
62
- const keys = [];
63
- const length = window.localStorage.length;
62
+ var keys = [];
63
+ var length = window.localStorage.length;
64
64
 
65
- for (let i = 0; i < length; i++) {
65
+ for (var i = 0; i < length; i++) {
66
66
  keys.push(window.localStorage.key(i));
67
67
  }
68
68
 
@@ -73,9 +73,9 @@ const methods = {
73
73
  }
74
74
  };
75
75
 
76
- const listener = message => {
76
+ var listener = message => {
77
77
  // postMessage returns the string "null" as the origin for "file://"
78
- const origin = message.origin === "null" ? "file://" : message.origin; // Handle polling for a ready message
78
+ var origin = message.origin === "null" ? "file://" : message.origin; // Handle polling for a ready message
79
79
 
80
80
  if (message.data === "cross-storage:poll") {
81
81
  return window.parent.postMessage("cross-storage:ready", message.origin);
@@ -83,15 +83,15 @@ const listener = message => {
83
83
 
84
84
 
85
85
  if (message.data === "cross-storage:ready") return;
86
- const request = JSON.parse(message.data); // Check whether request.method is a string
86
+ var request = JSON.parse(message.data); // Check whether request.method is a string
87
87
 
88
88
  if (!request || typeof request.method !== "string") {
89
89
  return;
90
90
  }
91
91
 
92
- const method = request.method.split("cross-storage:")[1];
93
- let error = "";
94
- let result = undefined;
92
+ var method = request.method.split("cross-storage:")[1];
93
+ var error = "";
94
+ var result = undefined;
95
95
 
96
96
  if (!method) {
97
97
  return;
@@ -105,13 +105,13 @@ const listener = message => {
105
105
  }
106
106
  }
107
107
 
108
- const response = JSON.stringify({
108
+ var response = JSON.stringify({
109
109
  id: request.id,
110
110
  error: error,
111
111
  result: result
112
112
  }); // postMessage requires that the target origin be set to "*" for "file://"
113
113
 
114
- const targetOrigin = origin === "file://" ? "*" : origin;
114
+ var targetOrigin = origin === "file://" ? "*" : origin;
115
115
  window.parent.postMessage(response, targetOrigin);
116
116
  };
117
117
  //# sourceMappingURL=hub.js.map