You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					88 lines
				
				2.0 KiB
			
		
		
			
		
	
	
					88 lines
				
				2.0 KiB
			| 
											2 years ago
										 | import { PluginFunc } from 'dayjs' | ||
|  | import { OpUnitType, UnitTypeLongPlural } from 'dayjs'; | ||
|  | 
 | ||
|  | declare const plugin: PluginFunc | ||
|  | export as namespace plugin; | ||
|  | export = plugin | ||
|  | 
 | ||
|  | declare namespace plugin { | ||
|  |   /** | ||
|  |    * @deprecated Please use more strict types | ||
|  |    */ | ||
|  |   type DurationInputType = string | number | object | ||
|  |   /** | ||
|  |    * @deprecated Please use more strict types | ||
|  |    */ | ||
|  |   type DurationAddType = number | object | Duration | ||
|  |    | ||
|  |   type DurationUnitsObjectType = Partial<{ | ||
|  |     [unit in Exclude<UnitTypeLongPlural, "dates"> | "weeks"]: number | ||
|  |   }>; | ||
|  |   type DurationUnitType = Exclude<OpUnitType, "date" | "dates"> | ||
|  |   type CreateDurationType =  | ||
|  |     ((units: DurationUnitsObjectType) => Duration) | ||
|  |     & ((time: number, unit?: DurationUnitType) => Duration) | ||
|  |     & ((ISO_8601: string) => Duration) | ||
|  |   type AddDurationType = CreateDurationType & ((duration: Duration) => Duration) | ||
|  | 
 | ||
|  |   interface Duration { | ||
|  |     new (input: string | number | object, unit?: string, locale?: string): Duration | ||
|  | 
 | ||
|  |     clone(): Duration | ||
|  | 
 | ||
|  |     humanize(withSuffix?: boolean): string | ||
|  | 
 | ||
|  |     milliseconds(): number | ||
|  |     asMilliseconds(): number | ||
|  | 
 | ||
|  |     seconds(): number | ||
|  |     asSeconds(): number | ||
|  | 
 | ||
|  |     minutes(): number | ||
|  |     asMinutes(): number | ||
|  | 
 | ||
|  |     hours(): number | ||
|  |     asHours(): number | ||
|  | 
 | ||
|  |     days(): number | ||
|  |     asDays(): number | ||
|  | 
 | ||
|  |     weeks(): number | ||
|  |     asWeeks(): number | ||
|  | 
 | ||
|  |     months(): number | ||
|  |     asMonths(): number | ||
|  | 
 | ||
|  |     years(): number | ||
|  |     asYears(): number | ||
|  | 
 | ||
|  |     as(unit: DurationUnitType): number | ||
|  | 
 | ||
|  |     get(unit: DurationUnitType): number | ||
|  | 
 | ||
|  |     add: AddDurationType | ||
|  |      | ||
|  |     subtract: AddDurationType | ||
|  | 
 | ||
|  |     toJSON(): string | ||
|  | 
 | ||
|  |     toISOString(): string | ||
|  | 
 | ||
|  |     format(formatStr?: string): string | ||
|  | 
 | ||
|  |     locale(locale: string): Duration | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | declare module 'dayjs' { | ||
|  |   interface Dayjs { | ||
|  |     add(duration: plugin.Duration): Dayjs | ||
|  |     subtract(duration: plugin.Duration): Dayjs | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * @param time If unit is not present, time treated as number of milliseconds | ||
|  |    */ | ||
|  |   export const duration: plugin.CreateDurationType; | ||
|  |   export function isDuration(d: any): d is plugin.Duration | ||
|  | } |