From b30a6294569e14d0d067984a44204d8ce4189c39 Mon Sep 17 00:00:00 2001 From: akim95 Date: Wed, 2 Oct 2019 12:00:10 +0800 Subject: [PATCH 01/10] added TS typings --- index.d.ts | 9 +++++++++ package.json | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..f8d3531 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,9 @@ +// TypeScript Version: 3.5.2 + +interface Options { + onlyFirst: boolean; +} + +declare function ansiRegex(options?: Options | T): RegExp; + +export = ansiRegex; diff --git a/package.json b/package.json index 713ecfc..3d957fe 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "email": "sindresorhus@gmail.com", "url": "sindresorhus.com" }, + "types": "index.d.ts", "engines": { "node": ">=8" }, @@ -17,7 +18,8 @@ "view-supported": "node fixtures/view-codes.js" }, "files": [ - "index.js" + "index.js", + "index.d.ts" ], "keywords": [ "ansi", From 999b6539a15a61c4d3d3923bb00c69433f6a532a Mon Sep 17 00:00:00 2001 From: akim95 Date: Wed, 2 Oct 2019 13:47:19 +0800 Subject: [PATCH 02/10] improved style --- index.d.ts | 28 ++++++++++++++++++++++++++-- package.json | 4 ++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/index.d.ts b/index.d.ts index f8d3531..bac957c 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,9 +1,33 @@ -// TypeScript Version: 3.5.2 +// TypeScript Version: 3.6.3 interface Options { onlyFirst: boolean; } -declare function ansiRegex(options?: Options | T): RegExp; +/** +Regular expression for matching ANSI escape codes + +@example +``` +import ansiRegex from 'ansi-regex'; + +ansiRegex().test('\u001B[4mcake\u001B[0m'); +//=> true + +ansiRegex().test('cake'); +//=> false + +'\u001B[4mcake\u001B[0m'.match(ansiRegex()); +//=> ['\u001B[4m', '\u001B[0m'] + +'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true})); +//=> ['\u001B[4m'] + +'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex()); +//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007'] +``` +*/ + +declare function ansiRegex(options?: Options): RegExp; export = ansiRegex; diff --git a/package.json b/package.json index 3d957fe..0717ee9 100644 --- a/package.json +++ b/package.json @@ -9,12 +9,11 @@ "email": "sindresorhus@gmail.com", "url": "sindresorhus.com" }, - "types": "index.d.ts", "engines": { "node": ">=8" }, "scripts": { - "test": "xo && ava", + "test": "xo && ava && tsd", "view-supported": "node fixtures/view-codes.js" }, "files": [ @@ -50,6 +49,7 @@ ], "devDependencies": { "ava": "^1.4.1", + "tsd": "^0.9.0", "xo": "^0.24.0" } } From 8a312d5211f96cf257d0b8b5dda4bcc0c21e5e35 Mon Sep 17 00:00:00 2001 From: akim95 Date: Wed, 2 Oct 2019 13:49:33 +0800 Subject: [PATCH 03/10] added Typescript tests --- index.test-d.ts | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 index.test-d.ts diff --git a/index.test-d.ts b/index.test-d.ts new file mode 100644 index 0000000..8539a23 --- /dev/null +++ b/index.test-d.ts @@ -0,0 +1,4 @@ +import ansiRegex from '.'; +import {expectType} from 'tsd'; + +expectType(ansiRegex()); From 098a19d6f23bb02537179deff25a65cfc360423a Mon Sep 17 00:00:00 2001 From: akim95 Date: Thu, 3 Oct 2019 17:44:06 +0800 Subject: [PATCH 04/10] update test --- index.test-d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/index.test-d.ts b/index.test-d.ts index 8539a23..d157211 100644 --- a/index.test-d.ts +++ b/index.test-d.ts @@ -2,3 +2,4 @@ import ansiRegex from '.'; import {expectType} from 'tsd'; expectType(ansiRegex()); +expectType(ansiRegex({ onlyFirst: true })); From d661e5696931ddebabac6e5c18a7920deb8fe513 Mon Sep 17 00:00:00 2001 From: akim95 Date: Thu, 3 Oct 2019 17:52:08 +0800 Subject: [PATCH 05/10] update ts interface doc --- index.d.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/index.d.ts b/index.d.ts index bac957c..7f90cb1 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,6 +1,11 @@ // TypeScript Version: 3.6.3 interface Options { + /** + Match only the first ANSI escape. + + @default false + */ onlyFirst: boolean; } From eb3032f83d5ec518d23dfd45e6be79b08190ca5c Mon Sep 17 00:00:00 2001 From: akim95 Date: Thu, 3 Oct 2019 17:55:07 +0800 Subject: [PATCH 06/10] update ts interface doc again --- index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index 7f90cb1..894be7f 100644 --- a/index.d.ts +++ b/index.d.ts @@ -4,7 +4,7 @@ interface Options { /** Match only the first ANSI escape. - @default false + @default false */ onlyFirst: boolean; } From fe87e5f0ee4b1f89c24eb0536e787df308ffd674 Mon Sep 17 00:00:00 2001 From: akim95 Date: Fri, 4 Oct 2019 13:43:56 +0800 Subject: [PATCH 07/10] wrap with namespace --- index.d.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/index.d.ts b/index.d.ts index 894be7f..ecb1513 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,12 +1,14 @@ // TypeScript Version: 3.6.3 -interface Options { - /** - Match only the first ANSI escape. - - @default false - */ - onlyFirst: boolean; +declare namespace ansiRegex { + interface Options { + /** + Match only the first ANSI escape. + + @default false + */ + onlyFirst: boolean; + } } /** @@ -32,7 +34,6 @@ ansiRegex().test('cake'); //=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007'] ``` */ - -declare function ansiRegex(options?: Options): RegExp; +declare function ansiRegex(options?: ansiRegex.Options): RegExp; export = ansiRegex; From b0ebcfa40e3d92061cd5d18f42a022128a0c986a Mon Sep 17 00:00:00 2001 From: akim95 Date: Fri, 4 Oct 2019 13:45:41 +0800 Subject: [PATCH 08/10] fix tab --- index.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.d.ts b/index.d.ts index ecb1513..7a3fa96 100644 --- a/index.d.ts +++ b/index.d.ts @@ -3,12 +3,12 @@ declare namespace ansiRegex { interface Options { /** - Match only the first ANSI escape. + Match only the first ANSI escape. - @default false + @default false */ onlyFirst: boolean; - } + } } /** From 0ef411d5f33fa306cf61c2043d7e40dbef02340b Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 4 Oct 2019 18:19:03 +0700 Subject: [PATCH 09/10] Update index.d.ts --- index.d.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/index.d.ts b/index.d.ts index 7a3fa96..2dbf6af 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,5 +1,3 @@ -// TypeScript Version: 3.6.3 - declare namespace ansiRegex { interface Options { /** @@ -12,11 +10,11 @@ declare namespace ansiRegex { } /** -Regular expression for matching ANSI escape codes +Regular expression for matching ANSI escape codes. @example ``` -import ansiRegex from 'ansi-regex'; +import ansiRegex = require('ansi-regex'); ansiRegex().test('\u001B[4mcake\u001B[0m'); //=> true From 8cf04d9b5819fce6f408dacc261a94bbb7113e7a Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 4 Oct 2019 18:22:25 +0700 Subject: [PATCH 10/10] Update index.test-d.ts --- index.test-d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.test-d.ts b/index.test-d.ts index d157211..77fed65 100644 --- a/index.test-d.ts +++ b/index.test-d.ts @@ -1,5 +1,5 @@ -import ansiRegex from '.'; import {expectType} from 'tsd'; +import ansiRegex from '.'; expectType(ansiRegex()); -expectType(ansiRegex({ onlyFirst: true })); +expectType(ansiRegex({onlyFirst: true}));