@futdevpro/fsm-dynamo 1.14.29 → 1.14.31
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/.github/workflows/main.yml +5 -0
- package/build/_collections/utils/array.util.d.ts.map +1 -1
- package/build/_collections/utils/array.util.js +78 -3
- package/build/_collections/utils/array.util.js.map +1 -1
- package/futdevpro-fsm-dynamo-01.14.31.tgz +0 -0
- package/package.json +17 -6
- package/src/_collections/utils/array.util.ts +103 -3
- package/futdevpro-fsm-dynamo-01.14.29.tgz +0 -0
|
@@ -149,6 +149,11 @@ jobs:
|
|
|
149
149
|
run: |
|
|
150
150
|
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
151
151
|
|
|
152
|
+
- name: Get safe-chain version
|
|
153
|
+
run: |
|
|
154
|
+
VERSION=$(curl -s https://api.github.com/repos/AikidoSec/safe-chain/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's/^v//')
|
|
155
|
+
echo "SAFE_CHAIN_VERSION=$VERSION" >> $GITHUB_ENV
|
|
156
|
+
|
|
152
157
|
- name: Install safe-chain
|
|
153
158
|
run: |
|
|
154
159
|
curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --ci
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/array.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAG3C,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;AAEnC,qBAAa,UAAU;IAErB;;;;;;;;;;;;;OAaG;WACU,YAAY,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"array.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/array.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,9 @@ class DyFM_Array {
|
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
static async asyncForEach(list, func) {
|
|
20
|
+
if (!list) {
|
|
21
|
+
throw new Error('List is required');
|
|
22
|
+
}
|
|
20
23
|
for (let i = 0; i < list.length; i++) {
|
|
21
24
|
await func(list[i], i, list);
|
|
22
25
|
}
|
|
@@ -37,6 +40,9 @@ class DyFM_Array {
|
|
|
37
40
|
* ```
|
|
38
41
|
*/
|
|
39
42
|
static async asyncForEachReturnToOne(startData, list, func) {
|
|
43
|
+
if (!list) {
|
|
44
|
+
throw new Error('List is required');
|
|
45
|
+
}
|
|
40
46
|
let result = startData;
|
|
41
47
|
for (let i = 0; i < list.length; i++) {
|
|
42
48
|
result = await func(list[i], result, i, list);
|
|
@@ -58,6 +64,9 @@ class DyFM_Array {
|
|
|
58
64
|
* ```
|
|
59
65
|
*/
|
|
60
66
|
static async asyncForEachReturnToAll(list, func) {
|
|
67
|
+
if (!list) {
|
|
68
|
+
throw new Error('List is required');
|
|
69
|
+
}
|
|
61
70
|
const resultList = [];
|
|
62
71
|
for (let i = 0; i < list.length; i++) {
|
|
63
72
|
resultList.push(await func(list[i], i, list));
|
|
@@ -80,6 +89,9 @@ class DyFM_Array {
|
|
|
80
89
|
* ```
|
|
81
90
|
*/
|
|
82
91
|
static async asyncForEachAllAtOnce(list, func) {
|
|
92
|
+
if (!list) {
|
|
93
|
+
throw new Error('List is required');
|
|
94
|
+
}
|
|
83
95
|
return await Promise.all(list.map(func));
|
|
84
96
|
}
|
|
85
97
|
/**
|
|
@@ -98,6 +110,9 @@ class DyFM_Array {
|
|
|
98
110
|
* ```
|
|
99
111
|
*/
|
|
100
112
|
static async asyncFilter(list, filterFunc) {
|
|
113
|
+
if (!list) {
|
|
114
|
+
throw new Error('List is required');
|
|
115
|
+
}
|
|
101
116
|
const resultList = [];
|
|
102
117
|
for (let i = 0; i < list.length; i++) {
|
|
103
118
|
if (await filterFunc(list[i], i, list)) {
|
|
@@ -122,6 +137,9 @@ class DyFM_Array {
|
|
|
122
137
|
* ```
|
|
123
138
|
*/
|
|
124
139
|
static async asyncMap(list, mapFunc) {
|
|
140
|
+
if (!list) {
|
|
141
|
+
throw new Error('List is required');
|
|
142
|
+
}
|
|
125
143
|
const resultList = [];
|
|
126
144
|
for (let i = 0; i < list.length; i++) {
|
|
127
145
|
resultList.push(await mapFunc(list[i], i, list));
|
|
@@ -141,7 +159,10 @@ class DyFM_Array {
|
|
|
141
159
|
* ```
|
|
142
160
|
*/
|
|
143
161
|
static last(array) {
|
|
144
|
-
|
|
162
|
+
if (!array) {
|
|
163
|
+
throw new Error('Array is required');
|
|
164
|
+
}
|
|
165
|
+
return array.length ? array[array.length - 1] : null;
|
|
145
166
|
}
|
|
146
167
|
/**
|
|
147
168
|
* Returns true if the string is the last element of the array.
|
|
@@ -157,6 +178,9 @@ class DyFM_Array {
|
|
|
157
178
|
* ```
|
|
158
179
|
*/
|
|
159
180
|
static isLast(element, array) {
|
|
181
|
+
if (!array) {
|
|
182
|
+
throw new Error('Array is required');
|
|
183
|
+
}
|
|
160
184
|
return array.indexOf(element) === array.length - 1;
|
|
161
185
|
}
|
|
162
186
|
/**
|
|
@@ -173,6 +197,9 @@ class DyFM_Array {
|
|
|
173
197
|
* ```
|
|
174
198
|
*/
|
|
175
199
|
static isLastIndex(index, array) {
|
|
200
|
+
if (!array) {
|
|
201
|
+
throw new Error('Array is required');
|
|
202
|
+
}
|
|
176
203
|
return index === array.length - 1;
|
|
177
204
|
}
|
|
178
205
|
/**
|
|
@@ -189,6 +216,9 @@ class DyFM_Array {
|
|
|
189
216
|
* ```
|
|
190
217
|
*/
|
|
191
218
|
static isFirst(element, array) {
|
|
219
|
+
if (!array) {
|
|
220
|
+
throw new Error('Array is required');
|
|
221
|
+
}
|
|
192
222
|
return array.indexOf(element) === 0;
|
|
193
223
|
}
|
|
194
224
|
/**
|
|
@@ -204,7 +234,10 @@ class DyFM_Array {
|
|
|
204
234
|
* ```
|
|
205
235
|
*/
|
|
206
236
|
static lastCharacter(string) {
|
|
207
|
-
|
|
237
|
+
if (!string) {
|
|
238
|
+
throw new Error('String is required');
|
|
239
|
+
}
|
|
240
|
+
return string.length ? string[string.length - 1] : null;
|
|
208
241
|
}
|
|
209
242
|
/**
|
|
210
243
|
* Returns the first element of an array.
|
|
@@ -219,7 +252,10 @@ class DyFM_Array {
|
|
|
219
252
|
* ```
|
|
220
253
|
*/
|
|
221
254
|
static first(array) {
|
|
222
|
-
|
|
255
|
+
if (!array) {
|
|
256
|
+
throw new Error('Array is required');
|
|
257
|
+
}
|
|
258
|
+
return array.length ? array[0] : null;
|
|
223
259
|
}
|
|
224
260
|
/**
|
|
225
261
|
* Removes an element from an array.
|
|
@@ -235,6 +271,9 @@ class DyFM_Array {
|
|
|
235
271
|
* ```
|
|
236
272
|
*/
|
|
237
273
|
static remove(array, element) {
|
|
274
|
+
if (!array) {
|
|
275
|
+
throw new Error('Array is required');
|
|
276
|
+
}
|
|
238
277
|
const index = array.indexOf(element);
|
|
239
278
|
if (-1 < index) {
|
|
240
279
|
array.splice(index, 1);
|
|
@@ -257,6 +296,9 @@ class DyFM_Array {
|
|
|
257
296
|
* ```
|
|
258
297
|
*/
|
|
259
298
|
static findNRemove(array, func) {
|
|
299
|
+
if (!array) {
|
|
300
|
+
throw new Error('Array is required');
|
|
301
|
+
}
|
|
260
302
|
const index = array.findIndex(func);
|
|
261
303
|
if (-1 < index) {
|
|
262
304
|
array.splice(index, 1);
|
|
@@ -276,6 +318,9 @@ class DyFM_Array {
|
|
|
276
318
|
* ```
|
|
277
319
|
*/
|
|
278
320
|
static shuffle(array) {
|
|
321
|
+
if (!array) {
|
|
322
|
+
throw new Error('Array is required');
|
|
323
|
+
}
|
|
279
324
|
let currentIndex = array.length;
|
|
280
325
|
let randomIndex;
|
|
281
326
|
while (0 < currentIndex) {
|
|
@@ -300,6 +345,9 @@ class DyFM_Array {
|
|
|
300
345
|
* ```
|
|
301
346
|
*/
|
|
302
347
|
static page(array, pageIndex, pageSize) {
|
|
348
|
+
if (!array) {
|
|
349
|
+
throw new Error('Array is required');
|
|
350
|
+
}
|
|
303
351
|
return array.slice(pageIndex * pageSize, (pageIndex + 1) * pageSize);
|
|
304
352
|
}
|
|
305
353
|
/**
|
|
@@ -317,6 +365,9 @@ class DyFM_Array {
|
|
|
317
365
|
* ```
|
|
318
366
|
*/
|
|
319
367
|
static paged(array, pageIndex, pageSize) {
|
|
368
|
+
if (!array) {
|
|
369
|
+
throw new Error('Array is required');
|
|
370
|
+
}
|
|
320
371
|
return {
|
|
321
372
|
pageIndex,
|
|
322
373
|
pageSize,
|
|
@@ -340,6 +391,9 @@ class DyFM_Array {
|
|
|
340
391
|
* ```
|
|
341
392
|
*/
|
|
342
393
|
static swap(array, indexA, indexB) {
|
|
394
|
+
if (!array) {
|
|
395
|
+
throw new Error('Array is required');
|
|
396
|
+
}
|
|
343
397
|
[array[indexA], array[indexB]] = [array[indexB], array[indexA]];
|
|
344
398
|
return array;
|
|
345
399
|
}
|
|
@@ -356,6 +410,9 @@ class DyFM_Array {
|
|
|
356
410
|
* ```
|
|
357
411
|
*/
|
|
358
412
|
static stringListHasMultiplications(stringList) {
|
|
413
|
+
if (!stringList) {
|
|
414
|
+
throw new Error('String list is required');
|
|
415
|
+
}
|
|
359
416
|
return stringList.some((str, index) => {
|
|
360
417
|
return stringList.findIndex((strItem) => strItem === str) !== index;
|
|
361
418
|
});
|
|
@@ -373,6 +430,9 @@ class DyFM_Array {
|
|
|
373
430
|
* ```
|
|
374
431
|
*/
|
|
375
432
|
static filterStringMultiplications(stringList) {
|
|
433
|
+
if (!stringList) {
|
|
434
|
+
throw new Error('String list is required');
|
|
435
|
+
}
|
|
376
436
|
return stringList.filter((str, index) => {
|
|
377
437
|
return stringList.findIndex((strItem) => strItem === str) !== index;
|
|
378
438
|
});
|
|
@@ -390,6 +450,9 @@ class DyFM_Array {
|
|
|
390
450
|
* ```
|
|
391
451
|
*/
|
|
392
452
|
static gatherStringMultiplications(stringList) {
|
|
453
|
+
if (!stringList) {
|
|
454
|
+
throw new Error('String list is required');
|
|
455
|
+
}
|
|
393
456
|
const multiplications = [];
|
|
394
457
|
stringList.forEach((str, index) => {
|
|
395
458
|
if (multiplications.find((multiplication) => multiplication.includes(str))) {
|
|
@@ -416,6 +479,9 @@ class DyFM_Array {
|
|
|
416
479
|
* ```
|
|
417
480
|
*/
|
|
418
481
|
static haveMultiplications(dataList, byKey = '_id') {
|
|
482
|
+
if (!dataList) {
|
|
483
|
+
throw new Error('Data list is required');
|
|
484
|
+
}
|
|
419
485
|
return dataList.some((data, index) => {
|
|
420
486
|
return dataList.findIndex((listItem) => listItem[byKey] === data[byKey]) !== index;
|
|
421
487
|
});
|
|
@@ -434,6 +500,9 @@ class DyFM_Array {
|
|
|
434
500
|
* ```
|
|
435
501
|
*/
|
|
436
502
|
static filterMultiplications(dataList, byKey = '_id') {
|
|
503
|
+
if (!dataList) {
|
|
504
|
+
throw new Error('Data list is required');
|
|
505
|
+
}
|
|
437
506
|
return dataList.filter((data, index) => {
|
|
438
507
|
return dataList.findIndex((listItem) => listItem[byKey] === data[byKey]) !== index;
|
|
439
508
|
});
|
|
@@ -452,6 +521,9 @@ class DyFM_Array {
|
|
|
452
521
|
* ```
|
|
453
522
|
*/
|
|
454
523
|
static gatherMultiplications(dataList, byKey = '_id') {
|
|
524
|
+
if (!dataList) {
|
|
525
|
+
throw new Error('Data list is required');
|
|
526
|
+
}
|
|
455
527
|
const multiplications = [];
|
|
456
528
|
dataList.forEach((data, index) => {
|
|
457
529
|
if (multiplications.find((multiplication) => multiplication.includes(data))) {
|
|
@@ -480,6 +552,9 @@ class DyFM_Array {
|
|
|
480
552
|
* ```
|
|
481
553
|
*/
|
|
482
554
|
static findFromEnd(array, func) {
|
|
555
|
+
if (!array) {
|
|
556
|
+
throw new Error('Array is required');
|
|
557
|
+
}
|
|
483
558
|
for (let i = array.length - 1; i >= 0; i--) {
|
|
484
559
|
if (func(array[i], i, array)) {
|
|
485
560
|
return array[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/array.util.ts"],"names":[],"mappings":";;;AAWA,MAAa,UAAU;IAErB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,IAAS,EACT,IAAgE;QAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAClC,SAAY,EACZ,IAAS,EACT,IAA6E;QAE7E,IAAI,MAAM,GAAM,SAAS,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAClC,IAAS,EACT,IAA6D;QAE7D,MAAM,UAAU,GAAQ,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAChC,IAAS,EACT,IAA6D;QAE7D,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,IAAS,EACT,UAAyE;QAEzE,MAAM,UAAU,GAAQ,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CACnB,IAAS,EACT,OAAgE;QAEhE,MAAM,UAAU,GAAQ,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI,CAAI,KAAU;QACvB,
|
|
1
|
+
{"version":3,"file":"array.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/array.util.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/fsm-dynamo",
|
|
3
|
-
"version": "01.14.
|
|
3
|
+
"version": "01.14.31",
|
|
4
4
|
"description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "full-stack-package",
|
|
7
7
|
"tgzFolderName": "dynamo-fsm",
|
|
8
8
|
"systemName": "dynamo"
|
|
9
9
|
},
|
|
10
|
+
"author": "Future Development Program Ltd.",
|
|
11
|
+
"license": "ISC",
|
|
12
|
+
"homepage": "futdevpro.hu/projects/dynamo",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/futdevpro/dynamo-fsm/issues"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/futdevpro/dynamo-fsm.git"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"typescript",
|
|
22
|
+
"full-stack",
|
|
23
|
+
"dynamo"
|
|
24
|
+
],
|
|
10
25
|
"scripts": {
|
|
11
26
|
"prep": "npm i -g pnpm rimraf nodemon jasmine && pnpm i",
|
|
12
27
|
"preprep-setup-safechain-windows": "iex (iwr \"https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.ps1\" -UseBasicParsing)",
|
|
@@ -183,10 +198,6 @@
|
|
|
183
198
|
"data-handler": [ "build/_modules/data-handler/index.d.ts" ]
|
|
184
199
|
}
|
|
185
200
|
},
|
|
186
|
-
"keywords": [],
|
|
187
|
-
"author": "Future Development Program Ltd.",
|
|
188
|
-
"license": "ISC",
|
|
189
|
-
"homepage": "https:/futdevpro.hu/projects/dynamo",
|
|
190
201
|
"peerDependencies": {
|
|
191
202
|
"rxjs": "7.8.1"
|
|
192
203
|
},
|
|
@@ -200,7 +211,7 @@
|
|
|
200
211
|
"uuid": "11.1.0"
|
|
201
212
|
},
|
|
202
213
|
"devDependencies": {
|
|
203
|
-
"@futdevpro/dynamo-eslint": "1.14.
|
|
214
|
+
"@futdevpro/dynamo-eslint": "1.14.27",
|
|
204
215
|
"@types/jasmine": "~4.3.5",
|
|
205
216
|
"@typescript-eslint/eslint-plugin": "^8.41.0",
|
|
206
217
|
"@typescript-eslint/parser": "^8.41.0",
|
|
@@ -29,6 +29,10 @@ export class DyFM_Array {
|
|
|
29
29
|
list: T[],
|
|
30
30
|
func: (element: T, index?: number, array?: T[]) => Promise<void>
|
|
31
31
|
): Promise<void> {
|
|
32
|
+
if (!list) {
|
|
33
|
+
throw new Error('List is required');
|
|
34
|
+
}
|
|
35
|
+
|
|
32
36
|
for (let i = 0; i < list.length; i++) {
|
|
33
37
|
await func(list[i], i, list);
|
|
34
38
|
}
|
|
@@ -54,6 +58,10 @@ export class DyFM_Array {
|
|
|
54
58
|
list: T[],
|
|
55
59
|
func: (element: T, dataCurrent: K, index?: number, array?: T[]) => Promise<K>
|
|
56
60
|
): Promise<K> {
|
|
61
|
+
if (!list) {
|
|
62
|
+
throw new Error('List is required');
|
|
63
|
+
}
|
|
64
|
+
|
|
57
65
|
let result: K = startData;
|
|
58
66
|
|
|
59
67
|
for (let i = 0; i < list.length; i++) {
|
|
@@ -81,6 +89,10 @@ export class DyFM_Array {
|
|
|
81
89
|
list: T[],
|
|
82
90
|
func: (element: T, index?: number, array?: T[]) => Promise<K>
|
|
83
91
|
): Promise<K[]> {
|
|
92
|
+
if (!list) {
|
|
93
|
+
throw new Error('List is required');
|
|
94
|
+
}
|
|
95
|
+
|
|
84
96
|
const resultList: K[] = [];
|
|
85
97
|
|
|
86
98
|
for (let i = 0; i < list.length; i++) {
|
|
@@ -109,6 +121,10 @@ export class DyFM_Array {
|
|
|
109
121
|
list: T[],
|
|
110
122
|
func: (element: T, index?: number, array?: T[]) => Promise<R>
|
|
111
123
|
): Promise<R[]> {
|
|
124
|
+
if (!list) {
|
|
125
|
+
throw new Error('List is required');
|
|
126
|
+
}
|
|
127
|
+
|
|
112
128
|
return await Promise.all(list.map(func));
|
|
113
129
|
}
|
|
114
130
|
|
|
@@ -131,6 +147,10 @@ export class DyFM_Array {
|
|
|
131
147
|
list: T[],
|
|
132
148
|
filterFunc: (element: T, index?: number, array?: T[]) => Promise<boolean>
|
|
133
149
|
): Promise<T[]> {
|
|
150
|
+
if (!list) {
|
|
151
|
+
throw new Error('List is required');
|
|
152
|
+
}
|
|
153
|
+
|
|
134
154
|
const resultList: T[] = [];
|
|
135
155
|
|
|
136
156
|
for (let i = 0; i < list.length; i++) {
|
|
@@ -161,6 +181,10 @@ export class DyFM_Array {
|
|
|
161
181
|
list: T[],
|
|
162
182
|
mapFunc: (element: T, index?: number, array?: T[]) => Promise<R>
|
|
163
183
|
): Promise<R[]> {
|
|
184
|
+
if (!list) {
|
|
185
|
+
throw new Error('List is required');
|
|
186
|
+
}
|
|
187
|
+
|
|
164
188
|
const resultList: R[] = [];
|
|
165
189
|
|
|
166
190
|
for (let i = 0; i < list.length; i++) {
|
|
@@ -183,7 +207,11 @@ export class DyFM_Array {
|
|
|
183
207
|
* ```
|
|
184
208
|
*/
|
|
185
209
|
static last<T>(array: T[]): T | null {
|
|
186
|
-
|
|
210
|
+
if (!array) {
|
|
211
|
+
throw new Error('Array is required');
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
return array.length ? array[array.length - 1] : null;
|
|
187
215
|
}
|
|
188
216
|
|
|
189
217
|
/**
|
|
@@ -200,6 +228,10 @@ export class DyFM_Array {
|
|
|
200
228
|
* ```
|
|
201
229
|
*/
|
|
202
230
|
static isLast<T>(element: T, array: T[]): boolean {
|
|
231
|
+
if (!array) {
|
|
232
|
+
throw new Error('Array is required');
|
|
233
|
+
}
|
|
234
|
+
|
|
203
235
|
return array.indexOf(element) === array.length - 1;
|
|
204
236
|
}
|
|
205
237
|
|
|
@@ -217,6 +249,10 @@ export class DyFM_Array {
|
|
|
217
249
|
* ```
|
|
218
250
|
*/
|
|
219
251
|
static isLastIndex<T>(index: number, array: T[]): boolean {
|
|
252
|
+
if (!array) {
|
|
253
|
+
throw new Error('Array is required');
|
|
254
|
+
}
|
|
255
|
+
|
|
220
256
|
return index === array.length - 1;
|
|
221
257
|
}
|
|
222
258
|
|
|
@@ -234,6 +270,10 @@ export class DyFM_Array {
|
|
|
234
270
|
* ```
|
|
235
271
|
*/
|
|
236
272
|
static isFirst<T>(element: T, array: T[]): boolean {
|
|
273
|
+
if (!array) {
|
|
274
|
+
throw new Error('Array is required');
|
|
275
|
+
}
|
|
276
|
+
|
|
237
277
|
return array.indexOf(element) === 0;
|
|
238
278
|
}
|
|
239
279
|
|
|
@@ -250,7 +290,11 @@ export class DyFM_Array {
|
|
|
250
290
|
* ```
|
|
251
291
|
*/
|
|
252
292
|
static lastCharacter(string: string): string | null {
|
|
253
|
-
|
|
293
|
+
if (!string) {
|
|
294
|
+
throw new Error('String is required');
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
return string.length ? string[string.length - 1] : null;
|
|
254
298
|
}
|
|
255
299
|
|
|
256
300
|
/**
|
|
@@ -266,7 +310,11 @@ export class DyFM_Array {
|
|
|
266
310
|
* ```
|
|
267
311
|
*/
|
|
268
312
|
static first<T>(array: T[]): T | null {
|
|
269
|
-
|
|
313
|
+
if (!array) {
|
|
314
|
+
throw new Error('Array is required');
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
return array.length ? array[0] : null;
|
|
270
318
|
}
|
|
271
319
|
|
|
272
320
|
/**
|
|
@@ -283,6 +331,10 @@ export class DyFM_Array {
|
|
|
283
331
|
* ```
|
|
284
332
|
*/
|
|
285
333
|
static remove<T>(array: T[], element: T): T[] {
|
|
334
|
+
if (!array) {
|
|
335
|
+
throw new Error('Array is required');
|
|
336
|
+
}
|
|
337
|
+
|
|
286
338
|
const index = array.indexOf(element);
|
|
287
339
|
|
|
288
340
|
if (-1 < index) {
|
|
@@ -311,6 +363,10 @@ export class DyFM_Array {
|
|
|
311
363
|
array: T[],
|
|
312
364
|
func: (element: T, index?: number, array?: T[]) => boolean
|
|
313
365
|
): T[] {
|
|
366
|
+
if (!array) {
|
|
367
|
+
throw new Error('Array is required');
|
|
368
|
+
}
|
|
369
|
+
|
|
314
370
|
const index = array.findIndex(func);
|
|
315
371
|
|
|
316
372
|
if (-1 < index) {
|
|
@@ -333,6 +389,10 @@ export class DyFM_Array {
|
|
|
333
389
|
* ```
|
|
334
390
|
*/
|
|
335
391
|
static shuffle<T>(array: T[]): T[] {
|
|
392
|
+
if (!array) {
|
|
393
|
+
throw new Error('Array is required');
|
|
394
|
+
}
|
|
395
|
+
|
|
336
396
|
let currentIndex = array.length;
|
|
337
397
|
let randomIndex: number;
|
|
338
398
|
|
|
@@ -361,6 +421,10 @@ export class DyFM_Array {
|
|
|
361
421
|
* ```
|
|
362
422
|
*/
|
|
363
423
|
static page<T>(array: T[], pageIndex: number, pageSize: number): T[] {
|
|
424
|
+
if (!array) {
|
|
425
|
+
throw new Error('Array is required');
|
|
426
|
+
}
|
|
427
|
+
|
|
364
428
|
return array.slice(pageIndex * pageSize, (pageIndex + 1) * pageSize);
|
|
365
429
|
}
|
|
366
430
|
|
|
@@ -379,6 +443,10 @@ export class DyFM_Array {
|
|
|
379
443
|
* ```
|
|
380
444
|
*/
|
|
381
445
|
static paged<T>(array: T[], pageIndex: number, pageSize: number): DyFM_Paged<T> {
|
|
446
|
+
if (!array) {
|
|
447
|
+
throw new Error('Array is required');
|
|
448
|
+
}
|
|
449
|
+
|
|
382
450
|
return {
|
|
383
451
|
pageIndex,
|
|
384
452
|
pageSize,
|
|
@@ -403,6 +471,10 @@ export class DyFM_Array {
|
|
|
403
471
|
* ```
|
|
404
472
|
*/
|
|
405
473
|
static swap<T>(array: T[], indexA: number, indexB: number): T[] {
|
|
474
|
+
if (!array) {
|
|
475
|
+
throw new Error('Array is required');
|
|
476
|
+
}
|
|
477
|
+
|
|
406
478
|
[ array[indexA], array[indexB] ] = [ array[indexB], array[indexA] ];
|
|
407
479
|
|
|
408
480
|
return array;
|
|
@@ -421,6 +493,10 @@ export class DyFM_Array {
|
|
|
421
493
|
* ```
|
|
422
494
|
*/
|
|
423
495
|
static stringListHasMultiplications(stringList: string[]): boolean {
|
|
496
|
+
if (!stringList) {
|
|
497
|
+
throw new Error('String list is required');
|
|
498
|
+
}
|
|
499
|
+
|
|
424
500
|
return stringList.some((str: string, index: number): boolean => {
|
|
425
501
|
return stringList.findIndex((strItem: string): boolean => strItem === str) !== index;
|
|
426
502
|
});
|
|
@@ -439,6 +515,10 @@ export class DyFM_Array {
|
|
|
439
515
|
* ```
|
|
440
516
|
*/
|
|
441
517
|
static filterStringMultiplications(stringList: string[]): string[] {
|
|
518
|
+
if (!stringList) {
|
|
519
|
+
throw new Error('String list is required');
|
|
520
|
+
}
|
|
521
|
+
|
|
442
522
|
return stringList.filter((str: string, index: number): boolean => {
|
|
443
523
|
return stringList.findIndex((strItem: string): boolean => strItem === str) !== index;
|
|
444
524
|
});
|
|
@@ -457,6 +537,10 @@ export class DyFM_Array {
|
|
|
457
537
|
* ```
|
|
458
538
|
*/
|
|
459
539
|
static gatherStringMultiplications(stringList: string[]): string[][] {
|
|
540
|
+
if (!stringList) {
|
|
541
|
+
throw new Error('String list is required');
|
|
542
|
+
}
|
|
543
|
+
|
|
460
544
|
const multiplications: string[][] = [];
|
|
461
545
|
|
|
462
546
|
stringList.forEach((str: string, index: number): void => {
|
|
@@ -490,6 +574,10 @@ export class DyFM_Array {
|
|
|
490
574
|
* ```
|
|
491
575
|
*/
|
|
492
576
|
static haveMultiplications<T extends object>(dataList: T[], byKey: keyof T = '_id' as keyof T): boolean {
|
|
577
|
+
if (!dataList) {
|
|
578
|
+
throw new Error('Data list is required');
|
|
579
|
+
}
|
|
580
|
+
|
|
493
581
|
return dataList.some((data: T, index: number): boolean => {
|
|
494
582
|
return dataList.findIndex(
|
|
495
583
|
(listItem: T): boolean => listItem[byKey] === data[byKey]
|
|
@@ -511,6 +599,10 @@ export class DyFM_Array {
|
|
|
511
599
|
* ```
|
|
512
600
|
*/
|
|
513
601
|
static filterMultiplications<T extends object>(dataList: T[], byKey: keyof T = '_id' as keyof T): T[] {
|
|
602
|
+
if (!dataList) {
|
|
603
|
+
throw new Error('Data list is required');
|
|
604
|
+
}
|
|
605
|
+
|
|
514
606
|
return dataList.filter((data: T, index: number): boolean => {
|
|
515
607
|
return dataList.findIndex(
|
|
516
608
|
(listItem: T): boolean => listItem[byKey] === data[byKey]
|
|
@@ -532,6 +624,10 @@ export class DyFM_Array {
|
|
|
532
624
|
* ```
|
|
533
625
|
*/
|
|
534
626
|
static gatherMultiplications<T extends object>(dataList: T[], byKey: keyof T = '_id' as keyof T): T[][] {
|
|
627
|
+
if (!dataList) {
|
|
628
|
+
throw new Error('Data list is required');
|
|
629
|
+
}
|
|
630
|
+
|
|
535
631
|
const multiplications: T[][] = [];
|
|
536
632
|
|
|
537
633
|
dataList.forEach((data: T, index: number): void => {
|
|
@@ -569,6 +665,10 @@ export class DyFM_Array {
|
|
|
569
665
|
func: (element: T, index?: number,
|
|
570
666
|
array?: T[]) => boolean
|
|
571
667
|
): T | null {
|
|
668
|
+
if (!array) {
|
|
669
|
+
throw new Error('Array is required');
|
|
670
|
+
}
|
|
671
|
+
|
|
572
672
|
for (let i = array.length - 1; i >= 0; i--) {
|
|
573
673
|
if (func(array[i], i, array)) {
|
|
574
674
|
return array[i];
|
|
Binary file
|