@libs-ui/utils 0.2.275 → 0.2.277
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/date.d.ts +3 -3
- package/esm2022/date.mjs +8 -18
- package/esm2022/format-text.mjs +86 -0
- package/esm2022/index.mjs +2 -1
- package/fesm2022/libs-ui-utils.mjs +92 -16
- package/fesm2022/libs-ui-utils.mjs.map +1 -1
- package/format-text.d.ts +6 -0
- package/index.d.ts +1 -0
- package/package.json +2 -2
package/date.d.ts
CHANGED
|
@@ -25,21 +25,21 @@ export declare const getDayjs: <T = dayjs.Dayjs | undefined>(config?: {
|
|
|
25
25
|
* @param date2 ngày thứ hai cần so sánh
|
|
26
26
|
* @returns true nếu hai ngày khác nhau, false nếu giống nhau hoặc không thể so sánh
|
|
27
27
|
*/
|
|
28
|
-
export declare const
|
|
28
|
+
export declare const isDifferenceDay: (date1: dayjs.ConfigType, date2: dayjs.ConfigType) => boolean;
|
|
29
29
|
/**
|
|
30
30
|
* @description Kiểm tra xem hai ngày có khác tháng không
|
|
31
31
|
* @param date1 ngày thứ nhất cần so sánh
|
|
32
32
|
* @param date2 ngày thứ hai cần so sánh
|
|
33
33
|
* @returns true nếu hai ngày khác tháng, false nếu cùng tháng hoặc không thể so sánh
|
|
34
34
|
*/
|
|
35
|
-
export declare const
|
|
35
|
+
export declare const isDifferenceMonth: (date1: dayjs.ConfigType, date2: dayjs.ConfigType) => boolean;
|
|
36
36
|
/**
|
|
37
37
|
* @description Kiểm tra xem hai ngày có khác năm không
|
|
38
38
|
* @param date1 ngày thứ nhất cần so sánh
|
|
39
39
|
* @param date2 ngày thứ hai cần so sánh
|
|
40
40
|
* @returns true nếu hai ngày khác năm, false nếu cùng năm hoặc không thể so sánh
|
|
41
41
|
*/
|
|
42
|
-
export declare const
|
|
42
|
+
export declare const isDifferenceYear: (date1: dayjs.ConfigType, date2: dayjs.ConfigType) => boolean;
|
|
43
43
|
/**
|
|
44
44
|
* @description Lấy ra chuỗi thời gian hiển thị theo định dạng và ngôn ngữ
|
|
45
45
|
* @param date thời gian cần định dạng
|
package/esm2022/date.mjs
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
+
import { isSignal } from '@angular/core';
|
|
1
2
|
import dayjs from 'dayjs';
|
|
2
3
|
import "dayjs/locale/en";
|
|
3
4
|
import "dayjs/locale/vi";
|
|
5
|
+
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
4
6
|
import localeData from "dayjs/plugin/localeData";
|
|
5
7
|
import timezone from "dayjs/plugin/timezone";
|
|
6
8
|
import updateLocale from 'dayjs/plugin/updateLocale';
|
|
7
|
-
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
8
9
|
import utc from "dayjs/plugin/utc";
|
|
9
10
|
import { UtilsCache } from './cache';
|
|
10
|
-
import { isSignal } from '@angular/core';
|
|
11
|
-
import { isNil } from './helpers';
|
|
12
11
|
dayjs.extend(localeData);
|
|
13
12
|
dayjs.extend(updateLocale);
|
|
14
13
|
dayjs.extend(utc);
|
|
@@ -73,15 +72,12 @@ export const getDayjs = (config) => {
|
|
|
73
72
|
* @param date2 ngày thứ hai cần so sánh
|
|
74
73
|
* @returns true nếu hai ngày khác nhau, false nếu giống nhau hoặc không thể so sánh
|
|
75
74
|
*/
|
|
76
|
-
export const
|
|
77
|
-
if (
|
|
75
|
+
export const isDifferenceDay = (date1, date2) => {
|
|
76
|
+
if (isDifferenceMonth(date1, date2)) {
|
|
78
77
|
return true;
|
|
79
78
|
}
|
|
80
79
|
const day1 = getDayjs({ date: date1 })?.day();
|
|
81
80
|
const day2 = getDayjs({ date: date2 })?.day();
|
|
82
|
-
if (isNil(day1) || isNil(day2)) {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
81
|
return day1 !== day2;
|
|
86
82
|
};
|
|
87
83
|
/**
|
|
@@ -90,15 +86,12 @@ export const isDiffenceDay = (date1, date2) => {
|
|
|
90
86
|
* @param date2 ngày thứ hai cần so sánh
|
|
91
87
|
* @returns true nếu hai ngày khác tháng, false nếu cùng tháng hoặc không thể so sánh
|
|
92
88
|
*/
|
|
93
|
-
export const
|
|
94
|
-
if (
|
|
89
|
+
export const isDifferenceMonth = (date1, date2) => {
|
|
90
|
+
if (isDifferenceYear(date1, date2)) {
|
|
95
91
|
return true;
|
|
96
92
|
}
|
|
97
93
|
const month1 = getDayjs({ date: date1 })?.month();
|
|
98
94
|
const month2 = getDayjs({ date: date2 })?.month();
|
|
99
|
-
if (isNil(month1) || isNil(month2)) {
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
95
|
return month1 !== month2;
|
|
103
96
|
};
|
|
104
97
|
/**
|
|
@@ -107,12 +100,9 @@ export const isDiffenceMonth = (date1, date2) => {
|
|
|
107
100
|
* @param date2 ngày thứ hai cần so sánh
|
|
108
101
|
* @returns true nếu hai ngày khác năm, false nếu cùng năm hoặc không thể so sánh
|
|
109
102
|
*/
|
|
110
|
-
export const
|
|
103
|
+
export const isDifferenceYear = (date1, date2) => {
|
|
111
104
|
const year1 = getDayjs({ date: date1 })?.year();
|
|
112
105
|
const year2 = getDayjs({ date: date2 })?.year();
|
|
113
|
-
if (isNil(year1) || isNil(year2)) {
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
106
|
return year1 !== year2;
|
|
117
107
|
};
|
|
118
108
|
/**
|
|
@@ -196,4 +186,4 @@ const getFormatData = (type, lang) => {
|
|
|
196
186
|
return 'HH:mm A';
|
|
197
187
|
}
|
|
198
188
|
};
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMtdWkvdXRpbHMvc3JjL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFnQixNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxVQUFVLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxZQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxpQkFBaUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3pCLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDM0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZCLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUMvQixJQUFJLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFVBQVUsR0FBRyxhQUFhLEVBQUUsRUFBRTtJQUMvRCxhQUFhLEdBQUcsVUFBVSxDQUFDO0lBQzNCLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQTtBQUdELElBQUksa0JBQWtC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J2RheWpzJztcbmltcG9ydCBcImRheWpzL2xvY2FsZS9lblwiO1xuaW1wb3J0IFwiZGF5anMvbG9jYWxlL3ZpXCI7XG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tIFwiZGF5anMvcGx1Z2luL2xvY2FsZURhdGFcIjtcbmltcG9ydCB0aW1lem9uZSBmcm9tIFwiZGF5anMvcGx1Z2luL3RpbWV6b25lXCI7XG5pbXBvcnQgdXBkYXRlTG9jYWxlIGZyb20gJ2RheWpzL3BsdWdpbi91cGRhdGVMb2NhbGUnO1xuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XG5pbXBvcnQgdXRjIGZyb20gXCJkYXlqcy9wbHVnaW4vdXRjXCI7XG5pbXBvcnQgeyBVdGlsc0NhY2hlIH0gZnJvbSAnLi9jYWNoZSc7XG5pbXBvcnQgeyBpc1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVFlQRV9PQkpFQ1QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi9oZWxwZXJzJztcbmRheWpzLmV4dGVuZChsb2NhbGVEYXRhKTtcbmRheWpzLmV4dGVuZCh1cGRhdGVMb2NhbGUpO1xuZGF5anMuZXh0ZW5kKHV0Yyk7XG5kYXlqcy5leHRlbmQodGltZXpvbmUpO1xuZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KVxubGV0IHRpbWVab25lU2V0dXAgPSBcIkFzaWEvSG9fQ2hpX01pbmhcIjtcblxuZXhwb3J0IGNvbnN0IHNldERlZmF1bHRUaW1lWm9uZSA9IChsb2NhbGVab25lID0gdGltZVpvbmVTZXR1cCkgPT4ge1xuICB0aW1lWm9uZVNldHVwID0gbG9jYWxlWm9uZTtcbiAgZGF5anMudHouc2V0RGVmYXVsdChsb2NhbGVab25lKTtcbn1cblxuZXhwb3J0IHR5cGUgVFlQRV9GVU5DVElPTl9GT1JNQVRfREFURSA9ICh0aW1lOiBkYXlqcy5Db25maWdUeXBlLCBmb3JtYXRPdXRwdXQ6IHN0cmluZywgbGFuZz86IHN0cmluZykgPT4gc3RyaW5nO1xubGV0IGZ1bmN0aW9uRm9ybWF0RGF0ZTogVFlQRV9GVU5DVElPTl9GT1JNQVRfREFURSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuXG5leHBvcnQgY29uc3QgdXBkYXRlRnVuY3Rpb25Gb3JtYXREYXRlID0gKGZ1bmN0aW9uQ3VzdG9tOiBUWVBFX0ZVTkNUSU9OX0ZPUk1BVF9EQVRFKSA9PiB7XG4gIGZ1bmN0aW9uRm9ybWF0RGF0ZSA9IGZ1bmN0aW9uQ3VzdG9tO1xufVxuLyoqXG4gICogQGRlc2NyaXB0aW9uIEzhuqV5IMSR4buRaSB0xrDhu6NuZyBkYXlqcyB0aGVvIGNvbmZpZ1xuICAqIEBwYXJhbSBjb25maWcgbuG6v3Uga2jDtG5nIGPDsyBjb25maWcgc+G6vSB0cuG6oyB24buBIMSR4buRaSB0xrDhu6NuZyBkYXlqcyBsw6AgdGjhu51pIGdpYW4gaGnhu4duIHThuqFpXG4gICogQHBhcmFtIGNvbmZpZy5kYXRlIHRo4budaSBnaWFuIGPhuqduIGzhuqV5XG4gICogQHBhcmFtIGNvbmZpZy5yZXR1cm5EYXlqc0lmQ29uZmlnRGF0ZU5vdEV4aXN0IHRydWUgbuG6v3UgbXXhu5FuIHRy4bqjIHbhu4EgxJHhu5FpIHTGsOG7o25nIGRheWpzIG7hur91IGNvbmZpZy5kYXRlIGtow7RuZyBjw7NcbiAgKiBAcGFyYW0gY29uZmlnLnV0YyB0cnVlIG7hur91IG114buRbiBs4bqleSB0aOG7nWkgZ2lhbiBVVENcbiAgKiBAcGFyYW0gY29uZmlnLmZvcm1hdE9mRGF0ZSDEkeG7i25oIGThuqFuZyB0aOG7nWkgZ2lhbiDEkWFuZyDEkcaw4bujYyB0cnV54buBbiB2w6BvXG4qL1xuZXhwb3J0IGNvbnN0IGdldERheWpzID0gPFQgPSBkYXlqcy5EYXlqcyB8IHVuZGVmaW5lZD4oY29uZmlnPzogeyBkYXRlPzogZGF5anMuQ29uZmlnVHlwZTsgdXRjPzogYm9vbGVhbjsgZm9ybWF0T2ZEYXRlPzogc3RyaW5nOyByZXR1cm5EYXlqc0lmQ29uZmlnRGF0ZU5vdEV4aXN0PzogYm9vbGVhbiwgbG9jYWxlWm9uZT86IHN0cmluZyB9KTogVCA9PiB7XG4gIGlmICghY29uZmlnKSB7XG4gICAgcmV0dXJuIGRheWpzKCkudHooKSBhcyBUO1xuICB9XG4gIGNvbmZpZy5kYXRlID0gIWNvbmZpZy5kYXRlICYmIGNvbmZpZy5yZXR1cm5EYXlqc0lmQ29uZmlnRGF0ZU5vdEV4aXN0ID8gZGF5anMoKS50eigpIDogY29uZmlnLmRhdGU7XG4gIGlmICh0eXBlb2YgY29uZmlnLmRhdGUgPT09ICdudW1iZXInKSB7XG4gICAgY29uZmlnLmRhdGUgPSBkYXlqcy51bml4KGNvbmZpZy5kYXRlKTtcbiAgfVxuICBpZiAoIWNvbmZpZy5kYXRlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBUO1xuICB9XG4gIGxldCB7IGRhdGUsIHV0YywgZm9ybWF0T2ZEYXRlIH0gPSBjb25maWcgYXMgVFlQRV9PQkpFQ1Q7XG5cbiAgd2hpbGUgKGlzU2lnbmFsKGRhdGUpKSB7XG4gICAgZGF0ZSA9IGRhdGUoKTtcbiAgfVxuICB3aGlsZSAoaXNTaWduYWwodXRjKSkge1xuICAgIHV0YyA9IHV0YygpO1xuICB9XG4gIHdoaWxlIChpc1NpZ25hbChmb3JtYXRPZkRhdGUpKSB7XG4gICAgZm9ybWF0T2ZEYXRlID0gZm9ybWF0T2ZEYXRlKCk7XG4gIH1cblxuICBpZiAodXRjKSB7XG4gICAgaWYgKGZvcm1hdE9mRGF0ZSkge1xuICAgICAgcmV0dXJuIGRheWpzKGRhdGUsIGZvcm1hdE9mRGF0ZSkudXRjKCkgYXMgVDtcbiAgICB9XG4gICAgY29uc3QgZGF0ZUlucHV0SXNVVEMgPSAodHlwZW9mIGRhdGUgPT09ICdvYmplY3QnICYmIChkYXRlIGFzIERheWpzKS5pc1VUQygpKSB8fCAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnICYmIChkYXRlIGFzIHN0cmluZykuaW5jbHVkZXMoJ1onKSk7XG5cbiAgICBpZiAoZGF0ZUlucHV0SXNVVEMpIHtcbiAgICAgIHJldHVybiBkYXlqcyhkYXRlKSBhcyBUO1xuICAgIH1cblxuICAgIHJldHVybiBkYXlqcyhkYXRlKS51dGMoKSBhcyBUO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJyAmJiAhKGRhdGUgYXMgc3RyaW5nKS5pbmNsdWRlcygnWicpICYmICEoZGF0ZSBhcyBzdHJpbmcpLmluY2x1ZGVzKCcrJykpIHtcbiAgICByZXR1cm4gKGZvcm1hdE9mRGF0ZSA/IGRheWpzLnR6KGRhdGUsIGZvcm1hdE9mRGF0ZSwgY29uZmlnLmxvY2FsZVpvbmUgfHwgdGltZVpvbmVTZXR1cCkgOiBkYXlqcy50eihkYXRlLCBjb25maWcubG9jYWxlWm9uZSB8fCB0aW1lWm9uZVNldHVwKSkgYXMgVDtcbiAgfVxuXG4gIHJldHVybiAoZm9ybWF0T2ZEYXRlID8gZGF5anMoZGF0ZSwgZm9ybWF0T2ZEYXRlKSA6IGRheWpzKGRhdGUpKS50eigpIGFzIFQ7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEtp4buDbSB0cmEgeGVtIGhhaSBuZ8OgeSBjw7Mga2jDoWMgbmhhdSBraMO0bmcgKGtow6FjIG5nw6B5IHRyb25nIHR14bqnbilcbiAqIEBwYXJhbSBkYXRlMSBuZ8OgeSB0aOG7qSBuaOG6pXQgY+G6p24gc28gc8OhbmhcbiAqIEBwYXJhbSBkYXRlMiBuZ8OgeSB0aOG7qSBoYWkgY+G6p24gc28gc8OhbmhcbiAqIEByZXR1cm5zIHRydWUgbuG6v3UgaGFpIG5nw6B5IGtow6FjIG5oYXUsIGZhbHNlIG7hur91IGdp4buRbmcgbmhhdSBob+G6t2Mga2jDtG5nIHRo4buDIHNvIHPDoW5oXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RpZmZlbmNlRGF5ID0gKGRhdGUxOiBkYXlqcy5Db25maWdUeXBlLCBkYXRlMjogZGF5anMuQ29uZmlnVHlwZSkgPT4ge1xuICBpZiAoaXNEaWZmZW5jZU1vbnRoKGRhdGUxLCBkYXRlMikpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBkYXkxID0gZ2V0RGF5anM8RGF5anM+KHsgZGF0ZTogZGF0ZTEgfSk/LmRheSgpO1xuICBjb25zdCBkYXkyID0gZ2V0RGF5anM8RGF5anM+KHsgZGF0ZTogZGF0ZTIgfSk/LmRheSgpO1xuICBpZiAoaXNOaWwoZGF5MSkgfHwgaXNOaWwoZGF5MikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGRheTEgIT09IGRheTI7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEtp4buDbSB0cmEgeGVtIGhhaSBuZ8OgeSBjw7Mga2jDoWMgdGjDoW5nIGtow7RuZ1xuICogQHBhcmFtIGRhdGUxIG5nw6B5IHRo4bupIG5o4bqldCBj4bqnbiBzbyBzw6FuaFxuICogQHBhcmFtIGRhdGUyIG5nw6B5IHRo4bupIGhhaSBj4bqnbiBzbyBzw6FuaFxuICogQHJldHVybnMgdHJ1ZSBu4bq/dSBoYWkgbmfDoHkga2jDoWMgdGjDoW5nLCBmYWxzZSBu4bq/dSBjw7luZyB0aMOhbmcgaG/hurdjIGtow7RuZyB0aOG7gyBzbyBzw6FuaFxuICovXG5leHBvcnQgY29uc3QgaXNEaWZmZW5jZU1vbnRoID0gKGRhdGUxOiBkYXlqcy5Db25maWdUeXBlLCBkYXRlMjogZGF5anMuQ29uZmlnVHlwZSkgPT4ge1xuICBpZiAoaXNEaWZmZW5jZVllYXIoZGF0ZTEsIGRhdGUyKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IG1vbnRoMSA9IGdldERheWpzPERheWpzPih7IGRhdGU6IGRhdGUxIH0pPy5tb250aCgpO1xuICBjb25zdCBtb250aDIgPSBnZXREYXlqczxEYXlqcz4oeyBkYXRlOiBkYXRlMiB9KT8ubW9udGgoKTtcbiAgaWYgKGlzTmlsKG1vbnRoMSkgfHwgaXNOaWwobW9udGgyKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gbW9udGgxICE9PSBtb250aDI7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEtp4buDbSB0cmEgeGVtIGhhaSBuZ8OgeSBjw7Mga2jDoWMgbsSDbSBraMO0bmdcbiAqIEBwYXJhbSBkYXRlMSBuZ8OgeSB0aOG7qSBuaOG6pXQgY+G6p24gc28gc8OhbmhcbiAqIEBwYXJhbSBkYXRlMiBuZ8OgeSB0aOG7qSBoYWkgY+G6p24gc28gc8OhbmhcbiAqIEByZXR1cm5zIHRydWUgbuG6v3UgaGFpIG5nw6B5IGtow6FjIG7Eg20sIGZhbHNlIG7hur91IGPDuW5nIG7Eg20gaG/hurdjIGtow7RuZyB0aOG7gyBzbyBzw6FuaFxuICovXG5leHBvcnQgY29uc3QgaXNEaWZmZW5jZVllYXIgPSAoZGF0ZTE6IGRheWpzLkNvbmZpZ1R5cGUsIGRhdGUyOiBkYXlqcy5Db25maWdUeXBlKSA9PiB7XG4gIGNvbnN0IHllYXIxID0gZ2V0RGF5anM8RGF5anM+KHsgZGF0ZTogZGF0ZTEgfSk/LnllYXIoKTtcbiAgY29uc3QgeWVhcjIgPSBnZXREYXlqczxEYXlqcz4oeyBkYXRlOiBkYXRlMiB9KT8ueWVhcigpO1xuICBpZiAoaXNOaWwoeWVhcjEpIHx8IGlzTmlsKHllYXIyKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4geWVhcjEgIT09IHllYXIyO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBM4bqleSByYSBjaHXhu5dpIHRo4budaSBnaWFuIGhp4buDbiB0aOG7iyB0aGVvIMSR4buLbmggZOG6oW5nIHbDoCBuZ8O0biBuZ+G7r1xuICogQHBhcmFtIGRhdGUgdGjhu51pIGdpYW4gY+G6p24gxJHhu4tuaCBk4bqhbmdcbiAqIEBwYXJhbSBmb3JtYXQgxJHhu4tuaCBk4bqhbmcgdGjhu51pIGdpYW4gbXXhu5FuIGzhuqV5IHJhXG4gKiBAcGFyYW0gbGFuZyBs4bqleSB0aGVvIG5nw7RuIG5n4buvXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JtYXREYXRlID0gKGRhdGU6IGRheWpzLkNvbmZpZ1R5cGUsIGZvcm1hdE91dHB1dCA9ICdZWVlZL01NL0REIEhIOm1tJywgbGFuZz86IHN0cmluZywgZm9ybWF0SW5wdXQ/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAoIWRhdGUpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgbGFuZyA9IGxhbmcgfHwgVXRpbHNDYWNoZS5nZXRMYW5nKCkgYXMgc3RyaW5nO1xuICBpZiAoZnVuY3Rpb25Gb3JtYXREYXRlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uRm9ybWF0RGF0ZShkYXRlLCBmb3JtYXRPdXRwdXQsIGxhbmcpO1xuICB9XG5cbiAgZGF0ZSA9IGdldERheWpzPERheWpzPih7IGRhdGUsIGZvcm1hdE9mRGF0ZTogZm9ybWF0SW5wdXQgfSkubG9jYWxlKGxhbmcpO1xuICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgIGRheWpzLnVwZGF0ZUxvY2FsZSgndmknLCB7XG4gICAgICBtb250aHNTaG9ydDogJ1RoZyAxX1RoZyAyX1RoZyAzX1RoZyA0X1RoZyA1X1RoZyA2X1RoZyA3X1RoZyA4X1RoZyA5X1RoZyAxMF9UaGcgMTFfVGhnIDEyJy5zcGxpdCgnXycpXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZGF0ZS5mb3JtYXQoZ2V0Rm9ybWF0RGF0YShnZXRUeXBlQnlGb3JtYXQoZm9ybWF0T3V0cHV0KSwgbGFuZykpIHx8ICcnO1xufVxuXG5jb25zdCBnZXRUeXBlQnlGb3JtYXQgPSAoZm9ybWF0OiBzdHJpbmcpOiAnZG0nIHwgJ2RteScgfCAnZG15IGhtJyB8ICdteScgfCAnZG15IGhtcycgfCAnaGg6bW0nIHwgJ0hIOm1tJyB8ICdoaDptbSBBJyB8ICdISDptbSBBJyA9PiB7XG4gIGlmIChmb3JtYXQgPT09ICdkbScgfHwgZm9ybWF0ID09PSAnZG15JyB8fCBmb3JtYXQgPT09ICdkbXkgaG0nIHx8IGZvcm1hdCA9PT0gJ215Jykge1xuICAgIHJldHVybiBmb3JtYXQ7XG4gIH1cblxuICBpZiAoZm9ybWF0ID09PSAnREQvTU0vWVlZWScgfHwgZm9ybWF0ID09PSAnWVlZWS1NTS1ERCcgfHwgZm9ybWF0ID09PSAnZGQvTU0veXl5eScgfHwgZm9ybWF0ID09PSAnZGQtTU0teXl5eScgfHwgZm9ybWF0ID09PSAnZGQvbW0veXl5eScpIHtcbiAgICByZXR1cm4gJ2RteSc7XG4gIH1cblxuICBpZiAoZm9ybWF0ID09PSAnTU0tREQnIHx8IGZvcm1hdCA9PT0gJ2RkL01NJyB8fCBmb3JtYXQgPT09ICdkZC9tbScpIHtcbiAgICByZXR1cm4gJ2RtJztcbiAgfVxuXG4gIGlmIChmb3JtYXQgPT09ICdNL1lZWVknIHx8IGZvcm1hdCA9PT0gJ1lZWVktTU0nIHx8IGZvcm1hdCA9PT0gJ01NL3l5eXknKSB7XG4gICAgcmV0dXJuICdteSc7XG4gIH1cblxuICBpZiAoZm9ybWF0ID09PSAnWVlZWS9NTS9ERCBoaDptbTpzcycgfHwgZm9ybWF0ID09PSAnZG15IGhtcycgfHwgZm9ybWF0ID09PSAnZGQvbW0veXl5eSBoaDptbTpzcycpIHtcbiAgICByZXR1cm4gJ2RteSBobXMnO1xuICB9XG5cbiAgaWYgKGZvcm1hdCA9PT0gJ2hoOm1tJyB8fCBmb3JtYXQgPT09ICdISDptbScpIHtcbiAgICByZXR1cm4gJ2hoOm1tJztcbiAgfVxuXG4gIGlmIChmb3JtYXQgPT09ICdoaDptbSBBJyB8fCBmb3JtYXQgPT09ICdISDptbSBBJykge1xuICAgIHJldHVybiAnaGg6bW0gQSc7XG4gIH1cblxuICByZXR1cm4gJ2RteSBobSc7XG59O1xuXG5jb25zdCBnZXRGb3JtYXREYXRhID0gKHR5cGU6ICdkbScgfCAnZG15JyB8ICdkbXkgaG0nIHwgJ215JyB8ICdkbXkgaG1zJyB8ICdoaDptbScgfCAnaGg6bW0gQScgfCAnSEg6bW0nIHwgJ0hIOm1tIEEnLCBsYW5nOiBzdHJpbmcpID0+IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnZG0nOlxuICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgcmV0dXJuICdEIE1NTSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnTU1NIEQnO1xuXG4gICAgY2FzZSAnZG15JzpcbiAgICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICAgIHJldHVybiAnRCBNTU0sIFlZWVknO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ01NTSBELCBZWVlZJztcblxuICAgIGNhc2UgJ2RteSBobSc6XG4gICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICByZXR1cm4gJ0QgTU1NLCBZWVlZIEhIOm1tJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdNTU0gRCwgWVlZWSBISDptbSc7XG5cbiAgICBjYXNlICdteSc6XG4gICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICByZXR1cm4gJ01NTSwgWVlZWSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnTU1NIFlZWVkgJztcblxuICAgIGNhc2UgJ2RteSBobXMnOlxuICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgcmV0dXJuICdEIE1NTSwgWVlZWSBISDptbTpzcyc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnTU1NIEQsIFlZWVkgSEg6bW06c3MnO1xuXG4gICAgY2FzZSAnaGg6bW0nOlxuICAgIGNhc2UgJ0hIOm1tJzpcbiAgICAgIHJldHVybiAnSEg6bW0nO1xuXG4gICAgY2FzZSAnaGg6bW0gQSc6XG4gICAgY2FzZSAnSEg6bW0gQSc6XG4gICAgICByZXR1cm4gJ0hIOm1tIEEnO1xuICB9XG59O1xuIl19
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMtdWkvdXRpbHMvc3JjL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sVUFBVSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sWUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN6QixLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzNCLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QixLQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFDL0IsSUFBSSxhQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsYUFBYSxFQUFFLEVBQUU7SUFDL0QsYUFBYSxHQUFHLFVBQVUsQ0FBQztJQUMzQixLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUE7QUFHRCxJQUFJLGtCQUFrQixHQUEwQyxTQUFTLENBQUM7QUFHMUUsTUFBTSxDQUFDLE1BQU0sd0JB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QUFLLElBQUksRUFBRSxDQUFDO2dCQUNsQixPQUFPLGFBQWEsQ0FBQztZQUN2QixDQUFDO1lBRUQsT0FBTyxhQUFhLENBQUM7UUFFdkIsS0FBSyxRQUFRO1lBQ1gsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sbUJBQW1CLENBQUM7WUFDN0IsQ0FBQztZQUVELE9BQU8sbUJBQW1CLENBQUM7UUFFN0IsS0FBSyxJQUFJO1lBQ1AsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sV0FBVyxDQUFDO1lBQ3JCLENBQUM7WUFFRCxPQUFPLFdBQVcsQ0FBQztRQUVyQixLQUFLLFNBQVM7WUFDWixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxzQkFBc0IsQ0FBQztZQUNoQyxDQUFDO1lBRUQsT0FBTyxzQkFBc0IsQ0FBQztRQUVoQyxLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssT0FBTztZQUNWLE9BQU8sT0FBTyxDQUFDO1FBRWpCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxTQUFTO1lBQ1osT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUWVBFX09CSkVDVCB9IGZyb20gJ0BsaWJzLXVpL2ludGVyZmFjZXMtdHlwZXMnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IFwiZGF5anMvbG9jYWxlL2VuXCI7XG5pbXBvcnQgXCJkYXlqcy9sb2NhbGUvdmlcIjtcbmltcG9ydCBjdXN0b21QYXJzZUZvcm1hdCBmcm9tICdkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXQnO1xuaW1wb3J0IGxvY2FsZURhdGEgZnJvbSBcImRheWpzL3BsdWdpbi9sb2NhbGVEYXRhXCI7XG5pbXBvcnQgdGltZXpvbmUgZnJvbSBcImRheWpzL3BsdWdpbi90aW1lem9uZVwiO1xuaW1wb3J0IHVwZGF0ZUxvY2FsZSBmcm9tICdkYXlqcy9wbHVnaW4vdXBkYXRlTG9jYWxlJztcbmltcG9ydCB1dGMgZnJvbSBcImRheWpzL3BsdWdpbi91dGNcIjtcbmltcG9ydCB7IFV0aWxzQ2FjaGUgfSBmcm9tICcuL2NhY2hlJztcbmRheWpzLmV4dGVuZChsb2NhbGVEYXRhKTtcbmRheWpzLmV4dGVuZCh1cGRhdGVMb2NhbGUpO1xuZGF5anMuZXh0ZW5kKHV0Yyk7XG5kYXlqcy5leHRlbmQodGltZXpvbmUpO1xuZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KVxubGV0IHRpbWVab25lU2V0dXAgPSBcIkFzaWEvSG9fQ2hpX01pbmhcIjtcblxuZXhwb3J0IGNvbnN0IHNldERlZmF1bHRUaW1lWm9uZSA9IChsb2NhbGVab25lID0gdGltZVpvbmVTZXR1cCkgPT4ge1xuICB0aW1lWm9uZVNldHVwID0gbG9jYWxlWm9uZTtcbiAgZGF5anMudHouc2V0RGVmYXVsdChsb2NhbGVab25lKTtcbn1cblxuZXhwb3J0IHR5cGUgVFlQRV9GVU5DVElPTl9GT1JNQVRfREFURSA9ICh0aW1lOiBkYXlqcy5Db25maWdUeXBlLCBmb3JtYXRPdXRwdXQ6IHN0cmluZywgbGFuZz86IHN0cmluZykgPT4gc3RyaW5nO1xubGV0IGZ1bmN0aW9uRm9ybWF0RGF0ZTogVFlQRV9GVU5DVElPTl9GT1JNQVRfREFURSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuXG5leHBvcnQgY29uc3QgdXBkYXRlRnVuY3Rpb25Gb3JtYXREYXRlID0gKGZ1bmN0aW9uQ3VzdG9tOiBUWVBFX0ZVTkNUSU9OX0ZPUk1BVF9EQVRFKSA9PiB7XG4gIGZ1bmN0aW9uRm9ybWF0RGF0ZSA9IGZ1bmN0aW9uQ3VzdG9tO1xufVxuLyoqXG4gICogQGRlc2NyaXB0aW9uIEzhuqV5IMSR4buRaSB0xrDhu6NuZyBkYXlqcyB0aGVvIGNvbmZpZ1xuICAqIEBwYXJhbSBjb25maWcgbuG6v3Uga2jDtG5nIGPDsyBjb25maWcgc+G6vSB0cuG6oyB24buBIMSR4buRaSB0xrDhu6NuZyBkYXlqcyBsw6AgdGjhu51pIGdpYW4gaGnhu4duIHThuqFpXG4gICogQHBhcmFtIGNvbmZpZy5kYXRlIHRo4budaSBnaWFuIGPhuqduIGzhuqV5XG4gICogQHBhcmFtIGNvbmZpZy5yZXR1cm5EYXlqc0lmQ29uZmlnRGF0ZU5vdEV4aXN0IHRydWUgbuG6v3UgbXXhu5FuIHRy4bqjIHbhu4EgxJHhu5FpIHTGsOG7o25nIGRheWpzIG7hur91IGNvbmZpZy5kYXRlIGtow7RuZyBjw7NcbiAgKiBAcGFyYW0gY29uZmlnLnV0YyB0cnVlIG7hur91IG114buRbiBs4bqleSB0aOG7nWkgZ2lhbiBVVENcbiAgKiBAcGFyYW0gY29uZmlnLmZvcm1hdE9mRGF0ZSDEkeG7i25oIGThuqFuZyB0aOG7nWkgZ2lhbiDEkWFuZyDEkcaw4bujYyB0cnV54buBbiB2w6BvXG4qL1xuZXhwb3J0IGNvbnN0IGdldERheWpzID0gPFQgPSBkYXlqcy5EYXlqcyB8IHVuZGVmaW5lZD4oY29uZmlnPzogeyBkYXRlPzogZGF5anMuQ29uZmlnVHlwZTsgdXRjPzogYm9vbGVhbjsgZm9ybWF0T2ZEYXRlPzogc3RyaW5nOyByZXR1cm5EYXlqc0lmQ29uZmlnRGF0ZU5vdEV4aXN0PzogYm9vbGVhbiwgbG9jYWxlWm9uZT86IHN0cmluZyB9KTogVCA9PiB7XG4gIGlmICghY29uZmlnKSB7XG4gICAgcmV0dXJuIGRheWpzKCkudHooKSBhcyBUO1xuICB9XG4gIGNvbmZpZy5kYXRlID0gIWNvbmZpZy5kYXRlICYmIGNvbmZpZy5yZXR1cm5EYXlqc0lmQ29uZmlnRGF0ZU5vdEV4aXN0ID8gZGF5anMoKS50eigpIDogY29uZmlnLmRhdGU7XG4gIGlmICh0eXBlb2YgY29uZmlnLmRhdGUgPT09ICdudW1iZXInKSB7XG4gICAgY29uZmlnLmRhdGUgPSBkYXlqcy51bml4KGNvbmZpZy5kYXRlKTtcbiAgfVxuICBpZiAoIWNvbmZpZy5kYXRlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBUO1xuICB9XG4gIGxldCB7IGRhdGUsIHV0YywgZm9ybWF0T2ZEYXRlIH0gPSBjb25maWcgYXMgVFlQRV9PQkpFQ1Q7XG5cbiAgd2hpbGUgKGlzU2lnbmFsKGRhdGUpKSB7XG4gICAgZGF0ZSA9IGRhdGUoKTtcbiAgfVxuICB3aGlsZSAoaXNTaWduYWwodXRjKSkge1xuICAgIHV0YyA9IHV0YygpO1xuICB9XG4gIHdoaWxlIChpc1NpZ25hbChmb3JtYXRPZkRhdGUpKSB7XG4gICAgZm9ybWF0T2ZEYXRlID0gZm9ybWF0T2ZEYXRlKCk7XG4gIH1cblxuICBpZiAodXRjKSB7XG4gICAgaWYgKGZvcm1hdE9mRGF0ZSkge1xuICAgICAgcmV0dXJuIGRheWpzKGRhdGUsIGZvcm1hdE9mRGF0ZSkudXRjKCkgYXMgVDtcbiAgICB9XG4gICAgY29uc3QgZGF0ZUlucHV0SXNVVEMgPSAodHlwZW9mIGRhdGUgPT09ICdvYmplY3QnICYmIChkYXRlIGFzIERheWpzKS5pc1VUQygpKSB8fCAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnICYmIChkYXRlIGFzIHN0cmluZykuaW5jbHVkZXMoJ1onKSk7XG5cbiAgICBpZiAoZGF0ZUlucHV0SXNVVEMpIHtcbiAgICAgIHJldHVybiBkYXlqcyhkYXRlKSBhcyBUO1xuICAgIH1cblxuICAgIHJldHVybiBkYXlqcyhkYXRlKS51dGMoKSBhcyBUO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJyAmJiAhKGRhdGUgYXMgc3RyaW5nKS5pbmNsdWRlcygnWicpICYmICEoZGF0ZSBhcyBzdHJpbmcpLmluY2x1ZGVzKCcrJykpIHtcbiAgICByZXR1cm4gKGZvcm1hdE9mRGF0ZSA/IGRheWpzLnR6KGRhdGUsIGZvcm1hdE9mRGF0ZSwgY29uZmlnLmxvY2FsZVpvbmUgfHwgdGltZVpvbmVTZXR1cCkgOiBkYXlqcy50eihkYXRlLCBjb25maWcubG9jYWxlWm9uZSB8fCB0aW1lWm9uZVNldHVwKSkgYXMgVDtcbiAgfVxuXG4gIHJldHVybiAoZm9ybWF0T2ZEYXRlID8gZGF5anMoZGF0ZSwgZm9ybWF0T2ZEYXRlKSA6IGRheWpzKGRhdGUpKS50eigpIGFzIFQ7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEtp4buDbSB0cmEgeGVtIGhhaSBuZ8OgeSBjw7Mga2jDoWMgbmhhdSBraMO0bmcgKGtow6FjIG5nw6B5IHRyb25nIHR14bqnbilcbiAqIEBwYXJhbSBkYXRlMSBuZ8OgeSB0aOG7qSBuaOG6pXQgY+G6p24gc28gc8OhbmhcbiAqIEBwYXJhbSBkYXRlMiBuZ8OgeSB0aOG7qSBoYWkgY+G6p24gc28gc8OhbmhcbiAqIEByZXR1cm5zIHRydWUgbuG6v3UgaGFpIG5nw6B5IGtow6FjIG5oYXUsIGZhbHNlIG7hur91IGdp4buRbmcgbmhhdSBob+G6t2Mga2jDtG5nIHRo4buDIHNvIHPDoW5oXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RpZmZlcmVuY2VEYXkgPSAoZGF0ZTE6IGRheWpzLkNvbmZpZ1R5cGUsIGRhdGUyOiBkYXlqcy5Db25maWdUeXBlKSA9PiB7XG4gIGlmIChpc0RpZmZlcmVuY2VNb250aChkYXRlMSwgZGF0ZTIpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgY29uc3QgZGF5MSA9IGdldERheWpzPERheWpzPih7IGRhdGU6IGRhdGUxIH0pPy5kYXkoKTtcbiAgY29uc3QgZGF5MiA9IGdldERheWpzPERheWpzPih7IGRhdGU6IGRhdGUyIH0pPy5kYXkoKTtcbiAgXG4gIHJldHVybiBkYXkxICE9PSBkYXkyO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBLaeG7g20gdHJhIHhlbSBoYWkgbmfDoHkgY8OzIGtow6FjIHRow6FuZyBraMO0bmdcbiAqIEBwYXJhbSBkYXRlMSBuZ8OgeSB0aOG7qSBuaOG6pXQgY+G6p24gc28gc8OhbmhcbiAqIEBwYXJhbSBkYXRlMiBuZ8OgeSB0aOG7qSBoYWkgY+G6p24gc28gc8OhbmhcbiAqIEByZXR1cm5zIHRydWUgbuG6v3UgaGFpIG5nw6B5IGtow6FjIHRow6FuZywgZmFsc2UgbuG6v3UgY8O5bmcgdGjDoW5nIGhv4bq3YyBraMO0bmcgdGjhu4Mgc28gc8OhbmhcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRGlmZmVyZW5jZU1vbnRoID0gKGRhdGUxOiBkYXlqcy5Db25maWdUeXBlLCBkYXRlMjogZGF5anMuQ29uZmlnVHlwZSkgPT4ge1xuICBpZiAoaXNEaWZmZXJlbmNlWWVhcihkYXRlMSwgZGF0ZTIpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgY29uc3QgbW9udGgxID0gZ2V0RGF5anM8RGF5anM+KHsgZGF0ZTogZGF0ZTEgfSk/Lm1vbnRoKCk7XG4gIGNvbnN0IG1vbnRoMiA9IGdldERheWpzPERheWpzPih7IGRhdGU6IGRhdGUyIH0pPy5tb250aCgpO1xuXG4gIHJldHVybiBtb250aDEgIT09IG1vbnRoMjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gS2nhu4NtIHRyYSB4ZW0gaGFpIG5nw6B5IGPDsyBraMOhYyBuxINtIGtow7RuZ1xuICogQHBhcmFtIGRhdGUxIG5nw6B5IHRo4bupIG5o4bqldCBj4bqnbiBzbyBzw6FuaFxuICogQHBhcmFtIGRhdGUyIG5nw6B5IHRo4bupIGhhaSBj4bqnbiBzbyBzw6FuaFxuICogQHJldHVybnMgdHJ1ZSBu4bq/dSBoYWkgbmfDoHkga2jDoWMgbsSDbSwgZmFsc2UgbuG6v3UgY8O5bmcgbsSDbSBob+G6t2Mga2jDtG5nIHRo4buDIHNvIHPDoW5oXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RpZmZlcmVuY2VZZWFyID0gKGRhdGUxOiBkYXlqcy5Db25maWdUeXBlLCBkYXRlMjogZGF5anMuQ29uZmlnVHlwZSkgPT4ge1xuICBjb25zdCB5ZWFyMSA9IGdldERheWpzPERheWpzPih7IGRhdGU6IGRhdGUxIH0pPy55ZWFyKCk7XG4gIGNvbnN0IHllYXIyID0gZ2V0RGF5anM8RGF5anM+KHsgZGF0ZTogZGF0ZTIgfSk/LnllYXIoKTtcblxuICByZXR1cm4geWVhcjEgIT09IHllYXIyO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBM4bqleSByYSBjaHXhu5dpIHRo4budaSBnaWFuIGhp4buDbiB0aOG7iyB0aGVvIMSR4buLbmggZOG6oW5nIHbDoCBuZ8O0biBuZ+G7r1xuICogQHBhcmFtIGRhdGUgdGjhu51pIGdpYW4gY+G6p24gxJHhu4tuaCBk4bqhbmdcbiAqIEBwYXJhbSBmb3JtYXQgxJHhu4tuaCBk4bqhbmcgdGjhu51pIGdpYW4gbXXhu5FuIGzhuqV5IHJhXG4gKiBAcGFyYW0gbGFuZyBs4bqleSB0aGVvIG5nw7RuIG5n4buvXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JtYXREYXRlID0gKGRhdGU6IGRheWpzLkNvbmZpZ1R5cGUsIGZvcm1hdE91dHB1dCA9ICdZWVlZL01NL0REIEhIOm1tJywgbGFuZz86IHN0cmluZywgZm9ybWF0SW5wdXQ/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAoIWRhdGUpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgbGFuZyA9IGxhbmcgfHwgVXRpbHNDYWNoZS5nZXRMYW5nKCkgYXMgc3RyaW5nO1xuICBpZiAoZnVuY3Rpb25Gb3JtYXREYXRlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uRm9ybWF0RGF0ZShkYXRlLCBmb3JtYXRPdXRwdXQsIGxhbmcpO1xuICB9XG5cbiAgZGF0ZSA9IGdldERheWpzPERheWpzPih7IGRhdGUsIGZvcm1hdE9mRGF0ZTogZm9ybWF0SW5wdXQgfSkubG9jYWxlKGxhbmcpO1xuICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgIGRheWpzLnVwZGF0ZUxvY2FsZSgndmknLCB7XG4gICAgICBtb250aHNTaG9ydDogJ1RoZyAxX1RoZyAyX1RoZyAzX1RoZyA0X1RoZyA1X1RoZyA2X1RoZyA3X1RoZyA4X1RoZyA5X1RoZyAxMF9UaGcgMTFfVGhnIDEyJy5zcGxpdCgnXycpXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZGF0ZS5mb3JtYXQoZ2V0Rm9ybWF0RGF0YShnZXRUeXBlQnlGb3JtYXQoZm9ybWF0T3V0cHV0KSwgbGFuZykpIHx8ICcnO1xufVxuXG5jb25zdCBnZXRUeXBlQnlGb3JtYXQgPSAoZm9ybWF0OiBzdHJpbmcpOiAnZG0nIHwgJ2RteScgfCAnZG15IGhtJyB8ICdteScgfCAnZG15IGhtcycgfCAnaGg6bW0nIHwgJ0hIOm1tJyB8ICdoaDptbSBBJyB8ICdISDptbSBBJyA9PiB7XG4gIGlmIChmb3JtYXQgPT09ICdkbScgfHwgZm9ybWF0ID09PSAnZG15JyB8fCBmb3JtYXQgPT09ICdkbXkgaG0nIHx8IGZvcm1hdCA9PT0gJ215Jykge1xuICAgIHJldHVybiBmb3JtYXQ7XG4gIH1cblxuICBpZiAoZm9ybWF0ID09PSAnREQvTU0vWVlZWScgfHwgZm9ybWF0ID09PSAnWVlZWS1NTS1ERCcgfHwgZm9ybWF0ID09PSAnZGQvTU0veXl5eScgfHwgZm9ybWF0ID09PSAnZGQtTU0teXl5eScgfHwgZm9ybWF0ID09PSAnZGQvbW0veXl5eScpIHtcbiAgICByZXR1cm4gJ2RteSc7XG4gIH1cblxuICBpZiAoZm9ybWF0ID09PSAnTU0tREQnIHx8IGZvcm1hdCA9PT0gJ2RkL01NJyB8fCBmb3JtYXQgPT09ICdkZC9tbScpIHtcbiAgICByZXR1cm4gJ2RtJztcbiAgfVxuXG4gIGlmIChmb3JtYXQgPT09ICdNL1lZWVknIHx8IGZvcm1hdCA9PT0gJ1lZWVktTU0nIHx8IGZvcm1hdCA9PT0gJ01NL3l5eXknKSB7XG4gICAgcmV0dXJuICdteSc7XG4gIH1cblxuICBpZiAoZm9ybWF0ID09PSAnWVlZWS9NTS9ERCBoaDptbTpzcycgfHwgZm9ybWF0ID09PSAnZG15IGhtcycgfHwgZm9ybWF0ID09PSAnZGQvbW0veXl5eSBoaDptbTpzcycpIHtcbiAgICByZXR1cm4gJ2RteSBobXMnO1xuICB9XG5cbiAgaWYgKGZvcm1hdCA9PT0gJ2hoOm1tJyB8fCBmb3JtYXQgPT09ICdISDptbScpIHtcbiAgICByZXR1cm4gJ2hoOm1tJztcbiAgfVxuXG4gIGlmIChmb3JtYXQgPT09ICdoaDptbSBBJyB8fCBmb3JtYXQgPT09ICdISDptbSBBJykge1xuICAgIHJldHVybiAnaGg6bW0gQSc7XG4gIH1cblxuICByZXR1cm4gJ2RteSBobSc7XG59O1xuXG5jb25zdCBnZXRGb3JtYXREYXRhID0gKHR5cGU6ICdkbScgfCAnZG15JyB8ICdkbXkgaG0nIHwgJ215JyB8ICdkbXkgaG1zJyB8ICdoaDptbScgfCAnaGg6bW0gQScgfCAnSEg6bW0nIHwgJ0hIOm1tIEEnLCBsYW5nOiBzdHJpbmcpID0+IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnZG0nOlxuICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgcmV0dXJuICdEIE1NTSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnTU1NIEQnO1xuXG4gICAgY2FzZSAnZG15JzpcbiAgICAgIGlmIChsYW5nID09PSAndmknKSB7XG4gICAgICAgIHJldHVybiAnRCBNTU0sIFlZWVknO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ01NTSBELCBZWVlZJztcblxuICAgIGNhc2UgJ2RteSBobSc6XG4gICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICByZXR1cm4gJ0QgTU1NLCBZWVlZIEhIOm1tJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdNTU0gRCwgWVlZWSBISDptbSc7XG5cbiAgICBjYXNlICdteSc6XG4gICAgICBpZiAobGFuZyA9PT0gJ3ZpJykge1xuICAgICAgICByZXR1cm4gJ01NTSwgWVlZWSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnTU1NIFlZWVkgJztcblxuICAgIGNhc2UgJ2RteSBobXMnOlxuICAgICAgaWYgKGxhbmcgPT09ICd2aScpIHtcbiAgICAgICAgcmV0dXJuICdEIE1NTSwgWVlZWSBISDptbTpzcyc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnTU1NIEQsIFlZWVkgSEg6bW06c3MnO1xuXG4gICAgY2FzZSAnaGg6bW0nOlxuICAgIGNhc2UgJ0hIOm1tJzpcbiAgICAgIHJldHVybiAnSEg6bW0nO1xuXG4gICAgY2FzZSAnaGg6bW0gQSc6XG4gICAgY2FzZSAnSEg6bW0gQSc6XG4gICAgICByZXR1cm4gJ0hIOm1tIEEnO1xuICB9XG59O1xuIl19
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { deleteUnicode } from "./delete-unicode";
|
|
2
|
+
export const highlightByKeyword = (value, search, ignoreHighlight, classHightLight) => {
|
|
3
|
+
if (!value) {
|
|
4
|
+
return '—';
|
|
5
|
+
}
|
|
6
|
+
try {
|
|
7
|
+
if (!search || ignoreHighlight) {
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
const keysReplace = getValueReplace(search, value);
|
|
11
|
+
if (!keysReplace || !keysReplace.length) {
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
if (!classHightLight) {
|
|
15
|
+
classHightLight = 'bg-[#19344a] text-white';
|
|
16
|
+
}
|
|
17
|
+
keysReplace.forEach(key => {
|
|
18
|
+
const regExp = new RegExp(key, 'gi');
|
|
19
|
+
value = value?.replace(regExp, `<span class="${classHightLight}">$&</span>`);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.log(error);
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
// eslint-disable-next-line no-unsafe-finally
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export const fullNameFormat = (value) => {
|
|
31
|
+
if (!value) {
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
return capitalize(value, { lowercaseOtherCharactor: true, trim: true, removeMutilSpace: true });
|
|
35
|
+
};
|
|
36
|
+
export const capitalize = (text, options) => {
|
|
37
|
+
if (!text) {
|
|
38
|
+
return text;
|
|
39
|
+
}
|
|
40
|
+
text = formatByOptions(text, options);
|
|
41
|
+
return text.split(' ').map(word => firstLetterToUpperCase(word)).join(' ');
|
|
42
|
+
};
|
|
43
|
+
export const firstLetterToUpperCase = (text, options) => {
|
|
44
|
+
if (!text) {
|
|
45
|
+
return text;
|
|
46
|
+
}
|
|
47
|
+
return uppercaseByPosition(text, 0, options);
|
|
48
|
+
};
|
|
49
|
+
export const uppercaseByPosition = (text, position, options) => {
|
|
50
|
+
if (!text) {
|
|
51
|
+
return text;
|
|
52
|
+
}
|
|
53
|
+
text = formatByOptions(text, options);
|
|
54
|
+
return `${text.substring(0, position)}${text.charAt(position).toUpperCase()}${text.substring(position + 1)}`;
|
|
55
|
+
};
|
|
56
|
+
const formatByOptions = (text, options) => {
|
|
57
|
+
if (!text || !options) {
|
|
58
|
+
return text;
|
|
59
|
+
}
|
|
60
|
+
if (options?.uppercaseOtherCharactor) {
|
|
61
|
+
text = text.toUpperCase();
|
|
62
|
+
}
|
|
63
|
+
if (options?.lowercaseOtherCharactor) {
|
|
64
|
+
text = text.toLowerCase();
|
|
65
|
+
}
|
|
66
|
+
if (options?.trim) {
|
|
67
|
+
text = text.trim();
|
|
68
|
+
}
|
|
69
|
+
if (options?.removeMutilSpace) {
|
|
70
|
+
text = text.replace(/\s+/g, ' ');
|
|
71
|
+
}
|
|
72
|
+
return text;
|
|
73
|
+
};
|
|
74
|
+
const getValueReplace = (search, value) => {
|
|
75
|
+
const searchConvert = deleteUnicode(search).toLowerCase();
|
|
76
|
+
const valueConvert = deleteUnicode(value).toLowerCase();
|
|
77
|
+
const keys = new Set();
|
|
78
|
+
let i = 0;
|
|
79
|
+
while ((i = valueConvert.indexOf(searchConvert, i)) >= 0) {
|
|
80
|
+
const endIndex = i + search.length;
|
|
81
|
+
keys.add(value.substring(i, endIndex));
|
|
82
|
+
i += +valueConvert.length;
|
|
83
|
+
}
|
|
84
|
+
return Array.from(keys);
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzLXVpL3V0aWxzL3NyYy9mb3JtYXQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUF5QixFQUFFLE1BQTBCLEVBQUUsZUFBd0IsRUFBRSxlQUF3QixFQUFFLEVBQUU7SUFDL0ksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1osT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQztJQUNELElBQUksQ0FBQztRQUNKLElBQUksQ0FBQyxNQUFNLElBQUksZUFBZSxFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQWtCLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEUsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QyxPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEIsZUFBZSxHQUFHLHlCQUF5QixDQUFDO1FBQzdDLENBQUM7UUFDRCxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVyQyxLQUFLLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLGVBQWUsYUFBYSxDQUFDLENBQUM7UUFDOUUsQ0FBQyxDQUFDLENBQUM7SUFFSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BC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QWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEQsTUFBTSxJQUFJLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRVYsT0FBTyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzFELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBRW5DLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN2QyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRleHRGb3JtYXRPcHRpb25zIH0gZnJvbSBcIkBsaWJzLXVpL2ludGVyZmFjZXMtdHlwZXNcIjtcbmltcG9ydCB7IGRlbGV0ZVVuaWNvZGUgfSBmcm9tIFwiLi9kZWxldGUtdW5pY29kZVwiO1xuXG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0QnlLZXl3b3JkID0gKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQsIHNlYXJjaDogc3RyaW5nIHwgdW5kZWZpbmVkLCBpZ25vcmVIaWdobGlnaHQ/OmJvb2xlYW4sIGNsYXNzSGlnaHRMaWdodD86IHN0cmluZykgPT4ge1xuXHRpZiAoIXZhbHVlKSB7XG5cdFx0cmV0dXJuICcmbWRhc2g7Jztcblx0fVxuXHR0cnkge1xuXHRcdGlmICghc2VhcmNoIHx8IGlnbm9yZUhpZ2hsaWdodCkge1xuXHRcdFx0cmV0dXJuIHZhbHVlO1xuXHRcdH1cblx0XHRjb25zdCBrZXlzUmVwbGFjZTogQXJyYXk8c3RyaW5nPiA9IGdldFZhbHVlUmVwbGFjZShzZWFyY2gsIHZhbHVlKTtcblxuXHRcdGlmICgha2V5c1JlcGxhY2UgfHwgIWtleXNSZXBsYWNlLmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuIHZhbHVlO1xuXHRcdH1cblx0XHRpZiAoIWNsYXNzSGlnaHRMaWdodCkge1xuXHRcdFx0Y2xhc3NIaWdodExpZ2h0ID0gJ2JnLVsjMTkzNDRhXSB0ZXh0LXdoaXRlJztcblx0XHR9XG5cdFx0a2V5c1JlcGxhY2UuZm9yRWFjaChrZXkgPT4ge1xuXHRcdFx0Y29uc3QgcmVnRXhwID0gbmV3IFJlZ0V4cChrZXksICdnaScpO1xuXG5cdFx0XHR2YWx1ZSA9IHZhbHVlPy5yZXBsYWNlKHJlZ0V4cCwgYDxzcGFuIGNsYXNzPVwiJHtjbGFzc0hpZ2h0TGlnaHR9XCI+JCY8L3NwYW4+YCk7XG5cdFx0fSk7XG5cblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRjb25zb2xlLmxvZyhlcnJvcik7XG5cdH0gZmluYWxseSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1maW5hbGx5XG5cdFx0cmV0dXJuIHZhbHVlO1xuXHR9XG59XG5cbmV4cG9ydCBjb25zdCBmdWxsTmFtZUZvcm1hdCA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG5cdGlmICghdmFsdWUpIHtcblx0XHRyZXR1cm4gdmFsdWU7XG5cdH1cblx0cmV0dXJuIGNhcGl0YWxpemUodmFsdWUse2xvd2VyY2FzZU90aGVyQ2hhcmFjdG9yOnRydWUsdHJpbTp0cnVlLHJlbW92ZU11dGlsU3BhY2U6dHJ1ZX0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhcGl0YWxpemUgPSAodGV4dDogc3RyaW5nLCBvcHRpb25zPzogSVRleHRGb3JtYXRPcHRpb25zKSA9PiB7XG5cdGlmICghdGV4dCkge1xuXHRcdHJldHVybiB0ZXh0O1xuXHR9XG5cdHRleHQgPSBmb3JtYXRCeU9wdGlvbnModGV4dCwgb3B0aW9ucyk7XG5cdHJldHVybiB0ZXh0LnNwbGl0KCcgJykubWFwKHdvcmQgPT4gZmlyc3RMZXR0ZXJUb1VwcGVyQ2FzZSh3b3JkKSkuam9pbignICcpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpcnN0TGV0dGVyVG9VcHBlckNhc2UgPSAodGV4dDogc3RyaW5nLCBvcHRpb25zPzogSVRleHRGb3JtYXRPcHRpb25zKSA9PiB7XG5cdGlmICghdGV4dCkge1xuXHRcdHJldHVybiB0ZXh0O1xuXHR9XG5cdHJldHVybiB1cHBlcmNhc2VCeVBvc2l0aW9uKHRleHQsMCxvcHRpb25zKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cHBlcmNhc2VCeVBvc2l0aW9uID0gKHRleHQ6IHN0cmluZywgcG9zaXRpb246IG51bWJlciwgb3B0aW9ucz86IElUZXh0Rm9ybWF0T3B0aW9ucykgPT4ge1xuXHRpZiAoIXRleHQpIHtcblx0XHRyZXR1cm4gdGV4dDtcblx0fVxuXHR0ZXh0ID0gZm9ybWF0QnlPcHRpb25zKHRleHQsIG9wdGlvbnMpO1xuXHRyZXR1cm4gYCR7dGV4dC5zdWJzdHJpbmcoMCxwb3NpdGlvbil9JHt0ZXh0LmNoYXJBdChwb3NpdGlvbikudG9VcHBlckNhc2UoKX0ke3RleHQuc3Vic3RyaW5nKHBvc2l0aW9uKzEpfWA7XG59O1xuXG5jb25zdCBmb3JtYXRCeU9wdGlvbnMgPSAodGV4dDogc3RyaW5nLCBvcHRpb25zPzogSVRleHRGb3JtYXRPcHRpb25zKSA9PiB7XG5cdGlmICghdGV4dCB8fCAhb3B0aW9ucykge1xuXHRcdHJldHVybiB0ZXh0O1xuXHR9XG5cdGlmIChvcHRpb25zPy51cHBlcmNhc2VPdGhlckNoYXJhY3Rvcikge1xuXHRcdHRleHQgPSB0ZXh0LnRvVXBwZXJDYXNlKCk7XG5cdH1cblxuXHRpZiAob3B0aW9ucz8ubG93ZXJjYXNlT3RoZXJDaGFyYWN0b3IpIHtcblx0XHR0ZXh0ID0gdGV4dC50b0xvd2VyQ2FzZSgpO1xuXHR9XG5cblx0aWYgKG9wdGlvbnM/LnRyaW0pIHtcblx0XHR0ZXh0ID0gdGV4dC50cmltKCk7XG5cdH1cblxuXHRpZiAob3B0aW9ucz8ucmVtb3ZlTXV0aWxTcGFjZSkge1xuXHRcdHRleHQgPSB0ZXh0LnJlcGxhY2UoL1xccysvZywgJyAnKTtcblx0fVxuXG5cdHJldHVybiB0ZXh0O1xufTtcblxuY29uc3QgZ2V0VmFsdWVSZXBsYWNlID0gKHNlYXJjaDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuXHRjb25zdCBzZWFyY2hDb252ZXJ0ID0gZGVsZXRlVW5pY29kZShzZWFyY2gpLnRvTG93ZXJDYXNlKCk7XG5cdGNvbnN0IHZhbHVlQ29udmVydCA9IGRlbGV0ZVVuaWNvZGUodmFsdWUpLnRvTG93ZXJDYXNlKCk7XG5cdGNvbnN0IGtleXM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuXHRsZXQgaSA9IDA7XG5cblx0d2hpbGUgKChpID0gdmFsdWVDb252ZXJ0LmluZGV4T2Yoc2VhcmNoQ29udmVydCwgaSkpID49IDApIHtcblx0XHRjb25zdCBlbmRJbmRleCA9IGkgKyBzZWFyY2gubGVuZ3RoO1xuXG5cdFx0a2V5cy5hZGQodmFsdWUuc3Vic3RyaW5nKGksIGVuZEluZGV4KSk7XG5cdFx0aSArPSArdmFsdWVDb252ZXJ0Lmxlbmd0aDtcblx0fVxuXG5cdHJldHVybiBBcnJheS5mcm9tKGtleXMpO1xufSJdfQ==
|
package/esm2022/index.mjs
CHANGED
|
@@ -27,4 +27,5 @@ export * from './base64';
|
|
|
27
27
|
export * from './inject-token';
|
|
28
28
|
export * from './file';
|
|
29
29
|
export * from './uri';
|
|
30
|
-
|
|
30
|
+
export * from './format-text';
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzLXVpL3V0aWxzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG9tJztcbmV4cG9ydCAqIGZyb20gJy4vdXJsLXNlYXJjaC1wYXJhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dWlkJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY3J5cHRvJztcbmV4cG9ydCAqIGZyb20gJy4vY3J5cHRvLTNyZCc7XG5leHBvcnQgKiBmcm9tICcuL2tleS1jb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1wYXJhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2tleS1jYWNoZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhY2hlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LW51bWJlcic7XG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZS1lbW9qaSc7XG5leHBvcnQgKiBmcm9tICcuL2VzY2FwZS1odG1sJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbXVuaWNhdGUtbWljcm8nO1xuZXhwb3J0ICogZnJvbSAnLi9mdW5jdGlvbi1jaGVjay1lbWJlZC1mcmFtZSc7XG5leHBvcnQgKiBmcm9tICcuL2RlbGV0ZS11bmljb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWNvbG9yLWJ5LWlkJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0dGVybic7XG5leHBvcnQgKiBmcm9tICcuL3hzcy1maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi90d28td2F5LXNpZ25hbC1vYmplY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlNjQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3QtdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdXJpJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LXRleHQnOyJdfQ==
|
|
@@ -6,10 +6,10 @@ import { isSignal, TemplateRef, ElementRef, signal, InjectionToken } from '@angu
|
|
|
6
6
|
import dayjs from 'dayjs';
|
|
7
7
|
import 'dayjs/locale/en';
|
|
8
8
|
import 'dayjs/locale/vi';
|
|
9
|
+
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
9
10
|
import localeData from 'dayjs/plugin/localeData';
|
|
10
11
|
import timezone from 'dayjs/plugin/timezone';
|
|
11
12
|
import updateLocale from 'dayjs/plugin/updateLocale';
|
|
12
|
-
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
13
13
|
import utc from 'dayjs/plugin/utc';
|
|
14
14
|
|
|
15
15
|
const escapeHtml = (str) => {
|
|
@@ -2081,15 +2081,12 @@ const getDayjs = (config) => {
|
|
|
2081
2081
|
* @param date2 ngày thứ hai cần so sánh
|
|
2082
2082
|
* @returns true nếu hai ngày khác nhau, false nếu giống nhau hoặc không thể so sánh
|
|
2083
2083
|
*/
|
|
2084
|
-
const
|
|
2085
|
-
if (
|
|
2084
|
+
const isDifferenceDay = (date1, date2) => {
|
|
2085
|
+
if (isDifferenceMonth(date1, date2)) {
|
|
2086
2086
|
return true;
|
|
2087
2087
|
}
|
|
2088
2088
|
const day1 = getDayjs({ date: date1 })?.day();
|
|
2089
2089
|
const day2 = getDayjs({ date: date2 })?.day();
|
|
2090
|
-
if (isNil(day1) || isNil(day2)) {
|
|
2091
|
-
return false;
|
|
2092
|
-
}
|
|
2093
2090
|
return day1 !== day2;
|
|
2094
2091
|
};
|
|
2095
2092
|
/**
|
|
@@ -2098,15 +2095,12 @@ const isDiffenceDay = (date1, date2) => {
|
|
|
2098
2095
|
* @param date2 ngày thứ hai cần so sánh
|
|
2099
2096
|
* @returns true nếu hai ngày khác tháng, false nếu cùng tháng hoặc không thể so sánh
|
|
2100
2097
|
*/
|
|
2101
|
-
const
|
|
2102
|
-
if (
|
|
2098
|
+
const isDifferenceMonth = (date1, date2) => {
|
|
2099
|
+
if (isDifferenceYear(date1, date2)) {
|
|
2103
2100
|
return true;
|
|
2104
2101
|
}
|
|
2105
2102
|
const month1 = getDayjs({ date: date1 })?.month();
|
|
2106
2103
|
const month2 = getDayjs({ date: date2 })?.month();
|
|
2107
|
-
if (isNil(month1) || isNil(month2)) {
|
|
2108
|
-
return false;
|
|
2109
|
-
}
|
|
2110
2104
|
return month1 !== month2;
|
|
2111
2105
|
};
|
|
2112
2106
|
/**
|
|
@@ -2115,12 +2109,9 @@ const isDiffenceMonth = (date1, date2) => {
|
|
|
2115
2109
|
* @param date2 ngày thứ hai cần so sánh
|
|
2116
2110
|
* @returns true nếu hai ngày khác năm, false nếu cùng năm hoặc không thể so sánh
|
|
2117
2111
|
*/
|
|
2118
|
-
const
|
|
2112
|
+
const isDifferenceYear = (date1, date2) => {
|
|
2119
2113
|
const year1 = getDayjs({ date: date1 })?.year();
|
|
2120
2114
|
const year2 = getDayjs({ date: date2 })?.year();
|
|
2121
|
-
if (isNil(year1) || isNil(year2)) {
|
|
2122
|
-
return false;
|
|
2123
|
-
}
|
|
2124
2115
|
return year1 !== year2;
|
|
2125
2116
|
};
|
|
2126
2117
|
/**
|
|
@@ -2377,9 +2368,94 @@ const convertUrlToFile = (url, fileName) => {
|
|
|
2377
2368
|
});
|
|
2378
2369
|
};
|
|
2379
2370
|
|
|
2371
|
+
const highlightByKeyword = (value, search, ignoreHighlight, classHightLight) => {
|
|
2372
|
+
if (!value) {
|
|
2373
|
+
return '—';
|
|
2374
|
+
}
|
|
2375
|
+
try {
|
|
2376
|
+
if (!search || ignoreHighlight) {
|
|
2377
|
+
return value;
|
|
2378
|
+
}
|
|
2379
|
+
const keysReplace = getValueReplace(search, value);
|
|
2380
|
+
if (!keysReplace || !keysReplace.length) {
|
|
2381
|
+
return value;
|
|
2382
|
+
}
|
|
2383
|
+
if (!classHightLight) {
|
|
2384
|
+
classHightLight = 'bg-[#19344a] text-white';
|
|
2385
|
+
}
|
|
2386
|
+
keysReplace.forEach(key => {
|
|
2387
|
+
const regExp = new RegExp(key, 'gi');
|
|
2388
|
+
value = value?.replace(regExp, `<span class="${classHightLight}">$&</span>`);
|
|
2389
|
+
});
|
|
2390
|
+
}
|
|
2391
|
+
catch (error) {
|
|
2392
|
+
console.log(error);
|
|
2393
|
+
}
|
|
2394
|
+
finally {
|
|
2395
|
+
// eslint-disable-next-line no-unsafe-finally
|
|
2396
|
+
return value;
|
|
2397
|
+
}
|
|
2398
|
+
};
|
|
2399
|
+
const fullNameFormat = (value) => {
|
|
2400
|
+
if (!value) {
|
|
2401
|
+
return value;
|
|
2402
|
+
}
|
|
2403
|
+
return capitalize(value, { lowercaseOtherCharactor: true, trim: true, removeMutilSpace: true });
|
|
2404
|
+
};
|
|
2405
|
+
const capitalize = (text, options) => {
|
|
2406
|
+
if (!text) {
|
|
2407
|
+
return text;
|
|
2408
|
+
}
|
|
2409
|
+
text = formatByOptions(text, options);
|
|
2410
|
+
return text.split(' ').map(word => firstLetterToUpperCase(word)).join(' ');
|
|
2411
|
+
};
|
|
2412
|
+
const firstLetterToUpperCase = (text, options) => {
|
|
2413
|
+
if (!text) {
|
|
2414
|
+
return text;
|
|
2415
|
+
}
|
|
2416
|
+
return uppercaseByPosition(text, 0, options);
|
|
2417
|
+
};
|
|
2418
|
+
const uppercaseByPosition = (text, position, options) => {
|
|
2419
|
+
if (!text) {
|
|
2420
|
+
return text;
|
|
2421
|
+
}
|
|
2422
|
+
text = formatByOptions(text, options);
|
|
2423
|
+
return `${text.substring(0, position)}${text.charAt(position).toUpperCase()}${text.substring(position + 1)}`;
|
|
2424
|
+
};
|
|
2425
|
+
const formatByOptions = (text, options) => {
|
|
2426
|
+
if (!text || !options) {
|
|
2427
|
+
return text;
|
|
2428
|
+
}
|
|
2429
|
+
if (options?.uppercaseOtherCharactor) {
|
|
2430
|
+
text = text.toUpperCase();
|
|
2431
|
+
}
|
|
2432
|
+
if (options?.lowercaseOtherCharactor) {
|
|
2433
|
+
text = text.toLowerCase();
|
|
2434
|
+
}
|
|
2435
|
+
if (options?.trim) {
|
|
2436
|
+
text = text.trim();
|
|
2437
|
+
}
|
|
2438
|
+
if (options?.removeMutilSpace) {
|
|
2439
|
+
text = text.replace(/\s+/g, ' ');
|
|
2440
|
+
}
|
|
2441
|
+
return text;
|
|
2442
|
+
};
|
|
2443
|
+
const getValueReplace = (search, value) => {
|
|
2444
|
+
const searchConvert = deleteUnicode(search).toLowerCase();
|
|
2445
|
+
const valueConvert = deleteUnicode(value).toLowerCase();
|
|
2446
|
+
const keys = new Set();
|
|
2447
|
+
let i = 0;
|
|
2448
|
+
while ((i = valueConvert.indexOf(searchConvert, i)) >= 0) {
|
|
2449
|
+
const endIndex = i + search.length;
|
|
2450
|
+
keys.add(value.substring(i, endIndex));
|
|
2451
|
+
i += +valueConvert.length;
|
|
2452
|
+
}
|
|
2453
|
+
return Array.from(keys);
|
|
2454
|
+
};
|
|
2455
|
+
|
|
2380
2456
|
/**
|
|
2381
2457
|
* Generated bundle index. Do not edit.
|
|
2382
2458
|
*/
|
|
2383
2459
|
|
|
2384
|
-
export { AudioExtList, CHARACTER_DATA_EMPTY, COMMUNICATE_MICRO_KEY_GET_ALL_MESSAGE, COMMUNICATE_MICRO_PREFIX_TYPE, DEFAULT_START_PAGE_0, DocumentExtList, ENCODE_URI_PATTERN, ERROR_MESSAGE_EMPTY_VALID, ERROR_MESSAGE_MAX_LENGTH, ERROR_MESSAGE_MAX_VALID, ERROR_MESSAGE_MIN_LENGTH, ERROR_MESSAGE_MIN_VALID, ERROR_MESSAGE_PATTEN_VALID, GetColorById, ImageExtList, LINK_IMAGE_ERROR_TOKEN_INJECT, PROCESS_BAR_STANDARD_CONFIG_DEFAULT_TOKEN_INJECT, PROCESS_BAR_STEPS_CONFIG_DEFAULT_TOKEN_INJECT, UtilsCache, UtilsCommunicateMicro, UtilsCommunicateMicroKeyGlobal, UtilsHttpParamsRequest, UtilsHttpParamsRequestInstance, UtilsKeyCodeConstant, UtilsLanguageConstants, UtilsUrlSearchParams, VideoExtList, base64Decode, base64Encode, checkMouseOverInContainer, checkViewInScreen, cloneDeep, cloneIBoundingClientRect, colorContrastFromOrigin, colorStepContrastFromOrigin, convertBase64ToBlob, convertBlobToFile, convertFileToBase64, convertFileToBase64_ObjectUrl, convertObjectToSignal, convertSignalToObject, convertUrlToFile, decodeEscapeHtml, decodeURI, decrypt, decrypt3rd, deleteUnicode, downloadFileByUrl, downloadFileByUrlUseXmlRequest, downloadImageFromELement, emojiPattern, encodeURI, encrypt, encrypt3rd, endCodeUrl, escapeHtml, formatDate, formatNumber, generateInterface, get, getColorById, getDayjs, getDocumentByString, getDragEventByElement, getFileExtension, getHTMLFromQuill, getKeyCacheByArrayObject, getLabelBySizeFile, getPlatFromBrowser, getViewport, groupBy,
|
|
2460
|
+
export { AudioExtList, CHARACTER_DATA_EMPTY, COMMUNICATE_MICRO_KEY_GET_ALL_MESSAGE, COMMUNICATE_MICRO_PREFIX_TYPE, DEFAULT_START_PAGE_0, DocumentExtList, ENCODE_URI_PATTERN, ERROR_MESSAGE_EMPTY_VALID, ERROR_MESSAGE_MAX_LENGTH, ERROR_MESSAGE_MAX_VALID, ERROR_MESSAGE_MIN_LENGTH, ERROR_MESSAGE_MIN_VALID, ERROR_MESSAGE_PATTEN_VALID, GetColorById, ImageExtList, LINK_IMAGE_ERROR_TOKEN_INJECT, PROCESS_BAR_STANDARD_CONFIG_DEFAULT_TOKEN_INJECT, PROCESS_BAR_STEPS_CONFIG_DEFAULT_TOKEN_INJECT, UtilsCache, UtilsCommunicateMicro, UtilsCommunicateMicroKeyGlobal, UtilsHttpParamsRequest, UtilsHttpParamsRequestInstance, UtilsKeyCodeConstant, UtilsLanguageConstants, UtilsUrlSearchParams, VideoExtList, base64Decode, base64Encode, capitalize, checkMouseOverInContainer, checkViewInScreen, cloneDeep, cloneIBoundingClientRect, colorContrastFromOrigin, colorStepContrastFromOrigin, convertBase64ToBlob, convertBlobToFile, convertFileToBase64, convertFileToBase64_ObjectUrl, convertObjectToSignal, convertSignalToObject, convertUrlToFile, decodeEscapeHtml, decodeURI, decrypt, decrypt3rd, deleteUnicode, downloadFileByUrl, downloadFileByUrlUseXmlRequest, downloadImageFromELement, emojiPattern, encodeURI, encrypt, encrypt3rd, endCodeUrl, escapeHtml, firstLetterToUpperCase, formatDate, formatNumber, fullNameFormat, generateInterface, get, getColorById, getDayjs, getDocumentByString, getDragEventByElement, getFileExtension, getHTMLFromQuill, getKeyCacheByArrayObject, getLabelBySizeFile, getPlatFromBrowser, getViewport, groupBy, highlightByKeyword, isDifferenceDay, isDifferenceMonth, isDifferenceYear, isEmbedFrame, isEmpty, isEqual, isIncludeAudioExtList, isIncludeDocumentExtList, isIncludeImageExtList, isIncludeVideoExtList, isNil, isTypeAudio, isTypeFile, isTypeImage, isTypeVideo, keyBy, listColorDefine$1 as listColorDefine, md5, omitBy, patternAccount, patternDomain, patternEmail, patternEmoji, patternEncodeUri, patternGetFieldByRuleFieldReplace, patternHostUrl, patternKey, patternMobilePhone, patternName, patternNameProfile, patternNameSpecial, patternNameUtf8, patternNumber, patternPem, patternPhone, patternPhoneNormal, patternRuleFieldReplace, patternTax, patternUrl, range, removeEmoji, rgbToHex, set, setCaretPosition, setDefaultTimeZone, setKeyCrypto, setKeyCrypto3rd, setStylesElement, uniqBy, updateFunctionCheckEmbedFrame, updateFunctionFormatDate, updateFunctionXssFilter, uppercaseByPosition, uuid, viewDataNumberByLanguage, xssFilter };
|
|
2385
2461
|
//# sourceMappingURL=libs-ui-utils.mjs.map
|