@budarin/pluggable-serviceworker 1.0.15 → 1.0.17
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/README.md +124 -8
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
- 🔌 **Система плагинов** - модульная архитектура для расширения функциональности
|
|
10
10
|
- 📊 **Порядок выполнения** - предсказуемый контроль порядка выполнения плагинов
|
|
11
11
|
- 🛡️ **Обработка ошибок** - централизованная обработка ошибок
|
|
12
|
+
- 📝 **Логирование** - настраиваемое логирование с поддержкой различных уровней
|
|
12
13
|
- 🎯 **TypeScript** - полная поддержка типов
|
|
13
14
|
- 🚀 **Простота использования** - минимальная настройка
|
|
14
15
|
|
|
@@ -68,7 +69,7 @@ const authPlugin = {
|
|
|
68
69
|
return new Response('Unauthorized', { status: 401 });
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
|
-
return
|
|
72
|
+
return undefined; // Передать обработку следующему плагину
|
|
72
73
|
},
|
|
73
74
|
};
|
|
74
75
|
|
|
@@ -78,7 +79,7 @@ const loggingPlugin = {
|
|
|
78
79
|
|
|
79
80
|
fetch: async (event) => {
|
|
80
81
|
console.log('Запрос:', event.request.url);
|
|
81
|
-
return
|
|
82
|
+
return undefined;
|
|
82
83
|
},
|
|
83
84
|
};
|
|
84
85
|
|
|
@@ -101,7 +102,7 @@ const fallbackPlugin = {
|
|
|
101
102
|
if (event.request.mode === 'navigate') {
|
|
102
103
|
return caches.match('/offline.html');
|
|
103
104
|
}
|
|
104
|
-
return
|
|
105
|
+
return undefined;
|
|
105
106
|
},
|
|
106
107
|
};
|
|
107
108
|
|
|
@@ -124,6 +125,12 @@ import {
|
|
|
124
125
|
} from '@budarin/pluggable-serviceworker';
|
|
125
126
|
|
|
126
127
|
const config = {
|
|
128
|
+
logger: {
|
|
129
|
+
info: (...data) => console.log('[SW INFO]', ...data),
|
|
130
|
+
warn: (...data) => console.warn('[SW WARN]', ...data),
|
|
131
|
+
error: (...data) => console.error('[SW ERROR]', ...data),
|
|
132
|
+
debug: (...data) => console.debug('[SW DEBUG]', ...data),
|
|
133
|
+
},
|
|
127
134
|
onError: (error, event, errorType) => {
|
|
128
135
|
console.log(`Ошибка типа "${errorType}":`, error);
|
|
129
136
|
|
|
@@ -181,6 +188,59 @@ initializeServiceWorker(
|
|
|
181
188
|
);
|
|
182
189
|
```
|
|
183
190
|
|
|
191
|
+
### Логирование
|
|
192
|
+
|
|
193
|
+
Библиотека поддерживает настраиваемое логирование через параметр `logger`:
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
import { initializeServiceWorker } from '@budarin/pluggable-serviceworker';
|
|
197
|
+
|
|
198
|
+
// Простой logger с префиксами
|
|
199
|
+
const logger = {
|
|
200
|
+
info: (...data) => console.log('[SW INFO]', ...data),
|
|
201
|
+
warn: (...data) => console.warn('[SW WARN]', ...data),
|
|
202
|
+
error: (...data) => console.error('[SW ERROR]', ...data),
|
|
203
|
+
debug: (...data) => console.debug('[SW DEBUG]', ...data),
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
// Logger с отправкой в аналитику
|
|
207
|
+
const analyticsLogger = {
|
|
208
|
+
info: (...data) => {
|
|
209
|
+
console.log('[SW INFO]', ...data);
|
|
210
|
+
// Отправка в аналитику для важных событий
|
|
211
|
+
},
|
|
212
|
+
warn: (...data) => {
|
|
213
|
+
console.warn('[SW WARN]', ...data);
|
|
214
|
+
sendToAnalytics('warning', data);
|
|
215
|
+
},
|
|
216
|
+
error: (...data) => {
|
|
217
|
+
console.error('[SW ERROR]', ...data);
|
|
218
|
+
sendToAnalytics('error', data);
|
|
219
|
+
},
|
|
220
|
+
debug: (...data) => {
|
|
221
|
+
if (process.env.NODE_ENV === 'development') {
|
|
222
|
+
console.debug('[SW DEBUG]', ...data);
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
const config = {
|
|
228
|
+
logger: analyticsLogger,
|
|
229
|
+
onError: (error, event, errorType) => {
|
|
230
|
+
// Обработка ошибок
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
initializeServiceWorker(
|
|
235
|
+
[
|
|
236
|
+
/* плагины */
|
|
237
|
+
],
|
|
238
|
+
config
|
|
239
|
+
);
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Logger используется внутри библиотеки для логирования ошибок в обработчиках ошибок, что предотвращает бесконечные циклы при ошибках в самих обработчиках ошибок.
|
|
243
|
+
|
|
184
244
|
#### Типы ошибок
|
|
185
245
|
|
|
186
246
|
Используйте enum `ServiceWorkerErrorType` для типизированной обработки ошибок:
|
|
@@ -193,6 +253,18 @@ initializeServiceWorker(
|
|
|
193
253
|
|
|
194
254
|
## 🔧 API
|
|
195
255
|
|
|
256
|
+
### SwMessageEvent
|
|
257
|
+
|
|
258
|
+
Типизированный интерфейс для событий сообщений Service Worker:
|
|
259
|
+
|
|
260
|
+
```typescript
|
|
261
|
+
interface SwMessageEvent extends Omit<ExtendableMessageEvent, 'data'> {
|
|
262
|
+
data: {
|
|
263
|
+
type: string;
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
196
268
|
### ServiceWorkerErrorType
|
|
197
269
|
|
|
198
270
|
Перечисление типов ошибок Service Worker:
|
|
@@ -207,6 +279,14 @@ enum ServiceWorkerErrorType {
|
|
|
207
279
|
}
|
|
208
280
|
```
|
|
209
281
|
|
|
282
|
+
### FetchResponse
|
|
283
|
+
|
|
284
|
+
Тип для ответов fetch обработчиков:
|
|
285
|
+
|
|
286
|
+
```typescript
|
|
287
|
+
type FetchResponse = Promise<Response | undefined>;
|
|
288
|
+
```
|
|
289
|
+
|
|
210
290
|
### ServiceWorkerPlugin
|
|
211
291
|
|
|
212
292
|
Интерфейс плагина:
|
|
@@ -217,14 +297,37 @@ interface ServiceWorkerPlugin {
|
|
|
217
297
|
order?: number; // Порядок выполнения (плагины без order выполняются первыми)
|
|
218
298
|
install?: (event: ExtendableEvent) => void | Promise<void>;
|
|
219
299
|
activate?: (event: ExtendableEvent) => void | Promise<void>;
|
|
220
|
-
fetch?: (event: FetchEvent) => Promise<Response |
|
|
221
|
-
message?: (event:
|
|
300
|
+
fetch?: (event: FetchEvent) => Promise<Response | undefined>;
|
|
301
|
+
message?: (event: SwMessageEvent) => void;
|
|
222
302
|
sync?: (event: SyncEvent) => void | Promise<void>; // Фоновая синхронизация
|
|
223
303
|
periodicsync?: (event: PeriodicSyncEvent) => void | Promise<void>; // Периодическая синхронизация
|
|
224
304
|
push?: (event: PushEvent) => void | Promise<void>; // Может быть асинхронным
|
|
225
305
|
}
|
|
226
306
|
```
|
|
227
307
|
|
|
308
|
+
### createEventHandlers
|
|
309
|
+
|
|
310
|
+
Функция для создания обработчиков событий (экспортируется для продвинутого использования):
|
|
311
|
+
|
|
312
|
+
```typescript
|
|
313
|
+
function createEventHandlers(
|
|
314
|
+
plugins: ServiceWorkerPlugin[],
|
|
315
|
+
config: ServiceWorkerConfig = {}
|
|
316
|
+
): {
|
|
317
|
+
install: (event: ExtendableEvent) => void;
|
|
318
|
+
activate: (event: ExtendableEvent) => void;
|
|
319
|
+
fetch: (event: FetchEvent) => void;
|
|
320
|
+
message: (event: SwMessageEvent) => void;
|
|
321
|
+
sync: (event: SyncEvent) => void;
|
|
322
|
+
periodicsync: (event: PeriodicSyncEvent) => void;
|
|
323
|
+
push: (event: PushEvent) => void;
|
|
324
|
+
error: (event: ErrorEvent) => void;
|
|
325
|
+
messageerror: (event: MessageEvent) => void;
|
|
326
|
+
unhandledrejection: (event: PromiseRejectionEvent) => void;
|
|
327
|
+
rejectionhandled: (event: PromiseRejectionEvent) => void;
|
|
328
|
+
};
|
|
329
|
+
```
|
|
330
|
+
|
|
228
331
|
### initializeServiceWorker
|
|
229
332
|
|
|
230
333
|
Основная функция для инициализации Service Worker:
|
|
@@ -236,13 +339,26 @@ function initializeServiceWorker(
|
|
|
236
339
|
): void;
|
|
237
340
|
```
|
|
238
341
|
|
|
342
|
+
### Logger
|
|
343
|
+
|
|
344
|
+
Интерфейс для логирования:
|
|
345
|
+
|
|
346
|
+
```typescript
|
|
347
|
+
interface Logger {
|
|
348
|
+
info: (...data: unknown[]) => void;
|
|
349
|
+
warn: (...data: unknown[]) => void;
|
|
350
|
+
error: (...data: unknown[]) => void;
|
|
351
|
+
debug: (...data: unknown[]) => void;
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|
|
239
355
|
### ServiceWorkerConfig
|
|
240
356
|
|
|
241
357
|
Конфигурация Service Worker:
|
|
242
358
|
|
|
243
359
|
```typescript
|
|
244
360
|
interface ServiceWorkerConfig {
|
|
245
|
-
|
|
361
|
+
logger?: Logger;
|
|
246
362
|
onError?: (
|
|
247
363
|
error: Error | any,
|
|
248
364
|
event: Event,
|
|
@@ -289,7 +405,7 @@ const cachePlugin = {
|
|
|
289
405
|
}
|
|
290
406
|
}
|
|
291
407
|
|
|
292
|
-
return
|
|
408
|
+
return undefined;
|
|
293
409
|
},
|
|
294
410
|
};
|
|
295
411
|
```
|
|
@@ -462,7 +578,7 @@ const authPlugin = {
|
|
|
462
578
|
if (needsAuth(event.request)) {
|
|
463
579
|
return new Response('Unauthorized', { status: 401 }); // Прерывает цепочку
|
|
464
580
|
}
|
|
465
|
-
return
|
|
581
|
+
return undefined; // Передает следующему плагину
|
|
466
582
|
},
|
|
467
583
|
};
|
|
468
584
|
|
package/dist/index.d.ts
CHANGED
|
@@ -23,13 +23,19 @@ export interface SwMessageEvent extends Omit<ExtendableMessageEvent, 'data'> {
|
|
|
23
23
|
type: string;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
+
export interface Logger {
|
|
27
|
+
info: (...data: unknown[]) => void;
|
|
28
|
+
warn: (...data: unknown[]) => void;
|
|
29
|
+
error: (...data: unknown[]) => void;
|
|
30
|
+
debug: (...data: unknown[]) => void;
|
|
31
|
+
}
|
|
26
32
|
interface ServiceWorkerEventHandlers {
|
|
27
33
|
install?: (event: ExtendableEvent) => void | Promise<void>;
|
|
28
34
|
activate?: (event: ExtendableEvent) => void | Promise<void>;
|
|
29
35
|
fetch?: (event: FetchEvent) => Promise<Response | undefined>;
|
|
30
36
|
message?: (event: SwMessageEvent) => void;
|
|
31
|
-
sync?: (event: SyncEvent) =>
|
|
32
|
-
periodicsync?: (event: PeriodicSyncEvent) =>
|
|
37
|
+
sync?: (event: SyncEvent) => Promise<void>;
|
|
38
|
+
periodicsync?: (event: PeriodicSyncEvent) => Promise<void>;
|
|
33
39
|
push?: (event: PushEvent) => void | Promise<void>;
|
|
34
40
|
}
|
|
35
41
|
export interface ServiceWorkerPlugin extends ServiceWorkerEventHandlers {
|
|
@@ -37,7 +43,7 @@ export interface ServiceWorkerPlugin extends ServiceWorkerEventHandlers {
|
|
|
37
43
|
order?: number;
|
|
38
44
|
}
|
|
39
45
|
interface ServiceWorkerConfig {
|
|
40
|
-
|
|
46
|
+
logger?: Logger;
|
|
41
47
|
onError?: (error: Error | any, event: Event, errorType?: ServiceWorkerErrorType) => void;
|
|
42
48
|
}
|
|
43
49
|
export type FetchResponse = Promise<Response | undefined>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB;IAC9B,KAAK,UAAU;IACf,aAAa,iBAAiB;IAC9B,mBAAmB,uBAAuB;IAC1C,iBAAiB,qBAAqB;IACtC,YAAY,iBAAiB;CAChC;AAED,UAAU,SAAU,SAAQ,eAAe;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAChC;AAED,UAAU,iBAAkB,SAAQ,eAAe;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACxB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,gCAAgC;QACtC,IAAI,EAAE,SAAS,CAAC;QAChB,YAAY,EAAE,iBAAiB,CAAC;KACnC;CACJ;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxE,IAAI,EAAE;QACF,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;CACL;AAED,UAAU,0BAA0B;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB;IAC9B,KAAK,UAAU;IACf,aAAa,iBAAiB;IAC9B,mBAAmB,uBAAuB;IAC1C,iBAAiB,qBAAqB;IACtC,YAAY,iBAAiB;CAChC;AAED,UAAU,SAAU,SAAQ,eAAe;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAChC;AAED,UAAU,iBAAkB,SAAQ,eAAe;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACxB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,gCAAgC;QACtC,IAAI,EAAE,SAAS,CAAC;QAChB,YAAY,EAAE,iBAAiB,CAAC;KACnC;CACJ;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxE,IAAI,EAAE;QACF,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACvC;AAED,UAAU,0BAA0B;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,mBAAoB,SAAQ,0BAA0B;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,mBAAmB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CACN,KAAK,EAAE,KAAK,GAAG,GAAG,EAClB,KAAK,EAAE,KAAK,EACZ,SAAS,CAAC,EAAE,sBAAsB,KACjC,IAAI,CAAC;CACb;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AAE1D,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,GAAE,mBAAwB,GACjC;IACC,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACjC,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,kBAAkB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC3D,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC5D,CA6MA;AAED,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,CAAC,EAAE,mBAAmB,GAC7B,IAAI,CAiBN"}
|
package/dist/index.js
CHANGED
|
@@ -94,7 +94,7 @@ export function createEventHandlers(plugins, config = {}) {
|
|
|
94
94
|
config.onError?.(event.error, event, ServiceWorkerErrorType.ERROR);
|
|
95
95
|
}
|
|
96
96
|
catch (error) {
|
|
97
|
-
|
|
97
|
+
config.logger?.error('Error in error handler:', error);
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
100
|
messageerror: (event) => {
|
|
@@ -102,7 +102,7 @@ export function createEventHandlers(plugins, config = {}) {
|
|
|
102
102
|
config.onError?.(event.data, event, ServiceWorkerErrorType.MESSAGE_ERROR);
|
|
103
103
|
}
|
|
104
104
|
catch (error) {
|
|
105
|
-
|
|
105
|
+
config.logger?.error('Error in messageerror handler:', error);
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
unhandledrejection: (event) => {
|
|
@@ -110,7 +110,7 @@ export function createEventHandlers(plugins, config = {}) {
|
|
|
110
110
|
config.onError?.(event.reason, event, ServiceWorkerErrorType.UNHANDLED_REJECTION);
|
|
111
111
|
}
|
|
112
112
|
catch (error) {
|
|
113
|
-
|
|
113
|
+
config.logger?.error('Error in unhandledrejection handler:', error);
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
rejectionhandled: (event) => {
|
|
@@ -118,7 +118,7 @@ export function createEventHandlers(plugins, config = {}) {
|
|
|
118
118
|
config.onError?.(event.reason, event, ServiceWorkerErrorType.REJECTION_HANDLED);
|
|
119
119
|
}
|
|
120
120
|
catch (error) {
|
|
121
|
-
|
|
121
|
+
config.logger?.error('Error in rejectionhandled handler:', error);
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
124
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAC9B,yCAAe,CAAA;IACf,wDAA8B,CAAA;IAC9B,oEAA0C,CAAA;IAC1C,gEAAsC,CAAA;IACtC,uDAA6B,CAAA;AACjC,CAAC,EANW,sBAAsB,KAAtB,sBAAsB,QAMjC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|