@libs-ui/utils 0.1.1-1

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 (65) hide show
  1. package/README.md +3 -0
  2. package/base64.d.ts +5 -0
  3. package/cache.d.ts +42 -0
  4. package/color.d.ts +11 -0
  5. package/communicate-micro.d.ts +16 -0
  6. package/constants.d.ts +10 -0
  7. package/crypto-3rd.d.ts +7 -0
  8. package/crypto.d.ts +8 -0
  9. package/dangerous-object.d.ts +79 -0
  10. package/date.d.ts +44 -0
  11. package/dom.d.ts +52 -0
  12. package/download.d.ts +3 -0
  13. package/esm2022/base64.mjs +43 -0
  14. package/esm2022/cache.mjs +388 -0
  15. package/esm2022/color.mjs +133 -0
  16. package/esm2022/communicate-micro.mjs +149 -0
  17. package/esm2022/constants.mjs +11 -0
  18. package/esm2022/crypto-3rd.mjs +38 -0
  19. package/esm2022/crypto.mjs +41 -0
  20. package/esm2022/dangerous-object.mjs +149 -0
  21. package/esm2022/date.mjs +191 -0
  22. package/esm2022/dom.mjs +256 -0
  23. package/esm2022/download.mjs +41 -0
  24. package/esm2022/file.mjs +90 -0
  25. package/esm2022/format-number.mjs +66 -0
  26. package/esm2022/format-text.mjs +149 -0
  27. package/esm2022/function-check-embed-frame.mjs +10 -0
  28. package/esm2022/get-smart-axis-scale.mjs +174 -0
  29. package/esm2022/helpers.mjs +651 -0
  30. package/esm2022/http-params.mjs +80 -0
  31. package/esm2022/index.mjs +30 -0
  32. package/esm2022/inject-token.mjs +5 -0
  33. package/esm2022/key-cache.mjs +31 -0
  34. package/esm2022/key-code.mjs +123 -0
  35. package/esm2022/language.mjs +70 -0
  36. package/esm2022/libs-ui-utils.mjs +5 -0
  37. package/esm2022/pattern.mjs +62 -0
  38. package/esm2022/random.mjs +42 -0
  39. package/esm2022/two-way-signal-object.mjs +131 -0
  40. package/esm2022/uri.mjs +25 -0
  41. package/esm2022/url-search-params.mjs +99 -0
  42. package/esm2022/uuid.mjs +18 -0
  43. package/esm2022/xss-filter.mjs +10 -0
  44. package/fesm2022/libs-ui-utils.mjs +3234 -0
  45. package/fesm2022/libs-ui-utils.mjs.map +1 -0
  46. package/file.d.ts +18 -0
  47. package/format-number.d.ts +2 -0
  48. package/format-text.d.ts +11 -0
  49. package/function-check-embed-frame.d.ts +2 -0
  50. package/get-smart-axis-scale.d.ts +34 -0
  51. package/helpers.d.ts +270 -0
  52. package/http-params.d.ts +37 -0
  53. package/index.d.ts +29 -0
  54. package/inject-token.d.ts +4 -0
  55. package/key-cache.d.ts +1 -0
  56. package/key-code.d.ts +122 -0
  57. package/language.d.ts +37 -0
  58. package/package.json +29 -0
  59. package/pattern.d.ts +20 -0
  60. package/random.d.ts +3 -0
  61. package/two-way-signal-object.d.ts +15 -0
  62. package/uri.d.ts +5 -0
  63. package/url-search-params.d.ts +25 -0
  64. package/uuid.d.ts +1 -0
  65. package/xss-filter.d.ts +3 -0
