@fewings/core
Version:
Useful pure functions for frontend development
82 lines (61 loc) • 2.94 kB
Markdown
<p align="center">
<a href="https://github.com/livemehere/fewings">
<img src="https://github.com/livemehere/fewings/blob/master/img/logo.png?raw=true" alt="logo" width="200" />
</a>
<h1 align="center">/core</h1>
<p align="center">
프론트엔드 개발에 유용한 순수 함수 및 클래스 모음
<br/>
각 모듈별로 간결하고 재사용 가능한 유틸리티 함수를 제공합니다
<br/>
다른 파생 패키지의 기본 디펜던시 입니다.
</p>
<p align="center">
<a href="https://www.npmjs.com/package/@fewings/core">npm</a>
·
<a href="https://github.com/livemehere/fewings/blob/master/packages/core/README.md">English</a>
</p>
</p>
## 소개
`/core`는 프론트엔드 개발에서 자주 사용되는 다양한 유틸리티 함수를 제공하는 라이브러리입니다. 각 함수는 최소한의 기능에 집중하여 가볍고 효율적으로 설계되었습니다.
이 라이브러리는 다음과 같은 모듈로 구성되어 있습니다:
- `classes`: 객체 지향 프로그래밍을 위한 클래스 (예: Emitter)
- `color`: 색상 관련 유틸리티
- `converter`: 데이터 변환 유틸리티
- `dom`: DOM 조작 유틸리티
- `fp`: 함수형 프로그래밍 유틸리티 (예: debounce)
- `hash`: 해싱 알고리즘 (예: djb2)
- `math`: 수학 유틸리티 (예: rand, map, clamp, snap)
- `path`: 경로 관련 유틸리티
- `qs`: URL 쿼리 문자열 처리 유틸리티
> 🔍 각 모듈의 함수는 간단하고 명확한 목적을 가지고 있어 소스 코드를 직접 참조하는 것이 가장 좋은 사용법 파악 방법입니다. 대부분의 함수는 자체 설명적인 네이밍과 간결한 구현, 테스트 코드를 가지고 있습니다.
## 설치
```bash
# npm
npm install /core
# yarn
yarn add /core
# pnpm
pnpm add /core
```
## 사용법
각 모듈은 독립적으로 임포트하여 사용할 수 있어, 필요한 기능만 번들에 포함됩니다.
```javascript
// math 모듈에서 특정 함수 임포트
import { clamp } from "@fewings/core/math";
// 값을 특정 범위로 제한
const limitedValue = clamp(150, 0, 100); // 100 반환
// fp 모듈에서 특정 함수 임포트
import { debounce } from "@fewings/core/fp";
// 디바운스된 함수 생성
const debouncedFunction = debounce(() => {
console.log("창 크기 변경 완료");
}, 300);
// 이벤트 리스너에 적용
window.addEventListener("resize", debouncedFunction);
// hash 모듈 사용
import { djb2 } from "@fewings/core/hash";
const hash = djb2("hello world"); // 문자열에서 해시 생성
```
## Contributing
기여는 언제나 환영합니다! 제안, 버그 신고 또는 기능 요청이 있으시면 [GitHub 저장소](https://github.com/livemehere/fewings)에 이슈를 열거나 풀 리퀘스트를 제출해주세요.