@budarin/pluggable-serviceworker 1.0.4 → 1.0.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/README.md CHANGED
@@ -100,33 +100,41 @@ initializeServiceWorker([authPlugin, cachePlugin, loggingPlugin]);
100
100
  Библиотека предоставляет единый обработчик для всех типов ошибок в Service Worker:
101
101
 
102
102
  ```typescript
103
- import { initializeServiceWorker } from '@budarin/pluggable-serviceworker';
103
+ import {
104
+ initializeServiceWorker,
105
+ ServiceWorkerErrorType,
106
+ } from '@budarin/pluggable-serviceworker';
104
107
 
105
108
  const config = {
106
109
  onError: (error, event, errorType) => {
107
110
  console.log(`Ошибка типа "${errorType}":`, error);
108
111
 
109
112
  switch (errorType) {
110
- case 'error':
113
+ case ServiceWorkerErrorType.ERROR:
111
114
  // JavaScript ошибки
112
115
  console.error('JavaScript error:', error);
113
116
  break;
114
117
 
115
- case 'messageerror':
118
+ case ServiceWorkerErrorType.MESSAGE_ERROR:
116
119
  // Ошибки сообщений
117
120
  console.error('Message error:', error);
118
121
  break;
119
122
 
120
- case 'unhandledrejection':
123
+ case ServiceWorkerErrorType.UNHANDLED_REJECTION:
121
124
  // Необработанные Promise rejection
122
125
  console.error('Unhandled promise rejection:', error);
123
126
  break;
124
127
 
125
- case 'rejectionhandled':
128
+ case ServiceWorkerErrorType.REJECTION_HANDLED:
126
129
  // Обработанные Promise rejection
127
130
  console.log('Promise rejection handled:', error);
128
131
  break;
129
132
 
133
+ case ServiceWorkerErrorType.PLUGIN_ERROR:
134
+ // Ошибки в плагинах
135
+ console.error('Plugin error:', error);
136
+ break;
137
+
130
138
  default:
131
139
  // Ошибки в обработчиках событий (fetch, install, etc.)
132
140
  console.error('Handler error in', event.type, ':', error);
@@ -157,14 +165,30 @@ initializeServiceWorker(
157
165
 
158
166
  #### Типы ошибок
159
167
 
160
- - **`'error'`** - JavaScript ошибки (ErrorEvent)
161
- - **`'messageerror'`** - Ошибки при обработке сообщений (MessageEvent)
162
- - **`'unhandledrejection'`** - Необработанные Promise rejection
163
- - **`'rejectionhandled'`** - Обработанные Promise rejection
164
- - **`undefined`** - Ошибки в обработчиках событий плагинов (fetch, install, etc.)
168
+ Используйте enum `ServiceWorkerErrorType` для типизированной обработки ошибок:
169
+
170
+ - **`ServiceWorkerErrorType.ERROR`** - JavaScript ошибки (ErrorEvent)
171
+ - **`ServiceWorkerErrorType.MESSAGE_ERROR`** - Ошибки при обработке сообщений (MessageEvent)
172
+ - **`ServiceWorkerErrorType.UNHANDLED_REJECTION`** - Необработанные Promise rejection
173
+ - **`ServiceWorkerErrorType.REJECTION_HANDLED`** - Обработанные Promise rejection
174
+ - **`ServiceWorkerErrorType.PLUGIN_ERROR`** - Ошибки в обработчиках событий плагинов (fetch, install, etc.)
165
175
 
166
176
  ## 🔧 API
167
177
 
178
+ ### ServiceWorkerErrorType
179
+
180
+ Перечисление типов ошибок Service Worker:
181
+
182
+ ```typescript
183
+ enum ServiceWorkerErrorType {
184
+ ERROR = 'error', // JavaScript ошибки
185
+ MESSAGE_ERROR = 'messageerror', // Ошибки сообщений
186
+ UNHANDLED_REJECTION = 'unhandledrejection', // Необработанные Promise rejection
187
+ REJECTION_HANDLED = 'rejectionhandled', // Обработанные Promise rejection
188
+ PLUGIN_ERROR = 'plugin_error', // Ошибки в плагинах
189
+ }
190
+ ```
191
+
168
192
  ### ServiceWorkerPlugin
169
193
 
170
194
  Интерфейс плагина:
@@ -201,7 +225,11 @@ function initializeServiceWorker(
201
225
  ```typescript
202
226
  interface ServiceWorkerConfig {
203
227
  plugins?: ServiceWorkerPlugin[];
204
- onError?: (error: Error | any, event: Event, errorType?: string) => void;
228
+ onError?: (
229
+ error: Error | any,
230
+ event: Event,
231
+ errorType?: ServiceWorkerErrorType
232
+ ) => void;
205
233
  }
