@ixily/activ
Version:
Alpha Capture Trade Idea Verification. Blockchain ownership proven trade ideas and strategies.
63 lines • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CacheNodeMemoryStorageModule = exports.resetData = exports.removeDataByPattern = exports.removeData = exports.updateData = exports.getData = exports.addData = void 0;
const activ_v4_1 = require("../../activ-v4");
let memoryDB = {};
const state = {
dbParams: {
provider: 'memory',
},
isBrowser: false,
};
const config = async (_config) => {
state.dbParams = _config.dbParams;
state.isBrowser = _config.isBrowser;
};
const addData = (key, data, expiration = 0) => {
memoryDB[key] = data;
return Promise.resolve();
};
exports.addData = addData;
const getData = (key) => {
const dt = memoryDB[key];
if ((0, activ_v4_1.isNullOrUndefined)(dt)) {
return Promise.resolve(undefined);
}
return Promise.resolve(memoryDB[key]);
};
exports.getData = getData;
const updateData = (key, data, expiration = 0) => {
memoryDB[key] = data;
return Promise.resolve();
};
exports.updateData = updateData;
const removeData = (key) => {
delete memoryDB[key];
return Promise.resolve();
};
exports.removeData = removeData;
const removeDataByPattern = (pattern) => {
const regex = new RegExp(pattern);
for (const key in memoryDB) {
if (regex.test(key)) {
delete memoryDB[key];
}
}
return Promise.resolve();
};
exports.removeDataByPattern = removeDataByPattern;
const resetData = () => {
memoryDB = {};
return Promise.resolve();
};
exports.resetData = resetData;
exports.CacheNodeMemoryStorageModule = {
config,
addData: exports.addData,
getData: exports.getData,
updateData: exports.updateData,
removeData: exports.removeData,
removeDataByPattern: exports.removeDataByPattern,
resetData: exports.resetData,
};
//# sourceMappingURL=memory-provider.module.js.map