@selfcommunity/api-services 0.1.4 → 0.1.5
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/lib/cjs/constants/Endpoints.js +497 -57
- package/lib/cjs/index.js +147 -10
- package/lib/cjs/services/category/index.js +317 -3
- package/lib/cjs/services/comment/index.js +269 -0
- package/lib/cjs/services/custom_adv/index.js +85 -0
- package/lib/cjs/services/custom_page/index.js +85 -0
- package/lib/cjs/services/data_portability/index.js +83 -0
- package/lib/cjs/services/dynamic_preference/index.js +85 -0
- package/lib/cjs/services/embed/index.js +198 -0
- package/lib/cjs/services/feed/index.js +125 -0
- package/lib/cjs/services/feed_object/index.js +660 -0
- package/lib/cjs/services/incubator/index.js +175 -0
- package/lib/cjs/services/insight/index.js +146 -0
- package/lib/cjs/services/legal_page/index.js +152 -0
- package/lib/cjs/services/locality/index.js +62 -0
- package/lib/cjs/services/loyalty/index.js +219 -0
- package/lib/cjs/services/media/index.js +175 -0
- package/lib/cjs/services/moderation/index.js +156 -0
- package/lib/cjs/services/notification/index.js +209 -0
- package/lib/cjs/services/private_message/index.js +236 -0
- package/lib/cjs/services/score/index.js +83 -0
- package/lib/cjs/services/sso/index.js +62 -0
- package/lib/cjs/services/suggestion/index.js +104 -0
- package/lib/cjs/services/tag/index.js +175 -0
- package/lib/cjs/services/user/index.js +995 -9
- package/lib/cjs/services/webhook/index.js +290 -0
- package/lib/cjs/utils/token.js +15 -0
- package/lib/esm/api-services/src/constants/Endpoints.d.ts.map +1 -1
- package/lib/esm/api-services/src/index.d.ts +26 -3
- package/lib/esm/api-services/src/index.d.ts.map +1 -1
- package/lib/esm/api-services/src/services/category/index.d.ts +42 -0
- package/lib/esm/api-services/src/services/category/index.d.ts.map +1 -1
- package/lib/esm/api-services/src/services/comment/index.d.ts +40 -0
- package/lib/esm/api-services/src/services/comment/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/custom_adv/index.d.ts +16 -0
- package/lib/esm/api-services/src/services/custom_adv/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/custom_page/index.d.ts +16 -0
- package/lib/esm/api-services/src/services/custom_page/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/data_portability/index.d.ts +16 -0
- package/lib/esm/api-services/src/services/data_portability/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/dynamic_preference/index.d.ts +16 -0
- package/lib/esm/api-services/src/services/dynamic_preference/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/embed/index.d.ts +31 -0
- package/lib/esm/api-services/src/services/embed/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/feed/index.d.ts +22 -0
- package/lib/esm/api-services/src/services/feed/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/feed_object/index.d.ts +88 -0
- package/lib/esm/api-services/src/services/feed_object/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/incubator/index.d.ts +28 -0
- package/lib/esm/api-services/src/services/incubator/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/insight/index.d.ts +25 -0
- package/lib/esm/api-services/src/services/insight/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/legal_page/index.d.ts +25 -0
- package/lib/esm/api-services/src/services/legal_page/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/locality/index.d.ts +13 -0
- package/lib/esm/api-services/src/services/locality/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/loyalty/index.d.ts +34 -0
- package/lib/esm/api-services/src/services/loyalty/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/media/index.d.ts +28 -0
- package/lib/esm/api-services/src/services/media/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/moderation/index.d.ts +25 -0
- package/lib/esm/api-services/src/services/moderation/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/notification/index.d.ts +34 -0
- package/lib/esm/api-services/src/services/notification/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/private_message/index.d.ts +37 -0
- package/lib/esm/api-services/src/services/private_message/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/score/index.d.ts +16 -0
- package/lib/esm/api-services/src/services/score/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/sso/index.d.ts +13 -0
- package/lib/esm/api-services/src/services/sso/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/suggestion/index.d.ts +19 -0
- package/lib/esm/api-services/src/services/suggestion/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/tag/index.d.ts +28 -0
- package/lib/esm/api-services/src/services/tag/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/services/user/index.d.ts +132 -0
- package/lib/esm/api-services/src/services/user/index.d.ts.map +1 -1
- package/lib/esm/api-services/src/services/webhook/index.d.ts +43 -0
- package/lib/esm/api-services/src/services/webhook/index.d.ts.map +1 -0
- package/lib/esm/api-services/src/utils/token.d.ts +5 -0
- package/lib/esm/api-services/src/utils/token.d.ts.map +1 -1
- package/lib/esm/constants/Endpoints.js +497 -57
- package/lib/esm/index.js +147 -10
- package/lib/esm/services/category/index.js +317 -3
- package/lib/esm/services/comment/index.js +269 -0
- package/lib/esm/services/custom_adv/index.js +85 -0
- package/lib/esm/services/custom_page/index.js +85 -0
- package/lib/esm/services/data_portability/index.js +83 -0
- package/lib/esm/services/dynamic_preference/index.js +85 -0
- package/lib/esm/services/embed/index.js +198 -0
- package/lib/esm/services/feed/index.js +125 -0
- package/lib/esm/services/feed_object/index.js +660 -0
- package/lib/esm/services/incubator/index.js +175 -0
- package/lib/esm/services/insight/index.js +146 -0
- package/lib/esm/services/legal_page/index.js +152 -0
- package/lib/esm/services/locality/index.js +62 -0
- package/lib/esm/services/loyalty/index.js +219 -0
- package/lib/esm/services/media/index.js +175 -0
- package/lib/esm/services/moderation/index.js +156 -0
- package/lib/esm/services/notification/index.js +209 -0
- package/lib/esm/services/private_message/index.js +236 -0
- package/lib/esm/services/score/index.js +83 -0
- package/lib/esm/services/sso/index.js +62 -0
- package/lib/esm/services/suggestion/index.js +104 -0
- package/lib/esm/services/tag/index.js +175 -0
- package/lib/esm/services/user/index.js +995 -9
- package/lib/esm/services/webhook/index.js +290 -0
- package/lib/esm/utils/src/index.d.ts +8 -3
- package/lib/esm/utils/src/index.d.ts.map +1 -1
- package/lib/esm/utils/src/utils/browser.d.ts +9 -0
- package/lib/esm/utils/src/utils/browser.d.ts.map +1 -0
- package/lib/esm/utils/src/utils/logger.d.ts +11 -0
- package/lib/esm/utils/src/utils/logger.d.ts.map +1 -0
- package/lib/esm/utils/src/utils/object.d.ts +13 -0
- package/lib/esm/utils/src/utils/object.d.ts.map +1 -0
- package/lib/esm/utils/src/utils/string.d.ts +22 -0
- package/lib/esm/utils/src/utils/string.d.ts.map +1 -1
- package/lib/esm/utils/src/utils/url.d.ts +11 -0
- package/lib/esm/utils/src/utils/url.d.ts.map +1 -1
- package/lib/esm/utils/src/utils/websocket.d.ts +177 -0
- package/lib/esm/utils/src/utils/websocket.d.ts.map +1 -0
- package/lib/esm/utils/token.js +15 -0
- package/lib/umd/api-services.js +1 -1
- package/lib/umd/api-services.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = exports.WebhookApiClient = void 0;
|
|
5
|
+
|
|
6
|
+
var _client = _interopRequireDefault(require("../../client"));
|
|
7
|
+
|
|
8
|
+
var _Endpoints = _interopRequireDefault(require("../../constants/Endpoints"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
class WebhookApiClient {
|
|
13
|
+
static getAllWebhookEndpoints() {
|
|
14
|
+
return _client.default.request({
|
|
15
|
+
url: _Endpoints.default.WebhookEndpointsList.url({}),
|
|
16
|
+
method: _Endpoints.default.WebhookEndpointsList.method
|
|
17
|
+
}).then(res => {
|
|
18
|
+
if (res.status >= 300) {
|
|
19
|
+
console.log(`Unable to retrieve webhook endpoints (Response code: ${res.status}).`);
|
|
20
|
+
return Promise.reject(res);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return Promise.resolve(res);
|
|
24
|
+
}).catch(error => {
|
|
25
|
+
console.log('Unable to retrieve endpoints.');
|
|
26
|
+
return Promise.reject(error);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static getAllWebhookEvents() {
|
|
31
|
+
return _client.default.request({
|
|
32
|
+
url: _Endpoints.default.WebhookEventsList.url({}),
|
|
33
|
+
method: _Endpoints.default.WebhookEventsList.method
|
|
34
|
+
}).then(res => {
|
|
35
|
+
if (res.status >= 300) {
|
|
36
|
+
console.log(`Unable to retrieve webhook endpoints events (Response code: ${res.status}).`);
|
|
37
|
+
return Promise.reject(res);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return Promise.resolve(res);
|
|
41
|
+
}).catch(error => {
|
|
42
|
+
console.log('Unable to retrieve endpoints events.');
|
|
43
|
+
return Promise.reject(error);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static createWebhookEndpoint() {
|
|
48
|
+
return _client.default.request({
|
|
49
|
+
url: _Endpoints.default.WebhookCreate.url({}),
|
|
50
|
+
method: _Endpoints.default.WebhookCreate.method
|
|
51
|
+
}).then(res => {
|
|
52
|
+
if (res.status >= 300) {
|
|
53
|
+
console.log(`Unable to perform action (Response code: ${res.status}).`);
|
|
54
|
+
return Promise.reject(res);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return Promise.resolve(res.data);
|
|
58
|
+
}).catch(error => {
|
|
59
|
+
console.log('Unable to perform action.');
|
|
60
|
+
return Promise.reject(error);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
static getASpecificWebhookEndpoint(id) {
|
|
65
|
+
return _client.default.request({
|
|
66
|
+
url: _Endpoints.default.GetSpecificWebhook.url({
|
|
67
|
+
id
|
|
68
|
+
}),
|
|
69
|
+
method: _Endpoints.default.GetSpecificWebhook.method
|
|
70
|
+
}).then(res => {
|
|
71
|
+
if (res.status >= 300) {
|
|
72
|
+
console.log(`Unable to retrieve webhook (Response code: ${res.status}).`);
|
|
73
|
+
return Promise.reject(res);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return Promise.resolve(res.data);
|
|
77
|
+
}).catch(error => {
|
|
78
|
+
console.log('Unable to retrieve webhook.');
|
|
79
|
+
return Promise.reject(error);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
static updateASpecificWebhookEndpoint(id) {
|
|
84
|
+
return _client.default.request({
|
|
85
|
+
url: _Endpoints.default.WebhookUpdate.url({
|
|
86
|
+
id
|
|
87
|
+
}),
|
|
88
|
+
method: _Endpoints.default.WebhookUpdate.method
|
|
89
|
+
}).then(res => {
|
|
90
|
+
if (res.status >= 300) {
|
|
91
|
+
console.log(`Unable to perform action (Response code: ${res.status}).`);
|
|
92
|
+
return Promise.reject(res);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return Promise.resolve(res.data);
|
|
96
|
+
}).catch(error => {
|
|
97
|
+
console.log('Unable to perform action.');
|
|
98
|
+
return Promise.reject(error);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static updateASingleWebhookEndpointField(id) {
|
|
103
|
+
return _client.default.request({
|
|
104
|
+
url: _Endpoints.default.WebhookPatch.url({
|
|
105
|
+
id
|
|
106
|
+
}),
|
|
107
|
+
method: _Endpoints.default.WebhookPatch.method
|
|
108
|
+
}).then(res => {
|
|
109
|
+
if (res.status >= 300) {
|
|
110
|
+
console.log(`Unable to perform action (Response code: ${res.status}).`);
|
|
111
|
+
return Promise.reject(res);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return Promise.resolve(res.data);
|
|
115
|
+
}).catch(error => {
|
|
116
|
+
console.log('Unable to perform action.');
|
|
117
|
+
return Promise.reject(error);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
static deleteWebhookEndpoint(id) {
|
|
122
|
+
return _client.default.request({
|
|
123
|
+
url: _Endpoints.default.WebhookDelete.url({
|
|
124
|
+
id
|
|
125
|
+
}),
|
|
126
|
+
method: _Endpoints.default.WebhookDelete.method
|
|
127
|
+
}).then(res => {
|
|
128
|
+
if (res.status >= 300) {
|
|
129
|
+
console.log(`Unable to perform action (Response code: ${res.status}).`);
|
|
130
|
+
return Promise.reject(res);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return Promise.resolve(res.data);
|
|
134
|
+
}).catch(error => {
|
|
135
|
+
console.log('Unable to perform action.');
|
|
136
|
+
return Promise.reject(error);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
static getAllWebhookEndpointAttempts(id) {
|
|
141
|
+
return _client.default.request({
|
|
142
|
+
url: _Endpoints.default.WebhookEndpointAttempts.url({
|
|
143
|
+
id
|
|
144
|
+
}),
|
|
145
|
+
method: _Endpoints.default.WebhookEndpointAttempts.method
|
|
146
|
+
}).then(res => {
|
|
147
|
+
if (res.status >= 300) {
|
|
148
|
+
console.log(`Unable to retrieve webhook endpoint attempts (Response code: ${res.status}).`);
|
|
149
|
+
return Promise.reject(res);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
return Promise.resolve(res.data);
|
|
153
|
+
}).catch(error => {
|
|
154
|
+
console.log('Unable to retrieve webhook endpoint attempts.');
|
|
155
|
+
return Promise.reject(error);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
static expireWebhookSigningSecret(id) {
|
|
160
|
+
return _client.default.request({
|
|
161
|
+
url: _Endpoints.default.WebhookExpireSigningSecret.url({
|
|
162
|
+
id
|
|
163
|
+
}),
|
|
164
|
+
method: _Endpoints.default.WebhookExpireSigningSecret.method
|
|
165
|
+
}).then(res => {
|
|
166
|
+
if (res.status >= 300) {
|
|
167
|
+
console.log(`Unable to perform action (Response code: ${res.status}).`);
|
|
168
|
+
return Promise.reject(res);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return Promise.resolve(res.data);
|
|
172
|
+
}).catch(error => {
|
|
173
|
+
console.log('Unable to perform action.');
|
|
174
|
+
return Promise.reject(error);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
static revealWebhookSigningSecret(id) {
|
|
179
|
+
return _client.default.request({
|
|
180
|
+
url: _Endpoints.default.WebhookRevealSigningSecret.url({
|
|
181
|
+
id
|
|
182
|
+
}),
|
|
183
|
+
method: _Endpoints.default.WebhookRevealSigningSecret.method
|
|
184
|
+
}).then(res => {
|
|
185
|
+
if (res.status >= 300) {
|
|
186
|
+
console.log(`Unable to perform action(Response code: ${res.status}).`);
|
|
187
|
+
return Promise.reject(res);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return Promise.resolve(res.data);
|
|
191
|
+
}).catch(error => {
|
|
192
|
+
console.log('Unable to perform action.');
|
|
193
|
+
return Promise.reject(error);
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
static resendWebhookEndpointEvent(id) {
|
|
198
|
+
return _client.default.request({
|
|
199
|
+
url: _Endpoints.default.WebhookResendEndpointEvent.url({
|
|
200
|
+
id
|
|
201
|
+
}),
|
|
202
|
+
method: _Endpoints.default.WebhookResendEndpointEvent.method
|
|
203
|
+
}).then(res => {
|
|
204
|
+
if (res.status >= 300) {
|
|
205
|
+
console.log(`Unable to perform action (Response code: ${res.status}).`);
|
|
206
|
+
return Promise.reject(res);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return Promise.resolve(res.data);
|
|
210
|
+
}).catch(error => {
|
|
211
|
+
console.log('Unable to perform action.');
|
|
212
|
+
return Promise.reject(error);
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
static resendMultipleWebhookEndpointEvent(id) {
|
|
217
|
+
return _client.default.request({
|
|
218
|
+
url: _Endpoints.default.WebhookResendMultipleEndpointEvent.url({
|
|
219
|
+
id
|
|
220
|
+
}),
|
|
221
|
+
method: _Endpoints.default.WebhookResendMultipleEndpointEvent.method
|
|
222
|
+
}).then(res => {
|
|
223
|
+
if (res.status >= 300) {
|
|
224
|
+
console.log(`Unable to perform action (Response code: ${res.status}).`);
|
|
225
|
+
return Promise.reject(res);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return Promise.resolve(res.data);
|
|
229
|
+
}).catch(error => {
|
|
230
|
+
console.log('Unable to perform action.');
|
|
231
|
+
return Promise.reject(error);
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
exports.WebhookApiClient = WebhookApiClient;
|
|
238
|
+
|
|
239
|
+
class WebhookService {
|
|
240
|
+
static async getAllWebhookEndpoints() {
|
|
241
|
+
return WebhookApiClient.getAllWebhookEndpoints();
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
static async getAllWebhookEvents() {
|
|
245
|
+
return WebhookApiClient.getAllWebhookEvents();
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
static async createWebhookEndpoint() {
|
|
249
|
+
return WebhookApiClient.createWebhookEndpoint();
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
static async getASpecificWebhookEndpoint(id) {
|
|
253
|
+
return WebhookApiClient.getASpecificWebhookEndpoint(id);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
static async updateASpecificWebhookEndpoint(id) {
|
|
257
|
+
return WebhookApiClient.updateASpecificWebhookEndpoint(id);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
static async updateASingleWebhookEndpointField(id) {
|
|
261
|
+
return WebhookApiClient.updateASingleWebhookEndpointField(id);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
static async deleteWebhookEndpoint(id) {
|
|
265
|
+
return WebhookApiClient.deleteWebhookEndpoint(id);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
static async getAllWebhookEndpointAttempts(id) {
|
|
269
|
+
return WebhookApiClient.getAllWebhookEndpointAttempts(id);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
static async expireWebhookSigningSecret(id) {
|
|
273
|
+
return WebhookApiClient.expireWebhookSigningSecret(id);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
static async revealWebhookSigningSecret(id) {
|
|
277
|
+
return WebhookApiClient.revealWebhookSigningSecret(id);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
static async resendWebhookEndpointEvent(id) {
|
|
281
|
+
return WebhookApiClient.resendWebhookEndpointEvent(id);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
static async resendMultipleWebhookEndpointEvent(id) {
|
|
285
|
+
return WebhookApiClient.resendMultipleWebhookEndpointEvent(id);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
exports.default = WebhookService;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { capitalize, isString, stripHtml, camelCase } from './utils/string';
|
|
2
|
-
import { isValidUrl, isValidUrls, urlReplacer, getDomain } from './utils/url';
|
|
1
|
+
import { capitalize, isString, stripHtml, camelCase, copyTextToClipboard, fallbackCopyTextToClipboard, random } from './utils/string';
|
|
2
|
+
import { isValidUrl, isValidUrls, urlReplacer, getDomain, appendURLSearchParams, urlB64ToUint8Array } from './utils/url';
|
|
3
|
+
import { getHighestSafeWindowContext, getWindowWidth, getWindowHeight } from './utils/window';
|
|
4
|
+
import { mergeDeep, isObject } from './utils/object';
|
|
5
|
+
import { loadVersionBrowser } from './utils/browser';
|
|
6
|
+
import { Logger } from './utils/logger';
|
|
7
|
+
import WSClient, { WSClientType, WSClientPropTypes } from './utils/websocket';
|
|
3
8
|
/**
|
|
4
9
|
* Export all utilities
|
|
5
10
|
*/
|
|
6
|
-
export { capitalize, isString, stripHtml, camelCase, isValidUrl, isValidUrls, urlReplacer, getDomain };
|
|
11
|
+
export { capitalize, isString, stripHtml, camelCase, copyTextToClipboard, fallbackCopyTextToClipboard, random, isValidUrl, isValidUrls, urlReplacer, getDomain, appendURLSearchParams, urlB64ToUint8Array, getHighestSafeWindowContext, getWindowWidth, getWindowHeight, Logger, mergeDeep, isObject, WSClient, WSClientType, WSClientPropTypes, loadVersionBrowser };
|
|
7
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../utils/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../utils/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACpI,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAC;AACvH,OAAO,EAAC,2BAA2B,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,QAAQ,EAAE,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAE5E;;GAEG;AACH,OAAO,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,2BAA2B,EAC3B,MAAM,EACN,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EACnB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get browser version to track on backend
|
|
3
|
+
* @return {{name: string, version: null}|{name: string, version: string}|{name: *, version: *}|{name: string, version}}
|
|
4
|
+
*/
|
|
5
|
+
export declare const loadVersionBrowser: () => {
|
|
6
|
+
name: any;
|
|
7
|
+
version: any;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../../../utils/src/utils/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;CAgE9B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emit styled message
|
|
3
|
+
*/
|
|
4
|
+
export declare class Logger {
|
|
5
|
+
static info(scope: any, message: any): void;
|
|
6
|
+
static warn(scope: any, message: any): void;
|
|
7
|
+
static error(scope: any, message: any): void;
|
|
8
|
+
static log(scope: any, message: any): void;
|
|
9
|
+
static debug(scope: any, message: any): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../../../utils/src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,MAAM;IACjB,MAAM,CAAC,IAAI,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA;IAI1B,MAAM,CAAC,IAAI,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA;IAI1B,MAAM,CAAC,KAAK,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA;IAI3B,MAAM,CAAC,GAAG,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA;IAIzB,MAAM,CAAC,KAAK,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA;CAG5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if v is an object
|
|
3
|
+
* @param v
|
|
4
|
+
*/
|
|
5
|
+
export declare function isObject(v: any): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Perfrom deep merge of two objects (not a shallow merge)
|
|
8
|
+
* @param target
|
|
9
|
+
* @param source
|
|
10
|
+
* @return {*}
|
|
11
|
+
*/
|
|
12
|
+
export declare function mergeDeep(target: object, source: object): object;
|
|
13
|
+
//# sourceMappingURL=object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../../utils/src/utils/object.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,KAAA,WAEzB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBhE"}
|
|
@@ -18,4 +18,26 @@ export declare function camelCase(str: string): string;
|
|
|
18
18
|
* @param str
|
|
19
19
|
*/
|
|
20
20
|
export declare function stripHtml(str: string): string;
|
|
21
|
+
export declare function random(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Fallback if navigator.clipboard doensn't exist
|
|
24
|
+
* @param text
|
|
25
|
+
* @returns {Promise<void>}
|
|
26
|
+
*/
|
|
27
|
+
export declare function fallbackCopyTextToClipboard(text: any): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Copy text to clipboard
|
|
30
|
+
* @param text
|
|
31
|
+
* @returns {Promise<void>}
|
|
32
|
+
*
|
|
33
|
+
* Ex.
|
|
34
|
+
* copyTextToClipboard(text).then(
|
|
35
|
+
* function () {
|
|
36
|
+
* console.log('Async: Copying to clipboard was successful!');
|
|
37
|
+
* },
|
|
38
|
+
* function (err) {
|
|
39
|
+
* console.error('Async: Could not copy text: ', err);
|
|
40
|
+
* });
|
|
41
|
+
*/
|
|
42
|
+
export declare function copyTextToClipboard(text: any): Promise<void>;
|
|
21
43
|
//# sourceMappingURL=string.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../../../utils/src/utils/string.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,KAAA,WAEzB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO9C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB7C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C"}
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../../../utils/src/utils/string.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,KAAA,WAEzB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO9C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB7C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,MAAM,WAErB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,KAAA,iBAqB/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,KAAA,iBAKvC"}
|
|
@@ -19,4 +19,15 @@ export declare const isValidUrl: (url: string) => boolean;
|
|
|
19
19
|
* @param delimiter
|
|
20
20
|
*/
|
|
21
21
|
export declare const isValidUrls: (value: string, delimiter: string) => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Append params
|
|
24
|
+
* @param baseUrl
|
|
25
|
+
* @param queryParams
|
|
26
|
+
*/
|
|
27
|
+
export declare function appendURLSearchParams(baseUrl: string, queryParams: Record<string, string | number>[]): string;
|
|
28
|
+
/**
|
|
29
|
+
* Take the application server's public key, which is Base64 URL-safe encoded,
|
|
30
|
+
* and convert it to a UInt8Array, because this is the expected input of the subscribe()
|
|
31
|
+
*/
|
|
32
|
+
export declare const urlB64ToUint8Array: (base64String: any) => Uint8Array;
|
|
22
33
|
//# sourceMappingURL=url.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../../../utils/src/utils/url.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,cAWtB,MAAM,QACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAOvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,OAGxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,aAAa,MAAM,KAAG,OAG9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../../../utils/src/utils/url.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,cAWtB,MAAM,QACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAOvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,OAGxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,aAAa,MAAM,KAAG,OAG9D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,UAWpG;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,mCAW9B,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WSClientPropTypes interface
|
|
3
|
+
*/
|
|
4
|
+
export interface WSClientPropTypes {
|
|
5
|
+
/**
|
|
6
|
+
* The Websocket URI
|
|
7
|
+
*/
|
|
8
|
+
uri: string;
|
|
9
|
+
/**
|
|
10
|
+
* The Websocket Protocols
|
|
11
|
+
*/
|
|
12
|
+
protocols: string | string[];
|
|
13
|
+
/**
|
|
14
|
+
* String to identify the heartbeat message.
|
|
15
|
+
*/
|
|
16
|
+
heartbeatMsg?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Reconnect the websocket if close
|
|
19
|
+
*/
|
|
20
|
+
mustReconnect?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Callback called after the websocket is connected.
|
|
23
|
+
*/
|
|
24
|
+
connected?: () => any;
|
|
25
|
+
/**
|
|
26
|
+
* Callback called when the websocket is connecting.
|
|
27
|
+
*/
|
|
28
|
+
connecting?: () => any;
|
|
29
|
+
/**
|
|
30
|
+
* Callback called after the websocket is disconnected.
|
|
31
|
+
*/
|
|
32
|
+
disconnected?: (evt: any) => any;
|
|
33
|
+
/**
|
|
34
|
+
* Callback called when a message is received from the websocket.
|
|
35
|
+
*/
|
|
36
|
+
receiveMessage?: (data: any) => any;
|
|
37
|
+
/**
|
|
38
|
+
* Enable/disable debug
|
|
39
|
+
*/
|
|
40
|
+
debug?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface WSClientType {
|
|
43
|
+
/**
|
|
44
|
+
* Send message
|
|
45
|
+
* @param message
|
|
46
|
+
*/
|
|
47
|
+
sendMessage: (message: any) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Get current state
|
|
50
|
+
*/
|
|
51
|
+
getState: () => string;
|
|
52
|
+
/**
|
|
53
|
+
* Get current connection state
|
|
54
|
+
*/
|
|
55
|
+
isConnecting: () => boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Check if ws is connected
|
|
58
|
+
*/
|
|
59
|
+
isConnected: () => boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Check if ws is closing connection
|
|
62
|
+
*/
|
|
63
|
+
isClosing: () => boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Return if ws is closed
|
|
66
|
+
*/
|
|
67
|
+
isClosed: () => boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Close the connection
|
|
70
|
+
*/
|
|
71
|
+
close: () => void;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* WSClient: manage socket connection
|
|
75
|
+
* @param options
|
|
76
|
+
* @constructor
|
|
77
|
+
*/
|
|
78
|
+
export default class WSClient implements WSClientType {
|
|
79
|
+
private static _instance;
|
|
80
|
+
private _cfg;
|
|
81
|
+
private _ws;
|
|
82
|
+
private _timer;
|
|
83
|
+
private _attempts;
|
|
84
|
+
private _heartbeatInterval;
|
|
85
|
+
private _missedHeartbeats;
|
|
86
|
+
/**
|
|
87
|
+
* Constructor
|
|
88
|
+
* @param cfg
|
|
89
|
+
*/
|
|
90
|
+
constructor(cfg: WSClientPropTypes);
|
|
91
|
+
/**
|
|
92
|
+
* Get instance
|
|
93
|
+
*/
|
|
94
|
+
static getInstance(cfg: any): WSClient;
|
|
95
|
+
/**
|
|
96
|
+
* Connect
|
|
97
|
+
*/
|
|
98
|
+
connect(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Validate options
|
|
101
|
+
* @param cfg
|
|
102
|
+
*/
|
|
103
|
+
isValidOptions(cfg: WSClientPropTypes): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Try to reconnect if previous connection failed
|
|
106
|
+
* Generate an interval, after that try to reconnect
|
|
107
|
+
*/
|
|
108
|
+
tryToReconnect(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Reestablish the connection
|
|
111
|
+
* Increase the number of attempts
|
|
112
|
+
*/
|
|
113
|
+
reconnect(): void;
|
|
114
|
+
/**
|
|
115
|
+
* Send heartbeat every 5 seconds
|
|
116
|
+
* If missing more than 3 heartbeats close connection
|
|
117
|
+
*/
|
|
118
|
+
sendHeartbeat(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Established the new connection
|
|
121
|
+
* Reset this._attempts counter
|
|
122
|
+
*/
|
|
123
|
+
onOpen(): void;
|
|
124
|
+
/**
|
|
125
|
+
* Connection closed. Try to reconnect.
|
|
126
|
+
* @param evt
|
|
127
|
+
*/
|
|
128
|
+
onClose(evt: any): void;
|
|
129
|
+
/**
|
|
130
|
+
* An error occured
|
|
131
|
+
* @param evt
|
|
132
|
+
*/
|
|
133
|
+
onError(evt: any): void;
|
|
134
|
+
/**
|
|
135
|
+
* A message has arrived.
|
|
136
|
+
* If it is the heartbeat -> reset this._missedHeartbeats
|
|
137
|
+
* If it is data pass data to the callback
|
|
138
|
+
* @param evt
|
|
139
|
+
*/
|
|
140
|
+
onMessage(evt: any): any;
|
|
141
|
+
/**
|
|
142
|
+
* Generate an interval that is randomly between 0 and 2^k - 1, where k is
|
|
143
|
+
* the number of connection attmpts, with a maximum interval of 30 seconds,
|
|
144
|
+
* so it starts at 0 - 1 seconds and maxes out at 0 - 30 seconds
|
|
145
|
+
*/
|
|
146
|
+
generateInteval(k: any): number;
|
|
147
|
+
/**
|
|
148
|
+
* Send message
|
|
149
|
+
* @param message
|
|
150
|
+
*/
|
|
151
|
+
sendMessage(message: any): void;
|
|
152
|
+
/**
|
|
153
|
+
* Get the ws state
|
|
154
|
+
*/
|
|
155
|
+
getState(): any;
|
|
156
|
+
/**
|
|
157
|
+
* Check if ws is in connecting state
|
|
158
|
+
*/
|
|
159
|
+
isConnecting(): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Check if ws is connected
|
|
162
|
+
*/
|
|
163
|
+
isConnected(): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Check if ws is in closing state
|
|
166
|
+
*/
|
|
167
|
+
isClosing(): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Check if ws is closed
|
|
170
|
+
*/
|
|
171
|
+
isClosed(): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Close the connection
|
|
174
|
+
*/
|
|
175
|
+
close(): void;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../../../../utils/src/utils/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,GAAG,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAE/B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,EAAE,CAAC,OAAO,KAAA,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,QAAQ,EAAE,MAAM,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;IAExB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,YAAW,YAAY;IACnD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC;IACb,OAAO,CAAC,GAAG,CAAC;IACZ,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,iBAAiB,CAAK;IAE9B;;;OAGG;gBACS,GAAG,EAAE,iBAAiB;IAQlC;;OAEG;WACW,WAAW,CAAC,GAAG,KAAA,GAAG,QAAQ;IAKxC;;OAEG;IACH,OAAO;IAyBP;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,iBAAiB;IAqCrC;;;OAGG;IACH,cAAc;IAQd;;;OAGG;IACH,SAAS;IAKT;;;OAGG;IACH,aAAa;IAeb;;;OAGG;IACH,MAAM;IAUN;;;OAGG;IACH,OAAO,CAAC,GAAG,KAAA;IAMX;;;OAGG;IACH,OAAO,CAAC,GAAG,KAAA;IAKX;;;;;OAKG;IACH,SAAS,CAAC,GAAG,KAAA;IASb;;;;OAIG;IACH,eAAe,CAAC,CAAC,KAAA;IAUjB;;;OAGG;IACI,WAAW,CAAC,OAAO,KAAA;IAI1B;;OAEG;IACI,QAAQ;IAIf;;OAEG;IACI,YAAY;IAInB;;OAEG;IACI,WAAW;IAIlB;;OAEG;IACI,SAAS;IAIhB;;OAEG;IACI,QAAQ;IAIf;;OAEG;IACI,KAAK;CAQb"}
|
package/lib/esm/utils/token.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.generateJWTToken = generateJWTToken;
|
|
5
|
+
exports.parseJwt = parseJwt;
|
|
5
6
|
|
|
6
7
|
var jose = _interopRequireWildcard(require("jose"));
|
|
7
8
|
|
|
@@ -33,4 +34,18 @@ async function generateJWTToken(userId, secretKey, expirationTime) {
|
|
|
33
34
|
alg: 'HS256',
|
|
34
35
|
typ: 'JWT'
|
|
35
36
|
}).setIssuedAt().setExpirationTime(expirationTime ? expirationTime : '2h').sign(privateKey);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Extract from a jwt token payload
|
|
40
|
+
* @param token
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
function parseJwt(token) {
|
|
45
|
+
let base64Url = token.split('.')[1];
|
|
46
|
+
let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
47
|
+
let jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {
|
|
48
|
+
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|
49
|
+
}).join(''));
|
|
50
|
+
return JSON.parse(jsonPayload);
|
|
36
51
|
}
|