@qrvey/utils 1.2.9-24 → 1.2.9-27

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.
@@ -43,17 +43,18 @@ function formatLocaleDate(value, outputFormat, config) {
43
43
  return new Intl.DateTimeFormat([lang, definition_1.LANG_DEFAULT], langOpts).format(dateParam);
44
44
  }
45
45
  catch (error) {
46
- return new Intl.DateTimeFormat(definition_1.LANG_DEFAULT, langOpts).format(dateParam);
46
+ return (0, isEmpty_1.isEmpty)(dateParam) ? value : new Intl.DateTimeFormat(definition_1.LANG_DEFAULT, langOpts).format(dateParam);
47
47
  }
48
48
  }
49
49
  function formatLocaleNumber(value, outputFormat, config) {
50
50
  const { lang = definition_1.LANG_DEFAULT, options } = config;
51
51
  const langOpts = options || getLocaleOptions(outputFormat);
52
+ const valueToFormat = (outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format) === "Percentage" /* PERCENTAGE */ ? value / 100 : value;
52
53
  try {
53
- return new Intl.NumberFormat([lang, definition_1.LANG_DEFAULT], langOpts).format(value);
54
+ return new Intl.NumberFormat([lang, definition_1.LANG_DEFAULT], langOpts).format(valueToFormat);
54
55
  }
55
56
  catch (e) {
56
- return new Intl.NumberFormat(definition_1.LANG_DEFAULT, langOpts).format(value);
57
+ return new Intl.NumberFormat(definition_1.LANG_DEFAULT, langOpts).format(valueToFormat);
57
58
  }
58
59
  }
