Getting Started
This package is a collection of utilities that I use in nearly every project.
It was part of one of my learning projects, but since it became bigger, and I needed
it for multiple projects, I decided to move it to its own package.
For updates and new features, please refer to the CHANGELOG.md file in the GitHub repository to track all changes.
Installation:
npm install @mustib/utils@latestUsage:
Categories
- 
exports are divided into 3 categories: - /for common utilities that work in both node and browser environments
- /nodefor node environments
- /browserfor browser environments
 
- 
each category exports a global constants variables. 
- 
common utilities can be imported from both /node and /browser 
- 
all utilities are exported as named exports under their category 
- 
both ESM and CJS are supported depending on your package manager configuration (e.g. importvsrequire)
// common utilitiesimport { AppError } from '@mustib/utils';
// node utilitiesimport { EnvVars } from '@mustib/utils/node';
// browser utilitiesimport { getElementBoundaries } from '@mustib/utils/browser';Error Handling
each utility that might throw an error will use AppError class to manage and handle errors in an application. To help filter errors for both scopes: this utility and the library as a whole, each utility that throws errors will export an array of symbols called error scope which includes the global LIBRARY_ERROR_SCOPE constant.
- the exported scopes name should start with the utility name with first letter in lowercase and then ErrorScope like this: utilityNameErrorScope
- it will be stated at the top of each utility docs page the exported error scope variable name if it exports them