@lemonaderoom/foundation
TypeScript icon, indicating that this package has built-in type declarations

0.0.32 • Public • Published

@lemonaderoom/foundation

NPM version License: MIT

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ファイルをご覧ください。

Readme

Keywords

Package Sidebar

Install

npm i @lemonaderoom/foundation

Weekly Downloads

1

Version

0.0.32

License

MIT

Unpacked Size

303 kB

Total Files

209

Last publish

Collaborators

  • lemonaderoom