@dcupl/common 1.2.14 → 1.3.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/lib-cjs/computeSuggestions.d.ts +2 -1
- package/dist/lib-cjs/computeSuggestions.js +6 -5
- package/dist/lib-cjs/computeSuggestions.js.map +1 -1
- package/dist/lib-cjs/getFacets.d.ts +2 -1
- package/dist/lib-cjs/getFacets.js +2 -3
- package/dist/lib-cjs/getFacets.js.map +1 -1
- package/dist/lib-cjs/queryData.d.ts +16 -4
- package/dist/lib-cjs/queryData.js +334 -316
- package/dist/lib-cjs/queryData.js.map +1 -1
- package/dist/lib-cjs/types/model.types.d.ts +49 -9
- package/dist/lib-cjs/types/query.types.d.ts +3 -0
- package/dist/lib-cjs/types/query.types.js.map +1 -1
- package/dist/lib-esm/computeSuggestions.d.ts +2 -1
- package/dist/lib-esm/computeSuggestions.js +6 -5
- package/dist/lib-esm/computeSuggestions.js.map +1 -1
- package/dist/lib-esm/getFacets.d.ts +2 -1
- package/dist/lib-esm/getFacets.js +2 -3
- package/dist/lib-esm/getFacets.js.map +1 -1
- package/dist/lib-esm/queryData.d.ts +16 -4
- package/dist/lib-esm/queryData.js +333 -312
- package/dist/lib-esm/queryData.js.map +1 -1
- package/dist/lib-esm/types/model.types.d.ts +49 -9
- package/dist/lib-esm/types/query.types.d.ts +3 -0
- package/dist/lib-esm/types/query.types.js.map +1 -1
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { ListItem, Suggestion, SuggestionOptions, InverseIndexValuesMap } from './types';
|
|
2
|
-
|
|
2
|
+
import { QueryManager } from '.';
|
|
3
|
+
export declare function computeSuggestions<ListType extends ListItem = ListItem>(data: Map<string, ListType>, index: InverseIndexValuesMap, options: SuggestionOptions, queryManager: QueryManager): Suggestion[];
|
|
@@ -28,19 +28,20 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.computeSuggestions = void 0;
|
|
31
|
-
|
|
32
|
-
function computeSuggestions(data, index, options) {
|
|
31
|
+
function computeSuggestions(data, index, options, queryManager) {
|
|
33
32
|
var e_1, _a;
|
|
34
33
|
if (!options.max) {
|
|
35
34
|
options.max = 20;
|
|
36
35
|
}
|
|
37
36
|
var suggestions = [];
|
|
38
|
-
var relevantSearchTerm = options.transform
|
|
37
|
+
var relevantSearchTerm = options.transform
|
|
38
|
+
? queryManager.transformValue(options.value, options.transform)
|
|
39
|
+
: options.value;
|
|
39
40
|
try {
|
|
40
41
|
for (var _b = __values(index.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
41
42
|
var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
|
|
42
43
|
var isRelevantAttributeIndex = value.some(function (item) { return data.has(item); });
|
|
43
|
-
var relevantKey = options.transform ?
|
|
44
|
+
var relevantKey = options.transform ? queryManager.transformValue(key, options.transform) : key;
|
|
44
45
|
if (options.excludeUndefineds && typeof key === 'undefined') {
|
|
45
46
|
continue;
|
|
46
47
|
}
|
|
@@ -54,7 +55,7 @@ function computeSuggestions(data, index, options) {
|
|
|
54
55
|
};
|
|
55
56
|
suggestions.push(suggestion);
|
|
56
57
|
}
|
|
57
|
-
else if (isRelevantAttributeIndex &&
|
|
58
|
+
else if (isRelevantAttributeIndex && queryManager.queryFind(relevantKey, relevantSearchTerm, 'some')) {
|
|
58
59
|
var suggestion = {
|
|
59
60
|
value: key,
|
|
60
61
|
keys: value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeSuggestions.js","sourceRoot":"","sources":["../../src/computeSuggestions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"computeSuggestions.js","sourceRoot":"","sources":["../../src/computeSuggestions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAgB,kBAAkB,CAChC,IAA2B,EAC3B,KAA4B,EAC5B,OAA0B,EAC1B,YAA0B;;IAE1B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;QAChB,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;KAClB;IACD,IAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,IAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS;QAC1C,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;QAC/D,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;;QAElB,KAA2B,IAAA,KAAA,SAAA,KAAK,CAAC,OAAO,EAAE,CAAA,gBAAA,4BAAE;YAAjC,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YACpB,IAAM,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAd,CAAc,CAAC,CAAC;YAEtE,IAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAElG,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;gBAC3D,SAAS;aACV;YAED,IAAI,OAAO,CAAC,YAAY,IAAI,GAAG,KAAK,IAAI,EAAE;gBACxC,SAAS;aACV;YAED,IAAI,wBAAwB,IAAI,CAAC,kBAAkB,KAAK,EAAE,IAAI,kBAAkB,KAAK,IAAI,CAAC,EAAE;gBAC1F,IAAM,UAAU,GAAe;oBAC7B,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,KAAK;iBACZ,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC9B;iBAAM,IAAI,wBAAwB,IAAI,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE;gBACtG,IAAM,UAAU,GAAe;oBAC7B,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,KAAK;iBACZ,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC9B;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE;gBACtC,MAAM;aACP;SACF;;;;;;;;;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AA/CD,gDA+CC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { ListItem, FilterItemEntry, DcuplFilterOptions, InverseIndexReferenceMap, DcuplGlobalQueryOptions } from './types';
|
|
2
|
-
|
|
2
|
+
import { QueryManager } from './queryData';
|
|
3
|
+
export declare function getFacets<ListType extends ListItem = ListItem>(modelData: Map<string, ListType>, remoteModelData: Map<string, ListType>, options: DcuplFilterOptions, query: DcuplGlobalQueryOptions<any>, attribute: string, modelIndexMap: InverseIndexReferenceMap, queryManager: QueryManager): FilterItemEntry[];
|
|
@@ -37,15 +37,14 @@ var __values = (this && this.__values) || function(o) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.getFacets = void 0;
|
|
40
|
-
var queryData_1 = require("./queryData");
|
|
41
40
|
var query_builder_1 = require("./query-builder");
|
|
42
41
|
var lodash_1 = require("lodash");
|
|
43
42
|
var queryBuilder = new query_builder_1.DcuplQueryBuilder();
|
|
44
|
-
function getFacets(modelData, remoteModelData, options, query, attribute, modelIndexMap) {
|
|
43
|
+
function getFacets(modelData, remoteModelData, options, query, attribute, modelIndexMap, queryManager) {
|
|
45
44
|
var e_1, _a, e_2, _b, e_3, _c;
|
|
46
45
|
var filterItemEntries = [];
|
|
47
46
|
var queryWithoutCurrentFilter = queryBuilder.removeQuery({ groupKey: attribute }, (0, lodash_1.cloneDeep)(query));
|
|
48
|
-
var currentFilteredData =
|
|
47
|
+
var currentFilteredData = queryManager.queryData(modelData, queryWithoutCurrentFilter, false, modelIndexMap);
|
|
49
48
|
var remoteModelDataKeys = remoteModelData ? __spreadArray([], __read(remoteModelData === null || remoteModelData === void 0 ? void 0 : remoteModelData.keys()), false) : [];
|
|
50
49
|
var validFacetKeys = new Set(remoteModelDataKeys);
|
|
51
50
|
var indexMap = modelIndexMap.get(attribute);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFacets.js","sourceRoot":"","sources":["../../src/getFacets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"getFacets.js","sourceRoot":"","sources":["../../src/getFacets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import { ListItem, DcuplQueryGroup, InverseIndexReferenceMap, DcuplQueryTransformOptions } from './types';
|
|
2
|
-
export declare
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ListItem, DcuplQueryGroup, InverseIndexReferenceMap, DcuplQueryTransformOptions, CustomOperatorFn } from './types';
|
|
2
|
+
export declare class QueryManager {
|
|
3
|
+
private registeredCustomOperator;
|
|
4
|
+
private queryBuilder;
|
|
5
|
+
constructor();
|
|
6
|
+
registerCustomOperator(operator: string, fn: CustomOperatorFn): void;
|
|
7
|
+
transformValue(value: any, transformers: DcuplQueryTransformOptions[]): any;
|
|
8
|
+
private evaluateQuery;
|
|
9
|
+
private evaluateEqOperator;
|
|
10
|
+
private equalRegexFn;
|
|
11
|
+
queryFind(entryValue: any | any[], queryValue: any, arrayValueHandling: 'some' | 'every'): boolean;
|
|
12
|
+
private validateQuery;
|
|
13
|
+
private getEvaluatedQueryDataset;
|
|
14
|
+
private evaluateQueryGroup;
|
|
15
|
+
queryData<ListType extends ListItem = ListItem>(initialData: Map<string, ListType>, rootQuery: DcuplQueryGroup, earlyReturn: boolean, indexMap: InverseIndexReferenceMap): Map<string, ListType>;
|
|
16
|
+
}
|