npm i selective-option
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>;
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>;
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.
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
.
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.
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.
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.
function resolveFailed(
value: unknown,
): never;
A function that throws an invalid value error, used internally in createBoolBasedResolver
and createValueBasedResolver
.
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.
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.
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.
function resolveValue<K extends string, V>(
value: unknown,
keys: K[],
isValidValue: TypeCheckFunction<V>,
): Record<K, V> | void;
Use createValueResolver
instead.
function resolveNullish<K extends string, D>(
value: unknown,
keys: K[],
defaultValue: D,
): Record<K, D> | void;
Use createNullishResolver
instead.
function resolveString<K extends string>(
value: unknown,
keys: K[],
isKey: TypeCheckFunction<K>,
special?: Nullable<Record<string, K[]>>,
): Record<K, boolean> | void;
Use createStringResolver
instead.
function resolveArray<K extends string>(
value: unknown,
keys: K[],
isKey: TypeCheckFunction<K>,
special?: Nullable<Record<string, K[]>>,
): Record<K, boolean> | void;
Use createArrayResolver
instead.
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.
MIT © 2020-2024 Manuel Fernández