Skip to content

Commit 18d1e6f

Browse files
fix: Update the types to improve usage. (#998)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1 parent a680cfc commit 18d1e6f

File tree

6 files changed

+38
-10
lines changed

6 files changed

+38
-10
lines changed

jsr.json

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,7 @@
77
"./node": "./dist/index.js"
88
},
99
"publish": {
10-
"include": [
11-
"LICENSE",
12-
"README.md",
13-
"dist/*.d.ts",
14-
"dist/browser.*",
15-
"dist/index.js"
16-
],
17-
"exclude": [
18-
"!dist"
19-
]
10+
"include": ["LICENSE", "README.md", "dist/*.d.ts", "dist/browser.*", "dist/index.js"],
11+
"exclude": ["!dist"]
2012
}
2113
}

src/RegExpWorker.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,9 @@ export function timeoutRejection(e: unknown): Promise<never> {
175175
*/
176176
export type RangePair = [start: number, end: number];
177177

178+
/**
179+
* Represents the result of RegExpWorker.matchAllAsRangePairs
180+
*/
178181
export interface MatchAllAsRangePairsResult {
179182
elapsedTimeMs: number;
180183
/**

src/RegExpWorkerBrowser.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ export type {
2626
RangePair,
2727
} from './RegExpWorker.js';
2828

29+
/**
30+
* A Regular Expression Worker for browser and Deno environments. It use the Web Worker API to run RegExp operations in a separate thread.
31+
*/
2932
export class RegExpWorker extends RegExpWorkerBase {
3033
/**
3134
* Create a new RegExpWorker instance.
@@ -37,6 +40,12 @@ export class RegExpWorker extends RegExpWorkerBase {
3740
}
3841
}
3942

43+
/**
44+
* Create a new RegExpWorker instance.
45+
* @param timeoutMs - Optional time limit in milliseconds for each request execution. Default is 1000ms.
46+
* @param stopIdleWorkerAfterMs - Optional time in milliseconds to wait after processing the last request before stopping the worker. Default is 200ms.
47+
* @returns a new instance of RegExpWorker.
48+
*/
4049
export function createRegExpWorker(timeoutMs?: number, stopIdleWorkerAfterMs?: number): RegExpWorker {
4150
return new RegExpWorker(timeoutMs, stopIdleWorkerAfterMs);
4251
}

src/RegExpWorkerNode.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ export type {
2626
RangePair,
2727
} from './RegExpWorker.js';
2828

29+
/**
30+
* A Regular Expression Worker for NodeJS environments. It use the `node:worker_threads` Worker API to run RegExp operations in a separate thread.
31+
*/
2932
export class RegExpWorker extends RegExpWorkerBase {
3033
/**
3134
* Create a new RegExpWorker instance.
@@ -37,6 +40,12 @@ export class RegExpWorker extends RegExpWorkerBase {
3740
}
3841
}
3942

43+
/**
44+
* Create a new RegExpWorker instance.
45+
* @param timeoutMs - Optional time limit in milliseconds for each request execution. Default is 1000ms.
46+
* @param stopIdleWorkerAfterMs - Optional time in milliseconds to wait after processing the last request before stopping the worker. Default is 200ms.
47+
* @return a new instance of RegExpWorker.
48+
*/
4049
export function createRegExpWorker(timeoutMs?: number, stopIdleWorkerAfterMs?: number): RegExpWorker {
4150
return new RegExpWorker(timeoutMs, stopIdleWorkerAfterMs);
4251
}

src/helpers/evaluateRegExp.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { measureExecution } from '../timer.js';
22
import type { RegExpLike } from './regexp.js';
33

4+
/**
5+
* Represents the result of RegExpWorker.matchAll
6+
*/
47
export interface MatchAllRegExpResult {
58
elapsedTimeMs: number;
69
matches: RegExpMatchArray[];
@@ -17,6 +20,9 @@ export function matchAllRegExp(text: string, regExp: RegExp): MatchAllRegExpResu
1720
return { elapsedTimeMs, matches: r };
1821
}
1922

23+
/**
24+
* Represents the result of RegExpWorker.exec
25+
*/
2026
export interface ExecRegExpResult {
2127
elapsedTimeMs: number;
2228
lastIndex: number;
@@ -34,6 +40,9 @@ export function execRegExp(regExp: RegExp, text: string): ExecRegExpResult {
3440
return { elapsedTimeMs, lastIndex: regExp.lastIndex, match };
3541
}
3642

43+
/**
44+
* Represents the result of RegExpWorker.match
45+
*/
3746
export interface MatchRegExpResult {
3847
elapsedTimeMs: number;
3948
lastIndex: number;
@@ -51,6 +60,9 @@ export function matchRegExp(text: string, regExp: RegExp): MatchRegExpResult {
5160
return { elapsedTimeMs, lastIndex: regExp.lastIndex, match };
5261
}
5362

63+
/**
64+
* Represents the result of RegExpWorker.matchAllArray
65+
*/
5466
export interface MatchAllRegExpArrayResult {
5567
elapsedTimeMs: number;
5668
results: MatchAllRegExpResult[];

src/helpers/regexp.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
export type RegExpOrString = RegExp | string;
22

3+
/**
4+
* Represents a regular expression-like object that has `source` and `flags` properties.
5+
*/
36
export interface RegExpLike {
47
source: string;
58
flags: string;

0 commit comments

Comments
 (0)