@rschedule/joda-date-adapter
Version:
An rSchedule DateAdapter for "js-joda" ZonedDateTime objects.
45 lines (44 loc) • 1.46 kB
TypeScript
import { ZonedDateTime } from '@js-joda/core';
import { DateAdapter, DateAdapterBase, DateTime } from '@rschedule/core';
/**
* The `JodaDateAdapter` is a DateAdapter for "@js-joda/core" `ZonedDateTime`
* objects.
*
* It supports timezone handling in so far as js-joda supports
* timezone handling. That is, it only supports the SYSTEM and UTC
* time zones unless you have loaded the optional @js-joda/timezone
* package.
*/
export declare class JodaDateAdapter extends DateAdapterBase {
static readonly date: ZonedDateTime;
static readonly hasTimezoneSupport = true;
/**
* Checks if object is an instance of `ZonedDateTime`
*/
static isDate(object: any): object is ZonedDateTime;
static fromDate(
date: ZonedDateTime,
options?: {
duration?: number;
},
): JodaDateAdapter;
static fromJSON(json: DateAdapter.JSON): JodaDateAdapter;
static fromDateTime(datetime: DateTime): JodaDateAdapter;
readonly date: ZonedDateTime;
readonly timezone: string | null;
private _end;
constructor(
date: ZonedDateTime,
options?: {
duration?: number;
generators?: ReadonlyArray<unknown>;
metadata?: DateAdapterBase['metadata'];
},
);
get end(): ZonedDateTime | undefined;
set(prop: 'timezone', value: string | null): this;
set(prop: 'duration', value: number): this;
valueOf(): number;
toJSON(): DateAdapter.JSON;
assertIsValid(): true;
}