--- /dev/null
+export type TimeUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
+
+export interface DateAdapterBase {
+ /**
+ * Returns a map of time formats for the supported formatting units defined
+ * in Unit as well as 'datetime' representing a detailed date/time string.
+ * @returns {{string: string}}
+ */
+ formats(): { [key: string]: string };
+ /**
+ * Parses the given `value` and return the associated timestamp.
+ * @param {any} value - the value to parse (usually comes from the data)
+ * @param {string} [format] - the expected data format
+ */
+ parse(value: any, format?: TimeUnit): number | null;
+ /**
+ * Returns the formatted date in the specified `format` for a given `timestamp`.
+ * @param {number} timestamp - the timestamp to format
+ * @param {string} format - the date/time token
+ * @return {string}
+ */
+ format(timestamp: number, format: TimeUnit): string;
+ /**
+ * Adds the specified `amount` of `unit` to the given `timestamp`.
+ * @param {number} timestamp - the input timestamp
+ * @param {number} amount - the amount to add
+ * @param {Unit} unit - the unit as string
+ * @return {number}
+ */
+ add(timestamp: number, amount: number, unit: TimeUnit): number;
+ /**
+ * Returns the number of `unit` between the given timestamps.
+ * @param {number} a - the input timestamp (reference)
+ * @param {number} b - the timestamp to subtract
+ * @param {Unit} unit - the unit as string
+ * @return {number}
+ */
+ diff(a: number, b: number, unit: TimeUnit): number;
+ /**
+ * Returns start of `unit` for the given `timestamp`.
+ * @param {number} timestamp - the input timestamp
+ * @param {Unit|'isoWeek'} unit - the unit as string
+ * @param {number} [weekday] - the ISO day of the week with 1 being Monday
+ * and 7 being Sunday (only needed if param *unit* is `isoWeek`).
+ * @return {number}
+ */
+ startOf(timestamp: number, unit: TimeUnit | 'isoWeek', weekday?: number): number;
+ /**
+ * Returns end of `unit` for the given `timestamp`.
+ * @param {number} timestamp - the input timestamp
+ * @param {Unit|'isoWeek'} unit - the unit as string
+ * @return {number}
+ */
+ endOf(timestamp: number, unit: TimeUnit | 'isoWeek'): number;
+}
+
+export interface DateAdapter extends DateAdapterBase {
+ readonly options: any;
+}
+
+export const DateAdapter: {
+ prototype: DateAdapter;
+ new(options: any): DateAdapter;
+ override(members: Partial<DateAdapter>): void;
+};
+
+export const _adapters: {
+ _date: DateAdapter;
+};
* }
*/
+import { TimeUnit } from "./adapters";
import { ChartArea, Point } from './geometric';
+
+export { DateAdapterBase, DateAdapter, TimeUnit, _adapters } from './adapters';
export { ChartArea, Point } from './geometric';
export interface ParsingOptions {
prototype: RadarController;
new (chart: Chart, datasetIndex: number): RadarController;
};
-export interface DateAdapterBase {
- /**
- * Returns a map of time formats for the supported formatting units defined
- * in Unit as well as 'datetime' representing a detailed date/time string.
- * @returns {{string: string}}
- */
- formats(): { [key: string]: string };
- /**
- * Parses the given `value` and return the associated timestamp.
- * @param {any} value - the value to parse (usually comes from the data)
- * @param {string} [format] - the expected data format
- */
- parse(value: any, format?: TimeUnit): number | null;
- /**
- * Returns the formatted date in the specified `format` for a given `timestamp`.
- * @param {number} timestamp - the timestamp to format
- * @param {string} format - the date/time token
- * @return {string}
- */
- format(timestamp: number, format: TimeUnit): string;
- /**
- * Adds the specified `amount` of `unit` to the given `timestamp`.
- * @param {number} timestamp - the input timestamp
- * @param {number} amount - the amount to add
- * @param {Unit} unit - the unit as string
- * @return {number}
- */
- add(timestamp: number, amount: number, unit: TimeUnit): number;
- /**
- * Returns the number of `unit` between the given timestamps.
- * @param {number} a - the input timestamp (reference)
- * @param {number} b - the timestamp to subtract
- * @param {Unit} unit - the unit as string
- * @return {number}
- */
- diff(a: number, b: number, unit: TimeUnit): number;
- /**
- * Returns start of `unit` for the given `timestamp`.
- * @param {number} timestamp - the input timestamp
- * @param {Unit|'isoWeek'} unit - the unit as string
- * @param {number} [weekday] - the ISO day of the week with 1 being Monday
- * and 7 being Sunday (only needed if param *unit* is `isoWeek`).
- * @return {number}
- */
- startOf(timestamp: number, unit: TimeUnit | 'isoWeek', weekday?: number): number;
- /**
- * Returns end of `unit` for the given `timestamp`.
- * @param {number} timestamp - the input timestamp
- * @param {Unit|'isoWeek'} unit - the unit as string
- * @return {number}
- */
- endOf(timestamp: number, unit: TimeUnit | 'isoWeek'): number;
-}
-
-export interface DateAdapter extends DateAdapterBase {
- readonly options: any;
-}
-
-export const DateAdapter: {
- prototype: DateAdapter;
- new(options: any): DateAdapter;
- override(members: Partial<DateAdapter>): void;
-};
-
-export const _adapters: {
- _date: DateAdapter;
-};
export class Animation {
constructor(cfg: any, target: any, prop: string, to?: any);
afterUnregister?(): void;
}
-export type TimeUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
export interface ScriptableContext {
chart: Chart;
prototype: RadialLinearScale;
new <O extends RadialLinearScaleOptions = RadialLinearScaleOptions>(cfg: any): RadialLinearScale<O>;
};
-
+
// DeepPartial implementation taken from the utility-types NPM package, which is
// Copyright (c) 2016 Piotr Witek <piotrek.witek@gmail.com> (http://piotrwitek.github.io)
// and used under the terms of the MIT license
type _DeepPartialObject<T> = { [P in keyof T]?: DeepPartial<T[P]> };
export type DistributiveArray<T> = T extends unknown ? T[] : never
-
+
export interface CartesianScaleTypeRegistry {
linear: {
options: LinearScaleOptions;
options?: ChartOptions<TType>;
plugins?: Plugin[];
}
-
\ No newline at end of file