@@ -0,0 +1,131 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { isSignal, signal } from '@angular/core';
3
+ import { isArray, isAsyncObject, isMap, isReturnAsIsObject, isSet } from './dangerous-object';
4
+ import { cloneDeep } from './helpers';
5
+ /**
6
+ * Chuyển đổi một đối tượng hoặc giá trị thành signal
7
+ * @param data Dữ liệu cần chuyển đổi thành signal
8
+ * @param cloneDeepIfNotSignal Có thực hiện sao chép sâu dữ liệu trước khi chuyển đổi hay không nếu data không phải signal. Mặc định là true.
9
+ * Đặt false nếu muốn giữ nguyên tham chiếu đến dữ liệu gốc.
10
+ * Nếu muốn sao chép sâu đối tượng signal thì đặt cloneDeepIfNotSignal là true và acceptConvertObjectInnerWritableSignal là true.
11
+ * @param isSignalPrimitiveType Có chuyển đổi các giá trị nguyên thủy (string, number, boolean) thành signal hay không. Mặc định là false.
12
+ * Đặt true nếu muốn bọc các giá trị nguyên thủy trong signal.
13
+ * @param acceptConvertObjectInnerWritableSignal Có tiếp tục tìm kiếm và chuyển đổi các đối tượng bên trong signal hay không. Mặc định là false.
14
+ * Đặt true nếu muốn tìm và chuyển đổi các đối tượng bên trong signal hoặc chính nó thành signal mới.
15
+ * @returns Dữ liệu đã được chuyển đổi theo kiểu T
16
+ */
17
+ export const convertObjectToSignal = (data, cloneDeepIfNotSignal = true, isSignalPrimitiveType = false, acceptConvertObjectInnerWritableSignal = false, seen = new WeakMap()) => {
18
+ if ((data === null || typeof data !== 'object') && !isSignal(data)) {
19
+ return (isSignalPrimitiveType ? signal(data) : data);
20
+ }
21
+ if (seen.has(data)) {
22
+ return seen.get(data);
23
+ }
24
+ if (isSignal(data)) {
25
+ if (!acceptConvertObjectInnerWritableSignal) {
26
+ return data;
27
+ }
28
+ seen.set(data, convertObjectToSignal(data(), cloneDeepIfNotSignal, isSignalPrimitiveType, acceptConvertObjectInnerWritableSignal, seen));
29
+ return seen.get(data);
30
+ }
31
+ if (isArray(data)) {
32
+ seen.set(data, signal(data.map((item) => convertObjectToSignal(item, cloneDeepIfNotSignal, isSignalPrimitiveType, acceptConvertObjectInnerWritableSignal, seen))));
33
+ return seen.get(data);
34
+ }
35
+ if (isMap(data)) {
36
+ const mapCopy = new Map();
37
+ Array.from(data.keys()).forEach((key) => {
38
+ mapCopy.set(key, convertObjectToSignal(data.get(key), cloneDeepIfNotSignal, isSignalPrimitiveType, acceptConvertObjectInnerWritableSignal));
39
+ });
40
+ seen.set(data, signal(mapCopy));
41
+ return seen.get(data);
42
+ }
43
+ // Bỏ qua các đối tượng async
44
+ if (isAsyncObject(data)) {
45
+ return data;
46
+ }
47
+ data = signal(cloneDeepIfNotSignal ? { ...data } : data);
48
+ seen.set(data, data);
49
+ for (const key in data()) {
50
+ const value = data()[key];
51
+ // Bỏ qua các đối tượng nguy hiểm và đặc biệt
52
+ if (isReturnAsIsObject(value)) {
53
+ continue;
54
+ }
55
+ if (Object.prototype.hasOwnProperty.call(data(), key)) {
56
+ data()[key] = convertObjectToSignal(value, cloneDeepIfNotSignal, isSignalPrimitiveType, acceptConvertObjectInnerWritableSignal);
57
+ }
58
+ }
59
+ return data;
60
+ };
61
+ export const convertSignalToObject = (data, isCloneDeep = true, seen = new WeakMap()) => {
62
+ let ignoreCheckSeenHasDataAfterWhile = false;
63
+ while (isSignal(data) && !seen.has(data)) {
64
+ const dataConvert = data();
65
+ if (typeof dataConvert === 'object') {
66
+ if (dataConvert === null || isReturnAsIsObject(dataConvert)) {
67
+ return dataConvert;
68
+ }
69
+ seen.set(dataConvert, dataConvert);
70
+ data = dataConvert;
71
+ ignoreCheckSeenHasDataAfterWhile = true;
72
+ break;
73
+ }
74
+ seen.set(data, dataConvert);
75
+ data = dataConvert;
76
+ }
77
+ if (data === null || typeof data === 'function' || typeof data !== 'object' || isReturnAsIsObject(data)) {
78
+ return data;
79
+ }
80
+ if (!ignoreCheckSeenHasDataAfterWhile && seen.has(data)) {
81
+ return seen.get(data);
82
+ }
83
+ if (isArray(data)) {
84
+ if (!isSignal(data[0])) {
85
+ return data;
86
+ }
87
+ seen.set(data, data.map((item) => convertSignalToObject(isCloneDeep ? cloneDeep(item) : item, isCloneDeep, seen)));
88
+ return seen.get(data);
89
+ }
90
+ if (isMap(data)) {
91
+ const mapCopy = new Map();
92
+ Array.from(data.keys()).forEach((key) => {
93
+ mapCopy.set(key, convertSignalToObject(isCloneDeep ? cloneDeep(data.get(key)) : data.get(key), isCloneDeep));
94
+ });
95
+ seen.set(data, mapCopy);
96
+ return seen.get(data);
97
+ }
98
+ if (isSet(data)) {
99
+ const setCopy = new Set();
100
+ Array.from(data.values()).forEach((value) => {
101
+ setCopy.add(convertSignalToObject(isCloneDeep ? cloneDeep(value) : value, isCloneDeep));
102
+ });
103
+ seen.set(data, setCopy);
104
+ return seen.get(data);
105
+ }
106
+ // Bỏ qua các đối tượng nguy hiểm và đặc biệt
107
+ if (isReturnAsIsObject(data)) {
108
+ return data;
109
+ }
110
+ const result = isCloneDeep ? {} : data;
111
+ seen.set(data, result);
112
+ for (const key in data) {
113
+ const value = data[key];
114
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
115
+ // Bỏ qua các đối tượng nguy hiểm để tránh maximum call stack
116
+ if (isReturnAsIsObject(value)) {
117
+ result[key] = value;
118
+ continue;
119
+ }
120
+ result[key] = convertSignalToObject(isCloneDeep ? cloneDeep(value) : value, isCloneDeep);
121
+ }
122
+ }
123
+ return result;
124
+ };
125
+ export const unwrapSignal = (data) => {
126
+ while (isSignal(data)) {
127
+ data = data();
128
+ }
129
+ return data;
130
+ };
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLXdheS1zaWduYWwtb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy11aS91dGlscy9zcmMvdHdvLXdheS1zaWduYWwtb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEM7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFVLElBQVMsRUFBRSxvQkFBb0IsR0FBRyxJQUFJLEVBQUUscUJBQXFCLEdBQUcsS0FBSyxFQUFFLHNDQUFzQyxHQUFHLEtBQUssRUFBRSxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsRUFBSyxFQUFFO0lBQy9MLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBTSxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLHNDQUFzQyxFQUFFLENBQUM7WUFDNUMs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LEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBpc1NpZ25hbCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNBcnJheSwgaXNBc3luY09iamVjdCwgaXNNYXAsIGlzUmV0dXJuQXNJc09iamVjdCwgaXNTZXQgfSBmcm9tICcuL2Rhbmdlcm91cy1vYmplY3QnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuLyoqXG4gKiBDaHV54buDbiDEkeG7lWkgbeG7mXQgxJHhu5FpIHTGsOG7o25nIGhv4bq3YyBnacOhIHRy4buLIHRow6BuaCBzaWduYWxcbiAqIEBwYXJhbSBkYXRhIEThu68gbGnhu4d1IGPhuqduIGNodXnhu4NuIMSR4buVaSB0aMOgbmggc2lnbmFsXG4gKiBAcGFyYW0gY2xvbmVEZWVwSWZOb3RTaWduYWwgQ8OzIHRo4buxYyBoaeG7h24gc2FvIGNow6lwIHPDonUgZOG7ryBsaeG7h3UgdHLGsOG7m2Mga2hpIGNodXnhu4NuIMSR4buVaSBoYXkga2jDtG5nIG7hur91IGRhdGEga2jDtG5nIHBo4bqjaSBzaWduYWwuIE3hurdjIMSR4buLbmggbMOgIHRydWUuXG4gKiDEkOG6t3QgZmFsc2UgbuG6v3UgbXXhu5FuIGdp4buvIG5ndXnDqm4gdGhhbSBjaGnhur91IMSR4bq/biBk4buvIGxp4buHdSBn4buRYy5cbiAqIE7hur91IG114buRbiBzYW8gY2jDqXAgc8OidSDEkeG7kWkgdMaw4bujbmcgc2lnbmFsIHRow6wgxJHhurd0IGNsb25lRGVlcElmTm90U2lnbmFsIGzDoCB0cnVlIHbDoCBhY2NlcHRDb252ZXJ0T2JqZWN0SW5uZXJXcml0YWJsZVNpZ25hbCBsw6AgdHJ1ZS5cbiAqIEBwYXJhbSBpc1NpZ25hbFByaW1pdGl2ZVR5cGUgQ8OzIGNodXnhu4NuIMSR4buVaSBjw6FjIGdpw6EgdHLhu4sgbmd1ecOqbiB0aOG7p3kgKHN0cmluZywgbnVtYmVyLCBib29sZWFuKSB0aMOgbmggc2lnbmFsIGhheSBraMO0bmcuIE3hurdjIMSR4buLbmggbMOgIGZhbHNlLlxuICogxJDhurd0IHRydWUgbuG6v3UgbXXhu5FuIGLhu41jIGPDoWMgZ2nDoSB0cuG7iyBuZ3V5w6puIHRo4buneSB0cm9uZyBzaWduYWwuXG4gKiBAcGFyYW0gYWNjZXB0Q29udmVydE9iamVjdElubmVyV3JpdGFibGVTaWduYWwgQ8OzIHRp4bq/cCB04bulYyB0w6xtIGtp4bq/bSB2w6AgY2h1eeG7g24gxJHhu5VpIGPDoWMgxJHhu5FpIHTGsOG7o25nIGLDqm4gdHJvbmcgc2lnbmFsIGhheSBraMO0bmcuIE3hurdjIMSR4buLbmggbMOgIGZhbHNlLlxuICogxJDhurd0IHRydWUgbuG6v3UgbXXhu5FuIHTDrG0gdsOgIGNodXnhu4NuIMSR4buVaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBiw6puIHRyb25nIHNpZ25hbCBob+G6t2MgY2jDrW5oIG7DsyB0aMOgbmggc2lnbmFsIG3hu5tpLlxuICogQHJldHVybnMgROG7ryBsaeG7h3UgxJHDoyDEkcaw4bujYyBjaHV54buDbiDEkeG7lWkgdGhlbyBraeG7g3UgVFxuICovXG5leHBvcnQgY29uc3QgY29udmVydE9iamVjdFRvU2lnbmFsID0gPFQgPSBhbnk+KGRhdGE6IGFueSwgY2xvbmVEZWVwSWZOb3RTaWduYWwgPSB0cnVlLCBpc1NpZ25hbFByaW1pdGl2ZVR5cGUgPSBmYWxzZSwgYWNjZXB0Q29udmVydE9iamVjdElubmVyV3JpdGFibGVTaWduYWwgPSBmYWxzZSwgc2VlbiA9IG5ldyBXZWFrTWFwKCkpOiBUID0+IHtcbiAgaWYgKChkYXRhID09PSBudWxsIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JykgJiYgIWlzU2lnbmFsKGRhdGEpKSB7XG4gICAgcmV0dXJuIChpc1NpZ25hbFByaW1pdGl2ZVR5cGUgPyBzaWduYWwoZGF0YSkgOiBkYXRhKSBhcyBUO1xuICB9XG4gIGlmIChzZWVuLmhhcyhkYXRhKSkge1xuICAgIHJldHVybiBzZWVuLmdldChkYXRhKTtcbiAgfVxuXG4gIGlmIChpc1NpZ25hbChkYXRhKSkge1xuICAgIGlmICghYWNjZXB0Q29udmVydE9iamVjdElubmVyV3JpdGFibGVTaWduYWwpIHtcbiAgICAgIHJldHVybiBkYXRhIGFzIFQ7XG4gICAgfVxuICAgIHNlZW4uc2V0KGRhdGEsIGNvbnZlcnRPYmplY3RUb1NpZ25hbChkYXRhKCksIGNsb25lRGVlcElmTm90U2lnbmFsLCBpc1NpZ25hbFByaW1pdGl2ZVR5cGUsIGFjY2VwdENvbnZlcnRPYmplY3RJbm5lcldyaXRhYmxlU2lnbmFsLCBzZWVuKSk7XG4gICAgcmV0dXJuIHNlZW4uZ2V0KGRhdGEpO1xuICB9XG5cbiAgaWYgKGlzQXJyYXkoZGF0YSkpIHtcbiAgICBzZWVuLnNldChkYXRhLCBzaWduYWwoZGF0YS5tYXAoKGl0ZW0pID0+IGNvbnZlcnRPYmplY3RUb1NpZ25hbChpdGVtLCBjbG9uZURlZXBJZk5vdFNpZ25hbCwgaXNTaWduYWxQcmltaXRpdmVUeXBlLCBhY2NlcHRDb252ZXJ0T2JqZWN0SW5uZXJXcml0YWJsZVNpZ25hbCwgc2VlbikpKSBhcyBUKTtcbiAgICByZXR1cm4gc2Vlbi5nZXQoZGF0YSk7XG4gIH1cblxuICBpZiAoaXNNYXAoZGF0YSkpIHtcbiAgICBjb25zdCBtYXBDb3B5ID0gbmV3IE1hcCgpO1xuICAgIEFycmF5LmZyb20oZGF0YS5rZXlzKCkpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgbWFwQ29weS5zZXQoa2V5LCBjb252ZXJ0T2JqZWN0VG9TaWduYWwoZGF0YS5nZXQoa2V5KSwgY2xvbmVEZWVwSWZOb3RTaWduYWwsIGlzU2lnbmFsUHJpbWl0aXZlVHlwZSwgYWNjZXB0Q29udmVydE9iamVjdElubmVyV3JpdGFibGVTaWduYWwpKTtcbiAgICB9KTtcbiAgICBzZWVuLnNldChkYXRhLCBzaWduYWwobWFwQ29weSkgYXMgVCk7XG4gICAgcmV0dXJuIHNlZW4uZ2V0KGRhdGEpO1xuICB9XG5cbiAgLy8gQuG7jyBxdWEgY8OhYyDEkeG7kWkgdMaw4bujbmcgYXN5bmNcbiAgaWYgKGlzQXN5bmNPYmplY3QoZGF0YSkpIHtcbiAgICByZXR1cm4gZGF0YSBhcyBUO1xuICB9XG5cbiAgZGF0YSA9IHNpZ25hbChjbG9uZURlZXBJZk5vdFNpZ25hbCA/IHsgLi4uZGF0YSB9IDogZGF0YSk7XG4gIHNlZW4uc2V0KGRhdGEsIGRhdGEpO1xuICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKCkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGRhdGEoKVtrZXldO1xuICAgIC8vIELhu48gcXVhIGPDoWMgxJHhu5FpIHTGsOG7o25nIG5ndXkgaGnhu4NtIHbDoCDEkeG6t2MgYmnhu4d0XG4gICAgaWYgKGlzUmV0dXJuQXNJc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEoKSwga2V5KSkge1xuICAgICAgZGF0YSgpW2tleV0gPSBjb252ZXJ0T2JqZWN0VG9TaWduYWwodmFsdWUsIGNsb25lRGVlcElmTm90U2lnbmFsLCBpc1NpZ25hbFByaW1pdGl2ZVR5cGUsIGFjY2VwdENvbnZlcnRPYmplY3RJbm5lcldyaXRhYmxlU2lnbmFsKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGF0YSBhcyBUO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRTaWduYWxUb09iamVjdCA9IDxUID0gYW55PihkYXRhOiBhbnksIGlzQ2xvbmVEZWVwID0gdHJ1ZSwgc2VlbiA9IG5ldyBXZWFrTWFwKCkpOiBUID0+IHtcbiAgbGV0IGlnbm9yZUNoZWNrU2Vlbkhhc0RhdGFBZnRlcldoaWxlID0gZmFsc2U7XG4gIHdoaWxlIChpc1NpZ25hbChkYXRhKSAmJiAhc2Vlbi5oYXMoZGF0YSkpIHtcbiAgICBjb25zdCBkYXRhQ29udmVydCA9IChkYXRhIGFzIFdyaXRhYmxlU2lnbmFsPHVua25vd24+KSgpO1xuICAgIGlmICh0eXBlb2YgZGF0YUNvbnZlcnQgPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAoZGF0YUNvbnZlcnQgPT09IG51bGwgfHwgaXNSZXR1cm5Bc0lzT2JqZWN0KGRhdGFDb252ZXJ0KSkge1xuICAgICAgICByZXR1cm4gZGF0YUNvbnZlcnQgYXMgVDtcbiAgICAgIH1cbiAgICAgIHNlZW4uc2V0KGRhdGFDb252ZXJ0IGFzIG9iamVjdCwgZGF0YUNvbnZlcnQpO1xuICAgICAgZGF0YSA9IGRhdGFDb252ZXJ0O1xuICAgICAgaWdub3JlQ2hlY2tTZWVuSGFzRGF0YUFmdGVyV2hpbGUgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHNlZW4uc2V0KGRhdGEsIGRhdGFDb252ZXJ0KTtcbiAgICBkYXRhID0gZGF0YUNvbnZlcnQ7XG4gIH1cblxuICBpZiAoZGF0YSA9PT0gbnVsbCB8fCB0eXBlb2YgZGF0YSA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcgfHwgaXNSZXR1cm5Bc0lzT2JqZWN0KGRhdGEpKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBpZiAoIWlnbm9yZUNoZWNrU2Vlbkhhc0RhdGFBZnRlcldoaWxlICYmIHNlZW4uaGFzKGRhdGEpKSB7XG4gICAgcmV0dXJuIHNlZW4uZ2V0KGRhdGEpO1xuICB9XG5cbiAgaWYgKGlzQXJyYXkoZGF0YSkpIHtcbiAgICBpZiAoIWlzU2lnbmFsKGRhdGFbMF0pKSB7XG4gICAgICByZXR1cm4gZGF0YSBhcyBUO1xuICAgIH1cbiAgICBzZWVuLnNldChkYXRhLCBkYXRhLm1hcCgoaXRlbTogYW55KSA9PiBjb252ZXJ0U2lnbmFsVG9PYmplY3QoaXNDbG9uZURlZXAgPyBjbG9uZURlZXAoaXRlbSkgOiBpdGVtLCBpc0Nsb25lRGVlcCwgc2VlbikpIGFzIFQpO1xuICAgIHJldHVybiBzZWVuLmdldChkYXRhKTtcbiAgfVxuXG4gIGlmIChpc01hcChkYXRhKSkge1xuICAgIGNvbnN0IG1hcENvcHkgPSBuZXcgTWFwKCk7XG4gICAgQXJyYXkuZnJvbShkYXRhLmtleXMoKSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBtYXBDb3B5LnNldChrZXksIGNvbnZlcnRTaWduYWxUb09iamVjdChpc0Nsb25lRGVlcCA/IGNsb25lRGVlcChkYXRhLmdldChrZXkpKSA6IGRhdGEuZ2V0KGtleSksIGlzQ2xvbmVEZWVwKSk7XG4gICAgfSk7XG4gICAgc2Vlbi5zZXQoZGF0YSwgbWFwQ29weSBhcyBUKTtcbiAgICByZXR1cm4gc2Vlbi5nZXQoZGF0YSk7XG4gIH1cblxuICBpZiAoaXNTZXQoZGF0YSkpIHtcbiAgICBjb25zdCBzZXRDb3B5ID0gbmV3IFNldCgpO1xuICAgIEFycmF5LmZyb20oZGF0YS52YWx1ZXMoKSkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgIHNldENvcHkuYWRkKGNvbnZlcnRTaWduYWxUb09iamVjdChpc0Nsb25lRGVlcCA/IGNsb25lRGVlcCh2YWx1ZSkgOiB2YWx1ZSwgaXNDbG9uZURlZXApKTtcbiAgICB9KTtcbiAgICBzZWVuLnNldChkYXRhLCBzZXRDb3B5IGFzIFQpO1xuICAgIHJldHVybiBzZWVuLmdldChkYXRhKTtcbiAgfVxuXG4gIC8vIELhu48gcXVhIGPDoWMgxJHhu5FpIHTGsOG7o25nIG5ndXkgaGnhu4NtIHbDoCDEkeG6t2MgYmnhu4d0XG4gIGlmIChpc1JldHVybkFzSXNPYmplY3QoZGF0YSkpIHtcbiAgICByZXR1cm4gZGF0YSBhcyBUO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gaXNDbG9uZURlZXAgPyB7fSA6IGRhdGE7XG4gIHNlZW4uc2V0KGRhdGEsIHJlc3VsdCk7XG4gIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGRhdGFba2V5XTtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsIGtleSkpIHtcbiAgICAgIC8vIELhu48gcXVhIGPDoWMgxJHhu5FpIHTGsOG7o25nIG5ndXkgaGnhu4NtIMSR4buDIHRyw6FuaCBtYXhpbXVtIGNhbGwgc3RhY2tcbiAgICAgIGlmIChpc1JldHVybkFzSXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgcmVzdWx0W2tleV0gPSBjb252ZXJ0U2lnbmFsVG9PYmplY3QoaXNDbG9uZURlZXAgPyBjbG9uZURlZXAodmFsdWUpIDogdmFsdWUsIGlzQ2xvbmVEZWVwKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0IGFzIFQ7XG59O1xuXG5leHBvcnQgY29uc3QgdW53cmFwU2lnbmFsID0gKGRhdGE6IGFueSkgPT4ge1xuICB3aGlsZSAoaXNTaWduYWwoZGF0YSkpIHtcbiAgICBkYXRhID0gZGF0YSgpO1xuICB9XG4gIHJldHVybiBkYXRhO1xufTtcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { omitBy } from './helpers';
2
+ import { isNil } from './helpers';
3
+ export const ENCODE_URI_PATTERN = /%([0-9A-F]{2})/g;
4
+ export const decodeURI = (value) => {
5
+ return decodeURIComponent(value
6
+ .split('')
7
+ .map((c) => {
8
+ return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
9
+ })
10
+ .join(''));
11
+ };
12
+ export const encodeURI = (value) => {
13
+ return encodeURIComponent(value).replace(ENCODE_URI_PATTERN, (match, p1) => {
14
+ return String.fromCharCode(parseInt(p1, 16));
15
+ });
16
+ };
17
+ export const endCodeUrl = (params, isBody) => {
18
+ params = omitBy(params, (param) => param === '' || isNil(param));
19
+ let res = '';
20
+ for (const p in params) {
21
+ res += `&${p}=${encodeURIComponent(params[p])}`;
22
+ }
23
+ return res === '' ? '' : `${isBody ? '' : '?'}${res.substring(1)}`;
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy11aS91dGlscy9zcmMvdXJpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUN6QyxPQUFPLGtCQUFrQixDQUN2QixLQUFLO1NBQ0YsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNULEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUNaLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUN6QyxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUN6RSxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBbUIsRUFBRSxNQUFlLEVBQVUsRUFBRTtJQUN6RSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFFYixLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNyRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUWVBFX09CSkVDVCB9IGZyb20gJ0BsaWJzLXVpL2ludGVyZmFjZXMtdHlwZXMnO1xuaW1wb3J0IHsgb21pdEJ5IH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuZXhwb3J0IGNvbnN0IEVOQ09ERV9VUklfUEFUVEVSTiA9IC8lKFswLTlBLUZdezJ9KS9nO1xuXG5leHBvcnQgY29uc3QgZGVjb2RlVVJJID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChcbiAgICB2YWx1ZVxuICAgICAgLnNwbGl0KCcnKVxuICAgICAgLm1hcCgoYzogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiAnJScgKyAoJzAwJyArIGMuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKTtcbiAgICAgIH0pXG4gICAgICAuam9pbignJylcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbmNvZGVVUkkgPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKS5yZXBsYWNlKEVOQ09ERV9VUklfUEFUVEVSTiwgKG1hdGNoLCBwMSkgPT4ge1xuICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KHAxLCAxNikpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbmRDb2RlVXJsID0gKHBhcmFtczogVFlQRV9PQkpFQ1QsIGlzQm9keTogYm9vbGVhbik6IHN0cmluZyA9PiB7XG4gIHBhcmFtcyA9IG9taXRCeShwYXJhbXMsIChwYXJhbSkgPT4gcGFyYW0gPT09ICcnIHx8IGlzTmlsKHBhcmFtKSk7XG4gIGxldCByZXMgPSAnJztcblxuICBmb3IgKGNvbnN0IHAgaW4gcGFyYW1zKSB7XG4gICAgcmVzICs9IGAmJHtwfT0ke2VuY29kZVVSSUNvbXBvbmVudChwYXJhbXNbcF0pfWA7XG4gIH1cblxuICByZXR1cm4gcmVzID09PSAnJyA/ICcnIDogYCR7aXNCb2R5ID8gJycgOiAnPyd9JHtyZXMuc3Vic3RyaW5nKDEpfWA7XG59O1xuIl19
@@ -0,0 +1,99 @@
1
+ export class UtilsUrlSearchParams {
2
+ static instance;
3
+ params;
4
+ constructor(paramString) {
5
+ this.params = new Array();
6
+ this.params.length = 0;
7
+ this.params.push(...this.buildParams(paramString));
8
+ }
9
+ static getInstance() {
10
+ if (!this.instance) {
11
+ this.instance = new UtilsUrlSearchParams('');
12
+ }
13
+ return this.instance;
14
+ }
15
+ static toStringParamObject(params) {
16
+ const paramsArr = Object.keys(params).map((key) => {
17
+ return {
18
+ key,
19
+ value: params[key],
20
+ };
21
+ });
22
+ return UtilsUrlSearchParams.ToString(paramsArr);
23
+ }
24
+ static ToString(params) {
25
+ let paramsStr = '';
26
+ params
27
+ .sort((item1, item2) => item1.key.localeCompare(item2.key))
28
+ .forEach((item) => {
29
+ const { key, value } = item;
30
+ paramsStr = `${paramsStr}${paramsStr ? '&' : ''}${key}=${value}`;
31
+ });
32
+ return paramsStr;
33
+ }
34
+ buildParams(paramString) {
35
+ const paramsBuild = new Array();
36
+ if (!paramString) {
37
+ return paramsBuild;
38
+ }
39
+ const paramsError = paramString.split('?');
40
+ if (paramsError.length > 2) {
41
+ paramString = `${paramsError[0]}?${paramsError[1]}&${paramsError.slice(2).join('&')}`;
42
+ }
43
+ const params = paramString.replace(/\S+[?]/g, '').split('&');
44
+ if (params) {
45
+ params.forEach((param) => {
46
+ if (param.indexOf('=') < 0) {
47
+ return;
48
+ }
49
+ let [key, value] = param.split('=');
50
+ key = key.replace(/[?&]+/g, '');
51
+ value = decodeURIComponent(value.replace(/\+/g, ' '));
52
+ if (!paramsBuild.some((param) => param.key === key)) {
53
+ paramsBuild.push({ key, value });
54
+ }
55
+ });
56
+ }
57
+ return paramsBuild;
58
+ }
59
+ set(key, value) {
60
+ const paramByKey = this.params.find((param) => param.key === key);
61
+ if (!paramByKey) {
62
+ this.params.push({ key, value: decodeURIComponent(value.replace(/\+/g, ' ')) });
63
+ return;
64
+ }
65
+ paramByKey['value'] = value;
66
+ }
67
+ get(key) {
68
+ return this.params.find((param) => param.key === key)?.value;
69
+ }
70
+ has(key) {
71
+ return this.params.some((param) => param.key === key);
72
+ }
73
+ delete(key) {
74
+ const index = this.params.findIndex((param) => param.key === key);
75
+ if (index >= 0) {
76
+ this.params.splice(index, 1);
77
+ }
78
+ }
79
+ length() {
80
+ return this.params.length;
81
+ }
82
+ toString(params) {
83
+ params = params || this.params;
84
+ return UtilsUrlSearchParams.ToString(params);
85
+ }
86
+ getParamObject() {
87
+ const params = {};
88
+ this.params.forEach((item) => {
89
+ params[item.key] = item.value;
90
+ });
91
+ return params;
92
+ }
93
+ compareParams(param1, param2) {
94
+ const params1 = this.toString(this.buildParams(param1));
95
+ const params2 = this.toString(this.buildParams(param2));
96
+ return params1 === params2;
97
+ }
98
+ }
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXNlYXJjaC1wYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzLXVpL3V0aWxzL3NyYy91cmwtc2VhcmNoLXBhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sb0JBQW9CO0lBQ3ZCLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBQ3RDLE1BQU0sQ0FBd0M7SUFDdEQsWUFBWSxXQUFtQjtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxFQUFrQyxDQUFDO1FBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQW1DO1FBQ25FLE1BQU0sU0FBUyxHQUEwQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3ZGLE9BQU87Z0JBQ0wsR0FBRztnQkFDSCxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNuQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUE2QztRQUNsRSxJQUFJLFNBQVMs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QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxhQUFhLENBQUMsTUFBYyxFQUFFLE1BQWM7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFeEQsT0FBTyxPQUFPLEtBQUssT0FBTyxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBVdGlsc1VybFNlYXJjaFBhcmFtcyB7XG4gIHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBVdGlsc1VybFNlYXJjaFBhcmFtcztcbiAgcHJpdmF0ZSBwYXJhbXM6IEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT47XG4gIGNvbnN0cnVjdG9yKHBhcmFtU3RyaW5nOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhcmFtcyA9IG5ldyBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KCk7XG4gICAgdGhpcy5wYXJhbXMubGVuZ3RoID0gMDtcbiAgICB0aGlzLnBhcmFtcy5wdXNoKC4uLnRoaXMuYnVpbGRQYXJhbXMocGFyYW1TdHJpbmcpKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRJbnN0YW5jZSgpIHtcbiAgICBpZiAoIXRoaXMuaW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuaW5zdGFuY2UgPSBuZXcgVXRpbHNVcmxTZWFyY2hQYXJhbXMoJycpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmluc3RhbmNlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b1N0cmluZ1BhcmFtT2JqZWN0KHBhcmFtczogeyBba2V5IGluIHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgY29uc3QgcGFyYW1zQXJyOiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+ID0gT2JqZWN0LmtleXMocGFyYW1zKS5tYXAoKGtleSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2V5LFxuICAgICAgICB2YWx1ZTogcGFyYW1zW2tleV0sXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIFV0aWxzVXJsU2VhcmNoUGFyYW1zLlRvU3RyaW5nKHBhcmFtc0Fycik7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIFRvU3RyaW5nKHBhcmFtczogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9Pikge1xuICAgIGxldCBwYXJhbXNTdHIgPSAnJztcblxuICAgIHBhcmFtc1xuICAgICAgLnNvcnQoKGl0ZW0xLCBpdGVtMikgPT4gaXRlbTEua2V5LmxvY2FsZUNvbXBhcmUoaXRlbTIua2V5KSlcbiAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHsga2V5LCB2YWx1ZSB9ID0gaXRlbTtcblxuICAgICAgICBwYXJhbXNTdHIgPSBgJHtwYXJhbXNTdHJ9JHtwYXJhbXNTdHIgPyAnJicgOiAnJ30ke2tleX09JHt2YWx1ZX1gO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gcGFyYW1zU3RyO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFBhcmFtcyhwYXJhbVN0cmluZzogc3RyaW5nKTogQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PiB7XG4gICAgY29uc3QgcGFyYW1zQnVpbGQgPSBuZXcgQXJyYXk8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PigpO1xuXG4gICAgaWYgKCFwYXJhbVN0cmluZykge1xuICAgICAgcmV0dXJuIHBhcmFtc0J1aWxkO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtc0Vycm9yID0gcGFyYW1TdHJpbmcuc3BsaXQoJz8nKTtcblxuICAgIGlmIChwYXJhbXNFcnJvci5sZW5ndGggPiAyKSB7XG4gICAgICBwYXJhbVN0cmluZyA9IGAke3BhcmFtc0Vycm9yWzBdfT8ke3BhcmFtc0Vycm9yWzFdfSYke3BhcmFtc0Vycm9yLnNsaWNlKDIpLmpvaW4oJyYnKX1gO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtcyA9IHBhcmFtU3RyaW5nLnJlcGxhY2UoL1xcUytbP10vZywgJycpLnNwbGl0KCcmJyk7XG5cbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICBwYXJhbXMuZm9yRWFjaCgocGFyYW0pID0+IHtcbiAgICAgICAgaWYgKHBhcmFtLmluZGV4T2YoJz0nKSA8IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IFtrZXksIHZhbHVlXSA9IHBhcmFtLnNwbGl0KCc9Jyk7XG5cbiAgICAgICAga2V5ID0ga2V5LnJlcGxhY2UoL1s/Jl0rL2csICcnKTtcbiAgICAgICAgdmFsdWUgPSBkZWNvZGVVUklDb21wb25lbnQodmFsdWUucmVwbGFjZSgvXFwrL2csICcgJykpO1xuICAgICAgICBpZiAoIXBhcmFtc0J1aWxkLnNvbWUoKHBhcmFtKSA9PiBwYXJhbS5rZXkgPT09IGtleSkpIHtcbiAgICAgICAgICBwYXJhbXNCdWlsZC5wdXNoKHsga2V5LCB2YWx1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc0J1aWxkO1xuICB9XG5cbiAgcHVibGljIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IHBhcmFtQnlLZXkgPSB0aGlzLnBhcmFtcy5maW5kKChwYXJhbSkgPT4gcGFyYW0ua2V5ID09PSBrZXkpIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgICBpZiAoIXBhcmFtQnlLZXkpIHtcbiAgICAgIHRoaXMucGFyYW1zLnB1c2goeyBrZXksIHZhbHVlOiBkZWNvZGVVUklDb21wb25lbnQodmFsdWUucmVwbGFjZSgvXFwrL2csICcgJykpIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGFyYW1CeUtleVsndmFsdWUnXSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldChrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBhcmFtcy5maW5kKChwYXJhbSkgPT4gcGFyYW0ua2V5ID09PSBrZXkpPy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBoYXMoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuc29tZSgocGFyYW0pID0+IHBhcmFtLmtleSA9PT0ga2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMucGFyYW1zLmZpbmRJbmRleCgocGFyYW0pID0+IHBhcmFtLmtleSA9PT0ga2V5KTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLnBhcmFtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBsZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyB0b1N0cmluZyhwYXJhbXM/OiBBcnJheTx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KSB7XG4gICAgcGFyYW1zID0gcGFyYW1zIHx8IHRoaXMucGFyYW1zO1xuXG4gICAgcmV0dXJuIFV0aWxzVXJsU2VhcmNoUGFyYW1zLlRvU3RyaW5nKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UGFyYW1PYmplY3QoKSB7XG4gICAgY29uc3QgcGFyYW1zID0ge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAgIHRoaXMucGFyYW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHBhcmFtc1tpdGVtLmtleV0gPSBpdGVtLnZhbHVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBjb21wYXJlUGFyYW1zKHBhcmFtMTogc3RyaW5nLCBwYXJhbTI6IHN0cmluZykge1xuICAgIGNvbnN0IHBhcmFtczEgPSB0aGlzLnRvU3RyaW5nKHRoaXMuYnVpbGRQYXJhbXMocGFyYW0xKSk7XG4gICAgY29uc3QgcGFyYW1zMiA9IHRoaXMudG9TdHJpbmcodGhpcy5idWlsZFBhcmFtcyhwYXJhbTIpKTtcblxuICAgIHJldHVybiBwYXJhbXMxID09PSBwYXJhbXMyO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { md5 } from './crypto';
2
+ export const uuid = () => {
3
+ const timestamp = performance.now() * 1000;
4
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+-=[]{}|;:,.<>?/~';
5
+ let randomString = '';
6
+ for (let i = 0; i < 5; i++) {
7
+ randomString += chars.charAt(Math.floor(Math.random() * chars.length));
8
+ }
9
+ const baseString = `${Math.floor(timestamp)}-${randomString}`;
10
+ const charArray = baseString.split('');
11
+ for (let i = charArray.length - 1; i > 0; i--) {
12
+ const j = Math.floor(Math.random() * (i + 1));
13
+ [charArray[i], charArray[j]] = [charArray[j], charArray[i]];
14
+ }
15
+ const shuffledString = charArray.join('');
16
+ return md5(shuffledString);
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMtdWkvdXRpbHMvc3JjL3V1aWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsR0FBVyxFQUFFO0lBQy9CLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDM0MsTUFBTSxLQUFLLEdBQUcsNEZBQTRGLENBQUM7SUFDM0csSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXRCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMzQixZQUFZLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzlELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFdkMsS0FBSyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDOUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5QyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUxQyxPQUFPLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZDUgfSBmcm9tICcuL2NyeXB0byc7XG5cbmV4cG9ydCBjb25zdCB1dWlkID0gKCk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHRpbWVzdGFtcCA9IHBlcmZvcm1hbmNlLm5vdygpICogMTAwMDtcbiAgY29uc3QgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkhQCMkJV4mKigpXystPVtde318OzosLjw+Py9+JztcbiAgbGV0IHJhbmRvbVN0cmluZyA9ICcnO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XG4gICAgcmFuZG9tU3RyaW5nICs9IGNoYXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFycy5sZW5ndGgpKTtcbiAgfVxuICBjb25zdCBiYXNlU3RyaW5nID0gYCR7TWF0aC5mbG9vcih0aW1lc3RhbXApfS0ke3JhbmRvbVN0cmluZ31gO1xuICBjb25zdCBjaGFyQXJyYXkgPSBiYXNlU3RyaW5nLnNwbGl0KCcnKTtcblxuICBmb3IgKGxldCBpID0gY2hhckFycmF5Lmxlbmd0aCAtIDE7IGkgPiAwOyBpLS0pIHtcbiAgICBjb25zdCBqID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGkgKyAxKSk7XG5cbiAgICBbY2hhckFycmF5W2ldLCBjaGFyQXJyYXlbal1dID0gW2NoYXJBcnJheVtqXSwgY2hhckFycmF5W2ldXTtcbiAgfVxuXG4gIGNvbnN0IHNodWZmbGVkU3RyaW5nID0gY2hhckFycmF5LmpvaW4oJycpO1xuXG4gIHJldHVybiBtZDUoc2h1ZmZsZWRTdHJpbmcpO1xufTtcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ let functionXssFilter = async (value) => {
2
+ return value;
3
+ };
4
+ export const updateFunctionXssFilter = (functionCustom) => {
5
+ functionXssFilter = functionCustom;
6
+ };
7
+ export const xssFilter = async (data) => {
8
+ return await functionXssFilter(data);
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHNzLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMtdWkvdXRpbHMvc3JjL3hzcy1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsSUFBSSxpQkFBaUIsR0FBc0IsS0FBSyxFQUFFLEtBQWEsRUFBbUIsRUFBRTtJQUNsRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsY0FBaUMsRUFBRSxFQUFFO0lBQzNFLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztBQUNyQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQXNCLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNqRSxPQUFPLE1BQU0saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVFlQRV9GVU5DVElPTl9YU1MgPSAoZGF0YTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG5sZXQgZnVuY3Rpb25Yc3NGaWx0ZXI6IFRZUEVfRlVOQ1RJT05fWFNTID0gYXN5bmMgKHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICByZXR1cm4gdmFsdWU7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRnVuY3Rpb25Yc3NGaWx0ZXIgPSAoZnVuY3Rpb25DdXN0b206IFRZUEVfRlVOQ1RJT05fWFNTKSA9PiB7XG4gIGZ1bmN0aW9uWHNzRmlsdGVyID0gZnVuY3Rpb25DdXN0b207XG59O1xuXG5leHBvcnQgY29uc3QgeHNzRmlsdGVyOiBUWVBFX0ZVTkNUSU9OX1hTUyA9IGFzeW5jIChkYXRhOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGZ1bmN0aW9uWHNzRmlsdGVyKGRhdGEpO1xufTtcbiJdfQ==