summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/idb/build/async-iterators.js
diff options
context:
space:
mode:
authoraltaf-creator <dev@altafcreator.com>2025-11-16 19:08:29 +0800
committeraltaf-creator <dev@altafcreator.com>2025-11-16 19:08:29 +0800
commit434aa8343fdcbb4d5002f934979913c099489bee (patch)
tree55bab4ec5a6151be57797d34f61faf5ea744471b /frontend-old/node_modules/idb/build/async-iterators.js
parent893c388d4e99442a36005e5971a87730623f946e (diff)
sdk, del
Diffstat (limited to 'frontend-old/node_modules/idb/build/async-iterators.js')
-rw-r--r--frontend-old/node_modules/idb/build/async-iterators.js55
1 files changed, 0 insertions, 55 deletions
diff --git a/frontend-old/node_modules/idb/build/async-iterators.js b/frontend-old/node_modules/idb/build/async-iterators.js
deleted file mode 100644
index be84493..0000000
--- a/frontend-old/node_modules/idb/build/async-iterators.js
+++ /dev/null
@@ -1,55 +0,0 @@
-import { r as replaceTraps, a as reverseTransformCache, u as unwrap, i as instanceOfAny } from './wrap-idb-value.js';
-
-const advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];
-const methodMap = {};
-const advanceResults = new WeakMap();
-const ittrProxiedCursorToOriginalProxy = new WeakMap();
-const cursorIteratorTraps = {
- get(target, prop) {
- if (!advanceMethodProps.includes(prop))
- return target[prop];
- let cachedFunc = methodMap[prop];
- if (!cachedFunc) {
- cachedFunc = methodMap[prop] = function (...args) {
- advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));
- };
- }
- return cachedFunc;
- },
-};
-async function* iterate(...args) {
- // tslint:disable-next-line:no-this-assignment
- let cursor = this;
- if (!(cursor instanceof IDBCursor)) {
- cursor = await cursor.openCursor(...args);
- }
- if (!cursor)
- return;
- cursor = cursor;
- const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);
- ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);
- // Map this double-proxy back to the original, so other cursor methods work.
- reverseTransformCache.set(proxiedCursor, unwrap(cursor));
- while (cursor) {
- yield proxiedCursor;
- // If one of the advancing methods was not called, call continue().
- cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());
- advanceResults.delete(proxiedCursor);
- }
-}
-function isIteratorProp(target, prop) {
- return ((prop === Symbol.asyncIterator &&
- instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor])) ||
- (prop === 'iterate' && instanceOfAny(target, [IDBIndex, IDBObjectStore])));
-}
-replaceTraps((oldTraps) => ({
- ...oldTraps,
- get(target, prop, receiver) {
- if (isIteratorProp(target, prop))
- return iterate;
- return oldTraps.get(target, prop, receiver);
- },
- has(target, prop) {
- return isIteratorProp(target, prop) || oldTraps.has(target, prop);
- },
-}));