@polymathnetwork/launchpad-redis 1.2.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/index.js +28 -14
- package/dist/client/index.js.map +1 -1
- package/dist/config/constants.d.ts +1 -0
- package/dist/config/constants.js +3 -2
- package/dist/config/constants.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js.map +1 -1
- package/dist/scripts.js +3 -2
- package/dist/scripts.js.map +1 -1
- package/dist/types/index.d.ts +5 -3
- package/dist/types/redis.d.ts +1 -1
- package/dist/util/command.d.ts +1 -1
- package/dist/util/command.js.map +1 -1
- package/dist/util/search.d.ts +3 -3
- package/dist/util/search.js +3 -6
- package/dist/util/search.js.map +1 -1
- package/package.json +1 -1
package/dist/client/index.js
CHANGED
|
@@ -63,17 +63,6 @@ const createRedisClient = (config) => {
|
|
|
63
63
|
logger_1.default.info('Redis connection closed successfully.');
|
|
64
64
|
});
|
|
65
65
|
// PRIVATE METHODS
|
|
66
|
-
const deleteIndex = (indexName) => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
-
try {
|
|
68
|
-
yield client.ft.dropIndex(indexName, {
|
|
69
|
-
DD: true,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
logger_1.default.error('Error deleting index:', error);
|
|
74
|
-
throw error;
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
66
|
const createIndex = (indexName, schema) => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
67
|
const schemaArgs = [
|
|
79
68
|
'FT.CREATE',
|
|
@@ -113,8 +102,8 @@ const createRedisClient = (config) => {
|
|
|
113
102
|
return client.set(key, value);
|
|
114
103
|
});
|
|
115
104
|
const get = (key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
116
|
-
if (options.commands.
|
|
117
|
-
return (0, command_1.withCommandTimeout)(client, 'get', options.commands.
|
|
105
|
+
if (options.commands.readCommandTimeoutMs) {
|
|
106
|
+
return (0, command_1.withCommandTimeout)(client, 'get', options.commands.readCommandTimeoutMs, key);
|
|
118
107
|
}
|
|
119
108
|
return client.get(key);
|
|
120
109
|
});
|
|
@@ -122,8 +111,22 @@ const createRedisClient = (config) => {
|
|
|
122
111
|
return client.checkAndSetJson(indexName, fieldName, fieldValue, jsonPayload);
|
|
123
112
|
});
|
|
124
113
|
const getMostRecentEntryByDateField = (indexName, dateFieldName, filterFieldName, filterFieldValue) => __awaiter(void 0, void 0, void 0, function* () {
|
|
114
|
+
if (options.commands.readCommandTimeoutMs) {
|
|
115
|
+
return (0, command_1.withCommandTimeout)(client, 'getMostRecentEntryByDateField', options.commands.readCommandTimeoutMs, indexName, dateFieldName, filterFieldName !== null && filterFieldName !== void 0 ? filterFieldName : '', filterFieldValue !== null && filterFieldValue !== void 0 ? filterFieldValue : '');
|
|
116
|
+
}
|
|
125
117
|
return client.getMostRecentEntryByDateField(indexName, dateFieldName, filterFieldName !== null && filterFieldName !== void 0 ? filterFieldName : '', filterFieldValue !== null && filterFieldValue !== void 0 ? filterFieldValue : '');
|
|
126
118
|
});
|
|
119
|
+
const deleteIndex = (indexName) => __awaiter(void 0, void 0, void 0, function* () {
|
|
120
|
+
try {
|
|
121
|
+
yield client.ft.dropIndex(indexName, {
|
|
122
|
+
DD: true,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
logger_1.default.error('Error deleting index:', error);
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
129
|
+
});
|
|
127
130
|
const loadOrResetIndex = (indexName, documentIdentifier, documentSchema, dataset) => __awaiter(void 0, void 0, void 0, function* () {
|
|
128
131
|
try {
|
|
129
132
|
const indexList = yield client.ft._list();
|
|
@@ -131,7 +134,7 @@ const createRedisClient = (config) => {
|
|
|
131
134
|
yield deleteIndex(indexName);
|
|
132
135
|
}
|
|
133
136
|
yield createIndex(indexName, documentSchema);
|
|
134
|
-
const redisearchDataset = (0, search_1.convertToRedisearchDataset)(dataset, documentSchema,
|
|
137
|
+
const redisearchDataset = (0, search_1.convertToRedisearchDataset)(dataset, documentSchema, documentIdentifier);
|
|
135
138
|
const result = yield client.loadDataScript(indexName, redisearchDataset);
|
|
136
139
|
logger_1.default.info(result);
|
|
137
140
|
return { ok: true };
|
|
@@ -141,6 +144,15 @@ const createRedisClient = (config) => {
|
|
|
141
144
|
throw error;
|
|
142
145
|
}
|
|
143
146
|
});
|
|
147
|
+
const getIndexData = (indexName) => __awaiter(void 0, void 0, void 0, function* () {
|
|
148
|
+
let results;
|
|
149
|
+
if (options.commands.readCommandTimeoutMs) {
|
|
150
|
+
results = yield (0, command_1.withCommandTimeout)(client.ft, 'search', options.commands.readCommandTimeoutMs, indexName, '*');
|
|
151
|
+
return results.documents.map((doc) => doc.value);
|
|
152
|
+
}
|
|
153
|
+
results = yield client.ft.search(indexName, '*');
|
|
154
|
+
return results.documents.map((doc) => doc.value);
|
|
155
|
+
});
|
|
144
156
|
const baseMethods = {
|
|
145
157
|
connect,
|
|
146
158
|
quit,
|
|
@@ -148,7 +160,9 @@ const createRedisClient = (config) => {
|
|
|
148
160
|
set,
|
|
149
161
|
checkAndSetJson,
|
|
150
162
|
getMostRecentEntryByDateField,
|
|
163
|
+
deleteIndex,
|
|
151
164
|
loadOrResetIndex,
|
|
165
|
+
getIndexData,
|
|
152
166
|
};
|
|
153
167
|
if (options.scripts.length) {
|
|
154
168
|
attachUserScripts(client, baseMethods, options.scripts);
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ClientConfigurationOptions } from '../types';
|
|
2
|
+
export declare const INDEX_NOT_FOUND_ERROR = "no such index";
|
|
2
3
|
export declare const MAX_RECONNECT_DELAY = 1800000;
|
|
3
4
|
export declare const CONNECTION_TIMEOUT = 5000;
|
|
4
5
|
export declare const DEFAULT_CLIENT_CONFIG_OPTIONS: ClientConfigurationOptions;
|
package/dist/config/constants.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_CLIENT_CONFIG_OPTIONS = exports.CONNECTION_TIMEOUT = exports.MAX_RECONNECT_DELAY = void 0;
|
|
3
|
+
exports.DEFAULT_CLIENT_CONFIG_OPTIONS = exports.CONNECTION_TIMEOUT = exports.MAX_RECONNECT_DELAY = exports.INDEX_NOT_FOUND_ERROR = void 0;
|
|
4
|
+
exports.INDEX_NOT_FOUND_ERROR = 'no such index';
|
|
4
5
|
exports.MAX_RECONNECT_DELAY = 1800000; // 30 minutes
|
|
5
6
|
exports.CONNECTION_TIMEOUT = 5000;
|
|
6
7
|
exports.DEFAULT_CLIENT_CONFIG_OPTIONS = {
|
|
7
8
|
connection: {
|
|
8
9
|
retryDelay: 500,
|
|
9
|
-
maxRetries:
|
|
10
|
+
maxRetries: 5,
|
|
10
11
|
},
|
|
11
12
|
disableOfflineQueue: false,
|
|
12
13
|
commands: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAG,OAAO,CAAC,CAAC,aAAa;AAE5C,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAE1B,QAAA,6BAA6B,GAA+B;IACvE,UAAU,EAAE;QACV,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAG,eAAe,CAAC;AAExC,QAAA,mBAAmB,GAAG,OAAO,CAAC,CAAC,aAAa;AAE5C,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAE1B,QAAA,6BAA6B,GAA+B;IACvE,UAAU,EAAE;QACV,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,CAAC;KACd;IACD,mBAAmB,EAAE,KAAK;IAC1B,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;CACZ,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;AAGpC,kGAHA,0BAAiB,OAGA"}
|
package/dist/scripts.js
CHANGED
|
@@ -46,7 +46,7 @@ exports.systemScripts = {
|
|
|
46
46
|
|
|
47
47
|
local searchResult = redis.call('FT.SEARCH', indexName, query, 'SORTBY', dateFieldName, 'DESC', 'LIMIT', '0', '1')
|
|
48
48
|
|
|
49
|
-
if
|
|
49
|
+
if searchResult == nil or #searchResult < 2 then
|
|
50
50
|
return nil
|
|
51
51
|
end
|
|
52
52
|
|
|
@@ -75,7 +75,8 @@ exports.systemScripts = {
|
|
|
75
75
|
local dataset = cjson.decode(ARGV[2])
|
|
76
76
|
|
|
77
77
|
for _, doc in ipairs(dataset) do
|
|
78
|
-
|
|
78
|
+
local docId = indexName .. ':' .. doc.orderId
|
|
79
|
+
redis.call('JSON.SET', docId, '$', cjson.encode(doc))
|
|
79
80
|
end
|
|
80
81
|
|
|
81
82
|
return 'Dataset has been loaded successfully'
|
package/dist/scripts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../src/scripts.ts"],"names":[],"mappings":";;;AAAA,iCAAmD;AAEtC,QAAA,aAAa,GAAiB;IACzC,eAAe,EAAE,IAAA,oBAAY,EAAC;QAC5B,cAAc,EAAE,CAAC;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;OAeL;QACH,kBAAkB,CAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,WAAgC;YAEhC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,cAAc,CAAC,KAAa;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;IAEF,6BAA6B,EAAE,IAAA,oBAAY,EAAC;QAC1C,cAAc,EAAE,CAAC;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;OAsBL;QACH,kBAAkB,CAChB,SAAiB,EACjB,aAAqB,EACrB,eAAuB,EACvB,gBAAwB;YAExB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;QACvE,CAAC;QACD,cAAc,CAAC,KAAa;YAC1B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KACF,CAAC;IAEF,cAAc,EAAE,IAAA,oBAAY,EAAC;QAC3B,cAAc,EAAE,CAAC;QACjB,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../src/scripts.ts"],"names":[],"mappings":";;;AAAA,iCAAmD;AAEtC,QAAA,aAAa,GAAiB;IACzC,eAAe,EAAE,IAAA,oBAAY,EAAC;QAC5B,cAAc,EAAE,CAAC;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;OAeL;QACH,kBAAkB,CAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,WAAgC;YAEhC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,cAAc,CAAC,KAAa;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;IAEF,6BAA6B,EAAE,IAAA,oBAAY,EAAC;QAC1C,cAAc,EAAE,CAAC;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;OAsBL;QACH,kBAAkB,CAChB,SAAiB,EACjB,aAAqB,EACrB,eAAuB,EACvB,gBAAwB;YAExB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;QACvE,CAAC;QACD,cAAc,CAAC,KAAa;YAC1B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KACF,CAAC;IAEF,cAAc,EAAE,IAAA,oBAAY,EAAC;QAC3B,cAAc,EAAE,CAAC;QACjB,MAAM,EAAE;;;;;;;;;;KAUP;QACD,kBAAkB,CAAC,SAAiB,EAAE,OAA8B;YAClE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,cAAc,CAAC,KAAa;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;CACH,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export type ClientConfigurationOptions = {
|
|
|
11
11
|
maxRetries?: number;
|
|
12
12
|
};
|
|
13
13
|
commands: {
|
|
14
|
-
|
|
14
|
+
readCommandTimeoutMs?: number;
|
|
15
15
|
};
|
|
16
16
|
scripts: LuaScriptDefinition[];
|
|
17
17
|
disableOfflineQueue: boolean;
|
|
@@ -26,10 +26,12 @@ export type ClientReturnType = {
|
|
|
26
26
|
get: (key: string) => Promise<string | null>;
|
|
27
27
|
set: (key: string, value: string) => Promise<string | null>;
|
|
28
28
|
checkAndSetJson: (indexName: string, fieldName: string, fieldValue: string, jsonPayload: Record<string, any>) => Promise<Record<string, any>>;
|
|
29
|
-
getMostRecentEntryByDateField: (indexName: string, dateFieldName: string, filterFieldName?: string, filterFieldValue?: string) => Promise<
|
|
30
|
-
|
|
29
|
+
getMostRecentEntryByDateField: <T extends Record<string, any>>(indexName: string, dateFieldName: string, filterFieldName?: string, filterFieldValue?: string) => Promise<T | null>;
|
|
30
|
+
deleteIndex: (indexName: string) => Promise<void>;
|
|
31
|
+
loadOrResetIndex: <T extends string>(indexName: string, documentIdentifier: string, documentSchema: SchemaRecord<T>, dataset: Record<string, any>[]) => Promise<{
|
|
31
32
|
ok: boolean;
|
|
32
33
|
}>;
|
|
34
|
+
getIndexData: <DocumentType>(indexName: string) => Promise<DocumentType[]>;
|
|
33
35
|
event: EventEmitter;
|
|
34
36
|
[key: string]: any;
|
|
35
37
|
};
|
package/dist/types/redis.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RedisClientType as OriginalRedisClientType, RedisModules, RedisDefaultModules, RedisFunctions, RedisScripts } from 'redis';
|
|
2
2
|
export type ExtendedRedisClientType<M extends RedisModules = RedisDefaultModules, F extends RedisFunctions = Record<string, never>, S extends RedisScripts = Record<string, never>> = OriginalRedisClientType<M, F, S> & {
|
|
3
3
|
checkAndSetJson: (indexName: string, fieldName: string, fieldValue: string, jsonPayload: Record<string, any>) => Promise<Record<string, any>>;
|
|
4
|
-
getMostRecentEntryByDateField: (indexName: string, dateFieldName: string, filterFieldName?: string, filterFieldValue?: string) => Promise<
|
|
4
|
+
getMostRecentEntryByDateField: <T extends Record<string, any>>(indexName: string, dateFieldName: string, filterFieldName?: string, filterFieldValue?: string) => Promise<T | null>;
|
|
5
5
|
loadDataScript: (indexName: string, dataset: Record<string, any>) => Promise<Record<string, any>>;
|
|
6
6
|
};
|
package/dist/util/command.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const withCommandTimeout: (client: any, command: string, readCommandTimeout: number, ...args: any[]) => Promise<
|
|
1
|
+
export declare const withCommandTimeout: <ReturnType>(client: any, command: string, readCommandTimeout: number, ...args: any[]) => Promise<ReturnType>;
|
package/dist/util/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/util/command.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAChC,MAAW,EACX,OAAe,EACf,kBAA0B,EAC1B,GAAG,IAAW,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/util/command.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAChC,MAAW,EACX,OAAe,EACf,kBAA0B,EAC1B,GAAG,IAAW,EACO,EAAE,CACvB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAEvB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;SACrB,IAAI,CAAC,CAAC,MAAkB,EAAE,EAAE;QAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;QAClB,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AApBQ,QAAA,kBAAkB,sBAoB1B"}
|
package/dist/util/search.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type FieldType = 'TEXT' | 'NUMERIC' | 'DATE';
|
|
2
|
-
export type SchemaRecord = Record<
|
|
3
|
-
export declare const convertToRedisearchSchema: (schemaRecord: SchemaRecord) => string[];
|
|
4
|
-
export declare const convertToRedisearchDataset: (dataset: Record<string, any>[], schemaRecord: SchemaRecord
|
|
2
|
+
export type SchemaRecord<T extends string> = Record<T, FieldType>;
|
|
3
|
+
export declare const convertToRedisearchSchema: <T extends string>(schemaRecord: SchemaRecord<T>) => string[];
|
|
4
|
+
export declare const convertToRedisearchDataset: <T extends string>(dataset: Record<string, any>[], schemaRecord: SchemaRecord<T>, documentIdentifier: string) => Record<string, any>[];
|
|
5
5
|
export {};
|
package/dist/util/search.js
CHANGED
|
@@ -5,10 +5,7 @@ const convertToRedisearchSchema = (schemaRecord) => {
|
|
|
5
5
|
const schemaArgs = ['SCHEMA'];
|
|
6
6
|
for (const [fieldName, fieldType] of Object.entries(schemaRecord)) {
|
|
7
7
|
const processedFieldType = fieldType === 'DATE' ? 'NUMERIC' : fieldType;
|
|
8
|
-
schemaArgs.push(`$.${fieldName}
|
|
9
|
-
schemaArgs.push(`AS`);
|
|
10
|
-
schemaArgs.push(fieldName);
|
|
11
|
-
schemaArgs.push(processedFieldType);
|
|
8
|
+
schemaArgs.push(`$.${fieldName}`, 'AS', fieldName, processedFieldType);
|
|
12
9
|
}
|
|
13
10
|
return schemaArgs;
|
|
14
11
|
};
|
|
@@ -16,7 +13,7 @@ exports.convertToRedisearchSchema = convertToRedisearchSchema;
|
|
|
16
13
|
const getDateFieldNames = (schema) => {
|
|
17
14
|
return Object.keys(schema).filter((fieldName) => schema[fieldName] === 'DATE');
|
|
18
15
|
};
|
|
19
|
-
const convertToRedisearchDataset = (dataset, schemaRecord,
|
|
16
|
+
const convertToRedisearchDataset = (dataset, schemaRecord, documentIdentifier) => {
|
|
20
17
|
const result = [];
|
|
21
18
|
const dateFieldNames = getDateFieldNames(schemaRecord);
|
|
22
19
|
dataset.forEach((dataObject) => {
|
|
@@ -33,7 +30,7 @@ const convertToRedisearchDataset = (dataset, schemaRecord, prefix, documentIdent
|
|
|
33
30
|
}
|
|
34
31
|
dataObject[fieldName] = dateObject.getTime();
|
|
35
32
|
});
|
|
36
|
-
result.push(
|
|
33
|
+
result.push(dataObject);
|
|
37
34
|
});
|
|
38
35
|
return result;
|
|
39
36
|
};
|
package/dist/util/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/util/search.ts"],"names":[],"mappings":";;;AAIO,MAAM,yBAAyB,GAAG,CACvC,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/util/search.ts"],"names":[],"mappings":";;;AAIO,MAAM,yBAAyB,GAAG,CACvC,YAA6B,EACnB,EAAE;IACZ,MAAM,UAAU,GAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CACjD,YAAY,CACb,EAAE,CAAC;QACF,MAAM,kBAAkB,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAZW,QAAA,yBAAyB,6BAYpC;AAEF,MAAM,iBAAiB,GAAG,CACxB,MAAuB,EACb,EAAE;IACZ,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC/B,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAc,CAAC,KAAK,MAAM,CACjD,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,0BAA0B,GAAG,CACxC,OAA8B,EAC9B,YAA6B,EAC7B,kBAA0B,EACH,EAAE;IACzB,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,MAAM,cAAc,GAAG,iBAAiB,CAAI,YAAY,CAAC,CAAC;IAE1D,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC7B,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,kDAAkD,kBAAkB,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,wDAAwD,SAAS,EAAE,CACpE,CAAC;YACJ,CAAC;YAED,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAjCW,QAAA,0BAA0B,8BAiCrC"}
|