duration.d.ts 1.08 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
import { PluginFunc } from 'dayjs'

declare const plugin: PluginFunc
export = plugin

type DurationInputType = string | number | object
type DurationAddType = number | object | Duration

declare class Duration {
  constructor (input: DurationInputType, unit?: string, locale?: string)

  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: string): number

  get(unit: string): number

  add(input: DurationAddType, unit? : string): Duration
  
  subtract(input: DurationAddType, unit? : string): Duration

  toJSON(): string

  toISOString(): string

  locale(locale: string): Duration
}

declare module 'dayjs' {
  export function duration(input?: DurationInputType , unit?: string): Duration
  export function isDuration(d: any): d is Duration
}