206
234
  ```
207
235
 
package/dist/index.d.ts CHANGED
@@ -1,3 +1,10 @@
1
+ export declare enum ServiceWorkerErrorType {
2
+ ERROR = "error",
3
+ MESSAGE_ERROR = "messageerror",
4
+ UNHANDLED_REJECTION = "unhandledrejection",
5
+ REJECTION_HANDLED = "rejectionhandled",
6
+ PLUGIN_ERROR = "plugin_error"
7
+ }
1
8
  interface SyncEvent extends ExtendableEvent {
2
9
  readonly tag: string;
3
10
  readonly lastChance: boolean;
@@ -26,7 +33,7 @@ interface ServiceWorkerPlugin extends ServiceWorkerEventHandlers {
26
33
  }
27
34
  interface ServiceWorkerConfig {
28
35
  plugins?: ServiceWorkerPlugin[];
29
- onError?: (error: Error | any, event: Event, errorType?: string) => void;
36
+ onError?: (error: Error | any, event: Event, errorType?: ServiceWorkerErrorType) => void;
30
37
  }
31
38
  export declare function createEventHandlers(plugins: ServiceWorkerPlugin[], config?: ServiceWorkerConfig): {
32
39
  install: (event: ExtendableEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,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;AAGD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,gCAAgC;QACtC,IAAI,EAAE,SAAS,CAAC;QAChB,YAAY,EAAE,iBAAiB,CAAC;KACnC;CACJ;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,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED,UAAU,mBAAoB,SAAQ,0BAA0B;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAmB;IACzB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5E;AAID,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,YAAY,KAAK,IAAI,CAAC;IACvC,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,CAmKA;AAED,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,CAAC,EAAE,mBAAmB,GAC7B,IAAI,CAiBN"}
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;AAGD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,gCAAgC;QACtC,IAAI,EAAE,SAAS,CAAC;QAChB,YAAY,EAAE,iBAAiB,CAAC;KACnC;CACJ;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,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED,UAAU,mBAAoB,SAAQ,0BAA0B;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAmB;IACzB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,CACN,KAAK,EAAE,KAAK,GAAG,GAAG,EAClB,KAAK,EAAE,KAAK,EACZ,SAAS,CAAC,EAAE,sBAAsB,KACjC,IAAI,CAAC;CACb;AAID,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,YAAY,KAAK,IAAI,CAAC;IACvC,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,CA2MA;AAED,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,CAAC,EAAE,mBAAmB,GAC7B,IAAI,CAiBN"}
package/dist/index.js CHANGED
@@ -1,3 +1,11 @@
1
+ export var ServiceWorkerErrorType;
2
+ (function (ServiceWorkerErrorType) {
3
+ ServiceWorkerErrorType["ERROR"] = "error";
4
+ ServiceWorkerErrorType["MESSAGE_ERROR"] = "messageerror";
5
+ ServiceWorkerErrorType["UNHANDLED_REJECTION"] = "unhandledrejection";
6
+ ServiceWorkerErrorType["REJECTION_HANDLED"] = "rejectionhandled";
7
+ ServiceWorkerErrorType["PLUGIN_ERROR"] = "plugin_error";
8
+ })(ServiceWorkerErrorType || (ServiceWorkerErrorType = {}));
1
9
  export function createEventHandlers(plugins, config = {}) {
2
10
  const handlers = {
3
11
  install: [],
@@ -32,10 +40,10 @@ export function createEventHandlers(plugins, config = {}) {
32
40
  });
33
41
  return {
34
42
  install: (event) => {
35
- event.waitUntil(Promise.all(handlers.install.map((handler) => Promise.resolve(handler(event)).catch((error) => config.onError?.(error, event)))));
43
+ event.waitUntil(Promise.all(handlers.install.map((handler) => Promise.resolve(handler(event)).catch((error) => config.onError?.(error, event, ServiceWorkerErrorType.PLUGIN_ERROR)))));
36
44
  },
37
45
  activate: (event) => {
38
- event.waitUntil(Promise.all(handlers.activate.map((handler) => Promise.resolve(handler(event)).catch((error) => config.onError?.(error, event)))));
46
+ event.waitUntil(Promise.all(handlers.activate.map((handler) => Promise.resolve(handler(event)).catch((error) => config.onError?.(error, event, ServiceWorkerErrorType.PLUGIN_ERROR)))));
39
47
  },
40
48
  fetch: (event) => {
41
49
  event.respondWith((async () => {
@@ -47,7 +55,7 @@ export function createEventHandlers(plugins, config = {}) {
47
55
  }
48
56
  }
49
57
  catch (error) {
50
- config.onError?.(error, event);
58
+ config.onError?.(error, event, ServiceWorkerErrorType.PLUGIN_ERROR);
51
59
  }
52
60
  }
53
61
  return fetch(event.request);
@@ -64,10 +72,10 @@ export function createEventHandlers(plugins, config = {}) {
64
72
  });
65
73
  },
66
74
  sync: (event) => {
67
- event.waitUntil(Promise.all(handlers.sync.map((handler) => Promise.resolve(handler(event)).catch((error) => config.onError?.(error, event)))));
75
+ event.waitUntil(Promise.all(handlers.sync.map((handler) => Promise.resolve(handler(event)).catch((error) => config.onError?.(error, event, ServiceWorkerErrorType.PLUGIN_ERROR)))));
68
76
  },
69
77
  periodicsync: (event) => {
70
- event.waitUntil(Promise.all(handlers.periodicsync.map((handler) => Promise.resolve(handler(event)).catch((error) => config.onError?.(error, event)))));
78
+ event.waitUntil(Promise.all(handlers.periodicsync.map((handler) => Promise.resolve(handler(event)).catch((error) => config.onError?.(error, event, ServiceWorkerErrorType.PLUGIN_ERROR)))));
71
79
  },
72
80
  push: (event) => {
73
81
  event.waitUntil((async () => {
@@ -76,14 +84,14 @@ export function createEventHandlers(plugins, config = {}) {
76
84
  await Promise.resolve(handler(event));
77
85
  }
78
86
  catch (error) {
79
- config.onError?.(error, event);
87
+ config.onError?.(error, event, ServiceWorkerErrorType.PLUGIN_ERROR);
80
88
  }
81
89
  }
82
90
  })());
83
91
  },
84
92
  error: (event) => {
85
93
  try {
86
- config.onError?.(event.error, event, 'error');
94
+ config.onError?.(event.error, event, ServiceWorkerErrorType.ERROR);
87
95
  }
88
96
  catch (error) {
89
97
  console.error('Error in error handler:', error);
@@ -91,7 +99,7 @@ export function createEventHandlers(plugins, config = {}) {
91
99
  },
92
100
  messageerror: (event) => {
93
101
  try {
94
- config.onError?.(event.data, event, 'messageerror');
102
+ config.onError?.(event.data, event, ServiceWorkerErrorType.MESSAGE_ERROR);
95
103
  }
96
104
  catch (error) {
97
105
  console.error('Error in messageerror handler:', error);
@@ -99,7 +107,7 @@ export function createEventHandlers(plugins, config = {}) {
99
107
  },
100
108
  unhandledrejection: (event) => {
101
109
  try {
102
- config.onError?.(event.reason, event, 'unhandledrejection');
110
+ config.onError?.(event.reason, event, ServiceWorkerErrorType.UNHANDLED_REJECTION);
103
111
  }
104
112
  catch (error) {
105
113
  console.error('Error in unhandledrejection handler:', error);
@@ -107,7 +115,7 @@ export function createEventHandlers(plugins, config = {}) {
107
115
  },
108
116
  rejectionhandled: (event) => {
109
117
  try {
110
- config.onError?.(event.reason, event, 'rejectionhandled');
118
+ config.onError?.(event.reason, event, ServiceWorkerErrorType.REJECTION_HANDLED);
111
119
  }
112
120
  catch (error) {
113
121
  console.error('Error in rejectionhandled handler:', error);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budarin/pluggable-serviceworker",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Extensible via plugins service worker",
5
5
  "keywords": [
6
6
  "serviceworker",
package/src/index.ts CHANGED
@@ -1,3 +1,11 @@
1
+ export enum ServiceWorkerErrorType {
2
+ ERROR = 'error',
3
+ MESSAGE_ERROR = 'messageerror',
4
+ UNHANDLED_REJECTION = 'unhandledrejection',
5
+ REJECTION_HANDLED = 'rejectionhandled',
6
+ PLUGIN_ERROR = 'plugin_error',
7
+ }
8
+
1
9
  interface SyncEvent extends ExtendableEvent {
2
10
  readonly tag: string;
3
11
  readonly lastChance: boolean;
@@ -32,7 +40,11 @@ interface ServiceWorkerPlugin extends ServiceWorkerEventHandlers {
32
40
 
33
41
  interface ServiceWorkerConfig {
34
42
  plugins?: ServiceWorkerPlugin[];
35
- onError?: (error: Error | any, event: Event, errorType?: string) => void;
43
+ onError?: (
44
+ error: Error | any,
45
+ event: Event,
46
+ errorType?: ServiceWorkerErrorType
47
+ ) => void;
36
48
  }
37
49
 
38
50
  type FetchResponse = Promise<Response | null>;
@@ -95,7 +107,11 @@ export function createEventHandlers(
95
107
  handlers.install.map((handler) =>
96
108
  Promise.resolve(handler(event)).catch(
97
109
  (error: unknown) =>
98
- config.onError?.(error as Error, event)
110
+ config.onError?.(
111
+ error as Error,
112
+ event,
113
+ ServiceWorkerErrorType.PLUGIN_ERROR
114
+ )
99
115
  )
100
116
  )
101
117
  )
@@ -108,7 +124,11 @@ export function createEventHandlers(
108
124
  handlers.activate.map((handler) =>
109
125
  Promise.resolve(handler(event)).catch(
110
126
  (error: unknown) =>
111
- config.onError?.(error as Error, event)
127
+ config.onError?.(
128
+ error as Error,
129
+ event,
130
+ ServiceWorkerErrorType.PLUGIN_ERROR
131
+ )
112
132
  )
113
133
  )
114
134
  )
@@ -125,7 +145,11 @@ export function createEventHandlers(
125
145
  return result;
126
146
  }
127
147
  } catch (error) {
128
- config.onError?.(error as Error, event);
148
+ config.onError?.(
149
+ error as Error,
150
+ event,
151
+ ServiceWorkerErrorType.PLUGIN_ERROR
152
+ );
129
153
  }
130
154
  }
131
155
  return fetch(event.request);
@@ -149,7 +173,11 @@ export function createEventHandlers(
149
173
  handlers.sync.map((handler) =>
150
174
  Promise.resolve(handler(event)).catch(
151
175
  (error: unknown) =>
152
- config.onError?.(error as Error, event)
176
+ config.onError?.(
177
+ error as Error,
178
+ event,
179
+ ServiceWorkerErrorType.PLUGIN_ERROR
180
+ )
153
181
  )
154
182
  )
155
183
  )
@@ -162,7 +190,11 @@ export function createEventHandlers(
162
190
  handlers.periodicsync.map((handler) =>
163
191
  Promise.resolve(handler(event)).catch(
164
192
  (error: unknown) =>
165
- config.onError?.(error as Error, event)
193
+ config.onError?.(
194
+ error as Error,
195
+ event,
196
+ ServiceWorkerErrorType.PLUGIN_ERROR
197
+ )
166
198
  )
167
199
  )
168
200
  )
@@ -176,7 +208,11 @@ export function createEventHandlers(
176
208
  try {
177
209
  await Promise.resolve(handler(event));
178
210
  } catch (error) {
179
- config.onError?.(error as Error, event);
211
+ config.onError?.(
212
+ error as Error,
213
+ event,
214
+ ServiceWorkerErrorType.PLUGIN_ERROR
215
+ );
180
216
  }
181
217
  }
182
218
  })()
@@ -185,7 +221,11 @@ export function createEventHandlers(
185
221
 
186
222
  error: (event: ErrorEvent): void => {
187
223
  try {
188
- config.onError?.(event.error, event, 'error');
224
+ config.onError?.(
225
+ event.error,
226
+ event,
227
+ ServiceWorkerErrorType.ERROR
228
+ );
189
229
  } catch (error) {
190
230
  console.error('Error in error handler:', error);
191
231
  }
@@ -193,7 +233,11 @@ export function createEventHandlers(
193
233
 
194
234
  messageerror: (event: MessageEvent): void => {
195
235
  try {
196
- config.onError?.(event.data, event, 'messageerror');
236
+ config.onError?.(
237
+ event.data,
238
+ event,
239
+ ServiceWorkerErrorType.MESSAGE_ERROR
240
+ );
197
241
  } catch (error) {
198
242
  console.error('Error in messageerror handler:', error);
199
243
  }
@@ -201,7 +245,11 @@ export function createEventHandlers(
201
245
 
202
246
  unhandledrejection: (event: PromiseRejectionEvent): void => {
203
247
  try {
204
- config.onError?.(event.reason, event, 'unhandledrejection');
248
+ config.onError?.(
249
+ event.reason,
250
+ event,
251
+ ServiceWorkerErrorType.UNHANDLED_REJECTION
252
+ );
205
253
  } catch (error) {
206
254
  console.error('Error in unhandledrejection handler:', error);
207
255
  }
@@ -209,7 +257,11 @@ export function createEventHandlers(
209
257
 
210
258
  rejectionhandled: (event: PromiseRejectionEvent): void => {
211
259
  try {
212
- config.onError?.(event.reason, event, 'rejectionhandled');
260
+ config.onError?.(
261
+ event.reason,
262
+ event,
263
+ ServiceWorkerErrorType.REJECTION_HANDLED
264
+ );
213
265
  } catch (error) {
214
266
  console.error('Error in rejectionhandled handler:', error);
215
267
  }