Skip to content

aegenet/belt

Repository files navigation

npm version Build Status codecov

Belt monorepo

Mission: 0 dependency.

The main goal of The Belt project is to provide utility libraries to solve more or less common needs, while respecting the 0 dependency.

Tools kit

Browser & Node.js

Name Usage
@aegenet/belt-anti-bounce Anti-bounce (antiBounce decorator, AntiBounce utility)
@aegenet/belt-array-async-filter Array async filter (sequentially)
@aegenet/belt-array-async-foreach Array async foreach (sequentially)
@aegenet/belt-array-async-map Array async map (sequentially)
@aegenet/belt-array-duplicates Strip duplicates from array / get duplicates of an array
@aegenet/belt-array-stats Get stats from array (getPercentile, p10..90, getAverage, getMedian, getClosestNumber, ...)
@aegenet/belt-array-string-join stringJoin() stringConcat() => Array.join() is slow, this tool helps you to join() your string array faster
@aegenet/belt-array-to-obj Array to Object
@aegenet/belt-argv-to-obj Convert an array of command line arguments (argv) to an object
@aegenet/belt-env-to-obj Combine multiple environment variables into one JS object
@aegenet/belt-base64 Base64 (toBase64, fromBase64)
@aegenet/belt-benchmark Benchmark your functions
@aegenet/belt-binary-search Binary search
@aegenet/belt-crc32 CRC32
@aegenet/belt-crc8 CRC8
@aegenet/belt-duration Helps to convert or format durations
@aegenet/belt-error Error tools (getErrorMessage, asError, isSyntaxError, mutateErrorWithRef, RefError...)
@aegenet/belt-extract-domain Extract domain informations from a host name (a.b.c.d.com, to { domain: 'd.com', subdomains: ['c', 'b', 'a'] })
@aegenet/belt-fetch bFetch is fetch with a default timeout and an asynchronous DNS resolver (node only). +fetch utility: ensureFetch response
@aegenet/belt-hide-sensitive Hide Sensititve data from string (Example, small cli to hide passwords/secrets from environment variables in the console output)
@aegenet/belt-hook Hook
@aegenet/belt-interpolation String interpolation
@aegenet/belt-json-ignore JSON Ignore (@jsonIgnore)
@aegenet/belt-light-date (Very) light Date tools
@aegenet/belt-memory-rw Memory RW helps to read/write a buffer sequentially
@aegenet/belt-obj-first-key Object first key
@aegenet/belt-obj-is-empty Object is empty?
@aegenet/belt-obj-is-equals Object is equals objectsIsEquals?
@aegenet/belt-obj-monitoring Object Monitoring - Watcher / Tracker
@aegenet/belt-obj-to-array Object to Array
@aegenet/belt-obj-to-map Object to Map
@aegenet/belt-oclone Object clone
@aegenet/belt-odeep Object Deep
@aegenet/belt-odiff Object Differences
@aegenet/belt-ofields Object fields with value as array
@aegenet/belt-platform-detector Is NodeJS? is Mobile Device?
@aegenet/belt-promise Promise
@aegenet/belt-rows-inflator Rows Inflator, transforms SQL results into nested objects
@aegenet/belt-str-escape-regex String Escape Regex
@aegenet/belt-string-split String Split is an alternative to String.split, with the ability to ignore the split character inside 'tags'
@aegenet/belt-symbols-is-balanced Symbols is balanced ([, ( {)?
@aegenet/belt-task-flow Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)

Node only

Name Usage
@aegenet/belt-fastify-abort Node only - Add an AbortController on Fastify Request
@aegenet/belt-readdir Get all files from a root directory (recursively)

@aegenet/belt - All In One

Name Usage
@aegenet/belt The Belt - 0 dependency

Coverage

codecov

Coverage sunburst

Coverage tree

License

The MIT License - Copyright © 2024 Alexandre Genet.