Files
micro-service-api/node_modules/@redis/search/dist/lib/commands/AGGREGATE_WITHCURSOR.js
2025-11-11 12:36:06 +07:00

40 lines
1.5 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const AGGREGATE_1 = __importDefault(require("./AGGREGATE"));
exports.default = {
IS_READ_ONLY: AGGREGATE_1.default.IS_READ_ONLY,
/**
* Performs an aggregation with a cursor for retrieving large result sets.
* @param parser - The command parser
* @param index - Name of the index to query
* @param query - The aggregation query
* @param options - Optional parameters:
* - All options supported by FT.AGGREGATE
* - COUNT: Number of results to return per cursor fetch
* - MAXIDLE: Maximum idle time for cursor in milliseconds
*/
parseCommand(parser, index, query, options) {
AGGREGATE_1.default.parseCommand(parser, index, query, options);
parser.push('WITHCURSOR');
if (options?.COUNT !== undefined) {
parser.push('COUNT', options.COUNT.toString());
}
if (options?.MAXIDLE !== undefined) {
parser.push('MAXIDLE', options.MAXIDLE.toString());
}
},
transformReply: {
2: (reply) => {
return {
...AGGREGATE_1.default.transformReply[2](reply[0]),
cursor: reply[1]
};
},
3: undefined
},
unstableResp3: true
};
//# sourceMappingURL=AGGREGATE_WITHCURSOR.js.map