https://github.com/tylim88/re-array-order
Reorder array from one index to another index with full type safety and comprehensive errors
https://github.com/tylim88/re-array-order
npm-package typescript
Last synced: about 2 months ago
JSON representation
Reorder array from one index to another index with full type safety and comprehensive errors
- Host: GitHub
- URL: https://github.com/tylim88/re-array-order
- Owner: tylim88
- License: mit
- Created: 2022-05-04T23:31:22.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-10T16:18:13.000Z (over 2 years ago)
- Last Synced: 2025-03-01T19:49:17.441Z (3 months ago)
- Topics: npm-package, typescript
- Language: TypeScript
- Homepage:
- Size: 649 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Re-Array-Order
## Installation
```bash
npm i re-array-order
```## Usage
return a deeply cloned array
```ts
import { reorder } from 're-array-order'const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
reorder(arr, { from: 0, to: 9 }) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
reorder(arr, { from: 7, to: 3 }) // [0, 1, 2, 7, 4, 5, 6, 3, 8, 9]
```throw error if `from` or `to` is invalid
```ts
import { reorder } from 're-array-order'const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
reorder(arr, { from: 10, to: 0 }) // from out of range
reorder(arr, { from: 0, to: 10 }) // to out of range
reorder(arr, { from: 1, to: -1 as number }) // to smaller than 0
reorder(arr, { from: -1 as number, to: 1 }) // from smaller than 0
reorder(arr, { from: 1, to: 1.34 as number }) // to is not an integer
reorder(arr, { from: 0.237 as number, to: 1 }) // from is not an integer
reorder([], { from: 0 as number, to: 0 }) // empty array
```## Block invalid number
Typescript will stop you from using fresh negative number and fresh decimal number.
`fresh` refer to value that is not attached to any variable.
`number` is a valid type.
```ts
import { reorder } from 're-array-order'const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
reorder(arr, {
// @ts-expect-error
from: -1,
// @ts-expect-error
to: -9,
})reorder(arr, {
// @ts-expect-error
from: 1.4233,
// @ts-expect-error
to: 8.82738,
})reorder(arr, {
// @ts-expect-error
from: -1.4233,
// @ts-expect-error
to: -8.82738,
})
```