Skip to content

Commit 4a096ca

Browse files
committed
Distribute type definition files using npm
1 parent 300ca23 commit 4a096ca

File tree

7 files changed

+154
-2
lines changed

7 files changed

+154
-2
lines changed

dtsm.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"repos": [
3+
{
4+
"url": "https://github.com/borisyankov/DefinitelyTyped.git",
5+
"ref": "master"
6+
}
7+
],
8+
"path": "typings",
9+
"bundle": "typings/bundle.d.ts",
10+
"link": {
11+
"npm": {
12+
"include": true
13+
}
14+
},
15+
"dependencies": {
16+
"empower/empower.d.ts": {
17+
"ref": "98d3168c2c570352a3a7393788e2ec9fbb08ade6"
18+
},
19+
"power-assert-formatter/power-assert-formatter.d.ts": {
20+
"ref": "98d3168c2c570352a3a7393788e2ec9fbb08ade6"
21+
}
22+
}
23+
}

index.d.ts

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// Type definitions for power-assert
2+
// Project: https://github.com/twada/power-assert
3+
// Definitions by: vvakame <https://github.com/vvakame>
4+
// Definitions: https://github.com/borisyankov/DefinitelyTyped
5+
6+
// copy from assert external module in node.d.ts
7+
8+
// <reference path="../node_modules/empower/empower.d.ts" />
9+
// <reference path="../node_modules/power-assert-formatter/power-assert-formatter.d.ts" />
10+
/// <reference path="./typings/bundle.d.ts" />
11+
12+
declare function assert(value:any, message?:string):void;
13+
declare namespace assert {
14+
export class AssertionError implements Error {
15+
name:string;
16+
message:string;
17+
actual:any;
18+
expected:any;
19+
operator:string;
20+
generatedMessage:boolean;
21+
22+
constructor(options?:{message?: string; actual?: any; expected?: any; operator?: string; stackStartFunction?: Function});
23+
}
24+
25+
export function fail(actual?:any, expected?:any, message?:string, operator?:string):void;
26+
27+
export function ok(value:any, message?:string):void;
28+
29+
export function equal(actual:any, expected:any, message?:string):void;
30+
31+
export function notEqual(actual:any, expected:any, message?:string):void;
32+
33+
export function deepEqual(actual:any, expected:any, message?:string):void;
34+
35+
export function notDeepEqual(acutal:any, expected:any, message?:string):void;
36+
37+
export function strictEqual(actual:any, expected:any, message?:string):void;
38+
39+
export function notStrictEqual(actual:any, expected:any, message?:string):void;
40+
41+
export var throws:{
42+
(block:Function, message?:string): void;
43+
(block:Function, error:Function, message?:string): void;
44+
(block:Function, error:RegExp, message?:string): void;
45+
(block:Function, error:(err:any) => boolean, message?:string): void;
46+
};
47+
48+
export var doesNotThrow:{
49+
(block:Function, message?:string): void;
50+
(block:Function, error:Function, message?:string): void;
51+
(block:Function, error:RegExp, message?:string): void;
52+
(block:Function, error:(err:any) => boolean, message?:string): void;
53+
};
54+
55+
export function ifError(value:any):void;
56+
57+
export interface Options {
58+
assertion?: empower.Options;
59+
output?: powerAssertFormatter.Options;
60+
}
61+
62+
export function customize(options:Options):typeof assert;
63+
}
64+
65+
declare module "power-assert" {
66+
export default assert;
67+
}

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,12 @@
4444
"devDependencies": {
4545
"babel": "^5.2.0",
4646
"babel-plugin-espower": "^1.0.0",
47+
"dtsm": "^0.11.0",
4748
"expect.js": "^0.3.1",
4849
"licensify": "^2.0.1",
4950
"qunit-tap": "^1.5.0",
50-
"qunitjs": "1.14.0"
51+
"qunitjs": "1.14.0",
52+
"typescript": "^1.6.2"
5153
},
5254
"files": [
5355
"CHANGELOG.md",
@@ -85,7 +87,8 @@
8587
"test-generated": "mocha --reporter dot ./espowered_tests/**/*_test.js",
8688
"test-browser": "mocha-phantomjs --reporter dot test/test-browser.html",
8789
"test-amd": "mocha-phantomjs --reporter dot test/test-amd.html",
88-
"test-all": "npm run test-unit && npm run test-generated && npm run test-browser && npm run test-amd",
90+
"test-typings": "node node_modules/typescript/lib/tsc -p ./",
91+
"test-all": "npm run test-unit && npm run test-generated && npm run test-browser && npm run test-amd && npm run test-typings",
8992
"test": "npm run setup && npm run test-all"
9093
}
9194
}

tsconfig.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"compilerOptions": {
3+
"module": "commonjs",
4+
"noImplicitAny": true
5+
},
6+
"files": [
7+
"index.d.ts"
8+
]
9+
}

typings/bundle.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/// <reference path="empower/empower.d.ts" />
2+
/// <reference path="power-assert-formatter/power-assert-formatter.d.ts" />

typings/empower/empower.d.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Type definitions for empower
2+
// Project: https://github.com/twada/empower
3+
// Definitions by: vvakame <https://github.com/vvakame>
4+
// Definitions: https://github.com/borisyankov/DefinitelyTyped
5+
6+
declare function empower(originalAssert:any, formatter:any, options?:empower.Options):any;
7+
8+
declare module empower {
9+
export interface Options {
10+
destructive?: boolean;
11+
modifyMessageOnRethrow?: boolean;
12+
saveContextOnRethrow?: boolean;
13+
patterns?: string[];
14+
}
15+
}
16+
17+
declare module "empower" {
18+
export = empower;
19+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Type definitions for power-assert-formatter
2+
// Project: https://github.com/twada/power-assert-formatter
3+
// Definitions by: vvakame <https://github.com/vvakame>
4+
// Definitions: https://github.com/borisyankov/DefinitelyTyped
5+
6+
declare function powerAssertFormatter(options?:powerAssertFormatter.Options):powerAssertFormatter.Formatter;
7+
8+
declare module powerAssertFormatter {
9+
export interface Options {
10+
lineDiffThreshold?: number;
11+
maxDepth?: number;
12+
outputOffset?: number;
13+
anonymous?: string;
14+
circular?: string;
15+
lineSeparator?: string;
16+
ambiguousEastAsianCharWidth?: number;
17+
widthOf?: Function;
18+
stringify?: Function;
19+
diff?: Function;
20+
writerClass?: {new (): any;};
21+
renderers?: any[]; // { string | Function }[]
22+
}
23+
24+
export interface Formatter {
25+
(powerAssertContext:any): string;
26+
}
27+
28+
export function defaultOptions():Options;
29+
}

0 commit comments

Comments
 (0)