@meersagor/js-composable
v0.0.1
Published
JS-Composable is a lightweight utility library designed to provide practical helper methods that simplify real-world use cases.
Downloads
69
Maintainers
Readme
js-composable
JS-Composable is a lightweight utility library designed to provide practical helper methods that simplify real-world use cases. Tailored for Node.js projects, it includes a versatile set of functions to streamline repetitive tasks and support common development needs.
Key Features
- Utility-Focused: A collection of helper methods built to tackle everyday coding challenges.
- Modular and Flexible: Use only what you need without bloating your project.
- Node.js Ready: Compatible with any Node.js environment, enhancing productivity and efficiency in server-side applications.
- Real-World Applications: Inspired by actual project needs, providing practical solutions for real scenarios.
With JS-Composable, your Node.js projects get a boost in maintainability and clarity, allowing you to focus on core functionality while the library handles common yet essential utility tasks.
Installation
To install the package, run the following command:
npm i @meersagor/js-composable
Usage
To use the package, import the required methods:
import {generateFormData, logGenerateFormData} from '@meersagor/js-composable';
Example 1: Simple Object
import {generateFormData} from '@meersagor/js-composable';
const obj = {
name: 'Meer Sagor',
age: 24,
skills: ['javaScript', 'typeScript', 'vuejs', 'nuxtjs', 'reactjs', 'nextjs']
};
const result = generateFormData({objectData: obj});
// If you want to log the generated FormData, use the logGenerateFormData method
logGenerateFormData(result);
Example 2: Object with File and Custom File Key
Here is an example of how to use the package with an object that includes a file and a custom file key:
import {logGenerateFormData} from '@meersagor/js-composable';
const obj2 = {
name: 'Meer Sagor',
age: 24,
skills: ['javaScript', 'typeScript', 'vuejs', 'nuxtjs', 'reactjs', 'nextjs'],
file: new File(["content"], "filename.txt") // Example file object
};
const result = generateFormData({objectData: obj2, fileKey: 'attachment'});
// Log the generated FormData
logGenerateFormData(result);
A TypeScript utility for dynamically adding, updating, and ensuring the loading of custom fonts in a web application. This utility helps you define font-face rules for custom fonts, allowing you to update their sources and ensure the fonts are fully loaded in the browser.
Example: To use this loadCustomFontFace
utility
import {loadCustomFontFace} from '@meersagor/js-composable';
await loadCustomFontFace({
fontFamily: 'CustomFont',
srcUrl: 'https://example.com/fonts/CustomFont.woff',
fontStyle: 'normal',
fontWeight: '400',
format: 'woff2',
fontDisplay: 'swap',
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.custom-font{
font-family: 'CustomFont',sans-serif;
}
</style>
</head>
<body>
<h1 class="custom-font">Hello world</h1>
</body>
</html>
Example: To use this generateImageUrlToBase64
utility
To use the generateImageUrlToBase64
function, pass it an object containing the url
of the image to convert and an
optional parseType
to specify the desired output format.
import {generateImageUrlToBase64} from '@meersagor/js-composable';
generateImageUrlToBase64({url: 'https://example.com/image.png'})
.then((base64) => console.log('Base64:', base64))
.catch((error) => console.error('Error:', error));
Methods
generateFormData
This method generates FormData from the provided object.
| Parameters | Type | Description | Default |
|------------|---------------------|---------------------------------------------------------------------------------------|---------|
| objectData | object | The object to be converted into FormData | — |
| fileKey | string (optional)
| The key to use for the file if the object contains a file and want to set custom key. | — |
Returns
FormData
: The generatedFormData
object.logGenerateFormData
This method logs the generatedFormData
to the console.
loadCustomFontFace
| Parameters | Type | Description | Default |
|-------------|--------|-------------------------------------------------------|------------|
| fontFamily | string | The name of the font family. | — |
| srcUrl | string | The URL of the font file. | — |
| format | string | The format of the font (e.g., 'woff'
, 'woff2'
). | 'woff'
|
| fontWeight | string | The weight of the font (e.g., 'normal'
, 'bold'
). | 'normal'
|
| fontStyle | string | The style of the font (e.g., 'normal'
, 'italic'
). | 'normal'
|
| fontDisplay | string | Defines how a font face is displayed. | 'swap'
|
generateImageUrlToBase64
| Parameters | Type | Description | Default |
|------------|--------|-----------------------------------|------------|
| url | string | The URL of the image to convert. | — |
| parseType | string | Output format: 'base64' or 'svg'. | 'base64'
|
License
This package is open-source and available under the MIT License.
Contributing
Contributions are welcome! Please feel free to submit a pull request.
Issues
If you encounter any issues, please create a new issue.