0.3.2 • Published 1 year ago
@chrock/optional v0.3.2
@chrock/optional
@chrock/optional
是一个工具模块,用于提供其他语言中的Optional
类型,以及一些相关的操作。\
@chrock/optional
is a utility module that provides an Optional
type like in other languages, and some related operations.
使用示例 Example
Optional.of
import { Optional } from '@chrock/optional'; const optional = Optional.of(1); console.log(optional.value); // <- 1
Optional.map
import { Optional } from '@chrock/optional'; const optional = Optional.of(1); const mapped = optional.map((v) => (v + 1)); console.log(mapped.value); // <- 2
使用
also
进行副作用操作\ Perform side effects withalso
import { Optional } from '@chrock/optional'; const optional = Optional.of(1); optional.also((v) => console.log(v)); // <- 1 const empty = Optional.empty(); empty.also((v) => console.log(v)); // <- 永远不会执行,因为`Optional.value`为`undefined`
使用
getOrElse
获取值或默认值\ Get value or default value withgetOrElse
import { Optional } from '@chrock/optional'; const optional = Optional.of(1); console.log(optional.getOrElse(0)); // <- 1 const empty = Optional.empty(); console.log(empty.getOrElse(0)); // <- 0
使用
Optional.of
进行某些初始化操作 UsingOptional.of
for some initialization operationsimport { Optional } from '@chrock/optional'; class WithOptional { el: HTMLElement = Optional.of(document.createElement('div')).map((el) => { el.innerText = 'Hello, World!'; el.classList.add('container'); el.addEventListener('click', () => { console.log('Clicked!'); }); return el; }).value; } const withOptional = new WithOptional(); document.body.appendChild(withOptional.el);