@keload/node-red-contrib-ultimate-toolkit
Version:
A collection of (moderns) useful tools for Node-RED
416 lines (154 loc) β’ 5.75 kB
Markdown
# node-red-contrib-ultimate-toolkit
A collection of utilities to help you build your Node-RED flows.
<br/>
<p align="center">
<a href="https://www.npmjs.com/package/@keload/node-red-dxp" aria-label="Build with node-red-dxp">
<img src="https://img.shields.io/badge/Build%20with-node--red--dxp-blue?style=for-the-badge" alt="Build with node-red-dxp">
</a>
</p>
<p align="center">
<a href="https://github.com/clement-berard/node-red-contrib-ultimate-toolkit/graphs/contributors">
<img src="https://img.shields.io/github/contributors/clement-berard/node-red-contrib-ultimate-toolkit.svg?style=for-the-badge" alt="Contributors">
</a>
<a href="https://github.com/clement-berard/node-red-contrib-ultimate-toolkit/network/members">
<img src="https://img.shields.io/github/forks/clement-berard/node-red-contrib-ultimate-toolkit.svg?style=for-the-badge" alt="Forks">
</a>
<a href="https://github.com/clement-berard/node-red-contrib-ultimate-toolkit/stargazers">
<img src="https://img.shields.io/github/stars/clement-berard/node-red-contrib-ultimate-toolkit.svg?style=for-the-badge" alt="Stargazers">
</a>
<a href="https://github.com/clement-berard/node-red-contrib-ultimate-toolkit/issues">
<img src="https://img.shields.io/github/issues/clement-berard/node-red-contrib-ultimate-toolkit.svg?style=for-the-badge" alt="Issues">
</a>
</p>
<p align="center">
<a aria-label="NPM Version" href="https://www.npmjs.com/package/@keload/node-red-contrib-ultimate-toolkit">
<img alt="NPM Version" src="https://img.shields.io/npm/v/@keload/node-red-contrib-ultimate-toolkit.svg?label=NPM&logo=npm&style=for-the-badge&color=0470FF&logoColor=white">
</a>
<a aria-label="NPM Download Count" href="https://www.npmjs.com/package/@keload/node-red-contrib-ultimate-toolkit">
<img alt="NPM Downloads" src="https://img.shields.io/npm/dt/@keload/node-red-contrib-ultimate-toolkit?label=Downloads&style=for-the-badge&color=67ACF3">
</a>
</p>
## Overview π¦
β¨ Simplify and optimize your Node-RED flows with this versatile package! β¨
Effortlessly handle date formatting, math operations, data manipulation, and moreβall **in a single node.**
When needed, the following libraries were used sparingly:
- [es-toolkit](https://es-toolkit.slash.page/)
- [radash](https://radash-docs.vercel.app/docs/getting-started)
- [tempo](https://tempo.formkit.com/)
Whenever possible, native Node.js methods take precedence for maximum efficiency.
**One node to rule them allβstreamline your flows like never before!**

## Performance π
All used libraries are treeshaked and included in the final bundle.
**No extra dependencies are added**
[Very small distribution](https://www.npmjs.com/package/@keload/node-red-contrib-ultimate-toolkit?activeTab=code) **size < 40kb**.
## Features β¨
### β Array Utilities
<hr>
β `Get Random Item`
β `Group By`
β `Key By`
β `Shuffle`
β `Sum`
β `Take`
β `Take Right`
β `Toggle`
β `Unique`
### β Async Utilities
<hr>
β `Delay`
Delays the message by the specified amount of time
### β Date Utilities
<hr>
β `Current Timezone`
Returns the current timezone
β `Format`
Return formatted date from a date
β `Now`
Returns the current date with lot of formatting options
β `Time Range`
Routes messages depending on the time
### β Math Utilities
<hr>
β `Abs`
β `Acos`
β `Asin`
β `Atan`
β `Ceil`
β `Cos`
β `Exp`
β `Floor`
β `Log`
β `Max`
β `Mean`
β `Median`
β `Min`
β `Random`
β `Round`
β `Sin`
β `Sum`
β `Tan`
β `Trunc`
### β Network Utilities
<hr>
β `Ip Information`
Fetches detailed information about an IP address
β `Ip Version`
Returns IP version (4, 6, or 0 if invalid) for a given IP address string
β `Network Interfaces`
Lists all network interfaces of the current machine (ethernet, wifi, etc.)
### β Object Utilities
<hr>
β `Get Keys`
### β Predicates
<hr>
β `Is Boolean`
β `Is Buffer`
β `Is Ip`
β `Is Na N`
β `Is Nil`
β `Is Null`
β `Is Number`
β `Is String`
β `Is Undefined`
β `Is Url`
### β String Utilities
<hr>
β `Camel Case`
β `Capitalize`
β `Constant Case`
β `Escape`
β `Kebab Case`
β `Lower Case`
β `Lower First`
β `Pascal Case`
β `Snake Case`
β `Start Case`
β `Trim`
β `Trim End`
β `Trim Start`
β `Unescape`
β `Upper Case`
β `Upper First`
β `Words`
### β Utility Functions
<hr>
β `Eq`
β `Gt`
β `Gte`
β `Lt`
β `Lte`
β `Size`
β `To Boolean`
β `To Boolean Number`
β `To Number`
β `To Number Non Strict`
β `To Safe Integer`
β `To String`
## Contributing & Developer Experience
This package is built using [node-red-dxp](https://www.npmjs.com/package/@keload/node-red-dxp), offering a blazing-fast and seamless way to develop Node-RED packages.
Written in **TypeScript**, the codebase is cleanly structured, ensuring maintainability and effortless scalability.
Weβre committed to keeping this node alive and thriving, making it a joy to evolve and improve over time. Whether it's refining existing features or adding new capabilities, contributing should always be an enjoyable experience.
Feel free to join the journeyβcreate issues, submit pull requests, or share your ideas. Letβs build something incredible together!
## License
MIT