@sis-cc/dotstatsuite-components 23.1.0 → 23.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.
|
@@ -69,7 +69,7 @@ const formatValue = (observation, formatAttributesIndexes, attributes) => {
|
|
|
69
69
|
R.always(isValidNumber(decimals)),
|
|
70
70
|
v => {
|
|
71
71
|
const num = Number(v);
|
|
72
|
-
const isTiny = Math.abs(num) < Math.pow(10, -(_decimals)
|
|
72
|
+
const isTiny = Math.abs(num) < Math.pow(10, -(_decimals));
|
|
73
73
|
const displayNum = isTiny ? 0 : num;
|
|
74
74
|
const decimalFormat =
|
|
75
75
|
R.ifElse(
|
|
@@ -78,7 +78,8 @@ const formatValue = (observation, formatAttributesIndexes, attributes) => {
|
|
|
78
78
|
d => `0,0.${R.join('', R.times(R.always('0'), d))}`
|
|
79
79
|
)(decimals);
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
const res = numeral(displayNum).format(decimalFormat);
|
|
82
|
+
return res;
|
|
82
83
|
},
|
|
83
84
|
formatSeparator
|
|
84
85
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatValue.js","sources":["../../../../src/rules/src/preparators/formatValue.js"],"sourcesContent":["import * as R from 'ramda';\nimport numeral from 'numeral';\n\nconst isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));\nconst parseValidNumber = R.pipe(\n v => R.isNil(v) ? null : Number(v),\n v => isNaN(v) ? null : v\n);\n\nconst getFormatAttributesValues = (observation, formatAttributesIndexes, attributes) => R.mapObjIndexed(\n attributeIndex => {\n let valueIndex;\n const relationship = R.pipe(R.nth(attributeIndex), R.propOr({}, 'relationship'))(attributes);\n //if (!R.isNil(attributeIndex) && attributeIndex >= R.length(R.propOr([], 'attrValuesIndexes', observation))) {\n if (R.has('none', relationship) || R.has('dataflow', relationship)) {\n valueIndex = 0;\n }\n else {\n valueIndex = R.pipe(\n R.propOr([], 'attrValuesIndexes'),\n R.nth(attributeIndex),\n parseValidNumber\n )(observation);\n }\n\n return R.pipe(\n R.path([attributeIndex, 'values', valueIndex, 'id']),\n parseValidNumber\n )(attributes);\n },\n formatAttributesIndexes\n);\n\nexport const formatValue = (observation, formatAttributesIndexes, attributes) => {\n const value = R.prop('value', observation);\n if (R.is(Boolean, value)) {\n return value;\n }\n if (R.is(String, value)) {\n const monthMatch = value.match(/^\\-\\-([\\d]{2})$/);\n if (R.is(Array, monthMatch)) {\n return R.nth(1, monthMatch);\n }\n const monthDayMatch = value.match(/^\\-\\-([\\d]{2}\\-[\\d]{2})$/);\n if (R.is(Array, monthDayMatch)) {\n return R.nth(1, monthDayMatch);\n }\n const dayMatch = value.match(/^\\-\\-\\-([\\d]{2})$/);\n if (R.is(Array, dayMatch)) {\n return R.nth(1, dayMatch);\n }\n return value;\n }\n\n const { prefscale, decimals } = getFormatAttributesValues(\n observation,\n formatAttributesIndexes,\n attributes\n );\n\n const formatScale = R.when(\n R.always(isValidNumber(prefscale)),\n value => numeral(value).multiply(Math.pow(10, -1 * Number(prefscale))).value(),\n );\n const _decimals = !decimals ? 2 : decimals;\n\n const formatSeparator = value => numeral(value).format(`0,0.[0000000]`);\n const formatDecimals = R.ifElse(\n R.always(isValidNumber(decimals)),\n v => {\n const num = Number(v);\n const isTiny = Math.abs(num) < Math.pow(10, -(_decimals)
|
|
1
|
+
{"version":3,"file":"formatValue.js","sources":["../../../../src/rules/src/preparators/formatValue.js"],"sourcesContent":["import * as R from 'ramda';\nimport numeral from 'numeral';\n\nconst isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));\nconst parseValidNumber = R.pipe(\n v => R.isNil(v) ? null : Number(v),\n v => isNaN(v) ? null : v\n);\n\nconst getFormatAttributesValues = (observation, formatAttributesIndexes, attributes) => R.mapObjIndexed(\n attributeIndex => {\n let valueIndex;\n const relationship = R.pipe(R.nth(attributeIndex), R.propOr({}, 'relationship'))(attributes);\n //if (!R.isNil(attributeIndex) && attributeIndex >= R.length(R.propOr([], 'attrValuesIndexes', observation))) {\n if (R.has('none', relationship) || R.has('dataflow', relationship)) {\n valueIndex = 0;\n }\n else {\n valueIndex = R.pipe(\n R.propOr([], 'attrValuesIndexes'),\n R.nth(attributeIndex),\n parseValidNumber\n )(observation);\n }\n\n return R.pipe(\n R.path([attributeIndex, 'values', valueIndex, 'id']),\n parseValidNumber\n )(attributes);\n },\n formatAttributesIndexes\n);\n\nexport const formatValue = (observation, formatAttributesIndexes, attributes) => {\n const value = R.prop('value', observation);\n if (R.is(Boolean, value)) {\n return value;\n }\n if (R.is(String, value)) {\n const monthMatch = value.match(/^\\-\\-([\\d]{2})$/);\n if (R.is(Array, monthMatch)) {\n return R.nth(1, monthMatch);\n }\n const monthDayMatch = value.match(/^\\-\\-([\\d]{2}\\-[\\d]{2})$/);\n if (R.is(Array, monthDayMatch)) {\n return R.nth(1, monthDayMatch);\n }\n const dayMatch = value.match(/^\\-\\-\\-([\\d]{2})$/);\n if (R.is(Array, dayMatch)) {\n return R.nth(1, dayMatch);\n }\n return value;\n }\n\n const { prefscale, decimals } = getFormatAttributesValues(\n observation,\n formatAttributesIndexes,\n attributes\n );\n\n const formatScale = R.when(\n R.always(isValidNumber(prefscale)),\n value => numeral(value).multiply(Math.pow(10, -1 * Number(prefscale))).value(),\n );\n const _decimals = !decimals ? 2 : decimals;\n\n const formatSeparator = value => numeral(value).format(`0,0.[0000000]`);\n const formatDecimals = R.ifElse(\n R.always(isValidNumber(decimals)),\n v => {\n const num = Number(v);\n const isTiny = Math.abs(num) < Math.pow(10, -(_decimals));\n const displayNum = isTiny ? 0 : num;\n const decimalFormat =\n R.ifElse(\n R.equals(0),\n R.always('0,0'),\n d => `0,0.${R.join('', R.times(R.always('0'), d))}`\n )(decimals);\n\n const res = numeral(displayNum).format(decimalFormat);\n return res;\n },\n formatSeparator\n );\n return R.ifElse(\n isValidNumber,\n R.pipe(\n formatScale,\n formatDecimals,\n res => res === 'NaN' ? String(value) : res\n ),\n R.always('..')\n )(observation.value);\n};\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -69,7 +69,7 @@ export const formatValue = (observation, formatAttributesIndexes, attributes) =>
|
|
|
69
69
|
R.always(isValidNumber(decimals)),
|
|
70
70
|
v => {
|
|
71
71
|
const num = Number(v);
|
|
72
|
-
const isTiny = Math.abs(num) < Math.pow(10, -(_decimals)
|
|
72
|
+
const isTiny = Math.abs(num) < Math.pow(10, -(_decimals));
|
|
73
73
|
const displayNum = isTiny ? 0 : num;
|
|
74
74
|
const decimalFormat =
|
|
75
75
|
R.ifElse(
|
|
@@ -78,7 +78,8 @@ export const formatValue = (observation, formatAttributesIndexes, attributes) =>
|
|
|
78
78
|
d => `0,0.${R.join('', R.times(R.always('0'), d))}`
|
|
79
79
|
)(decimals);
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
const res = numeral(displayNum).format(decimalFormat);
|
|
82
|
+
return res;
|
|
82
83
|
},
|
|
83
84
|
formatSeparator
|
|
84
85
|
);
|