Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions README.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# kr-corekit

言語: [English](./README.md) | [한국어](./README.ko.md) | [简体中文](./README.zh-CN.md) | [日本語](./README.ja.md)

明確で実用的な API 設計を重視した JavaScript/TypeScript ユーティリティライブラリです。

## 特徴

- 文字列・配列・オブジェクト・非同期・Promise・日付・数値など 130+ 関数
- Tree-shaking しやすいモジュール export
- TypeScript `.d.ts` 型定義を提供
- ESM/CJS バンドルを提供

## インストール

```bash
npm install kr-corekit
# or
pnpm add kr-corekit
# or
yarn add kr-corekit
```

## クイックスタート

```ts
import {
stringUtil,
arrayUtil,
objectUtil,
asyncUtil,
promiseUtil,
dateUtil,
mathUtil,
langUtil,
} from "kr-corekit";

const id = stringUtil.camelCase("user profile id");
const rows = arrayUtil.chunk([1, 2, 3, 4, 5], 2);
const city = objectUtil.get({ user: { profile: { city: "Seoul" } } }, "user.profile.city");

const mapped = await asyncUtil.mapAsync([1, 2, 3], async (v) => v * 2);
const safe = await promiseUtil.withTimeout(fetch("/api/health"), 1000);

const tomorrow = dateUtil.addDays(new Date(), 1);
const average = mathUtil.mean([10, 20, 30]);
const enabled = langUtil.toBoolean("yes");
```

## モジュール

- `stringUtil`: ケース変換、HTML escape/unescape、truncate、slugify
- `arrayUtil`: chunk、flatten、uniq/uniqBy、groupBy、sortBy、集合演算、サンプリング
- `collectionUtil`: 配列/オブジェクト向け map/filter/reduce/find/every/some/includes
- `objectUtil`: get/set/has/merge/defaults/pick/omit/deepClone/deepFreeze
- `numberUtil`: clamp、inRange、random、ceil/floor/round、sum/subtract/multiply
- `mathUtil`: mean/median/min/max/sumBy/minBy/maxBy
- `dateUtil`: 日時加減算、start/end of day、formatDate、日付比較
- `langUtil`: toBoolean/toNumber/toString/defaultTo/castArray/isEqual
- `asyncUtil`: pLimit、mapAsync、filterAsync、eachAsync、series、parallel
- `promiseUtil`: defer、withTimeout、retryWithDelay、settle、toResult
- 既存モジュール: `commonUtil`, `functionUtil`, `validationUtil`, `formatUtil`, `typeUtil`, `cookieUtil`, `deviceUtil`, `searchQueryUtil`

## Tree-Shaking インポート

```ts
import { camelCase } from "kr-corekit/stringUtil";
import { chunk } from "kr-corekit/arrayUtil";
import { get } from "kr-corekit/objectUtil";
import { mapAsync } from "kr-corekit/asyncUtil";
import { withTimeout } from "kr-corekit/promiseUtil";
```

## 全 API サンプル

- 公開 API の全サンプルは [`docs/API_EXAMPLES.md`](./docs/API_EXAMPLES.md) を参照してください。

## ベンチマーク

```bash
npm run benchmark
```

ビルド後にローカルのマイクロベンチマーク [`benchmark/index.mjs`](./benchmark/index.mjs) を実行します。

最新ローカルサンプル(2026-02-25):

```text
array.chunk ~1,065,050 ops/s
object.get ~2,681,055 ops/s
string.camelCase ~1,902,407 ops/s
async.mapAsync ~1,514,005 ops/s
```

## 補足

- API 全体は `package/*/index.ts` と `dist/types/*/index.d.ts` で確認できます。
- 関数ドキュメントを拡張する場合は多言語 README を同期してください。

## ライセンス

MIT
102 changes: 102 additions & 0 deletions README.ko.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# kr-corekit

