Package Exports
- selective-option
Readme
Selective Option
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