Files
micro-service-api/node_modules/@redis/json/dist/lib/commands/ARRPOP.js

32 lines
1.3 KiB
JavaScript
Raw Normal View History

2025-11-11 12:36:06 +07:00
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers");
exports.default = {
IS_READ_ONLY: false,
/**
* Removes and returns an element from an array in a JSON document.
* Returns null if the path does not exist or the value is not an array.
*
* @param parser - The Redis command parser
* @param key - The key containing the array
* @param options - Optional parameters
* @param options.path - Path to the array in the JSON document
* @param options.index - Optional index to pop from. Default is -1 (last element)
*/
parseCommand(parser, key, options) {
parser.push('JSON.ARRPOP');
parser.pushKey(key);
if (options) {
parser.push(options.path);
if (options.index !== undefined) {
parser.push(options.index.toString());
}
}
},
transformReply(reply) {
return (0, generic_transformers_1.isArrayReply)(reply) ?
reply.map(item => (0, generic_transformers_1.transformRedisJsonNullReply)(item)) :
(0, generic_transformers_1.transformRedisJsonNullReply)(reply);
}
};
//# sourceMappingURL=ARRPOP.js.map