Skip to content

Commit f9487ab

Browse files
committed
fix(typescript): fixes and improvements to typings for better stability
1 parent 841bc91 commit f9487ab

File tree

9 files changed

+54
-46
lines changed

9 files changed

+54
-46
lines changed

src/extractors/scopes.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
export default (line: string): string[] => {
1+
import { BlockMode } from '../../types/interfaces';
2+
3+
export default (line: string): ['request' | 'req', BlockMode, string?] => {
24
const matches = [];
35
const cases = {
46
SCOPE: 0,
@@ -105,5 +107,5 @@ export default (line: string): string[] => {
105107
matches.push(rebuild);
106108
}
107109

108-
return matches;
110+
return matches as ['request' | 'req', BlockMode, string?];
109111
};

src/finders/request/body.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ export default function requestModeBodyFinder(
2323
link: extracted[1],
2424
linked: false,
2525
line_index: index,
26-
key
26+
key,
27+
mode: 'body'
2728
};
2829
}
2930
if (_key.includes('getBodyField(')) {
@@ -34,7 +35,8 @@ export default function requestModeBodyFinder(
3435
link: extracted[1],
3536
linked: false,
3637
line_index: index,
37-
key
38+
key,
39+
mode: 'body'
3840
};
3941
}
4042
if (_key === 'body' && extracted[1].charAt(0) === '{') {
@@ -50,15 +52,17 @@ export default function requestModeBodyFinder(
5052
link,
5153
linked: false,
5254
line_index: index,
53-
key
55+
key,
56+
mode: 'body'
5457
};
5558
}
5659
if (_key === 'body') {
5760
return {
5861
link: extracted[1],
5962
linked: false,
6063
line_index: index,
61-
key: '*'
64+
key: '*',
65+
mode: 'body'
6266
};
6367
}
6468
}

src/finders/request/cookies.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ export default function requestModeCookiesFinder(
2323
link: extracted[1],
2424
linked: false,
2525
line_index: index,
26-
key
26+
key,
27+
mode: 'cookies'
2728
};
2829
}
2930
if (_key.includes('cookie(')) {
@@ -34,7 +35,8 @@ export default function requestModeCookiesFinder(
3435
link: extracted[1],
3536
linked: false,
3637
line_index: index,
37-
key
38+
key,
39+
mode: 'cookies'
3840
};
3941
}
4042
if (_key === 'cookies' && extracted[1].charAt(0) === '{') {
@@ -50,15 +52,17 @@ export default function requestModeCookiesFinder(
5052
link,
5153
linked: false,
5254
line_index: index,
53-
key
55+
key,
56+
mode: 'cookies'
5457
};
5558
}
5659
if (_key === 'cookies') {
5760
return {
5861
link: extracted[1],
5962
linked: false,
6063
line_index: index,
61-
key: '*'
64+
key: '*',
65+
mode: 'cookies'
6266
};
6367
}
6468
}

src/finders/request/headers.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ export default function requestModeHeadersFinder(
2323
link: extracted[1],
2424
linked: false,
2525
line_index: index,
26-
key
26+
key,
27+
mode: 'headers'
2728
};
2829
}
2930
if (_key.includes('header(')) {
@@ -34,7 +35,8 @@ export default function requestModeHeadersFinder(
3435
link: extracted[1],
3536
linked: false,
3637
line_index: index,
37-
key
38+
key,
39+
mode: 'headers'
3840
};
3941
}
4042
if (_key.includes('getHeader(')) {
@@ -54,15 +56,17 @@ export default function requestModeHeadersFinder(
5456
link,
5557
linked: false,
5658
line_index: index,
57-
key
59+
key,
60+
mode: 'headers'
5861
};
5962
}
6063
if (_key === 'headers') {
6164
return {
6265
link: extracted[1],
6366
linked: false,
6467
line_index: index,
65-
key: '*'
68+
key: '*',
69+
mode: 'headers'
6670
};
6771
}
6872
}

src/finders/request/index.ts

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,62 +31,44 @@ export default function caseRequestModeFinder(
3131
linked: false,
3232
line_index: index,
3333
key: _skey,
34-
mode: _key as any
34+
mode: _key
3535
};
3636
}
3737

3838
// Headers matching
3939
res = requestModeHeadersFinder(_, _key, line, index);
4040
if (res !== undefined) {
41-
if (res !== null) {
42-
res.mode = 'headers';
43-
}
4441
return res;
4542
}
4643

4744
// Cookies matching
4845
res = requestModeCookiesFinder(_, _key, line, index);
4946
if (res !== undefined) {
50-
if (res !== null) {
51-
res.mode = 'cookies';
52-
}
5347
return res;
5448
}
5549

