m2m-components 4.0.1 → 4.0.3

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 (101) hide show
  1. package/MenuBaseElement.d.mts +1 -1
  2. package/MenuBaseElement.d.ts +1 -1
  3. package/MenuBaseElement.mjs +2 -2
  4. package/{chunk-ISOF65DB.mjs → chunk-34OP4R54.mjs} +2 -2
  5. package/chunk-3X5MOATG.mjs +9 -0
  6. package/chunk-3X5MOATG.mjs.map +1 -0
  7. package/{chunk-ULIEV5F6.mjs → chunk-4WR4CODW.mjs} +3 -3
  8. package/{chunk-2X6HV5XJ.mjs → chunk-AYYVMRUA.mjs} +1 -1
  9. package/chunk-AYYVMRUA.mjs.map +1 -0
  10. package/{chunk-JUBOAWNR.mjs → chunk-BUSDHSUG.mjs} +1 -1
  11. package/{chunk-ZKTYMWRB.mjs → chunk-BVARXTLS.mjs} +616 -182
  12. package/chunk-BVARXTLS.mjs.map +1 -0
  13. package/{chunk-GMPQV5TL.mjs → chunk-FFSKHXBI.mjs} +2 -2
  14. package/{chunk-L74NH4WS.mjs → chunk-KEFPOQJ5.mjs} +2 -2
  15. package/{chunk-5UD6DCZW.mjs → chunk-MHR3UXOP.mjs} +2 -2
  16. package/{chunk-DYNNGZMQ.mjs → chunk-OB2SVLHW.mjs} +2 -2
  17. package/{chunk-NO6ZGO5P.mjs → chunk-P4FPJRVQ.mjs} +2 -2
  18. package/{chunk-WE7B4PI4.mjs → chunk-X7M2BR7Y.mjs} +3 -3
  19. package/{chunk-5V2GM6RK.mjs → chunk-YSF5KXHA.mjs} +2 -2
  20. package/domains.mjs +1 -1
  21. package/endpoints/m2m-notifications.d.mts +1 -1
  22. package/endpoints/m2m-notifications.d.ts +1 -1
  23. package/endpoints/m2m-notifications.mjs +2 -2
  24. package/endpoints/m2m-notifications.v1.d.mts +1 -1
  25. package/endpoints/m2m-notifications.v1.d.ts +1 -1
  26. package/endpoints/m2m-notifications.v1.mjs +2 -2
  27. package/endpoints/m2m-users.d.mts +1 -1
  28. package/endpoints/m2m-users.d.ts +1 -1
  29. package/endpoints/m2m-users.mjs +2 -2
  30. package/endpoints/m2m-users.v1.d.mts +1 -1
  31. package/endpoints/m2m-users.v1.d.ts +1 -1
  32. package/endpoints/m2m-users.v1.mjs +2 -2
  33. package/endpoints/matsuri-forms.d.mts +1 -1
  34. package/endpoints/matsuri-forms.d.ts +1 -1
  35. package/endpoints/matsuri-forms.mjs +2 -2
  36. package/endpoints/matsuri-forms.v1.d.mts +1 -1
  37. package/endpoints/matsuri-forms.v1.d.ts +1 -1
  38. package/endpoints/matsuri-forms.v1.mjs +2 -2
  39. package/feedback/MultipleTextQuestion.mjs +1 -1
  40. package/feedback/SelectQuestion.mjs +1 -1
  41. package/feedback/getRandomId.mjs +1 -1
  42. package/feedback/index.js +614 -180
  43. package/feedback/index.js.map +1 -1
  44. package/feedback/index.mjs +2 -2
  45. package/global.d.d.mts +0 -1
  46. package/global.d.d.ts +0 -1
  47. package/global.d.js.map +1 -1
  48. package/index.mjs +10 -10
  49. package/initM2mComponents.mjs +1 -1
  50. package/m2m-apps-menu.d.mts +1 -1
  51. package/m2m-apps-menu.d.ts +1 -1
  52. package/m2m-apps-menu.mjs +3 -3
  53. package/{m2m-notifications.v1-0186835d.d.ts → m2m-notifications.v1-OgnhtmrU.d.mts} +1 -10
  54. package/m2m-notifications.v1-OgnhtmrU.d.ts +64 -0
  55. package/m2m-releases-link.js +1 -1
  56. package/m2m-releases-link.js.map +1 -1
  57. package/m2m-releases-link.mjs +2 -2
  58. package/m2m-user-menu.d.mts +1 -1
  59. package/m2m-user-menu.d.ts +1 -1
  60. package/m2m-user-menu.mjs +3 -3
  61. package/{m2m-users.v1-c78c72cf.d.ts → m2m-users.v1-d2ArUJsi.d.mts} +1 -33
  62. package/m2m-users.v1-d2ArUJsi.d.ts +257 -0
  63. package/{matsuri-forms.v1-0ffee104.d.ts → matsuri-forms.v1-lw-XWLjX.d.mts} +1 -23
  64. package/matsuri-forms.v1-lw-XWLjX.d.ts +203 -0
  65. package/notification/NotificationProvider.mjs +3 -3
  66. package/notification/ServiceIdProvider.mjs +1 -1
  67. package/notification/api.mjs +3 -3
  68. package/notification/domain.d.mts +1 -1
  69. package/notification/domain.d.ts +1 -1
  70. package/notification/index.mjs +4 -4
  71. package/package.json +11 -11
  72. package/releases/t.d.mts +1 -1
  73. package/releases/t.d.ts +1 -1
  74. package/releases/t.js +1 -1
  75. package/releases/t.js.map +1 -1
  76. package/releases/t.mjs +2 -2
  77. package/storage/client.mjs +1 -1
  78. package/storage/hub.d.mts +1 -1
  79. package/storage/hub.d.ts +1 -1
  80. package/storage/hub.js.map +1 -1
  81. package/storage/hub.mjs +3 -3
  82. package/storage/lib/client.mjs +1 -1
  83. package/storage/lib/hub.d.mts +1 -1
  84. package/storage/lib/hub.d.ts +1 -1
  85. package/storage/lib/hub.js.map +1 -1
  86. package/storage/lib/hub.mjs +2 -2
  87. package/storage/useM2mAuth.mjs +2 -2
  88. package/chunk-2X6HV5XJ.mjs.map +0 -1
  89. package/chunk-H66U7VZB.mjs +0 -9
  90. package/chunk-H66U7VZB.mjs.map +0 -1
  91. package/chunk-ZKTYMWRB.mjs.map +0 -1
  92. /package/{chunk-ISOF65DB.mjs.map → chunk-34OP4R54.mjs.map} +0 -0
  93. /package/{chunk-ULIEV5F6.mjs.map → chunk-4WR4CODW.mjs.map} +0 -0
  94. /package/{chunk-JUBOAWNR.mjs.map → chunk-BUSDHSUG.mjs.map} +0 -0
  95. /package/{chunk-GMPQV5TL.mjs.map → chunk-FFSKHXBI.mjs.map} +0 -0
  96. /package/{chunk-L74NH4WS.mjs.map → chunk-KEFPOQJ5.mjs.map} +0 -0
  97. /package/{chunk-5UD6DCZW.mjs.map → chunk-MHR3UXOP.mjs.map} +0 -0
  98. /package/{chunk-DYNNGZMQ.mjs.map → chunk-OB2SVLHW.mjs.map} +0 -0
  99. /package/{chunk-NO6ZGO5P.mjs.map → chunk-P4FPJRVQ.mjs.map} +0 -0
  100. /package/{chunk-WE7B4PI4.mjs.map → chunk-X7M2BR7Y.mjs.map} +0 -0
  101. /package/{chunk-5V2GM6RK.mjs.map → chunk-YSF5KXHA.mjs.map} +0 -0
