dinache
Version:
Restful light weight in-memory cache server built on top of node.js and dinoloop.
48 lines • 3.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const iquery_1 = require("../models/iquery");
const cache_store_1 = require("../cache-store");
class QueryExecute {
static exec(q) {
const result = {};
if (q.op === iquery_1.OPERATION.GET) {
result.value = cache_store_1.Cache.get(q.key);
}
else if (q.op === iquery_1.OPERATION.PUT) {
if (cache_store_1.Cache.put(q.key, q.value) === false) {
result.error = 'KEY_EXISTS';
}
}
else if (q.op === iquery_1.OPERATION.UPSERT) {
cache_store_1.Cache.upsert(q.key, q.value);
}
else if (q.op === iquery_1.OPERATION.DELETE) {
cache_store_1.Cache.delete(q.key);
}
else if (q.op === iquery_1.OPERATION.UPDATE) {
if (cache_store_1.Cache.update(q.key, q.value) === false) {
result.error = 'KEY_NOT_EXISTS';
}
}
else {
result.error = 'INVALID_OP - POSSIBLE VALUES [GET | PUT | UPSERT | DELETE]';
}
return result;
}
static run(q) {
return {
query: QueryExecute.exec(q)
};
}
static runBatch(q) {
const result = [];
for (const query of q) {
result.push(QueryExecute.exec(query));
}
return {
batch: result
};
}
}
exports.QueryExecute = QueryExecute;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL2V4ZWN1dG9ycy9xdWVyeS1leGVjdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkNBQWlGO0FBQ2pGLGdEQUF1QztBQUV2QztJQUVZLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBUztRQUN6QixNQUFNLE1BQU0sR0FBaUIsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxrQkFBUyxDQUFDLEdBQUcsRUFBRTtZQUN4QixNQUFNLENBQUMsS0FBSyxHQUFHLG1CQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuQzthQUFNLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxrQkFBUyxDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLG1CQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBRTtnQkFDckMsTUFBTSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7YUFDL0I7U0FDSjthQUFNLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxrQkFBUyxDQUFDLE1BQU0sRUFBRTtZQUNsQyxtQkFBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQzthQUFNLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxrQkFBUyxDQUFDLE1BQU0sRUFBRTtZQUNsQyxtQkFBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdkI7YUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssa0JBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDbEMsSUFBSSxtQkFBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEVBQUU7Z0JBQ3hDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7YUFDbkM7U0FDSjthQUFNO1lBQ0gsTUFBTSxDQUFDLEtBQUssR0FBRyw0REFBNEQsQ0FBQztTQUMvRTtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQVM7UUFDaEIsT0FBTztZQUNILEtBQUssRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUM5QixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBVztRQUN2QixNQUFNLE1BQU0sR0FBbUIsRUFBRSxDQUFDO1FBQ2xDLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsT0FBTztZQUNILEtBQUssRUFBRSxNQUFNO1NBQ2hCLENBQUM7SUFDTixDQUFDO0NBQ0o7QUF2Q0Qsb0NBdUNDIn0=