| /* eslint-disable no-restricted-globals */ | 
| /* eslint-disable no-underscore-dangle */ | 
| /* globals workbox */ | 
| workbox.core.setCacheNameDetails({ | 
|   prefix: 'antd-pro', | 
|   suffix: 'v5', | 
| }); | 
| // Control all opened tabs ASAP | 
| workbox.clientsClaim(); | 
|   | 
| /** | 
|  * Use precaching list generated by workbox in build process. | 
|  * https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.precaching | 
|  */ | 
| workbox.precaching.precacheAndRoute(self.__precacheManifest || []); | 
|   | 
| /** | 
|  * Register a navigation route. | 
|  * https://developers.google.com/web/tools/workbox/modules/workbox-routing#how_to_register_a_navigation_route | 
|  */ | 
| workbox.routing.registerNavigationRoute('/index.html'); | 
|   | 
| /** | 
|  * Use runtime cache: | 
|  * https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.routing#.registerRoute | 
|  * | 
|  * Workbox provides all common caching strategies including CacheFirst, NetworkFirst etc. | 
|  * https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.strategies | 
|  */ | 
|   | 
| /** Handle API requests */ | 
| workbox.routing.registerRoute(/\/api\//, workbox.strategies.networkFirst()); | 
|   | 
| /** Handle third party requests */ | 
| workbox.routing.registerRoute( | 
|   /^https:\/\/gw\.alipayobjects\.com\//, | 
|   workbox.strategies.networkFirst(), | 
| ); | 
| workbox.routing.registerRoute( | 
|   /^https:\/\/cdnjs\.cloudflare\.com\//, | 
|   workbox.strategies.networkFirst(), | 
| ); | 
| workbox.routing.registerRoute(/\/color.less/, workbox.strategies.networkFirst()); | 
|   | 
| /** Response to client after skipping waiting with MessageChannel */ | 
| addEventListener('message', (event) => { | 
|   const replyPort = event.ports[0]; | 
|   const message = event.data; | 
|   if (replyPort && message && message.type === 'skip-waiting') { | 
|     event.waitUntil( | 
|       self.skipWaiting().then( | 
|         () => { | 
|           replyPort.postMessage({ | 
|             error: null, | 
|           }); | 
|         }, | 
|         (error) => { | 
|           replyPort.postMessage({ | 
|             error, | 
|           }); | 
|         }, | 
|       ), | 
|     ); | 
|   } | 
| }); |