DefinitelyTyped/types/chai-moment/index.d.ts
Rebecca Turner 12453a8fe1 [chai] Provide type definitions for chai.use (#37451)
* chai: Add types for chai.use and chai.util

Helps developers write Chai plugins; requested in #29922.

Closes #29922.

* Updated dependencies on Chai

- Minimum TS version: 3.0
    - Version bumps to TS 3.0 for the following type definitions which
      depend on chai directly or indirectly:
            bardjs, chai, chai-almost, chai-arrays, chai-as-promised,
            chai-datetime, chai-dom, chai-enzyme, chai-fs, chai-fuzzy,
            chai-jest-snapshot, chai-jquery, chai-json-schema,
            chai-moment, chai-oequal, chai-roughly, chai-spies,
            chai-string, chai-subset, chai-things, chai-uuid,
            chai-webdriverio, chai-xml, d3kit, deep-equal-in-any-order,
            dirty-chai, ember-mocha, hexo, hexo-log, hexo-util,
            jsx-chai, karma-chai, karma-chai-sinon, redux-test-utils,
            and sinon-chai
- Use Chai.ChaiPlugin instead of (chai: any, utils: any) => void

* Factor out pathval types

- Forgot that the pathval types aren't merged yet

* Factor out pathval types

- Forgot that the pathval types aren't merged yet

* Make 'chainingBehavior' non-mandatory
2019-08-08 08:58:47 -07:00

34 lines
1.3 KiB
TypeScript

// Type definitions for chai-moment 0.1
// Project: https://github.com/picardy/chai-moment
// Definitions by: Chris Godsey <https://github.com/chrisgodsey>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 3.0
/// <reference types="chai" />
declare global {
namespace ChaiMoment {
type Granularity = 'year' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second';
}
namespace Chai {
interface Assertion {
afterMoment(expected: any, granularity?: ChaiMoment.Granularity): void;
beforeMoment(expected: any, granularity?: ChaiMoment.Granularity): void;
sameMoment(expected: any, granularity?: ChaiMoment.Granularity): void;
}
interface AssertStatic {
afterMoment(val: any, exp: any, granularity: ChaiMoment.Granularity, msg?: string): void;
afterMoment(val: any, exp: any, msg?: string): void;
beforeMoment(val: any, exp: any, granularity?: ChaiMoment.Granularity, msg?: string): void;
beforeMoment(val: any, exp: any, msg?: string): void;
sameMoment(val: any, exp: any, granularity?: ChaiMoment.Granularity, msg?: string): void;
sameMoment(val: any, exp: any, msg?: string): void;
}
}
}
declare const chaiMoment: Chai.ChaiPlugin;
export = chaiMoment;