@solid-primitives/utils v6.3.1
@solid-primitives/utils
Solid Primitives Utilities is a support and helper package for a number of primitives in our library. Please free to augment or centralize useful utilities and methods in this package for sharing.
Installation
npm install @solid-primitives/utils
# or
pnpm add @solid-primitives/utils
# or
yarn add @solid-primitives/utilsImmutable helpers
Functional programming helpers for making non-mutating changes to data. Keeping it immutable. Useful for updating signals.
import { pick } from "@solid-primitives/utils/immutable";
const original = { foo: 123, bar: "baz" };
const newObj = pick(original, "foo");
original; // { foo: 123, bar: "baz" }
newObj; // { foo: 123 }Use it for changing signals:
import { push, update } from "@solid-primitives/utils/immutable";
const [list, setList] = createSignal([1, 2, 3]);
setList(p => push(p, 4));
const [user, setUser] = createSignal({
name: "John",
street: { name: "Kingston Cei", number: 24 },
});
setUser(p => update(p, "street", "number", 64));List of functions:
Copying
shallowArrayCopy- make shallow copy of an arrayshallowObjectCopy- make shallow copy of an objectshallowCopy- make shallow copy of an array/objectwithArrayCopy- apply mutations to the an array without changing the originalwithObjectCopy- apply mutations to the an object without changing the originalwithCopy- apply mutations to the an object/array without changing the original
Array
push- non-mutatingArray.prototype.push()drop- non-mutating function that drops n items from the array startdropRight- non-mutating function that drops n items from the array endfilterOut- standaloneArray.prototype.filter()that filters out passed itemfilter- standaloneArray.prototype.filter()sort- non-mutatingArray.prototype.sort()as a standalone functionsortBy- Sort an array by object key, or multiple keysmap- standaloneArray.prototype.map()functionslice- standaloneArray.prototype.slice()functionsplice- non-mutatingArray.prototype.splice()as a standalone functionfill- non-mutatingArray.prototype.fill()as a standalone functionconcat- Creates a new array concatenating array with any additional arrays and/or values.remove- Remove item from arrayremoveItems- Remove multiple items from an arrayflatten- Flattens a nested array into a one-level arrayfilterInstance- Flattens a nested array into a one-level arrayfilterOutInstance- Flattens a nested array into a one-level array
Object
omit- Create a new subset object without the provided keyspick- Create a new subset object with only the provided keyssplit- Split object into multiple subset objects.merge- Merges multiple objects into a single one.
Object/Array
get- Get a single property value of an object by specifying a path to it.update- Change single value in an object by key, or series of recursing keys.
Number
add-a + b + c + ...(works for numbers or strings)substract-a - b - c - ...multiply-a * b * c * ...divide-a / b / c / ...power-a ** b ** c ** ...clamp- clamp a number value between two other values
Changelog
See CHANGELOG.md
10 months ago
6 months ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago