@sis-cc/dotstatsuite-components 13.5.6 → 14.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.
Files changed (52) hide show
  1. package/lib/rules/src/preparators/enhanceObservations.js +0 -7
  2. package/lib/rules/src/table/factories/getCells.js +1 -1
  3. package/lib/rules/src/table/factories/getCuratedCells.js +2 -3
  4. package/lib/rules/src/table/factories/getTableData.js +6 -11
  5. package/lib/rules/src/table/preparators/prepareData.js +30 -5
  6. package/lib/rules/src/table/units/getUnitsSeries.js +15 -4
  7. package/lib/rules/src/v8-transformer.js +10 -25
  8. package/lib/rules2/src/duplicateObservations.js +51 -0
  9. package/lib/rules2/src/getDimensionValuesIndexes.js +19 -0
  10. package/lib/rules2/src/getDimensionsSimpleHierarchies.js +42 -0
  11. package/lib/rules2/src/getHCodelistsRefsInData.js +46 -0
  12. package/lib/rules2/src/hierarchiseDimension.js +47 -0
  13. package/lib/rules2/src/index.js +24 -0
  14. package/lib/rules2/src/invertTime.js +33 -0
  15. package/lib/rules2/src/parseHierarchicalCodelist.js +22 -0
  16. package/package.json +2 -2
  17. package/src/rules/src/preparators/enhanceObservations.js +0 -6
  18. package/src/rules/src/table/factories/getCells.js +2 -1
  19. package/src/rules/src/table/factories/getCuratedCells.js +3 -4
  20. package/src/rules/src/table/factories/getTableData.js +3 -22
  21. package/src/rules/src/table/preparators/prepareData.js +20 -3
  22. package/src/rules/src/table/units/getUnitsSeries.js +18 -6
  23. package/src/rules/src/v8-transformer.js +11 -30
  24. package/src/rules2/src/duplicateObservations.js +45 -0
  25. package/src/rules2/src/getDimensionValuesIndexes.js +13 -0
  26. package/src/rules2/src/getDimensionsSimpleHierarchies.js +34 -0
  27. package/src/rules2/src/getHCodelistsRefsInData.js +23 -0
  28. package/src/rules2/src/hierarchiseDimension.js +38 -0
  29. package/src/rules2/src/index.js +2 -0
  30. package/src/rules2/src/invertTime.js +22 -0
  31. package/src/rules2/src/parseHierarchicalCodelist.js +14 -0
  32. package/test/duplicateObservations.test.js +108 -0
  33. package/test/enhanceObservations.test.js +13 -48
  34. package/test/getCells.test.js +4 -11
  35. package/test/getDimensionValuesIndexes.test.js +33 -0
  36. package/test/getHCodelistsRefs.test.js +20 -0
  37. package/test/getUnitsSeries.test.js +112 -47
  38. package/test/hierarchiseDimension.test.js +87 -0
  39. package/test/invertTime.test.js +77 -0
  40. package/test/mocks/h-codelist.json +2095 -0
  41. package/test/mocks/table-invert-time--data.json +80211 -0
  42. package/test/mocks/table-invert-time--inverted.json +80076 -0
  43. package/test/mocks/table-prep-multi-duplicate--duplicated.json +26938 -0
  44. package/test/mocks/table-prep-multi-duplicate--indexes.json +1417 -0
  45. package/test/mocks/table-prep-multi-duplicate--observations.json +20330 -0
  46. package/test/mocks/table-prep-simple-duplicate--duplicated.json +77502 -0
  47. package/test/mocks/table-prep-simple-duplicate--indexes.json +274 -0
  48. package/test/mocks/table-prep-simple-duplicate--observations.json +60002 -0
  49. package/test/parseHierarchicalCodelist.test.js +76 -0
  50. package/test/table-invert-time-perf.test.js +11 -0
  51. package/test/table-prep-duplicate-perf.test.js +21 -0
  52. package/test/table-prep-perf.test.js +5 -2