@@ -0,0 +1,203 @@
1
+ /**
2
+ * A function that returns the URL part common to the endpoints.
3
+ */
4
+ declare const root: () => string;
5
+ /**
6
+ * health check
7
+ *
8
+ */
9
+ declare const healthCheck: () => string;
10
+ /**
11
+ * DraftRevisionのフォーム情報を取得する
12
+ *
13
+ */
14
+ declare const formGet: ({ id }: {
15
+ id: string;
16
+ }) => string;
17
+ /**
18
+ * 特定のRevisionのフォーム情報を取得する
19
+ *
20
+ */
21
+ declare const formGetByRevision: ({ id, revision, }: {
22
+ id: string;
23
+ revision: string;
24
+ }) => string;
25
+ /**
26
+ * Formを新規作成する
27
+ *
28
+ */
29
+ declare const formCreate: () => string;
30
+ /**
31
+ * ユーザーに紐づいたフォームを全件取得する
32
+ *
33
+ */
34
+ declare const formFindAll: () => string;
35
+ /**
36
+ * Formを更新する
37
+ *
38
+ */
39
+ declare const formUpdate: ({ id }: {
40
+ id: string;
41
+ }) => string;
42
+ /**
43
+ * Formのシート機能を有効化する
44
+ *
45
+ */
46
+ declare const formActivateSheetFeature: ({ id }: {
47
+ id: string;
48
+ }) => string;
49
+ /**
50
+ * Formの公開ステータスをPrivateに変更する
51
+ *
52
+ */
53
+ declare const formPublishStatusChangeToPrivate: ({ id }: {
54
+ id: string;
55
+ }) => string;
56
+ /**
57
+ * FormのContentを更新する
58
+ *
59
+ */
60
+ declare const formsCreateNewRevision: ({ id }: {
61
+ id: string;
62
+ }) => string;
63
+ /**
64
+ * Form内容を確定し公開する
65
+ *
66
+ */
67
+ declare const formPublish: ({ id }: {
68
+ id: string;
69
+ }) => string;
70
+ /**
71
+ * 質問を作成する
72
+ *
73
+ */
74
+ declare const formQuestionCreate: ({ formId }: {
75
+ formId: string;
76
+ }) => string;
77
+ /**
78
+ * 質問を挿入する
79
+ *
80
+ */
81
+ declare const formQuestionInsert: ({ formId }: {
82
+ formId: string;
83
+ }) => string;
84
+ /**
85
+ * 質問を削除する
86
+ *
87
+ */
88
+ declare const formQuestionDelete: ({ formId }: {
89
+ formId: string;
90
+ }) => string;
91
+ /**
92
+ * 質問を更新する
93
+ *
94
+ */
95
+ declare const formQuestionUpdate: ({ formId, questionId, }: {
96
+ formId: string;
97
+ questionId: string;
98
+ }) => string;
99
+ /**
100
+ * 回答を取得
101
+ *
102
+ */
103
+ declare const submissionGet: ({ formId }: {
104
+ formId: string;
105
+ }) => string;
106
+ /**
107
+ * 回答を作成
108
+ *
109
+ */
110
+ declare const submissionCreate: () => string;
111
+ /**
112
+ * ゲストがフォームの情報を取得する
113
+ *
114
+ */
115
+ declare const guestFormGet: ({ formId }: {
116
+ formId: string;
117
+ }) => string;
118
+ /**
119
+ * Googleのトークンでサインインする
120
+ *
121
+ */
122
+ declare const signInWithGoogle: () => string;
123
+ /**
124
+ * Googleのトークンでサインアップする
125
+ *
126
+ */
127
+ declare const signUpWithGoogle: () => string;
128
+ declare const matsuriForms_v1: {
129
+ healthCheck: () => string;
130
+ formGet: ({ id }: {
131
+ id: string;
132
+ }) => string;
133
+ formGetByRevision: ({ id, revision, }: {
134
+ id: string;
135
+ revision: string;
136
+ }) => string;
137
+ formCreate: () => string;
138
+ formFindAll: () => string;
139
+ formUpdate: ({ id }: {
140
+ id: string;
141
+ }) => string;
142
+ formActivateSheetFeature: ({ id }: {
143
+ id: string;
144
+ }) => string;
145
+ formPublishStatusChangeToPrivate: ({ id }: {
146
+ id: string;
147
+ }) => string;
148
+ formsCreateNewRevision: ({ id }: {
149
+ id: string;
150
+ }) => string;
151
+ formPublish: ({ id }: {
152
+ id: string;
153
+ }) => string;
154
+ formQuestionCreate: ({ formId }: {
155
+ formId: string;
156
+ }) => string;
157
+ formQuestionInsert: ({ formId }: {
158
+ formId: string;
159
+ }) => string;
160
+ formQuestionDelete: ({ formId }: {
161
+ formId: string;
162
+ }) => string;
163
+ formQuestionUpdate: ({ formId, questionId, }: {
164
+ formId: string;
165
+ questionId: string;
166
+ }) => string;
167
+ submissionGet: ({ formId }: {
168
+ formId: string;
169
+ }) => string;
170
+ submissionCreate: () => string;
171
+ guestFormGet: ({ formId }: {
172
+ formId: string;
173
+ }) => string;
174
+ signInWithGoogle: () => string;
175
+ signUpWithGoogle: () => string;
176
+ };
177
+
178
+ declare const v1_formActivateSheetFeature: typeof formActivateSheetFeature;
179
+ declare const v1_formCreate: typeof formCreate;
180
+ declare const v1_formFindAll: typeof formFindAll;
181
+ declare const v1_formGet: typeof formGet;
182
+ declare const v1_formGetByRevision: typeof formGetByRevision;
183
+ declare const v1_formPublish: typeof formPublish;
184
+ declare const v1_formPublishStatusChangeToPrivate: typeof formPublishStatusChangeToPrivate;
185
+ declare const v1_formQuestionCreate: typeof formQuestionCreate;
186
+ declare const v1_formQuestionDelete: typeof formQuestionDelete;
187
+ declare const v1_formQuestionInsert: typeof formQuestionInsert;
188
+ declare const v1_formQuestionUpdate: typeof formQuestionUpdate;
189
+ declare const v1_formUpdate: typeof formUpdate;
190
+ declare const v1_formsCreateNewRevision: typeof formsCreateNewRevision;
191
+ declare const v1_guestFormGet: typeof guestFormGet;
192
+ declare const v1_healthCheck: typeof healthCheck;
193
+ declare const v1_matsuriForms_v1: typeof matsuriForms_v1;
194
+ declare const v1_root: typeof root;
195
+ declare const v1_signInWithGoogle: typeof signInWithGoogle;
196
+ declare const v1_signUpWithGoogle: typeof signUpWithGoogle;
197
+ declare const v1_submissionCreate: typeof submissionCreate;
198
+ declare const v1_submissionGet: typeof submissionGet;
199
+ declare namespace v1 {
200
+ export { v1_formActivateSheetFeature as formActivateSheetFeature, v1_formCreate as formCreate, v1_formFindAll as formFindAll, v1_formGet as formGet, v1_formGetByRevision as formGetByRevision, v1_formPublish as formPublish, v1_formPublishStatusChangeToPrivate as formPublishStatusChangeToPrivate, v1_formQuestionCreate as formQuestionCreate, v1_formQuestionDelete as formQuestionDelete, v1_formQuestionInsert as formQuestionInsert, v1_formQuestionUpdate as formQuestionUpdate, v1_formUpdate as formUpdate, v1_formsCreateNewRevision as formsCreateNewRevision, v1_guestFormGet as guestFormGet, v1_healthCheck as healthCheck, v1_matsuriForms_v1 as matsuriForms_v1, v1_root as root, v1_signInWithGoogle as signInWithGoogle, v1_signUpWithGoogle as signUpWithGoogle, v1_submissionCreate as submissionCreate, v1_submissionGet as submissionGet };
201
+ }
202
+
203
+ export { formGetByRevision as a, formCreate as b, formFindAll as c, formUpdate as d, formActivateSheetFeature as e, formGet as f, formPublishStatusChangeToPrivate as g, healthCheck as h, formsCreateNewRevision as i, formPublish as j, formQuestionCreate as k, formQuestionInsert as l, formQuestionDelete as m, formQuestionUpdate as n, submissionCreate as o, guestFormGet as p, signInWithGoogle as q, root as r, submissionGet as s, signUpWithGoogle as t, matsuriForms_v1 as u, v1 as v };
@@ -3,10 +3,10 @@ import {
3
3
  NotificationsProvider,
4
4
  useNotificationPermission,
5
5
  useNotifications
6
- } from "../chunk-L74NH4WS.mjs";
6
+ } from "../chunk-KEFPOQJ5.mjs";
7
7
  import "../chunk-UXYQOQLC.mjs";
