88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
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
 | 
						|
} |