init query login
This commit is contained in:
199
node_modules/.vite/deps/@kevisual_cache.js
generated
vendored
Normal file
199
node_modules/.vite/deps/@kevisual_cache.js
generated
vendored
Normal file
@@ -0,0 +1,199 @@
|
||||
import {
|
||||
__publicField
|
||||
} from "./chunk-V6TY7KAL.js";
|
||||
|
||||
// ../../node_modules/.pnpm/@kevisual+cache@0.0.1_rollup@4.36.0_tslib@2.8.1_typescript@5.8.2/node_modules/@kevisual/cache/dist/cache.js
|
||||
function promisifyRequest(request) {
|
||||
return new Promise((resolve, reject) => {
|
||||
request.oncomplete = request.onsuccess = () => resolve(request.result);
|
||||
request.onabort = request.onerror = () => reject(request.error);
|
||||
});
|
||||
}
|
||||
function createStore(dbName, storeName) {
|
||||
const request = indexedDB.open(dbName);
|
||||
request.onupgradeneeded = () => request.result.createObjectStore(storeName);
|
||||
const dbp = promisifyRequest(request);
|
||||
return (txMode, callback) => dbp.then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName)));
|
||||
}
|
||||
var defaultGetStoreFunc;
|
||||
function defaultGetStore() {
|
||||
if (!defaultGetStoreFunc) {
|
||||
defaultGetStoreFunc = createStore("keyval-store", "keyval");
|
||||
}
|
||||
return defaultGetStoreFunc;
|
||||
}
|
||||
function get(key, customStore = defaultGetStore()) {
|
||||
return customStore("readonly", (store) => promisifyRequest(store.get(key)));
|
||||
}
|
||||
function set(key, value, customStore = defaultGetStore()) {
|
||||
return customStore("readwrite", (store) => {
|
||||
store.put(value, key);
|
||||
return promisifyRequest(store.transaction);
|
||||
});
|
||||
}
|
||||
function setMany(entries2, customStore = defaultGetStore()) {
|
||||
return customStore("readwrite", (store) => {
|
||||
entries2.forEach((entry) => store.put(entry[1], entry[0]));
|
||||
return promisifyRequest(store.transaction);
|
||||
});
|
||||
}
|
||||
function getMany(keys2, customStore = defaultGetStore()) {
|
||||
return customStore("readonly", (store) => Promise.all(keys2.map((key) => promisifyRequest(store.get(key)))));
|
||||
}
|
||||
function update(key, updater, customStore = defaultGetStore()) {
|
||||
return customStore("readwrite", (store) => (
|
||||
// Need to create the promise manually.
|
||||
// If I try to chain promises, the transaction closes in browsers
|
||||
// that use a promise polyfill (IE10/11).
|
||||
new Promise((resolve, reject) => {
|
||||
store.get(key).onsuccess = function() {
|
||||
try {
|
||||
store.put(updater(this.result), key);
|
||||
resolve(promisifyRequest(store.transaction));
|
||||
} catch (err) {
|
||||
reject(err);
|
||||
}
|
||||
};
|
||||
})
|
||||
));
|
||||
}
|
||||
function del(key, customStore = defaultGetStore()) {
|
||||
return customStore("readwrite", (store) => {
|
||||
store.delete(key);
|
||||
return promisifyRequest(store.transaction);
|
||||
});
|
||||
}
|
||||
function delMany(keys2, customStore = defaultGetStore()) {
|
||||
return customStore("readwrite", (store) => {
|
||||
keys2.forEach((key) => store.delete(key));
|
||||
return promisifyRequest(store.transaction);
|
||||
});
|
||||
}
|
||||
function clear(customStore = defaultGetStore()) {
|
||||
return customStore("readwrite", (store) => {
|
||||
store.clear();
|
||||
return promisifyRequest(store.transaction);
|
||||
});
|
||||
}
|
||||
function eachCursor(store, callback) {
|
||||
store.openCursor().onsuccess = function() {
|
||||
if (!this.result)
|
||||
return;
|
||||
callback(this.result);
|
||||
this.result.continue();
|
||||
};
|
||||
return promisifyRequest(store.transaction);
|
||||
}
|
||||
function keys(customStore = defaultGetStore()) {
|
||||
return customStore("readonly", (store) => {
|
||||
if (store.getAllKeys) {
|
||||
return promisifyRequest(store.getAllKeys());
|
||||
}
|
||||
const items = [];
|
||||
return eachCursor(store, (cursor) => items.push(cursor.key)).then(() => items);
|
||||
});
|
||||
}
|
||||
function values(customStore = defaultGetStore()) {
|
||||
return customStore("readonly", (store) => {
|
||||
if (store.getAll) {
|
||||
return promisifyRequest(store.getAll());
|
||||
}
|
||||
const items = [];
|
||||
return eachCursor(store, (cursor) => items.push(cursor.value)).then(() => items);
|
||||
});
|
||||
}
|
||||
function entries(customStore = defaultGetStore()) {
|
||||
return customStore("readonly", (store) => {
|
||||
if (store.getAll && store.getAllKeys) {
|
||||
return Promise.all([
|
||||
promisifyRequest(store.getAllKeys()),
|
||||
promisifyRequest(store.getAll())
|
||||
]).then(([keys2, values2]) => keys2.map((key, i) => [key, values2[i]]));
|
||||
}
|
||||
const items = [];
|
||||
return customStore("readonly", (store2) => eachCursor(store2, (cursor) => items.push([cursor.key, cursor.value])).then(() => items));
|
||||
});
|
||||
}
|
||||
var idb = Object.freeze({
|
||||
__proto__: null,
|
||||
clear,
|
||||
createStore,
|
||||
del,
|
||||
delMany,
|
||||
entries,
|
||||
get,
|
||||
getMany,
|
||||
keys,
|
||||
promisifyRequest,
|
||||
set,
|
||||
setMany,
|
||||
update,
|
||||
values
|
||||
});
|
||||
var CacheWorkspace = class {
|
||||
constructor() {
|
||||
__publicField(this, "storage");
|
||||
__publicField(this, "data", null);
|
||||
this.storage = idb;
|
||||
}
|
||||
async get(name) {
|
||||
const data = await get(name);
|
||||
this.data = data;
|
||||
return data;
|
||||
}
|
||||
async set(name, data) {
|
||||
this.data = data;
|
||||
await set(name, data);
|
||||
}
|
||||
async del(name) {
|
||||
this.data = null;
|
||||
await del(name);
|
||||
}
|
||||
/**
|
||||
* Clear all values in the store.
|
||||
*/
|
||||
async clear() {
|
||||
await clear();
|
||||
}
|
||||
};
|
||||
var MyCache = class extends CacheWorkspace {
|
||||
constructor(name) {
|
||||
super();
|
||||
__publicField(this, "name");
|
||||
__publicField(this, "updatedAt");
|
||||
this.name = name || "my-cache";
|
||||
}
|
||||
async getData() {
|
||||
const cache = await super.get(this.name);
|
||||
this.updatedAt = cache.updatedAt;
|
||||
if (cache.expireTime && cache.expireTime < Date.now()) {
|
||||
await super.del(this.name);
|
||||
return {};
|
||||
}
|
||||
return cache.data;
|
||||
}
|
||||
/**
|
||||
* 设置缓存数据,默认过期时间为10天
|
||||
* @param data
|
||||
* @param opts
|
||||
*/
|
||||
async setData(data, opts) {
|
||||
const now = Date.now();
|
||||
const expireTime = now + ((opts == null ? void 0 : opts.expireTime) || 1e3 * 60 * 60 * 24 * 10);
|
||||
const newData = {
|
||||
data,
|
||||
updatedAt: Date.now(),
|
||||
expireTime
|
||||
};
|
||||
await super.set(this.name, newData);
|
||||
this.updatedAt = newData.updatedAt;
|
||||
}
|
||||
async del() {
|
||||
await super.del(this.name);
|
||||
}
|
||||
};
|
||||
export {
|
||||
CacheWorkspace,
|
||||
MyCache
|
||||
};
|
||||
//# sourceMappingURL=@kevisual_cache.js.map
|
||||
Reference in New Issue
Block a user