8
- import "../chunk-ISOF65DB.mjs";
9
- import "../chunk-JUBOAWNR.mjs";
8
+ import "../chunk-34OP4R54.mjs";
9
+ import "../chunk-BUSDHSUG.mjs";
10
10
  export {
11
11
  NotificationsProvider,
12
12
  useNotificationPermission,
@@ -3,7 +3,7 @@ import {
3
3
  ServiceIdProvider,
4
4
  useServiceId
5
5
  } from "../chunk-UXYQOQLC.mjs";
6
- import "../chunk-JUBOAWNR.mjs";
6
+ import "../chunk-BUSDHSUG.mjs";
7
7
  export {
8
8
  ServiceIdProvider,
9
9
  useServiceId
@@ -3,9 +3,9 @@ import {
3
3
  requestSubscribe,
4
4
  requestUnSubscribe,
5
5
  requestUpdateNotificationStatusToRead
6
- } from "../chunk-5V2GM6RK.mjs";
7
- import "../chunk-ISOF65DB.mjs";
8
- import "../chunk-JUBOAWNR.mjs";
6
+ } from "../chunk-YSF5KXHA.mjs";
7
+ import "../chunk-34OP4R54.mjs";
8
+ import "../chunk-BUSDHSUG.mjs";
9
9
  export {
10
10
  requestSubscribe,
11
11
  requestUnSubscribe,
@@ -21,4 +21,4 @@ interface Subscription {
21
21
  status: SubscriptionStatus;
22
22
  }
23
23
 
24
- export { Notification, ResourceSubscription, Subscription, SubscriptionStatus };
24
+ export type { Notification, ResourceSubscription, Subscription, SubscriptionStatus };
@@ -21,4 +21,4 @@ interface Subscription {
21
21
  status: SubscriptionStatus;
22
22
  }
23
23
 
24
- export { Notification, ResourceSubscription, Subscription, SubscriptionStatus };
24
+ export type { Notification, ResourceSubscription, Subscription, SubscriptionStatus };
@@ -4,7 +4,7 @@ import {
4
4
  NotificationsProvider,
5
5
  useNotificationPermission,
6
6
  useNotifications
7
- } from "../chunk-L74NH4WS.mjs";
7
+ } from "../chunk-KEFPOQJ5.mjs";
8
8
  import {
9
9
  ServiceIdProvider,
10
10
  useServiceId
@@ -13,10 +13,10 @@ import {
13
13
  requestSubscribe,
14
14
  requestUnSubscribe,
15
15
  requestUpdateNotificationStatusToRead
16
- } from "../chunk-5V2GM6RK.mjs";
16
+ } from "../chunk-YSF5KXHA.mjs";
17
17
  import "../chunk-YUHXVW6K.mjs";
18
- import "../chunk-ISOF65DB.mjs";
19
- import "../chunk-JUBOAWNR.mjs";
18
+ import "../chunk-34OP4R54.mjs";
19
+ import "../chunk-BUSDHSUG.mjs";
20
20
  export {
21
21
  NotificationsProvider,
22
22
  ServiceIdProvider,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "m2m-components",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "main": "index.js",
5
5
  "module": "index.mjs",
6
6
  "typings": "index.d.ts",
@@ -23,25 +23,25 @@
23
23
  "predeploy": "cp package.json README.md jsx.d.ts dist"
24
24
  },
25
25
  "dependencies": {
26
- "lit": "3.1.0",
26
+ "lit": "3.1.2",
27
27
  "matsuri-forms-sdk": "0.1.0"
28
28
  },
29
29
  "peerDependencies": {
30
- "matsuri-hooks": "^0.1.0 || ^2.0.0",
30
+ "matsuri-hooks": "^0.1.0 || ^2.0.0 || ^3.0.0",
31
31
  "matsuri-ui": "^13.8.0 || ^15.0.0",
32
32
  "react": "^18.2.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@datadog/browser-logs": "5.3.0",
36
- "@emotion/react": "11.11.1",
35
+ "@datadog/browser-logs": "5.8.0",
36
+ "@emotion/react": "11.11.3",
37
37
  "@emotion/styled": "11.11.0",
38
- "@mui/icons-material": "5.14.18",
39
- "@mui/material": "5.14.18",
40
- "endpoints-sdk-cli": "2.7.0",
41
- "matsuri-hooks": "2.1.0",
42
- "matsuri-ui": "15.1.0",
38
+ "@mui/icons-material": "5.15.7",
39
+ "@mui/material": "5.15.7",
40
+ "endpoints-sdk-cli": "2.8.0",
41
+ "matsuri-hooks": "3.0.0",
42
+ "matsuri-ui": "15.5.0",
43
43
  "react": "18.2.0",
44
44
  "react-dom": "18.2.0",
45
- "tsup": "7.2.0"
45
+ "tsup": "8.0.1"
46
46
  }
47
47
  }
