aboutsummaryrefslogtreecommitdiff
path: root/node_modules/workbox-background-sync/models/QueueStore.mjs
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-background-sync/models/QueueStore.mjs
parentaa7f0199255277949790b41c56e8ec97dd4f0da4 (diff)
downloadxmake-docs-vuepress.tar.gz
xmake-docs-vuepress.zip
remove node_modulesvuepress
Diffstat (limited to 'node_modules/workbox-background-sync/models/QueueStore.mjs')
-rw-r--r--node_modules/workbox-background-sync/models/QueueStore.mjs82
1 files changed, 0 insertions, 82 deletions
diff --git a/node_modules/workbox-background-sync/models/QueueStore.mjs b/node_modules/workbox-background-sync/models/QueueStore.mjs
deleted file mode 100644
index 6f880d88..00000000
--- a/node_modules/workbox-background-sync/models/QueueStore.mjs
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- Copyright 2017 Google Inc. All Rights Reserved.
- 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
-
- http://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 StorableRequest from './StorableRequest.mjs';
-import {DB_NAME, OBJECT_STORE_NAME, INDEXED_PROP} from '../utils/constants.mjs';
-import '../_version.mjs';
-
-/**
- * A class to manage storing requests from a Queue in IndexedbDB,
- * indexed by their queue name for easier access.
- *
- * @private
- */
-export class QueueStore {
- /**
- * Associates this instance with a Queue instance, so entries added can be
- * identified by their queue name.
- *
- * @param {Queue} queue
- *
- * @private
- */
- constructor(queue) {
- this._queue = queue;
- this._db = new DBWrapper(DB_NAME, 1, {
- onupgradeneeded: (evt) => evt.target.result
- .createObjectStore(OBJECT_STORE_NAME, {autoIncrement: true})
- .createIndex(INDEXED_PROP, INDEXED_PROP, {unique: false}),
- });
- }
-
- /**
- * Takes a StorableRequest instance, converts it to an object and adds it
- * as an entry in the object store.
- *
- * @param {StorableRequest} storableRequest
- *
- * @private
- */
- async addEntry(storableRequest) {
- await this._db.add(OBJECT_STORE_NAME, {
- queueName: this._queue.name,
- storableRequest: storableRequest.toObject(),
- });
- }
-
- /**
- * Gets the oldest entry in the object store, removes it, and returns the
- * value as a StorableRequest instance. If no entry exists, it returns
- * undefined.
- *
- * @return {StorableRequest|undefined}
- *
- * @private
- */
- async getAndRemoveOldestEntry() {
- const [entry] = await this._db.getAllMatching(OBJECT_STORE_NAME, {
- index: INDEXED_PROP,
- query: IDBKeyRange.only(this._queue.name),
- count: 1,
- includeKeys: true,
- });
-
- if (entry) {
- await this._db.delete(OBJECT_STORE_NAME, entry.primaryKey);
- return new StorableRequest(entry.value.storableRequest);
- }
- }
-}