re-array-order
v1.0.7
Published
Reorder array from one index to another index with full type safety and comprehensive errors
Downloads
2
Readme
Re-Array-Order
Installation
npm i re-array-order
Usage
return a deeply cloned array
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
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.
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,
})