@dcupl/common 1.1.0 → 1.1.1

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.
@@ -0,0 +1,9 @@
1
+ export declare class CacheController {
2
+ private cache;
3
+ constructor();
4
+ get(key: string, context: any): any;
5
+ set(key: string, context: any, value: any): void;
6
+ has(key: string, context: any): boolean;
7
+ clear(): void;
8
+ getCacheName(key: string, context: any): string;
9
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CacheController = void 0;
7
+ var object_hash_1 = __importDefault(require("object-hash"));
8
+ var CacheController = /** @class */ (function () {
9
+ function CacheController() {
10
+ this.cache = new Map();
11
+ }
12
+ CacheController.prototype.get = function (key, context) {
13
+ return this.cache.get(this.getCacheName(key, context));
14
+ };
15
+ CacheController.prototype.set = function (key, context, value) {
16
+ this.cache.set(this.getCacheName(key, context), value);
17
+ };
18
+ CacheController.prototype.has = function (key, context) {
19
+ return this.cache.has(this.getCacheName(key, context));
20
+ };
21
+ CacheController.prototype.clear = function () {
22
+ this.cache.clear();
23
+ };
24
+ CacheController.prototype.getCacheName = function (key, context) {
25
+ var hash = (0, object_hash_1.default)(context);
26
+ return key + '_' + hash;
27
+ };
28
+ return CacheController;
29
+ }());
30
+ exports.CacheController = CacheController;
31
+ //# sourceMappingURL=cache.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.controller.js","sourceRoot":"","sources":["../../src/cache.controller.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAqC;AAErC;IAGE;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,CAAC;IAEM,6BAAG,GAAV,UAAW,GAAW,EAAE,OAAY;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,6BAAG,GAAV,UAAW,GAAW,EAAE,OAAY,EAAE,KAAU;QAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAEM,6BAAG,GAAV,UAAW,GAAW,EAAE,OAAY;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,+BAAK,GAAZ;QACE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEM,sCAAY,GAAnB,UAAoB,GAAW,EAAE,OAAY;QAC3C,IAAM,IAAI,GAAG,IAAA,qBAAU,EAAC,OAAO,CAAC,CAAC;QACjC,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IAC1B,CAAC;IACH,sBAAC;AAAD,CAAC,AA3BD,IA2BC;AA3BY,0CAAe"}
@@ -1,4 +1,5 @@
1
1
  export * from './changeDetection';
2
+ export * from './cache.controller';
2
3
  export * from './computeSuggestions';
3
4
  export * from './getAggregation';
4
5
  export * from './getFacets';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./changeDetection"), exports);
18
+ __exportStar(require("./cache.controller"), exports);
18
19
  __exportStar(require("./computeSuggestions"), exports);
19
20
  __exportStar(require("./getAggregation"), exports);
20
21
  __exportStar(require("./getFacets"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,uDAAqC;AACrC,mDAAiC;AACjC,8CAA4B;AAC5B,2CAAyB;AACzB,uDAAqC;AACrC,gDAA8B;AAC9B,0CAAwB;AACxB,kDAAgC;AAChC,iDAA+B;AAC/B,8CAA4B;AAC5B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC;AACrC,mDAAiC;AACjC,8CAA4B;AAC5B,2CAAyB;AACzB,uDAAqC;AACrC,gDAA8B;AAC9B,0CAAwB;AACxB,kDAAgC;AAChC,iDAA+B;AAC/B,8CAA4B;AAC5B,0CAAwB"}
@@ -137,16 +137,26 @@ var IndicesController = /** @class */ (function () {
137
137
  return this.dataMap.get(indexName);
138
138
  };
139
139
  IndicesController.prototype.getOrCreateIndex = function (attributeKey, relevantData, context) {
140
- var _this = this;
140
+ var e_5, _a;
141
141
  var indexName = this.getIndexName(attributeKey, context);
142
142
  var index = this.getIndex(indexName);
143
143
  if (!index) {
144
144
  this.reset(indexName);
145
- relevantData.forEach(function (entry) {
146
- var attributeValue = entry[attributeKey];
147
- _this.fillInverseIndex(indexName, entry.key, [attributeValue]);
148
- _this.fillDataMap(indexName, [attributeValue]);
149
- });
145
+ try {
146
+ for (var _b = __values(relevantData.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
147
+ var entry = _c.value;
148
+ var attributeValue = entry[attributeKey];
149
+ this.fillInverseIndex(indexName, entry.key, [attributeValue]);
150
+ this.fillDataMap(indexName, [attributeValue]);
151
+ }
152
+ }
153
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
154
+ finally {
155
+ try {
156
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
157
+ }
158
+ finally { if (e_5) throw e_5.error; }
159
+ }
150
160
  index = this.getIndex(indexName);
151
161
  }
152
162
  return index;
@@ -1 +1 @@
1
- {"version":3,"file":"indices.controller.js","sourceRoot":"","sources":["../../src/indices.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indices.controller.js","sourceRoot":"","sources":["../../src/indices.controller.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
+ import { IndicesController } from './indices.controller';
1
2
  import { ListItem, Aggregation, AggregationOptions } from './types';
2
3
  type PivotRowOption = {
3
4
  attribute: string;
5
+ calculateTotals?: boolean;
4
6
  };
5
7
  type PivotColumnOption = {
6
8
  attribute: string;
9
+ calculateTotals?: boolean;
7
10
  };
8
11
  type PivotValueOption = AggregationOptions;
9
12
  export type PivotOptions = {
@@ -11,7 +14,7 @@ export type PivotOptions = {
11
14
  columns: PivotColumnOption[];
12
15
  values: PivotValueOption[];
13
16
  options?: {
14
- includePaths?: boolean;
17
+ calculateTotals?: boolean;
15
18
  };
16
19
  };
17
20
  type PivotResponseItem = {
@@ -21,5 +24,5 @@ type PivotResponseItem = {
21
24
  rows?: PivotResponseItem[];
22
25
  };
23
26
  export type PivotResponse = PivotResponseItem;
24
- export declare function pivot<ListType extends ListItem = ListItem>(relevantData: Map<string, ListType>, options: PivotOptions, response?: PivotResponse, paths?: any, parentPath?: string): PivotResponse;
27
+ export declare function pivot<ListType extends ListItem = ListItem>(relevantData: Map<string, ListType>, options: PivotOptions, response?: PivotResponse, parentPath?: string, indicesCtrl?: IndicesController): PivotResponse;
25
28
  export {};
@@ -42,34 +42,63 @@ exports.pivot = void 0;
42
42
  var getAggregation_1 = require("./getAggregation");
43
43
  var indices_controller_1 = require("./indices.controller");
44
44
  var pivotPathSeparator = '__';
45
- function pivot(relevantData, options, response, paths, parentPath) {
46
- var e_1, _a;
47
- var _b;
45
+ function pivot(relevantData, options, response, parentPath, indicesCtrl) {
46
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
47
+ var _e;
48
48
  if (response === void 0) { response = { key: 'root' }; }
49
- if (paths === void 0) { paths = {}; }
50
49
  if (parentPath === void 0) { parentPath = 'root'; }
51
- var indicesCtrl = new indices_controller_1.IndicesController();
52
- options.columns.forEach(function (column) {
53
- if (column.attribute) {
54
- indicesCtrl.getOrCreateIndex(column.attribute, relevantData);
50
+ if (indicesCtrl === void 0) { indicesCtrl = new indices_controller_1.IndicesController(); }
51
+ try {
52
+ for (var _f = __values(options.columns), _g = _f.next(); !_g.done; _g = _f.next()) {
53
+ var column = _g.value;
54
+ if (column.attribute) {
55
+ indicesCtrl.getOrCreateIndex(column.attribute, relevantData);
56
+ }
55
57
  }
56
- });
57
- options.rows.forEach(function (row) {
58
- if (row.attribute) {
59
- indicesCtrl.getOrCreateIndex(row.attribute, relevantData);
58
+ }
59
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
60
+ finally {
61
+ try {
62
+ if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
60
63
  }
61
- });
62
- options.values.forEach(function (value) {
63
- if (value.attribute) {
64
- indicesCtrl.getOrCreateIndex(value.attribute, relevantData);
64
+ finally { if (e_1) throw e_1.error; }
65
+ }
66
+ try {
67
+ for (var _h = __values(options.rows), _j = _h.next(); !_j.done; _j = _h.next()) {
68
+ var row = _j.value;
69
+ if (row.attribute) {
70
+ indicesCtrl.getOrCreateIndex(row.attribute, relevantData);
71
+ }
65
72
  }
66
- });
73
+ }
74
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
75
+ finally {
76
+ try {
77
+ if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
78
+ }
79
+ finally { if (e_2) throw e_2.error; }
80
+ }
81
+ try {
82
+ for (var _k = __values(options.values), _l = _k.next(); !_l.done; _l = _k.next()) {
83
+ var value = _l.value;
84
+ if (value.attribute) {
85
+ indicesCtrl.getOrCreateIndex(value.attribute, relevantData);
86
+ }
87
+ }
88
+ }
89
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
90
+ finally {
91
+ try {
92
+ if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
93
+ }
94
+ finally { if (e_3) throw e_3.error; }
95
+ }
67
96
  /**
68
97
  * Rows
69
98
  */
70
99
  if (options.rows && options.rows.length > 0) {
71
100
  response.rows = response.rows || [];
72
- var item = getPivotRowItem(relevantData, options.rows[0], options, indicesCtrl, paths, parentPath);
101
+ var item = getPivotRowItem(relevantData, options.rows[0], options, indicesCtrl, parentPath);
73
102
  response.rows.push(item);
74
103
  }
75
104
  /**
@@ -77,7 +106,7 @@ function pivot(relevantData, options, response, paths, parentPath) {
77
106
  */
78
107
  if (options.columns && options.columns.length > 0) {
79
108
  response.columns = response.columns || [];
80
- var item = getPivotColumnItem(relevantData, options.columns[0], options, indicesCtrl, paths, parentPath);
109
+ var item = getPivotColumnItem(relevantData, options.columns[0], options, indicesCtrl, parentPath);
81
110
  response.columns.push(item);
82
111
  }
83
112
  /**
@@ -85,34 +114,35 @@ function pivot(relevantData, options, response, paths, parentPath) {
85
114
  */
86
115
  if (response.key === 'root') {
87
116
  try {
88
- for (var _c = __values(options.values), _d = _c.next(); !_d.done; _d = _c.next()) {
89
- var value = _d.value;
117
+ for (var _m = __values(options.values), _o = _m.next(); !_o.done; _o = _m.next()) {
118
+ var value = _o.value;
90
119
  response.values = response.values || [];
120
+ if (parentPath === 'root' && ((_e = options.options) === null || _e === void 0 ? void 0 : _e.calculateTotals) === false) {
121
+ continue;
122
+ }
91
123
  var agg = (0, getAggregation_1.getAggregation)(value, relevantData, indicesCtrl.getIndex(value.attribute), value.attribute);
92
- paths[parentPath] = agg;
93
124
  response.values.push(agg);
94
125
  }
95
126
  }
96
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
127
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
97
128
  finally {
98
129
  try {
99
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
130
+ if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
100
131
  }
101
- finally { if (e_1) throw e_1.error; }
132
+ finally { if (e_4) throw e_4.error; }
102
133
  }
103
134
  }
104
- if ((_b = options.options) === null || _b === void 0 ? void 0 : _b.includePaths) {
105
- Object.defineProperty(response, 'paths', { enumerable: false, value: paths });
106
- }
107
135
  return response;
108
136
  }
109
137
  exports.pivot = pivot;
110
- function getPivotRowItem(modelData, options, globalOptions, modelIndexMap, paths, parentPath) {
111
- var e_2, _a, e_3, _b, e_4, _c, e_5, _d;
112
- if (paths === void 0) { paths = {}; }
138
+ function getPivotRowItem(modelData, options, globalOptions, modelIndexMap, parentPath) {
139
+ var e_5, _a, e_6, _b, e_7, _c, e_8, _d;
113
140
  if (parentPath === void 0) { parentPath = ''; }
114
141
  var item = { key: options.attribute };
115
142
  var indexMap = modelIndexMap.getIndex(options.attribute);
143
+ if (!indexMap) {
144
+ return item;
145
+ }
116
146
  try {
117
147
  for (var _e = __values(indexMap.entries()), _f = _e.next(); !_f.done; _f = _e.next()) {
118
148
  var _g = __read(_f.value, 2), key = _g[0], itemKeys = _g[1];
@@ -121,7 +151,7 @@ function getPivotRowItem(modelData, options, globalOptions, modelIndexMap, paths
121
151
  };
122
152
  var relevantData = new Map();
123
153
  try {
124
- for (var itemKeys_1 = (e_3 = void 0, __values(itemKeys)), itemKeys_1_1 = itemKeys_1.next(); !itemKeys_1_1.done; itemKeys_1_1 = itemKeys_1.next()) {
154
+ for (var itemKeys_1 = (e_6 = void 0, __values(itemKeys)), itemKeys_1_1 = itemKeys_1.next(); !itemKeys_1_1.done; itemKeys_1_1 = itemKeys_1.next()) {
125
155
  var key_1 = itemKeys_1_1.value;
126
156
  if (!modelData.has(key_1)) {
127
157
  continue;
@@ -129,73 +159,77 @@ function getPivotRowItem(modelData, options, globalOptions, modelIndexMap, paths
129
159
  relevantData.set(key_1, modelData.get(key_1));
130
160
  }
131
161
  }
132
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
162
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
133
163
  finally {
134
164
  try {
135
165
  if (itemKeys_1_1 && !itemKeys_1_1.done && (_b = itemKeys_1.return)) _b.call(itemKeys_1);
136
166
  }
137
- finally { if (e_3) throw e_3.error; }
167
+ finally { if (e_6) throw e_6.error; }
138
168
  }
139
169
  if (!relevantData.size)
140
170
  continue;
141
171
  try {
142
- for (var _h = (e_4 = void 0, __values(globalOptions.values)), _j = _h.next(); !_j.done; _j = _h.next()) {
172
+ for (var _h = (e_7 = void 0, __values(globalOptions.values)), _j = _h.next(); !_j.done; _j = _h.next()) {
143
173
  var value = _j.value;
144
174
  rowItem.values = rowItem.values || [];
175
+ if (parentPath === 'root' && (options === null || options === void 0 ? void 0 : options.calculateTotals) === false) {
176
+ continue;
177
+ }
145
178
  var agg = (0, getAggregation_1.getAggregation)(value, relevantData, modelIndexMap.getIndex(value.attribute), value.attribute);
146
- paths[parentPath + pivotPathSeparator + options.attribute + pivotPathSeparator + key] = agg;
147
179
  rowItem.values.push(agg);
148
180
  }
149
181
  }
150
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
182
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
151
183
  finally {
152
184
  try {
153
185
  if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
154
186
  }
155
- finally { if (e_4) throw e_4.error; }
187
+ finally { if (e_7) throw e_7.error; }
156
188
  }
157
189
  item.rows = item.rows || [];
158
190
  item.rows.push(rowItem);
159
191
  if (globalOptions.rows.length > 1) {
160
192
  var newOptions = __assign(__assign({}, globalOptions), { rows: globalOptions.rows.slice(1) });
161
- pivot(relevantData, newOptions, rowItem, paths, parentPath + pivotPathSeparator + options.attribute + pivotPathSeparator + key);
193
+ pivot(relevantData, newOptions, rowItem, parentPath + pivotPathSeparator + options.attribute + pivotPathSeparator + key);
162
194
  }
163
195
  else {
164
196
  if (globalOptions.columns) {
165
197
  try {
166
- for (var _k = (e_5 = void 0, __values(globalOptions.columns)), _l = _k.next(); !_l.done; _l = _k.next()) {
198
+ for (var _k = (e_8 = void 0, __values(globalOptions.columns)), _l = _k.next(); !_l.done; _l = _k.next()) {
167
199
  var columnOption = _l.value;
168
200
  rowItem.columns = rowItem.columns || [];
169
- var columnItem = getPivotColumnItem(relevantData, columnOption, globalOptions, modelIndexMap, paths, parentPath + pivotPathSeparator + options.attribute + pivotPathSeparator + key);
201
+ var columnItem = getPivotColumnItem(relevantData, columnOption, globalOptions, modelIndexMap, parentPath + pivotPathSeparator + options.attribute + pivotPathSeparator + key);
170
202
  rowItem.columns.push(columnItem);
171
203
  }
172
204
  }
173
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
205
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
174
206
  finally {
175
207
  try {
176
208
  if (_l && !_l.done && (_d = _k.return)) _d.call(_k);
177
209
  }
178
- finally { if (e_5) throw e_5.error; }
210
+ finally { if (e_8) throw e_8.error; }
179
211
  }
180
212
  }
181
213
  }
182
214
  }
183
215
  }
184
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
216
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
185
217
  finally {
186
218
  try {
187
219
  if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
188
220
  }
189
- finally { if (e_2) throw e_2.error; }
221
+ finally { if (e_5) throw e_5.error; }
190
222
  }
191
223
  return item;
192
224
  }
193
- function getPivotColumnItem(modelData, options, globalOptions, modelIndexMap, paths, parentPath) {
194
- var e_6, _a, e_7, _b, e_8, _c;
195
- if (paths === void 0) { paths = {}; }
225
+ function getPivotColumnItem(modelData, options, globalOptions, modelIndexMap, parentPath) {
226
+ var e_9, _a, e_10, _b, e_11, _c;
196
227
  if (parentPath === void 0) { parentPath = ''; }
197
228
  var item = { key: options.attribute };
198
229
  var indexMap = modelIndexMap.getIndex(options.attribute);
230
+ if (!indexMap) {
231
+ return item;
232
+ }
199
233
  try {
200
234
  for (var _d = __values(indexMap.entries()), _e = _d.next(); !_e.done; _e = _d.next()) {
201
235
  var _f = __read(_e.value, 2), key = _f[0], itemKeys = _f[1];
@@ -204,7 +238,7 @@ function getPivotColumnItem(modelData, options, globalOptions, modelIndexMap, pa
204
238
  };
205
239
  var relevantData = new Map();
206
240
  try {
207
- for (var itemKeys_2 = (e_7 = void 0, __values(itemKeys)), itemKeys_2_1 = itemKeys_2.next(); !itemKeys_2_1.done; itemKeys_2_1 = itemKeys_2.next()) {
241
+ for (var itemKeys_2 = (e_10 = void 0, __values(itemKeys)), itemKeys_2_1 = itemKeys_2.next(); !itemKeys_2_1.done; itemKeys_2_1 = itemKeys_2.next()) {
208
242
  var key_2 = itemKeys_2_1.value;
209
243
  if (!modelData.has(key_2)) {
210
244
  continue;
@@ -212,45 +246,47 @@ function getPivotColumnItem(modelData, options, globalOptions, modelIndexMap, pa
212
246
  relevantData.set(key_2, modelData.get(key_2));
213
247
  }
214
248
  }
215
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
249
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
216
250
  finally {
217
251
  try {
218
252
  if (itemKeys_2_1 && !itemKeys_2_1.done && (_b = itemKeys_2.return)) _b.call(itemKeys_2);
219
253
  }
220
- finally { if (e_7) throw e_7.error; }
254
+ finally { if (e_10) throw e_10.error; }
221
255
  }
222
256
  if (!relevantData.size)
223
257
  continue;
224
258
  try {
225
- for (var _g = (e_8 = void 0, __values(globalOptions.values)), _h = _g.next(); !_h.done; _h = _g.next()) {
259
+ for (var _g = (e_11 = void 0, __values(globalOptions.values)), _h = _g.next(); !_h.done; _h = _g.next()) {
226
260
  var value = _h.value;
227
261
  rowItem.values = rowItem.values || [];
262
+ if (parentPath === 'root' && (options === null || options === void 0 ? void 0 : options.calculateTotals) === false) {
263
+ continue;
264
+ }
228
265
  var agg = (0, getAggregation_1.getAggregation)(value, relevantData, modelIndexMap.getIndex(value.attribute), value.attribute);
229
- paths[parentPath + pivotPathSeparator + options.attribute + pivotPathSeparator + key] = agg;
230
266
  rowItem.values.push(agg);
231
267
  }
232
268
  }
233
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
269
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
234
270
  finally {
235
271
  try {
236
272
  if (_h && !_h.done && (_c = _g.return)) _c.call(_g);
237
273
  }
238
- finally { if (e_8) throw e_8.error; }
274
+ finally { if (e_11) throw e_11.error; }
239
275
  }
240
276
  item.columns = item.columns || [];
241
277
  item.columns.push(rowItem);
242
278
  if (globalOptions.columns.length > 1) {
243
279
  var newOptions = __assign(__assign({}, globalOptions), { columns: globalOptions.columns.slice(1) });
244
- pivot(relevantData, newOptions, rowItem, paths, parentPath + pivotPathSeparator + options.attribute + pivotPathSeparator + key);
280
+ pivot(relevantData, newOptions, rowItem, parentPath + pivotPathSeparator + options.attribute + pivotPathSeparator + key);
245
281
  }
246
282
  }
247
283
  }
248
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
284
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
249
285
  finally {
250
286
  try {
251
287
  if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
252
288
  }
253
- finally { if (e_6) throw e_6.error; }
289
+ finally { if (e_9) throw e_9.error; }
254
290
  }
255
291
  return item;
256
292
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pivot.js","sourceRoot":"","sources":["../../src/pivot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pivot.js","sourceRoot":"","sources":["../../src/pivot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare class CacheController {
2
+ private cache;
3
+ constructor();
4
+ get(key: string, context: any): any;
5
+ set(key: string, context: any, value: any): void;
6
+ has(key: string, context: any): boolean;
7
+ clear(): void;
8
+ getCacheName(key: string, context: any): string;
9
+ }
@@ -0,0 +1,25 @@
1
+ import objectHash from 'object-hash';
2
+ var CacheController = /** @class */ (function () {
3
+ function CacheController() {
4
+ this.cache = new Map();
5
+ }
6
+ CacheController.prototype.get = function (key, context) {
7
+ return this.cache.get(this.getCacheName(key, context));
8
+ };
9
+ CacheController.prototype.set = function (key, context, value) {
10
+ this.cache.set(this.getCacheName(key, context), value);
11
+ };
12
+ CacheController.prototype.has = function (key, context) {
13
+ return this.cache.has(this.getCacheName(key, context));
14
+ };
15
+ CacheController.prototype.clear = function () {
16
+ this.cache.clear();
17
+ };
18
+ CacheController.prototype.getCacheName = function (key, context) {
19
+ var hash = objectHash(context);
20
+ return key + '_' + hash;
21
+ };
22
+ return CacheController;
23
+ }());
24
+ export { CacheController };
25
+ //# sourceMappingURL=cache.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.controller.js","sourceRoot":"","sources":["../../src/cache.controller.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC;IAGE;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,CAAC;IAEM,6BAAG,GAAV,UAAW,GAAW,EAAE,OAAY;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,6BAAG,GAAV,UAAW,GAAW,EAAE,OAAY,EAAE,KAAU;QAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAEM,6BAAG,GAAV,UAAW,GAAW,EAAE,OAAY;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,+BAAK,GAAZ;QACE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEM,sCAAY,GAAnB,UAAoB,GAAW,EAAE,OAAY;QAC3C,IAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IAC1B,CAAC;IACH,sBAAC;AAAD,CAAC,AA3BD,IA2BC"}
@@ -1,4 +1,5 @@
1
1
  export * from './changeDetection';
2
+ export * from './cache.controller';
2
3
  export * from './computeSuggestions';
3
4
  export * from './getAggregation';
4
5
  export * from './getFacets';
@@ -1,4 +1,5 @@
1
1
  export * from './changeDetection';
2
+ export * from './cache.controller';
2
3
  export * from './computeSuggestions';
3
4
  export * from './getAggregation';
4
5
  export * from './getFacets';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -131,16 +131,26 @@ var IndicesController = /** @class */ (function () {
131
131
  return this.dataMap.get(indexName);
132
132
  };
133
133
  IndicesController.prototype.getOrCreateIndex = function (attributeKey, relevantData, context) {
134
- var _this = this;
134
+ var e_5, _a;
135
135
  var indexName = this.getIndexName(attributeKey, context);
136
136
  var index = this.getIndex(indexName);
137
137
  if (!index) {
138
138
  this.reset(indexName);
139
- relevantData.forEach(function (entry) {
140
- var attributeValue = entry[attributeKey];
141
- _this.fillInverseIndex(indexName, entry.key, [attributeValue]);
142
- _this.fillDataMap(indexName, [attributeValue]);
143
- });
139
+ try {
140
+ for (var _b = __values(relevantData.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
141
+ var entry = _c.value;
142
+ var attributeValue = entry[attributeKey];
143
+ this.fillInverseIndex(indexName, entry.key, [attributeValue]);
144
+ this.fillDataMap(indexName, [attributeValue]);
145
+ }
146
+ }
147
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
148
+ finally {
149
+ try {
150
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
151
+ }
152
+ finally { if (e_5) throw e_5.error; }
153
+ }
144
154
  index = this.getIndex(indexName);
145
155
  }
146
156
  return index;
@@ -1 +1 @@
1
- {"version":3,"file":"indices.controller.js","sourceRoot":"","sources":["../../src/indices.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indices.controller.js","sourceRoot":"","sources":["../../src/indices.controller.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AASrC;IAKE;QAJQ,aAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;QACvD,6BAA6B;QACrB,YAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IAElC,CAAC;IAET,iCAAK,GAAZ,UAAa,YAAqB;QAChC,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;IACH,CAAC;IAEM,uCAAW,GAAlB,UAAmB,YAAoB,EAAE,cAAoD;;;QAC3F,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE9C,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;SAC1C;;YAED,KAAoB,IAAA,mBAAA,SAAA,cAAc,CAAA,8CAAA,0EAAE;gBAA/B,IAAM,KAAK,2BAAA;gBACd,IAAI,WAAW,SAAM,CAAC;gBACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE;oBACnD,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;iBACzB;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;wBAC/B,KAAmB,IAAA,yBAAA,SAAA,KAAK,CAAA,CAAA,4BAAA,+CAAE;4BAArB,IAAM,IAAI,kBAAA;4BACb,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;yBACxC;;;;;;;;;oBACD,OAAO;iBACR;qBAAM;oBACL,WAAW,GAAG,KAAK,CAAC;iBACrB;gBAED,IAAI,QAAQ,GAAG,QAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,EAAE;oBACb,QAAQ,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;oBAChC,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;iBAC5D;aACF;;;;;;;;;IACH,CAAC;IAEM,4CAAgB,GAAvB,UACE,YAAoB,EACpB,SAAiB,EACjB,WAAiD;;QAEjD,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9E,OAAO;SACR;QAED,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;;YAE9D,KAAoB,IAAA,gBAAA,SAAA,WAAW,CAAA,wCAAA,iEAAE;gBAA5B,IAAM,KAAK,wBAAA;gBACd,IAAI,WAAW,SAAM,CAAC;gBAEtB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE;oBACnD,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;iBACzB;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;wBAC/B,uCAAuC;wBACvC,KAAmB,IAAA,yBAAA,SAAA,KAAK,CAAA,CAAA,4BAAA,+CAAE;4BAArB,IAAM,IAAI,kBAAA;4BACb,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;yBACxD;;;;;;;;;oBACD,OAAO;iBACR;qBAAM;oBACL,WAAW,GAAG,KAAK,CAAC;iBACrB;gBAED,IAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;aACvC;;;;;;;;;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAEM,oCAAQ,GAAf,UAAgB,YAAoB,EAAE,OAAa;QACjD,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEM,mCAAO,GAAd,UAAe,YAAoB,EAAE,OAAa;QAChD,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEM,4CAAgB,GAAvB,UACE,YAAoB,EACpB,YAAmC,EACnC,OAAa;;QAEb,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE3D,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;gBAEtB,KAAoB,IAAA,KAAA,SAAA,YAAY,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE;oBAAtC,IAAM,KAAK,WAAA;oBACd,IAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC3C,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;iBAC/C;;;;;;;;;YACD,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAClC;QACD,OAAO,KAAM,CAAC;IAChB,CAAC;IAEM,wCAAY,GAAnB,UAAoB,YAAoB,EAAE,OAAa;QACrD,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3E,CAAC;IACH,wBAAC;AAAD,CAAC,AAnHD,IAmHC"}
@@ -1,9 +1,12 @@
1
+ import { IndicesController } from './indices.controller';
1
2
  import { ListItem, Aggregation, AggregationOptions } from './types';
2
3
  type PivotRowOption = {
3
4
  attribute: string;
5
+ calculateTotals?: boolean;
4
6
  };
5
7
  type PivotColumnOption = {
6
8
  attribute: string;
9
+ calculateTotals?: boolean;
7
10
  };
8
11
  type PivotValueOption = AggregationOptions;
9
12
  export type PivotOptions = {
@@ -11,7 +14,7 @@ export type PivotOptions = {
11
14
  columns: PivotColumnOption[];
12
15
  values: PivotValueOption[];
13
16
  options?: {
14
- includePaths?: boolean;
17
+ calculateTotals?: boolean;
15
18
  };
16
19
  };
17
20
  type PivotResponseItem = {
@@ -21,5 +24,5 @@ type PivotResponseItem = {
21
24
  rows?: PivotResponseItem[];
22
25
  };
23
26
  export type PivotResponse = PivotResponseItem;
24
- export declare function pivot<ListType extends ListItem = ListItem>(relevantData: Map<string, ListType>, options: PivotOptions, response?: PivotResponse, paths?: any, parentPath?: string): PivotResponse;
27
+ export declare function pivot<ListType extends ListItem = ListItem>(relevantData: Map<string, ListType>, options: PivotOptions, response?: PivotResponse, parentPath?: string, indicesCtrl?: IndicesController): PivotResponse;
25
28
  export {};