12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.transformReply = exports.transformArguments = exports.IS_READ_ONLY = exports.FIRST_KEY_INDEX = void 0;
- const _1 = require(".");
- exports.FIRST_KEY_INDEX = 1;
- exports.IS_READ_ONLY = true;
- function transformArguments(index, query, options) {
- return (0, _1.pushSearchOptions)(['FT.SEARCH', index, query], options);
- }
- exports.transformArguments = transformArguments;
- function transformReply(reply, withoutDocuments) {
- const documents = [];
- let i = 1;
- while (i < reply.length) {
- documents.push({
- id: reply[i++],
- value: withoutDocuments ? Object.create(null) : documentValue(reply[i++])
- });
- }
- return {
- total: reply[0],
- documents
- };
- }
- exports.transformReply = transformReply;
- function documentValue(tuples) {
- const message = Object.create(null);
- let i = 0;
- while (i < tuples.length) {
- const key = tuples[i++], value = tuples[i++];
- if (key === '$') { // might be a JSON reply
- try {
- Object.assign(message, JSON.parse(value));
- continue;
- }
- catch {
- // set as a regular property if not a valid JSON
- }
- }
- message[key] = value;
- }
- return message;
- }
|