@@ -0,0 +1,76 @@
1
+ import { expect } from 'chai';
2
+ import { parseHierarchicalCodelist } from '../src/rules2/src';
3
+ import hierarchicalCodelist from './mocks/h-codelist.json';
4
+
5
+ describe('parseHierarchicalCodelist tests', () => {
6
+ it('simple case', () => {
7
+ const expected = {
8
+ W: ['A', 'E', 'F', 'O', 'S', 'W_X'],
9
+ A: ['A2', 'A3', 'A4', 'A5', 'A7', 'A8', 'A8_M', 'A9', 'A_X', 'A_O'],
10
+ A2: ['BMU', 'CAN', 'GRL', 'SPM', 'USA'],
11
+ OECD: [
12
+ 'AUS',
13
+ 'AUT',
14
+ 'BEL',
15
+ 'CAN',
16
+ 'CHL',
17
+ 'COL',
18
+ 'CRI',
19
+ 'CZE',
20
+ 'DNK',
21
+ 'EST',
22
+ 'FIN',
23
+ 'FRA',
24
+ 'DEU',
25
+ 'GRC',
26
+ 'HUN',
27
+ 'ISL',
28
+ 'IRL',
29
+ 'ISR',
30
+ 'ITA',
31
+ 'JPN',
32
+ 'KOR',
33
+ 'LVA',
34
+ 'LTU',
35
+ 'LUX',
36
+ 'MEX',
37
+ 'NLD',
38
+ 'NZL',
39
+ 'NOR',
40
+ 'POL',
41
+ 'PRT',
42
+ 'SVK',
43
+ 'SVN',
44
+ 'ESP',
45
+ 'SWE',
46
+ 'CHE',
47
+ 'TUR',
48
+ 'GBR',
49
+ 'USA',
50
+ ],
51
+ EA00: [
52
+ 'BEL',
53
+ 'DEU',
54
+ 'IRL',
55
+ 'ESP',
56
+ 'FRA',
57
+ 'ITA',
58
+ 'LUX',
59
+ 'NLD',
60
+ 'AUT',
61
+ 'PRT',
62
+ 'FIN',
63
+ 'GRC',
64
+ 'SVN',
65
+ 'CYP',
66
+ 'MLT',
67
+ 'SVK',
68
+ 'EST',
69
+ 'LVA',
70
+ 'LTU',
71
+ ],
72
+ };
73
+
74
+ expect(parseHierarchicalCodelist(hierarchicalCodelist, 'CONT_EN')).to.deep.equal(expected);
75
+ });
76
+ });
@@ -0,0 +1,11 @@
1
+ import { expect } from 'chai';
2
+ import { invertTime } from '../src/rules2/src/invertTime';
3
+ import data from './mocks/table-invert-time--data.json';
4
+ import inverted from './mocks/table-invert-time--inverted.json';
5
+
6
+ describe('invertTime performace test', () => {
7
+ it('260 time period values and 2500 observations', function () {
8
+ this.timeout(3000);
9
+ expect(invertTime(data, true)).to.deep.equal(inverted);
10
+ });
11
+ });
@@ -0,0 +1,21 @@
1
+ import { expect } from 'chai';
2
+ import { duplicateObservations } from '../src/rules2/src/duplicateObservations';
3
+
4
+ import simpleObservations from './mocks/table-prep-simple-duplicate--observations.json';
5
+ import simpleIndexes from './mocks/table-prep-simple-duplicate--indexes.json';
6
+ import simpleDuplicated from './mocks/table-prep-simple-duplicate--duplicated.json';
7
+
8
+ import multiObservations from './mocks/table-prep-multi-duplicate--observations.json';
9
+ import multiIndexes from './mocks/table-prep-multi-duplicate--indexes.json';
10
+ import multiDuplicated from './mocks/table-prep-multi-duplicate--duplicated.json';
11
+
12
+ describe('duplicateObservations performance tests', () => {
13
+ it('simple duplication on 2500 observations', function() {
14
+ this.timeout(3000);
15
+ expect(duplicateObservations(simpleObservations, simpleIndexes)).to.deep.equal(simpleDuplicated);
16
+ });
17
+ it('multi hierarchies duplication on 900 observations', function() {
18
+ this.timeout(30000);
19
+ expect(duplicateObservations(multiObservations, multiIndexes)).to.deep.equal(multiDuplicated);
20
+ });
21
+ });
@@ -1,4 +1,5 @@
1
1
  import { expect } from 'chai';
2
+ import * as R from 'ramda';
2
3
  import { enhanceObservations } from '../src/rules/src/preparators/enhanceObservations';
3
4
  import { getUnitsSeries } from '../src/rules/src/table/units/getUnitsSeries';
4
5
  import multiHierRowsDim from './mocks/table-prep-multi-hierarchies--dimensions.json';
@@ -30,9 +31,10 @@ describe('table preparators performance tests', () => {
30
31
  },
31
32
  unitsIds: ['UNIT_MULT', 'BASE_PER']
32
33
  };
34
+ const expected = R.map(R.dissoc('orderedDimIndexes'), multiHierEnhancedObs);
33
35
  expect(
34
36
  enhanceObservations(multiHierRowsDim, multiHierRowsObs, multiHierRowsAttr, options)
35
- ).to.deep.equal(multiHierEnhancedObs);
37
+ ).to.deep.equal(expected);
36
38
  });
37
39
  it('2500 observations enhanceObservations test', function() {
38
40
  numeral.locale('test');
@@ -47,9 +49,10 @@ describe('table preparators performance tests', () => {
47
49
  },
48
50
  unitsIds: ['UNIT_MEASURE', 'UNIT_MULT', 'BASE_PER']
49
51
  };
52
+ const expected = R.map(R.dissoc('orderedDimIndexes'), truncate1EnhancedObs);
50
53
  expect(
51
54
  enhanceObservations(truncate1Dim, truncate1Obs, [], options)
52
- ).to.deep.equal(truncate1EnhancedObs);
55
+ ).to.deep.equal(expected);
53
56
  });
54
57
  it('1800 observations getUnitsSeries test', function() {
55
58
  this.timeout(5000);