0.3.3 • Published 2 years ago

value-getter v0.3.3

Weekly downloads
172
License
MIT
Repository
github
Last release
2 years ago

value-getter

Install

npm install --save value-getter
# or
yarn add value-getter

Usage

import { ValueGetter } from 'value-getter'

const getNodeEnv =
  env('NODE_ENV')
    .required()
    .get()

function env(name: string): ValueGetter<string | undefined> {
  return new ValueGetter(name, () => process.env[name])
}

API

class ValueGetter<T> {
  new (name: string, get: Getter<T>) => ValueGetter<T>
  new (get: Getter<T>) => ValueGetter<T>

  default<U>(val: U): IValueGetter<AddDefault<T, U>>
  assert<U extends T = T>(assert: (val: T) => unknown): IValueGetter<U>
  required(): IValueGetter<NonNullable<T>>
  memoize(cache:
  | Map<Getter<T>, T>
  | WeakMap<Getter<T>, T>
  ): ValueGetter<T>
  memoize(cacheGetter: Getter<
  | Map<Getter<T>, T>
  | WeakMap<Getter<T>, T>
  >): ValueGetter<T>
  convert<U>(convert: (val: T) => U): IValueGetter<U>
  tap(sideEffect: (val: T) => void): IValueGetter<T>
  get(): Getter<T>
  value(): T
}
0.3.3

2 years ago

0.3.2

2 years ago

0.3.0

2 years ago

0.3.1

2 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.16

4 years ago

0.1.15

4 years ago

0.1.14

4 years ago

0.1.13

4 years ago

0.1.12

4 years ago

0.1.11

4 years ago

0.1.10

4 years ago

0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago