@vizabi/reader-ddfcsv 4.1.1 → 4.2.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/reader-ddfcsv-polyfill.js +1 -16
  3. package/dist/reader-ddfcsv-polyfill.js.map +1 -1
  4. package/dist/reader-ddfcsv.js +1 -16
  5. package/dist/reader-ddfcsv.js.map +1 -1
  6. package/lib/src/ddf-csv.js +16 -18
  7. package/lib/src/ddf-csv.js.map +1 -1
  8. package/lib/src/ddfcsv-error.js +1 -0
  9. package/lib/src/ddfcsv-error.js.map +1 -1
  10. package/lib/src/ddfcsv-reader.js +6 -5
  11. package/lib/src/ddfcsv-reader.js.map +1 -1
  12. package/lib/src/file-readers/backend-file-reader.js +1 -0
  13. package/lib/src/file-readers/backend-file-reader.js.map +1 -1
  14. package/lib/src/file-readers/github-path-adapter.js +1 -0
  15. package/lib/src/file-readers/github-path-adapter.js.map +1 -1
  16. package/lib/src/index.js +5 -4
  17. package/lib/src/index.js.map +1 -1
  18. package/lib/src/resource-selection-optimizer/in-clause-under-conjunction.d.ts +1 -0
  19. package/lib/src/resource-selection-optimizer/in-clause-under-conjunction.js +37 -12
  20. package/lib/src/resource-selection-optimizer/in-clause-under-conjunction.js.map +1 -1
  21. package/lib/src/resource-selection-optimizer/index.js +1 -0
  22. package/lib/src/resource-selection-optimizer/index.js.map +1 -1
  23. package/lib-web/src/ddf-csv.js +39 -41
  24. package/lib-web/src/ddf-csv.js.map +1 -1
  25. package/lib-web/src/ddfcsv-error.js +2 -1
  26. package/lib-web/src/ddfcsv-error.js.map +1 -1
  27. package/lib-web/src/ddfcsv-reader.js +13 -12
  28. package/lib-web/src/ddfcsv-reader.js.map +1 -1
  29. package/lib-web/src/file-readers/frontend-file-reader.js +2 -1
  30. package/lib-web/src/file-readers/frontend-file-reader.js.map +1 -1
  31. package/lib-web/src/file-readers/github-path-adapter.js +1 -0
  32. package/lib-web/src/file-readers/github-path-adapter.js.map +1 -1
  33. package/lib-web/src/index-web.js +4 -3
  34. package/lib-web/src/index-web.js.map +1 -1
  35. package/lib-web/src/resource-selection-optimizer/in-clause-under-conjunction.d.ts +1 -0
  36. package/lib-web/src/resource-selection-optimizer/in-clause-under-conjunction.js +53 -28
  37. package/lib-web/src/resource-selection-optimizer/in-clause-under-conjunction.js.map +1 -1
  38. package/lib-web/src/resource-selection-optimizer/index.js +1 -0
  39. package/lib-web/src/resource-selection-optimizer/index.js.map +1 -1
  40. package/package.json +5 -4
  41. package/src/ddf-csv.ts +11 -10
  42. package/src/resource-selection-optimizer/in-clause-under-conjunction.ts +40 -12
  43. package/tsconfig-web.json +4 -1
  44. package/tsconfig.json +1 -1
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InClauseUnderConjunction = void 0;
3
4
  var tslib_1 = require("tslib");
4
5
  var path = require("path");
5
6
  var head = require("lodash.head");
@@ -19,6 +20,7 @@ var JOIN_KEYWORD = 'join';
19
20
  var KEY_IN = '$in';
20
21
  var KEY_NIN = '$nin';
21
22
  var KEY_AND = '$and';
23
+ var KEY_OR = '$or';
22
24
  var getFirstConditionClause = function (clause) { return head(values(clause)); };
23
25
  var getFirstKey = function (obj) { return head(keys(obj)); };
24
26
  var isOneKeyBased = function (obj) { return keys(obj).length === 1; };
