full site update

This commit is contained in:
2025-07-24 18:46:24 +02:00
parent bfe2b90d8d
commit 37a6e0ab31
6912 changed files with 540482 additions and 361712 deletions

80
node_modules/unstorage/drivers/vercel-kv.cjs generated vendored Normal file
View File

@@ -0,0 +1,80 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _kv = require("@vercel/kv");
var _utils = require("./utils/index.cjs");
const DRIVER_NAME = "vercel-kv";
module.exports = (0, _utils.defineDriver)(opts => {
const base = (0, _utils.normalizeKey)(opts?.base);
const r = (...keys) => (0, _utils.joinKeys)(base, ...keys);
let _client;
const getClient = () => {
if (!_client) {
const envPrefix = typeof process !== "undefined" && opts.env !== false ? `${opts.env || "KV"}_` : "";
if (!opts.url) {
const envName = envPrefix + "REST_API_URL";
if (envPrefix && process.env[envName]) {
opts.url = process.env[envName];
} else {
throw (0, _utils.createError)("vercel-kv", `missing required \`url\` option or '${envName}' env.`);
}
}
if (!opts.token) {
const envName = envPrefix + "REST_API_TOKEN";
if (envPrefix && process.env[envName]) {
opts.token = process.env[envName];
} else {
throw (0, _utils.createError)("vercel-kv", `missing required \`token\` option or '${envName}' env.`);
}
}
_client = (0, _kv.createClient)(opts);
}
return _client;
};
const scan = async pattern => {
const client = getClient();
const keys = [];
let cursor = "0";
do {
const [nextCursor, scanKeys] = await client.scan(cursor, {
match: pattern,
count: opts.scanCount
});
cursor = nextCursor;
keys.push(...scanKeys);
} while (cursor !== "0");
return keys;
};
return {
name: DRIVER_NAME,
getInstance: getClient,
hasItem(key) {
return getClient().exists(r(key)).then(Boolean);
},
getItem(key) {
return getClient().get(r(key));
},
setItem(key, value, tOptions) {
const ttl = tOptions?.ttl ?? opts.ttl;
return getClient().set(r(key), value, ttl ? {
ex: ttl
} : void 0).then(() => {});
},
removeItem(key) {
return getClient().unlink(r(key)).then(() => {});
},
getKeys(base2) {
return scan(r(base2, "*"));
},
async clear(base2) {
const keys = await scan(r(base2, "*"));
if (keys.length === 0) {
return;
}
return getClient().del(...keys).then(() => {});
}
};
});