isDate()
isDate()
isDate()
Checks if any
value is of the type obtained from its object
class equal to 'date'
or an object
type and an instance of Date
. It confirms it's a valid date with the isNaN()
function.
const isDate = <Payload extends object>(
value: any,
callback: ResultCallback<any, Payload> = resultCallback,
payload?: Payload
): value is Date =>
callback(
(typeOf(value) === 'date' || typeof value === 'object') &&
value instanceof Date === true &&
!isNaN(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 isDate()
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 Date
value is Date
The return type is a boolean
as the result of its statement, indicating the value
is a Date
.
Returns
The return value is a boolean
indicating whether the provided value
is a Date
.
Example usage
Basic example
// Example usage.
import { isDate } from '@angular-package/type';
const DATE = new Date(1995, 11, 17, 3, 24, 0);
isDate(new Date('December 17, 1995 03:24:00')), // true
isDate(new Date('1995-12-17T03:24:00')), // true
isDate(new Date(1995, 11, 17)), // true
isDate(new Date(628021800000)), // true
isDate(DATE); // Returns `true` as `value is Date`
Parameters callback
and payload
callback
and payload
// Callback and payload parameters example usage.
import { isDate } from '@angular-package/type';
isDate(DATE, (result, payload) => {
if (payload) {
result // Returns `true`
payload.value // Returns new date
payload.birthDay // Returns `14`
}
return result;
}, { birthDay: 14 }); // Returns `true` as `value is Date`
Last updated
Was this helpful?