0.3.3 • Published 4 months ago

value-getter v0.3.3

Weekly downloads
172
License
MIT
Repository
github
Last release
4 months 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

4 months ago

0.3.2

10 months ago

0.3.0

1 year ago

0.3.1

12 months ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.16

3 years ago

0.1.15

3 years ago

0.1.14

3 years ago

0.1.13

3 years ago

0.1.12

3 years ago

0.1.11

3 years ago

0.1.10

3 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago