Set of JavasScript utilities, modular, performant, and easy to use.
npm
npm i @mdor/js-extensions -S
npm install @mdor/js-extensions --save
yarn
yarn add @mdor/js-extensions
yarn workspace <workspace-name> @mdor/js-extensions
- Extracts a property from any given input, if the property is not present, then a fallback value will be returned.
const user = {
id: "123123456",
active: true,
attributes: {
name: "Joe",
},
trades: [
{
id: "werwe224",
bill: 123454,
},
],
};
const userName = getFrom("attributes.name")(user);
const userFirstBill = getFrom('attributes.trades.[0]["bill"]')(user);
Set or override a property in any given input, if the path is not present, then it will be created.
const user = {
id: "123123456",
active: true,
attributes,
};
setInto("attributes.name", "Marco")(user);
// equivalent setInto(["attributes", "name"], "Marco")(user);
// output Joe
setInto('attributes.trades.[0]["bill"]', 100)(user);
// equivalent setInto(["attributes", "trades", 0, "bill"], 100)(user);
// output 123454
setInto("attributes.trades.1.bill", 0)(user);
// equivalent setInto(["attributes", "trades", 1, "bill"], 0)(user);
// output 0