addCacheListener()

in workbox-v4.3.1/workbox-routing.dev.js [413:442]


    addCacheListener() {
      self.addEventListener('message', async event => {
        if (event.data && event.data.type === 'CACHE_URLS') {
          const {
            payload
          } = event.data;

          {
            logger_mjs.logger.debug(`Caching URLs from the window`, payload.urlsToCache);
          }

          const requestPromises = Promise.all(payload.urlsToCache.map(entry => {
            if (typeof entry === 'string') {
              entry = [entry];
            }

            const request = new Request(...entry);
            return this.handleRequest({
              request
            });
          }));
          event.waitUntil(requestPromises); // If a MessageChannel was used, reply to the message on success.

          if (event.ports && event.ports[0]) {
            await requestPromises;
            event.ports[0].postMessage(true);
          }
        }
      });
    }