5650
// Params matching
5751
res = requestModeParamsFinder(_, _key, line, index);
5852

5953
if (res !== undefined) {
60-
if (res !== null) {
61-
res.mode = 'params';
62-
}
6354
return res;
6455
}
6556

6657
// Params matching
6758
res = requestModeQueryFinder(_, _key, line, index);
6859
if (res !== undefined) {
69-
if (res !== null) {
70-
res.mode = 'query';
71-
}
7260
return res;
7361
}
7462

7563
// Body matching
7664
res = requestModeBodyFinder(_, _key, line, index);
7765
if (res !== undefined) {
78-
if (res !== null) {
79-
res.mode = 'body';
80-
}
8166
return res;
8267
}
8368

8469
// Method matching
8570
res = requestMethodFinder(_, _key, line, index);
8671
if (res !== undefined) {
87-
if (res !== null) {
88-
res.mode = 'property';
89-
}
9072
return res;
9173
}
9274
} else {
@@ -100,7 +82,6 @@ export default function caseRequestModeFinder(
10082
index
10183
);
10284
if (res) {
103-
res.mode = 'property';
10485
return res;
10586
}
10687
}

src/finders/request/params.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ export default function requestModeParamsFinder(
2323
link: extracted[1],
2424
linked: false,
2525
line_index: index,
26-
key
26+
key,
27+
mode: 'params'
2728
};
2829
}
2930
if (_key.includes('param(')) {
@@ -34,7 +35,8 @@ export default function requestModeParamsFinder(
3435
link: extracted[1],
3536
linked: false,
3637
line_index: index,
37-
key
38+
key,
39+
mode: 'params'
3840
};
3941
}
4042
if (_key.includes('getParameter(')) {
@@ -54,15 +56,17 @@ export default function requestModeParamsFinder(
5456
link,
5557
linked: false,
5658
line_index: index,
57-
key
59+
key,
60+
mode: 'params'
5861
};
5962
}
6063
if (_key === 'params') {
6164
return {
6265
link: extracted[1],
6366
linked: false,
6467
line_index: index,
65-
key: '*'
68+
key: '*',
69+
mode: 'params'
6670
};
6771
}
6872
}

src/finders/request/property.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ export default function requestMethodFinder(
2323
link: extracted[1],
2424
linked: false,
2525
line_index: index,
26-
key: _key
26+
key: _key,
27+
mode: 'property'
2728
};
2829
}
2930
if (_key.includes('getMethod(') || _key.includes('getUrl(')) {
@@ -46,15 +47,17 @@ export default function requestMethodFinder(
4647
link,
4748
linked: false,
4849
line_index: index,
49-
key
50+
key,
51+
mode: 'property'
5052
};
5153
}
5254
if (_key.endsWith('req') || _key.endsWith('request')) {
5355
return {
5456
link: extracted[1],
5557
linked: false,
5658
line_index: index,
57-
key: '*'
59+
key: '*',
60+
mode: 'property'
5861
};
5962
}
6063

src/finders/request/query.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ export default function requestModeQueryFinder(
2323
link: extracted[1],
2424
linked: false,
2525
line_index: index,
26-
key
26+
key,
27+
mode: 'query'
2728
};
2829
}
2930
if (_key.includes('getQuery(')) {
@@ -34,7 +35,8 @@ export default function requestModeQueryFinder(
3435
link: extracted[1],
3536
linked: false,
3637
line_index: index,
37-
key
38+
key,
39+
mode: 'query'
3840
};
3941
}
4042
if (_key === 'query' && extracted[1].charAt(0) === '{') {
@@ -50,15 +52,17 @@ export default function requestModeQueryFinder(
5052
link,
5153
linked: false,
5254
line_index: index,
53-
key
55+
key,
56+
mode: 'query'
5457
};
5558
}
5659
if (_key === 'query') {
5760
return {
5861
link: extracted[1],
5962
linked: false,
6063
line_index: index,
61-
key: '*'
64+
key: '*',
65+
mode: 'query'
6266
};
6367
}
6468
}

types/interfaces.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
export type BlockMode ='headers' | 'cookies' | 'params' | 'query' | 'body' | 'property'
2+
13
export interface IBlock {
24
link: string;
35
linked: boolean;
46
line_index: number;
57
key: string | '*';
6-
mode?: 'headers' | 'cookies' | 'params' | 'query' | 'body' | 'property';
8+
mode: BlockMode;
79
}

0 commit comments

Comments
 (0)