@sis-cc/dotstatsuite-components 13.3.0 → 13.3.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.
- package/lib/rules/src/constants.js +4 -2
- package/lib/rules/src/preparators/getReportingYearStart.js +7 -1
- package/lib/rules/src/table/preparators/parseAttributes.js +3 -0
- package/package.json +1 -1
- package/src/rules/src/constants.js +3 -0
- package/src/rules/src/preparators/getReportingYearStart.js +4 -1
- package/src/rules/src/table/preparators/parseAttributes.js +2 -0
- package/test/getReportingYearStart.test.js +43 -0
- package/test/parseAttributes.test.js +2 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.OBS_TYPE_STRING = exports.OBS_TYPE_NUMERICAL_STRING = exports.OBS_TYPE_NUMBER = exports.V8_SDMX_JSON = exports.DEFAULT_MAJOR_ATTRIBUTES = exports.DIMENSION_DISPLAY_PARTS = exports.DEFAULT_REJECTED_SUBTITLE_IDS = exports.DEFAULT_REJECTED_UPR_VALUES_IDS = exports.DEFAULT_UPR_IDS = exports.FREQ_M = exports.FREQ_Q = exports.FREQ_S = exports.FREQ_A = exports.TYPES = exports.VALUES = exports.PERCENT = exports.CHORO = exports.STACKED_ROW = exports.STACKED_BAR = exports.V_SYMBOL = exports.H_SYMBOL = exports.TIMELINE = exports.SCATTER = exports.ROW = exports.BAR = undefined;
|
|
6
|
+
exports.REPYEARSTART = exports.REPORTING_YEAR_START_DAY = exports.OBS_TYPE_STRING = exports.OBS_TYPE_NUMERICAL_STRING = exports.OBS_TYPE_NUMBER = exports.V8_SDMX_JSON = exports.DEFAULT_MAJOR_ATTRIBUTES = exports.DIMENSION_DISPLAY_PARTS = exports.DEFAULT_REJECTED_SUBTITLE_IDS = exports.DEFAULT_REJECTED_UPR_VALUES_IDS = exports.DEFAULT_UPR_IDS = exports.FREQ_M = exports.FREQ_Q = exports.FREQ_S = exports.FREQ_A = exports.TYPES = exports.VALUES = exports.PERCENT = exports.CHORO = exports.STACKED_ROW = exports.STACKED_BAR = exports.V_SYMBOL = exports.H_SYMBOL = exports.TIMELINE = exports.SCATTER = exports.ROW = exports.BAR = undefined;
|
|
7
7
|
|
|
8
8
|
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
|
|
9
9
|
|
|
@@ -63,4 +63,6 @@ var V8_SDMX_JSON = exports.V8_SDMX_JSON = "application/vnd.sdmx.data+json;versio
|
|
|
63
63
|
|
|
64
64
|
var OBS_TYPE_NUMBER = exports.OBS_TYPE_NUMBER = 'OBS_TYPE_NUMBER';
|
|
65
65
|
var OBS_TYPE_NUMERICAL_STRING = exports.OBS_TYPE_NUMERICAL_STRING = 'OBS_TYPE_NUMERICAL_STRING';
|
|
66
|
-
var OBS_TYPE_STRING = exports.OBS_TYPE_STRING = 'OBS_TYPE_STRING';
|
|
66
|
+
var OBS_TYPE_STRING = exports.OBS_TYPE_STRING = 'OBS_TYPE_STRING';
|
|
67
|
+
var REPORTING_YEAR_START_DAY = exports.REPORTING_YEAR_START_DAY = 'REPORTING_YEAR_START_DAY';
|
|
68
|
+
var REPYEARSTART = exports.REPYEARSTART = 'REPYEARSTART';
|
|
@@ -17,6 +17,8 @@ var _ramda = require('ramda');
|
|
|
17
17
|
|
|
18
18
|
var R = _interopRequireWildcard(_ramda);
|
|
19
19
|
|
|
20
|
+
var _constants = require('../constants');
|
|
21
|
+
|
|
20
22
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
21
23
|
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -32,7 +34,11 @@ var getReportingYearStart = exports.getReportingYearStart = function getReportin
|
|
|
32
34
|
return [].concat((0, _toConsumableArray3.default)(dataSet), (0, _toConsumableArray3.default)(observation), (0, _toConsumableArray3.default)(series));
|
|
33
35
|
})(sdmxJson);
|
|
34
36
|
|
|
35
|
-
var reportYearStartAttr = R.find(
|
|
37
|
+
var reportYearStartAttr = R.find(function (_ref2) {
|
|
38
|
+
var id = _ref2.id;
|
|
39
|
+
|
|
40
|
+
return id === _constants.REPORTING_YEAR_START_DAY || id === _constants.REPYEARSTART;
|
|
41
|
+
}, attributes) || {};
|
|
36
42
|
var reportYearStart = R.pathOr('--01-01', ['values', 0, 'name'], reportYearStartAttr);
|
|
37
43
|
|
|
38
44
|
var _R$match = R.match(/[\d]{2}/g, reportYearStart),
|
|
@@ -9,6 +9,8 @@ var _ramda = require('ramda');
|
|
|
9
9
|
|
|
10
10
|
var R = _interopRequireWildcard(_ramda);
|
|
11
11
|
|
|
12
|
+
var _constants = require('../../constants');
|
|
13
|
+
|
|
12
14
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
13
15
|
|
|
14
16
|
var registerAttrId = function registerAttrId(path, id) {
|
|
@@ -63,6 +65,7 @@ var parseAttributes = exports.parseAttributes = function parseAttributes(_ref) {
|
|
|
63
65
|
if (R.isEmpty(values) || !R.propOr(true, 'display', attribute) || R.includes(attribute.id, R.propOr([], 'units', customAttributes))) {
|
|
64
66
|
return acc;
|
|
65
67
|
}
|
|
68
|
+
if (R.includes(attribute.id, [_constants.REPORTING_YEAR_START_DAY, _constants.REPYEARSTART])) return acc;
|
|
66
69
|
|
|
67
70
|
var registers = getAttributeRegisters(R.pipe(R.assoc('index', attributeIndex), R.over(R.lensProp('values'), R.map(function (value) {
|
|
68
71
|
if (!R.propOr(true, 'display', value)) {
|
package/package.json
CHANGED
|
@@ -59,3 +59,6 @@ export const V8_SDMX_JSON = "application/vnd.sdmx.data+json;version=1.0.0-wd";
|
|
|
59
59
|
export const OBS_TYPE_NUMBER = 'OBS_TYPE_NUMBER';
|
|
60
60
|
export const OBS_TYPE_NUMERICAL_STRING = 'OBS_TYPE_NUMERICAL_STRING';
|
|
61
61
|
export const OBS_TYPE_STRING = 'OBS_TYPE_STRING';
|
|
62
|
+
export const REPORTING_YEAR_START_DAY = 'REPORTING_YEAR_START_DAY';
|
|
63
|
+
export const REPYEARSTART = 'REPYEARSTART';
|
|
64
|
+
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
|
+
import { REPORTING_YEAR_START_DAY, REPYEARSTART } from '../constants';
|
|
2
3
|
|
|
3
4
|
export const getReportingYearStart = (sdmxJson) => {
|
|
4
5
|
const attributes = R.pipe(
|
|
@@ -6,7 +7,9 @@ export const getReportingYearStart = (sdmxJson) => {
|
|
|
6
7
|
({ dataSet=[], observation=[], series=[] }) => [...dataSet, ...observation, ...series]
|
|
7
8
|
)(sdmxJson);
|
|
8
9
|
|
|
9
|
-
const reportYearStartAttr = R.find(
|
|
10
|
+
const reportYearStartAttr = R.find(({ id }) => {
|
|
11
|
+
return id === REPORTING_YEAR_START_DAY || id === REPYEARSTART;
|
|
12
|
+
}, attributes) || {};
|
|
10
13
|
const reportYearStart = R.pathOr('--01-01', ['values', 0, 'name'], reportYearStartAttr);
|
|
11
14
|
const [month, day] = R.match(/[\d]{2}/g, reportYearStart);
|
|
12
15
|
return ({ month, day });
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as R from 'ramda';
|
|
2
|
+
import { REPORTING_YEAR_START_DAY, REPYEARSTART } from '../../constants';
|
|
2
3
|
|
|
3
4
|
const registerAttrId = (path, id) => R.over(
|
|
4
5
|
R.lensPath(R.prepend('attributesIdsIndexedByTargets', path)),
|
|
@@ -85,6 +86,7 @@ export const parseAttributes = ({ attributes, parsedDimensionsIds, customAttribu
|
|
|
85
86
|
if (R.isEmpty(values) || !R.propOr(true, 'display', attribute) || R.includes(attribute.id, R.propOr([], 'units', customAttributes))) {
|
|
86
87
|
return acc;
|
|
87
88
|
}
|
|
89
|
+
if (R.includes(attribute.id, [REPORTING_YEAR_START_DAY, REPYEARSTART])) return acc;
|
|
88
90
|
|
|
89
91
|
const registers = getAttributeRegisters(
|
|
90
92
|
R.pipe(
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { getReportingYearStart } from '../src/rules/src/preparators/getReportingYearStart';
|
|
3
|
+
|
|
4
|
+
describe('getReportingYearStart tests', () => {
|
|
5
|
+
it('no data', () => {
|
|
6
|
+
expect(getReportingYearStart()).to.deep.equal({ month: '01', day: '01' });
|
|
7
|
+
});
|
|
8
|
+
it('REPORTING_YEAR_START_DAY', () => {
|
|
9
|
+
const dataReportingYearStartDay = {
|
|
10
|
+
data: {
|
|
11
|
+
structure: {
|
|
12
|
+
attributes: {
|
|
13
|
+
observation: [
|
|
14
|
+
{
|
|
15
|
+
"id": "REPORTING_YEAR_START_DAY",
|
|
16
|
+
"values": [{"name": "--07-01", "names": { "en": "--07-01" }}]
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
expect(getReportingYearStart(dataReportingYearStartDay)).to.deep.equal({ month: '07', day: '01' });
|
|
25
|
+
});
|
|
26
|
+
it('REPYEARSTART', () => {
|
|
27
|
+
const dataReportingYearStart = {
|
|
28
|
+
data: {
|
|
29
|
+
structure: {
|
|
30
|
+
attributes: {
|
|
31
|
+
observation: [
|
|
32
|
+
{
|
|
33
|
+
"id": "REPYEARSTART",
|
|
34
|
+
"values": [{"name": "--08-09", "names": { "en": "--08-09" }}]
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
expect(getReportingYearStart(dataReportingYearStart)).to.deep.equal({ month: '08', day: '09' });
|
|
42
|
+
});
|
|
43
|
+
});
|
|
@@ -25,6 +25,8 @@ const attributes = [
|
|
|
25
25
|
{ id: 'a20', relationship: { primaryMeasure: 'OBS_VALUE' }, values: [{ id: 'a20v1' }] }, // units attribute
|
|
26
26
|
{ id: 'a21', relationship: { dataflow: {} }, values: [{ id: 'a21v0' }] }, // alternative dataflow relationship
|
|
27
27
|
{ id: 'a22', relationship: { observation: {} }, values: [{ id: 'a22v0' }] }, // alternative observation relationship
|
|
28
|
+
{ id: 'REPORTING_YEAR_START_DAY', relationship: { observation: {} }, values: [{ id: 'a22v0' }]},
|
|
29
|
+
{ id: 'REPYEARSTART', relationship: { observation: {} }, values: [{ id: 'a22v0' }]},
|
|
28
30
|
];
|
|
29
31
|
|
|
30
32
|
const customAttributes = {
|