언어: [English](./README.md) | [한국어](./README.ko.md) | [简体中文](./README.zh-CN.md) | [日本語](./README.ja.md)

명확하고 실용적인 API 설계로 만든 JavaScript/TypeScript 유틸리티 모음입니다.

## 핵심 특징

- 문자열/배열/객체/비동기/Promise/날짜/수학/언어 유틸 포함 130개+ 함수
- 트리 셰이킹에 유리한 모듈 export 구조
- TypeScript `.d.ts` 타입 제공
- ESM/CJS 번들 제공

## 설치

```bash
npm install kr-corekit
# or
pnpm add kr-corekit
# or
yarn add kr-corekit
```

## 빠른 사용 예시

```ts
import {
stringUtil,
arrayUtil,
objectUtil,
asyncUtil,
promiseUtil,
dateUtil,
mathUtil,
langUtil,
} from "kr-corekit";

const id = stringUtil.camelCase("user profile id");
const rows = arrayUtil.chunk([1, 2, 3, 4, 5], 2);
const city = objectUtil.get({ user: { profile: { city: "Seoul" } } }, "user.profile.city");

const mapped = await asyncUtil.mapAsync([1, 2, 3], async (v) => v * 2);
const safe = await promiseUtil.withTimeout(fetch("/api/health"), 1000);

const tomorrow = dateUtil.addDays(new Date(), 1);
const average = mathUtil.mean([10, 20, 30]);
const enabled = langUtil.toBoolean("yes");
```

## 모듈 구성

- `stringUtil`: 케이스 변환, HTML escape/unescape, truncate, slugify
- `arrayUtil`: chunk, flatten, uniq/uniqBy, groupBy, sortBy, 집합 연산, 샘플링
- `collectionUtil`: 배열/객체 대상 map/filter/reduce/find/every/some/includes
- `objectUtil`: get/set/has/merge/defaults/pick/omit/deepClone/deepFreeze
- `numberUtil`: clamp, inRange, random, ceil/floor/round, sum/subtract/multiply
- `mathUtil`: mean/median/min/max/sumBy/minBy/maxBy
- `dateUtil`: 일/시간 가감, 하루 시작/끝, formatDate, 날짜 비교
- `langUtil`: toBoolean/toNumber/toString/defaultTo/castArray/isEqual
- `asyncUtil`: pLimit, mapAsync, filterAsync, eachAsync, series, parallel
- `promiseUtil`: defer, withTimeout, retryWithDelay, settle, toResult
- 기존 모듈: `commonUtil`, `functionUtil`, `validationUtil`, `formatUtil`, `typeUtil`, `cookieUtil`, `deviceUtil`, `searchQueryUtil`

## 트리 셰이킹 import

```ts
import { camelCase } from "kr-corekit/stringUtil";
import { chunk } from "kr-corekit/arrayUtil";
import { get } from "kr-corekit/objectUtil";
import { mapAsync } from "kr-corekit/asyncUtil";
import { withTimeout } from "kr-corekit/promiseUtil";
```

## 전체 API 예제

- 모든 공개 API 예제는 [`docs/API_EXAMPLES.md`](./docs/API_EXAMPLES.md)에서 확인할 수 있습니다.

## 벤치마크

```bash
npm run benchmark
```

빌드 후 [`benchmark/index.mjs`](./benchmark/index.mjs) 기반 로컬 마이크로 벤치마크를 실행합니다.

최신 로컬 샘플 (2026-02-25):

```text
array.chunk ~1,065,050 ops/s
object.get ~2,681,055 ops/s
string.camelCase ~1,902,407 ops/s
async.mapAsync ~1,514,005 ops/s
```

## 참고

- 전체 API는 `package/*/index.ts` 및 `dist/types/*/index.d.ts`에서 확인할 수 있습니다.
- 함수별 문서를 더 확장할 경우 다국어 README 파일을 함께 동기화하세요.

## 라이선스

MIT
Loading