@lemonaderoom/foundation
v0.0.32
Published
TypeScript Foundation Library
Downloads
17
Readme
@lemonaderoom/foundation
TypeScript Foundation Libraryです。
特長
- SwiftのEquatableに似たEquatable型
- Equatableを継承すると等価比較可能になる
- Clonable型
- Clonableを継承すると複製可能になる
- Codable型
- Codableを継承するとJSONシリアライズ可能になる
- Comparable型
- 比較メソッドを持つinterface
- SwiftとScalaとJavaに似たOptional型
- 型安全なnullとundefinedのラッパー
- mapやflatMap等が使用可能
- Scalaのようなfor-yieldが可能
- SwiftのResultとScalaのEitherに似たResult型
- mapやflatMap等が使用可能
- Range型
- 1... のOpenRange
- 1..< 5のRange
- 1... 4のClosedRange
- Updatable
- Scalaみたいにcopyメソッドが使える
- Sequence
- ScalaやSwiftっぽい配列Wrapper
- Set
- ScalaやSwiftっぽいSetWrapper
- Dictionary
- ScalaやSwiftっぽいMapWrapper
インストール
以下のコマンドを使用して、npm経由でパッケージをプロジェクトにインストールします:
npm i -D @lemonaderoom/foundation
もしくは、yarnを使用する場合は次のコマンドを使用します:
yarn add @lemonaderoom/foundation
使い方
テストコードをご覧ください
テストの実行
テストはvitestを使用して実行できます。以下のコマンドでテストを実行します。
npm test
継承関係
classDiagram
Equatable <|-- Clonable
Clonable <|-- Updatable
Updatable <|-- Codable
Comparable :
Clonable <|-- Optional
Clonable <|-- Either
Updatable <|-- Range
Clonable <|-- Sequence
Clonable <|-- Set
ライセンス
このプロジェクトはMITライセンスの元で公開されています。詳細はLICENSEファイルをご覧ください。