package/releases/t.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- declare const t = "01HE43KV6SW3JX4EA86JWX5NMW";
1
+ declare const t = "01HNH05WSZV46175VERV6VVBVD";
2
2
 
3
3
  export { t };
package/releases/t.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare const t = "01HE43KV6SW3JX4EA86JWX5NMW";
1
+ declare const t = "01HNH05WSZV46175VERV6VVBVD";
2
2
 
3
3
  export { t };
package/releases/t.js CHANGED
@@ -24,7 +24,7 @@ __export(t_exports, {
24
24
  t: () => t
25
25
  });
26
26
  module.exports = __toCommonJS(t_exports);
27
- var t = "01HE43KV6SW3JX4EA86JWX5NMW";
27
+ var t = "01HNH05WSZV46175VERV6VVBVD";
28
28
  // Annotate the CommonJS export names for ESM import in node:
29
29
  0 && (module.exports = {
30
30
  t
package/releases/t.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/releases/t.ts"],"sourcesContent":["export const t = \"01HE43KV6SW3JX4EA86JWX5NMW\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,IAAI;","names":[]}
1
+ {"version":3,"sources":["../../src/releases/t.ts"],"sourcesContent":["export const t = \"01HNH05WSZV46175VERV6VVBVD\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,IAAI;","names":[]}
package/releases/t.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use client'
2
2
  import {
3
3
  t
4
- } from "../chunk-H66U7VZB.mjs";
5
- import "../chunk-JUBOAWNR.mjs";
4
+ } from "../chunk-3X5MOATG.mjs";
5
+ import "../chunk-BUSDHSUG.mjs";
6
6
  export {
7
7
  t
8
8
  };
@@ -5,7 +5,7 @@ import {
5
5
  m2mStorageClient
6
6
  } from "../chunk-Y36VD6Z6.mjs";
7
7
  import "../chunk-LUTUMV2M.mjs";
8
- import "../chunk-JUBOAWNR.mjs";
8
+ import "../chunk-BUSDHSUG.mjs";
9
9
  export {
10
10
  M2M_AUTH_TOKEN_KEY,
11
11
  m2mAuthTokenApi,
package/storage/hub.d.mts CHANGED
@@ -6,4 +6,4 @@ declare const m2mStorageHub: {
6
6
  init: (permissions: M2mStoragePermission[]) => void;
7
7
  };
8
8
 
9
- export { M2mStoragePermission, m2mStorageHub };
9
+ export { type M2mStoragePermission, m2mStorageHub };
package/storage/hub.d.ts CHANGED
@@ -6,4 +6,4 @@ declare const m2mStorageHub: {
6
6
  init: (permissions: M2mStoragePermission[]) => void;
7
7
  };
8
8
 
9
- export { M2mStoragePermission, m2mStorageHub };
9
+ export { type M2mStoragePermission, m2mStorageHub };
@@ -1 +1 @@
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":[]}
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 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":[]}
package/storage/hub.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  'use client'
2
2
  import {
3
3
  m2mStorageHub
4
- } from "../chunk-NO6ZGO5P.mjs";
5
- import "../chunk-2X6HV5XJ.mjs";
6
- import "../chunk-JUBOAWNR.mjs";
4
+ } from "../chunk-P4FPJRVQ.mjs";
5
+ import "../chunk-AYYVMRUA.mjs";
6
+ import "../chunk-BUSDHSUG.mjs";
7
7
  export {
8
8
  m2mStorageHub
9
9
  };
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  StorageClient
4
4
  } from "../../chunk-LUTUMV2M.mjs";
5
- import "../../chunk-JUBOAWNR.mjs";
5
+ import "../../chunk-BUSDHSUG.mjs";
6
6
  export {
7
7
  StorageClient
8
8
  };