59
60
  function getLocaleOptions(outputFormat) {
@@ -27,14 +27,16 @@ exports.transformValue = transformValue;
27
27
  */
28
28
  function getOutputFormat(settings) {
29
29
  let type, format;
30
- if ((0, isDateColumn_1.isDateColumn)(settings.column) && [DATE_GROUPING_PROPERTY_1.DATE_GROUPING_PROPERTY.DAY, DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.HOUR, DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.MINUTE, DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.SECOND].includes(settings.property)) {
30
+ const isDateTime = [DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.HOUR, DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.MINUTE, DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.SECOND].includes(settings.property);
31
+ const isDate = [DATE_GROUPING_PROPERTY_1.DATE_GROUPING_PROPERTY.DAY].includes(settings.property);
32
+ if ((0, isDateColumn_1.isDateColumn)(settings.column) && (isDate || isDateTime)) {
31
33
  type = 'DATE';
32
34
  format = 'Default';
33
35
  }
34
36
  else if ((0, isNumericalColumn_1.isNumericalColumn)(settings.column)) {
35
37
  type = 'NUMERIC';
36
38
  }
37
- return { type, format };
39
+ return { type, format, originalFormat: isDateTime ? settings.column.outputFormat : undefined };
38
40
  }
39
41
  /**
40
42
  * Gets the format config
@@ -37,17 +37,18 @@ function formatLocaleDate(value, outputFormat, config) {
37
37
  return new Intl.DateTimeFormat([lang, LANG_DEFAULT], langOpts).format(dateParam);
38
38
  }
39
39
  catch (error) {
40
- return new Intl.DateTimeFormat(LANG_DEFAULT, langOpts).format(dateParam);
40
+ return isEmpty(dateParam) ? value : new Intl.DateTimeFormat(LANG_DEFAULT, langOpts).format(dateParam);
41
41
  }
42
42
  }
43
43
  function formatLocaleNumber(value, outputFormat, config) {
44
44
  const { lang = LANG_DEFAULT, options } = config;
45
45
  const langOpts = options || getLocaleOptions(outputFormat);
46
+ const valueToFormat = (outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format) === "Percentage" /* PERCENTAGE */ ? value / 100 : value;
46
47
  try {
47
- return new Intl.NumberFormat([lang, LANG_DEFAULT], langOpts).format(value);
48
+ return new Intl.NumberFormat([lang, LANG_DEFAULT], langOpts).format(valueToFormat);
48
49
  }
49
50
  catch (e) {
50
- return new Intl.NumberFormat(LANG_DEFAULT, langOpts).format(value);
51
+ return new Intl.NumberFormat(LANG_DEFAULT, langOpts).format(valueToFormat);
51
52
  }
52
53
  }
53
54
  function getLocaleOptions(outputFormat) {
@@ -23,14 +23,16 @@ export function transformValue(value, settings) {
23
23
  */
24
24
  function getOutputFormat(settings) {
25
25
  let type, format;
26
- if (isDateColumn(settings.column) && [DATE_GROUPING_PROPERTY.DAY, DATE_GROUPING_TIME_PROPERTY.HOUR, DATE_GROUPING_TIME_PROPERTY.MINUTE, DATE_GROUPING_TIME_PROPERTY.SECOND].includes(settings.property)) {
26
+ const isDateTime = [DATE_GROUPING_TIME_PROPERTY.HOUR, DATE_GROUPING_TIME_PROPERTY.MINUTE, DATE_GROUPING_TIME_PROPERTY.SECOND].includes(settings.property);
27
+ const isDate = [DATE_GROUPING_PROPERTY.DAY].includes(settings.property);
28
+ if (isDateColumn(settings.column) && (isDate || isDateTime)) {
27
29
  type = 'DATE';
28
30
  format = 'Default';
29
31
  }
30
32
  else if (isNumericalColumn(settings.column)) {
31
33
  type = 'NUMERIC';
32
34
  }
33
- return { type, format };
35
+ return { type, format, originalFormat: isDateTime ? settings.column.outputFormat : undefined };
34
36
  }
35
37
  /**
36
38
  * Gets the format config
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/utils",
3
- "version": "1.2.9-24",
3
+ "version": "1.2.9-27",
4
4
  "description": "Helper, Utils for all Qrvey Projects",
5
5
  "homepage": "https://bitbucket.org/qrvey/qrvey_utils/wiki/Home",
6
6
  "main": "dist/index.js",
@@ -38,17 +38,18 @@ function formatLocaleDate(value: any, outputFormat: IFormatOutputFormat, config:
38
38
  try {
39
39
  return new Intl.DateTimeFormat([lang, LANG_DEFAULT], langOpts).format(dateParam);
40
40
  } catch (error) {
41
- return new Intl.DateTimeFormat(LANG_DEFAULT, langOpts).format(dateParam);
41
+ return isEmpty(dateParam) ? value : new Intl.DateTimeFormat(LANG_DEFAULT, langOpts).format(dateParam);
42
42
  }
43
43
  }
44
44
 
45
45
  function formatLocaleNumber(value: any, outputFormat: IFormatOutputFormat, config: IFormatConfig,) {
46
46
  const { lang = LANG_DEFAULT, options } = config;
47
47
  const langOpts = options || getLocaleOptions(outputFormat);
48
+ const valueToFormat = outputFormat?.format === LOCALE_FORMATS.PERCENTAGE ? value/100 : value;
48
49
  try {
49
- return new Intl.NumberFormat([lang, LANG_DEFAULT], langOpts).format(value);
50
+ return new Intl.NumberFormat([lang, LANG_DEFAULT], langOpts).format(valueToFormat);
50
51
  } catch (e) {
51
- return new Intl.NumberFormat(LANG_DEFAULT, langOpts).format(value);
52
+ return new Intl.NumberFormat(LANG_DEFAULT, langOpts).format(valueToFormat);
52
53
  }
53
54
  }
54
55
 
@@ -28,13 +28,15 @@ export function transformValue(value: string, settings: ITransformValueSettings)
28
28
  */
29
29
  function getOutputFormat(settings: ITransformValueSettings) {
30
30
  let type, format;
31
- if (isDateColumn(settings.column) && [DATE_GROUPING_PROPERTY.DAY, DATE_GROUPING_TIME_PROPERTY.HOUR, DATE_GROUPING_TIME_PROPERTY.MINUTE, DATE_GROUPING_TIME_PROPERTY.SECOND].includes(settings.property as any)) {
31
+ const isDateTime = [DATE_GROUPING_TIME_PROPERTY.HOUR, DATE_GROUPING_TIME_PROPERTY.MINUTE, DATE_GROUPING_TIME_PROPERTY.SECOND].includes(settings.property as any);
32
+ const isDate = [DATE_GROUPING_PROPERTY.DAY].includes(settings.property as any);
33
+ if (isDateColumn(settings.column) && (isDate || isDateTime)) {
32
34
  type = 'DATE';
33
35
  format = 'Default';
34
36
  } else if (isNumericalColumn(settings.column)) {
35
37
  type = 'NUMERIC';
36
38
  }
37
- return { type, format };
39
+ return { type, format, originalFormat: isDateTime ? settings.column.outputFormat : undefined };
38
40
  }
39
41
 
40
42
  /**