0.3.2 • Published 1 year ago

@chrock/optional v0.3.2

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

@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 with also

    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 with getOrElse

    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进行某些初始化操作 Using Optional.of for some initialization operations

    import { 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);
0.3.0

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.2.0

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.0

1 year ago