JSPM

selective-option

0.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 891
  • Score
    100M100P100Q129526F
  • License MIT

A simple selective option resolver

Package Exports

  • selective-option

Readme

Selective Option

CI codecov

Install

npm i selective-option

API

createBoolBasedResolver

function createBoolBasedResolver<K extends string, V, D = V, DK extends string = 'default'>(
  keys: K[],
  isValidValue: TypeCheckFunction<V>,
  defaultValue: D,
  isKey: TypeCheckFunction<K>,
  special?: Nullable<Record<string, K[]>>,
  defaultKey?: DK,
): Resolver<K, V | D | boolean>;

createValueBasedResolver

function createValueBasedResolver<K extends string, V, D = V, DK extends string = 'default'>(
  keys: K[],
  isValidValue: TypeCheckFunction<V>,
  defaultValue: D,
  isKey: TypeCheckFunction<K>,
  special?: Nullable<Record<string, K[]>>,
  defaultKey?: DK,
): Resolver<K, V | D>;

createValueResolver

function createValueResolver<K extends string, V>(
  keys: K[],
  isValidValue: TypeCheckFunction<V>,
): PotentialResolver<K, V>;

Creates a resolver function that resolves if isValidValue returns a truthy value.

createNullishResolver

function createNullishResolver<K extends string, D>(
  keys: K[],
  defaultValue: D,
): PotentialResolver<K, D>;

Creates a resolver function that resolves if the value is null or undefined.

createStringResolver

function createStringResolver<K extends string>(
  keys: K[],
  isKey: TypeCheckFunction<K>,
  special?: Nullable<Record<string, K[]>>,
): PotentialResolver<K, boolean>;

Creates a resolver function that resolves if the value is a string that satisfies the isKey function or is one of the special keys.

createArrayResolver

function createArrayResolver<K extends string>(
  keys: K[],
  isKey: TypeCheckFunction<K>,
  special?: Nullable<Record<string, K[]>>,
): PotentialResolver<K, boolean>;

Creates a resolver function that resolves if the value is an array of string and every string satisfies the isKey function or is one of the special keys.

createObjectResolver

function createObjectResolver<K extends string, V, D = V, DK extends string = 'default'>(
  keys: K[],
  isValidValue: TypeCheckFunction<V>,
  defaultValue: D,
  isKey: TypeCheckFunction<K>,
  special?: Nullable<Record<string, K[]>>,
  defaultKey2?: DK,
): PotentialResolver<K, V | D>;

Creates a resolver function that resolves if the value is an object and it follows a valid format.

resolveFailed

function resolveFailed(
  value: unknown,
): never;

A function that throws an invalid value error, used internally in createBoolBasedResolver and createValueBasedResolver.

createResult

function createResult<K extends string, V>(
  keys: K[],
  value: V,
  input?: Record<K, V>
): Record<K, V>;

Creates a resolved object result. Used internally in every resolver function.

Deprecated API

resolveBoolBased

function resolveBoolBased<K extends string, V, D = V>(
  value: unknown,
  keys: K[],
  isKey: TypeCheckFunction<K>,
  special: Record<string, K[]>,
  isValidValue: TypeCheckFunction<V>,
  defaultValue: D,
): Record<K, V | D | boolean>;

Use createBoolBasedResolver instead.

resolveValueBased

function resolveValueBased<K extends string, V, D = V>(
  value: unknown,
  keys: K[],
  isKey: TypeCheckFunction<K>,
  special: Record<string, K[]>,
  isValidValue: TypeCheckFunction<V>,
  defaultValue: D,
): Record<K, V | D>;

Use createValueBasedResolver instead.

resolveValue

function resolveValue<K extends string, V>(
  value: unknown,
  keys: K[],
  isValidValue: TypeCheckFunction<V>,
): Record<K, V> | void;

Use createValueResolver instead.

resolveNullish

function resolveNullish<K extends string, D>(
  value: unknown,
  keys: K[],
  defaultValue: D,
): Record<K, D> | void;

Use createNullishResolver instead.

resolveString

function resolveString<K extends string>(
  value: unknown,
  keys: K[],
  isKey: TypeCheckFunction<K>,
  special?: Nullable<Record<string, K[]>>,
): Record<K, boolean> | void;

Use createStringResolver instead.

resolveArray

function resolveArray<K extends string>(
  value: unknown,
  keys: K[],
  isKey: TypeCheckFunction<K>,
  special?: Nullable<Record<string, K[]>>,
): Record<K, boolean> | void;

Use createArrayResolver instead.

resolveObject

function resolveObject<K extends string, V, D = V>(
  value: unknown,
  keys: K[],
  isKey: TypeCheckFunction<K>,
  special: Nullable<Record<string, K[]>>,
  isValidValue: TypeCheckFunction<V>,
  defaultValue: D,
): Record<K, V | D> | void;

Use createObjectResolver instead.

License

MIT © 2020-2024 Manuel Fernández