bytekit 1.0.31 → 2.0.6
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 +58 -188
- package/bin/bytekit.js +0 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/swagger-generator.d.ts +1 -1
- package/dist/cli/swagger-generator.d.ts.map +1 -1
- package/dist/cli/swagger-generator.js +9 -5
- package/dist/cli/swagger-generator.js.map +1 -1
- package/dist/utils/core/ApiClient.d.ts +13 -12
- package/dist/utils/core/ApiClient.d.ts.map +1 -1
- package/dist/utils/core/ApiClient.js +24 -13
- package/dist/utils/core/ApiClient.js.map +1 -1
- package/dist/utils/core/SchemaAdapter.d.ts +35 -0
- package/dist/utils/core/SchemaAdapter.d.ts.map +1 -0
- package/dist/utils/core/SchemaAdapter.js +36 -0
- package/dist/utils/core/SchemaAdapter.js.map +1 -0
- package/dist/utils/core/index.d.ts +1 -1
- package/dist/utils/core/index.d.ts.map +1 -1
- package/dist/utils/core/index.js +1 -1
- package/dist/utils/core/index.js.map +1 -1
- package/dist/utils/helpers/CryptoUtils.d.ts +30 -3
- package/dist/utils/helpers/CryptoUtils.d.ts.map +1 -1
- package/dist/utils/helpers/CryptoUtils.js +83 -5
- package/dist/utils/helpers/CryptoUtils.js.map +1 -1
- package/dist/utils/helpers/QueryStringHelper.d.ts +11 -0
- package/dist/utils/helpers/QueryStringHelper.d.ts.map +1 -0
- package/dist/utils/helpers/QueryStringHelper.js +84 -0
- package/dist/utils/helpers/QueryStringHelper.js.map +1 -0
- package/dist/utils/helpers/UrlSlugHelper.d.ts +19 -0
- package/dist/utils/helpers/UrlSlugHelper.d.ts.map +1 -0
- package/dist/utils/helpers/UrlSlugHelper.js +27 -0
- package/dist/utils/helpers/UrlSlugHelper.js.map +1 -0
- package/dist/utils/helpers/index.d.ts +2 -13
- package/dist/utils/helpers/index.d.ts.map +1 -1
- package/dist/utils/helpers/index.js +2 -13
- package/dist/utils/helpers/index.js.map +1 -1
- package/dist/utils/index.d.ts +2 -8
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -8
- package/dist/utils/index.js.map +1 -1
- package/package.json +192 -249
- package/dist/color-utils.d.ts +0 -2
- package/dist/color-utils.d.ts.map +0 -1
- package/dist/color-utils.js +0 -2
- package/dist/color-utils.js.map +0 -1
- package/dist/date-utils.d.ts +0 -2
- package/dist/date-utils.d.ts.map +0 -1
- package/dist/date-utils.js +0 -2
- package/dist/date-utils.js.map +0 -1
- package/dist/number-utils.d.ts +0 -2
- package/dist/number-utils.d.ts.map +0 -1
- package/dist/number-utils.js +0 -2
- package/dist/number-utils.js.map +0 -1
- package/dist/string-utils.d.ts +0 -2
- package/dist/string-utils.d.ts.map +0 -1
- package/dist/string-utils.js +0 -2
- package/dist/string-utils.js.map +0 -1
- package/dist/utils/core/BatchRequest.d.ts +0 -79
- package/dist/utils/core/BatchRequest.d.ts.map +0 -1
- package/dist/utils/core/BatchRequest.js +0 -152
- package/dist/utils/core/BatchRequest.js.map +0 -1
- package/dist/utils/core/QueryClient.d.ts +0 -145
- package/dist/utils/core/QueryClient.d.ts.map +0 -1
- package/dist/utils/core/QueryClient.js +0 -453
- package/dist/utils/core/QueryClient.js.map +0 -1
- package/dist/utils/core/QueryState.d.ts +0 -99
- package/dist/utils/core/QueryState.d.ts.map +0 -1
- package/dist/utils/core/QueryState.js +0 -65
- package/dist/utils/core/QueryState.js.map +0 -1
- package/dist/utils/helpers/ArrayUtils.d.ts +0 -134
- package/dist/utils/helpers/ArrayUtils.d.ts.map +0 -1
- package/dist/utils/helpers/ArrayUtils.js +0 -306
- package/dist/utils/helpers/ArrayUtils.js.map +0 -1
- package/dist/utils/helpers/ColorUtils.d.ts +0 -235
- package/dist/utils/helpers/ColorUtils.d.ts.map +0 -1
- package/dist/utils/helpers/ColorUtils.js +0 -598
- package/dist/utils/helpers/ColorUtils.js.map +0 -1
- package/dist/utils/helpers/DateUtils.d.ts +0 -36
- package/dist/utils/helpers/DateUtils.d.ts.map +0 -1
- package/dist/utils/helpers/DateUtils.js +0 -131
- package/dist/utils/helpers/DateUtils.js.map +0 -1
- package/dist/utils/helpers/FormUtils.d.ts +0 -176
- package/dist/utils/helpers/FormUtils.d.ts.map +0 -1
- package/dist/utils/helpers/FormUtils.js +0 -437
- package/dist/utils/helpers/FormUtils.js.map +0 -1
- package/dist/utils/helpers/HttpStatusHelper.d.ts +0 -82
- package/dist/utils/helpers/HttpStatusHelper.d.ts.map +0 -1
- package/dist/utils/helpers/HttpStatusHelper.js +0 -174
- package/dist/utils/helpers/HttpStatusHelper.js.map +0 -1
- package/dist/utils/helpers/NumberUtils.d.ts +0 -230
- package/dist/utils/helpers/NumberUtils.d.ts.map +0 -1
- package/dist/utils/helpers/NumberUtils.js +0 -564
- package/dist/utils/helpers/NumberUtils.js.map +0 -1
- package/dist/utils/helpers/ObjectUtils.d.ts +0 -102
- package/dist/utils/helpers/ObjectUtils.d.ts.map +0 -1
- package/dist/utils/helpers/ObjectUtils.js +0 -301
- package/dist/utils/helpers/ObjectUtils.js.map +0 -1
- package/dist/utils/helpers/PaginationHelper.d.ts +0 -127
- package/dist/utils/helpers/PaginationHelper.d.ts.map +0 -1
- package/dist/utils/helpers/PaginationHelper.js +0 -295
- package/dist/utils/helpers/PaginationHelper.js.map +0 -1
- package/dist/utils/helpers/Signal.d.ts +0 -92
- package/dist/utils/helpers/Signal.d.ts.map +0 -1
- package/dist/utils/helpers/Signal.js +0 -243
- package/dist/utils/helpers/Signal.js.map +0 -1
- package/dist/utils/helpers/StringUtils.d.ts +0 -46
- package/dist/utils/helpers/StringUtils.d.ts.map +0 -1
- package/dist/utils/helpers/StringUtils.js +0 -228
- package/dist/utils/helpers/StringUtils.js.map +0 -1
- package/dist/utils/helpers/TimeUtils.d.ts +0 -87
- package/dist/utils/helpers/TimeUtils.d.ts.map +0 -1
- package/dist/utils/helpers/TimeUtils.js +0 -234
- package/dist/utils/helpers/TimeUtils.js.map +0 -1
- package/dist/utils/helpers/UrlBuilder.d.ts +0 -79
- package/dist/utils/helpers/UrlBuilder.d.ts.map +0 -1
- package/dist/utils/helpers/UrlBuilder.js +0 -161
- package/dist/utils/helpers/UrlBuilder.js.map +0 -1
- package/dist/utils/helpers/Validator.d.ts +0 -31
- package/dist/utils/helpers/Validator.d.ts.map +0 -1
- package/dist/utils/helpers/Validator.js +0 -175
- package/dist/utils/helpers/Validator.js.map +0 -1
- package/dist/utils/helpers/useSignal.d.ts +0 -11
- package/dist/utils/helpers/useSignal.d.ts.map +0 -1
- package/dist/utils/helpers/useSignal.js +0 -11
- package/dist/utils/helpers/useSignal.js.map +0 -1
- package/dist/validator.d.ts +0 -2
- package/dist/validator.d.ts.map +0 -1
- package/dist/validator.js +0 -2
- package/dist/validator.js.map +0 -1
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Array manipulation utilities for everyday development tasks
|
|
3
|
-
*/
|
|
4
|
-
export declare class ArrayUtils {
|
|
5
|
-
/**
|
|
6
|
-
* Split array into chunks of specified size
|
|
7
|
-
*/
|
|
8
|
-
static chunk<T>(arr: T[], size: number): T[][];
|
|
9
|
-
/**
|
|
10
|
-
* Flatten nested arrays
|
|
11
|
-
*/
|
|
12
|
-
static flatten<T>(arr: Array<T | T[]>, depth?: number): T[];
|
|
13
|
-
/**
|
|
14
|
-
* Get unique values from array
|
|
15
|
-
*/
|
|
16
|
-
static unique<T>(arr: T[], by?: (item: T) => unknown): T[];
|
|
17
|
-
/**
|
|
18
|
-
* Remove duplicates and return unique array
|
|
19
|
-
*/
|
|
20
|
-
static deduplicate<T>(arr: T[]): T[];
|
|
21
|
-
/**
|
|
22
|
-
* Compact array (remove falsy values)
|
|
23
|
-
*/
|
|
24
|
-
static compact<T>(arr: Array<T | null | undefined | false | 0 | "">): T[];
|
|
25
|
-
/**
|
|
26
|
-
* Flatten one level deep
|
|
27
|
-
*/
|
|
28
|
-
static flat<T>(arr: Array<T | T[]>): T[];
|
|
29
|
-
/**
|
|
30
|
-
* Get first element
|
|
31
|
-
*/
|
|
32
|
-
static first<T>(arr: T[]): T | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* Get last element
|
|
35
|
-
*/
|
|
36
|
-
static last<T>(arr: T[]): T | undefined;
|
|
37
|
-
/**
|
|
38
|
-
* Get element at index (supports negative indices)
|
|
39
|
-
*/
|
|
40
|
-
static at<T>(arr: T[], index: number): T | undefined;
|
|
41
|
-
/**
|
|
42
|
-
* Shuffle array (Fisher-Yates)
|
|
43
|
-
*/
|
|
44
|
-
static shuffle<T>(arr: T[]): T[];
|
|
45
|
-
/**
|
|
46
|
-
* Get random element
|
|
47
|
-
*/
|
|
48
|
-
static random<T>(arr: T[]): T | undefined;
|
|
49
|
-
/**
|
|
50
|
-
* Get N random elements
|
|
51
|
-
*/
|
|
52
|
-
static randomN<T>(arr: T[], n: number): T[];
|
|
53
|
-
/**
|
|
54
|
-
* Reverse array
|
|
55
|
-
*/
|
|
56
|
-
static reverse<T>(arr: T[]): T[];
|
|
57
|
-
/**
|
|
58
|
-
* Rotate array
|
|
59
|
-
*/
|
|
60
|
-
static rotate<T>(arr: T[], steps: number): T[];
|
|
61
|
-
/**
|
|
62
|
-
* Zip arrays together
|
|
63
|
-
*/
|
|
64
|
-
static zip<T>(...arrays: T[][]): T[][];
|
|
65
|
-
/**
|
|
66
|
-
* Unzip array of tuples
|
|
67
|
-
*/
|
|
68
|
-
static unzip<T>(arr: T[][]): T[][];
|
|
69
|
-
/**
|
|
70
|
-
* Find differences between two arrays
|
|
71
|
-
*/
|
|
72
|
-
static difference<T>(arr1: T[], arr2: T[]): T[];
|
|
73
|
-
/**
|
|
74
|
-
* Find intersection of two arrays
|
|
75
|
-
*/
|
|
76
|
-
static intersection<T>(arr1: T[], arr2: T[]): T[];
|
|
77
|
-
/**
|
|
78
|
-
* Find union of two arrays
|
|
79
|
-
*/
|
|
80
|
-
static union<T>(arr1: T[], arr2: T[]): T[];
|
|
81
|
-
/**
|
|
82
|
-
* Check if array includes all elements from another array
|
|
83
|
-
*/
|
|
84
|
-
static includesAll<T>(arr: T[], items: T[]): boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Check if array includes any element from another array
|
|
87
|
-
*/
|
|
88
|
-
static includesAny<T>(arr: T[], items: T[]): boolean;
|
|
89
|
-
/**
|
|
90
|
-
* Sum array of numbers
|
|
91
|
-
*/
|
|
92
|
-
static sum(arr: number[]): number;
|
|
93
|
-
/**
|
|
94
|
-
* Average of array of numbers
|
|
95
|
-
*/
|
|
96
|
-
static average(arr: number[]): number;
|
|
97
|
-
/**
|
|
98
|
-
* Min value in array
|
|
99
|
-
*/
|
|
100
|
-
static min(arr: number[]): number | undefined;
|
|
101
|
-
/**
|
|
102
|
-
* Max value in array
|
|
103
|
-
*/
|
|
104
|
-
static max(arr: number[]): number | undefined;
|
|
105
|
-
/**
|
|
106
|
-
* Range of numbers
|
|
107
|
-
*/
|
|
108
|
-
static range(start: number, end: number, step?: number): number[];
|
|
109
|
-
/**
|
|
110
|
-
* Repeat array N times
|
|
111
|
-
*/
|
|
112
|
-
static repeat<T>(arr: T[], times: number): T[];
|
|
113
|
-
/**
|
|
114
|
-
* Fill array with value
|
|
115
|
-
*/
|
|
116
|
-
static fill<T>(length: number, value: T): T[];
|
|
117
|
-
/**
|
|
118
|
-
* Transpose 2D array
|
|
119
|
-
*/
|
|
120
|
-
static transpose<T>(arr: T[][]): T[][];
|
|
121
|
-
/**
|
|
122
|
-
* Find index of element matching predicate
|
|
123
|
-
*/
|
|
124
|
-
static findIndex<T>(arr: T[], predicate: (item: T, index: number) => boolean): number;
|
|
125
|
-
/**
|
|
126
|
-
* Find last index of element matching predicate
|
|
127
|
-
*/
|
|
128
|
-
static findLastIndex<T>(arr: T[], predicate: (item: T, index: number) => boolean): number;
|
|
129
|
-
/**
|
|
130
|
-
* Partition array into two based on predicate
|
|
131
|
-
*/
|
|
132
|
-
static partition<T>(arr: T[], predicate: (item: T) => boolean): [T[], T[]];
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=ArrayUtils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/ArrayUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Array manipulation utilities for everyday development tasks
|
|
3
|
-
*/
|
|
4
|
-
export class ArrayUtils {
|
|
5
|
-
/**
|
|
6
|
-
* Split array into chunks of specified size
|
|
7
|
-
*/
|
|
8
|
-
static chunk(arr, size) {
|
|
9
|
-
if (size <= 0)
|
|
10
|
-
throw new Error("Chunk size must be greater than 0");
|
|
11
|
-
const chunks = [];
|
|
12
|
-
for (let i = 0; i < arr.length; i += size) {
|
|
13
|
-
chunks.push(arr.slice(i, i + size));
|
|
14
|
-
}
|
|
15
|
-
return chunks;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Flatten nested arrays
|
|
19
|
-
*/
|
|
20
|
-
static flatten(arr, depth = 1) {
|
|
21
|
-
if (depth <= 0) {
|
|
22
|
-
return arr.filter((item) => !Array.isArray(item));
|
|
23
|
-
}
|
|
24
|
-
const result = [];
|
|
25
|
-
for (const item of arr) {
|
|
26
|
-
if (Array.isArray(item)) {
|
|
27
|
-
result.push(...this.flatten(item, depth - 1));
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
result.push(item);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return result;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Get unique values from array
|
|
37
|
-
*/
|
|
38
|
-
static unique(arr, by) {
|
|
39
|
-
if (!by) {
|
|
40
|
-
return Array.from(new Set(arr));
|
|
41
|
-
}
|
|
42
|
-
const seen = new Set();
|
|
43
|
-
return arr.filter((item) => {
|
|
44
|
-
const key = by(item);
|
|
45
|
-
if (seen.has(key))
|
|
46
|
-
return false;
|
|
47
|
-
seen.add(key);
|
|
48
|
-
return true;
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Remove duplicates and return unique array
|
|
53
|
-
*/
|
|
54
|
-
static deduplicate(arr) {
|
|
55
|
-
return this.unique(arr);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Compact array (remove falsy values)
|
|
59
|
-
*/
|
|
60
|
-
static compact(arr) {
|
|
61
|
-
return arr.filter(Boolean);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Flatten one level deep
|
|
65
|
-
*/
|
|
66
|
-
static flat(arr) {
|
|
67
|
-
return this.flatten(arr, 1);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Get first element
|
|
71
|
-
*/
|
|
72
|
-
static first(arr) {
|
|
73
|
-
return arr[0];
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Get last element
|
|
77
|
-
*/
|
|
78
|
-
static last(arr) {
|
|
79
|
-
return arr.at(-1);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Get element at index (supports negative indices)
|
|
83
|
-
*/
|
|
84
|
-
static at(arr, index) {
|
|
85
|
-
if (index < 0) {
|
|
86
|
-
return arr[arr.length + index];
|
|
87
|
-
}
|
|
88
|
-
return arr[index];
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Shuffle array (Fisher-Yates)
|
|
92
|
-
*/
|
|
93
|
-
static shuffle(arr) {
|
|
94
|
-
const result = [...arr];
|
|
95
|
-
for (let i = result.length - 1; i > 0; i--) {
|
|
96
|
-
const array = new Uint32Array(1);
|
|
97
|
-
crypto.getRandomValues(array);
|
|
98
|
-
const j = array[0] % (i + 1);
|
|
99
|
-
[result[i], result[j]] = [result[j], result[i]];
|
|
100
|
-
}
|
|
101
|
-
return result;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Get random element
|
|
105
|
-
*/
|
|
106
|
-
static random(arr) {
|
|
107
|
-
if (arr.length === 0)
|
|
108
|
-
return undefined;
|
|
109
|
-
const array = new Uint32Array(1);
|
|
110
|
-
crypto.getRandomValues(array);
|
|
111
|
-
const index = array[0] % arr.length;
|
|
112
|
-
return arr[index];
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Get N random elements
|
|
116
|
-
*/
|
|
117
|
-
static randomN(arr, n) {
|
|
118
|
-
if (n <= 0)
|
|
119
|
-
return [];
|
|
120
|
-
if (n >= arr.length)
|
|
121
|
-
return [...arr];
|
|
122
|
-
const shuffled = this.shuffle(arr);
|
|
123
|
-
return shuffled.slice(0, n);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Reverse array
|
|
127
|
-
*/
|
|
128
|
-
static reverse(arr) {
|
|
129
|
-
return [...arr].reverse();
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Rotate array
|
|
133
|
-
*/
|
|
134
|
-
static rotate(arr, steps) {
|
|
135
|
-
if (arr.length === 0)
|
|
136
|
-
return arr;
|
|
137
|
-
const normalized = ((steps % arr.length) + arr.length) % arr.length;
|
|
138
|
-
return [
|
|
139
|
-
...arr.slice(-normalized),
|
|
140
|
-
...arr.slice(0, -normalized || undefined),
|
|
141
|
-
];
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Zip arrays together
|
|
145
|
-
*/
|
|
146
|
-
static zip(...arrays) {
|
|
147
|
-
if (arrays.length === 0)
|
|
148
|
-
return [];
|
|
149
|
-
const maxLength = Math.max(...arrays.map((a) => a.length));
|
|
150
|
-
const result = [];
|
|
151
|
-
for (let i = 0; i < maxLength; i++) {
|
|
152
|
-
result.push(arrays.map((a) => a[i]));
|
|
153
|
-
}
|
|
154
|
-
return result;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Unzip array of tuples
|
|
158
|
-
*/
|
|
159
|
-
static unzip(arr) {
|
|
160
|
-
if (arr.length === 0)
|
|
161
|
-
return [];
|
|
162
|
-
const maxLength = Math.max(...arr.map((a) => a.length));
|
|
163
|
-
const result = Array.from({ length: maxLength }, () => []);
|
|
164
|
-
for (const tuple of arr) {
|
|
165
|
-
for (let i = 0; i < tuple.length; i++) {
|
|
166
|
-
result[i].push(tuple[i]);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
return result;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Find differences between two arrays
|
|
173
|
-
*/
|
|
174
|
-
static difference(arr1, arr2) {
|
|
175
|
-
const set2 = new Set(arr2);
|
|
176
|
-
return arr1.filter((item) => !set2.has(item));
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Find intersection of two arrays
|
|
180
|
-
*/
|
|
181
|
-
static intersection(arr1, arr2) {
|
|
182
|
-
const set2 = new Set(arr2);
|
|
183
|
-
return this.unique(arr1.filter((item) => set2.has(item)));
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Find union of two arrays
|
|
187
|
-
*/
|
|
188
|
-
static union(arr1, arr2) {
|
|
189
|
-
return this.unique([...arr1, ...arr2]);
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Check if array includes all elements from another array
|
|
193
|
-
*/
|
|
194
|
-
static includesAll(arr, items) {
|
|
195
|
-
return items.every((item) => arr.includes(item));
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Check if array includes any element from another array
|
|
199
|
-
*/
|
|
200
|
-
static includesAny(arr, items) {
|
|
201
|
-
return items.some((item) => arr.includes(item));
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Sum array of numbers
|
|
205
|
-
*/
|
|
206
|
-
static sum(arr) {
|
|
207
|
-
return arr.reduce((acc, val) => acc + val, 0);
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Average of array of numbers
|
|
211
|
-
*/
|
|
212
|
-
static average(arr) {
|
|
213
|
-
if (arr.length === 0)
|
|
214
|
-
return 0;
|
|
215
|
-
return this.sum(arr) / arr.length;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Min value in array
|
|
219
|
-
*/
|
|
220
|
-
static min(arr) {
|
|
221
|
-
return arr.length === 0 ? undefined : Math.min(...arr);
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Max value in array
|
|
225
|
-
*/
|
|
226
|
-
static max(arr) {
|
|
227
|
-
return arr.length === 0 ? undefined : Math.max(...arr);
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Range of numbers
|
|
231
|
-
*/
|
|
232
|
-
static range(start, end, step = 1) {
|
|
233
|
-
const result = [];
|
|
234
|
-
if (step > 0) {
|
|
235
|
-
for (let i = start; i < end; i += step) {
|
|
236
|
-
result.push(i);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
else if (step < 0) {
|
|
240
|
-
for (let i = start; i > end; i += step) {
|
|
241
|
-
result.push(i);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
return result;
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Repeat array N times
|
|
248
|
-
*/
|
|
249
|
-
static repeat(arr, times) {
|
|
250
|
-
if (times <= 0)
|
|
251
|
-
return [];
|
|
252
|
-
return Array.from({ length: times }, () => arr).flat();
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Fill array with value
|
|
256
|
-
*/
|
|
257
|
-
static fill(length, value) {
|
|
258
|
-
return Array.from({ length }, () => value);
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Transpose 2D array
|
|
262
|
-
*/
|
|
263
|
-
static transpose(arr) {
|
|
264
|
-
if (arr.length === 0)
|
|
265
|
-
return [];
|
|
266
|
-
const maxLength = Math.max(...arr.map((a) => a.length));
|
|
267
|
-
const result = [];
|
|
268
|
-
for (let i = 0; i < maxLength; i++) {
|
|
269
|
-
result.push(arr.map((a) => a[i]));
|
|
270
|
-
}
|
|
271
|
-
return result;
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Find index of element matching predicate
|
|
275
|
-
*/
|
|
276
|
-
static findIndex(arr, predicate) {
|
|
277
|
-
return arr.findIndex(predicate);
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Find last index of element matching predicate
|
|
281
|
-
*/
|
|
282
|
-
static findLastIndex(arr, predicate) {
|
|
283
|
-
for (let i = arr.length - 1; i >= 0; i--) {
|
|
284
|
-
if (predicate(arr[i], i))
|
|
285
|
-
return i;
|
|
286
|
-
}
|
|
287
|
-
return -1;
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Partition array into two based on predicate
|
|
291
|
-
*/
|
|
292
|
-
static partition(arr, predicate) {
|
|
293
|
-
const pass = [];
|
|
294
|
-
const fail = [];
|
|
295
|
-
for (const item of arr) {
|
|
296
|
-
if (predicate(item)) {
|
|
297
|
-
pass.push(item);
|
|
298
|
-
}
|
|
299
|
-
else {
|
|
300
|
-
fail.push(item);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
return [pass, fail];
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
//# sourceMappingURL=ArrayUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../../src/utils/helpers/ArrayUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Color utilities for conversion, manipulation, and accessibility
|
|
3
|
-
* Isomorphic utilities for Node.js and browsers
|
|
4
|
-
* @module ColorUtils
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* RGB color representation
|
|
8
|
-
*/
|
|
9
|
-
export interface RGB {
|
|
10
|
-
r: number;
|
|
11
|
-
g: number;
|
|
12
|
-
b: number;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* RGBA color representation
|
|
16
|
-
*/
|
|
17
|
-
export interface RGBA extends RGB {
|
|
18
|
-
a: number;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* HSL color representation
|
|
22
|
-
*/
|
|
23
|
-
export interface HSL {
|
|
24
|
-
h: number;
|
|
25
|
-
s: number;
|
|
26
|
-
l: number;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* HSLA color representation
|
|
30
|
-
*/
|
|
31
|
-
export interface HSLA extends HSL {
|
|
32
|
-
a: number;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Color utilities
|
|
36
|
-
*/
|
|
37
|
-
export declare class ColorUtils {
|
|
38
|
-
private constructor();
|
|
39
|
-
/**
|
|
40
|
-
* Convert hex color to RGB
|
|
41
|
-
* @example
|
|
42
|
-
* ColorUtils.hexToRgb('#ff5733'); // { r: 255, g: 87, b: 51 }
|
|
43
|
-
* ColorUtils.hexToRgb('#f53'); // { r: 255, g: 85, b: 51 }
|
|
44
|
-
*/
|
|
45
|
-
static hexToRgb(hex: string): RGB | null;
|
|
46
|
-
/**
|
|
47
|
-
* Convert hex color to RGBA
|
|
48
|
-
* @example
|
|
49
|
-
* ColorUtils.hexToRgba('#ff573380'); // { r: 255, g: 87, b: 51, a: 0.5 }
|
|
50
|
-
*/
|
|
51
|
-
static hexToRgba(hex: string): RGBA | null;
|
|
52
|
-
/**
|
|
53
|
-
* Convert RGB to hex color
|
|
54
|
-
* @example
|
|
55
|
-
* ColorUtils.rgbToHex(255, 87, 51); // '#ff5733'
|
|
56
|
-
* ColorUtils.rgbToHex({ r: 255, g: 87, b: 51 }); // '#ff5733'
|
|
57
|
-
*/
|
|
58
|
-
static rgbToHex(rOrRgb: number | RGB, g?: number, b?: number): string;
|
|
59
|
-
/**
|
|
60
|
-
* Convert RGBA to hex color with alpha
|
|
61
|
-
* @example
|
|
62
|
-
* ColorUtils.rgbaToHex(255, 87, 51, 0.5); // '#ff573380'
|
|
63
|
-
*/
|
|
64
|
-
static rgbaToHex(rOrRgba: number | RGBA, g?: number, b?: number, a?: number): string;
|
|
65
|
-
/**
|
|
66
|
-
* Convert RGB to HSL
|
|
67
|
-
* @example
|
|
68
|
-
* ColorUtils.rgbToHsl(255, 87, 51); // { h: 11, s: 100, l: 60 }
|
|
69
|
-
*/
|
|
70
|
-
static rgbToHsl(rOrRgb: number | RGB, g?: number, b?: number): HSL;
|
|
71
|
-
/**
|
|
72
|
-
* Convert HSL to RGB
|
|
73
|
-
* @example
|
|
74
|
-
* ColorUtils.hslToRgb(11, 100, 60); // { r: 255, g: 87, b: 51 }
|
|
75
|
-
*/
|
|
76
|
-
static hslToRgb(hOrHsl: number | HSL, s?: number, l?: number): RGB;
|
|
77
|
-
/**
|
|
78
|
-
* Convert hex to HSL
|
|
79
|
-
*/
|
|
80
|
-
static hexToHsl(hex: string): HSL | null;
|
|
81
|
-
/**
|
|
82
|
-
* Convert HSL to hex
|
|
83
|
-
*/
|
|
84
|
-
static hslToHex(hOrHsl: number | HSL, s?: number, l?: number): string;
|
|
85
|
-
/**
|
|
86
|
-
* Lighten a color by a percentage
|
|
87
|
-
* @example
|
|
88
|
-
* ColorUtils.lighten('#ff5733', 20); // Lighter color
|
|
89
|
-
*/
|
|
90
|
-
static lighten(color: string, percent: number): string;
|
|
91
|
-
/**
|
|
92
|
-
* Darken a color by a percentage
|
|
93
|
-
* @example
|
|
94
|
-
* ColorUtils.darken('#ff5733', 20); // Darker color
|
|
95
|
-
*/
|
|
96
|
-
static darken(color: string, percent: number): string;
|
|
97
|
-
/**
|
|
98
|
-
* Saturate a color by a percentage
|
|
99
|
-
*/
|
|
100
|
-
static saturate(color: string, percent: number): string;
|
|
101
|
-
/**
|
|
102
|
-
* Desaturate a color by a percentage
|
|
103
|
-
*/
|
|
104
|
-
static desaturate(color: string, percent: number): string;
|
|
105
|
-
/**
|
|
106
|
-
* Convert color to grayscale
|
|
107
|
-
*/
|
|
108
|
-
static grayscale(color: string): string;
|
|
109
|
-
/**
|
|
110
|
-
* Get the complementary color (opposite on color wheel)
|
|
111
|
-
* @example
|
|
112
|
-
* ColorUtils.complement('#ff5733'); // Complementary color
|
|
113
|
-
*/
|
|
114
|
-
static complement(color: string): string;
|
|
115
|
-
/**
|
|
116
|
-
* Invert a color
|
|
117
|
-
* @example
|
|
118
|
-
* ColorUtils.invert('#ff5733'); // '#00a8cc'
|
|
119
|
-
*/
|
|
120
|
-
static invert(color: string): string;
|
|
121
|
-
/**
|
|
122
|
-
* Mix two colors together
|
|
123
|
-
* @example
|
|
124
|
-
* ColorUtils.mix('#ff0000', '#0000ff', 50); // Purple-ish
|
|
125
|
-
*/
|
|
126
|
-
static mix(color1: string, color2: string, weight?: number): string;
|
|
127
|
-
/**
|
|
128
|
-
* Set the alpha/opacity of a color
|
|
129
|
-
*/
|
|
130
|
-
static alpha(color: string, alpha: number): string;
|
|
131
|
-
/**
|
|
132
|
-
* Adjust hue of a color
|
|
133
|
-
*/
|
|
134
|
-
static adjustHue(color: string, degrees: number): string;
|
|
135
|
-
/**
|
|
136
|
-
* Calculate relative luminance of a color (WCAG definition)
|
|
137
|
-
*/
|
|
138
|
-
static luminance(color: string): number;
|
|
139
|
-
/**
|
|
140
|
-
* Calculate contrast ratio between two colors (WCAG)
|
|
141
|
-
* @example
|
|
142
|
-
* ColorUtils.contrast('#000000', '#ffffff'); // 21 (maximum)
|
|
143
|
-
* ColorUtils.contrast('#777777', '#ffffff'); // ~4.48
|
|
144
|
-
*/
|
|
145
|
-
static contrast(color1: string, color2: string): number;
|
|
146
|
-
/**
|
|
147
|
-
* Check if color is light (for determining text color)
|
|
148
|
-
* @example
|
|
149
|
-
* ColorUtils.isLight('#ffffff'); // true
|
|
150
|
-
* ColorUtils.isLight('#000000'); // false
|
|
151
|
-
*/
|
|
152
|
-
static isLight(color: string): boolean;
|
|
153
|
-
/**
|
|
154
|
-
* Check if color is dark
|
|
155
|
-
*/
|
|
156
|
-
static isDark(color: string): boolean;
|
|
157
|
-
/**
|
|
158
|
-
* Get best text color (black or white) for a background
|
|
159
|
-
* @example
|
|
160
|
-
* ColorUtils.textColor('#ff5733'); // '#ffffff' (white text on orange)
|
|
161
|
-
* ColorUtils.textColor('#ffffff'); // '#000000' (black text on white)
|
|
162
|
-
*/
|
|
163
|
-
static textColor(backgroundColor: string): string;
|
|
164
|
-
/**
|
|
165
|
-
* Check if contrast meets WCAG AA standard (4.5:1 for normal text)
|
|
166
|
-
*/
|
|
167
|
-
static meetsContrastAA(color1: string, color2: string, largeText?: boolean): boolean;
|
|
168
|
-
/**
|
|
169
|
-
* Check if contrast meets WCAG AAA standard (7:1 for normal text)
|
|
170
|
-
*/
|
|
171
|
-
static meetsContrastAAA(color1: string, color2: string, largeText?: boolean): boolean;
|
|
172
|
-
/**
|
|
173
|
-
* Generate a random hex color
|
|
174
|
-
* @example
|
|
175
|
-
* ColorUtils.random(); // '#a3f2b1' (random)
|
|
176
|
-
*/
|
|
177
|
-
static random(): string;
|
|
178
|
-
/**
|
|
179
|
-
* Generate a random color with specific lightness
|
|
180
|
-
*/
|
|
181
|
-
static randomWithLightness(lightness: number): string;
|
|
182
|
-
/**
|
|
183
|
-
* Generate a color palette from a base color
|
|
184
|
-
* @example
|
|
185
|
-
* ColorUtils.palette('#ff5733', 5); // Array of 5 harmonious colors
|
|
186
|
-
*/
|
|
187
|
-
static palette(baseColor: string, count?: number): string[];
|
|
188
|
-
/**
|
|
189
|
-
* Generate complementary color palette
|
|
190
|
-
*/
|
|
191
|
-
static complementaryPalette(baseColor: string): string[];
|
|
192
|
-
/**
|
|
193
|
-
* Generate triadic color palette
|
|
194
|
-
*/
|
|
195
|
-
static triadicPalette(baseColor: string): string[];
|
|
196
|
-
/**
|
|
197
|
-
* Generate analogous color palette
|
|
198
|
-
*/
|
|
199
|
-
static analogousPalette(baseColor: string, angle?: number): string[];
|
|
200
|
-
/**
|
|
201
|
-
* Generate a gradient of colors between two colors
|
|
202
|
-
* @example
|
|
203
|
-
* ColorUtils.gradient('#ff0000', '#0000ff', 5); // Red to blue in 5 steps
|
|
204
|
-
*/
|
|
205
|
-
static gradient(startColor: string, endColor: string, steps: number): string[];
|
|
206
|
-
/**
|
|
207
|
-
* Generate shades (darker variations) of a color
|
|
208
|
-
*/
|
|
209
|
-
static shades(baseColor: string, count?: number): string[];
|
|
210
|
-
/**
|
|
211
|
-
* Generate tints (lighter variations) of a color
|
|
212
|
-
*/
|
|
213
|
-
static tints(baseColor: string, count?: number): string[];
|
|
214
|
-
/**
|
|
215
|
-
* Parse any color format to hex
|
|
216
|
-
* @example
|
|
217
|
-
* ColorUtils.parse('rgb(255, 87, 51)'); // '#ff5733'
|
|
218
|
-
* ColorUtils.parse('hsl(11, 100%, 60%)'); // '#ff5733'
|
|
219
|
-
* ColorUtils.parse('#ff5733'); // '#ff5733'
|
|
220
|
-
*/
|
|
221
|
-
static parse(color: string): string | null;
|
|
222
|
-
/**
|
|
223
|
-
* Format color as CSS rgb() string
|
|
224
|
-
*/
|
|
225
|
-
static toCssRgb(color: string): string | null;
|
|
226
|
-
/**
|
|
227
|
-
* Format color as CSS hsl() string
|
|
228
|
-
*/
|
|
229
|
-
static toCssHsl(color: string): string | null;
|
|
230
|
-
/**
|
|
231
|
-
* Check if a string is a valid hex color
|
|
232
|
-
*/
|
|
233
|
-
static isValidHex(color: string): boolean;
|
|
234
|
-
}
|
|
235
|
-
//# sourceMappingURL=ColorUtils.d.ts.map
|