Manipulate frozen Arrays
npm install @wildpeaks/frozenTypescript functions to manipulate frozen arrays.
All functions leave the original Array untouched, and return a new frozen Array with the modification.
Install:
npm install @wildpeaks/frozen
---
Appends a single element at the end of an Array.
Usage:
```ts``
function arrayPush
Example:
``ts
import {arrayPush} from '@wildpeaks/frozen';
type MyArray = ReadonlyArray
const srcArray: MyArray = Object.freeze(['zero', 111, 'TWO']);
const newArray: MyArray = arrayPush(srcArray, 333);
// Result:
// srcArray ['zero', 111, 'TWO']
// newArray ['zero', 111, 'TWO', 333]
``
---
Removes a single element, by index.
Usage:
``ts``
function arrayRemove
Example:
``ts
import {arrayRemove} from '@wildpeaks/frozen';
type MyArray = ReadonlyArray
const srcArray: MyArray = Object.freeze(['zero', 111, 'TWO']);
const newArray: MyArray = arrayRemove(srcArray, 0);
// Result:
// srcArray ['zero', 111, 'TWO']
// newArray [111, 'TWO']
``
---
Appends a single element at the end of an Array like arrayPush, but only if the array doesn't already contain the value.
The Array is expected to contain only unique values.
Usage:
``ts``
function arrayUniquePush
Example (the Array doesn't contain the value):
``ts
import {arrayUniquePush} from '@wildpeaks/frozen';
type MyArray = ReadonlyArray
const srcArray: MyArray = Object.freeze(['zero', 111, 'TWO']);
const newArray: MyArray = arrayUniquePush(srcArray, 333);
// Result:
// srcArray ['zero', 111, 'TWO']
// newArray ['zero', 111, 'TWO', 333]
``
Example (the Array already contains the value):
``ts
import {arrayUniquePush} from '@wildpeaks/frozen';
type MyArray = ReadonlyArray
const srcArray: MyArray = Object.freeze(['zero', 111, 'TWO']);
const newArray: MyArray = arrayUniquePush(srcArray, 111);
// Result:
// srcArray ['zero', 111, 'TWO']
// newArray ['zero', 111, 'TWO']
``
---
Removes a single element from an Array, by value (whereas arrayRemove removes by index).
The Array is expected to contain only unique values.
Usage:
``ts``
function arrayUniqueRemove
Example:
``ts
import {arrayUniqueRemove} from '@wildpeaks/frozen';
type MyArray = ReadonlyArray
const srcArray: MyArray = Object.freeze(['zero', 111, 'TWO']);
const newArray: MyArray = arrayUniqueRemove(srcArray, 111);
// Result:
// srcArray ['zero', 111, 'TWO']
// newArray ['zero', 'TWO']
```
---