50 lines
1.7 KiB
JavaScript
50 lines
1.7 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const generic_transformers_1 = require("./generic-transformers");
|
|
exports.default = {
|
|
IS_READ_ONLY: true,
|
|
/**
|
|
* Gets the value of a key and optionally sets its expiration
|
|
* @param parser - The Redis command parser
|
|
* @param key - Key to get value from
|
|
* @param options - Options for setting expiration
|
|
*/
|
|
parseCommand(parser, key, options) {
|
|
parser.push('GETEX');
|
|
parser.pushKey(key);
|
|
if ('type' in options) {
|
|
switch (options.type) {
|
|
case 'EX':
|
|
case 'PX':
|
|
parser.push(options.type, options.value.toString());
|
|
break;
|
|
case 'EXAT':
|
|
case 'PXAT':
|
|
parser.push(options.type, (0, generic_transformers_1.transformEXAT)(options.value));
|
|
break;
|
|
case 'PERSIST':
|
|
parser.push('PERSIST');
|
|
break;
|
|
}
|
|
}
|
|
else {
|
|
if ('EX' in options) {
|
|
parser.push('EX', options.EX.toString());
|
|
}
|
|
else if ('PX' in options) {
|
|
parser.push('PX', options.PX.toString());
|
|
}
|
|
else if ('EXAT' in options) {
|
|
parser.push('EXAT', (0, generic_transformers_1.transformEXAT)(options.EXAT));
|
|
}
|
|
else if ('PXAT' in options) {
|
|
parser.push('PXAT', (0, generic_transformers_1.transformPXAT)(options.PXAT));
|
|
}
|
|
else { // PERSIST
|
|
parser.push('PERSIST');
|
|
}
|
|
}
|
|
},
|
|
transformReply: undefined
|
|
};
|
|
//# sourceMappingURL=GETEX.js.map
|