@qrvey/utils 1.4.0-4 → 1.4.0-5

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 (114) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/column_format/helpers/defineTableChartFormat.js +3 -3
  3. package/dist/cjs/columns/helpers/getDatasetColumn.js +1 -3
  4. package/dist/cjs/dates/adapters/mdyDateToDate.d.ts +1 -1
  5. package/dist/cjs/dates/adapters/mdyDateToDate.js +12 -5
  6. package/dist/cjs/dates/adapters/monthYearToDate.d.ts +1 -1
  7. package/dist/cjs/dates/adapters/monthYearToDate.js +8 -7
  8. package/dist/cjs/dates/adapters/quarterYearToDate.d.ts +1 -1
  9. package/dist/cjs/dates/adapters/quarterYearToDate.js +8 -7
  10. package/dist/cjs/dates/adapters/weekYearToDate.d.ts +1 -1
  11. package/dist/cjs/dates/adapters/weekYearToDate.js +20 -19
  12. package/dist/cjs/dates/adapters/yearToDate.d.ts +1 -1
  13. package/dist/cjs/dates/adapters/yearToDate.js +7 -6
  14. package/dist/cjs/dates/constants/DATE_FORMAT_BY_PROPERTY.d.ts +16 -0
  15. package/dist/cjs/dates/constants/DATE_FORMAT_BY_PROPERTY.js +21 -0
  16. package/dist/cjs/dates/helpers/getDateFormatByProperty.js +2 -31
  17. package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -1
  18. package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.js +2 -7
  19. package/dist/cjs/dates/helpers/getDatePickerPickLevel.js +7 -1
  20. package/dist/cjs/dates/helpers/getSeparatorByDateFormat.js +1 -18
  21. package/dist/cjs/dates/helpers/index.d.ts +0 -1
  22. package/dist/cjs/dates/helpers/index.js +0 -1
  23. package/dist/cjs/dates/helpers/validateDate.js +14 -3
  24. package/dist/cjs/dates/range/getDateRange.js +15 -25
  25. package/dist/cjs/dates/relative/RelativeStatementAdapter.js +15 -10
  26. package/dist/cjs/dates/relative/helpers/getStatementCase.js +10 -7
  27. package/dist/cjs/filters/adapters/adaptDateGroupingProperty.js +9 -13
  28. package/dist/cjs/filters/adapters/logicToUI.js +1 -2
  29. package/dist/cjs/filters/adapters/transformFilters.js +1 -3
  30. package/dist/cjs/filters/helpers/OLD_getAggFilters.js +1 -3
  31. package/dist/cjs/filters/helpers/backend/buildFilters.js +5 -2
  32. package/dist/cjs/filters/helpers/backend/getBackendGroupValue.js +1 -2
  33. package/dist/cjs/filters/helpers/backend/getBackendValues.js +53 -31
  34. package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.d.ts +2 -2
  35. package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.js +57 -20
  36. package/dist/cjs/filters/helpers/common/excludeFiltersByParams.js +1 -2
  37. package/dist/cjs/filters/helpers/common/getFiltersByDatasetsColumns.js +28 -18
  38. package/dist/cjs/filters/helpers/common/getFiltersByParams.js +1 -2
  39. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +0 -1
  40. package/dist/cjs/filters/helpers/getScopesByHierarchy.js +7 -5
  41. package/dist/cjs/filters/helpers/ui/getUIValues.js +76 -85
  42. package/dist/cjs/filters/interfaces/functions/IFFGetLogicByDatasetsColumns.d.ts +3 -0
  43. package/dist/cjs/filters/services/UChartApi.d.ts +17 -3
  44. package/dist/cjs/filters/services/UChartApi.js +49 -26
  45. package/dist/cjs/filters/services/UChartPaginationApi.d.ts +17 -3
  46. package/dist/cjs/filters/services/UChartPaginationApi.js +45 -24
  47. package/dist/cjs/general/mix/isNaNV2.d.ts +10 -3
  48. package/dist/cjs/general/mix/isNaNV2.js +11 -4
  49. package/dist/cjs/general/string/parseUrl.js +2 -2
  50. package/dist/cjs/globalization/helpers/getI18nCalendar.js +10 -7
  51. package/dist/cjs/globalization/service/i18nextBuilder.js +1 -3
  52. package/dist/cjs/globalization/service/initI18n.js +1 -12
  53. package/dist/cjs/qrvey/helpers/getDataAnswersByColumn.js +6 -5
  54. package/dist/cjs/qrvey/helpers/getExpressionAnswers.js +15 -11
  55. package/dist/cjs/tokens/isTokenLabel.js +1 -2
  56. package/dist/column_format/helpers/defineTableChartFormat.js +3 -3
  57. package/dist/columns/helpers/getDatasetColumn.js +1 -3
  58. package/dist/dates/adapters/mdyDateToDate.d.ts +1 -1
  59. package/dist/dates/adapters/mdyDateToDate.js +12 -5
  60. package/dist/dates/adapters/monthYearToDate.d.ts +1 -1
  61. package/dist/dates/adapters/monthYearToDate.js +8 -7
  62. package/dist/dates/adapters/quarterYearToDate.d.ts +1 -1
  63. package/dist/dates/adapters/quarterYearToDate.js +8 -7
  64. package/dist/dates/adapters/weekYearToDate.d.ts +1 -1
  65. package/dist/dates/adapters/weekYearToDate.js +20 -19
  66. package/dist/dates/adapters/yearToDate.d.ts +1 -1
  67. package/dist/dates/adapters/yearToDate.js +7 -6
  68. package/dist/dates/constants/DATE_FORMAT_BY_PROPERTY.d.ts +16 -0
  69. package/dist/dates/constants/DATE_FORMAT_BY_PROPERTY.js +18 -0
  70. package/dist/dates/helpers/getDateFormatByProperty.js +2 -31
  71. package/dist/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -1
  72. package/dist/dates/helpers/getDateFormatRegularExpressionInArray.js +2 -7
  73. package/dist/dates/helpers/getDatePickerPickLevel.js +7 -1
  74. package/dist/dates/helpers/getSeparatorByDateFormat.js +1 -18
  75. package/dist/dates/helpers/index.d.ts +0 -1
  76. package/dist/dates/helpers/index.js +0 -1
  77. package/dist/dates/helpers/validateDate.js +14 -3
  78. package/dist/dates/range/getDateRange.js +15 -25
  79. package/dist/dates/relative/RelativeStatementAdapter.js +15 -10
  80. package/dist/dates/relative/helpers/getStatementCase.js +10 -7
  81. package/dist/filters/adapters/adaptDateGroupingProperty.js +9 -13
  82. package/dist/filters/adapters/logicToUI.js +1 -2
  83. package/dist/filters/adapters/transformFilters.js +1 -3
  84. package/dist/filters/helpers/OLD_getAggFilters.js +1 -3
  85. package/dist/filters/helpers/backend/buildFilters.js +5 -2
  86. package/dist/filters/helpers/backend/getBackendGroupValue.js +1 -2
  87. package/dist/filters/helpers/backend/getBackendValues.js +53 -31
  88. package/dist/filters/helpers/backend/getLogicByDatasetsColumns.d.ts +2 -2
  89. package/dist/filters/helpers/backend/getLogicByDatasetsColumns.js +56 -19
  90. package/dist/filters/helpers/common/excludeFiltersByParams.js +1 -2
  91. package/dist/filters/helpers/common/getFiltersByDatasetsColumns.js +28 -18
  92. package/dist/filters/helpers/common/getFiltersByParams.js +1 -2
  93. package/dist/filters/helpers/getAggFiltersFromFilterData.js +0 -1
  94. package/dist/filters/helpers/getScopesByHierarchy.js +7 -5
  95. package/dist/filters/helpers/ui/getUIValues.js +76 -85
  96. package/dist/filters/interfaces/functions/IFFGetLogicByDatasetsColumns.d.ts +3 -0
  97. package/dist/filters/services/UChartApi.d.ts +17 -3
  98. package/dist/filters/services/UChartApi.js +49 -26
  99. package/dist/filters/services/UChartPaginationApi.d.ts +17 -3
  100. package/dist/filters/services/UChartPaginationApi.js +45 -24
  101. package/dist/general/mix/isNaNV2.d.ts +10 -3
  102. package/dist/general/mix/isNaNV2.js +11 -4
  103. package/dist/general/string/parseUrl.js +2 -2
  104. package/dist/globalization/helpers/getI18nCalendar.js +10 -7
  105. package/dist/globalization/service/i18nextBuilder.js +1 -3
  106. package/dist/globalization/service/initI18n.js +1 -12
  107. package/dist/qrvey/helpers/getDataAnswersByColumn.js +6 -5
  108. package/dist/qrvey/helpers/getExpressionAnswers.js +14 -10
  109. package/dist/tokens/isTokenLabel.js +1 -2
  110. package/package.json +4 -4
  111. package/dist/cjs/dates/helpers/validateDateByDateFormat.d.ts +0 -8
  112. package/dist/cjs/dates/helpers/validateDateByDateFormat.js +0 -27
  113. package/dist/dates/helpers/validateDateByDateFormat.d.ts +0 -8
  114. package/dist/dates/helpers/validateDateByDateFormat.js +0 -23
