프로젝트 소개
TypeFest는 내장 타입 시스템의 공백을 메우기 위한 재사용 가능한 TypeScript 타입 모음입니다. npm에서 type-fest로 설치할 수 있으며, 개별 타입은 TypeScript의 타입 전용 가져오기 구문으로 임포트됩니다. 문서화된 개발 버전은 TypeScript 5.9 이상, ESM 프로젝트, 그리고 tsconfig에서 strict 모드 활성화를 요구합니다. 유지관리자는 필요한 타입을 출처 표시 없이 복사하여 붙여넣어도 된다고 언급합니다.
이 라이브러리는 광범위한 타입 수준 사용 사례를 다룹니다. 기본 타입에는 Primitive, Class, Constructor, AbstractClass, TypedArray, ObservableLike, 그리고 LowercaseLetter, UppercaseLetter, DigitCharacter, Alphanumeric과 같은 문자 집합이 포함됩니다.
객체 및 유틸리티 타입이 가장 큰 섹션을 구성합니다. 예를 들어 키를 생략하는 Except, readonly 수정자를 제거하는 Writable 및 WritableDeep, 타입을 결합하는 Merge 및 MergeDeep, 재귀적 선택성과 필수성을 위한 PartialDeep 및 RequiredDeep, 깊은 불변성을 위한 ReadonlyDeep, 선택적 속성을 조정하는 SetOptional, SetRequired, SetReadonly, SetNonNullable 등이 있습니다. 또한 ConditionalKeys, ConditionalPick, ConditionalExcept와 같은 조건부 선택 타입, PickDeep, OmitDeep, Get, Paths와 같은 중첩 헬퍼, LiteralUnion, TaggedUnion, UnionToIntersection, KeysOfUnion, DistributedOmit와 같은 유니온 헬퍼도 제공합니다.
타입 가드 및 불리언 타입에는 If, IsAny, IsNever, IsUnknown, IsNull, IsUndefined, IsTuple, IsUnion, IsLiteral, IsStringLiteral, IsNullable, 그리고 IsEqual과 같은 동등성 검사가 포함됩니다. JSON 지원에는 JsonValue, JsonPrimitive, JsonObject, JsonArray, Jsonifiable, Jsonify가 있습니다. 다른 그룹은 구조적 복제, Promisable, AsyncReturnType, Asyncify와 같은 비동기 타입, Split, Replace, Trim, RemovePrefix, RemoveSuffix와 같은 문자열 조작 타입, ArrayElement, LastArrayElement, Includes, Join, ArraySlice, FixedLengthArray, NonEmptyTuple과 같은 배열 또는 튜플 타입을 다룹니다.
README는 각 타입 이름을 소스 정의에 연결하여 자세한 문서를 제공합니다. 관련 패키지인 ts-extras는 동일한 개념 중 일부에 대한 런타임 함수를 제공합니다. 이 프로젝트는 기여 가이드라인에 따라 추가로 일반적으로 필요한 타입에 대한 제안과 풀 리퀘스트를 받습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.