Skip to content

Commit 815e05d

Browse files
committed
change indentation to 2 spaces
1 parent 9eb3869 commit 815e05d

File tree

5 files changed

+108
-108
lines changed

5 files changed

+108
-108
lines changed

package-lock.json

Lines changed: 26 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
{
2-
"name": "typed-regexp",
3-
"version": "1.0.3",
4-
"description": "Adds type checks for regular expressions.",
5-
"main": "src/index.js",
6-
"types": "src/index.d.ts",
7-
"scripts": {
8-
"test": "tsc"
9-
},
10-
"keywords": [
11-
"regex",
12-
"regexp",
13-
"typesafe",
14-
"type-safe",
15-
"typescript"
16-
],
17-
"author": "Sertonix",
18-
"license": "MIT",
19-
"repository": "https://github.com/Sertonix/typed-regexp",
20-
"devDependencies": {
21-
"typescript": "^4.9.4"
22-
},
23-
"files": [
24-
"src/**/*"
25-
]
2+
"name": "typed-regexp",
3+
"version": "1.0.3",
4+
"description": "Adds type checks for regular expressions.",
5+
"main": "src/index.js",
6+
"types": "src/index.d.ts",
7+
"scripts": {
8+
"test": "tsc"
9+
},
10+
"keywords": [
11+
"regex",
12+
"regexp",
13+
"typesafe",
14+
"type-safe",
15+
"typescript"
16+
],
17+
"author": "Sertonix",
18+
"license": "MIT",
19+
"repository": "https://github.com/Sertonix/typed-regexp",
20+
"devDependencies": {
21+
"typescript": "^4.9.4"
22+
},
23+
"files": [
24+
"src/**/*"
25+
]
2626
}

src/index.d.ts

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -10,69 +10,69 @@ type Groups = string[];
1010
type NamedGroups = undefined | { [key: string]: string };
1111

1212
export type TypedRegExpMatchArray<TGroups extends Groups = Groups, TNamedGroups extends NamedGroups = NamedGroups, TInputString extends string = string> = {
13-
index?: number;
14-
input?: TInputString;
15-
groups: TNamedGroups;
13+
index?: number;
14+
input?: TInputString;
15+
groups: TNamedGroups;
1616
} & ( [string,...TGroups] & IntersectedArray<string,TypedRegExpMatchArray<TGroups,TNamedGroups,TInputString>> );
1717

1818
export type TypedRegExpExecArray<TGroups extends Groups = Groups, TNamedGroups extends NamedGroups = NamedGroups, TInputString extends string = string> = TypedRegExpMatchArray<TGroups,TNamedGroups,TInputString> & {
19-
index: number;
20-
input: TInputString;
19+
index: number;
20+
input: TInputString;
2121
};
2222

2323
export interface TypedRegExp<
24-
TGroups extends Groups = Groups,
25-
TNamedGroups extends NamedGroups = NamedGroups,
26-
TFlagCombo extends RegExpFlagCombos = RegExpFlagCombos,
24+
TGroups extends Groups = Groups,
25+
TNamedGroups extends NamedGroups = NamedGroups,
26+
TFlagCombo extends RegExpFlagCombos = RegExpFlagCombos,
2727
> extends RegExp {
28-
exec<TInputString extends string, TMatches extends boolean = boolean>(string: TInputString): If<TMatches,TypedRegExpExecArray<TGroups,TNamedGroups,TInputString>,null>;
29-
readonly dotAll: HasFlag<TFlagCombo,"d">;
30-
readonly global: HasFlag<TFlagCombo,"g">;
31-
readonly ignoreCase: HasFlag<TFlagCombo,"i">;
32-
readonly multiline: HasFlag<TFlagCombo,"m">;
33-
readonly unicode: HasFlag<TFlagCombo,"u">;
34-
readonly sticky: HasFlag<TFlagCombo,"y">;
35-
readonly flags: SortRegExpFlags<TFlagCombo>;
36-
// this method is restricted to return a sub type so that the type safety is kept
37-
compile< TNewGroups extends TGroups = TGroups, TNewNamedGroups extends TNamedGroups = TNamedGroups, NewFlagCombo extends TFlagCombo = TFlagCombo >(pattern: string, flags?: NewFlagCombo): this & TypedRegExp<TNewGroups,TNewNamedGroups,NewFlagCombo>;
38-
[Symbol.match]<TInputString extends string, TMatches extends boolean = boolean>(string: TInputString): If<TMatches,TypedRegExpMatchArray<TGroups,TNamedGroups,TInputString>,null>;
39-
[Symbol.replace](string: string, replaceValue: string): string;
40-
[Symbol.replace](string: string, replacer: (substring: string, ...args: [...TGroups,number,string,...(undefined extends TNamedGroups ? [] : [TNamedGroups])]) => string): string;
41-
[Symbol.matchAll]<TInputString extends string>(str: TInputString): IterableIterator<TypedRegExpMatchArray<TGroups,TNamedGroups,TInputString>>;
28+
exec<TInputString extends string, TMatches extends boolean = boolean>(string: TInputString): If<TMatches,TypedRegExpExecArray<TGroups,TNamedGroups,TInputString>,null>;
29+
readonly dotAll: HasFlag<TFlagCombo,"d">;
30+
readonly global: HasFlag<TFlagCombo,"g">;
31+
readonly ignoreCase: HasFlag<TFlagCombo,"i">;
32+
readonly multiline: HasFlag<TFlagCombo,"m">;
33+
readonly unicode: HasFlag<TFlagCombo,"u">;
34+
readonly sticky: HasFlag<TFlagCombo,"y">;
35+
readonly flags: SortRegExpFlags<TFlagCombo>;
36+
// this method is restricted to return a sub type so that the type safety is kept
37+
compile< TNewGroups extends TGroups = TGroups, TNewNamedGroups extends TNamedGroups = TNamedGroups, NewFlagCombo extends TFlagCombo = TFlagCombo >(pattern: string, flags?: NewFlagCombo): this & TypedRegExp<TNewGroups,TNewNamedGroups,NewFlagCombo>;
38+
[Symbol.match]<TInputString extends string, TMatches extends boolean = boolean>(string: TInputString): If<TMatches,TypedRegExpMatchArray<TGroups,TNamedGroups,TInputString>,null>;
39+
[Symbol.replace](string: string, replaceValue: string): string;
40+
[Symbol.replace](string: string, replacer: (substring: string, ...args: [...TGroups,number,string,...(undefined extends TNamedGroups ? [] : [TNamedGroups])]) => string): string;
41+
[Symbol.matchAll]<TInputString extends string>(str: TInputString): IterableIterator<TypedRegExpMatchArray<TGroups,TNamedGroups,TInputString>>;
4242
}
4343

4444
export declare const TypedRegExp: TypedRegExpConstructor;
4545

4646
type RegExpConstructor = typeof RegExp;
4747
interface TypedRegExpConstructor extends RegExpConstructor {
48-
new (): TypedRegExp<[],{},"">;
49-
new <TGroups extends Groups, TNamedGroups extends NamedGroups>(pattern: string): TypedRegExp<TGroups,TNamedGroups,"">;
50-
new <TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: string, flags: TFlagCombo): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
51-
new <TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
52-
new <TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: TypedRegExp<TGroups,TNamedGroups>, flags: TFlagCombo): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
53-
<TGroups extends Groups, TNamedGroups extends NamedGroups>(pattern: string): TypedRegExp<TGroups,TNamedGroups,"">;
54-
<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: string, flags: TFlagCombo): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
55-
<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
56-
<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: TypedRegExp<TGroups,TNamedGroups>, flags: TFlagCombo): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
57-
readonly prototype: TypedRegExp;
58-
readonly [Symbol.species]: TypedRegExpConstructor;
48+
new (): TypedRegExp<[],{},"">;
49+
new <TGroups extends Groups, TNamedGroups extends NamedGroups>(pattern: string): TypedRegExp<TGroups,TNamedGroups,"">;
50+
new <TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: string, flags: TFlagCombo): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
51+
new <TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
52+
new <TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: TypedRegExp<TGroups,TNamedGroups>, flags: TFlagCombo): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
53+
<TGroups extends Groups, TNamedGroups extends NamedGroups>(pattern: string): TypedRegExp<TGroups,TNamedGroups,"">;
54+
<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: string, flags: TFlagCombo): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
55+
<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
56+
<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos>(pattern: TypedRegExp<TGroups,TNamedGroups>, flags: TFlagCombo): TypedRegExp<TGroups,TNamedGroups,TFlagCombo>;
57+
readonly prototype: TypedRegExp;
58+
readonly [Symbol.species]: TypedRegExpConstructor;
5959
}
6060

6161
/** @experimental This class is intended to prevent overloads from the default string methods. */
6262
export interface TypedRegExpString extends Omit<String,"match"|"matchAll"|"replace"|"replaceAll"> /* excludes the old properties to prevent overloads */ {
63-
// IDEA use return value from the Regexp[Symbol.match] etc. definitions
64-
// IDEA pass this as string to matches
63+
// IDEA use return value from the Regexp[Symbol.match] etc. definitions
64+
// IDEA pass this as string to matches
65+
match<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos = RegExpFlagCombos, TMatches extends boolean = boolean>(regexp: string | TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): If<TMatches,TypedRegExpMatchArray<TGroups,TNamedGroups>,null>;
66+
matchAll<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos<{g:true}> = RegExpFlagCombos<{g:true}>>(regexp: TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): IterableIterator<TypedRegExpMatchArray<TGroups,TNamedGroups>>;
67+
replace<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos = RegExpFlagCombos>(searchValue: string | TypedRegExp<TGroups,TNamedGroups,TFlagCombo>, replacer: (substring: string, ...args: [...TGroups,number,string,...(keyof TNamedGroups extends never ? [] : [TNamedGroups])]) => string): string;
68+
replaceAll<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos<{g:true}> = RegExpFlagCombos<{g:true}>>(searchValue: string | TypedRegExp<TGroups,TNamedGroups,TFlagCombo>, replacer: (substring: string, ...args: [...TGroups,number,string,...(keyof TNamedGroups extends never ? [] : [TNamedGroups])]) => string): string;
69+
}
70+
71+
declare global {
72+
interface String {
6573
match<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos = RegExpFlagCombos, TMatches extends boolean = boolean>(regexp: string | TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): If<TMatches,TypedRegExpMatchArray<TGroups,TNamedGroups>,null>;
6674
matchAll<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos<{g:true}> = RegExpFlagCombos<{g:true}>>(regexp: TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): IterableIterator<TypedRegExpMatchArray<TGroups,TNamedGroups>>;
6775
replace<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos = RegExpFlagCombos>(searchValue: string | TypedRegExp<TGroups,TNamedGroups,TFlagCombo>, replacer: (substring: string, ...args: [...TGroups,number,string,...(keyof TNamedGroups extends never ? [] : [TNamedGroups])]) => string): string;
6876
replaceAll<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos<{g:true}> = RegExpFlagCombos<{g:true}>>(searchValue: string | TypedRegExp<TGroups,TNamedGroups,TFlagCombo>, replacer: (substring: string, ...args: [...TGroups,number,string,...(keyof TNamedGroups extends never ? [] : [TNamedGroups])]) => string): string;
69-
}
70-
71-
declare global {
72-
interface String {
73-
match<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos = RegExpFlagCombos, TMatches extends boolean = boolean>(regexp: string | TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): If<TMatches,TypedRegExpMatchArray<TGroups,TNamedGroups>,null>;
74-
matchAll<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos<{g:true}> = RegExpFlagCombos<{g:true}>>(regexp: TypedRegExp<TGroups,TNamedGroups,TFlagCombo>): IterableIterator<TypedRegExpMatchArray<TGroups,TNamedGroups>>;
75-
replace<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos = RegExpFlagCombos>(searchValue: string | TypedRegExp<TGroups,TNamedGroups,TFlagCombo>, replacer: (substring: string, ...args: [...TGroups,number,string,...(keyof TNamedGroups extends never ? [] : [TNamedGroups])]) => string): string;
76-
replaceAll<TGroups extends Groups, TNamedGroups extends NamedGroups, TFlagCombo extends RegExpFlagCombos<{g:true}> = RegExpFlagCombos<{g:true}>>(searchValue: string | TypedRegExp<TGroups,TNamedGroups,TFlagCombo>, replacer: (substring: string, ...args: [...TGroups,number,string,...(keyof TNamedGroups extends never ? [] : [TNamedGroups])]) => string): string;
77-
}
77+
}
7878
}

src/utils.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ export type NoAlwaysTrueValue<O extends {[k:string]:boolean},T> = {[k in keyof O
2121

2222
/** modified array that fixes return value from the sort function when the type is used in an intersection */
2323
export interface IntersectedArray<T,S> extends Array<T> {
24-
sort(compareFn?: (a: T, b: T) => number): this & S;
25-
[n: number]: never; // elements are defined by the intersected array
24+
sort(compareFn?: (a: T, b: T) => number): this & S;
25+
[n: number]: never; // elements are defined by the intersected array
2626
}
2727

2828
/** toggle if a substring is in a string */

tsconfig.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
2-
"compilerOptions": {
3-
"target": "ES2020",
4-
"noEmit": true,
5-
"strict": true,
6-
"noImplicitOverride": true,
7-
"noImplicitReturns": true,
8-
"noPropertyAccessFromIndexSignature": true,
9-
"noUncheckedIndexedAccess": true,
10-
"noUnusedLocals": true,
11-
"noUnusedParameters": true,
12-
"moduleResolution": "node"
13-
}
2+
"compilerOptions": {
3+
"target": "ES2020",
4+
"noEmit": true,
5+
"strict": true,
6+
"noImplicitOverride": true,
7+
"noImplicitReturns": true,
8+
"noPropertyAccessFromIndexSignature": true,
9+
"noUncheckedIndexedAccess": true,
10+
"noUnusedLocals": true,
11+
"noUnusedParameters": true,
12+
"moduleResolution": "node"
13+
}
1414
}

0 commit comments

Comments
 (0)