Added axe-webdriverjs typings

This commit is contained in:
Joshua Goldberg
2018-06-03 17:48:10 -07:00
parent e4a45e562b
commit e1d3592bb2
5 changed files with 109 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
// Type definitions for axe-webdriverjs 2.0
// Project: https://github.com/dequelabs/axe-webdriverjs#readme
// Definitions by: My Self <https://github.com/JoshuaKGoldberg>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
import { Result, RunOptions, Spec } from "axe-core";
import { WebDriver } from "selenium-webdriver";
export interface IAxeAnalysis {
inapplicable: Result[];
incomplete: Result[];
passes: Result[];
timestamp: string;
url: string;
violations: Result[];
}
export interface AxeBuilder {
(driver: WebDriver): AxeBuilder;
new (driver: WebDriver): AxeBuilder;
/**
* Includes a selector in analysis.
*
* @param selector CSS selector of the element to include.
*/
include(selector: string): this;
/**
* Excludes a selector from analysis.
*
* @param selector CSS selector of the element to exclude.
*/
exclude(selector: string): this;
/**
* Options to directly pass to `axe.run`.
*
* @param options aXe options object.
* @remarks Will override any other configured options, including calls to `withRules` and `withTags`.
*/
options(options: RunOptions): this;
/**
* Limits analysis to only the specified rules.
*
* @param rules Array of rule IDs, or a single rule ID as a string.
* @remarks Cannot be used with `withTags`.
*/
withRules(rules: string | string[]): this;
/**
* Limist analysis to only the specified tags.
*
* @param rules Array of tags, or a single tag as a string
* @remarks Cannot be used with `withRules`.
*/
withTags(tags: string | string[]): this;
/**
* Set the list of rules to skip when running an analysis
*
* @param rules Array of rule IDs, or a single rule ID as a string
*/
disableRules(rules: string | string[]): this;
/**
* Configures aXe before running analyze.
*
* @param config aXe Configuration spec to use in analysis.
*/
configure(config: Spec): this;
/**
* Perform analysis and retrieve results.
* @param callback Function to execute when analysis completes.
*/
analyze(callback: (results: IAxeAnalysis) => void): Promise<IAxeAnalysis>;
}
+7
View File
@@ -0,0 +1,7 @@
{
"private": true,
"dependencies": {
"@types/selenium-webdriver": "^3.0.0",
"axe-core": "^2.6.1"
}
}
+22
View File
@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"axe-webdriverjs-tests.ts"
]
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }