Installation
Install the package with your preferred package manager
선호하는 패키지 매니저로 패키지를 설치하세요
Demo example
DEMO EXAMPLE
데모 예제
Low Level Utilities
Essential utility functions for common programming tasks
일반적인 프로그래밍 작업을 위한 필수 유틸리티 함수
ArrayUtils
Comprehensive array manipulation utilities including 2D arrays, shuffling, and set operations
2D 배열, 셔플링, 집합 연산을 포함한 포괄적인 배열 조작 유틸리티
OTHER FUNCTIONS기타 함수
shuffle
<T>(array: T[]): T[]Randomly shuffle array elements배열 요소를 무작위로 섞기create2DArray
<T>(rows: number, cols: number, defaultValue: T): T[][]Create 2D array with default values기본값으로 2D 배열 생성union
<T>(arr1: T[], arr2: T[]): T[]Union of two arrays두 배열의 합집합intersection
<T>(arr1: T[], arr2: T[]): T[]Intersection of two arrays두 배열의 교집합difference
<T>(arr1: T[], arr2: T[]): T[]Difference of two arrays두 배열의 차집합unique
<T>(array: T[]): T[]Remove duplicate elements중복 요소 제거chunk
<T>(array: T[], size: number): T[][]Split array into chunks배열을 청크로 분할flatten
<T>(array: any[]): T[]Flatten nested arrays중첩 배열 평탄화groupBy
<T>(array: T[], key: keyof T | ((item: T) => any)): Record<string, T[]>Group array by key키로 배열 그룹화
StringUtils
Advanced string manipulation including trimming, padding, emoji handling, and Korean postposition
트리밍, 패딩, 이모지 처리, 한글 조사 처리를 포함한 고급 문자열 조작
OTHER FUNCTIONS기타 함수
withPostposition
(word: string, postposition: string): stringAdd Korean postposition (을/를, 이/가, etc.)한글 조사 추가 (을/를, 이/가 등)padLeft
(str: string, length: number, char: string): stringPad string on the left문자열 왼쪽에 패딩 추가padRight
(str: string, length: number, char: string): stringPad string on the right문자열 오른쪽에 패딩 추가lengthWithEmoji
(str: string): numberCalculate string length including emojis이모지 포함 문자열 길이 계산trim
(str: string): stringTrim whitespace from both ends양쪽 공백 제거trimLeft
(str: string): stringTrim whitespace from left왼쪽 공백 제거trimRight
(str: string): stringTrim whitespace from right오른쪽 공백 제거capitalize
(str: string): stringCapitalize first letter첫 글자 대문자화camelCase
(str: string): stringConvert to camelCase카멜케이스로 변환snakeCase
(str: string): stringConvert to snake_case스네이크케이스로 변환kebabCase
(str: string): stringConvert to kebab-case케밥케이스로 변환truncate
(str: string, length: number, suffix?: string): stringTruncate string with suffix접미사와 함께 문자열 자르기
ObjectUtils
Object manipulation utilities including deep copy, path operations, script evaluation, and path detection
깊은 복사, 경로 연산, 스크립트 평가, 경로 감지를 포함한 객체 조작 유틸리티
OTHER FUNCTIONS기타 함수
deepCopy
<T>(obj: T): TCreate deep copy of object객체의 깊은 복사 생성getByPath
(obj: any, path: string): anyGet value by dot notation path점 표기법 경로로 값 가져오기setByPath
(obj: any, path: string, value: any): voidSet value by dot notation path점 표기법 경로로 값 설정hasPath
(obj: any, path: string): booleanCheck if path exists경로 존재 여부 확인deletePath
(obj: any, path: string): booleanDelete path from object객체에서 경로 삭제evalScript
(script: string, context: Record<string, any>): anyEvaluate script in context컨텍스트에서 스크립트 평가merge
<T>(target: T, ...sources: Partial<T>[]): TDeep merge objects객체 깊은 병합pick
<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>Pick properties from object객체에서 속성 선택omit
<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>Omit properties from object객체에서 속성 제외
ConvertUtils
Utilities for converting data between different formats and types
다양한 형식과 타입 간 데이터 변환 유틸리티
OTHER FUNCTIONS기타 함수
toBase64
(str: string): stringEncode string to Base64Encode string to Base64fromBase64
(str: string): stringDecode Base64 stringDecode Base64 stringtoJSON
(obj: any): stringConvert object to JSON string객체를 JSON 문자열로 변환fromJSON<T>
(json: string): TParse JSON string to objectParse JSON string to objecttoNumber
(value: any): numberConvert value to numberConvert value to numbertoBoolean
(value: any): booleanConvert value to booleanConvert value to booleantoString
(value: any): stringConvert value to stringConvert value to stringtoArray<T>
(value: T | T[]): T[]Convert value to arrayConvert value to arrayhexToRgb
(hex: string): { r: number, g: number, b: number }Convert hex color to RGB16진수 색상을 RGB로 변환rgbToHex
(r: number, g: number, b: number): stringConvert RGB to hex colorRGB를 16진수 색상으로 변환
FunctionUtils
Utilities for function manipulation and higher-order functions
함수 조작 및 고차 함수를 위한 유틸리티
OTHER FUNCTIONS기타 함수
debounce<T extends
(...args: any[]) => any>(fn: T, delay: number): TDebounce function callsDebounce function callsthrottle<T extends
(...args: any[]) => any>(fn: T, limit: number): TThrottle function callsThrottle function callsmemoize<T extends
(...args: any[]) => any>(fn: T): TMemoize function results함수 결과 메모이제이션once<T extends
(...args: any[]) => any>(fn: T): TExecute function only once함수를 한 번만 실행curry<T extends
(...args: any[]) => any>(fn: T): anyCurry function함수 커링compose<T>
(...fns: Function[]): (arg: T) => anyCompose functions right-to-leftCompose functions right-to-leftpipe<T>
(...fns: Function[]): (arg: T) => anyPipe functions left-to-rightPipe functions left-to-rightpartial<T extends
(...args: any[]) => any>(fn: T, ...args: any[]): TPartial applicationPartial application
MathUtil
Mathematical operations and calculations utilities
수학 연산 및 계산 유틸리티
OTHER FUNCTIONS기타 함수
clamp
(value: number, min: number, max: number): numberClamp value between min and max값을 최소/최대 범위로 제한lerp
(start: number, end: number, t: number): numberLinear interpolation선형 보간randomInt
(min: number, max: number): numberRandom integer in range범위 내 무작위 정수round
(value: number, decimals: number): numberRound to decimal places소수점 자리수로 반올림toRadians
(degrees: number): numberConvert degrees to radians도를 라디안으로 변환toDegrees
(radians: number): numberConvert radians to degrees라디안을 도로 변환average
(...numbers: number[]): numberCalculate average평균 계산sum
(...numbers: number[]): numberCalculate sum합계 계산max
(...numbers: number[]): numberFind maximumFind maximummin
(...numbers: number[]): numberFind minimumFind minimum
DateUtils
Date formatting, parsing, and manipulation utilities
날짜 포맷팅, 파싱 및 조작 유틸리티
OTHER FUNCTIONS기타 함수
format
(date: Date, format: string): stringFormat date to stringFormat date to stringparse
(dateString: string, format: string): DateParse string to dateParse string to dateaddDays
(date: Date, days: number): DateAdd days to date날짜에 일수 추가addMonths
(date: Date, months: number): DateAdd months to date날짜에 월 추가addYears
(date: Date, years: number): DateAdd years to date날짜에 연도 추가diffInDays
(date1: Date, date2: Date): numberDifference in days일수 차이diffInHours
(date1: Date, date2: Date): numberDifference in hours시간 차이isSameDay
(date1: Date, date2: Date): booleanCheck if same day같은 날 확인isToday
(date: Date): booleanCheck if today오늘인지 확인isFuture
(date: Date): booleanCheck if future date미래 날짜 확인isPast
(date: Date): booleanCheck if past date과거 날짜 확인
URLUtils
URL parsing, building, and manipulation utilities
URL 파싱, 빌딩 및 조작 유틸리티
OTHER FUNCTIONS기타 함수
parseQuery
(queryString: string): Record<string, string>Parse query string to objectParse query string to objectbuildQuery
(params: Record<string, any>): stringBuild query string from objectBuild query string from objectjoin
(...parts: string[]): stringJoin URL partsJoin URL partsgetDomain
(url: string): stringExtract domain from URLExtract domain from URLgetPath
(url: string): stringExtract path from URLExtract path from URLisAbsolute
(url: string): booleanCheck if absolute URL절대 URL 확인isRelative
(url: string): booleanCheck if relative URL상대 URL 확인addQueryParam
(url: string, key: string, value: any): stringAdd query parameter쿼리 파라미터 추가removeQueryParam
(url: string, key: string): stringRemove query parameter쿼리 파라미터 제거
ValidUtils
Data validation and type checking utilities
데이터 검증 및 타입 체크 유틸리티
OTHER FUNCTIONS기타 함수
isEmail
(value: string): booleanValidate email address이메일 주소 검증isURL
(value: string): booleanValidate URLURL 검증isNumber
(value: any): booleanCheck if number숫자 확인isString
(value: any): booleanCheck if string문자열 확인isBoolean
(value: any): booleanCheck if boolean불린 확인isArray
(value: any): booleanCheck if array배열 확인isObject
(value: any): booleanCheck if object객체 확인isFunction
(value: any): booleanCheck if function함수 확인isEmpty
(value: any): booleanCheck if empty (null, undefined, '', [], {})Check if empty (null, undefined, '', [], {})isNull
(value: any): booleanCheck if nullnull 확인isUndefined
(value: any): booleanCheck if undefinedundefined 확인isNullOrUndefined
(value: any): booleanCheck if null or undefinedCheck if null or undefined
RandomUtils
Random number and data generation utilities
난수 및 데이터 생성 유틸리티
OTHER FUNCTIONS기타 함수
int
(min: number, max: number): numberRandom integer in range범위 내 무작위 정수float
(min: number, max: number): numberRandom float in rangeRandom float in rangestring
(length: number, charset?: string): stringRandom string무작위 문자열uuid
(): stringGenerate UUID v4Generate UUID v4pick<T>
(array: T[]): TPick random element from arrayPick random element from arraypickMultiple<T>
(array: T[], count: number): T[]Pick multiple random elementsPick multiple random elementsboolean
(): booleanRandom boolean무작위 불린hexColor
(): stringRandom hex color무작위 16진수 색상date
(start: Date, end: Date): DateRandom date in rangeRandom date in range
ImageUtils
Image processing and manipulation utilities
이미지 처리 및 조작 유틸리티
OTHER FUNCTIONS기타 함수
load
(src: string): Promise<HTMLImageElement>Load image from URLURL에서 이미지 로드resize
(img: HTMLImageElement, width: number, height: number): Promise<HTMLCanvasElement>Resize image이미지 크기 조정toBase64
(img: HTMLImageElement | HTMLCanvasElement): stringConvert to base64Convert to base64crop
(img: HTMLImageElement, x: number, y: number, width: number, height: number): Promise<HTMLCanvasElement>Crop image이미지 자르기rotate
(img: HTMLImageElement, degrees: number): Promise<HTMLCanvasElement>Rotate image이미지 회전flip
(img: HTMLImageElement, horizontal: boolean, vertical: boolean): Promise<HTMLCanvasElement>Flip image이미지 뒤집기
ReflectUtils
Runtime reflection and metadata utilities for dynamic programming
동적 프로그래밍을 위한 런타임 리플렉션 및 메타데이터 유틸리티
OTHER FUNCTIONS기타 함수
getMetadata
(key: any, target: any, propertyKey?: string | symbol): anyGet metadata메타데이터 가져오기defineMetadata
(key: any, value: any, target: any, propertyKey?: string | symbol): voidDefine metadata메타데이터 정의hasMetadata
(key: any, target: any, propertyKey?: string | symbol): booleanCheck metadata existence메타데이터 존재 확인getOwnPropertyNames
(obj: any): string[]Get own property namesGet own property namesgetOwnPropertyDescriptor
(obj: any, prop: string): PropertyDescriptor | undefinedGet property descriptor속성 설명자 가져오기getPrototypeOf
(obj: any): anyGet prototype프로토타입 가져오기setPrototypeOf
(obj: any, proto: any): anySet prototype프로토타입 설정
Expression
Dynamic expression evaluation and parsing utilities with template binding
템플릿 바인딩을 사용한 동적 표현식 평가 및 파싱 유틸리티
OTHER FUNCTIONS기타 함수
constructor
(expression: string)Create expression표현식 생성evaluate
(context: Record<string, any>): anyEvaluate expression in contextEvaluate expression in contextcompile
(): FunctionCompile expression to functionCompile expression to functiongetVariables
(): string[]Get variable names used in expressionGet variable names used in expression
Programming Patterns
Design patterns and programming concepts for better code structure
더 나은 코드 구조를 위한 디자인 패턴 및 프로그래밍 개념
Advice
Abstract interface for structured exception handling with advice pattern
어드바이스 패턴을 사용한 구조화된 예외 처리를 위한 추상 인터페이스
INTERFACE METHODS인터페이스 메서드
before
(input: T): voidExecute before main logic메인 로직 전 실행after
(result: R): voidExecute after main logic메인 로직 후 실행execute
(input: T): RMain execution logic메인 실행 로직
Convenience Classes
Convenience classes and utilities for common programming patterns
일반적인 프로그래밍 패턴을 위한 편의 클래스 및 유틸리티
Optional
Null-safe value handling with Optional pattern to prevent null pointer exceptions
null 포인터 예외를 방지하기 위한 Optional 패턴의 null-safe 값 처리
METHODS메서드
static of<T>
(value: T): Optional<T>Create Optional with value값으로 Optional 생성static empty<T>
(): Optional<T>Create empty Optional빈 Optional 생성static ofNullable<T>
(value: T | null | undefined): Optional<T>Create Optional from nullablenullable에서 Optional 생성isPresent
(): booleanCheck if value exists값 존재 확인isEmpty
(): booleanCheck if value is absent값 부재 확인get
(): TGet value or throw값 가져오기 또는 예외 발생orElse
(defaultValue: T): TGet value or default값 가져오기 또는 기본값orElseGet
(supplier: () => T): TGet value or compute default값 가져오기 또는 기본값 계산orElseThrow
(errorSupplier: () => Error): TGet value or throw error값 가져오기 또는 에러 발생map<U>
(mapper: (value: T) => U): Optional<U>Transform value값 변환flatMap<U>
(mapper: (value: T) => Optional<U>): Optional<U>Transform and flatten변환 및 평탄화filter
(predicate: (value: T) => boolean): Optional<T>Filter value값 필터링ifPresent
(consumer: (value: T) => void): voidExecute if present존재하면 실행
Entity - Point2D, Point3D, Rect, Vector
Mathematical entities for 2D/3D graphics and calculations
2D/3D 그래픽 및 계산을 위한 수학적 엔티티
CLASSES & METHODS클래스 및 메서드
- Point2D:
constructor(x: number, y: number)
,distanceTo(other: Point2D): number
,add(other: Point2D): Point2D
- Point3D:
constructor(x: number, y: number, z: number)
,distanceTo(other: Point3D): number
- Rect:
constructor(x: number, y: number, width: number, height: number)
,contains(point: Point2D): boolean
- Vector:
constructor(x: number, y: number, z: number)
,dot(other: Vector): number
,cross(other: Vector): Vector
- Polygon:
constructor(points: Point2D[])
,area(): number
- Ellipse:
constructor(center: Point2D, radiusX: number, radiusY: number)
Code Standards
Standardized code definitions and constants
표준화된 코드 정의 및 상수
ISO 3166-1
ISO 3166-1 standard country codes with alpha2, alpha3, numeric codes and metadata
alpha2, alpha3, 숫자 코드 및 메타데이터를 포함한 ISO 3166-1 표준 국가 코드
METHODS메서드
static getByAlpha2
(code: string): Country | undefinedGet country by 2-letter codeGet country by 2-letter codestatic getByAlpha3
(code: string): Country | undefinedGet country by 3-letter codeGet country by 3-letter codestatic getByNumeric
(code: string): Country | undefinedGet country by numeric codeGet country by numeric codestatic getAll
(): Country[]Get all countriesGet all countriesstatic isValid
(code: string): booleanValidate country codeValidate country code
Collections
Data structures and collection utilities
자료 구조 및 컬렉션 유틸리티
AsyncBlockingQueue
Asynchronous blocking queue for producer-consumer patterns
생산자-소비자 패턴을 위한 비동기 블로킹 큐
METHODS메서드
constructor
(capacity?: number)Create queue with optional capacityCreate queue with optional capacityenqueue
(item: T): Promise<void>Add item (waits if full)Add item (waits if full)dequeue
(): Promise<T>Remove and return item (waits if empty)Remove and return item (waits if empty)tryEnqueue
(item: T): booleanTry to add item without waitingTry to add item without waitingtryDequeue
(): T | undefinedTry to remove item without waitingTry to remove item without waitingsize
(): numberGet current sizeGet current sizeisEmpty
(): booleanCheck if emptyCheck if emptyisFull
(): booleanCheck if fullCheck if fullclear
(): voidClear all itemsClear all items
Range
Range generation and iterator utilities for efficient data processing
효율적인 데이터 처리를 위한 범위 생성 및 반복자 유틸리티
METHODS메서드
static create
(start: number, end: number, step?: number): Iterable<number>Create range iteratorCreate range iteratorstatic toArray
(start: number, end: number, step?: number): number[]Create range as arrayCreate range as arraystatic map<T>
(start: number, end: number, fn: (i: number) => T): T[]Map over rangeMap over rangestatic forEach
(start: number, end: number, fn: (i: number) => void): voidIterate over rangeIterate over range
Managers
Management utilities for complex operations and state handling
복잡한 작업 및 상태 처리를 위한 관리 유틸리티
TransactionManager
Transaction management utilities for data consistency with try-catch-finally pattern
try-catch-finally 패턴을 사용한 데이터 일관성을 위한 트랜잭션 관리 유틸리티
METHODS메서드
execute<T>
(fn: (tx: Transaction) => Promise<T>): Promise<T>Execute in transactionExecute in transactionbegin
(): Promise<Transaction>Begin transactionBegin transactioncommit
(tx: Transaction): Promise<void>Commit transactionCommit transactionrollback
(tx: Transaction): Promise<void>Rollback transactionRollback transaction
Schedule
Task scheduling and timing utilities for background operations with cron-like specs
cron과 유사한 사양의 백그라운드 작업을 위한 작업 스케줄링 및 타이밍 유틸리티
METHODS메서드
static interval
(fn: () => void, ms: number): TaskSchedule recurring taskSchedule recurring taskstatic timeout
(fn: () => void, ms: number): TaskSchedule one-time taskSchedule one-time taskstatic cron
(spec: string, fn: () => void): TaskSchedule with cron expressionSchedule with cron expressionstatic immediate
(fn: () => void): TaskRun task immediatelyRun task immediatelycancel
(): voidCancel scheduled taskCancel scheduled task
Providers
Service providers and infrastructure utilities
서비스 프로바이더 및 인프라 유틸리티
Logger
Comprehensive logging utilities with configurable levels and formatting
구성 가능한 레벨 및 포맷팅을 갖춘 포괄적인 로깅 유틸리티
METHODS메서드
constructor
(name: string)Create logger with nameCreate logger with namedebug
(message: string, ...args: any[]): voidLog debug messageLog debug messageinfo
(message: string, ...args: any[]): voidLog info messageLog info messagewarn
(message: string, ...args: any[]): voidLog warning messageLog warning messageerror
(message: string, error?: Error, ...args: any[]): voidLog error messageLog error messagesetLevel
(level: 'debug' | 'info' | 'warn' | 'error'): voidSet log levelSet log levelsetFormatter
(formatter: (level: string, message: string) => string): voidSet custom formatterSet custom formatter
MemoryStorage
In-memory storage and data persistence utilities
인메모리 스토리지 및 데이터 지속성 유틸리티
METHODS메서드
set
(key: string, value: any): voidStore valueStore valueget<T>
(key: string): T | undefinedRetrieve valueRetrieve valuehas
(key: string): booleanCheck if key existsCheck if key existsremove
(key: string): booleanRemove valueRemove valueclear
(): voidClear all valuesClear all valueskeys
(): string[]Get all keysGet all keysvalues
(): any[]Get all valuesGet all valuessize
(): numberGet storage sizeGet storage size
HttpFetcher / HttpJsonFetcher
HTTP request utilities and API communication helpers
HTTP 요청 유틸리티 및 API 통신 헬퍼
METHODS메서드
constructor
(baseUrl: string, options?: RequestInit)Create fetcher with base URLCreate fetcher with base URLget<T>
(path: string, options?: RequestInit): Promise<T>GET requestGET requestpost<T>
(path: string, body: any, options?: RequestInit): Promise<T>POST requestPOST requestput<T>
(path: string, body: any, options?: RequestInit): Promise<T>PUT requestPUT requestdelete<T>
(path: string, options?: RequestInit): Promise<T>DELETE requestDELETE requestpatch<T>
(path: string, body: any, options?: RequestInit): Promise<T>PATCH requestPATCH request
Async & Promise
Asynchronous programming and promise utilities
비동기 프로그래밍 및 프로미스 유틸리티
PromiseUtils & Result
Advanced promise handling including sleep, settle, loop operations, and Result utilities for state management
sleep, settle, 루프 작업을 포함한 고급 프로미스 처리 및 상태 관리를 위한 Result 유틸리티
METHODS메서드
static sleep
(ms: number): Promise<void>Sleep for millisecondsSleep for millisecondsstatic settle<T>
(promises: Promise<T>[]): Promise<SettledResult<T>[]>Settle all promisesSettle all promisesstatic retry<T>
(fn: () => Promise<T>, options: RetryOptions): Promise<T>Retry with backoffRetry with backoffstatic timeout<T>
(promise: Promise<T>, ms: number): Promise<T>Add timeout to promiseAdd timeout to promisestatic loop<T>
(fn: () => Promise<T>, condition: (result: T) => boolean): Promise<T>Loop until conditionLoop until condition- Result:
Result.ok<T>(value: T): Result<T, never>
- Create success result - Result:
Result.err<E>(error: E): Result<never, E>
- Create error result isOk(): boolean
,isErr(): boolean
,unwrap(): T
,unwrapOr(defaultValue: T): T
Observable / Subject
Reactive programming utilities with Subject pattern for event handling
이벤트 처리를 위한 Subject 패턴의 반응형 프로그래밍 유틸리티
CLASSES & METHODS클래스 및 메서드
- Subject:
next(value: T): void
,subscribe(observer: Observer<T>): Subscription
,complete(): void
- BehaviorSubject:
constructor(initialValue: T)
,getValue(): T
- ReplaySubject:
constructor(bufferSize?: number)
- AsyncSubject:Emits only the last value on completion
- Observable:
subscribe(observer: Observer<T>): Subscription
- Operators:
map
,filter
,debounce
,throttle
,distinctUntilChanged