aboutsummaryrefslogtreecommitdiff
path: root/node_modules/workbox-precaching/models
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:43:05 +0800
committerruki <waruqi@gmail.com>2018-11-07 22:18:30 +0800
commit89e95b3f143682ed9a006991bacf45c9dcba4818 (patch)
tree4f44cf41b828577d583890bdd5a1c31e8491a6ba /node_modules/workbox-precaching/models
parentaa7f0199255277949790b41c56e8ec97dd4f0da4 (diff)
downloadxmake-docs-vuepress.tar.gz
xmake-docs-vuepress.zip
remove node_modulesvuepress
Diffstat (limited to 'node_modules/workbox-precaching/models')
-rw-r--r--node_modules/workbox-precaching/models/PrecacheEntry.mjs78
-rw-r--r--node_modules/workbox-precaching/models/PrecachedDetailsModel.mjs143
2 files changed, 0 insertions, 221 deletions
diff --git a/node_modules/workbox-precaching/models/PrecacheEntry.mjs b/node_modules/workbox-precaching/models/PrecacheEntry.mjs
deleted file mode 100644
index 8138edfa..00000000
--- a/node_modules/workbox-precaching/models/PrecacheEntry.mjs
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- Copyright 2017 Google Inc.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- https://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-import '../_version.mjs';
-
-/**
- * Used as a consistent way of referencing a URL to precache.
- *
- * @private
- * @memberof module:workbox-precaching
- */
-export default class PrecacheEntry {
-/**
- * This class ensures all cache list entries are consistent and
- * adds cache busting if required.
- *
- * @param {*} originalInput
- * @param {string} url
- * @param {string} revision
- * @param {boolean} shouldCacheBust
- */
- constructor(originalInput, url, revision, shouldCacheBust) {
- this._originalInput = originalInput;
- this._entryId = url;
- this._revision = revision;
- const requestAsCacheKey = new Request(url, {credentials: 'same-origin'});
- this._cacheRequest = requestAsCacheKey;
- this._networkRequest = shouldCacheBust ?
- this._cacheBustRequest(requestAsCacheKey) : requestAsCacheKey;
- }
-
- /**
- * This method will either use Request.cache option OR append a cache
- * busting parameter to the URL.
- *
- * @param {Request} request The request to cache bust
- * @return {Request} A cachebusted Request
- *
- * @private
- */
- _cacheBustRequest(request) {
- let url = request.url;
- const requestOptions = {
- credentials: 'same-origin',
- };
- if ('cache' in Request.prototype) {
- // Make use of the Request cache mode where we can.
- // Reload skips the HTTP cache for outgoing requests and updates
- // the cache with the returned response.
- requestOptions.cache = 'reload';
- } else {
- const parsedURL = new URL(url, location);
-
- // This is done so the minifier can mangle 'global.encodeURIComponent'
- const _encodeURIComponent = encodeURIComponent;
-
- parsedURL.search += (parsedURL.search ? '&' : '') +
- _encodeURIComponent(`_workbox-cache-bust`) + '=' +
- _encodeURIComponent(this._revision);
- url = parsedURL.toString();
- }
-
- return new Request(url, requestOptions);
- }
-}
diff --git a/node_modules/workbox-precaching/models/PrecachedDetailsModel.mjs b/node_modules/workbox-precaching/models/PrecachedDetailsModel.mjs
deleted file mode 100644
index 55f1420d..00000000
--- a/node_modules/workbox-precaching/models/PrecachedDetailsModel.mjs
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- Copyright 2017 Google Inc.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- https://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-import {DBWrapper} from 'workbox-core/_private/DBWrapper.mjs';
-import '../_version.mjs';
-
-// Allows minifier to mangle this name
-const REVISON_IDB_FIELD = 'revision';
-const URL_IDB_FIELD = 'url';
-const DB_STORE_NAME = 'precached-details-models';
-/**
- * This model will track the relevant information of entries that
- * are cached and their matching revision details.
- *
- * @private
- */
-class PrecachedDetailsModel {
- /**
- * Construct a new model for a specific cache.
- *
- * @param {string} dbName
- * @private
- */
- constructor(dbName) {
- // This ensures the db name contains only letters, numbers, '-', '_' and '$'
- const filteredDBName = dbName.replace(/[^\w-]/g, '_');
- this._db = new DBWrapper(filteredDBName, 2, {
- onupgradeneeded: this._handleUpgrade,
- });
- }
-
- /**
- * Should perform an upgrade of indexedDB.
- *
- * @param {Event} evt
- *
- * @private
- */
- _handleUpgrade(evt) {
- const db = evt.target.result;
- if (evt.oldVersion < 2) {
- // IndexedDB version 1 used both 'workbox-precaching' and
- // 'precached-details-model' before upgrading to version 2.
- // Delete them and create a new store with latest schema.
- if (db.objectStoreNames.contains('workbox-precaching')) {
- db.deleteObjectStore('workbox-precaching');
- }
- if (db.objectStoreNames.contains(DB_STORE_NAME)) {
- db.deleteObjectStore(DB_STORE_NAME);
- }
- }
- db.createObjectStore(DB_STORE_NAME);
- }
-
- /**
- * Check if an entry is already cached. Returns false if
- * the entry isn't cached or the revision has changed.
- *
- * @param {string} cacheName
- * @param {PrecacheEntry} precacheEntry
- * @return {boolean}
- *
- * @private
- */
- async _isEntryCached(cacheName, precacheEntry) {
- const revisionDetails = await this._getRevision(precacheEntry._entryId);
- if (revisionDetails !== precacheEntry._revision) {
- return false;
- }
-
- const openCache = await caches.open(cacheName);
- const cachedResponse = await openCache.match(precacheEntry._cacheRequest);
- return !!cachedResponse;
- }
-
- /**
- * @return {Promise<Array>}
- *
- * @private
- */
- async _getAllEntries() {
- return await this._db.getAllMatching(DB_STORE_NAME, {
- includeKeys: true,
- });
- }
-
- /**
- * Get the current revision details.
- *
- * @param {Object} entryId
- * @return {Promise<string|null>}
- *
- * @private
- */
- async _getRevision(entryId) {
- const data = await this._db.get(DB_STORE_NAME, entryId);
- return data ? data[REVISON_IDB_FIELD] : null;
- }
-
- /**
- * Add an entry to the details model.
- *
- * @param {PrecacheEntry} precacheEntry
- *
- * @private
- */
- async _addEntry(precacheEntry) {
- await this._db.put(
- DB_STORE_NAME,
- {
- [REVISON_IDB_FIELD]: precacheEntry._revision,
- [URL_IDB_FIELD]: precacheEntry._cacheRequest.url,
- },
- precacheEntry._entryId
- );
- }
-
- /**
- * Delete entry from details model.
- *
- * @param {string} entryId
- *
- * @private
- */
- async _deleteEntry(entryId) {
- await this._db.delete(DB_STORE_NAME, entryId);
- }
-}
-
-export default PrecachedDetailsModel;