このプロジェクトについて
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.