@api.global/typedserver
Version:
A TypeScript-based project for easy serving of static files with support for live reloading, compression, and typed requests.
31 lines • 2.21 kB
JavaScript
import * as interfaces from './interfaces/index.js';
import * as plugins from './plugins.js';
/**
* an abstraction for the workerd KV store
*/
export class KVHandler {
getSafeIdentifier(urlString) {
return encodeURI(urlString);
}
async getFromKv(keyIdentifier) {
const key = this.getSafeIdentifier(keyIdentifier);
const valueString = await lokv.get(key);
return valueString;
}
async putInKv(keyIdentifier, valueForStorage) {
const key = this.getSafeIdentifier(keyIdentifier);
const value = valueForStorage;
await lokv.put(key, value);
return null;
}
/**
* deletes a key/value from the cache
* @param keyIdentifier
*/
async deleteInKv(keyIdentifier) {
const cacheKey = this.getSafeIdentifier(keyIdentifier);
await lokv.delete(cacheKey);
}
}
export const kvHandlerInstance = new KVHandler();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5rdmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19lZGdld29ya2VyL2NsYXNzZXMua3ZoYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFJeEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBUztJQUNaLGlCQUFpQixDQUFDLFNBQWlCO1FBQ3pDLE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLGFBQXFCO1FBQ25DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBcUIsRUFBRSxlQUF1QjtRQUMxRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFxQjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksU0FBUyxFQUFFLENBQUMifQ==