@fewings/core v1.0.0
Introduction
@fewings/core is a library that provides various utility functions commonly used in frontend development. Each function is designed to be lightweight and efficient by focusing on minimal functionality.
This library consists of the following modules:
classes: Classes for object-oriented programming (e.g., Emitter)color: Color-related utilitiesconverter: Data conversion utilitiesdom: DOM manipulation utilitiesfp: Functional programming utilities (e.g., debounce)hash: Hashing algorithms (e.g., djb2)math: Math utilities (e.g., rand, map, clamp, snap)path: Path-related utilitiesqs: URL query string handling utilities
🔍 Each module's functions have simple and clear purposes, so directly referring to the source code is the best way to understand their usage. Most functions have self-explanatory naming, concise implementation, and test code.
Installation
# npm
npm install @fewings/core
# yarn
yarn add @fewings/core
# pnpm
pnpm add @fewings/coreUsage
Each module can be imported independently, allowing only the necessary functionality to be included in your bundle.
// Import specific function from math module
import { clamp } from "@fewings/core/math";
// Limit a value to a specific range
const limitedValue = clamp(150, 0, 100); // Returns 100
// Import specific function from fp module
import { debounce } from "@fewings/core/fp";
// Create a debounced function
const debouncedFunction = debounce(() => {
console.log("Window resize completed");
}, 300);
// Apply to event listener
window.addEventListener("resize", debouncedFunction);
// Use hash module
import { djb2 } from "@fewings/core/hash";
const hash = djb2("hello world"); // Generate hash from stringContributing
Contributions are always welcome! If you have suggestions, bug reports, or feature requests, please open an issue or submit a pull request on the GitHub repository.