isKey()
isKey()
isKey()
Checks if any
value is one of the string
, number
, or symbol
type.
const isKey = <Payload extends object>(
value: any,
callback: ResultCallback<any, Payload> = resultCallback,
payload?: Payload
): value is PropertyKey =>
callback(
isStringType(value) || isNumberType(value) || isSymbol(value),
value,
payload
);
Generic type variables
Payload
extends
object
Payload
extends
object
The Payload
generic type variable constrained by object
indicates the type of optional parameter payload
of the supplied callback
function and payload
optional parameter of the isKey()
function from which it captures its value.
Parameters
value: any
value: any
The value of any
type to check.
callback: ResultCallback<any, Payload>
callback: ResultCallback<any, Payload>
A callback function
of ResultCallback
type with parameters, the value
that has been checked, the result
of this check, and payload
of generic type variable Payload
with optional properties from the provided payload
, to handle them before the result
return. By default, it uses resultCallback()
function.
payload?: Payload
payload?: Payload
An optional object
of the generic type variable Payload
is assigned to the payload
of the given callback
function.
Return type
value is PropertyKey
value is PropertyKey
The return type is a boolean
as the result of its statement indicating the value
is PropertyKey
.
Returns
The return value is a boolean
indicating whether the provided value
is a PropertyKey
.
Example usage
Key of string
string
// Example string usage.
import { isKey } from '@angular-package/type';
const STRING = 'surname';
const STRING_INSTANCE = new String(STRING);
isKey(STRING); // true
isKey(STRING_INSTANCE); // true
Key of number
number
// Example number usage.
import { isKey } from '@angular-package/type';
const NUMBER = 27;
const NUMBER_INSTANCE = new Number(NUMBER);
isKey(NUMBER); // true
isKey(NUMBER_INSTANCE); // true
Key of symbol
symbol
// Example symbol usage.
import { isKey } from '@angular-package/type';
const STRING = 'surname';
const NUMBER = 27;
const SYMBOL_NUMBER: unique symbol = Symbol(NUMBER);
const SYMBOL_STRING: unique symbol = Symbol(STRING);
isKey(SYMBOL_NUMBER); // true
isKey(SYMBOL_STRING); // true
Last updated
Was this helpful?