UNPKG

dinache

Version:

Restful light weight in-memory cache server built on top of node.js and dinoloop.

48 lines 3.43 kB
"use strict"; 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=