@d-matrix/utils 1.19.0 → 1.20.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.
- package/dist/array.d.ts +2 -0
- package/dist/array.js +13 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +1 -1
- package/readme.md +25 -0
package/dist/array.d.ts
ADDED
package/dist/array.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function moveMutable(array, fromIndex, toIndex) {
|
|
2
|
+
const startIndex = fromIndex < 0 ? array.length + fromIndex : fromIndex;
|
|
3
|
+
if (startIndex >= 0 && startIndex < array.length) {
|
|
4
|
+
const endIndex = toIndex < 0 ? array.length + toIndex : toIndex;
|
|
5
|
+
const [item] = array.splice(fromIndex, 1);
|
|
6
|
+
array.splice(endIndex, 0, item);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export function moveImmutable(array, fromIndex, toIndex) {
|
|
10
|
+
const newArray = [...array];
|
|
11
|
+
moveMutable(newArray, fromIndex, toIndex);
|
|
12
|
+
return newArray;
|
|
13
|
+
}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -19,6 +19,7 @@ A dozen of utils for Front-End Development
|
|
|
19
19
|
- [operator](#operator)
|
|
20
20
|
- [decimal](#decimal)
|
|
21
21
|
- [object](#object)
|
|
22
|
+
- [array](#array)
|
|
22
23
|
- [echarts](#echarts)
|
|
23
24
|
|
|
24
25
|
### clipboard
|
|
@@ -484,6 +485,30 @@ removeZeroValueKeys({ a: '', b: 'abc', c: undefined, d: null, e: NaN, f: -1, g:
|
|
|
484
485
|
// { b: 'abc', f: -1 }
|
|
485
486
|
```
|
|
486
487
|
|
|
488
|
+
## array
|
|
489
|
+
|
|
490
|
+
- `moveImmutable<T>(array: T[], fromIndex: number, toIndex: number): T[]`
|
|
491
|
+
|
|
492
|
+
```js
|
|
493
|
+
import { array } from '@d-matrix/utils';
|
|
494
|
+
|
|
495
|
+
const input = ['a', 'b', 'c'];
|
|
496
|
+
|
|
497
|
+
const array1 = array.moveImmutable(input, 1, 2);
|
|
498
|
+
console.log(array1);
|
|
499
|
+
//=> ['a', 'c', 'b']
|
|
500
|
+
|
|
501
|
+
const array2 = array.moveImmutable(input, -1, 0);
|
|
502
|
+
console.log(array2);
|
|
503
|
+
//=> ['c', 'a', 'b']
|
|
504
|
+
|
|
505
|
+
const array3 = array.moveImmutable(input, -2, -3);
|
|
506
|
+
console.log(array3);
|
|
507
|
+
//=> ['b', 'a', 'c']
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
- `moveMutable<T>(array: T[], fromIndex: number, toIndex: number): void`
|
|
511
|
+
|
|
487
512
|
## echarts
|
|
488
513
|
|
|
489
514
|
- `mergeOption(defaults: EChartsOption, overrides: EChartsOption, option?: deepmerge.Options): EChartsOption`
|