UNPKG

@coorpacademy/squirrel

Version:
57 lines (44 loc) 1.32 kB
"use strict"; exports.__esModule = true; exports.default = void 0; var _fp = require("lodash/fp"); var _debug = _interopRequireDefault(require("debug")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const debug = (0, _debug.default)('squirrel'); const createAPI = (store, client) => { const getAll = index => { debug(`getAll => ${index}`); return store('indexes').then((0, _fp.pipe)((0, _fp.getOr)({}, index), _fp.keys)); }; const getByRaw = (index, key) => { debug(`getBy: ${index} => ${key}`); return store('indexes').then((0, _fp.getOr)(null, [index, key])); }; const getBy = (index, key) => { debug(`getBy: ${index} => ${key}`); return getByRaw(index, key).then((0, _fp.getOr)(null, ['value'])); }; const get = key => { debug(`get => ${key}`); return store('records').then((0, _fp.getOr)(null, key)); }; const set = (key, value) => { debug(`set => ${key}`); return client.put(key).value(JSON.stringify(value)).then(() => value); }; const del = key => { debug(`del => ${key}`); return client.delete().key(key); }; return { getBy, getByRaw, getAll, get, set, del }; }; var _default = createAPI; exports.default = _default; //# sourceMappingURL=api.js.map