A collection of monad implementations for TypeScript
npm install @n3rd1n/monadsA collection of monad implementations for TypeScript.
``bash`
npm install @n3rd1n/monads
`typescript
import { Functor, Optional } from '@n3rd1n/monads'
// Optional - für Werte die null/undefined sein können
const maybeValue = Optional.Maybe(getUserName())
.map(name => name.toUpperCase())
.do(name => console.log(name))
.getOrDefault('Anonymous')
// Functor - für Wert-Transformationen
const result = Functor.From(5)
.map(x => x * 2)
.map(x => x.toString())
.get() // "10"
// Async Operationen
const asyncResult = await Optional.Maybe(userId)
.mapAsync(id => fetchUser(id))
.mapAsync(user => fetchPosts(user))
.await()
`
Monade für optionale Werte (Alternative zu null/undefined).
- Optional.Maybe(value) - Erstellt ein Optional aus einem WertOptional.Just(value)
- - Erstellt ein Optional mit WertOptional.None()
- - Erstellt ein leeres Optional.map(fn)
- - Transformiert den Wert.mapAsync(fn)
- - Async Transformation.filter(fn)
- - Filtert basierend auf Prädikat.do(fn)
- - Führt Seiteneffekt aus.orElse(fn)
- - Fallback wenn leer.get()
- - Gibt Wert zurück (wirft Error wenn leer).getOrDefault(default)
- - Gibt Wert oder Default zurück.toNullable()
- - Konvertiert zu T | null
Einfache Monade für Wert-Transformationen.
- Functor.From(value) - Erstellt einen Functor.map(fn)
- - Transformiert den Wert.mapAsync(fn)
- - Async Transformation.log(message?)
- - Loggt den Wert.get()
- - Gibt den Wert zurück
`bashDependencies installieren
npm install
MIT