UNPKG

@tradle/aws-s3-client

Version:
24 lines 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createGzippedJsonKVStore = exports.createGzippedKVStore = exports.createJsonKVStore = exports.createKVStore = void 0; const noParse = str => str; const parseJSON = str => JSON.parse(str); exports.createKVStore = ({ folder, parse = noParse }) => { return { has: folder.has.bind(folder), get: (key) => folder.get(key).then(({ Body }) => parse(Body.toString())), del: folder.del.bind(folder), put: folder.put.bind(folder), sub: (prefix) => exports.createKVStore({ folder: folder.sub(prefix), parse }) }; }; exports.createJsonKVStore = (opts) => exports.createKVStore(Object.assign({ parse: parseJSON }, opts)); exports.createGzippedKVStore = (opts) => { const { folder } = opts; return Object.assign(Object.assign({}, exports.createKVStore(opts)), { put: folder.gzipAndPut.bind(folder), sub: (prefix) => exports.createGzippedKVStore(Object.assign(Object.assign({}, opts), { folder: folder.sub(prefix) })) }); }; exports.createGzippedJsonKVStore = (opts) => exports.createGzippedKVStore(Object.assign(Object.assign({}, opts), { parse: parseJSON })); //# sourceMappingURL=kv.js.map