2023-02-19 15:43:03 +08:00
"use strict" ;
( self [ "webpackChunkjjbook" ] = self [ "webpackChunkjjbook" ] || [ ] ) . push ( [ [ "src_sw_js" ] , {
/***/ "./src/sw.js" :
/ * ! * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / sw . js * * * !
\ * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "default" : ( ) => ( /* binding */ swCustom )
/* harmony export */ } ) ;
/* harmony import */ var workbox _routing _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! workbox-routing */ "./node_modules/workbox-routing/index.mjs" ) ;
/* harmony import */ var workbox _strategies _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! workbox-strategies */ "./node_modules/workbox-strategies/index.mjs" ) ;
// default fn export receiving some useful params
function swCustom ( params ) {
const {
debug ,
// :boolean
offlineMode // :boolean
} = params ;
// Cache responses from external resources
( 0 , workbox _routing _ _WEBPACK _IMPORTED _MODULE _0 _ _ . registerRoute ) ( context => {
2023-02-19 16:05:45 +08:00
return [ /githubusercontent/ , /\/awesome-interview\// ] . some ( regex => context . url . href . match ( regex ) ) ;
2023-02-19 15:43:03 +08:00
} , new workbox _strategies _ _WEBPACK _IMPORTED _MODULE _1 _ _ . StaleWhileRevalidate ( ) ) ;
}
/***/ } ) ,
/***/ "./node_modules/workbox-routing/NavigationRoute.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - routing / NavigationRoute . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "NavigationRoute" : ( ) => ( /* binding */ NavigationRoute )
/* harmony export */ } ) ;
/* harmony import */ var workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/assert.js */ "./node_modules/workbox-core/_private/assert.js" ) ;
/* harmony import */ var workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/logger.js */ "./node_modules/workbox-core/_private/logger.js" ) ;
/* harmony import */ var _Route _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( /*! ./Route.js */ "./node_modules/workbox-routing/Route.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-routing/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* NavigationRoute makes it easy to create a
* { @ link workbox - routing . Route } that matches for browser
* [ navigation requests ] { @ link https : //developers.google.com/web/fundamentals/primers/service-workers/high-performance-loading#first_what_are_navigation_requests}.
*
* It will only match incoming Requests whose
* { @ link https : //fetch.spec.whatwg.org/#concept-request-mode|mode}
* is set to ` navigate ` .
*
* You can optionally only apply this route to a subset of navigation requests
* by using one or both of the ` denylist ` and ` allowlist ` parameters .
*
* @ memberof workbox - routing
* @ extends workbox - routing . Route
* /
class NavigationRoute extends _Route _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Route {
/ * *
* If both ` denylist ` and ` allowlist ` are provided , the ` denylist ` will
* take precedence and the request will not match this route .
*
* The regular expressions in ` allowlist ` and ` denylist `
* are matched against the concatenated
* [ ` pathname ` ] { @ link https : //developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/pathname}
* and [ ` search ` ] { @ link https : //developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search}
* portions of the requested URL .
*
* * Note * : These RegExps may be evaluated against every destination URL during
* a navigation . Avoid using
* [ complex RegExps ] ( https : //github.com/GoogleChrome/workbox/issues/3077),
* or else your users may see delays when navigating your site .
*
* @ param { workbox - routing ~ handlerCallback } handler A callback
* function that returns a Promise resulting in a Response .
* @ param { Object } options
* @ param { Array < RegExp > } [ options . denylist ] If any of these patterns match ,
* the route will not handle the request ( even if a allowlist RegExp matches ) .
* @ param { Array < RegExp > } [ options . allowlist = [ /./ ] ] If any of these patterns
* match the URL ' s pathname and search parameter , the route will handle the
* request ( assuming the denylist doesn ' t match ) .
* /
constructor ( handler , { allowlist = [ /./ ] , denylist = [ ] } = { } ) {
if ( true ) {
workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . assert . isArrayOfClass ( allowlist , RegExp , {
moduleName : 'workbox-routing' ,
className : 'NavigationRoute' ,
funcName : 'constructor' ,
paramName : 'options.allowlist' ,
} ) ;
workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . assert . isArrayOfClass ( denylist , RegExp , {
moduleName : 'workbox-routing' ,
className : 'NavigationRoute' ,
funcName : 'constructor' ,
paramName : 'options.denylist' ,
} ) ;
}
super ( ( options ) => this . _match ( options ) , handler ) ;
this . _allowlist = allowlist ;
this . _denylist = denylist ;
}
/ * *
* Routes match handler .
*
* @ param { Object } options
* @ param { URL } options . url
* @ param { Request } options . request
* @ return { boolean }
*
* @ private
* /
_match ( { url , request } ) {
if ( request && request . mode !== 'navigate' ) {
return false ;
}
const pathnameAndSearch = url . pathname + url . search ;
for ( const regExp of this . _denylist ) {
if ( regExp . test ( pathnameAndSearch ) ) {
if ( true ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . log ( ` The navigation route ${ pathnameAndSearch } is not ` +
` being used, since the URL matches this denylist pattern: ` +
` ${ regExp . toString ( ) } ` ) ;
}
return false ;
}
}
if ( this . _allowlist . some ( ( regExp ) => regExp . test ( pathnameAndSearch ) ) ) {
if ( true ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . debug ( ` The navigation route ${ pathnameAndSearch } ` + ` is being used. ` ) ;
}
return true ;
}
if ( true ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . log ( ` The navigation route ${ pathnameAndSearch } is not ` +
` being used, since the URL being navigated to doesn't ` +
` match the allowlist. ` ) ;
}
return false ;
}
}
/***/ } ) ,
/***/ "./node_modules/workbox-routing/index.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - routing / index . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "NavigationRoute" : ( ) => ( /* reexport safe */ _NavigationRoute _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . NavigationRoute ) ,
/* harmony export */ "RegExpRoute" : ( ) => ( /* reexport safe */ _RegExpRoute _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . RegExpRoute ) ,
/* harmony export */ "Route" : ( ) => ( /* reexport safe */ _Route _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Route ) ,
/* harmony export */ "Router" : ( ) => ( /* reexport safe */ _Router _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . Router ) ,
/* harmony export */ "registerRoute" : ( ) => ( /* reexport safe */ _registerRoute _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . registerRoute ) ,
/* harmony export */ "setCatchHandler" : ( ) => ( /* reexport safe */ _setCatchHandler _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . setCatchHandler ) ,
/* harmony export */ "setDefaultHandler" : ( ) => ( /* reexport safe */ _setDefaultHandler _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . setDefaultHandler )
/* harmony export */ } ) ;
/* harmony import */ var _NavigationRoute _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! ./NavigationRoute.js */ "./node_modules/workbox-routing/NavigationRoute.js" ) ;
/* harmony import */ var _RegExpRoute _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! ./RegExpRoute.js */ "./node_modules/workbox-routing/RegExpRoute.js" ) ;
/* harmony import */ var _registerRoute _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( /*! ./registerRoute.js */ "./node_modules/workbox-routing/registerRoute.js" ) ;
/* harmony import */ var _Route _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( /*! ./Route.js */ "./node_modules/workbox-routing/Route.js" ) ;
/* harmony import */ var _Router _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ = _ _webpack _require _ _ ( /*! ./Router.js */ "./node_modules/workbox-routing/Router.js" ) ;
/* harmony import */ var _setCatchHandler _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ = _ _webpack _require _ _ ( /*! ./setCatchHandler.js */ "./node_modules/workbox-routing/setCatchHandler.js" ) ;
/* harmony import */ var _setDefaultHandler _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ = _ _webpack _require _ _ ( /*! ./setDefaultHandler.js */ "./node_modules/workbox-routing/setDefaultHandler.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-routing/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* @ module workbox - routing
* /
/***/ } ) ,
/***/ "./node_modules/workbox-routing/setCatchHandler.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - routing / setCatchHandler . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "setCatchHandler" : ( ) => ( /* binding */ setCatchHandler )
/* harmony export */ } ) ;
/* harmony import */ var _utils _getOrCreateDefaultRouter _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! ./utils/getOrCreateDefaultRouter.js */ "./node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-routing/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ ) ;
/ *
Copyright 2019 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* If a Route throws an error while handling a request , this ` handler `
* will be called and given a chance to provide a response .
*
* @ param { workbox - routing ~ handlerCallback } handler A callback
* function that returns a Promise resulting in a Response .
*
* @ memberof workbox - routing
* /
function setCatchHandler ( handler ) {
const defaultRouter = ( 0 , _utils _getOrCreateDefaultRouter _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . getOrCreateDefaultRouter ) ( ) ;
defaultRouter . setCatchHandler ( handler ) ;
}
/***/ } ) ,
/***/ "./node_modules/workbox-routing/setDefaultHandler.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - routing / setDefaultHandler . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "setDefaultHandler" : ( ) => ( /* binding */ setDefaultHandler )
/* harmony export */ } ) ;
/* harmony import */ var _utils _getOrCreateDefaultRouter _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! ./utils/getOrCreateDefaultRouter.js */ "./node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-routing/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ ) ;
/ *
Copyright 2019 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* Define a default ` handler ` that ' s called when no routes explicitly
* match the incoming request .
*
* Without a default handler , unmatched requests will go against the
* network as if there were no service worker present .
*
* @ param { workbox - routing ~ handlerCallback } handler A callback
* function that returns a Promise resulting in a Response .
*
* @ memberof workbox - routing
* /
function setDefaultHandler ( handler ) {
const defaultRouter = ( 0 , _utils _getOrCreateDefaultRouter _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . getOrCreateDefaultRouter ) ( ) ;
defaultRouter . setDefaultHandler ( handler ) ;
}
/***/ } ) ,
/***/ "./node_modules/workbox-strategies/CacheFirst.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - strategies / CacheFirst . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "CacheFirst" : ( ) => ( /* binding */ CacheFirst )
/* harmony export */ } ) ;
/* harmony import */ var workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/assert.js */ "./node_modules/workbox-core/_private/assert.js" ) ;
/* harmony import */ var workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/logger.js */ "./node_modules/workbox-core/_private/logger.js" ) ;
/* harmony import */ var workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/WorkboxError.js */ "./node_modules/workbox-core/_private/WorkboxError.js" ) ;
/* harmony import */ var _Strategy _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( /*! ./Strategy.js */ "./node_modules/workbox-strategies/Strategy.js" ) ;
/* harmony import */ var _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ = _ _webpack _require _ _ ( /*! ./utils/messages.js */ "./node_modules/workbox-strategies/utils/messages.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-strategies/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* An implementation of a [ cache - first ] ( https : //developer.chrome.com/docs/workbox/caching-strategies-overview/#cache-first-falling-back-to-network)
* request strategy .
*
* A cache first strategy is useful for assets that have been revisioned ,
* such as URLs like ` /styles/example.a8f5f1.css ` , since they
* can be cached for long periods of time .
*
* If the network request fails , and there is no cache match , this will throw
* a ` WorkboxError ` exception .
*
* @ extends workbox - strategies . Strategy
* @ memberof workbox - strategies
* /
class CacheFirst extends _Strategy _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Strategy {
/ * *
* @ private
* @ param { Request | string } request A request to run this strategy for .
* @ param { workbox - strategies . StrategyHandler } handler The event that
* triggered the request .
* @ return { Promise < Response > }
* /
async _handle ( request , handler ) {
const logs = [ ] ;
if ( true ) {
workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . assert . isInstance ( request , Request , {
moduleName : 'workbox-strategies' ,
className : this . constructor . name ,
funcName : 'makeRequest' ,
paramName : 'request' ,
} ) ;
}
let response = await handler . cacheMatch ( request ) ;
let error = undefined ;
if ( ! response ) {
if ( true ) {
logs . push ( ` No response found in the ' ${ this . cacheName } ' cache. ` +
` Will respond with a network request. ` ) ;
}
try {
response = await handler . fetchAndCachePut ( request ) ;
}
catch ( err ) {
if ( err instanceof Error ) {
error = err ;
}
}
if ( true ) {
if ( response ) {
logs . push ( ` Got response from network. ` ) ;
}
else {
logs . push ( ` Unable to get a response from the network. ` ) ;
}
}
}
else {
if ( true ) {
logs . push ( ` Found a cached response in the ' ${ this . cacheName } ' cache. ` ) ;
}
}
if ( true ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupCollapsed ( _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . messages . strategyStart ( this . constructor . name , request ) ) ;
for ( const log of logs ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . log ( log ) ;
}
_utils _messages _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . messages . printFinalResponse ( response ) ;
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupEnd ( ) ;
}
if ( ! response ) {
throw new workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . WorkboxError ( 'no-response' , { url : request . url , error } ) ;
}
return response ;
}
}
/***/ } ) ,
/***/ "./node_modules/workbox-strategies/CacheOnly.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - strategies / CacheOnly . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "CacheOnly" : ( ) => ( /* binding */ CacheOnly )
/* harmony export */ } ) ;
/* harmony import */ var workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/assert.js */ "./node_modules/workbox-core/_private/assert.js" ) ;
/* harmony import */ var workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/logger.js */ "./node_modules/workbox-core/_private/logger.js" ) ;
/* harmony import */ var workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/WorkboxError.js */ "./node_modules/workbox-core/_private/WorkboxError.js" ) ;
/* harmony import */ var _Strategy _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( /*! ./Strategy.js */ "./node_modules/workbox-strategies/Strategy.js" ) ;
/* harmony import */ var _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ = _ _webpack _require _ _ ( /*! ./utils/messages.js */ "./node_modules/workbox-strategies/utils/messages.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-strategies/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* An implementation of a [ cache - only ] ( https : //developer.chrome.com/docs/workbox/caching-strategies-overview/#cache-only)
* request strategy .
*
* This class is useful if you want to take advantage of any
* [ Workbox plugins ] ( https : //developer.chrome.com/docs/workbox/using-plugins/).
*
* If there is no cache match , this will throw a ` WorkboxError ` exception .
*
* @ extends workbox - strategies . Strategy
* @ memberof workbox - strategies
* /
class CacheOnly extends _Strategy _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Strategy {
/ * *
* @ private
* @ param { Request | string } request A request to run this strategy for .
* @ param { workbox - strategies . StrategyHandler } handler The event that
* triggered the request .
* @ return { Promise < Response > }
* /
async _handle ( request , handler ) {
if ( true ) {
workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . assert . isInstance ( request , Request , {
moduleName : 'workbox-strategies' ,
className : this . constructor . name ,
funcName : 'makeRequest' ,
paramName : 'request' ,
} ) ;
}
const response = await handler . cacheMatch ( request ) ;
if ( true ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupCollapsed ( _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . messages . strategyStart ( this . constructor . name , request ) ) ;
if ( response ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . log ( ` Found a cached response in the ' ${ this . cacheName } ' ` + ` cache. ` ) ;
_utils _messages _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . messages . printFinalResponse ( response ) ;
}
else {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . log ( ` No response found in the ' ${ this . cacheName } ' cache. ` ) ;
}
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupEnd ( ) ;
}
if ( ! response ) {
throw new workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . WorkboxError ( 'no-response' , { url : request . url } ) ;
}
return response ;
}
}
/***/ } ) ,
/***/ "./node_modules/workbox-strategies/NetworkFirst.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - strategies / NetworkFirst . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "NetworkFirst" : ( ) => ( /* binding */ NetworkFirst )
/* harmony export */ } ) ;
/* harmony import */ var workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/assert.js */ "./node_modules/workbox-core/_private/assert.js" ) ;
/* harmony import */ var workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/logger.js */ "./node_modules/workbox-core/_private/logger.js" ) ;
/* harmony import */ var workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/WorkboxError.js */ "./node_modules/workbox-core/_private/WorkboxError.js" ) ;
/* harmony import */ var _plugins _cacheOkAndOpaquePlugin _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( /*! ./plugins/cacheOkAndOpaquePlugin.js */ "./node_modules/workbox-strategies/plugins/cacheOkAndOpaquePlugin.js" ) ;
/* harmony import */ var _Strategy _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ = _ _webpack _require _ _ ( /*! ./Strategy.js */ "./node_modules/workbox-strategies/Strategy.js" ) ;
/* harmony import */ var _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ = _ _webpack _require _ _ ( /*! ./utils/messages.js */ "./node_modules/workbox-strategies/utils/messages.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-strategies/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* An implementation of a
* [ network first ] ( https : //developer.chrome.com/docs/workbox/caching-strategies-overview/#network-first-falling-back-to-cache)
* request strategy .
*
* By default , this strategy will cache responses with a 200 status code as
* well as [ opaque responses ] ( https : //developer.chrome.com/docs/workbox/caching-resources-during-runtime/#opaque-responses).
* Opaque responses are are cross - origin requests where the response doesn ' t
* support [ CORS ] ( https : //enable-cors.org/).
*
* If the network request fails , and there is no cache match , this will throw
* a ` WorkboxError ` exception .
*
* @ extends workbox - strategies . Strategy
* @ memberof workbox - strategies
* /
class NetworkFirst extends _Strategy _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . Strategy {
/ * *
* @ param { Object } [ options ]
* @ param { string } [ options . cacheName ] Cache name to store and retrieve
* requests . Defaults to cache names provided by
* { @ link workbox - core . cacheNames } .
* @ param { Array < Object > } [ options . plugins ] [ Plugins ] { @ link https : //developers.google.com/web/tools/workbox/guides/using-plugins}
* to use in conjunction with this caching strategy .
* @ param { Object } [ options . fetchOptions ] Values passed along to the
* [ ` init ` ] ( https : //developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)
* of [ non - navigation ] ( https : //github.com/GoogleChrome/workbox/issues/1796)
* ` fetch() ` requests made by this strategy .
* @ param { Object } [ options . matchOptions ] [ ` CacheQueryOptions ` ] ( https : //w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions)
* @ param { number } [ options . networkTimeoutSeconds ] If set , any network requests
* that fail to respond within the timeout will fallback to the cache .
*
* This option can be used to combat
* "[lie-fi]{@link https://developers.google.com/web/fundamentals/performance/poor-connectivity/#lie-fi}"
* scenarios .
* /
constructor ( options = { } ) {
super ( options ) ;
// If this instance contains no plugins with a 'cacheWillUpdate' callback,
// prepend the `cacheOkAndOpaquePlugin` plugin to the plugins list.
if ( ! this . plugins . some ( ( p ) => 'cacheWillUpdate' in p ) ) {
this . plugins . unshift ( _plugins _cacheOkAndOpaquePlugin _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . cacheOkAndOpaquePlugin ) ;
}
this . _networkTimeoutSeconds = options . networkTimeoutSeconds || 0 ;
if ( true ) {
if ( this . _networkTimeoutSeconds ) {
workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . assert . isType ( this . _networkTimeoutSeconds , 'number' , {
moduleName : 'workbox-strategies' ,
className : this . constructor . name ,
funcName : 'constructor' ,
paramName : 'networkTimeoutSeconds' ,
} ) ;
}
}
}
/ * *
* @ private
* @ param { Request | string } request A request to run this strategy for .
* @ param { workbox - strategies . StrategyHandler } handler The event that
* triggered the request .
* @ return { Promise < Response > }
* /
async _handle ( request , handler ) {
const logs = [ ] ;
if ( true ) {
workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . assert . isInstance ( request , Request , {
moduleName : 'workbox-strategies' ,
className : this . constructor . name ,
funcName : 'handle' ,
paramName : 'makeRequest' ,
} ) ;
}
const promises = [ ] ;
let timeoutId ;
if ( this . _networkTimeoutSeconds ) {
const { id , promise } = this . _getTimeoutPromise ( { request , logs , handler } ) ;
timeoutId = id ;
promises . push ( promise ) ;
}
const networkPromise = this . _getNetworkPromise ( {
timeoutId ,
request ,
logs ,
handler ,
} ) ;
promises . push ( networkPromise ) ;
const response = await handler . waitUntil ( ( async ( ) => {
// Promise.race() will resolve as soon as the first promise resolves.
return ( ( await handler . waitUntil ( Promise . race ( promises ) ) ) ||
// If Promise.race() resolved with null, it might be due to a network
// timeout + a cache miss. If that were to happen, we'd rather wait until
// the networkPromise resolves instead of returning null.
// Note that it's fine to await an already-resolved promise, so we don't
// have to check to see if it's still "in flight".
( await networkPromise ) ) ;
} ) ( ) ) ;
if ( true ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupCollapsed ( _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . messages . strategyStart ( this . constructor . name , request ) ) ;
for ( const log of logs ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . log ( log ) ;
}
_utils _messages _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . messages . printFinalResponse ( response ) ;
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupEnd ( ) ;
}
if ( ! response ) {
throw new workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . WorkboxError ( 'no-response' , { url : request . url } ) ;
}
return response ;
}
/ * *
* @ param { Object } options
* @ param { Request } options . request
* @ param { Array } options . logs A reference to the logs array
* @ param { Event } options . event
* @ return { Promise < Response > }
*
* @ private
* /
_getTimeoutPromise ( { request , logs , handler , } ) {
let timeoutId ;
const timeoutPromise = new Promise ( ( resolve ) => {
const onNetworkTimeout = async ( ) => {
if ( true ) {
logs . push ( ` Timing out the network response at ` +
` ${ this . _networkTimeoutSeconds } seconds. ` ) ;
}
resolve ( await handler . cacheMatch ( request ) ) ;
} ;
timeoutId = setTimeout ( onNetworkTimeout , this . _networkTimeoutSeconds * 1000 ) ;
} ) ;
return {
promise : timeoutPromise ,
id : timeoutId ,
} ;
}
/ * *
* @ param { Object } options
* @ param { number | undefined } options . timeoutId
* @ param { Request } options . request
* @ param { Array } options . logs A reference to the logs Array .
* @ param { Event } options . event
* @ return { Promise < Response > }
*
* @ private
* /
async _getNetworkPromise ( { timeoutId , request , logs , handler , } ) {
let error ;
let response ;
try {
response = await handler . fetchAndCachePut ( request ) ;
}
catch ( fetchError ) {
if ( fetchError instanceof Error ) {
error = fetchError ;
}
}
if ( timeoutId ) {
clearTimeout ( timeoutId ) ;
}
if ( true ) {
if ( response ) {
logs . push ( ` Got response from network. ` ) ;
}
else {
logs . push ( ` Unable to get a response from the network. Will respond ` +
` with a cached response. ` ) ;
}
}
if ( error || ! response ) {
response = await handler . cacheMatch ( request ) ;
if ( true ) {
if ( response ) {
logs . push ( ` Found a cached response in the ' ${ this . cacheName } ' ` + ` cache. ` ) ;
}
else {
logs . push ( ` No response found in the ' ${ this . cacheName } ' cache. ` ) ;
}
}
}
return response ;
}
}
/***/ } ) ,
/***/ "./node_modules/workbox-strategies/NetworkOnly.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - strategies / NetworkOnly . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "NetworkOnly" : ( ) => ( /* binding */ NetworkOnly )
/* harmony export */ } ) ;
/* harmony import */ var workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/assert.js */ "./node_modules/workbox-core/_private/assert.js" ) ;
/* harmony import */ var workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/logger.js */ "./node_modules/workbox-core/_private/logger.js" ) ;
/* harmony import */ var workbox _core _private _timeout _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/timeout.js */ "./node_modules/workbox-core/_private/timeout.js" ) ;
/* harmony import */ var workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/WorkboxError.js */ "./node_modules/workbox-core/_private/WorkboxError.js" ) ;
/* harmony import */ var _Strategy _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ = _ _webpack _require _ _ ( /*! ./Strategy.js */ "./node_modules/workbox-strategies/Strategy.js" ) ;
/* harmony import */ var _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ = _ _webpack _require _ _ ( /*! ./utils/messages.js */ "./node_modules/workbox-strategies/utils/messages.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-strategies/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* An implementation of a
* [ network - only ] ( https : //developer.chrome.com/docs/workbox/caching-strategies-overview/#network-only)
* request strategy .
*
* This class is useful if you want to take advantage of any
* [ Workbox plugins ] ( https : //developer.chrome.com/docs/workbox/using-plugins/).
*
* If the network request fails , this will throw a ` WorkboxError ` exception .
*
* @ extends workbox - strategies . Strategy
* @ memberof workbox - strategies
* /
class NetworkOnly extends _Strategy _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . Strategy {
/ * *
* @ param { Object } [ options ]
* @ param { Array < Object > } [ options . plugins ] [ Plugins ] { @ link https : //developers.google.com/web/tools/workbox/guides/using-plugins}
* to use in conjunction with this caching strategy .
* @ param { Object } [ options . fetchOptions ] Values passed along to the
* [ ` init ` ] ( https : //developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)
* of [ non - navigation ] ( https : //github.com/GoogleChrome/workbox/issues/1796)
* ` fetch() ` requests made by this strategy .
* @ param { number } [ options . networkTimeoutSeconds ] If set , any network requests
* that fail to respond within the timeout will result in a network error .
* /
constructor ( options = { } ) {
super ( options ) ;
this . _networkTimeoutSeconds = options . networkTimeoutSeconds || 0 ;
}
/ * *
* @ private
* @ param { Request | string } request A request to run this strategy for .
* @ param { workbox - strategies . StrategyHandler } handler The event that
* triggered the request .
* @ return { Promise < Response > }
* /
async _handle ( request , handler ) {
if ( true ) {
workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . assert . isInstance ( request , Request , {
moduleName : 'workbox-strategies' ,
className : this . constructor . name ,
funcName : '_handle' ,
paramName : 'request' ,
} ) ;
}
let error = undefined ;
let response ;
try {
const promises = [
handler . fetch ( request ) ,
] ;
if ( this . _networkTimeoutSeconds ) {
const timeoutPromise = ( 0 , workbox _core _private _timeout _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . timeout ) ( this . _networkTimeoutSeconds * 1000 ) ;
promises . push ( timeoutPromise ) ;
}
response = await Promise . race ( promises ) ;
if ( ! response ) {
throw new Error ( ` Timed out the network response after ` +
` ${ this . _networkTimeoutSeconds } seconds. ` ) ;
}
}
catch ( err ) {
if ( err instanceof Error ) {
error = err ;
}
}
if ( true ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupCollapsed ( _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . messages . strategyStart ( this . constructor . name , request ) ) ;
if ( response ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . log ( ` Got response from network. ` ) ;
}
else {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . log ( ` Unable to get a response from the network. ` ) ;
}
_utils _messages _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . messages . printFinalResponse ( response ) ;
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupEnd ( ) ;
}
if ( ! response ) {
throw new workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . WorkboxError ( 'no-response' , { url : request . url , error } ) ;
}
return response ;
}
}
/***/ } ) ,
/***/ "./node_modules/workbox-strategies/StaleWhileRevalidate.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - strategies / StaleWhileRevalidate . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "StaleWhileRevalidate" : ( ) => ( /* binding */ StaleWhileRevalidate )
/* harmony export */ } ) ;
/* harmony import */ var workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/assert.js */ "./node_modules/workbox-core/_private/assert.js" ) ;
/* harmony import */ var workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/logger.js */ "./node_modules/workbox-core/_private/logger.js" ) ;
/* harmony import */ var workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/WorkboxError.js */ "./node_modules/workbox-core/_private/WorkboxError.js" ) ;
/* harmony import */ var _plugins _cacheOkAndOpaquePlugin _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( /*! ./plugins/cacheOkAndOpaquePlugin.js */ "./node_modules/workbox-strategies/plugins/cacheOkAndOpaquePlugin.js" ) ;
/* harmony import */ var _Strategy _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ = _ _webpack _require _ _ ( /*! ./Strategy.js */ "./node_modules/workbox-strategies/Strategy.js" ) ;
/* harmony import */ var _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ = _ _webpack _require _ _ ( /*! ./utils/messages.js */ "./node_modules/workbox-strategies/utils/messages.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-strategies/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* An implementation of a
* [ stale - while - revalidate ] ( https : //developer.chrome.com/docs/workbox/caching-strategies-overview/#stale-while-revalidate)
* request strategy .
*
* Resources are requested from both the cache and the network in parallel .
* The strategy will respond with the cached version if available , otherwise
* wait for the network response . The cache is updated with the network response
* with each successful request .
*
* By default , this strategy will cache responses with a 200 status code as
* well as [ opaque responses ] ( https : //developer.chrome.com/docs/workbox/caching-resources-during-runtime/#opaque-responses).
* Opaque responses are cross - origin requests where the response doesn ' t
* support [ CORS ] ( https : //enable-cors.org/).
*
* If the network request fails , and there is no cache match , this will throw
* a ` WorkboxError ` exception .
*
* @ extends workbox - strategies . Strategy
* @ memberof workbox - strategies
* /
class StaleWhileRevalidate extends _Strategy _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . Strategy {
/ * *
* @ param { Object } [ options ]
* @ param { string } [ options . cacheName ] Cache name to store and retrieve
* requests . Defaults to cache names provided by
* { @ link workbox - core . cacheNames } .
* @ param { Array < Object > } [ options . plugins ] [ Plugins ] { @ link https : //developers.google.com/web/tools/workbox/guides/using-plugins}
* to use in conjunction with this caching strategy .
* @ param { Object } [ options . fetchOptions ] Values passed along to the
* [ ` init ` ] ( https : //developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)
* of [ non - navigation ] ( https : //github.com/GoogleChrome/workbox/issues/1796)
* ` fetch() ` requests made by this strategy .
* @ param { Object } [ options . matchOptions ] [ ` CacheQueryOptions ` ] ( https : //w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions)
* /
constructor ( options = { } ) {
super ( options ) ;
// If this instance contains no plugins with a 'cacheWillUpdate' callback,
// prepend the `cacheOkAndOpaquePlugin` plugin to the plugins list.
if ( ! this . plugins . some ( ( p ) => 'cacheWillUpdate' in p ) ) {
this . plugins . unshift ( _plugins _cacheOkAndOpaquePlugin _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . cacheOkAndOpaquePlugin ) ;
}
}
/ * *
* @ private
* @ param { Request | string } request A request to run this strategy for .
* @ param { workbox - strategies . StrategyHandler } handler The event that
* triggered the request .
* @ return { Promise < Response > }
* /
async _handle ( request , handler ) {
const logs = [ ] ;
if ( true ) {
workbox _core _private _assert _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . assert . isInstance ( request , Request , {
moduleName : 'workbox-strategies' ,
className : this . constructor . name ,
funcName : 'handle' ,
paramName : 'request' ,
} ) ;
}
const fetchAndCachePromise = handler . fetchAndCachePut ( request ) . catch ( ( ) => {
// Swallow this error because a 'no-response' error will be thrown in
// main handler return flow. This will be in the `waitUntil()` flow.
} ) ;
void handler . waitUntil ( fetchAndCachePromise ) ;
let response = await handler . cacheMatch ( request ) ;
let error ;
if ( response ) {
if ( true ) {
logs . push ( ` Found a cached response in the ' ${ this . cacheName } ' ` +
` cache. Will update with the network response in the background. ` ) ;
}
}
else {
if ( true ) {
logs . push ( ` No response found in the ' ${ this . cacheName } ' cache. ` +
` Will wait for the network response. ` ) ;
}
try {
// NOTE(philipwalton): Really annoying that we have to type cast here.
// https://github.com/microsoft/TypeScript/issues/20006
response = ( await fetchAndCachePromise ) ;
}
catch ( err ) {
if ( err instanceof Error ) {
error = err ;
}
}
}
if ( true ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupCollapsed ( _utils _messages _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . messages . strategyStart ( this . constructor . name , request ) ) ;
for ( const log of logs ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . log ( log ) ;
}
_utils _messages _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . messages . printFinalResponse ( response ) ;
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . logger . groupEnd ( ) ;
}
if ( ! response ) {
throw new workbox _core _private _WorkboxError _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . WorkboxError ( 'no-response' , { url : request . url , error } ) ;
}
return response ;
}
}
/***/ } ) ,
/***/ "./node_modules/workbox-strategies/index.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - strategies / index . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "CacheFirst" : ( ) => ( /* reexport safe */ _CacheFirst _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . CacheFirst ) ,
/* harmony export */ "CacheOnly" : ( ) => ( /* reexport safe */ _CacheOnly _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . CacheOnly ) ,
/* harmony export */ "NetworkFirst" : ( ) => ( /* reexport safe */ _NetworkFirst _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . NetworkFirst ) ,
/* harmony export */ "NetworkOnly" : ( ) => ( /* reexport safe */ _NetworkOnly _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . NetworkOnly ) ,
/* harmony export */ "StaleWhileRevalidate" : ( ) => ( /* reexport safe */ _StaleWhileRevalidate _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . StaleWhileRevalidate ) ,
/* harmony export */ "Strategy" : ( ) => ( /* reexport safe */ _Strategy _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . Strategy ) ,
/* harmony export */ "StrategyHandler" : ( ) => ( /* reexport safe */ _StrategyHandler _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . StrategyHandler )
/* harmony export */ } ) ;
/* harmony import */ var _CacheFirst _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! ./CacheFirst.js */ "./node_modules/workbox-strategies/CacheFirst.js" ) ;
/* harmony import */ var _CacheOnly _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! ./CacheOnly.js */ "./node_modules/workbox-strategies/CacheOnly.js" ) ;
/* harmony import */ var _NetworkFirst _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( /*! ./NetworkFirst.js */ "./node_modules/workbox-strategies/NetworkFirst.js" ) ;
/* harmony import */ var _NetworkOnly _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( /*! ./NetworkOnly.js */ "./node_modules/workbox-strategies/NetworkOnly.js" ) ;
/* harmony import */ var _StaleWhileRevalidate _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ = _ _webpack _require _ _ ( /*! ./StaleWhileRevalidate.js */ "./node_modules/workbox-strategies/StaleWhileRevalidate.js" ) ;
/* harmony import */ var _Strategy _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ = _ _webpack _require _ _ ( /*! ./Strategy.js */ "./node_modules/workbox-strategies/Strategy.js" ) ;
/* harmony import */ var _StrategyHandler _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ = _ _webpack _require _ _ ( /*! ./StrategyHandler.js */ "./node_modules/workbox-strategies/StrategyHandler.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ = _ _webpack _require _ _ ( /*! ./_version.js */ "./node_modules/workbox-strategies/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
/ * *
* There are common caching strategies that most service workers will need
* and use . This module provides simple implementations of these strategies .
*
* @ module workbox - strategies
* /
/***/ } ) ,
/***/ "./node_modules/workbox-strategies/plugins/cacheOkAndOpaquePlugin.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - strategies / plugins / cacheOkAndOpaquePlugin . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "cacheOkAndOpaquePlugin" : ( ) => ( /* binding */ cacheOkAndOpaquePlugin )
/* harmony export */ } ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! ../_version.js */ "./node_modules/workbox-strategies/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
const cacheOkAndOpaquePlugin = {
/ * *
* Returns a valid response ( to allow caching ) if the status is 200 ( OK ) or
* 0 ( opaque ) .
*
* @ param { Object } options
* @ param { Response } options . response
* @ return { Response | null }
*
* @ private
* /
cacheWillUpdate : async ( { response } ) => {
if ( response . status === 200 || response . status === 0 ) {
return response ;
}
return null ;
} ,
} ;
/***/ } ) ,
/***/ "./node_modules/workbox-strategies/utils/messages.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - strategies / utils / messages . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "messages" : ( ) => ( /* binding */ messages )
/* harmony export */ } ) ;
/* harmony import */ var workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/logger.js */ "./node_modules/workbox-core/_private/logger.js" ) ;
/* harmony import */ var workbox _core _private _getFriendlyURL _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! workbox-core/_private/getFriendlyURL.js */ "./node_modules/workbox-core/_private/getFriendlyURL.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( /*! ../_version.js */ "./node_modules/workbox-strategies/_version.js" ) ;
/* harmony import */ var _version _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _version _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ ) ;
/ *
Copyright 2018 Google LLC
Use of this source code is governed by an MIT - style
license that can be found in the LICENSE file or at
https : //opensource.org/licenses/MIT.
* /
const messages = {
strategyStart : ( strategyName , request ) => ` Using ${ strategyName } to respond to ' ${ ( 0 , workbox _core _private _getFriendlyURL _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . getFriendlyURL ) ( request . url ) } ' ` ,
printFinalResponse : ( response ) => {
if ( response ) {
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . logger . groupCollapsed ( ` View the final response here. ` ) ;
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . logger . log ( response || '[No response returned]' ) ;
workbox _core _private _logger _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . logger . groupEnd ( ) ;
}
} ,
} ;
/***/ } ) ,
/***/ "./node_modules/workbox-routing/index.mjs" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - routing / index . mjs * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _ _ _webpack _module _ _ , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "NavigationRoute" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . NavigationRoute ) ,
/* harmony export */ "RegExpRoute" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . RegExpRoute ) ,
/* harmony export */ "Route" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Route ) ,
/* harmony export */ "Router" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Router ) ,
/* harmony export */ "registerRoute" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . registerRoute ) ,
/* harmony export */ "setCatchHandler" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . setCatchHandler ) ,
/* harmony export */ "setDefaultHandler" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . setDefaultHandler )
/* harmony export */ } ) ;
/* harmony import */ var _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! ./index.js */ "./node_modules/workbox-routing/index.js" ) ;
/***/ } ) ,
/***/ "./node_modules/workbox-strategies/index.mjs" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / workbox - strategies / index . mjs * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _ _ _webpack _module _ _ , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "CacheFirst" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . CacheFirst ) ,
/* harmony export */ "CacheOnly" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . CacheOnly ) ,
/* harmony export */ "NetworkFirst" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . NetworkFirst ) ,
/* harmony export */ "NetworkOnly" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . NetworkOnly ) ,
/* harmony export */ "StaleWhileRevalidate" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . StaleWhileRevalidate ) ,
/* harmony export */ "Strategy" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Strategy ) ,
/* harmony export */ "StrategyHandler" : ( ) => ( /* reexport safe */ _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . StrategyHandler )
/* harmony export */ } ) ;
/* harmony import */ var _index _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! ./index.js */ "./node_modules/workbox-strategies/index.js" ) ;
/***/ } )
} ] ) ;
//# sourceMappingURL=src_sw_js.sw.js.map