@@ -36,8 +38,7 @@ var InClauseUnderConjunction = (function () {
36
38
  var _this = this;
37
39
  this.flow.joinObject = get(this.query, JOIN_KEYWORD);
38
40
  var relatedFeatures = compact(ddf_query_validator_1.featureDetectors.map(function (detector) { return detector(_this.query, _this.conceptsLookup); }));
39
- return includes(relatedFeatures, ddf_query_validator_1.QueryFeature.WhereClauseBasedOnConjunction) &&
40
- includes(relatedFeatures, ddf_query_validator_1.QueryFeature.ConjunctionPartFromWhereClauseCorrespondsToJoin);
41
+ return this.query.from === "datapoints";
41
42
  };
42
43
  InClauseUnderConjunction.prototype.getRecommendedFilesSet = function () {
43
44
  return tslib_1.__awaiter(this, void 0, void 0, function () {
@@ -79,25 +80,38 @@ var InClauseUnderConjunction = (function () {
79
80
  };
80
81
  InClauseUnderConjunction.prototype.fillResourceToFileHash = function () {
81
82
  this.flow.resourceToFile = get(this.datapackage, 'resources', []).reduce(function (hash, resource) {
82
- hash.set(resource.name, resource.path);
83
+ var constraints = resource.schema.fields.reduce(function (result, field) {
84
+ var _a;
85
+ if ((_a = field.constraints) === null || _a === void 0 ? void 0 : _a.enum) {
86
+ result.set(field.name, field.constraints.enum);
87
+ }
88
+ return result;
89
+ }, new Map());
90
+ hash.set(resource.name, {
91
+ path: resource.path,
92
+ constraints: constraints
93
+ });
83
94
  return hash;
84
95
  }, new Map());
85
96
  return this;
86
97
  };
87
98
  InClauseUnderConjunction.prototype.collectProcessableClauses = function () {
99
+ var e_1, _a, _b, _c, _d;
88
100
  var _this = this;
89
- var e_1, _a, _b, _c;
90
101
  var joinKeys = keys(this.flow.joinObject);
91
102
  this.flow.processableClauses = [];
92
103
  try {
93
104
  for (var joinKeys_1 = tslib_1.__values(joinKeys), joinKeys_1_1 = joinKeys_1.next(); !joinKeys_1_1.done; joinKeys_1_1 = joinKeys_1.next()) {
94
105
  var joinKey = joinKeys_1_1.value;
95
- var where = get(this.flow.joinObject, joinKey + "." + WHERE_KEYWORD, {});
106
+ var where = get(this.flow.joinObject, "".concat(joinKey, ".").concat(WHERE_KEYWORD), {});
96
107
  if (this.singleAndField(where)) {
97
- (_b = this.flow.processableClauses).push.apply(_b, tslib_1.__spread(flattenDeep(where[KEY_AND].map(function (el) { return _this.getProcessableClauses(el); }))));
108
+ (_b = this.flow.processableClauses).push.apply(_b, tslib_1.__spreadArray([], tslib_1.__read(flattenDeep(where[KEY_AND].map(function (el) { return _this.getProcessableClauses(el); }))), false));
109
+ }
110
+ else if (this.singleOrField(where)) {
111
+ (_c = this.flow.processableClauses).push.apply(_c, tslib_1.__spreadArray([], tslib_1.__read(flattenDeep(where[KEY_OR].map(function (el) { return _this.getProcessableClauses(el); }))), false));
98
112
  }
99
113
  else {
100
- (_c = this.flow.processableClauses).push.apply(_c, tslib_1.__spread(this.getProcessableClauses(where)));
114
+ (_d = this.flow.processableClauses).push.apply(_d, tslib_1.__spreadArray([], tslib_1.__read(this.getProcessableClauses(where)), false));
101
115
  }
102
116
  }
103
117
  }
@@ -112,21 +126,21 @@ var InClauseUnderConjunction = (function () {
112
126
  };
113
127
  InClauseUnderConjunction.prototype.collectEntityFilesNames = function () {
114
128
  var e_2, _a, e_3, _b, e_4, _c;
115
- this.flow.entityFilesNames = [];
129
+ this.flow.entityFilesNames = new Set();
116
130
  this.flow.fileNameToPrimaryKeyHash = new Map();
117
131
  try {
118
132
  for (var _d = tslib_1.__values(this.datapackage.ddfSchema.entities), _e = _d.next(); !_e.done; _e = _d.next()) {
119
133
  var schemaResourceRecord = _e.value;
120
134
  try {
121
- for (var _f = tslib_1.__values(this.flow.processableClauses), _g = _f.next(); !_g.done; _g = _f.next()) {
135
+ for (var _f = (e_3 = void 0, tslib_1.__values(this.flow.processableClauses)), _g = _f.next(); !_g.done; _g = _f.next()) {
122
136
  var clause = _g.value;
123
137
  var primaryKey = getFirstKey(clause);
124
138
  if (head(schemaResourceRecord.primaryKey) === primaryKey) {
125
139
  try {
126
- for (var _h = tslib_1.__values(schemaResourceRecord.resources), _j = _h.next(); !_j.done; _j = _h.next()) {
140
+ for (var _h = (e_4 = void 0, tslib_1.__values(schemaResourceRecord.resources)), _j = _h.next(); !_j.done; _j = _h.next()) {
127
141
  var resourceName = _j.value;
128
- var file = this.flow.resourceToFile.get(resourceName);
129
- this.flow.entityFilesNames.push(file);
142
+ var file = this.flow.resourceToFile.get(resourceName).path;
143
+ this.flow.entityFilesNames.add(file);
130
144
  this.flow.fileNameToPrimaryKeyHash.set(file, primaryKey);
131
145
  }
132
146
  }
@@ -160,7 +174,7 @@ var InClauseUnderConjunction = (function () {
160
174
  };
161
175
  InClauseUnderConjunction.prototype.collectEntities = function () {
162
176
  var self = this;
163
- var actions = self.flow.entityFilesNames.map(function (file) { return new Promise(function (actResolve, actReject) {
177
+ var actions = tslib_1.__spreadArray([], tslib_1.__read(self.flow.entityFilesNames), false).map(function (file) { return new Promise(function (actResolve, actReject) {
164
178
  self.fileReader.readText(path.join(self.datasetPath, file), function (err, text) {
165
179
  if (err) {
166
180
  return actReject(err);
@@ -186,14 +200,14 @@ var InClauseUnderConjunction = (function () {
186
200
  for (var entitiesData_1 = tslib_1.__values(entitiesData), entitiesData_1_1 = entitiesData_1.next(); !entitiesData_1_1.done; entitiesData_1_1 = entitiesData_1.next()) {
187
201
  var entityFileDescriptor = entitiesData_1_1.value;
188
202
  try {
189
- for (var _c = tslib_1.__values(entityFileDescriptor.result.data), _d = _c.next(); !_d.done; _d = _c.next()) {
203
+ for (var _c = (e_6 = void 0, tslib_1.__values(entityFileDescriptor.result.data)), _d = _c.next(); !_d.done; _d = _c.next()) {
190
204
  var entityRecord = _d.value;
191
205
  var primaryKeyForThisFile = this.flow.fileNameToPrimaryKeyHash.get(entityFileDescriptor.file);
192
- var primaryKeyCellValue = entityRecord[primaryKeyForThisFile];
193
- var domainsForCurrentRecord = tslib_1.__spread(getSubdomainsFromRecord(entityRecord));
206
+ var domainsForCurrentRecord = tslib_1.__spreadArray([], tslib_1.__read(getSubdomainsFromRecord(entityRecord)), false);
194
207
  if (isEmpty(domainsForCurrentRecord)) {
195
208
  domainsForCurrentRecord.push(primaryKeyForThisFile);
196
209
  }
210
+ var primaryKeyCellValue = entityRecord[primaryKeyForThisFile] || entityRecord[domainsForCurrentRecord[0]];
197
211
  this.flow.entityValueToDomainHash.set(primaryKeyCellValue, domainsForCurrentRecord);
198
212
  this.flow.entityValueToFileHash.set(primaryKeyCellValue, entityFileDescriptor.file);
199
213
  }
@@ -217,8 +231,8 @@ var InClauseUnderConjunction = (function () {
217
231
  return this;
218
232
  };
219
233
  InClauseUnderConjunction.prototype.getFilesGroupsQueryClause = function () {
220
- var _this = this;
221
234
  var e_7, _a, e_8, _b, e_9, _c, e_10, _d, e_11, _e, e_12, _f, e_13, _g;
235
+ var _this = this;
222
236
  var getEntitiesExcept = function (entityValuesToExclude) {
223
237
  var e_14, _a;
224
238
  var result = [];
@@ -244,28 +258,36 @@ var InClauseUnderConjunction = (function () {
244
258
  for (var _h = tslib_1.__values(this.flow.processableClauses), _j = _h.next(); !_j.done; _j = _h.next()) {
245
259
  var clause = _j.value;
246
260
  var filesGroupByClause = {
247
- entities: new Set(),
261
+ entities: this.flow.entityFilesNames,
248
262
  datapoints: new Set(),
249
263
  concepts: new Set()
250
264
  };
251
265
  var firstConditionClause = getFirstConditionClause(clause);
252
266
  var entityValuesFromClause = firstConditionClause[KEY_IN] || getEntitiesExcept(firstConditionClause[KEY_NIN]);
253
267
  try {
254
- for (var entityValuesFromClause_1 = tslib_1.__values(entityValuesFromClause), entityValuesFromClause_1_1 = entityValuesFromClause_1.next(); !entityValuesFromClause_1_1.done; entityValuesFromClause_1_1 = entityValuesFromClause_1.next()) {
268
+ for (var entityValuesFromClause_1 = (e_8 = void 0, tslib_1.__values(entityValuesFromClause)), entityValuesFromClause_1_1 = entityValuesFromClause_1.next(); !entityValuesFromClause_1_1.done; entityValuesFromClause_1_1 = entityValuesFromClause_1.next()) {
255
269
  var entityValueFromClause = entityValuesFromClause_1_1.value;
256
- filesGroupByClause.entities.add(this.flow.entityValueToFileHash.get(entityValueFromClause));
257
270
  var entitiesByQuery = this.flow.entityValueToDomainHash.get(entityValueFromClause);
258
271
  try {
259
- for (var entitiesByQuery_1 = tslib_1.__values(entitiesByQuery), entitiesByQuery_1_1 = entitiesByQuery_1.next(); !entitiesByQuery_1_1.done; entitiesByQuery_1_1 = entitiesByQuery_1.next()) {
272
+ for (var entitiesByQuery_1 = (e_9 = void 0, tslib_1.__values(entitiesByQuery)), entitiesByQuery_1_1 = entitiesByQuery_1.next(); !entitiesByQuery_1_1.done; entitiesByQuery_1_1 = entitiesByQuery_1.next()) {
260
273
  var entityByQuery = entitiesByQuery_1_1.value;
261
274
  try {
262
- for (var _k = tslib_1.__values(this.datapackage.ddfSchema.datapoints), _l = _k.next(); !_l.done; _l = _k.next()) {
275
+ for (var _k = (e_10 = void 0, tslib_1.__values(this.datapackage.ddfSchema.datapoints)), _l = _k.next(); !_l.done; _l = _k.next()) {
263
276
  var schemaResourceRecord = _l.value;
264
277
  try {
265
- for (var _m = tslib_1.__values(schemaResourceRecord.resources), _o = _m.next(); !_o.done; _o = _m.next()) {
278
+ for (var _m = (e_11 = void 0, tslib_1.__values(schemaResourceRecord.resources)), _o = _m.next(); !_o.done; _o = _m.next()) {
266
279
  var resourceName = _o.value;
280
+ var file = this.flow.resourceToFile.get(resourceName);
267
281
  if (includes(schemaResourceRecord.primaryKey, entityByQuery)) {
268
- filesGroupByClause.datapoints.add(this.flow.resourceToFile.get(resourceName));
282
+ var constraint = file.constraints.get(entityByQuery);
283
+ if (constraint) {
284
+ if (constraint.includes(entityValueFromClause)) {
285
+ filesGroupByClause.datapoints.add(file.path);
286
+ }
287
+ }
288
+ else {
289
+ filesGroupByClause.datapoints.add(file.path);
290
+ }
269
291
  }
270
292
  }
271
293
  }
@@ -304,12 +326,12 @@ var InClauseUnderConjunction = (function () {
304
326
  finally { if (e_8) throw e_8.error; }
305
327
  }
306
328
  try {
307
- for (var _p = tslib_1.__values(this.datapackage.ddfSchema.concepts), _q = _p.next(); !_q.done; _q = _p.next()) {
329
+ for (var _p = (e_12 = void 0, tslib_1.__values(this.datapackage.ddfSchema.concepts)), _q = _p.next(); !_q.done; _q = _p.next()) {
308
330
  var schemaResourceRecord = _q.value;
309
331
  try {
310
- for (var _r = tslib_1.__values(schemaResourceRecord.resources), _s = _r.next(); !_s.done; _s = _r.next()) {
332
+ for (var _r = (e_13 = void 0, tslib_1.__values(schemaResourceRecord.resources)), _s = _r.next(); !_s.done; _s = _r.next()) {
311
333
  var resourceName = _s.value;
312
- filesGroupByClause.concepts.add(this.flow.resourceToFile.get(resourceName));
334
+ filesGroupByClause.concepts.add(this.flow.resourceToFile.get(resourceName).path);
313
335
  }
314
336
  }
315
337
  catch (e_13_1) { e_13 = { error: e_13_1 }; }
@@ -368,7 +390,7 @@ var InClauseUnderConjunction = (function () {
368
390
  if (!this.flow.filesGroupsByClause.get(appropriateClauseKey)) {
369
391
  return [];
370
392
  }
371
- return tslib_1.__spread(Array.from(this.flow.filesGroupsByClause.get(appropriateClauseKey).concepts), Array.from(this.flow.filesGroupsByClause.get(appropriateClauseKey).entities), Array.from(this.flow.filesGroupsByClause.get(appropriateClauseKey).datapoints));
393
+ return tslib_1.__spreadArray(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(Array.from(this.flow.filesGroupsByClause.get(appropriateClauseKey).concepts)), false), tslib_1.__read(Array.from(this.flow.filesGroupsByClause.get(appropriateClauseKey).entities)), false), tslib_1.__read(Array.from(this.flow.filesGroupsByClause.get(appropriateClauseKey).datapoints)), false);
372
394
  };
373
395
  InClauseUnderConjunction.prototype.getProcessableClauses = function (clause) {
374
396
  var e_16, _a;
@@ -397,6 +419,9 @@ var InClauseUnderConjunction = (function () {
397
419
  InClauseUnderConjunction.prototype.singleAndField = function (clause) {
398
420
  return isOneKeyBased(clause) && !!get(clause, KEY_AND);
399
421
  };
422
+ InClauseUnderConjunction.prototype.singleOrField = function (clause) {
423
+ return isOneKeyBased(clause) && !!get(clause, KEY_OR);
424
+ };
400
425
  return InClauseUnderConjunction;
401
426
  }());
402
427
  exports.InClauseUnderConjunction = InClauseUnderConjunction;
@@ -1 +1 @@
1
- {"version":3,"file":"in-clause-under-conjunction.js","sourceRoot":"","sources":["../../../src/resource-selection-optimizer/in-clause-under-conjunction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-clause-under-conjunction.js","sourceRoot":"","sources":["../../../src/resource-selection-optimizer/in-clause-under-conjunction.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAppropriatePlugin = void 0;
3
4
  var in_clause_under_conjunction_1 = require("./in-clause-under-conjunction");
4
5
  var head = require("lodash.head");
5
6
  function getAppropriatePlugin(queryParam, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resource-selection-optimizer/index.ts"],"names":[],"mappings":";;AAAA,6EAAyE;AACzE,kCAAoC;AAGpC,SAAgB,oBAAoB,CAAC,UAAU,EAAE,OAA2B;IAC1E,IAAM,OAAO,GAAG;QACd,IAAI,sDAAwB,CAAC,UAAU,EAAE,OAAO,CAAC;KAClD,CAAC;IAEF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,EAAE,EAAlB,CAAkB,CAAC,CAAC,CAAC;AAC5D,CAAC;AAND,oDAMC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resource-selection-optimizer/index.ts"],"names":[],"mappings":";;;AAAA,6EAAyE;AACzE,kCAAoC;AAGpC,SAAgB,oBAAoB,CAAC,UAAU,EAAE,OAA2B;IAC1E,IAAM,OAAO,GAAG;QACd,IAAI,sDAAwB,CAAC,UAAU,EAAE,OAAO,CAAC;KAClD,CAAC;IAEF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,EAAE,EAAlB,CAAkB,CAAC,CAAC,CAAC;AAC5D,CAAC;AAND,oDAMC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vizabi/reader-ddfcsv",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "description": "Vizabi DDFcsv reader",
5
5
  "author": "Vyacheslav Chub<vyacheslav.chub@valor-software.com>",
6
6
  "license": "GPL-3.0",
@@ -95,7 +95,7 @@
95
95
  "@types/core-js": "2.5.0",
96
96
  "@types/lodash": "4.14.116",
97
97
  "@types/mocha": "5.2.5",
98
- "@types/node": "10.5.7",
98
+ "@types/node": "20.12.12",
99
99
  "babel-core": "6.26.3",
100
100
  "babel-loader": "7.1.5",
101
101
  "babel-plugin-transform-object-rest-spread": "6.26.0",
@@ -121,10 +121,11 @@
121
121
  "source-map-loader": "0.2.3",
122
122
  "source-map-support": "0.5.6",
123
123
  "ts-loader": "4.3.0",
124
- "ts-node": "7.0.0",
124
+ "ts-node": "10.9.2",
125
+ "tslib": " 2.6.2",
125
126
  "tslint": "5.11.0",
126
127
  "tslint-no-unused-expression-chai": "0.1.3",
127
- "typescript": "3.2.2",
128
+ "typescript": "5.4.5",
128
129
  "uglifyjs-webpack-plugin": "1.2.5",
129
130
  "webpack": "4.8.1",
130
131
  "webpack-bundle-analyzer": "^3.0.4",
package/src/ddf-csv.ts CHANGED
@@ -803,16 +803,17 @@ export function ddfCsvReader (logger?: any) {
803
803
  Papa.parse(stripBom(data), {
804
804
  header: true,
805
805
  skipEmptyLines: true,
806
- dynamicTyping: (headerName) => {
807
- // parsing to number/boolean based on concept type
808
- //
809
- // can't do dynamic typing without concept types loaded.
810
- // concept properties are not parsed in first concept query
811
- // reparsing of concepts resource is done in conceptLookup building
812
- const concept: any = options.conceptsLookup.get(headerName) || {};
813
-
814
- return includes([ 'boolean', 'measure' ], concept.concept_type);
815
- },
806
+ dynamicTyping: true,
807
+ // dynamicTyping: (headerName) => {
808
+ // // parsing to number/boolean based on concept type
809
+ // //
810
+ // // can't do dynamic typing without concept types loaded.
811
+ // // concept properties are not parsed in first concept query
812
+ // // reparsing of concepts resource is done in conceptLookup building
813
+ // const concept: any = options.conceptsLookup.get(headerName) || {};
814
+
815
+ // return includes([ 'boolean', 'measure' ], concept.concept_type);
816
+ // },
816
817
  complete: result => {
817
818
  debug(`finish reading "${filePath}"`);
818
819
  resolve(result);
@@ -19,6 +19,7 @@ const JOIN_KEYWORD = 'join';
19
19
  const KEY_IN = '$in';
20
20
  const KEY_NIN = '$nin';
21
21
  const KEY_AND = '$and';
22
+ const KEY_OR = '$or';
22
23
 
23
24
  const getFirstConditionClause = clause => head(values(clause));
24
25
  const getFirstKey = obj => head(keys(obj));
@@ -45,8 +46,9 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
45
46
 
46
47
  const relatedFeatures = compact(featureDetectors.map(detector => detector(this.query, this.conceptsLookup)));
47
48
 
48
- return includes(relatedFeatures, QueryFeature.WhereClauseBasedOnConjunction) &&
49
- includes(relatedFeatures, QueryFeature.ConjunctionPartFromWhereClauseCorrespondsToJoin);
49
+ return this.query.from === "datapoints";
50
+ // return includes(relatedFeatures, QueryFeature.WhereClauseBasedOnConjunction) &&
51
+ // includes(relatedFeatures, QueryFeature.ConjunctionPartFromWhereClauseCorrespondsToJoin);
50
52
  }
51
53
 
52
54
  async getRecommendedFilesSet(): Promise<string[]> {
@@ -81,7 +83,17 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
81
83
 
82
84
  private fillResourceToFileHash(): InClauseUnderConjunction {
83
85
  this.flow.resourceToFile = get(this.datapackage, 'resources', []).reduce((hash, resource) => {
84
- hash.set(resource.name, resource.path);
86
+ const constraints = resource.schema.fields.reduce((result, field) => {
87
+ if (field.constraints?.enum) {
88
+ result.set(field.name, field.constraints.enum);
89
+ }
90
+ return result;
91
+ }, new Map())
92
+
93
+ hash.set(resource.name, {
94
+ path: resource.path,
95
+ constraints
96
+ });
85
97
 
86
98
  return hash;
87
99
  }, new Map());
@@ -99,6 +111,8 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
99
111
 
100
112
  if (this.singleAndField(where)) {
101
113
  this.flow.processableClauses.push(...flattenDeep(where[KEY_AND].map(el => this.getProcessableClauses(el))));
114
+ } else if (this.singleOrField(where)) {
115
+ this.flow.processableClauses.push(...flattenDeep(where[KEY_OR].map(el => this.getProcessableClauses(el))));
102
116
  } else {
103
117
  this.flow.processableClauses.push(...this.getProcessableClauses(where));
104
118
  }
@@ -108,7 +122,7 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
108
122
  }
109
123
 
110
124
  private collectEntityFilesNames(): InClauseUnderConjunction {
111
- this.flow.entityFilesNames = [];
125
+ this.flow.entityFilesNames = new Set();
112
126
  this.flow.fileNameToPrimaryKeyHash = new Map();
113
127
 
114
128
  for (const schemaResourceRecord of this.datapackage.ddfSchema.entities) {
@@ -117,9 +131,9 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
117
131
 
118
132
  if (head(schemaResourceRecord.primaryKey) === primaryKey) {
119
133
  for (const resourceName of schemaResourceRecord.resources) {
120
- const file = this.flow.resourceToFile.get(resourceName);
134
+ const file = this.flow.resourceToFile.get(resourceName).path;
121
135
 
122
- this.flow.entityFilesNames.push(file);
136
+ this.flow.entityFilesNames.add(file);
123
137
  this.flow.fileNameToPrimaryKeyHash.set(file, primaryKey);
124
138
  }
125
139
  }
@@ -131,7 +145,7 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
131
145
 
132
146
  private collectEntities(): Promise<any> {
133
147
  const self = this;
134
- const actions = self.flow.entityFilesNames.map(file => new Promise((actResolve, actReject) => {
148
+ const actions = [...self.flow.entityFilesNames].map(file => new Promise((actResolve, actReject) => {
135
149
  self.fileReader.readText(path.join(self.datasetPath, file), (err, text) => {
136
150
  if (err) {
137
151
  return actReject(err);
@@ -160,13 +174,14 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
160
174
  for (const entityFileDescriptor of entitiesData) {
161
175
  for (const entityRecord of entityFileDescriptor.result.data) {
162
176
  const primaryKeyForThisFile = this.flow.fileNameToPrimaryKeyHash.get(entityFileDescriptor.file);
163
- const primaryKeyCellValue = entityRecord[primaryKeyForThisFile];
164
177
  const domainsForCurrentRecord = [...getSubdomainsFromRecord(entityRecord)];
165
178
 
166
179
  if (isEmpty(domainsForCurrentRecord)) {
167
180
  domainsForCurrentRecord.push(primaryKeyForThisFile);
168
181
  }
169
182
 
183
+ const primaryKeyCellValue = entityRecord[primaryKeyForThisFile] || entityRecord[domainsForCurrentRecord[0]];
184
+
170
185
  this.flow.entityValueToDomainHash.set(primaryKeyCellValue, domainsForCurrentRecord);
171
186
  this.flow.entityValueToFileHash.set(primaryKeyCellValue, entityFileDescriptor.file);
172
187
  }
@@ -191,7 +206,7 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
191
206
 
192
207
  for (const clause of this.flow.processableClauses) {
193
208
  const filesGroupByClause = {
194
- entities: new Set(),
209
+ entities: this.flow.entityFilesNames,
195
210
  datapoints: new Set(),
196
211
  concepts: new Set()
197
212
  };
@@ -199,15 +214,24 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
199
214
  const entityValuesFromClause = firstConditionClause[KEY_IN] || getEntitiesExcept(firstConditionClause[KEY_NIN]);
200
215
 
201
216
  for (const entityValueFromClause of entityValuesFromClause) {
202
- filesGroupByClause.entities.add(this.flow.entityValueToFileHash.get(entityValueFromClause));
217
+ //filesGroupByClause.entities.add(this.flow.entityValueToFileHash.get(entityValueFromClause));
203
218
 
204
219
  const entitiesByQuery = this.flow.entityValueToDomainHash.get(entityValueFromClause);
205
220
 
206
221
  for (const entityByQuery of entitiesByQuery) {
207
222
  for (const schemaResourceRecord of this.datapackage.ddfSchema.datapoints) {
208
223
  for (const resourceName of schemaResourceRecord.resources) {
224
+ const file = this.flow.resourceToFile.get(resourceName);
209
225
  if (includes(schemaResourceRecord.primaryKey, entityByQuery)) {
210
- filesGroupByClause.datapoints.add(this.flow.resourceToFile.get(resourceName));
226
+ const constraint = file.constraints.get(entityByQuery);
227
+ if ( constraint ) {
228
+ if (constraint.includes(entityValueFromClause)) {
229
+ filesGroupByClause.datapoints.add(file.path);
230
+ }
231
+ }
232
+ else {
233
+ filesGroupByClause.datapoints.add(file.path);
234
+ }
211
235
  }
212
236
  }
213
237
  }
@@ -216,7 +240,7 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
216
240
 
217
241
  for (const schemaResourceRecord of this.datapackage.ddfSchema.concepts) {
218
242
  for (const resourceName of schemaResourceRecord.resources) {
219
- filesGroupByClause.concepts.add(this.flow.resourceToFile.get(resourceName));
243
+ filesGroupByClause.concepts.add(this.flow.resourceToFile.get(resourceName).path);
220
244
  }
221
245
  }
222
246
 
@@ -280,4 +304,8 @@ export class InClauseUnderConjunction implements IResourceSelectionOptimizer {
280
304
  private singleAndField(clause): boolean {
281
305
  return isOneKeyBased(clause) && !!get(clause, KEY_AND);
282
306
  }
307
+
308
+ private singleOrField(clause): boolean {
309
+ return isOneKeyBased(clause) && !!get(clause, KEY_OR);
310
+ }
283
311
  }
package/tsconfig-web.json CHANGED
@@ -18,8 +18,11 @@
18
18
  "importHelpers": true,
19
19
  "strictNullChecks": false,
20
20
  "baseUrl": ".",
21
+ "paths": {
22
+ "tslib" : ["node_modules/tslib/tslib.d.ts"]
23
+ },
21
24
  "lib": [
22
- "es2017",
25
+ "es2020",
23
26
  "dom"
24
27
  ],
25
28
  "downlevelIteration": true
package/tsconfig.json CHANGED
@@ -19,7 +19,7 @@
19
19
  "strictNullChecks": false,
20
20
  "baseUrl": ".",
21
21
  "lib": [
22
- "es2018",
22
+ "es2020",
23
23
  "dom"
24
24
  ]
25
25
  },