@@ -12,4 +12,4 @@ interface Permission {
12
12
  */
13
13
  declare const init: (permissions: Permission[]) => void;
14
14
 
15
- export { Permission, init };
15
+ export { type Permission, init };
@@ -12,4 +12,4 @@ interface Permission {
12
12
  */
13
13
  declare const init: (permissions: Permission[]) => void;
14
14
 
15
- export { Permission, init };
15
+ export { type Permission, init };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/storage/lib/hub.ts"],"sourcesContent":["/**\n * この実装はcross-storageほぼそのままです。\n */\ntype Method = \"get\" | \"set\" | \"del\" | \"getKeys\" | \"clear\";\n\nexport interface Permission {\n origin: RegExp;\n allow: Method[];\n}\n\nconst context: {\n permissions?: Permission[];\n} = {};\n\n/**\n * Do not use this directly. This specifications are subject to significant change.\n * @internal\n */\nexport const init = (permissions: Permission[]) => {\n context.permissions = permissions;\n window.addEventListener(\"message\", listener, false);\n window.parent.postMessage(\"cross-storage:ready\", \"*\");\n};\n\nconst permitted = (origin: string, method: Method) => {\n const available = [\"get\", \"set\", \"del\", \"clear\", \"getKeys\"];\n if (!available.includes(method)) {\n return false;\n }\n\n if (context.permissions === undefined) {\n return false;\n }\n\n for (let i = 0; i < context.permissions.length; i++) {\n const entry = context.permissions[i];\n const match = entry.origin.test(origin);\n if (match && entry.allow.includes(method)) {\n return true;\n }\n }\n return false;\n};\n\nconst methods: {\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key in Method]: Function;\n} = {\n get: (params: { keys: string[] }) => {\n const storage = window.localStorage;\n const result = [];\n for (let i = 0; i < params.keys.length; i++) {\n const value = storage.getItem(params.keys[i]) || null;\n result.push(value);\n }\n // Todo: このパターン好きじゃない\n return result.length > 1 ? result : result[0];\n },\n set: (params: { key: string; value: string }) => {\n window.localStorage.setItem(params.key, params.value);\n },\n del: (params: { keys: string[] }) => {\n // eslint-disable-next-line no-var\n for (var i = 0; i < params.keys.length; i++) {\n window.localStorage.removeItem(params.keys[i]);\n }\n },\n getKeys: () => {\n const keys = [];\n const length = window.localStorage.length;\n\n for (let i = 0; i < length; i++) {\n keys.push(window.localStorage.key(i));\n }\n\n return keys;\n },\n clear: () => {\n window.localStorage.clear();\n },\n};\n\ninterface Message {\n origin: string;\n data: string;\n}\n\nconst listener = (message: Message) => {\n // postMessage returns the string \"null\" as the origin for \"file://\"\n const origin = message.origin === \"null\" ? \"file://\" : message.origin;\n\n // Handle polling for a ready message\n if (message.data === \"cross-storage:poll\") {\n return window.parent.postMessage(\"cross-storage:ready\", message.origin);\n }\n\n // Ignore the ready message when viewing the hub directly\n if (message.data === \"cross-storage:ready\") return;\n\n const request: {\n id: string;\n method?: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n params: Object;\n } = JSON.parse(message.data);\n\n // Check whether request.method is a string\n if (!request || typeof request.method !== \"string\") {\n return;\n }\n\n const method = request.method.split(\"cross-storage:\")[1] as Method;\n\n let error = \"\";\n let result: string | undefined = undefined;\n\n if (!method) {\n return;\n } else if (!permitted(origin, method)) {\n error = \"Invalid permissions for \" + method;\n } else {\n try {\n result = methods[method](request.params);\n } catch (err) {\n error = (err as Error).message;\n }\n }\n\n const response = JSON.stringify({\n id: request.id,\n error: error,\n result: result,\n });\n\n // postMessage requires that the target origin be set to \"*\" for \"file://\"\n const targetOrigin = origin === \"file://\" ? \"*\" : origin;\n\n window.parent.postMessage(response, targetOrigin);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,IAAM,UAEF,CAAC;AAME,IAAM,OAAO,CAAC,gBAA8B;AACjD,UAAQ,cAAc;AACtB,SAAO,iBAAiB,WAAW,UAAU,KAAK;AAClD,SAAO,OAAO,YAAY,uBAAuB,GAAG;AACtD;AAEA,IAAM,YAAY,CAAC,QAAgB,WAAmB;AACpD,QAAM,YAAY,CAAC,OAAO,OAAO,OAAO,SAAS,SAAS;AAC1D,MAAI,CAAC,UAAU,SAAS,MAAM,GAAG;AAC/B,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,gBAAgB,QAAW;AACrC,WAAO;AAAA,EACT;AAEA,WAAS,IAAI,GAAG,IAAI,QAAQ,YAAY,QAAQ,KAAK;AACnD,UAAM,QAAQ,QAAQ,YAAY,CAAC;AACnC,UAAM,QAAQ,MAAM,OAAO,KAAK,MAAM;AACtC,QAAI,SAAS,MAAM,MAAM,SAAS,MAAM,GAAG;AACzC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,UAGF;AAAA,EACF,KAAK,CAAC,WAA+B;AACnC,UAAM,UAAU,OAAO;AACvB,UAAM,SAAS,CAAC;AAChB,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,YAAM,QAAQ,QAAQ,QAAQ,OAAO,KAAK,CAAC,CAAC,KAAK;AACjD,aAAO,KAAK,KAAK;AAAA,IACnB;AAEA,WAAO,OAAO,SAAS,IAAI,SAAS,OAAO,CAAC;AAAA,EAC9C;AAAA,EACA,KAAK,CAAC,WAA2C;AAC/C,WAAO,aAAa,QAAQ,OAAO,KAAK,OAAO,KAAK;AAAA,EACtD;AAAA,EACA,KAAK,CAAC,WAA+B;AAEnC,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,aAAO,aAAa,WAAW,OAAO,KAAK,CAAC,CAAC;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,SAAS,MAAM;AACb,UAAM,OAAO,CAAC;AACd,UAAM,SAAS,OAAO,aAAa;AAEnC,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,WAAK,KAAK,OAAO,aAAa,IAAI,CAAC,CAAC;AAAA,IACtC;AAEA,WAAO;AAAA,EACT;AAAA,EACA,OAAO,MAAM;AACX,WAAO,aAAa,MAAM;AAAA,EAC5B;AACF;AAOA,IAAM,WAAW,CAAC,YAAqB;AAErC,QAAM,SAAS,QAAQ,WAAW,SAAS,YAAY,QAAQ;AAG/D,MAAI,QAAQ,SAAS,sBAAsB;AACzC,WAAO,OAAO,OAAO,YAAY,uBAAuB,QAAQ,MAAM;AAAA,EACxE;AAGA,MAAI,QAAQ,SAAS;AAAuB;AAE5C,QAAM,UAKF,KAAK,MAAM,QAAQ,IAAI;AAG3B,MAAI,CAAC,WAAW,OAAO,QAAQ,WAAW,UAAU;AAClD;AAAA,EACF;AAEA,QAAM,SAAS,QAAQ,OAAO,MAAM,gBAAgB,EAAE,CAAC;AAEvD,MAAI,QAAQ;AACZ,MAAI,SAA6B;AAEjC,MAAI,CAAC,QAAQ;AACX;AAAA,EACF,WAAW,CAAC,UAAU,QAAQ,MAAM,GAAG;AACrC,YAAQ,6BAA6B;AAAA,EACvC,OAAO;AACL,QAAI;AACF,eAAS,QAAQ,MAAM,EAAE,QAAQ,MAAM;AAAA,IACzC,SAAS,KAAK;AACZ,cAAS,IAAc;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,WAAW,KAAK,UAAU;AAAA,IAC9B,IAAI,QAAQ;AAAA,IACZ;AAAA,IACA;AAAA,EACF,CAAC;AAGD,QAAM,eAAe,WAAW,YAAY,MAAM;AAElD,SAAO,OAAO,YAAY,UAAU,YAAY;AAClD;","names":[]}
1
+ {"version":3,"sources":["../../../src/storage/lib/hub.ts"],"sourcesContent":["/**\n * この実装はcross-storageほぼそのままです。\n */\ntype Method = \"get\" | \"set\" | \"del\" | \"getKeys\" | \"clear\";\n\nexport interface Permission {\n origin: RegExp;\n allow: Method[];\n}\n\nconst context: {\n permissions?: Permission[];\n} = {};\n\n/**\n * Do not use this directly. This specifications are subject to significant change.\n * @internal\n */\nexport const init = (permissions: Permission[]) => {\n context.permissions = permissions;\n window.addEventListener(\"message\", listener, false);\n window.parent.postMessage(\"cross-storage:ready\", \"*\");\n};\n\nconst permitted = (origin: string, method: Method) => {\n const available = [\"get\", \"set\", \"del\", \"clear\", \"getKeys\"];\n if (!available.includes(method)) {\n return false;\n }\n\n if (context.permissions === undefined) {\n return false;\n }\n\n for (let i = 0; i < context.permissions.length; i++) {\n const entry = context.permissions[i];\n const match = entry.origin.test(origin);\n if (match && entry.allow.includes(method)) {\n return true;\n }\n }\n return false;\n};\n\nconst methods: {\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key in Method]: Function;\n} = {\n get: (params: { keys: string[] }) => {\n const storage = window.localStorage;\n const result = [];\n for (let i = 0; i < params.keys.length; i++) {\n const value = storage.getItem(params.keys[i]) || null;\n result.push(value);\n }\n // Todo: このパターン好きじゃない\n return result.length > 1 ? result : result[0];\n },\n set: (params: { key: string; value: string }) => {\n window.localStorage.setItem(params.key, params.value);\n },\n del: (params: { keys: string[] }) => {\n for (var i = 0; i < params.keys.length; i++) {\n window.localStorage.removeItem(params.keys[i]);\n }\n },\n getKeys: () => {\n const keys = [];\n const length = window.localStorage.length;\n\n for (let i = 0; i < length; i++) {\n keys.push(window.localStorage.key(i));\n }\n\n return keys;\n },\n clear: () => {\n window.localStorage.clear();\n },\n};\n\ninterface Message {\n origin: string;\n data: string;\n}\n\nconst listener = (message: Message) => {\n // postMessage returns the string \"null\" as the origin for \"file://\"\n const origin = message.origin === \"null\" ? \"file://\" : message.origin;\n\n // Handle polling for a ready message\n if (message.data === \"cross-storage:poll\") {\n return window.parent.postMessage(\"cross-storage:ready\", message.origin);\n }\n\n // Ignore the ready message when viewing the hub directly\n if (message.data === \"cross-storage:ready\") return;\n\n const request: {\n id: string;\n method?: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n params: Object;\n } = JSON.parse(message.data);\n\n // Check whether request.method is a string\n if (!request || typeof request.method !== \"string\") {\n return;\n }\n\n const method = request.method.split(\"cross-storage:\")[1] as Method;\n\n let error = \"\";\n let result: string | undefined = undefined;\n\n if (!method) {\n return;\n } else if (!permitted(origin, method)) {\n error = \"Invalid permissions for \" + method;\n } else {\n try {\n result = methods[method](request.params);\n } catch (err) {\n error = (err as Error).message;\n }\n }\n\n const response = JSON.stringify({\n id: request.id,\n error: error,\n result: result,\n });\n\n // postMessage requires that the target origin be set to \"*\" for \"file://\"\n const targetOrigin = origin === \"file://\" ? \"*\" : origin;\n\n window.parent.postMessage(response, targetOrigin);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,IAAM,UAEF,CAAC;AAME,IAAM,OAAO,CAAC,gBAA8B;AACjD,UAAQ,cAAc;AACtB,SAAO,iBAAiB,WAAW,UAAU,KAAK;AAClD,SAAO,OAAO,YAAY,uBAAuB,GAAG;AACtD;AAEA,IAAM,YAAY,CAAC,QAAgB,WAAmB;AACpD,QAAM,YAAY,CAAC,OAAO,OAAO,OAAO,SAAS,SAAS;AAC1D,MAAI,CAAC,UAAU,SAAS,MAAM,GAAG;AAC/B,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,gBAAgB,QAAW;AACrC,WAAO;AAAA,EACT;AAEA,WAAS,IAAI,GAAG,IAAI,QAAQ,YAAY,QAAQ,KAAK;AACnD,UAAM,QAAQ,QAAQ,YAAY,CAAC;AACnC,UAAM,QAAQ,MAAM,OAAO,KAAK,MAAM;AACtC,QAAI,SAAS,MAAM,MAAM,SAAS,MAAM,GAAG;AACzC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,UAGF;AAAA,EACF,KAAK,CAAC,WAA+B;AACnC,UAAM,UAAU,OAAO;AACvB,UAAM,SAAS,CAAC;AAChB,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,YAAM,QAAQ,QAAQ,QAAQ,OAAO,KAAK,CAAC,CAAC,KAAK;AACjD,aAAO,KAAK,KAAK;AAAA,IACnB;AAEA,WAAO,OAAO,SAAS,IAAI,SAAS,OAAO,CAAC;AAAA,EAC9C;AAAA,EACA,KAAK,CAAC,WAA2C;AAC/C,WAAO,aAAa,QAAQ,OAAO,KAAK,OAAO,KAAK;AAAA,EACtD;AAAA,EACA,KAAK,CAAC,WAA+B;AACnC,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,aAAO,aAAa,WAAW,OAAO,KAAK,CAAC,CAAC;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,SAAS,MAAM;AACb,UAAM,OAAO,CAAC;AACd,UAAM,SAAS,OAAO,aAAa;AAEnC,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,WAAK,KAAK,OAAO,aAAa,IAAI,CAAC,CAAC;AAAA,IACtC;AAEA,WAAO;AAAA,EACT;AAAA,EACA,OAAO,MAAM;AACX,WAAO,aAAa,MAAM;AAAA,EAC5B;AACF;AAOA,IAAM,WAAW,CAAC,YAAqB;AAErC,QAAM,SAAS,QAAQ,WAAW,SAAS,YAAY,QAAQ;AAG/D,MAAI,QAAQ,SAAS,sBAAsB;AACzC,WAAO,OAAO,OAAO,YAAY,uBAAuB,QAAQ,MAAM;AAAA,EACxE;AAGA,MAAI,QAAQ,SAAS;AAAuB;AAE5C,QAAM,UAKF,KAAK,MAAM,QAAQ,IAAI;AAG3B,MAAI,CAAC,WAAW,OAAO,QAAQ,WAAW,UAAU;AAClD;AAAA,EACF;AAEA,QAAM,SAAS,QAAQ,OAAO,MAAM,gBAAgB,EAAE,CAAC;AAEvD,MAAI,QAAQ;AACZ,MAAI,SAA6B;AAEjC,MAAI,CAAC,QAAQ;AACX;AAAA,EACF,WAAW,CAAC,UAAU,QAAQ,MAAM,GAAG;AACrC,YAAQ,6BAA6B;AAAA,EACvC,OAAO;AACL,QAAI;AACF,eAAS,QAAQ,MAAM,EAAE,QAAQ,MAAM;AAAA,IACzC,SAAS,KAAK;AACZ,cAAS,IAAc;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,WAAW,KAAK,UAAU;AAAA,IAC9B,IAAI,QAAQ;AAAA,IACZ;AAAA,IACA;AAAA,EACF,CAAC;AAGD,QAAM,eAAe,WAAW,YAAY,MAAM;AAElD,SAAO,OAAO,YAAY,UAAU,YAAY;AAClD;","names":[]}
@@ -1,8 +1,8 @@
1
1
  'use client'
2
2
  import {
3
3
  init
4
- } from "../../chunk-2X6HV5XJ.mjs";
5
- import "../../chunk-JUBOAWNR.mjs";
4
+ } from "../../chunk-AYYVMRUA.mjs";
5
+ import "../../chunk-BUSDHSUG.mjs";
6
6
  export {
7
7
  init
8
8
  };
@@ -1,12 +1,12 @@
1
1
  'use client'
2
2
  import {
3
3
  login
4
- } from "../chunk-GMPQV5TL.mjs";
4
+ } from "../chunk-FFSKHXBI.mjs";
5
5
  import {
6
6
  m2mAuthTokenApi
7
7
  } from "../chunk-Y36VD6Z6.mjs";
8
8
  import "../chunk-LUTUMV2M.mjs";
9
- import "../chunk-JUBOAWNR.mjs";
9
+ import "../chunk-BUSDHSUG.mjs";
10
10
 
11
11
  // src/storage/useM2mAuth.tsx
12
12
  import { fetcher } from "matsuri-hooks";
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/storage/lib/hub.ts"],"sourcesContent":["/**\n * この実装はcross-storageほぼそのままです。\n */\ntype Method = \"get\" | \"set\" | \"del\" | \"getKeys\" | \"clear\";\n\nexport interface Permission {\n origin: RegExp;\n allow: Method[];\n}\n\nconst context: {\n permissions?: Permission[];\n} = {};\n\n/**\n * Do not use this directly. This specifications are subject to significant change.\n * @internal\n */\nexport const init = (permissions: Permission[]) => {\n context.permissions = permissions;\n window.addEventListener(\"message\", listener, false);\n window.parent.postMessage(\"cross-storage:ready\", \"*\");\n};\n\nconst permitted = (origin: string, method: Method) => {\n const available = [\"get\", \"set\", \"del\", \"clear\", \"getKeys\"];\n if (!available.includes(method)) {\n return false;\n }\n\n if (context.permissions === undefined) {\n return false;\n }\n\n for (let i = 0; i < context.permissions.length; i++) {\n const entry = context.permissions[i];\n const match = entry.origin.test(origin);\n if (match && entry.allow.includes(method)) {\n return true;\n }\n }\n return false;\n};\n\nconst methods: {\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key in Method]: Function;\n} = {\n get: (params: { keys: string[] }) => {\n const storage = window.localStorage;\n const result = [];\n for (let i = 0; i < params.keys.length; i++) {\n const value = storage.getItem(params.keys[i]) || null;\n result.push(value);\n }\n // Todo: このパターン好きじゃない\n return result.length > 1 ? result : result[0];\n },\n set: (params: { key: string; value: string }) => {\n window.localStorage.setItem(params.key, params.value);\n },\n del: (params: { keys: string[] }) => {\n // eslint-disable-next-line no-var\n for (var i = 0; i < params.keys.length; i++) {\n window.localStorage.removeItem(params.keys[i]);\n }\n },\n getKeys: () => {\n const keys = [];\n const length = window.localStorage.length;\n\n for (let i = 0; i < length; i++) {\n keys.push(window.localStorage.key(i));\n }\n\n return keys;\n },\n clear: () => {\n window.localStorage.clear();\n },\n};\n\ninterface Message {\n origin: string;\n data: string;\n}\n\nconst listener = (message: Message) => {\n // postMessage returns the string \"null\" as the origin for \"file://\"\n const origin = message.origin === \"null\" ? \"file://\" : message.origin;\n\n // Handle polling for a ready message\n if (message.data === \"cross-storage:poll\") {\n return window.parent.postMessage(\"cross-storage:ready\", message.origin);\n }\n\n // Ignore the ready message when viewing the hub directly\n if (message.data === \"cross-storage:ready\") return;\n\n const request: {\n id: string;\n method?: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n params: Object;\n } = JSON.parse(message.data);\n\n // Check whether request.method is a string\n if (!request || typeof request.method !== \"string\") {\n return;\n }\n\n const method = request.method.split(\"cross-storage:\")[1] as Method;\n\n let error = \"\";\n let result: string | undefined = undefined;\n\n if (!method) {\n return;\n } else if (!permitted(origin, method)) {\n error = \"Invalid permissions for \" + method;\n } else {\n try {\n result = methods[method](request.params);\n } catch (err) {\n error = (err as Error).message;\n }\n }\n\n const response = JSON.stringify({\n id: request.id,\n error: error,\n result: result,\n });\n\n // postMessage requires that the target origin be set to \"*\" for \"file://\"\n const targetOrigin = origin === \"file://\" ? \"*\" : origin;\n\n window.parent.postMessage(response, targetOrigin);\n};\n"],"mappings":";;;AAUA,IAAM,UAEF,CAAC;AAME,IAAM,OAAO,CAAC,gBAA8B;AACjD,UAAQ,cAAc;AACtB,SAAO,iBAAiB,WAAW,UAAU,KAAK;AAClD,SAAO,OAAO,YAAY,uBAAuB,GAAG;AACtD;AAEA,IAAM,YAAY,CAAC,QAAgB,WAAmB;AACpD,QAAM,YAAY,CAAC,OAAO,OAAO,OAAO,SAAS,SAAS;AAC1D,MAAI,CAAC,UAAU,SAAS,MAAM,GAAG;AAC/B,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,gBAAgB,QAAW;AACrC,WAAO;AAAA,EACT;AAEA,WAAS,IAAI,GAAG,IAAI,QAAQ,YAAY,QAAQ,KAAK;AACnD,UAAM,QAAQ,QAAQ,YAAY,CAAC;AACnC,UAAM,QAAQ,MAAM,OAAO,KAAK,MAAM;AACtC,QAAI,SAAS,MAAM,MAAM,SAAS,MAAM,GAAG;AACzC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,UAGF;AAAA,EACF,KAAK,CAAC,WAA+B;AACnC,UAAM,UAAU,OAAO;AACvB,UAAM,SAAS,CAAC;AAChB,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,YAAM,QAAQ,QAAQ,QAAQ,OAAO,KAAK,CAAC,CAAC,KAAK;AACjD,aAAO,KAAK,KAAK;AAAA,IACnB;AAEA,WAAO,OAAO,SAAS,IAAI,SAAS,OAAO,CAAC;AAAA,EAC9C;AAAA,EACA,KAAK,CAAC,WAA2C;AAC/C,WAAO,aAAa,QAAQ,OAAO,KAAK,OAAO,KAAK;AAAA,EACtD;AAAA,EACA,KAAK,CAAC,WAA+B;AAEnC,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,aAAO,aAAa,WAAW,OAAO,KAAK,CAAC,CAAC;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,SAAS,MAAM;AACb,UAAM,OAAO,CAAC;AACd,UAAM,SAAS,OAAO,aAAa;AAEnC,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,WAAK,KAAK,OAAO,aAAa,IAAI,CAAC,CAAC;AAAA,IACtC;AAEA,WAAO;AAAA,EACT;AAAA,EACA,OAAO,MAAM;AACX,WAAO,aAAa,MAAM;AAAA,EAC5B;AACF;AAOA,IAAM,WAAW,CAAC,YAAqB;AAErC,QAAM,SAAS,QAAQ,WAAW,SAAS,YAAY,QAAQ;AAG/D,MAAI,QAAQ,SAAS,sBAAsB;AACzC,WAAO,OAAO,OAAO,YAAY,uBAAuB,QAAQ,MAAM;AAAA,EACxE;AAGA,MAAI,QAAQ,SAAS;AAAuB;AAE5C,QAAM,UAKF,KAAK,MAAM,QAAQ,IAAI;AAG3B,MAAI,CAAC,WAAW,OAAO,QAAQ,WAAW,UAAU;AAClD;AAAA,EACF;AAEA,QAAM,SAAS,QAAQ,OAAO,MAAM,gBAAgB,EAAE,CAAC;AAEvD,MAAI,QAAQ;AACZ,MAAI,SAA6B;AAEjC,MAAI,CAAC,QAAQ;AACX;AAAA,EACF,WAAW,CAAC,UAAU,QAAQ,MAAM,GAAG;AACrC,YAAQ,6BAA6B;AAAA,EACvC,OAAO;AACL,QAAI;AACF,eAAS,QAAQ,MAAM,EAAE,QAAQ,MAAM;AAAA,IACzC,SAAS,KAAK;AACZ,cAAS,IAAc;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,WAAW,KAAK,UAAU;AAAA,IAC9B,IAAI,QAAQ;AAAA,IACZ;AAAA,IACA;AAAA,EACF,CAAC;AAGD,QAAM,eAAe,WAAW,YAAY,MAAM;AAElD,SAAO,OAAO,YAAY,UAAU,YAAY;AAClD;","names":[]}
@@ -1,9 +0,0 @@
1
- 'use client'
2
-
3
- // src/releases/t.ts
4
- var t = "01HE43KV6SW3JX4EA86JWX5NMW";
5
-
6
- export {
7
- t
8
- };
9
- //# sourceMappingURL=chunk-H66U7VZB.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/releases/t.ts"],"sourcesContent":["export const t = \"01HE43KV6SW3JX4EA86JWX5NMW\";\n"],"mappings":";;;AAAO,IAAM,IAAI;","names":[]}