@@ -47,39 +47,21 @@ export default class UChartPaginationApi {
47
47
  };
48
48
  /**
49
49
  * Gets request body structure
50
- * @param uFilter The filter Builder filter
51
- * @param filterLogic Additional filter logic to apply in the preview
52
- * @param chartSettings The settings of the chart. For Aggregate Columns.
50
+ * @param {IFUFlattenedFilter} uFilter The filter object
51
+ * @param {IFBLogic[]} filterLogic Additional filter logic to apply in the preview
52
+ * @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
53
53
  * @returns the request body structure
54
54
  */
55
55
  this._getPreviewRequestBody = (uFilter, filterLogic = [], chartSettings, afterKey) => {
56
- const { column, validator } = uFilter;
57
- const haveAggFilters = ((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.aggregateColumns) || []).length &&
58
- ((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart) || []).length;
59
- let searchLogic;
60
- if (!isEmpty(uFilter.values)) {
61
- searchLogic = flatUIToOldLogic([
62
- Object.assign(Object.assign({}, uFilter), { validator: this._getValidationType(column, validator), column: Object.assign(Object.assign({}, uFilter.column), { linkid: undefined }) }),
63
- ]);
64
- }
65
- let filterCharts = [];
66
- if (haveAggFilters) {
67
- filterCharts = chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart.map((chart) => {
68
- const summaryIndex = (chart.summaries || []).findIndex((s) => s.questionid === uFilter.column.id &&
69
- s.aggregate === uFilter.column.aggregate);
70
- const summary = summaryIndex !== -1 && chart.summaries[summaryIndex];
71
- const chartAggFilters = getAggFiltersBySummaryIndex(chart.aggFilters, summaryIndex);
72
- const searchAggFilters = getAggFilters((searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [], summary ? [summary] : []);
73
- return Object.assign(Object.assign({}, chart), { aggFilters: searchAggFilters || chartAggFilters, summaries: summary ? [summary] : [] });
74
- }).filter((chart) => chart.summaries.length);
75
- }
56
+ const searchLogic = this._getSearchLogic(uFilter);
57
+ const filterCharts = this._getFilterCharts(uFilter, searchLogic, chartSettings);
76
58
  const dimensions = !filterCharts[0]
77
59
  ? this._getDimensionsBody(uFilter)
78
60
  : this._getDimensionsBodyAdapter(filterCharts[0].dimensions);
79
61
  const summaries = !filterCharts[0]
80
62
  ? this._getSummariesBody(uFilter)
81
63
  : filterCharts[0].summaries;
82
- const maxDataPoints = this._getMaxDataPoints(column, chartSettings);
64
+ const maxDataPoints = this._getMaxDataPoints(uFilter.column, chartSettings);
83
65
  const filters = [
84
66
  ...filterLogic,
85
67
  ...(!filterCharts[0] ? (searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [] : []),
@@ -310,4 +292,43 @@ export default class UChartPaginationApi {
310
292
  return isEmpty(result);
311
293
  };
312
294
  }
295
+ /**
296
+ * Gets the filter object structure for the searching text
297
+ * @param {IFUFlattenedFilter} uFilter The filter object
298
+ * @returns the filter object structure
299
+ */
300
+ _getSearchLogic(uFilter) {
301
+ let searchLogic;
302
+ if (!isEmpty(uFilter.values)) {
303
+ searchLogic = flatUIToOldLogic([
304
+ Object.assign(Object.assign({}, uFilter), { validator: this._getValidationType(uFilter.column, uFilter.validator), column: Object.assign(Object.assign({}, uFilter.column), { linkid: undefined }) }),
305
+ ]);
306
+ }
307
+ return searchLogic;
308
+ }
309
+ /**
310
+ * Gets the filters from the chart settings
311
+ * @param {IFUFlattenedFilter} uFilter The filter object
312
+ * @param {OLD_IFilterData} searchLogic Additional filter object for the searching text
313
+ * @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
314
+ * @returns the filters from the chart settings
315
+ */
316
+ _getFilterCharts(uFilter, searchLogic, chartSettings) {
317
+ let filterCharts = [];
318
+ const haveAggFilters = ((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.aggregateColumns) || []).length &&
319
+ ((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart) || []).length;
320
+ if (haveAggFilters) {
321
+ filterCharts = chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart.map((chart) => {
322
+ if (uFilter.column.type === COLUMN.AGGREGATED_FORMULA)
323
+ return chart;
324
+ const summaryIndex = (chart.summaries || []).findIndex((s) => s.questionid === uFilter.column.id &&
325
+ s.aggregate === uFilter.column.aggregate);
326
+ const summary = summaryIndex !== -1 && chart.summaries[summaryIndex];
327
+ const chartAggFilters = getAggFiltersBySummaryIndex(chart.aggFilters, summaryIndex);
328
+ const searchAggFilters = getAggFilters((searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [], summary ? [summary] : []);
329
+ return Object.assign(Object.assign({}, chart), { aggFilters: searchAggFilters || chartAggFilters, summaries: summary ? [summary] : [] });
330
+ }).filter((chart) => chart.summaries.length);
331
+ }
332
+ return filterCharts;
333
+ }
313
334
  }
@@ -1,8 +1,15 @@
1
1
  /**
2
2
  * Validates if the recieved number is NaN type.
3
- * This function recieves any variable but will return false.
4
- * Validates if variable is null, undefined, or an empty string, also, the function uses isNaN native function.
3
+ *
4
+ * Conditions:
5
+ * - This function recieves any variable but will return true if it is different to number.
6
+ * - Empty variables as undefined, null, empty string will return true.
7
+ *
8
+ * Special case for isNaN
9
+ * - The isNaN('') is considered as false statement. The empty string is converted to 0 which is not NaN.
10
+ * - Boolean variables is considered as false statement.
11
+ *
5
12
  * @param variable the variable to validate
6
- * @return True if variable is a NaN or false otherwise
13
+ * @return True: variable is a NaN; False: The variable is a number
7
14
  */
8
15
  export declare function isNaNV2(variable: any): boolean;
@@ -1,11 +1,18 @@
1
1
  import { isEmpty } from ".";
2
2
  /**
3
3
  * Validates if the recieved number is NaN type.
4
- * This function recieves any variable but will return false.
5
- * Validates if variable is null, undefined, or an empty string, also, the function uses isNaN native function.
4
+ *
5
+ * Conditions:
6
+ * - This function recieves any variable but will return true if it is different to number.
7
+ * - Empty variables as undefined, null, empty string will return true.
8
+ *
9
+ * Special case for isNaN
10
+ * - The isNaN('') is considered as false statement. The empty string is converted to 0 which is not NaN.
11
+ * - Boolean variables is considered as false statement.
12
+ *
6
13
  * @param variable the variable to validate
7
- * @return True if variable is a NaN or false otherwise
14
+ * @return True: variable is a NaN; False: The variable is a number
8
15
  */
9
16
  export function isNaNV2(variable) {
10
- return isEmpty(variable) || isNaN(variable);
17
+ return isEmpty(variable) || typeof variable == "boolean" || isNaN(variable);
11
18
  }
@@ -8,8 +8,8 @@ export const parseUrl = (url, transformer) => {
8
8
  if (!match)
9
9
  return url;
10
10
  return match.reduce((newUrl, curr) => {
11
- const key = curr.substr(2);
11
+ const key = curr.substring(2);
12
12
  const value = typeof transformer === "function" ? transformer(key) : transformer[key];
13
- return newUrl.replace(curr.substr(1), value);
13
+ return newUrl.replace(curr.substring(1), value);
14
14
  }, url);
15
15
  };
@@ -1,12 +1,15 @@
1
+ import { isEmpty } from "../../general/mix/isEmpty";
1
2
  import { I18nService } from "../service/i18nextBuilder";
2
3
  export function getI18nCalendar(locale) {
3
- const localeOverride = locale instanceof I18nService
4
- ? locale
5
- : typeof locale === "function"
6
- ? { translate: locale }
7
- : undefined;
8
- if (!localeOverride)
9
- return undefined;
4
+ let localeOverride;
5
+ if (locale instanceof I18nService) {
6
+ localeOverride = locale;
7
+ }
8
+ else if (typeof locale === "function") {
9
+ localeOverride = { translate: locale };
10
+ }
11
+ if (isEmpty(localeOverride))
12
+ return;
10
13
  return {
11
14
  clear: localeOverride.translate("common.calendar.clear"),
12
15
  days: [
@@ -11,9 +11,7 @@ import i18next from "i18next";
11
11
  import { mergeDeep } from "../../general/object/mergeDeep";
12
12
  export class I18nServiceBuilder {
13
13
  static buildI18n(i18nDefault, i18nResource) {
14
- return __awaiter(this, void 0, void 0, function* () {
15
- return yield this._initI18n(i18nDefault, i18nResource);
16
- });
14
+ return this._initI18n(i18nDefault, i18nResource);
17
15
  }
18
16
  static _initI18n(i18nDefault, i18nResource) {
19
17
  return __awaiter(this, void 0, void 0, function* () {
@@ -1,15 +1,4 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { I18nServiceBuilder } from "../service/i18nextBuilder";
11
2
  export function initI18n(i18nConfig = {}, i18nDefault = {}) {
12
- return __awaiter(this, void 0, void 0, function* () {
13
- return yield I18nServiceBuilder.buildI18n(i18nDefault, i18nConfig);
14
- });
3
+ return I18nServiceBuilder.buildI18n(i18nDefault, i18nConfig);
15
4
  }
@@ -46,9 +46,10 @@ export function getDataAnswersByColumn(settings) {
46
46
  return [];
47
47
  }
48
48
  function getColumnFromData(settings) {
49
- return !isEmpty(settings.dataset)
50
- ? getDatasetColumn(settings.column, settings.dataset)
51
- : !isEmpty(settings.model)
52
- ? getModelColumn(settings.column, settings.model)
53
- : undefined;
49
+ if (!isEmpty(settings.dataset)) {
50
+ return getDatasetColumn(settings.column, settings.dataset);
51
+ }
52
+ else if (!isEmpty(settings.model)) {
53
+ return getModelColumn(settings.column, settings.model);
54
+ }
54
55
  }
@@ -9,16 +9,20 @@ import { isEmpty } from "../../general/mix/isEmpty";
9
9
  export function getExpressionAnswers(column, property) {
10
10
  if (isEmpty(column))
11
11
  return [];
12
- if (column.expressionCategory) {
13
- return (COMPLEX_COLUMN_PROPERTY.EXPRESSION_NEGATIVE === property
14
- ? column.expressionNegative
15
- : COMPLEX_COLUMN_PROPERTY.EXPRESSION_POSITIVE === property
16
- ? column.expressionPositive
17
- : []).map((word) => ({ answer: word.text }));
12
+ const categoryExpressions = column.expressionCategory
13
+ ? getCategoryAnswers(column, property)
14
+ : column.expressionWords;
15
+ return (categoryExpressions || []).map((word) => ({
16
+ answer: word.text,
17
+ }));
18
+ }
19
+ function getCategoryAnswers(column, property) {
20
+ let categoryExpressions;
21
+ if (COMPLEX_COLUMN_PROPERTY.EXPRESSION_NEGATIVE === property) {
22
+ categoryExpressions = column.expressionNegative;
18
23
  }
19
- else {
20
- return (column.expressionWords || []).map((word) => ({
21
- answer: word.text,
22
- }));
24
+ else if (COMPLEX_COLUMN_PROPERTY.EXPRESSION_POSITIVE === property) {
25
+ categoryExpressions = column.expressionPositive;
23
26
  }
27
+ return categoryExpressions;
24
28
  }
@@ -7,6 +7,5 @@ import { isEmpty } from "../general/mix/isEmpty";
7
7
  export function isTokenLabel(label = "") {
8
8
  if (isEmpty(label) || typeof label !== "string")
9
9
  return false;
10
- const regex = new RegExp("^({{)([^{/\\s/}]+)(}})$", "g");
11
- return regex.test(label);
10
+ return /^\{\{([^{\s}]+)\}\}$/g.test(label);
12
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/utils",
3
- "version": "1.4.0-4",
3
+ "version": "1.4.0-5",
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",
@@ -9,10 +9,9 @@
9
9
  "build-clean": "node ./scripts/clean-build",
10
10
  "compodoc": "npx compodoc -p tsconfig.doc.json",
11
11
  "compodoc:server": "./node_modules/.bin/compodoc -p ./tsconfig.doc.json -s --port=4400",
12
- "lint": "eslint src --quiet --exit-on-fatal-error --ext .ts,.js",
13
- "lint-dev": "eslint src --debug --ext .ts,.tsx",
12
+ "lint": "eslint . --quiet --exit-on-fatal-error --ext .ts,.js",
13
+ "lint-dev": "eslint . --debug --ext .ts,.tsx --fix",
14
14
  "prepare": "husky install",
15
- "precommit": "prettier --write . && git update-index --again && npm run build && npm run lint",
16
15
  "publishing-old": "node ./scripts/prepare-publish && np",
17
16
  "publishing-prerelease-old": "node ./scripts/prepare-publish && np --any-branch --tag=$npm_config_tag",
18
17
  "publishing-beta-1": "node ./scripts/publishing --np-new-version=$npm_config_np_new_version --np-any-branch=$npm_config_np_any_branch --np-tag=$npm_config_np_tag",
@@ -31,6 +30,7 @@
31
30
  "eslint-config-prettier": "8.5.0",
32
31
  "husky": "8.0.1",
33
32
  "jest": "28.1.0",
33
+ "lint-staged": "13.0.1",
34
34
  "np": "7.6.1",
35
35
  "prettier": "2.6.2",
36
36
  "ts-jest": "28.0.3",
@@ -1,8 +0,0 @@
1
- import { IDateFormat } from "../interfaces/IDateFormat";
2
- /**
3
- * Validates the given string as Date by its date format.
4
- * @param date a string to validate as date form
5
- * @param dateForma the format of the date to validate the string
6
- * @returns true: the string is a valida date
7
- */
8
- export declare function validateDateByDateFormat(date: string, dateFormat?: IDateFormat): boolean;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateDateByDateFormat = void 0;
4
- const isTokenLabel_1 = require("../../tokens/isTokenLabel");
5
- const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
6
- const getDateFormatRegularExpressionInArray_1 = require("./getDateFormatRegularExpressionInArray");
7
- const getSeparatorByDateFormat_1 = require("./getSeparatorByDateFormat");
8
- /**
9
- * Validates the given string as Date by its date format.
10
- * @param date a string to validate as date form
11
- * @param dateForma the format of the date to validate the string
12
- * @returns true: the string is a valida date
13
- */
14
- function validateDateByDateFormat(date, dateFormat = DATE_FORMAT_1.DATE_FORMAT.DAY) {
15
- const resultValidation = [];
16
- const separator = (0, getSeparatorByDateFormat_1.getSeparatorByDateFormat)(dateFormat);
17
- const separatedDate = date.split(separator);
18
- const regularExpression = (0, getDateFormatRegularExpressionInArray_1.getDateFormatRegularExpressionInArray)(dateFormat);
19
- if (regularExpression.length !== separatedDate.length)
20
- return false;
21
- for (let i = 0; i < separatedDate.length; i++) {
22
- resultValidation.push((0, isTokenLabel_1.isTokenLabel)(separatedDate[i]) ||
23
- new RegExp(regularExpression[i], "g").test(separatedDate[i]));
24
- }
25
- return resultValidation.every((validValue) => validValue);
26
- }
27
- exports.validateDateByDateFormat = validateDateByDateFormat;
@@ -1,8 +0,0 @@
1
- import { IDateFormat } from "../interfaces/IDateFormat";
2
- /**
3
- * Validates the given string as Date by its date format.
4
- * @param date a string to validate as date form
5
- * @param dateForma the format of the date to validate the string
6
- * @returns true: the string is a valida date
7
- */
8
- export declare function validateDateByDateFormat(date: string, dateFormat?: IDateFormat): boolean;
@@ -1,23 +0,0 @@
1
- import { isTokenLabel } from "../../tokens/isTokenLabel";
2
- import { DATE_FORMAT } from "../constants/DATE_FORMAT";
3
- import { getDateFormatRegularExpressionInArray } from "./getDateFormatRegularExpressionInArray";
4
- import { getSeparatorByDateFormat } from "./getSeparatorByDateFormat";
5
- /**
6
- * Validates the given string as Date by its date format.
7
- * @param date a string to validate as date form
8
- * @param dateForma the format of the date to validate the string
9
- * @returns true: the string is a valida date
10
- */
11
- export function validateDateByDateFormat(date, dateFormat = DATE_FORMAT.DAY) {
12
- const resultValidation = [];
13
- const separator = getSeparatorByDateFormat(dateFormat);
14
- const separatedDate = date.split(separator);
15
- const regularExpression = getDateFormatRegularExpressionInArray(dateFormat);
16
- if (regularExpression.length !== separatedDate.length)
17
- return false;
18
- for (let i = 0; i < separatedDate.length; i++) {
19
- resultValidation.push(isTokenLabel(separatedDate[i]) ||
20
- new RegExp(regularExpression[i], "g").test(separatedDate[i]));
21
- }
22
- return resultValidation.every((validValue) => validValue);
23
- }