@qrvey/utils 1.2.9-36 → 1.2.9-39
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/README.md +6 -7
- package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSION.js +1 -1
- package/dist/cjs/dates/helpers/getSeparatorByDateFormat.js +1 -1
- package/dist/cjs/filters/helpers/ui/getUIValues.d.ts +4 -5
- package/dist/cjs/filters/helpers/ui/getUIValues.js +15 -6
- package/dist/cjs/filters/interfaces/ui/IFUUIValueSettings.d.ts +2 -0
- package/dist/dates/constants/DATE_REGULAR_EXPRESSION.js +1 -1
- package/dist/dates/helpers/getSeparatorByDateFormat.js +1 -1
- package/dist/filters/helpers/ui/getUIValues.d.ts +4 -5
- package/dist/filters/helpers/ui/getUIValues.js +15 -6
- package/dist/filters/interfaces/ui/IFUUIValueSettings.d.ts +2 -0
- package/package.json +5 -4
- package/scripts/generating-docs/index.js +133 -0
- package/scripts/publishing/index.js +11 -6
- package/src/dates/constants/DATE_REGULAR_EXPRESSION.ts +1 -1
- package/src/dates/helpers/getSeparatorByDateFormat.ts +1 -1
- package/src/dates/helpers/validateDate.ts +1 -1
- package/src/dates/helpers/validateDateByDateFormat.ts +1 -1
- package/src/filters/helpers/ui/getUIValues.ts +15 -6
- package/src/filters/interfaces/ui/IFUUIValueSettings.ts +2 -0
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.2.9-
|
|
1
|
+
# [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.2.9-38*
|
|
2
2
|
|
|
3
3
|
> Helper, Utils for all Qrvey Projects
|
|
4
4
|
|
|
@@ -4398,9 +4398,9 @@ Filters and gets a UI Flatten Filters by the given scopes
|
|
|
4398
4398
|
### dist/filters/helpers/ui/getUIValues.js
|
|
4399
4399
|
|
|
4400
4400
|
|
|
4401
|
-
#### getUIValues(filter,
|
|
4402
|
-
|
|
4401
|
+
#### getUIValues(filter, settings)
|
|
4403
4402
|
|
|
4403
|
+
Gets the UI Values from the filter object
|
|
4404
4404
|
|
|
4405
4405
|
|
|
4406
4406
|
|
|
@@ -4409,9 +4409,8 @@ Filters and gets a UI Flatten Filters by the given scopes
|
|
|
4409
4409
|
|
|
4410
4410
|
| Name | Type | Description | |
|
|
4411
4411
|
| ---- | ---- | ----------- | -------- |
|
|
4412
|
-
| filter | |
|
|
4413
|
-
|
|
|
4414
|
-
| rankingGroupIndex | | | |
|
|
4412
|
+
| filter | | The filter object | |
|
|
4413
|
+
| settings | | configuration for this function | |
|
|
4415
4414
|
|
|
4416
4415
|
|
|
4417
4416
|
|
|
@@ -4419,7 +4418,7 @@ Filters and gets a UI Flatten Filters by the given scopes
|
|
|
4419
4418
|
##### Returns
|
|
4420
4419
|
|
|
4421
4420
|
|
|
4422
|
-
-
|
|
4421
|
+
- an array of values
|
|
4423
4422
|
|
|
4424
4423
|
|
|
4425
4424
|
|
|
@@ -25,7 +25,7 @@ exports.DATE_REGULAR_EXPRESSION = {
|
|
|
25
25
|
SECOND: `^${YEAR_MONTH_NUMBER}/${MONTH_DAY}/${YEAR} ${DAY_TIME}$`,
|
|
26
26
|
MONTH_DAY: `^${MONTH_DAY}$`,
|
|
27
27
|
YEAR_MONTH: `^${YEAR_MONTH}$`,
|
|
28
|
-
YEAR_MONTH_NUMBER:
|
|
28
|
+
YEAR_MONTH_NUMBER: `^${YEAR_MONTH_NUMBER}$`,
|
|
29
29
|
YEAR_QUARTER: `^${YEAR_QUARTER}$`,
|
|
30
30
|
YEAR_WEEK: `^${YEAR_WEEK}$`,
|
|
31
31
|
DAY_HOUR: `^${DAY_HOUR}$`,
|
|
@@ -8,7 +8,7 @@ const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
|
|
|
8
8
|
* @returns a separator string
|
|
9
9
|
*/
|
|
10
10
|
function getSeparatorByDateFormat(format = DATE_FORMAT_1.DATE_FORMAT.DAY) {
|
|
11
|
-
return format === DATE_FORMAT_1.DATE_FORMAT.YEAR || format === DATE_FORMAT_1.DATE_FORMAT.DAY_TIME || format === DATE_FORMAT_1.DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT_1.DATE_FORMAT.DAY_HOUR || format === DATE_FORMAT_1.DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT_1.DATE_FORMAT.MINUTE_SECOND ? '' :
|
|
11
|
+
return format === DATE_FORMAT_1.DATE_FORMAT.YEAR || format === DATE_FORMAT_1.DATE_FORMAT.DAY_TIME || format === DATE_FORMAT_1.DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT_1.DATE_FORMAT.DAY_HOUR || format === DATE_FORMAT_1.DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT_1.DATE_FORMAT.MINUTE_SECOND ? ' ' :
|
|
12
12
|
format === DATE_FORMAT_1.DATE_FORMAT.MONTH || format === DATE_FORMAT_1.DATE_FORMAT.QUARTER || format === DATE_FORMAT_1.DATE_FORMAT.WEEK || format === DATE_FORMAT_1.DATE_FORMAT.HOUR || format === DATE_FORMAT_1.DATE_FORMAT.MINUTE || format === DATE_FORMAT_1.DATE_FORMAT.SECOND ? ' ' :
|
|
13
13
|
'/';
|
|
14
14
|
}
|
|
@@ -2,10 +2,9 @@ import { IFSFilter } from "../../interfaces/common/IFSFilter";
|
|
|
2
2
|
import { IFUValue } from "../../interfaces/ui/IFUValue";
|
|
3
3
|
import { IFUUIValueSettings } from "../../interfaces/ui/IFUUIValueSettings";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* @param filter
|
|
7
|
-
* @param
|
|
8
|
-
* @
|
|
9
|
-
* @returns
|
|
5
|
+
* Gets the UI Values from the filter object
|
|
6
|
+
* @param filter The filter object
|
|
7
|
+
* @param settings configuration for this function
|
|
8
|
+
* @returns an array of values
|
|
10
9
|
*/
|
|
11
10
|
export declare function getUIValues(filter: IFSFilter, settings?: IFUUIValueSettings): IFUValue[];
|
|
@@ -10,11 +10,10 @@ const flattenDeep_1 = require("../../../general/array/flattenDeep");
|
|
|
10
10
|
const RELATIVE_CURSOR_INFO_1 = require("../../../dates/relative/constants/RELATIVE_CURSOR_INFO");
|
|
11
11
|
const __1 = require("../../..");
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
* @param filter
|
|
15
|
-
* @param
|
|
16
|
-
* @
|
|
17
|
-
* @returns
|
|
13
|
+
* Gets the UI Values from the filter object
|
|
14
|
+
* @param filter The filter object
|
|
15
|
+
* @param settings configuration for this function
|
|
16
|
+
* @returns an array of values
|
|
18
17
|
*/
|
|
19
18
|
function getUIValues(filter, settings) {
|
|
20
19
|
var _a;
|
|
@@ -39,7 +38,7 @@ function getUIValues(filter, settings) {
|
|
|
39
38
|
case FILTER_VALIDATOR_1.FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
|
|
40
39
|
case FILTER_VALIDATOR_1.FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
|
|
41
40
|
return filter.values.map(value => ({
|
|
42
|
-
value: `${getValueLabel(value.min, filter, settings)}
|
|
41
|
+
value: `${getValueLabel(value.min, filter, settings)} ${getRangeSeparator(settings)} ${getValueLabel(value.max, filter, settings)}`,
|
|
43
42
|
enabled: settings.addEnableds ? value.enabled != null ? value.enabled : true : undefined,
|
|
44
43
|
}));
|
|
45
44
|
case FILTER_VALIDATOR_1.FILTER_VALIDATOR.IS_NULL:
|
|
@@ -78,6 +77,8 @@ function getUiValuesSettings(settings) {
|
|
|
78
77
|
var _a;
|
|
79
78
|
return {
|
|
80
79
|
addEnableds: (_a = settings === null || settings === void 0 ? void 0 : settings.addEnableds) !== null && _a !== void 0 ? _a : false,
|
|
80
|
+
rangeSeparator: (settings === null || settings === void 0 ? void 0 : settings.rangeSeparator) || '-',
|
|
81
|
+
rangeSeparatorPath: settings === null || settings === void 0 ? void 0 : settings.rangeSeparatorPath,
|
|
81
82
|
rankingGroupIndex: settings === null || settings === void 0 ? void 0 : settings.rankingGroupIndex,
|
|
82
83
|
translate: settings === null || settings === void 0 ? void 0 : settings.translate,
|
|
83
84
|
};
|
|
@@ -95,3 +96,11 @@ function getRankingUIValues(values, addEnableds = false, rankingGroupIndex) {
|
|
|
95
96
|
enabled: addEnableds ? rankingValue.enabled : undefined
|
|
96
97
|
}));
|
|
97
98
|
}
|
|
99
|
+
function getRangeSeparator(settings) {
|
|
100
|
+
if (!(0, isEmpty_1.isEmpty)(settings.translate) && !(0, isEmpty_1.isEmpty)(settings.rangeSeparatorPath)) {
|
|
101
|
+
return settings.translate(settings.rangeSeparatorPath);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return settings.rangeSeparator;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -2,5 +2,7 @@ import { II18nServiceTranslate } from "../../../globalization/interfaces/II18nSe
|
|
|
2
2
|
export interface IFUUIValueSettings {
|
|
3
3
|
addEnableds?: boolean;
|
|
4
4
|
rankingGroupIndex?: number;
|
|
5
|
+
rangeSeparator?: string;
|
|
6
|
+
rangeSeparatorPath?: string;
|
|
5
7
|
translate?: II18nServiceTranslate;
|
|
6
8
|
}
|
|
@@ -22,7 +22,7 @@ export const DATE_REGULAR_EXPRESSION = {
|
|
|
22
22
|
SECOND: `^${YEAR_MONTH_NUMBER}/${MONTH_DAY}/${YEAR} ${DAY_TIME}$`,
|
|
23
23
|
MONTH_DAY: `^${MONTH_DAY}$`,
|
|
24
24
|
YEAR_MONTH: `^${YEAR_MONTH}$`,
|
|
25
|
-
YEAR_MONTH_NUMBER:
|
|
25
|
+
YEAR_MONTH_NUMBER: `^${YEAR_MONTH_NUMBER}$`,
|
|
26
26
|
YEAR_QUARTER: `^${YEAR_QUARTER}$`,
|
|
27
27
|
YEAR_WEEK: `^${YEAR_WEEK}$`,
|
|
28
28
|
DAY_HOUR: `^${DAY_HOUR}$`,
|
|
@@ -5,7 +5,7 @@ import { DATE_FORMAT } from "../constants/DATE_FORMAT";
|
|
|
5
5
|
* @returns a separator string
|
|
6
6
|
*/
|
|
7
7
|
export function getSeparatorByDateFormat(format = DATE_FORMAT.DAY) {
|
|
8
|
-
return format === DATE_FORMAT.YEAR || format === DATE_FORMAT.DAY_TIME || format === DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT.DAY_HOUR || format === DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT.MINUTE_SECOND ? '' :
|
|
8
|
+
return format === DATE_FORMAT.YEAR || format === DATE_FORMAT.DAY_TIME || format === DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT.DAY_HOUR || format === DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT.MINUTE_SECOND ? ' ' :
|
|
9
9
|
format === DATE_FORMAT.MONTH || format === DATE_FORMAT.QUARTER || format === DATE_FORMAT.WEEK || format === DATE_FORMAT.HOUR || format === DATE_FORMAT.MINUTE || format === DATE_FORMAT.SECOND ? ' ' :
|
|
10
10
|
'/';
|
|
11
11
|
}
|
|
@@ -2,10 +2,9 @@ import { IFSFilter } from "../../interfaces/common/IFSFilter";
|
|
|
2
2
|
import { IFUValue } from "../../interfaces/ui/IFUValue";
|
|
3
3
|
import { IFUUIValueSettings } from "../../interfaces/ui/IFUUIValueSettings";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* @param filter
|
|
7
|
-
* @param
|
|
8
|
-
* @
|
|
9
|
-
* @returns
|
|
5
|
+
* Gets the UI Values from the filter object
|
|
6
|
+
* @param filter The filter object
|
|
7
|
+
* @param settings configuration for this function
|
|
8
|
+
* @returns an array of values
|
|
10
9
|
*/
|
|
11
10
|
export declare function getUIValues(filter: IFSFilter, settings?: IFUUIValueSettings): IFUValue[];
|
|
@@ -7,11 +7,10 @@ import { flattenDeep } from "../../../general/array/flattenDeep";
|
|
|
7
7
|
import { RELATIVE_CURSOR_INFO } from "../../../dates/relative/constants/RELATIVE_CURSOR_INFO";
|
|
8
8
|
import { getI18nDateGroupLabel } from "../../..";
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
* @param filter
|
|
12
|
-
* @param
|
|
13
|
-
* @
|
|
14
|
-
* @returns
|
|
10
|
+
* Gets the UI Values from the filter object
|
|
11
|
+
* @param filter The filter object
|
|
12
|
+
* @param settings configuration for this function
|
|
13
|
+
* @returns an array of values
|
|
15
14
|
*/
|
|
16
15
|
export function getUIValues(filter, settings) {
|
|
17
16
|
var _a;
|
|
@@ -36,7 +35,7 @@ export function getUIValues(filter, settings) {
|
|
|
36
35
|
case FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
|
|
37
36
|
case FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
|
|
38
37
|
return filter.values.map(value => ({
|
|
39
|
-
value: `${getValueLabel(value.min, filter, settings)}
|
|
38
|
+
value: `${getValueLabel(value.min, filter, settings)} ${getRangeSeparator(settings)} ${getValueLabel(value.max, filter, settings)}`,
|
|
40
39
|
enabled: settings.addEnableds ? value.enabled != null ? value.enabled : true : undefined,
|
|
41
40
|
}));
|
|
42
41
|
case FILTER_VALIDATOR.IS_NULL:
|
|
@@ -74,6 +73,8 @@ function getUiValuesSettings(settings) {
|
|
|
74
73
|
var _a;
|
|
75
74
|
return {
|
|
76
75
|
addEnableds: (_a = settings === null || settings === void 0 ? void 0 : settings.addEnableds) !== null && _a !== void 0 ? _a : false,
|
|
76
|
+
rangeSeparator: (settings === null || settings === void 0 ? void 0 : settings.rangeSeparator) || '-',
|
|
77
|
+
rangeSeparatorPath: settings === null || settings === void 0 ? void 0 : settings.rangeSeparatorPath,
|
|
77
78
|
rankingGroupIndex: settings === null || settings === void 0 ? void 0 : settings.rankingGroupIndex,
|
|
78
79
|
translate: settings === null || settings === void 0 ? void 0 : settings.translate,
|
|
79
80
|
};
|
|
@@ -91,3 +92,11 @@ function getRankingUIValues(values, addEnableds = false, rankingGroupIndex) {
|
|
|
91
92
|
enabled: addEnableds ? rankingValue.enabled : undefined
|
|
92
93
|
}));
|
|
93
94
|
}
|
|
95
|
+
function getRangeSeparator(settings) {
|
|
96
|
+
if (!isEmpty(settings.translate) && !isEmpty(settings.rangeSeparatorPath)) {
|
|
97
|
+
return settings.translate(settings.rangeSeparatorPath);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
return settings.rangeSeparator;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -2,5 +2,7 @@ import { II18nServiceTranslate } from "../../../globalization/interfaces/II18nSe
|
|
|
2
2
|
export interface IFUUIValueSettings {
|
|
3
3
|
addEnableds?: boolean;
|
|
4
4
|
rankingGroupIndex?: number;
|
|
5
|
+
rangeSeparator?: string;
|
|
6
|
+
rangeSeparatorPath?: string;
|
|
5
7
|
translate?: II18nServiceTranslate;
|
|
6
8
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qrvey/utils",
|
|
3
|
-
"version": "1.2.9-
|
|
3
|
+
"version": "1.2.9-39",
|
|
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",
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
"doxs": "doxdox './dist/**/*.js' --ignore './dist/cjs/**/*.js' --output README.md --layout markdown --package ./package.json",
|
|
12
12
|
"lint": "eslint src --quiet --exit-on-fatal-error --ext .ts,.js",
|
|
13
13
|
"lint-dev": "eslint src --debug --ext .ts,.tsx",
|
|
14
|
-
"publishing": "node ./scripts/prepare-publish && np",
|
|
15
|
-
"publishing-prerelease": "node ./scripts/prepare-publish && np --any-branch --tag=$npm_config_tag",
|
|
16
|
-
"publishing-
|
|
14
|
+
"publishing-old": "node ./scripts/prepare-publish && np",
|
|
15
|
+
"publishing-prerelease-old": "node ./scripts/prepare-publish && np --any-branch --tag=$npm_config_tag",
|
|
16
|
+
"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",
|
|
17
|
+
"publishing-beta-2": "node ./scripts/clean-build && node ./scripts/generating-docs && np --any-branch",
|
|
17
18
|
"test": "jest test",
|
|
18
19
|
"test:watch": "jest --watch test"
|
|
19
20
|
},
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Script for cleaning the project from temporary files and building a new bundle
|
|
3
|
+
* 1- Deleting some directories and files
|
|
4
|
+
* 2- Installing dependencies
|
|
5
|
+
* 3- Build a new bundle
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const fs = require('fs');
|
|
9
|
+
const util = require('util');
|
|
10
|
+
const childProcess = require('child_process');
|
|
11
|
+
const exec = util.promisify(childProcess.exec);
|
|
12
|
+
const proc = require('process');
|
|
13
|
+
const readline = require("readline");
|
|
14
|
+
const rl = readline.createInterface({
|
|
15
|
+
input: proc.stdin,
|
|
16
|
+
output: proc.stdout
|
|
17
|
+
});
|
|
18
|
+
const question = util.promisify(rl.question).bind(rl);
|
|
19
|
+
const { exit } = require('process');
|
|
20
|
+
|
|
21
|
+
async function execute(command) {
|
|
22
|
+
console.log(command);
|
|
23
|
+
const response = await exec(command);
|
|
24
|
+
if (response.error != null) {
|
|
25
|
+
throw new Error(response.error);
|
|
26
|
+
}
|
|
27
|
+
if (response.stderr != null && response.stderr !== '') {
|
|
28
|
+
console.error(response.stderr);
|
|
29
|
+
}
|
|
30
|
+
if (response.stdout != null && response.stdout !== '') {
|
|
31
|
+
console.log(response.stdout);
|
|
32
|
+
}
|
|
33
|
+
return response;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async function getPackageJson(settings) {
|
|
37
|
+
console.log('==>>> Opening package.json file...');
|
|
38
|
+
const packageJson = await fs.readFileSync(settings.packagePath, 'utf8');
|
|
39
|
+
const packageObject = JSON.parse(packageJson);
|
|
40
|
+
if (packageObject != null) {
|
|
41
|
+
console.log(`**** The current version is ${packageObject.version}`);
|
|
42
|
+
return packageObject.version;
|
|
43
|
+
}
|
|
44
|
+
return '';
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
async function getNewVersion() {
|
|
48
|
+
console.log('==>>> Checking the new version provided...');
|
|
49
|
+
let newVersion;
|
|
50
|
+
const versionIndex = proc.argv.findIndex(function (argv) { return argv.includes('--np-new-version='); });
|
|
51
|
+
if (versionIndex > -1) {
|
|
52
|
+
const versionArg = proc.argv[versionIndex].split('--np-new-version=');
|
|
53
|
+
newVersion = versionArg[1] == null || versionArg[1] === '' ? undefined : versionArg[1];
|
|
54
|
+
}
|
|
55
|
+
if (newVersion == null) {
|
|
56
|
+
newVersion = await question('No version provided. Type the new version: ');
|
|
57
|
+
}
|
|
58
|
+
console.log('**** Version to publish: ' + newVersion);
|
|
59
|
+
return newVersion;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async function startGeneratingDocs(settings) {
|
|
63
|
+
console.log('==>>> Starting the Docs generation');
|
|
64
|
+
|
|
65
|
+
await generatingDocument(settings);
|
|
66
|
+
await changingVersion(settings);
|
|
67
|
+
await pushingChanges(settings);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async function generatingDocument(settings) {
|
|
71
|
+
console.log('==>>> Generating Document...');
|
|
72
|
+
await execute(`doxdox './dist/**/*.js' --output ${settings.docsFileName} --ignore './dist/cjs/**/*.js' --package ${settings.packagePath} --layout markdown`);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async function changingVersion(settings) {
|
|
76
|
+
console.log('==>>> Replacing the old version in the document');
|
|
77
|
+
const doc = await fs.readFileSync(settings.docsPath, 'utf8');
|
|
78
|
+
const replacedDoc = doc.replace(settings.currentVersion, settings.newVersion);
|
|
79
|
+
await fs.writeFileSync(settings.docsPath, replacedDoc, 'utf8');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
async function pushingChanges(settings) {
|
|
83
|
+
console.log('==>>> Commiting and Pushing Docs changes...');
|
|
84
|
+
|
|
85
|
+
const gitStatus = await execute('git status -s');
|
|
86
|
+
console.log('gitStatus', gitStatus);
|
|
87
|
+
if (gitStatus.stdout !== '') {
|
|
88
|
+
const gitStdout = await execute('git rev-parse --abbrev-ref HEAD');
|
|
89
|
+
console.log('gitStdout', gitStdout);
|
|
90
|
+
await execute(`git add ${settings.docsPath}`);
|
|
91
|
+
await execute(`git commit -m "📝 docs: Updated docs${settings.newVersion != null || settings.newVersion !== '' ? ' for ' + settings.newVersion : ''}"`);
|
|
92
|
+
await execute(`git push -u origin ${gitStdout.stdout}`);
|
|
93
|
+
} else {
|
|
94
|
+
console.log('Nothing to Push');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
async function revertChanges(settings) {
|
|
99
|
+
console.log('>>> Checking for modifications...');
|
|
100
|
+
console.warn(`>>> Unstaging posible changes from ${settings.docsFileName} and ${settings.packageFileName} file`);
|
|
101
|
+
await execute(`git restore --staged ${settings.docsPath} ${settings.packagePath}`);
|
|
102
|
+
console.warn(`>>> Discarting posible changes of ${settings.docsFileName} and ${settings.packageFileName} file`);
|
|
103
|
+
await execute(`git checkout -- ${settings.docsPath} ${settings.packagePath}`);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
async function init() {
|
|
107
|
+
console.log('Generating Docs execution.');
|
|
108
|
+
let settings = {
|
|
109
|
+
currentVersion: '',
|
|
110
|
+
docsPath: './README.md',
|
|
111
|
+
docsFileName: 'README.md',
|
|
112
|
+
newVersion: undefined,
|
|
113
|
+
packageFileName: 'package.json',
|
|
114
|
+
packagePath: './package.json',
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
try {
|
|
118
|
+
settings["currentVersion"] = await getPackageJson(settings);
|
|
119
|
+
settings["newVersion"] = await getNewVersion();
|
|
120
|
+
|
|
121
|
+
await startGeneratingDocs(settings);
|
|
122
|
+
console.info('Docs were generated.');
|
|
123
|
+
} catch (err) {
|
|
124
|
+
console.error('Error: ', err);
|
|
125
|
+
await revertChanges(settings);
|
|
126
|
+
} finally {
|
|
127
|
+
console.log('Execution finished');
|
|
128
|
+
exit();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
init();
|
|
133
|
+
|
|
@@ -153,11 +153,17 @@ async function changingVersion(settings) {
|
|
|
153
153
|
async function pushingChanges(settings) {
|
|
154
154
|
console.log('==>>> Commiting and Pushing Docs changes...');
|
|
155
155
|
|
|
156
|
-
const
|
|
157
|
-
console.log('
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
156
|
+
const gitStatus = await execute('git status -s');
|
|
157
|
+
console.log('gitStatus', gitStatus);
|
|
158
|
+
if (gitStatus.stdout !== '') {
|
|
159
|
+
const gitStdout = await execute('git rev-parse --abbrev-ref HEAD');
|
|
160
|
+
console.log('gitStdout', gitStdout);
|
|
161
|
+
await execute(`git add ${settings.docsPath}`);
|
|
162
|
+
await execute(`git commit -m "📝 docs: Updated docs${settings.newVersion != null || settings.newVersion !== '' ? ' for ' + settings.newVersion : ''}"`);
|
|
163
|
+
await execute(`git push -u origin ${gitStdout.stdout}`);
|
|
164
|
+
} else {
|
|
165
|
+
console.log('Nothing to Push');
|
|
166
|
+
}
|
|
161
167
|
}
|
|
162
168
|
|
|
163
169
|
async function revertChanges(settings) {
|
|
@@ -179,7 +185,6 @@ async function init() {
|
|
|
179
185
|
packageFileName: 'package.json',
|
|
180
186
|
packageLockPath: './package-lock.json',
|
|
181
187
|
packagePath: './package.json',
|
|
182
|
-
|
|
183
188
|
};
|
|
184
189
|
|
|
185
190
|
console.log('Welcome. The publishing operationg will begin.');
|
|
@@ -25,7 +25,7 @@ export const DATE_REGULAR_EXPRESSION = {
|
|
|
25
25
|
SECOND: `^${YEAR_MONTH_NUMBER}/${MONTH_DAY}/${YEAR} ${DAY_TIME}$`,
|
|
26
26
|
MONTH_DAY: `^${MONTH_DAY}$`,
|
|
27
27
|
YEAR_MONTH: `^${YEAR_MONTH}$`,
|
|
28
|
-
YEAR_MONTH_NUMBER:
|
|
28
|
+
YEAR_MONTH_NUMBER: `^${YEAR_MONTH_NUMBER}$`,
|
|
29
29
|
YEAR_QUARTER: `^${YEAR_QUARTER}$`,
|
|
30
30
|
YEAR_WEEK: `^${YEAR_WEEK}$`,
|
|
31
31
|
DAY_HOUR: `^${DAY_HOUR}$`,
|
|
@@ -7,7 +7,7 @@ import { IDateFormat } from "../interfaces/IDateFormat";
|
|
|
7
7
|
* @returns a separator string
|
|
8
8
|
*/
|
|
9
9
|
export function getSeparatorByDateFormat(format: IDateFormat = DATE_FORMAT.DAY): string {
|
|
10
|
-
return format === DATE_FORMAT.YEAR || format === DATE_FORMAT.DAY_TIME || format === DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT.DAY_HOUR|| format === DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT.MINUTE_SECOND ? '' :
|
|
10
|
+
return format === DATE_FORMAT.YEAR || format === DATE_FORMAT.DAY_TIME || format === DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT.DAY_HOUR|| format === DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT.MINUTE_SECOND ? ' ' :
|
|
11
11
|
format === DATE_FORMAT.MONTH || format === DATE_FORMAT.QUARTER || format === DATE_FORMAT.WEEK || format === DATE_FORMAT.HOUR || format === DATE_FORMAT.MINUTE || format === DATE_FORMAT.SECOND ? ' ' :
|
|
12
12
|
'/';
|
|
13
13
|
}
|
|
@@ -14,7 +14,7 @@ import { validateDateByDateFormat } from "./validateDateByDateFormat";
|
|
|
14
14
|
* @param format String of the format to validate
|
|
15
15
|
* @returns True if it is valid or not. Undefined if date is undefined
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
export function validateDate(date: string, format: IDateFormat = DATE_FORMAT.DAY): boolean {
|
|
18
18
|
if (isEmpty(date)) return false;
|
|
19
19
|
if (isTokenLabel(date)) return true;
|
|
20
20
|
|
|
@@ -15,7 +15,7 @@ export function validateDateByDateFormat(date: string, dateFormat: IDateFormat =
|
|
|
15
15
|
const separator = getSeparatorByDateFormat(dateFormat);
|
|
16
16
|
const separatedDate = date.split(separator);
|
|
17
17
|
const regularExpression = getDateFormatRegularExpressionInArray(dateFormat);
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
if (regularExpression.length !== separatedDate.length) return false;
|
|
20
20
|
|
|
21
21
|
for (let i = 0; i < separatedDate.length; i++) {
|
|
@@ -15,11 +15,10 @@ import { IFUUIValueSettings } from "../../interfaces/ui/IFUUIValueSettings";
|
|
|
15
15
|
import { getI18nDateGroupLabel, IDateColumnPropertyType } from "../../..";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
* @param filter
|
|
20
|
-
* @param
|
|
21
|
-
* @
|
|
22
|
-
* @returns
|
|
18
|
+
* Gets the UI Values from the filter object
|
|
19
|
+
* @param filter The filter object
|
|
20
|
+
* @param settings configuration for this function
|
|
21
|
+
* @returns an array of values
|
|
23
22
|
*/
|
|
24
23
|
export function getUIValues(filter: IFSFilter, settings?: IFUUIValueSettings): IFUValue[] {
|
|
25
24
|
settings = getUiValuesSettings(settings);
|
|
@@ -43,7 +42,7 @@ export function getUIValues(filter: IFSFilter, settings?: IFUUIValueSettings): I
|
|
|
43
42
|
case FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
|
|
44
43
|
case FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
|
|
45
44
|
return (filter.values as IFSValueRange[]).map(value => ({
|
|
46
|
-
value: `${getValueLabel(value.min, filter, settings)}
|
|
45
|
+
value: `${getValueLabel(value.min, filter, settings)} ${getRangeSeparator(settings)} ${getValueLabel(value.max, filter, settings)}`,
|
|
47
46
|
enabled: settings.addEnableds ? value.enabled != null ? value.enabled : true : undefined,
|
|
48
47
|
}));
|
|
49
48
|
case FILTER_VALIDATOR.IS_NULL:
|
|
@@ -83,6 +82,8 @@ function getValueLabel(value, filter, settings: IFUUIValueSettings): string {
|
|
|
83
82
|
function getUiValuesSettings(settings: IFUUIValueSettings): IFUUIValueSettings {
|
|
84
83
|
return {
|
|
85
84
|
addEnableds: settings?.addEnableds ?? false,
|
|
85
|
+
rangeSeparator: settings?.rangeSeparator || '-',
|
|
86
|
+
rangeSeparatorPath: settings?.rangeSeparatorPath,
|
|
86
87
|
rankingGroupIndex: settings?.rankingGroupIndex,
|
|
87
88
|
translate: settings?.translate,
|
|
88
89
|
};
|
|
@@ -102,3 +103,11 @@ function getRankingUIValues(values: IFSValueRanking[][], addEnableds = false, ra
|
|
|
102
103
|
enabled: addEnableds ? rankingValue.enabled : undefined
|
|
103
104
|
}));
|
|
104
105
|
}
|
|
106
|
+
|
|
107
|
+
function getRangeSeparator(settings: IFUUIValueSettings): string {
|
|
108
|
+
if (!isEmpty(settings.translate) && !isEmpty(settings.rangeSeparatorPath)) {
|
|
109
|
+
return settings.translate(settings.rangeSeparatorPath);
|
|
110
|
+
} else {
|
|
111
|
+
return settings.rangeSeparator;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -3,5 +3,7 @@ import { II18nServiceTranslate } from "../../../globalization/interfaces/II18nSe
|
|
|
3
3
|
export interface IFUUIValueSettings {
|
|
4
4
|
addEnableds?: boolean;
|
|
5
5
|
rankingGroupIndex?: number;
|
|
6
|
+
rangeSeparator?: string; // The string to separate the min and max values from range validator
|
|
7
|
+
rangeSeparatorPath?: string; // Prioriteze over rangeSeparator. Path for translate the range separator
|
|
6
8
|
translate?: II18nServiceTranslate;
|
|
7
9
|
}
|