manferlo81 / selective-option

A simple selective option resolver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

A simple selective option resolver

License:MIT License


Languages

Language:TypeScript 99.0%Language:JavaScript 1.0%