diff --git a/types/estimate/estimate-tests.ts b/types/estimate/estimate-tests.ts new file mode 100644 index 0000000000..2f243c5482 --- /dev/null +++ b/types/estimate/estimate-tests.ts @@ -0,0 +1,28 @@ +import { element, text } from 'estimate'; + +function assertType(value: T): T { + return value; +} + +element(document.body); +element(document.createElement('article')); +element(document.createElement('article'), {}); +const estimate = element(document.createElement('article'), { + speed: 300, + spaces: /\W+/g, +}); + +assertType(estimate.progress); +assertType(estimate.remaining); +assertType(estimate.total); +estimate.update(); +estimate.initialize(); + +text('text'); +text('text', {}); +text('text', { + speed: 300, + spaces: /\W+/g, +}); + +assertType(text('text')); diff --git a/types/estimate/index.d.ts b/types/estimate/index.d.ts new file mode 100644 index 0000000000..754bdc19f0 --- /dev/null +++ b/types/estimate/index.d.ts @@ -0,0 +1,21 @@ +// Type definitions for estimate 1.0 +// Project: https://github.com/bevacqua/estimate +// Definitions by: Luis Rodrigues +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export interface Options { + speed?: number; + spaces?: RegExp; +} + +export interface Estimate { + progress: number; + remaining: number; + total: number; + update(): void; + initialize(): void; +} + +export function element(element: HTMLElement, options?: Options): Estimate; + +export function text(text: string, options?: Options): number; diff --git a/types/estimate/tsconfig.json b/types/estimate/tsconfig.json new file mode 100644 index 0000000000..e1cf3deda8 --- /dev/null +++ b/types/estimate/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6", "dom"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "estimate-tests.ts"] +} diff --git a/types/estimate/tslint.json b/types/estimate/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/estimate/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }