Strongly-typed, value-resolution handler.

Usage no npm install needed!

<script type="module">
  import flexValue from 'https://cdn.skypack.dev/flex-value';



Build Status Coverage Status

Strongly-typed, value-resolution handler:

  • From a direct value
  • From value as a promise
  • From a callback that returns the value
  • From a callback that returns a promise

With support for generic error handling.

See Wiki for documentation and examples.


npm i flex-value


import {Flex, FlexValue} from 'flex-value';

// fully-dynamic input/value:
const input: FlexValue<string>; // string | Promise<string> | (() => string | Promise<string>) 

// strongly-typed, actual value resolution:
const value: string = await Flex.get(input); 

And we can handle all types of errors in a generic way:

const onError = e => {
    // any error thrown or promise reject ends up here;

const value: string = await Flex.get(input, {onError});