m2m-components 5.1.4-alpha-1725516903312-31ea122.0 → 5.1.4-alpha-0-9ac30bf.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.
- package/MenuBaseElement.js.map +1 -1
- package/MenuBaseElement.mjs +1 -1
- package/{chunk-RIKI6TTQ.mjs → chunk-2F7MVYJV.mjs} +5 -5
- package/chunk-2F7MVYJV.mjs.map +1 -0
- package/chunk-32NVR4HG.mjs +18 -0
- package/chunk-32NVR4HG.mjs.map +1 -0
- package/chunk-34OP4R54.mjs +114 -0
- package/chunk-34OP4R54.mjs.map +1 -0
- package/{chunk-YXPSTKYY.mjs → chunk-3LXMUAGW.mjs} +4 -4
- package/chunk-3LXMUAGW.mjs.map +1 -0
- package/chunk-3X5MOATG.mjs +9 -0
- package/chunk-3X5MOATG.mjs.map +1 -0
- package/{chunk-B6FEFIYC.mjs → chunk-4WYT3ILE.mjs} +2 -2
- package/chunk-4WYT3ILE.mjs.map +1 -0
- package/chunk-5DZIFMOT.mjs +96 -0
- package/chunk-5DZIFMOT.mjs.map +1 -0
- package/chunk-5MCHUEWC.mjs +40 -0
- package/chunk-5MCHUEWC.mjs.map +1 -0
- package/{chunk-HI2D4CLX.mjs → chunk-6YUMRFSL.mjs} +1 -1
- package/chunk-6YUMRFSL.mjs.map +1 -0
- package/chunk-7UFH6ALM.mjs +24 -0
- package/chunk-7UFH6ALM.mjs.map +1 -0
- package/chunk-AYYVMRUA.mjs +94 -0
- package/chunk-AYYVMRUA.mjs.map +1 -0
- package/chunk-BUSDHSUG.mjs +61 -0
- package/chunk-BUSDHSUG.mjs.map +1 -0
- package/{chunk-RDG67OF7.mjs → chunk-DJMCUABY.mjs} +4 -4
- package/chunk-F4UMH2JS.mjs +74 -0
- package/chunk-F4UMH2JS.mjs.map +1 -0
- package/chunk-FDRD4YS4.mjs +34 -0
- package/chunk-FDRD4YS4.mjs.map +1 -0
- package/{chunk-CR2KP7D3.mjs → chunk-FK5456TR.mjs} +2 -2
- package/{chunk-YZIPEODC.mjs → chunk-H6D6RG6X.mjs} +1 -1
- package/chunk-H6D6RG6X.mjs.map +1 -0
- package/chunk-IYTHV2XJ.mjs +22 -0
- package/chunk-IYTHV2XJ.mjs.map +1 -0
- package/chunk-JTHAKXEH.mjs +8992 -0
- package/chunk-JTHAKXEH.mjs.map +1 -0
- package/chunk-KE76CQSA.mjs +41 -0
- package/chunk-KE76CQSA.mjs.map +1 -0
- package/chunk-KEFPOQJ5.mjs +83 -0
- package/chunk-KEFPOQJ5.mjs.map +1 -0
- package/chunk-LUTUMV2M.mjs +166 -0
- package/chunk-LUTUMV2M.mjs.map +1 -0
- package/chunk-MHR3UXOP.mjs +154 -0
- package/{chunk-HI2D4CLX.mjs.map → chunk-MHR3UXOP.mjs.map} +1 -1
- package/chunk-OB2SVLHW.mjs +289 -0
- package/chunk-OB2SVLHW.mjs.map +1 -0
- package/chunk-P4FPJRVQ.mjs +17 -0
- package/{chunk-S7FCKJZP.mjs → chunk-RUMO4IC5.mjs} +1 -1
- package/chunk-RUMO4IC5.mjs.map +1 -0
- package/{chunk-LAH6LOT7.mjs → chunk-UIR5V5YH.mjs} +5 -5
- package/chunk-UXYQOQLC.mjs +28 -0
- package/chunk-UXYQOQLC.mjs.map +1 -0
- package/chunk-V74QQNBA.mjs +21 -0
- package/chunk-V74QQNBA.mjs.map +1 -0
- package/chunk-WLLFVGUS.mjs +441 -0
- package/chunk-WLLFVGUS.mjs.map +1 -0
- package/chunk-YMWGGIJ6.mjs +19 -0
- package/chunk-YMWGGIJ6.mjs.map +1 -0
- package/chunk-YSF5KXHA.mjs +54 -0
- package/chunk-YSF5KXHA.mjs.map +1 -0
- package/chunk-ZJKAXJ7Z.mjs +78 -0
- package/chunk-ZJKAXJ7Z.mjs.map +1 -0
- package/feedback/index.mjs +2 -2
- package/global.d.d.mts +5 -1
- package/global.d.d.ts +5 -1
- package/global.d.js.map +1 -1
- package/index.js +2 -3
- package/index.js.map +1 -1
- package/index.mjs +10 -10
- package/initM2mComponents.js +4 -5
- package/initM2mComponents.js.map +1 -1
- package/initM2mComponents.mjs +2 -2
- package/m2m-apps-menu.js.map +1 -1
- package/m2m-apps-menu.mjs +2 -2
- package/m2m-notifications.v1-OgnhtmrU.d.mts +64 -0
- package/m2m-notifications.v1-OgnhtmrU.d.ts +64 -0
- package/m2m-releases-link.js.map +1 -1
- package/m2m-releases-link.mjs +1 -1
- package/m2m-user-menu.js +2 -3
- package/m2m-user-menu.js.map +1 -1
- package/m2m-user-menu.mjs +3 -3
- package/m2m-users.v1-kKGcXd92.d.mts +271 -0
- package/m2m-users.v1-kKGcXd92.d.ts +271 -0
- package/matsuri-forms.v1-lw-XWLjX.d.mts +203 -0
- package/matsuri-forms.v1-lw-XWLjX.d.ts +203 -0
- package/notification/index.mjs +6 -6
- package/package.json +57 -57
- package/releases/t.js.map +1 -1
- package/releases/t.mjs +1 -1
- package/storage/client.js +4 -5
- package/storage/client.js.map +1 -1
- package/storage/client.mjs +1 -1
- package/storage/hub.js.map +1 -1
- package/storage/hub.mjs +1 -1
- package/storage/refreshAuth.js +2 -3
- package/storage/refreshAuth.js.map +1 -1
- package/storage/refreshAuth.mjs +3 -3
- package/storage/useM2mAuth.js +2 -3
- package/storage/useM2mAuth.js.map +1 -1
- package/storage/useM2mAuth.mjs +6 -6
- package/storage/useM2mAuth.mjs.map +1 -1
- package/chunk-B6FEFIYC.mjs.map +0 -1
- package/chunk-RIKI6TTQ.mjs.map +0 -1
- package/chunk-S7FCKJZP.mjs.map +0 -1
- package/chunk-YXPSTKYY.mjs.map +0 -1
- /package/{chunk-RDG67OF7.mjs.map → chunk-DJMCUABY.mjs.map} +0 -0
- /package/{chunk-CR2KP7D3.mjs.map → chunk-FK5456TR.mjs.map} +0 -0
- /package/{chunk-YZIPEODC.mjs.map → chunk-P4FPJRVQ.mjs.map} +0 -0
- /package/{chunk-LAH6LOT7.mjs.map → chunk-UIR5V5YH.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 };
|
|
@@ -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 };
|
package/notification/index.mjs
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import "../chunk-IOZIVEOV.mjs";
|
|
3
|
+
import {
|
|
4
|
+
requestSubscribe,
|
|
5
|
+
requestUnSubscribe,
|
|
6
|
+
requestUpdateNotificationStatusToRead
|
|
7
|
+
} from "../chunk-JTZEHJPB.mjs";
|
|
8
|
+
import "../chunk-YUHXVW6K.mjs";
|
|
3
9
|
import {
|
|
4
10
|
NotificationsProvider,
|
|
5
11
|
useNotificationPermission,
|
|
@@ -9,12 +15,6 @@ import {
|
|
|
9
15
|
ServiceIdProvider,
|
|
10
16
|
useServiceId
|
|
11
17
|
} from "../chunk-ARKJVMNQ.mjs";
|
|
12
|
-
import {
|
|
13
|
-
requestSubscribe,
|
|
14
|
-
requestUnSubscribe,
|
|
15
|
-
requestUpdateNotificationStatusToRead
|
|
16
|
-
} from "../chunk-JTZEHJPB.mjs";
|
|
17
|
-
import "../chunk-YUHXVW6K.mjs";
|
|
18
18
|
import "../chunk-M2D55I4L.mjs";
|
|
19
19
|
import "../chunk-QH5I6YL2.mjs";
|
|
20
20
|
export {
|
package/package.json
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "m2m-components",
|
|
3
|
-
"version": "5.1.4-alpha-
|
|
4
|
-
"main": "index.js",
|
|
5
|
-
"module": "index.mjs",
|
|
6
|
-
"typings": "index.d.ts",
|
|
7
|
-
"files": [
|
|
8
|
-
"**",
|
|
9
|
-
"!.npmrc"
|
|
10
|
-
],
|
|
11
|
-
"scripts": {
|
|
12
|
-
"build-app:clients": "vite build website/clients/ --out-dir ../../build -c vite.config.clients.ts -m development",
|
|
13
|
-
"build-app:hub": "vite build website/hub/ --out-dir ../../build",
|
|
14
|
-
"build-app:hub:dev": "vite build website/hub/ --out-dir ../../build -m development",
|
|
15
|
-
"build": "tsup --dts",
|
|
16
|
-
"build:fast": "tsup",
|
|
17
|
-
"dev": "pnpm build:fast -- --watch",
|
|
18
|
-
"lint": "eslint .",
|
|
19
|
-
"postlint": "prettier --check .",
|
|
20
|
-
"format": "eslint . --fix",
|
|
21
|
-
"postformat": "prettier --write .",
|
|
22
|
-
"typecheck": "tsc -p . --noEmit",
|
|
23
|
-
"predeploy": "cp package.json README.md jsx.d.ts dist",
|
|
24
|
-
"test": "vitest"
|
|
25
|
-
},
|
|
26
|
-
"dependencies": {
|
|
27
|
-
"idb": "8.0.0",
|
|
28
|
-
"lit": "3.2.0",
|
|
29
|
-
"matsuri-forms-sdk": "2.0.0"
|
|
30
|
-
},
|
|
31
|
-
"peerDependencies": {
|
|
32
|
-
"@datadog/browser-logs": "^5.0.0",
|
|
33
|
-
"@emotion/react": "^11.0.0",
|
|
34
|
-
"@mui/icons-material": "^5.0.0 || ^6.0.0",
|
|
35
|
-
"@mui/material": "^5.0.0 || ^6.0.0",
|
|
36
|
-
"matsuri-hooks": "^3.0.0 || ^4.0.0",
|
|
37
|
-
"matsuri-ui": "^15.0.0 || ^16.0.0",
|
|
38
|
-
"react": "^18.2.0",
|
|
39
|
-
"swr": "^2.0.0"
|
|
40
|
-
},
|
|
41
|
-
"devDependencies": {
|
|
42
|
-
"@datadog/browser-logs": "5.
|
|
43
|
-
"@emotion/react": "11.13.3",
|
|
44
|
-
"@emotion/styled": "11.13.0",
|
|
45
|
-
"@mui/icons-material": "6.0.2",
|
|
46
|
-
"@mui/material": "6.0.2",
|
|
47
|
-
"endpoints-sdk-cli": "2.8.0",
|
|
48
|
-
"fake-indexeddb": "6.0.0",
|
|
49
|
-
"matsuri-hooks": "4.0.0",
|
|
50
|
-
"matsuri-ui": "16.3.0",
|
|
51
|
-
"react": "18.3.1",
|
|
52
|
-
"react-dom": "18.3.1",
|
|
53
|
-
"swr": "2.2.5",
|
|
54
|
-
"tsup": "8.2.4",
|
|
55
|
-
"vitest": "2.0.5"
|
|
56
|
-
}
|
|
57
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "m2m-components",
|
|
3
|
+
"version": "5.1.4-alpha-0-9ac30bf.0",
|
|
4
|
+
"main": "index.js",
|
|
5
|
+
"module": "index.mjs",
|
|
6
|
+
"typings": "index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"**",
|
|
9
|
+
"!.npmrc"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build-app:clients": "vite build website/clients/ --out-dir ../../build -c vite.config.clients.ts -m development",
|
|
13
|
+
"build-app:hub": "vite build website/hub/ --out-dir ../../build",
|
|
14
|
+
"build-app:hub:dev": "vite build website/hub/ --out-dir ../../build -m development",
|
|
15
|
+
"build": "tsup --dts",
|
|
16
|
+
"build:fast": "tsup",
|
|
17
|
+
"dev": "pnpm build:fast -- --watch",
|
|
18
|
+
"lint": "eslint .",
|
|
19
|
+
"postlint": "prettier --check .",
|
|
20
|
+
"format": "eslint . --fix",
|
|
21
|
+
"postformat": "prettier --write .",
|
|
22
|
+
"typecheck": "tsc -p . --noEmit",
|
|
23
|
+
"predeploy": "cp package.json README.md jsx.d.ts dist",
|
|
24
|
+
"test": "vitest"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"idb": "8.0.0",
|
|
28
|
+
"lit": "3.2.0",
|
|
29
|
+
"matsuri-forms-sdk": "2.0.0"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"@datadog/browser-logs": "^5.0.0",
|
|
33
|
+
"@emotion/react": "^11.0.0",
|
|
34
|
+
"@mui/icons-material": "^5.0.0 || ^6.0.0",
|
|
35
|
+
"@mui/material": "^5.0.0 || ^6.0.0",
|
|
36
|
+
"matsuri-hooks": "^3.0.0 || ^4.0.0",
|
|
37
|
+
"matsuri-ui": "^15.0.0 || ^16.0.0",
|
|
38
|
+
"react": "^18.2.0",
|
|
39
|
+
"swr": "^2.0.0"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@datadog/browser-logs": "5.26.0",
|
|
43
|
+
"@emotion/react": "11.13.3",
|
|
44
|
+
"@emotion/styled": "11.13.0",
|
|
45
|
+
"@mui/icons-material": "6.0.2",
|
|
46
|
+
"@mui/material": "6.0.2",
|
|
47
|
+
"endpoints-sdk-cli": "2.8.0",
|
|
48
|
+
"fake-indexeddb": "6.0.0",
|
|
49
|
+
"matsuri-hooks": "4.0.0",
|
|
50
|
+
"matsuri-ui": "16.3.0",
|
|
51
|
+
"react": "18.3.1",
|
|
52
|
+
"react-dom": "18.3.1",
|
|
53
|
+
"swr": "2.2.5",
|
|
54
|
+
"tsup": "8.2.4",
|
|
55
|
+
"vitest": "2.0.5"
|
|
56
|
+
}
|
|
57
|
+
}
|
package/releases/t.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/releases/t.ts"],"sourcesContent":["export const t = \"01J6NF4H69FPZD9VS7PCMZXJ3V\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,IAAI;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/releases/t.ts"],"sourcesContent":["export const t = \"01J6NF4H69FPZD9VS7PCMZXJ3V\";\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,IAAI;","names":[]}
|
package/releases/t.mjs
CHANGED
package/storage/client.js
CHANGED
|
@@ -181,7 +181,6 @@ var StorageClient = class {
|
|
|
181
181
|
// src/storage/client.ts
|
|
182
182
|
var M2mStorageClient = class extends StorageClient {
|
|
183
183
|
};
|
|
184
|
-
var context = {};
|
|
185
184
|
var getStorage = async (timeout = 5e3) => {
|
|
186
185
|
const storage = await new Promise((resolve, reject) => {
|
|
187
186
|
const rejectTimer = globalThis.setTimeout(function() {
|
|
@@ -191,13 +190,13 @@ var getStorage = async (timeout = 5e3) => {
|
|
|
191
190
|
)
|
|
192
191
|
);
|
|
193
192
|
}, timeout);
|
|
194
|
-
const storage2 =
|
|
193
|
+
const storage2 = globalThis.M2M_STORAGE;
|
|
195
194
|
if (storage2) {
|
|
196
195
|
globalThis.clearTimeout(rejectTimer);
|
|
197
196
|
resolve(storage2);
|
|
198
197
|
}
|
|
199
198
|
const timer = globalThis.setInterval(() => {
|
|
200
|
-
const storage3 =
|
|
199
|
+
const storage3 = globalThis.M2M_STORAGE;
|
|
201
200
|
if (storage3) {
|
|
202
201
|
globalThis.clearTimeout(rejectTimer);
|
|
203
202
|
globalThis.clearInterval(timer);
|
|
@@ -211,7 +210,7 @@ var getStorage = async (timeout = 5e3) => {
|
|
|
211
210
|
var M2M_STORAGE_HUB_URL = "https://hub.m2msystems.cloud/";
|
|
212
211
|
var M2M_STORAGE_HUB_URL_DEV = "https://m2m-components-storage-hub-dev.netlify.app/";
|
|
213
212
|
var initStorageClient = (options) => {
|
|
214
|
-
if (
|
|
213
|
+
if (globalThis.M2M_STORAGE) {
|
|
215
214
|
throw new Error(
|
|
216
215
|
"M2mStorageClient already initialized. Do not call m2mStorageClient.init multiple times."
|
|
217
216
|
);
|
|
@@ -219,7 +218,7 @@ var initStorageClient = (options) => {
|
|
|
219
218
|
const storage = new M2mStorageClient(
|
|
220
219
|
(options == null ? void 0 : options.env) === "production" ? M2M_STORAGE_HUB_URL : M2M_STORAGE_HUB_URL_DEV
|
|
221
220
|
);
|
|
222
|
-
|
|
221
|
+
globalThis.M2M_STORAGE = storage;
|
|
223
222
|
};
|
|
224
223
|
var m2mStorageClient = {
|
|
225
224
|
init: initStorageClient,
|
package/storage/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/storage/client.ts","../../src/storage/lib/client.ts"],"sourcesContent":["import { StorageClient } from \"./lib/client\";\n\nclass M2mStorageClient extends StorageClient {}\n\nexport type { M2mStorageClient };\n\nconst context: {\n storage?: M2mStorageClient;\n} = {};\n\n/**\n * Get the connected storage client.\n * @param timeout\n * @default 5000\n */\nconst getStorage = async (timeout = 5000) => {\n const storage = await new Promise<M2mStorageClient>((resolve, reject) => {\n const rejectTimer = globalThis.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 globalThis.clearTimeout(rejectTimer);\n resolve(storage);\n }\n\n const timer = globalThis.setInterval(() => {\n const storage = context.storage;\n if (storage) {\n globalThis.clearTimeout(rejectTimer);\n globalThis.clearInterval(timer);\n resolve(storage);\n }\n }, 200);\n });\n\n await storage.onConnect();\n\n return storage;\n};\n\nconst M2M_STORAGE_HUB_URL = \"https://hub.m2msystems.cloud/\";\n\nconst M2M_STORAGE_HUB_URL_DEV =\n \"https://m2m-components-storage-hub-dev.netlify.app/\";\n\nconst initStorageClient = (options?: {\n env?: \"development\" | \"production\";\n}) => {\n if (context.storage) {\n throw new Error(\n \"M2mStorageClient already initialized. Do not call m2mStorageClient.init multiple times.\",\n );\n }\n const storage = new M2mStorageClient(\n options?.env === \"production\"\n ? M2M_STORAGE_HUB_URL\n : M2M_STORAGE_HUB_URL_DEV,\n );\n context.storage = storage;\n};\n\nexport const m2mStorageClient = {\n init: initStorageClient,\n getStorage: getStorage,\n};\n\nexport const M2M_AUTH_TOKEN_KEY = \"M2M_APP_AUTH_TOKEN\";\n\nconst getAuthTokenCache = () => {\n return globalThis.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 globalThis.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 globalThis.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);\n try {\n const storage = await getStorage();\n await storage.del(M2M_AUTH_TOKEN_KEY);\n } catch (error) {\n console.warn(error);\n }\n};\n\nexport const m2mAuthTokenApi = {\n get: getAuthToken,\n getCache: getAuthTokenCache,\n set: setAuthToken,\n clear: clearAuthToken,\n};\n","/**\n * この実装はcross-storageほぼそのままです。\n */\nconst generateUUID = () => {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n\n return v.toString(16);\n });\n};\nexport class StorageClient {\n id: string;\n frameId: string;\n origin: string;\n requests: Record<string, any>;\n connected: boolean;\n closed: boolean;\n count: number;\n timeout: number;\n hub: null | Window;\n\n constructor(url: string, opts?: { frameId?: string; timeout?: number }) {\n opts = opts || {};\n\n this.id = generateUUID();\n this.frameId = opts.frameId || \"CrossStorageClient-\" + this.id;\n this.origin = new URL(url).origin;\n this.requests = {};\n this.connected = false;\n this.closed = false;\n this.count = 0;\n this.timeout = opts.timeout || 5000;\n\n window.addEventListener(\"message\", this.listener.bind(this), false);\n\n const frame = this.createFrame(url);\n this.hub = frame.contentWindow;\n }\n\n onConnect() {\n if (this.connected) {\n return Promise.resolve();\n } else if (this.closed) {\n return Promise.reject(new Error(\"StorageClient has closed.\"));\n }\n\n if (!this.requests.connect) {\n this.requests.connect = [];\n }\n\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(function () {\n reject(new Error(\"StorageClient could not connect.\"));\n }, this.timeout);\n\n this.requests.connect.push((err: string) => {\n clearTimeout(timeout);\n if (err) return reject(err);\n\n resolve(undefined);\n });\n });\n }\n\n set(key: string, value: string) {\n return this.request(\"set\", {\n key: key,\n value: value,\n });\n }\n\n get(...keys: string[]) {\n return this.request(\"get\", { keys });\n }\n\n del(...keys: string[]) {\n return this.request(\"del\", { keys });\n }\n\n clear() {\n return this.request(\"clear\");\n }\n\n getKeys() {\n this.request(\"getKeys\");\n }\n\n close() {\n const frame = document.getElementById(this.frameId);\n if (frame && frame.parentNode) {\n frame.parentNode.removeChild(frame);\n }\n\n window.removeEventListener(\"message\", this.listener, false);\n\n this.connected = false;\n this.closed = true;\n }\n\n private listener(message: MessageEvent) {\n let i, error, response;\n\n if (this.closed || !message.data || typeof message.data !== \"string\") {\n return;\n }\n\n const origin = message.origin;\n\n if (origin !== this.origin) return;\n\n if (message.data === \"cross-storage:unavailable\") {\n if (!this.closed) this.close();\n if (!this.requests.connect) return;\n\n error = new Error(\n \"Closing StorageClient. Could not access localStorage in StorageHub.\",\n );\n for (i = 0; i < this.requests.connect.length; i++) {\n this.requests.connect[i](error);\n }\n\n return;\n }\n\n if (message.data.indexOf(\"cross-storage:\") !== -1 && !this.connected) {\n this.connected = true;\n if (!this.requests.connect) return;\n\n for (i = 0; i < this.requests.connect.length; i++) {\n this.requests.connect[i](error);\n }\n delete this.requests.connect;\n }\n\n if (message.data === \"cross-storage:ready\") return;\n\n try {\n response = JSON.parse(message.data);\n } catch (e) {\n return;\n }\n\n if (!response.id) return;\n\n if (this.requests[response.id]) {\n this.requests[response.id](response.error, response.result);\n }\n }\n\n private createFrame(url: string) {\n const frame = window.document.createElement(\"iframe\");\n frame.id = this.frameId;\n\n frame.style.display = \"none\";\n frame.style.position = \"absolute\";\n frame.style.top = \"-999px\";\n frame.style.left = \"-999px\";\n\n window.document.body.appendChild(frame);\n frame.src = url;\n\n return frame;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-types\n private request(method: string, params?: {}) {\n if (this.closed) {\n return Promise.reject(new Error(\"StorageClient has closed.\"));\n }\n\n this.count++;\n\n const req = {\n id: this.id + \":\" + this.count,\n method: \"cross-storage:\" + method,\n params: params,\n };\n\n return new Promise((resolve, reject) => {\n const timeout = window.setTimeout(() => {\n if (!this.requests[req.id]) return;\n\n delete this.requests[req.id];\n reject(\n new Error(\"Timeout: StorageClient could not perform \" + req.method),\n );\n }, this.timeout);\n\n this.requests[req.id] = (err: string, result: string) => {\n clearTimeout(timeout);\n delete this.requests[req.id];\n if (err) return reject(new Error(err));\n resolve(result);\n };\n\n if (this.hub) {\n this.hub.postMessage(JSON.stringify(req), this.origin);\n } else {\n reject(new Error(\"Not found StorageHub.\"));\n }\n });\n }\n}\n"],"mappings":"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","names":["storage"]}
|
|
1
|
+
{"version":3,"sources":["../../src/storage/client.ts","../../src/storage/lib/client.ts"],"sourcesContent":["import { StorageClient } from \"./lib/client\";\n\nclass M2mStorageClient extends StorageClient {}\n\nexport type { M2mStorageClient };\n\n/**\n * Get the connected storage client.\n * @param timeout\n * @default 5000\n */\nconst getStorage = async (timeout = 5000) => {\n const storage = await new Promise<M2mStorageClient>((resolve, reject) => {\n const rejectTimer = globalThis.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 = globalThis.M2M_STORAGE;\n if (storage) {\n globalThis.clearTimeout(rejectTimer);\n resolve(storage);\n }\n\n const timer = globalThis.setInterval(() => {\n const storage = globalThis.M2M_STORAGE;\n if (storage) {\n globalThis.clearTimeout(rejectTimer);\n globalThis.clearInterval(timer);\n resolve(storage);\n }\n }, 200);\n });\n\n await storage.onConnect();\n\n return storage;\n};\n\nconst M2M_STORAGE_HUB_URL = \"https://hub.m2msystems.cloud/\";\n\nconst M2M_STORAGE_HUB_URL_DEV =\n \"https://m2m-components-storage-hub-dev.netlify.app/\";\n\nconst initStorageClient = (options?: {\n env?: \"development\" | \"production\";\n}) => {\n if (globalThis.M2M_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 globalThis.M2M_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 globalThis.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 globalThis.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 globalThis.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);\n try {\n const storage = await getStorage();\n await storage.del(M2M_AUTH_TOKEN_KEY);\n } catch (error) {\n console.warn(error);\n }\n};\n\nexport const m2mAuthTokenApi = {\n get: getAuthToken,\n getCache: getAuthTokenCache,\n set: setAuthToken,\n clear: clearAuthToken,\n};\n","/**\n * この実装はcross-storageほぼそのままです。\n */\nconst generateUUID = () => {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n\n return v.toString(16);\n });\n};\nexport class StorageClient {\n id: string;\n frameId: string;\n origin: string;\n requests: Record<string, any>;\n connected: boolean;\n closed: boolean;\n count: number;\n timeout: number;\n hub: null | Window;\n\n constructor(url: string, opts?: { frameId?: string; timeout?: number }) {\n opts = opts || {};\n\n this.id = generateUUID();\n this.frameId = opts.frameId || \"CrossStorageClient-\" + this.id;\n this.origin = new URL(url).origin;\n this.requests = {};\n this.connected = false;\n this.closed = false;\n this.count = 0;\n this.timeout = opts.timeout || 5000;\n\n window.addEventListener(\"message\", this.listener.bind(this), false);\n\n const frame = this.createFrame(url);\n this.hub = frame.contentWindow;\n }\n\n onConnect() {\n if (this.connected) {\n return Promise.resolve();\n } else if (this.closed) {\n return Promise.reject(new Error(\"StorageClient has closed.\"));\n }\n\n if (!this.requests.connect) {\n this.requests.connect = [];\n }\n\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(function () {\n reject(new Error(\"StorageClient could not connect.\"));\n }, this.timeout);\n\n this.requests.connect.push((err: string) => {\n clearTimeout(timeout);\n if (err) return reject(err);\n\n resolve(undefined);\n });\n });\n }\n\n set(key: string, value: string) {\n return this.request(\"set\", {\n key: key,\n value: value,\n });\n }\n\n get(...keys: string[]) {\n return this.request(\"get\", { keys });\n }\n\n del(...keys: string[]) {\n return this.request(\"del\", { keys });\n }\n\n clear() {\n return this.request(\"clear\");\n }\n\n getKeys() {\n this.request(\"getKeys\");\n }\n\n close() {\n const frame = document.getElementById(this.frameId);\n if (frame && frame.parentNode) {\n frame.parentNode.removeChild(frame);\n }\n\n window.removeEventListener(\"message\", this.listener, false);\n\n this.connected = false;\n this.closed = true;\n }\n\n private listener(message: MessageEvent) {\n let i, error, response;\n\n if (this.closed || !message.data || typeof message.data !== \"string\") {\n return;\n }\n\n const origin = message.origin;\n\n if (origin !== this.origin) return;\n\n if (message.data === \"cross-storage:unavailable\") {\n if (!this.closed) this.close();\n if (!this.requests.connect) return;\n\n error = new Error(\n \"Closing StorageClient. Could not access localStorage in StorageHub.\",\n );\n for (i = 0; i < this.requests.connect.length; i++) {\n this.requests.connect[i](error);\n }\n\n return;\n }\n\n if (message.data.indexOf(\"cross-storage:\") !== -1 && !this.connected) {\n this.connected = true;\n if (!this.requests.connect) return;\n\n for (i = 0; i < this.requests.connect.length; i++) {\n this.requests.connect[i](error);\n }\n delete this.requests.connect;\n }\n\n if (message.data === \"cross-storage:ready\") return;\n\n try {\n response = JSON.parse(message.data);\n } catch (e) {\n return;\n }\n\n if (!response.id) return;\n\n if (this.requests[response.id]) {\n this.requests[response.id](response.error, response.result);\n }\n }\n\n private createFrame(url: string) {\n const frame = window.document.createElement(\"iframe\");\n frame.id = this.frameId;\n\n frame.style.display = \"none\";\n frame.style.position = \"absolute\";\n frame.style.top = \"-999px\";\n frame.style.left = \"-999px\";\n\n window.document.body.appendChild(frame);\n frame.src = url;\n\n return frame;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-types\n private request(method: string, params?: {}) {\n if (this.closed) {\n return Promise.reject(new Error(\"StorageClient has closed.\"));\n }\n\n this.count++;\n\n const req = {\n id: this.id + \":\" + this.count,\n method: \"cross-storage:\" + method,\n params: params,\n };\n\n return new Promise((resolve, reject) => {\n const timeout = window.setTimeout(() => {\n if (!this.requests[req.id]) return;\n\n delete this.requests[req.id];\n reject(\n new Error(\"Timeout: StorageClient could not perform \" + req.method),\n );\n }, this.timeout);\n\n this.requests[req.id] = (err: string, result: string) => {\n clearTimeout(timeout);\n delete this.requests[req.id];\n if (err) return reject(new Error(err));\n resolve(result);\n };\n\n if (this.hub) {\n this.hub.postMessage(JSON.stringify(req), this.origin);\n } else {\n reject(new Error(\"Not found StorageHub.\"));\n }\n });\n }\n}\n"],"mappings":"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","names":["storage"]}
|