@checkdigit/eslint-plugin 7.3.0-PR.75-1f63 → 7.3.0-PR.75-743b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-mjs/agent/agent-test-wiring.mjs +70 -45
- package/dist-mjs/agent/fetch-response-body-json.mjs +20 -8
- package/dist-mjs/agent/fetch-then.mjs +5 -3
- package/dist-mjs/agent/fetch.mjs +5 -1
- package/dist-mjs/agent/fix-function-call-arguments.mjs +19 -16
- package/dist-mjs/agent/no-fixture.mjs +22 -8
- package/dist-mjs/agent/response-reference.mjs +4 -1
- package/dist-types/agent/fetch-response-body-json.d.ts +1 -1
- package/dist-types/agent/fetch.d.ts +1 -0
- package/dist-types/agent/response-reference.d.ts +1 -1
- package/package.json +1 -1
- package/src/agent/agent-test-wiring.ts +80 -53
- package/src/agent/fetch-response-body-json.ts +30 -11
- package/src/agent/fetch-then.ts +4 -2
- package/src/agent/fetch.ts +4 -0
- package/src/agent/fix-function-call-arguments.ts +31 -19
- package/src/agent/no-fixture.ts +34 -9
- package/src/agent/response-reference.ts +10 -3
- package/src/require-resolve-full-response.ts +1 -1
|
@@ -28,12 +28,14 @@ var rule = createRule({
|
|
|
28
28
|
schema: []
|
|
29
29
|
},
|
|
30
30
|
defaultOptions: [],
|
|
31
|
+
// eslint-disable-next-line max-lines-per-function
|
|
31
32
|
create(context) {
|
|
32
33
|
log("Processing file:", context.filename);
|
|
33
34
|
const sourceCode = context.sourceCode;
|
|
34
35
|
const importDeclarations = /* @__PURE__ */ new Map();
|
|
35
36
|
let isFixtureUsed = false;
|
|
36
37
|
let beforeAll;
|
|
38
|
+
let beforeEach;
|
|
37
39
|
let afterAll;
|
|
38
40
|
return {
|
|
39
41
|
ImportDeclaration(importDeclaration) {
|
|
@@ -48,11 +50,15 @@ var rule = createRule({
|
|
|
48
50
|
'CallExpression[callee.name="beforeAll"]': (callExpression) => {
|
|
49
51
|
beforeAll = callExpression;
|
|
50
52
|
},
|
|
53
|
+
'CallExpression[callee.name="beforeEach"]': (callExpression) => {
|
|
54
|
+
beforeEach = callExpression;
|
|
55
|
+
},
|
|
51
56
|
'CallExpression[callee.name="afterAll"]': (callExpression) => {
|
|
52
57
|
afterAll = callExpression;
|
|
53
58
|
},
|
|
59
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
54
60
|
"Program:exit"(program) {
|
|
55
|
-
if (!isFixtureUsed || beforeAll === void 0) {
|
|
61
|
+
if (!isFixtureUsed || beforeAll === void 0 && beforeEach === void 0) {
|
|
56
62
|
return;
|
|
57
63
|
}
|
|
58
64
|
try {
|
|
@@ -60,17 +66,21 @@ var rule = createRule({
|
|
|
60
66
|
let agentImportFixer;
|
|
61
67
|
let fixturePluginImportFixer;
|
|
62
68
|
let agentDeclarationFixer;
|
|
63
|
-
let
|
|
69
|
+
let beforeAllOrEachFixer;
|
|
64
70
|
let afterAllFixer;
|
|
65
71
|
const lastImportDeclaration = [...importDeclarations.values()].at(-1);
|
|
66
72
|
assert.ok(lastImportDeclaration);
|
|
67
73
|
const jestImportDeclaration = importDeclarations.get("@jest/globals");
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
assert.ok(jestImportDeclaration);
|
|
75
|
+
const importsToAdd = ["afterAll", "beforeAll"].filter(
|
|
76
|
+
(jestHook) => !jestImportDeclaration.specifiers.some(
|
|
77
|
+
(specifier) => specifier.type === TSESTree.AST_NODE_TYPES.ImportSpecifier && specifier.imported.type === TSESTree.AST_NODE_TYPES.Identifier && specifier.imported.name === jestHook
|
|
78
|
+
)
|
|
79
|
+
);
|
|
80
|
+
if (importsToAdd.length > 0) {
|
|
71
81
|
const firstImportSpecifier = jestImportDeclaration.specifiers[0];
|
|
72
82
|
assert.ok(firstImportSpecifier);
|
|
73
|
-
jestImportFixer = (fixer) => fixer.insertTextBefore(firstImportSpecifier, "
|
|
83
|
+
jestImportFixer = (fixer) => fixer.insertTextBefore(firstImportSpecifier, `${importsToAdd.join(", ")}, `);
|
|
74
84
|
}
|
|
75
85
|
const agentImportDeclaration = importDeclarations.get("@checkdigit/agent");
|
|
76
86
|
if (!agentImportDeclaration) {
|
|
@@ -88,41 +98,55 @@ import createAgent, { type Agent } from '@checkdigit/agent';`
|
|
|
88
98
|
fixturePluginImportFixer = (fixer) => fixer.insertTextAfter(lastImportDeclaration, `
|
|
89
99
|
import fixturePlugin from '${fixturePluginImportPath}';`);
|
|
90
100
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (!sourceCode.getText(beforeAllArgument).includes(STATEMENT_AGENT_CREATION)) {
|
|
94
|
-
if (beforeAllArgument.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression && beforeAllArgument.body.type === TSESTree.AST_NODE_TYPES.BlockStatement) {
|
|
95
|
-
const fixtureResetStatement = beforeAllArgument.body.body.find(
|
|
96
|
-
(statement) => sourceCode.getText(statement) === STATEMENT_FIXTURE_RESET_AWAITED
|
|
97
|
-
);
|
|
98
|
-
assert.ok(fixtureResetStatement !== void 0);
|
|
99
|
-
beforeAllFixer = (fixer) => fixer.replaceText(
|
|
100
|
-
fixtureResetStatement,
|
|
101
|
-
[
|
|
102
|
-
STATEMENT_AGENT_CREATION,
|
|
103
|
-
STATEMENT_AGENT_REGISTER,
|
|
104
|
-
STATEMENT_AGENT_ENABLE,
|
|
105
|
-
STATEMENT_FIXTURE_RESET_AWAITED
|
|
106
|
-
].join("\n")
|
|
107
|
-
);
|
|
108
|
-
} else {
|
|
109
|
-
beforeAllFixer = (fixer) => fixer.replaceText(
|
|
110
|
-
beforeAllArgument,
|
|
111
|
-
[
|
|
112
|
-
`async () => {`,
|
|
113
|
-
STATEMENT_AGENT_CREATION,
|
|
114
|
-
STATEMENT_AGENT_REGISTER,
|
|
115
|
-
STATEMENT_AGENT_ENABLE,
|
|
116
|
-
STATEMENT_FIXTURE_RESET_AWAITED,
|
|
117
|
-
`}`
|
|
118
|
-
].join("\n")
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
|
-
agentDeclarationFixer = (fixer) => (
|
|
101
|
+
if (beforeAll === void 0) {
|
|
102
|
+
beforeAllOrEachFixer = (fixer) => fixer.insertTextBefore(
|
|
122
103
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
123
|
-
|
|
124
|
-
|
|
104
|
+
beforeEach,
|
|
105
|
+
[
|
|
106
|
+
STATEMENT_AGENT_DECLARATION,
|
|
107
|
+
`beforeAll(async () => {`,
|
|
108
|
+
[STATEMENT_AGENT_CREATION, STATEMENT_AGENT_REGISTER, STATEMENT_AGENT_ENABLE].join("\n"),
|
|
109
|
+
`});
|
|
110
|
+
`
|
|
111
|
+
].join("\n")
|
|
125
112
|
);
|
|
113
|
+
} else {
|
|
114
|
+
const beforeAllArgument = beforeAll.arguments[0];
|
|
115
|
+
assert.ok(beforeAllArgument !== void 0);
|
|
116
|
+
if (!sourceCode.getText(beforeAllArgument).includes(STATEMENT_AGENT_CREATION)) {
|
|
117
|
+
if (beforeAllArgument.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression && beforeAllArgument.body.type === TSESTree.AST_NODE_TYPES.BlockStatement) {
|
|
118
|
+
const fixtureResetStatement = beforeAllArgument.body.body.find(
|
|
119
|
+
(statement) => sourceCode.getText(statement) === STATEMENT_FIXTURE_RESET_AWAITED
|
|
120
|
+
);
|
|
121
|
+
assert.ok(fixtureResetStatement !== void 0);
|
|
122
|
+
beforeAllOrEachFixer = (fixer) => fixer.replaceText(
|
|
123
|
+
fixtureResetStatement,
|
|
124
|
+
[
|
|
125
|
+
STATEMENT_AGENT_CREATION,
|
|
126
|
+
STATEMENT_AGENT_REGISTER,
|
|
127
|
+
STATEMENT_AGENT_ENABLE,
|
|
128
|
+
STATEMENT_FIXTURE_RESET_AWAITED
|
|
129
|
+
].join("\n")
|
|
130
|
+
);
|
|
131
|
+
} else {
|
|
132
|
+
beforeAllOrEachFixer = (fixer) => fixer.replaceText(
|
|
133
|
+
beforeAllArgument,
|
|
134
|
+
[
|
|
135
|
+
`async () => {`,
|
|
136
|
+
STATEMENT_AGENT_CREATION,
|
|
137
|
+
STATEMENT_AGENT_REGISTER,
|
|
138
|
+
STATEMENT_AGENT_ENABLE,
|
|
139
|
+
STATEMENT_FIXTURE_RESET_AWAITED,
|
|
140
|
+
`}`
|
|
141
|
+
].join("\n")
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
agentDeclarationFixer = (fixer) => (
|
|
145
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
146
|
+
fixer.insertTextBefore(beforeAll, `${STATEMENT_AGENT_DECLARATION}
|
|
147
|
+
`)
|
|
148
|
+
);
|
|
149
|
+
}
|
|
126
150
|
}
|
|
127
151
|
if (afterAll !== void 0) {
|
|
128
152
|
const afterAllArrowFunctionExpression = afterAll.arguments[0];
|
|
@@ -138,7 +162,7 @@ import fixturePlugin from '${fixturePluginImportPath}';`);
|
|
|
138
162
|
afterAllFixer = (fixer) => fixer.insertTextAfter(lastStatement, STATEMENT_AGENT_DISPOSE);
|
|
139
163
|
}
|
|
140
164
|
} else {
|
|
141
|
-
const nextToken = sourceCode.getTokenAfter(beforeAll);
|
|
165
|
+
const nextToken = sourceCode.getTokenAfter(beforeAll ?? beforeEach);
|
|
142
166
|
afterAllFixer = (fixer) => fixer.insertTextAfter(
|
|
143
167
|
nextToken !== null && nextToken.type === AST_TOKEN_TYPES.Punctuator ? nextToken : (
|
|
144
168
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
@@ -147,10 +171,11 @@ import fixturePlugin from '${fixturePluginImportPath}';`);
|
|
|
147
171
|
["", `afterAll(async () => {`, STATEMENT_AGENT_DISPOSE, `});`].join("\n")
|
|
148
172
|
);
|
|
149
173
|
}
|
|
150
|
-
if (jestImportFixer !== void 0 || agentImportFixer !== void 0 || fixturePluginImportFixer !== void 0 || agentDeclarationFixer !== void 0 ||
|
|
174
|
+
if (jestImportFixer !== void 0 || agentImportFixer !== void 0 || fixturePluginImportFixer !== void 0 || agentDeclarationFixer !== void 0 || beforeAllOrEachFixer !== void 0 || afterAllFixer !== void 0) {
|
|
151
175
|
context.report({
|
|
152
176
|
messageId: "updateTestWiring",
|
|
153
|
-
|
|
177
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
178
|
+
node: beforeAll ?? beforeEach,
|
|
154
179
|
*fix(fixer) {
|
|
155
180
|
if (jestImportFixer !== void 0) {
|
|
156
181
|
yield jestImportFixer(fixer);
|
|
@@ -164,8 +189,8 @@ import fixturePlugin from '${fixturePluginImportPath}';`);
|
|
|
164
189
|
if (agentDeclarationFixer !== void 0) {
|
|
165
190
|
yield agentDeclarationFixer(fixer);
|
|
166
191
|
}
|
|
167
|
-
if (
|
|
168
|
-
yield
|
|
192
|
+
if (beforeAllOrEachFixer !== void 0) {
|
|
193
|
+
yield beforeAllOrEachFixer(fixer);
|
|
169
194
|
}
|
|
170
195
|
if (afterAllFixer !== void 0) {
|
|
171
196
|
yield afterAllFixer(fixer);
|
|
@@ -193,4 +218,4 @@ export {
|
|
|
193
218
|
agent_test_wiring_default as default,
|
|
194
219
|
ruleId
|
|
195
220
|
};
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2FnZW50LXRlc3Qtd2lyaW5nLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLFNBQVMsVUFBVSxjQUFjO0FBRWpDLFNBQVMsaUJBQWlCLGFBQWEsZ0JBQWdCO0FBRXZELE9BQU8sV0FBVztBQUVsQixPQUFPLHlCQUF5QjtBQUV6QixJQUFNLFNBQVM7QUFDdEIsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQUM5RSxJQUFNLE1BQU0sTUFBTSx1Q0FBdUM7QUFFekQsSUFBTSwwQkFBMEI7QUFDaEMsSUFBTSxrQ0FBa0MsU0FBUyx1QkFBdUI7QUFDeEUsSUFBTSw4QkFBOEI7QUFDcEMsSUFBTSwyQkFBMkI7QUFDakMsSUFBTSwyQkFBMkI7QUFDakMsSUFBTSx5QkFBeUI7QUFDL0IsSUFBTSwwQkFBMEI7QUFFaEMsSUFBTSxPQUFvRSxXQUFXO0FBQUEsRUFDbkYsTUFBTTtBQUFBLEVBQ04sTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLGtCQUFrQjtBQUFBLE1BQ2xCLGNBQWM7QUFBQSxJQUNoQjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsUUFBUSxDQUFDO0FBQUEsRUFDWDtBQUFBLEVBQ0EsZ0JBQWdCLENBQUM7QUFBQTtBQUFBLEVBRWpCLE9BQU8sU0FBUztBQUNkLFFBQUksb0JBQW9CLFFBQVEsUUFBUTtBQUN4QyxVQUFNLGFBQWEsUUFBUTtBQUMzQixVQUFNLHFCQUFxQixvQkFBSSxJQUF3QztBQUN2RSxRQUFJLGdCQUFnQjtBQUNwQixRQUFJO0FBQ0osUUFBSTtBQUNKLFFBQUk7QUFFSixXQUFPO0FBQUEsTUFDTCxrQkFBa0IsbUJBQW1CO0FBQ25DLGNBQU0sYUFBYSxrQkFBa0IsT0FBTztBQUM1QywyQkFBbUIsSUFBSSxZQUFZLGlCQUFpQjtBQUNwRCxZQUNFLGVB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LFlBQ3BHO0FBQUEsVUFDRixPQUFPO0FBRUwsa0JBQU0sWUFBWSxXQUFXLGNBQWMsYUFBYSxVQUFXO0FBQ25FLDRCQUFnQixDQUFDLFVBQ2YsTUFBTTtBQUFBLGNBQ0osY0FBYyxRQUFRLFVBQVUsU0FBUyxnQkFBZ0IsYUFDckQ7QUFBQTtBQUFBLGdCQUVBO0FBQUE7QUFBQSxjQUNKLENBQUMsSUFBSSwwQkFBMEIseUJBQXlCLEtBQUssRUFBRSxLQUFLLElBQUk7QUFBQSxZQUMxRTtBQUFBLFVBQ0o7QUFFQSxjQUNFLG9CQUFvQixVQUNwQixxQkFBcUIsVUFDckIsNkJBQTZCLFVBQzdCLDBCQUEwQixVQUMxQix5QkFBeUIsVUFDekIsa0JBQWtCLFFBQ2xCO0FBQ0Esb0JBQVEsT0FBTztBQUFBLGNBQ2IsV0FBVztBQUFBO0FBQUEsY0FFWCxNQUFNLGFBQWE7QUFBQSxjQUNuQixDQUFDLElBQUksT0FBTztBQUNWLG9CQUFJLG9CQUFvQixRQUFXO0FBQ2pDLHdCQUFNLGdCQUFnQixLQUFLO0FBQUEsZ0JBQzdCO0FBQ0Esb0JBQUkscUJBQXFCLFFBQVc7QUFDbEMsd0JBQU0saUJBQWlCLEtBQUs7QUFBQSxnQkFDOUI7QUFDQSxvQkFBSSw2QkFBNkIsUUFBVztBQUMxQyx3QkFBTSx5QkFBeUIsS0FBSztBQUFBLGdCQUN0QztBQUNBLG9CQUFJLDBCQUEwQixRQUFXO0FBQ3ZDLHdCQUFNLHNCQUFzQixLQUFLO0FBQUEsZ0JBQ25DO0FBQ0Esb0JBQUkseUJBQXlCLFFBQVc7QUFDdEMsd0JBQU0scUJBQXFCLEtBQUs7QUFBQSxnQkFDbEM7QUFDQSxvQkFBSSxrQkFBa0IsUUFBVztBQUMvQix3QkFBTSxjQUFjLEtBQUs7QUFBQSxnQkFDM0I7QUFBQSxjQUNGO0FBQUEsWUFDRixDQUFDO0FBQUEsVUFDSDtBQUFBLFFBQ0YsU0FBUyxPQUFPO0FBRWQsa0JBQVEsTUFBTSxtQkFBbUIsTUFBTSxtQkFBbUIsUUFBUSxRQUFRLE1BQU0sS0FBSztBQUNyRixrQkFBUSxPQUFPO0FBQUEsWUFDYixNQUFNO0FBQUEsWUFDTixXQUFXO0FBQUEsWUFDWCxNQUFNO0FBQUEsY0FDSixVQUFVLFFBQVE7QUFBQSxjQUNsQixPQUFPLGlCQUFpQixRQUFRLE1BQU0sU0FBUyxJQUFJLEtBQUssVUFBVSxLQUFLO0FBQUEsWUFDekU7QUFBQSxVQUNGLENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUVELElBQU8sNEJBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -13,6 +13,7 @@ var rule = createRule({
|
|
|
13
13
|
description: 'Replace "response.body" with "await response.json()".'
|
|
14
14
|
},
|
|
15
15
|
messages: {
|
|
16
|
+
refactorNeeded: "Please extract the fetch call and check its reponse status code before accessing its response body.",
|
|
16
17
|
replaceBodyWithJson: 'Replace "response.body" with "await response.json()".',
|
|
17
18
|
unknownError: 'Unknown error occurred in file "{{fileName}}": {{ error }}.'
|
|
18
19
|
},
|
|
@@ -31,6 +32,13 @@ var rule = createRule({
|
|
|
31
32
|
const responseType = typeChecker.getTypeAtLocation(responseNode);
|
|
32
33
|
const shouldReplace = responseType.getProperties().some((symbol) => symbol.name === "body") && responseType.getProperties().some((symbol) => symbol.name === "json");
|
|
33
34
|
if (shouldReplace) {
|
|
35
|
+
if (responseBodyNode.object.type !== AST_NODE_TYPES.Identifier) {
|
|
36
|
+
context.report({
|
|
37
|
+
node: responseBodyNode,
|
|
38
|
+
messageId: "refactorNeeded"
|
|
39
|
+
});
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
34
42
|
const enclosingFunction = getAncestor(
|
|
35
43
|
responseBodyNode,
|
|
36
44
|
(node) => node.type === AST_NODE_TYPES.ArrowFunctionExpression || node.type === AST_NODE_TYPES.FunctionExpression || node.type === AST_NODE_TYPES.FunctionDeclaration
|
|
@@ -43,8 +51,12 @@ var rule = createRule({
|
|
|
43
51
|
enclosingStatement
|
|
44
52
|
);
|
|
45
53
|
const responseVariableName = responseBodyNode.object.name;
|
|
46
|
-
const isResponseBodyVariableDeclared = enclosingStatement.type === AST_NODE_TYPES.VariableDeclaration && enclosingStatement.declarations.some(
|
|
47
|
-
|
|
54
|
+
const isResponseBodyVariableDeclared = enclosingStatement.type === AST_NODE_TYPES.VariableDeclaration && enclosingStatement.declarations.some(
|
|
55
|
+
(declaration) => declaration.init === responseBodyNode || declaration.init?.type === AST_NODE_TYPES.TSAsExpression && declaration.init.expression === responseBodyNode
|
|
56
|
+
);
|
|
57
|
+
const responseBodyVariableName = isResponseBodyVariableDeclared ? enclosingStatement.declarations.find(
|
|
58
|
+
(declaration) => declaration.init === responseBodyNode || declaration.init?.type === AST_NODE_TYPES.TSAsExpression && declaration.init.expression === responseBodyNode
|
|
59
|
+
)?.id : `${responseBodyNode.object.name}Body`;
|
|
48
60
|
const change = {
|
|
49
61
|
enclosingFunction,
|
|
50
62
|
enclosingStatement,
|
|
@@ -94,9 +106,9 @@ var rule = createRule({
|
|
|
94
106
|
let remainingChanges;
|
|
95
107
|
if (!isResponseBodyVariableDeclared) {
|
|
96
108
|
fixes.push({
|
|
97
|
-
node: enclosingStatement,
|
|
98
|
-
text: `
|
|
99
|
-
|
|
109
|
+
node: context.sourceCode.getTokenBefore(enclosingStatement),
|
|
110
|
+
text: `
|
|
111
|
+
const ${responseBodyVariableName} = await ${responseVariableName}.json();`,
|
|
100
112
|
insert: true
|
|
101
113
|
});
|
|
102
114
|
remainingChanges = orderedChanges;
|
|
@@ -113,12 +125,12 @@ var rule = createRule({
|
|
|
113
125
|
}
|
|
114
126
|
}
|
|
115
127
|
}
|
|
116
|
-
for (const fix of fixes) {
|
|
128
|
+
for (const fix of fixes.reverse()) {
|
|
117
129
|
context.report({
|
|
118
130
|
node: fix.node,
|
|
119
131
|
messageId: "replaceBodyWithJson",
|
|
120
132
|
fix(fixer) {
|
|
121
|
-
return fix.insert ? fixer.
|
|
133
|
+
return fix.insert ? fixer.insertTextAfter(fix.node, fix.text) : fixer.replaceText(fix.node, fix.text);
|
|
122
134
|
}
|
|
123
135
|
});
|
|
124
136
|
}
|
|
@@ -131,4 +143,4 @@ export {
|
|
|
131
143
|
fetch_response_body_json_default as default,
|
|
132
144
|
ruleId
|
|
133
145
|
};
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2ZldGNoLXJlc3BvbnNlLWJvZHktanNvbi50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLFVBQVUsY0FBYztBQUVqQyxTQUFTLGdCQUFnQixtQkFBNkI7QUFFdEQsT0FBTyx5QkFBeUI7QUFDaEMsU0FBUyxtQkFBbUI7QUFFckIsSUFBTSxTQUFTO0FBRXRCLElBQU0sYUFBYSxZQUFZLFlBQVksQ0FBQyxTQUFTLG9CQUFvQixJQUFJLENBQUM7QUFhOUUsSUFBTSxPQUEwRixXQUFXO0FBQUEsRUFDekcsTUFBTTtBQUFBLEVBQ04sTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLGdCQUNFO0FBQUEsTUFDRixxQkFBcUI7QUFBQSxNQUNyQixjQUFjO0FBQUEsSUFDaEI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVEsQ0FBQztBQUFBLEVBQ1g7QUFBQSxFQUNBLGdCQUFnQixDQUFDO0FBQUEsRUFDakIsT0FBTyxTQUFTO0FBQ2QsVUFBTSxpQkFBaUIsWUFBWSxrQkFBa0IsT0FBTztBQUM1RCxVQUFNLGNBQWMsZUFBZSxRQUFRLGVBQWU7QUFDMUQsVUFBTSxhQUFhLG9CQUFJLElBQTBDO0FBRWpFLFdBQU87QUFBQSxNQUNMLDBDQUEwQyxDQUFDLHFCQUFnRDtBQUN6RixZQUFJO0FBQ0YsZ0JBQU0sZUFBZSxlQUFlLHNCQUFzQixJQUFJLGlCQUFpQixNQUFNO0FBQ3JGLGdCQUFNLGVBQWUsWUFBWSxrQkFBa0IsWUFBWTtBQUUvRCxnQkFBTSxnQkFDSixhQUFhLGNBQWMsRUFBRSxLQUFLLENBQUMsV0FBVyxPQUFPLFNBQVMsTUFBTSxLQUNwRSxhQUFhLGNBQWMsRUFBRSxLQUFLLENBQUMsV0FBVyxPQUFPLFNBQVMsTUFBTTtBQUV0RSxjQUFJLGVBQWU7QUFDakIsZ0JBQUksaUJBQWlCLE9BQU8sU0FBUyxl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
|
|
@@ -63,9 +63,11 @@ function createResponseAssertions(fixtureCallInformation, sourceCode, responseVa
|
|
|
63
63
|
responseVariableName
|
|
64
64
|
);
|
|
65
65
|
}
|
|
66
|
-
nonStatusAssertions.push(`assert.
|
|
66
|
+
nonStatusAssertions.push(`assert.doesNotThrow(()=>${functionBody})`);
|
|
67
67
|
} else if (assertionArgument.type === "Identifier") {
|
|
68
|
-
nonStatusAssertions.push(
|
|
68
|
+
nonStatusAssertions.push(
|
|
69
|
+
`assert.doesNotThrow(()=>${sourceCode.getText(assertionArgument)}(${responseVariableName}))`
|
|
70
|
+
);
|
|
69
71
|
} else if (assertionArgument.type === "ObjectExpression" || assertionArgument.type === "CallExpression") {
|
|
70
72
|
nonStatusAssertions.push(
|
|
71
73
|
`assert.deepEqual(await ${responseVariableName}.json(), ${sourceCode.getText(assertionArgument)})`
|
|
@@ -264,4 +266,4 @@ export {
|
|
|
264
266
|
fetch_then_default as default,
|
|
265
267
|
ruleId
|
|
266
268
|
};
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2ZldGNoLXRoZW4udHMiXSwKICAibWFwcGluZ3MiOiAiO0FBUUEsU0FBUyxVQUFVLGNBQWM7QUFHakMsT0FBa0Q7QUFFbEQsU0FBUyxzQkFBc0IsdUJBQXVCLFdBQVcsaUNBQWlDO0FBQ2xHLE9BQU8seUJBQXlCO0FBQ2hDLFNBQVMsc0JBQXNCO0FBQy9CLFNBQVMsMkJBQTJCO0FBQ3BDLFNBQVMsZUFBZSxzQ0FBc0M7QUFDOUQsU0FBUyw0Q0FBNEM7QUFFOUMsSUFBTSxTQUFTO0FBVXRCLFNBQVMsbUJBQW1CLE1BQTRCLFNBQWlDLFlBQXdCO0FBQy9HLFFBQU0sU0FBUyxVQUFVLElBQUk7QUFDN0IsTUFBSSxDQUFDLFFBQVE7QUFDWDtBQUFBLEVBQ0Y7QUFFQSxNQUFJO0FBQ0osTUFBSSxPQUFPLFNBQVMsb0JBQW9CO0FBQ3RDLFlBQVEsY0FBYztBQUN0QjtBQUFBLEVBQ0Y7QUFFQSxNQUFJLE9BQU8sU0FBUyxTQUFTLGNBQWM7QUFDekMsUUFBSSxPQUFPLFNBQVMsU0FBUyxVQUFVO0FBRXJDLFlBQU0sZ0JBQWdCLFVBQVUsTUFBTTtBQUN0QyxhQUFPLEdBQUcsaUJBQWlCLGNBQWMsU0FBUyxnQkFBZ0I7QUFDbEUsY0FBUSxhQUFhLENBQUMsR0FBSSxRQUFRLGNBQWMsQ0FBQyxHQUFJLGNBQWMsU0FBeUI7QUFDNUYsaUJBQVc7QUFBQSxJQUNiLFdBQVcsT0FBTyxTQUFTLFNBQVMsUUFBUTtBQUUxQyxZQUFNLHNCQUFzQixVQUFVLE1BQU07QUFDNUMsYUFBTyxHQUFHLHVCQUF1QixvQkFBb0IsU0FBUyxnQkFBZ0I7QUFDOUUsY0FBUSxjQUFjLG9CQUFvQixVQUFVLENBQUM7QUFDckQsaUJBQVc7QUFBQSxJQUNiLFdBQVcsT0FBTyxTQUFTLFNBQVMsT0FBTztBQUV6QyxZQUFNLHVCQUF1QixVQUFVLE1BQU07QUFDN0MsYUFBTyxHQUFHLHdCQUF3QixxQkFBcUIsU0FBUyxnQkFBZ0I7QUFDaEYsWUFBTSxDQUFDLE1B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
|
package/dist-mjs/agent/fetch.mjs
CHANGED
|
@@ -3,6 +3,9 @@ import { getParent, isBlockStatement } from "../library/tree.mjs";
|
|
|
3
3
|
function getResponseBodyRetrievalText(responseVariableName) {
|
|
4
4
|
return `await ${responseVariableName}.json()`;
|
|
5
5
|
}
|
|
6
|
+
function getResponseHeadersRetrievalText(responseVariableName) {
|
|
7
|
+
return `${responseVariableName}.headers`;
|
|
8
|
+
}
|
|
6
9
|
function isInvalidResponseHeadersAccess(responseHeadersAccess) {
|
|
7
10
|
const responseHeaderAccessParent = getParent(responseHeadersAccess);
|
|
8
11
|
if (responseHeaderAccessParent?.type === "VariableDeclarator") {
|
|
@@ -28,7 +31,8 @@ function hasAssertions(fixtureCall) {
|
|
|
28
31
|
}
|
|
29
32
|
export {
|
|
30
33
|
getResponseBodyRetrievalText,
|
|
34
|
+
getResponseHeadersRetrievalText,
|
|
31
35
|
hasAssertions,
|
|
32
36
|
isInvalidResponseHeadersAccess
|
|
33
37
|
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2ZldGNoLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQUlBLFNBQVMsV0FBVyx3QkFBd0I7QUFFckMsU0FBUyw2QkFBNkIsc0JBQThCO0FBQ3pFLFNBQU8sU0FBUyxvQkFBb0I7QUFDdEM7QUFFTyxTQUFTLGdDQUFnQyxzQkFBOEI7QUFDNUUsU0FBTyxHQUFHLG9CQUFvQjtBQUNoQztBQUVPLFNBQVMsK0JBQStCLHVCQUFzQztBQUNuRixRQUFNLDZCQUE2QixVQUFVLHFCQUFxQjtBQUNsRSxNQUFJLDRCQUE0QixTQUFTLHNCQUFzQjtBQUM3RCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQ0UsNEJBQTRCLFNBQVMsb0JBQ3JDLDJCQUEyQixPQUFPLFNBQVMsc0JBQzNDLDJCQUEyQixPQUFPLFNBQVMsU0FBUyxnQkFDcEQsMkJBQTJCLE9BQU8sU0FBUyxTQUFTLE9BQ3BEO0FBQ0EsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPLEVBQ0wsNEJBQTRCLFNBQVMsc0JBQ3JDLDJCQUEyQixTQUFTLFNBQVMsZ0JBQzdDLDJCQUEyQixTQUFTLFNBQVM7QUFFakQ7QUFFTyxTQUFTLGNBQWMsYUFBNEI7QUFDeEQsTUFBSSxpQkFBaUIsV0FBVyxHQUFHO0FBQ2pDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxTQUFTLFVBQVUsV0FBVztBQUNwQyxNQUFJLENBQUMsUUFBUTtBQUNYLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFDRSxPQUFPLFNBQVMsc0JBQ2hCLE9BQU8sU0FBUyxTQUFTLGdCQUN6QixPQUFPLFNBQVMsU0FBUyxZQUN6QixVQUFVLE1BQU0sR0FBRyxTQUFTLGtCQUM1QjtBQUNBLFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTyxjQUFjLE1BQU07QUFDN0I7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -9,7 +9,8 @@ var DEFAULT_OPTIONS = {
|
|
|
9
9
|
"Configuration<ResolvedServices>",
|
|
10
10
|
"Fixture<ResolvedServices>",
|
|
11
11
|
"InboundContext",
|
|
12
|
-
"{ get: () => string; }"
|
|
12
|
+
"{ get: () => string; }",
|
|
13
|
+
"Api"
|
|
13
14
|
]
|
|
14
15
|
};
|
|
15
16
|
var createRule = ESLintUtils.RuleCreator((name) => getDocumentationUrl(name));
|
|
@@ -53,6 +54,16 @@ var rule = createRule({
|
|
|
53
54
|
log("===== file name:", context.filename);
|
|
54
55
|
log("callExpression:", sourceCode.getText(callExpression));
|
|
55
56
|
try {
|
|
57
|
+
const actualParameters = callExpression.arguments;
|
|
58
|
+
if (!actualParameters.some((actualParameter) => {
|
|
59
|
+
const actualType = typeChecker.getTypeAtLocation(
|
|
60
|
+
parserServices.esTreeNodeToTSNodeMap.get(actualParameter)
|
|
61
|
+
);
|
|
62
|
+
const actualTypeString = typeChecker.typeToString(actualType);
|
|
63
|
+
return typesToCheck.includes(actualTypeString) || actualTypeString.endsWith("RequestType");
|
|
64
|
+
})) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
56
67
|
const calleeTsNode = parserServices.esTreeNodeToTSNodeMap.get(callExpression.callee);
|
|
57
68
|
const calleeType = typeChecker.getTypeAtLocation(calleeTsNode);
|
|
58
69
|
const signatures = calleeType.getCallSignatures();
|
|
@@ -60,9 +71,7 @@ var rule = createRule({
|
|
|
60
71
|
return;
|
|
61
72
|
}
|
|
62
73
|
const signature = signatures[0];
|
|
63
|
-
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
74
|
+
assert(signature);
|
|
66
75
|
log("signature:", signature.getDeclaration().getText());
|
|
67
76
|
const expectedParameters = signature.getParameters();
|
|
68
77
|
log(
|
|
@@ -72,7 +81,6 @@ var rule = createRule({
|
|
|
72
81
|
)
|
|
73
82
|
);
|
|
74
83
|
const expectedParametersCount = expectedParameters.length;
|
|
75
|
-
const actualParameters = callExpression.arguments;
|
|
76
84
|
const actualParametersCount = actualParameters.length;
|
|
77
85
|
if (actualParametersCount === 0) {
|
|
78
86
|
return;
|
|
@@ -95,17 +103,12 @@ var rule = createRule({
|
|
|
95
103
|
typeChecker.typeToString(expectedType)
|
|
96
104
|
);
|
|
97
105
|
log("actual type: #", actualParameterIndex, sourceCode.getText(actualParameter), actualTypeString);
|
|
98
|
-
if (
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
log("skipped");
|
|
102
|
-
} else if (typeChecker.isTypeAssignableTo(actualType, expectedType)) {
|
|
103
|
-
parametersToKeep.push(actualParameter);
|
|
104
|
-
expectedParameterIndex++;
|
|
105
|
-
log("matched");
|
|
106
|
-
} else {
|
|
107
|
-
log("not matched");
|
|
106
|
+
if ((typesToCheck.includes(actualTypeString) || actualTypeString.endsWith("RequestType")) && !typeChecker.isTypeAssignableTo(actualType, expectedType)) {
|
|
107
|
+
log("removing un-matched parameter", sourceCode.getText(actualParameter));
|
|
108
|
+
continue;
|
|
108
109
|
}
|
|
110
|
+
parametersToKeep.push(actualParameter);
|
|
111
|
+
expectedParameterIndex++;
|
|
109
112
|
}
|
|
110
113
|
if (parametersToKeep.length === actualParametersCount) {
|
|
111
114
|
return;
|
|
@@ -147,4 +150,4 @@ export {
|
|
|
147
150
|
fix_function_call_arguments_default as default,
|
|
148
151
|
ruleId
|
|
149
152
|
};
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L2ZpeC1mdW5jdGlvbi1jYWxsLWFyZ3VtZW50cy50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLFVBQVUsY0FBYztBQUNqQyxTQUFTLG1CQUE2QjtBQUN0QyxPQUFPLFdBQVc7QUFDbEIsT0FBTyx5QkFBeUI7QUFFekIsSUFBTSxTQUFTO0FBS3RCLElBQU0sa0JBQWtCO0FBQUEsRUFDdEIsY0FBYztBQUFBLElBQ1o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRjtBQUNGO0FBRUEsSUFBTSxhQUFhLFlBQVksWUFBWSxDQUFDLFNBQVMsb0JBQW9CLElBQUksQ0FBQztBQUM5RSxJQUFNLE1BQU0sTUFBTSwyQ0FBMkM7QUFFN0QsSUFBTSxPQUdGLFdBQVc7QUFBQSxFQUNiLE1BQU07QUFBQSxFQUNOLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixxQ0FBcUM7QUFBQSxNQUNyQyxjQUFjO0FBQUEsSUFDaEI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxNQUNOO0FBQUEsUUFDRSxNQUFNO0FBQUEsUUFDTixZQUFZO0FBQUEsVUFDVixjQUFjO0FBQUEsWUFDWixhQUFhO0FBQUEsWUFDYixNQUFNO0FBQUEsWUFDTixPQUFPO0FBQUEsY0FDTCxNQUFNO0FBQUEsWUFDUjtBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBQUEsUUFDQSxzQkFBc0I7QUFBQSxNQUN4QjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxnQkFBZ0IsQ0FBQyxlQUFlO0FBQUEsRUFDaEMsT0FBTyxTQUFTO0FBRWQsVUFBTSxFQUFFLGFBQWEsSUFBSSxRQUFRLFFBQVEsQ0FBQyxLQUFLO0FBQy9DLFVBQU0saUJBQWlCLFlBQVksa0JBQWtCLE9BQU87QUFDNUQsVUFBTSxjQUFjLGVB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
|
|
@@ -12,7 +12,7 @@ import getDocumentationUrl from "../get-documentation-url.mjs";
|
|
|
12
12
|
import { getIndentation } from "../library/format.mjs";
|
|
13
13
|
import { isValidPropertyName } from "../library/variable.mjs";
|
|
14
14
|
import { analyzeResponseReferences } from "./response-reference.mjs";
|
|
15
|
-
import { getResponseBodyRetrievalText, hasAssertions } from "./fetch.mjs";
|
|
15
|
+
import { getResponseBodyRetrievalText, getResponseHeadersRetrievalText, hasAssertions } from "./fetch.mjs";
|
|
16
16
|
import { replaceEndpointUrlPrefixWithBasePath } from "./url.mjs";
|
|
17
17
|
var ruleId = "no-fixture";
|
|
18
18
|
function analyzeFixtureCall(call, results, sourceCode) {
|
|
@@ -36,6 +36,9 @@ function analyzeFixtureCall(call, results, sourceCode) {
|
|
|
36
36
|
if (awaitParent.property.type === "Identifier" && awaitParent.property.name === "body") {
|
|
37
37
|
results.inlineBodyReference = awaitParent;
|
|
38
38
|
}
|
|
39
|
+
if (awaitParent.property.type === "Identifier" && (awaitParent.property.name === "header" || awaitParent.property.name === "headers")) {
|
|
40
|
+
results.inlineHeadersReference = awaitParent;
|
|
41
|
+
}
|
|
39
42
|
} else if (enclosingStatement.type === "VariableDeclaration") {
|
|
40
43
|
results.variableDeclaration = enclosingStatement;
|
|
41
44
|
results.rootNode = enclosingStatement;
|
|
@@ -90,9 +93,11 @@ function createResponseAssertions(fixtureCallInformation, sourceCode, responseVa
|
|
|
90
93
|
responseVariableName
|
|
91
94
|
);
|
|
92
95
|
}
|
|
93
|
-
nonStatusAssertions.push(`assert.
|
|
96
|
+
nonStatusAssertions.push(`assert.doesNotThrow(()=>${functionBody})`);
|
|
94
97
|
} else if (assertionArgument.type === "Identifier") {
|
|
95
|
-
nonStatusAssertions.push(
|
|
98
|
+
nonStatusAssertions.push(
|
|
99
|
+
`assert.doesNotThrow(()=>${sourceCode.getText(assertionArgument)}(${responseVariableName}))`
|
|
100
|
+
);
|
|
96
101
|
} else if (assertionArgument.type === "ObjectExpression" || assertionArgument.type === "CallExpression") {
|
|
97
102
|
nonStatusAssertions.push(
|
|
98
103
|
`assert.deepEqual(await ${responseVariableName}.json(), ${sourceCode.getText(assertionArgument)})`
|
|
@@ -230,16 +235,25 @@ ${indentation}`);
|
|
|
230
235
|
);
|
|
231
236
|
const isResponseBodyVariableRedefinitionNeeded = destructuringResponseBodyVariable !== void 0 || fixtureCallInformation.inlineBodyReference !== void 0 || responseBodyReferences.length > 0 && !responseBodyReferences.some(isResponseBodyRedefinition);
|
|
232
237
|
const redefineResponseBodyVariableName = `${responseVariableNameToUse}Body`;
|
|
233
|
-
const
|
|
238
|
+
const isResponseHeadersVariableRedefinitionNeeded = destructuringResponseHeadersVariable !== void 0 && // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
239
|
+
destructuringResponseHeadersVariable.type === "ObjectPattern" || fixtureCallInformation.inlineHeadersReference !== void 0;
|
|
240
|
+
const redefineResponseHeadersVariableName = `${responseVariableNameToUse}Headers`;
|
|
241
|
+
const isResponseVariableRedefinitionNeeded = fixtureCallInformation.variableAssignment === void 0 && responseVariable === void 0 && fixtureCallInformation.assertions !== void 0 || isResponseBodyVariableRedefinitionNeeded || isResponseHeadersVariableRedefinitionNeeded;
|
|
234
242
|
const responseBodyHeadersVariableRedefineLines = isResponseVariableRedefinitionNeeded ? [
|
|
235
243
|
// eslint-disable-next-line no-nested-ternary
|
|
236
244
|
...destructuringResponseBodyVariable ? [
|
|
237
245
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
238
|
-
|
|
246
|
+
`${fixtureCallInformation.variableDeclaration?.kind ?? "const"} ${destructuringResponseBodyVariable.type === "ObjectPattern" ? sourceCode.getText(destructuringResponseBodyVariable) : destructuringResponseBodyVariable.name} = ${getResponseBodyRetrievalText(responseVariableNameToUse)}`
|
|
239
247
|
] : isResponseBodyVariableRedefinitionNeeded ? [
|
|
240
248
|
`const ${redefineResponseBodyVariableName} = ${getResponseBodyRetrievalText(responseVariableNameToUse)}`
|
|
241
249
|
] : [],
|
|
242
|
-
|
|
250
|
+
// eslint-disable-next-line no-nested-ternary
|
|
251
|
+
...destructuringResponseHeadersVariable ? [
|
|
252
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
253
|
+
`${fixtureCallInformation.variableDeclaration?.kind ?? "const"} ${destructuringResponseHeadersVariable.type === "ObjectPattern" ? sourceCode.getText(destructuringResponseHeadersVariable) : destructuringResponseHeadersVariable.name} = ${getResponseHeadersRetrievalText(responseVariableNameToUse)}`
|
|
254
|
+
] : isResponseHeadersVariableRedefinitionNeeded ? [
|
|
255
|
+
`const ${redefineResponseHeadersVariableName} = ${getResponseHeadersRetrievalText(responseVariableNameToUse)}`
|
|
256
|
+
] : []
|
|
243
257
|
] : [];
|
|
244
258
|
const { statusAssertion, nonStatusAssertions } = createResponseAssertions(
|
|
245
259
|
fixtureCallInformation,
|
|
@@ -248,7 +262,7 @@ ${indentation}`);
|
|
|
248
262
|
destructuringResponseHeadersVariable
|
|
249
263
|
);
|
|
250
264
|
const fetchCallText = `fetch(${fetchUrlArgumentText}, ${fetchRequestArgumentLines})`;
|
|
251
|
-
const fetchStatementText = !isResponseVariableRedefinitionNeeded ? fetchCallText :
|
|
265
|
+
const fetchStatementText = !isResponseVariableRedefinitionNeeded ? fetchCallText : `${fixtureCallInformation.variableDeclaration?.kind ?? "const"} ${responseVariableNameToUse} = await ${fetchCallText}`;
|
|
252
266
|
const nodeToReplace = isResponseVariableRedefinitionNeeded ? fixtureCallInformation.rootNode : fixtureCallInformation.fixtureNode;
|
|
253
267
|
const appendingAssignmentAndAssertionText = [
|
|
254
268
|
"",
|
|
@@ -333,4 +347,4 @@ export {
|
|
|
333
347
|
no_fixture_default as default,
|
|
334
348
|
ruleId
|
|
335
349
|
};
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L25vLWZpeHR1cmUudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBUUEsU0FBUyxVQUFVLGNBQWM7QUFjakMsT0FBa0Q7QUFFbEQ7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxPQUFPLHlCQUF5QjtBQUNoQyxTQUFTLHNCQUFzQjtBQUMvQixTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLGlDQUFpQztBQUMxQyxTQUFTLDhCQUE4QixxQkFBcUI7QUFDNUQsU0FBUyw0Q0FBNEM7QUFFOUMsSUFBTSxTQUFTO0FBZ0J0QixTQUFTLG1CQUFtQixNQUE0QixTQUFpQyxZQUF3QjtBQUMvRyxRQUFNLFNBQVMsVUFBVSxJQUFJO0FBQzdCLFNBQU8sR0FBRyxRQUFRLHFEQUFxRDtBQUV2RSxNQUFJO0FBQ0osTUFBSSxPQUFPLFNBQVMsbUJBQW1CO0FBRXJDLFlBQVEsY0FBYztBQUN0QixZQUFRLFdBQVc7QUFBQSxFQUNyQixXQUNFLE9BQU8sU0FBUyxxQkFDaEIsT0FBTyxTQUFTLG9CQUNoQixPQUFPLFNBQVMsMkJBQ2hCO0FBRUEsWUFBUSxjQUFjO0FBQ3RCLFlBQVEsV0FBVztBQUFBLEVBQ3JCLFdBQVcsT0FBTyxTQUFTLG1CQUFtQjtBQUM1QyxZQUFRLGNBQWM7QUFDdEIsVUFBTSxxQkFBcUIsc0JBQXNCLE1BQU07QUFDdkQsV0FBTyxHQUFHLGtCQUFrQjtBQUM1QixVQUFNLGNBQWMsVUFBVSxNQUFNO0FBQ3BDLFFBQUksYUFBYSxTQUFTLG9CQUFvQjtBQUM1QyxjQUFRLFdBQVc7QUFDbkIsY0FBUSxzQkFBc0I7QUFDOUIsVUFBSSxZQUFZLFNBQVMsU0FBUyxnQkFBZ0IsWUFBWSxTQUFTLFNBQVMsUUFBUTtBQUN0RixnQkFBUSxzQkFBc0I7QUFBQSxNQUNoQztBQUFBLElBQ0YsV0FBVyxtQkFBbUIsU0FBUyx1QkFBdUI7QUFDNUQsY0FBUSxzQkFBc0I7QUFDOUIsY0FBUSxXQUFXO0FBQUEsSUFDckIsV0FDRSxtQkFBbUIsU0FBUyx5QkFDNUIsbUJBQW1CLFdBQVcsU0FBUyx3QkFDdkM7QUFDQSxjQUFRLHFCQUFxQjtBQUM3QixjQUFRLFdBQVc7QUFBQSxJQUNyQixPQUFPO0FBQ0wsY0FBUSxXQUFXO0FBQUEsSUFDckI7QUFBQSxFQUNGLFdBQVcsT0FBTyxTQUFTLHNCQUFzQixPQUFPLFNBQVMsU0FBUyxjQUFjO0FBQ3RGLFFBQUksT0FBTyxTQUFTLFNBQVMsVUFBVTtBQUVyQyxZQUFNLGdCQUFnQixVQUFVLE1BQU07QUFDdEMsYUFBTyxHQUFHLGlCQUFpQixjQUFjLFNBQVMsZ0JBQWdCO0FBQ2xFLGNBQVEsYUFBYSxDQUFDLEdBQUksUUFBUSxjQUFjLENBQUMsR0FBSSxjQUFjLFNBQXlCO0FBQzVGLGlCQUFXO0FBQUEsSUFDYixXQUFXLE9BQU8sU0FBUyxTQUFTLFFBQVE7QUFFMUMsWUFBTSxzQkFBc0IsVUFBVSxNQUFNO0FBQzVDLGFBQU8sR0FBRyx1QkFBdUIsb0JBQW9CLFNBQVMsZ0JBQWdCO0FBQzlFLGNBQVEsY0FBYyxvQkFBb0IsVUFBVSxDQUFDO0FBQ3JELGlCQUFXO0FBQUEsSUFDYixXQUFXLE9BQU8sU0FBUyxTQUFTLE9BQU87QUFFekMsWUFBTSx1QkFBdUIsVUFBVSxNQUFNO0FBQzdDLGFBQU8sR0FBRyx3QkFBd0IscUJBQXFCLFNBQVMsZ0JBQWdCO0FBQ2hGLFlBQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxxQkFBcUI7QUFDM0MsY0FBUSxpQkFBaUIsQ0FBQyxHQUFJLFFBQVEsa0JBQWtCLENBQUMsR0FBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLGlCQUFXO0FBQUEsSUFDYjtBQUFBLEVBQ0YsT0FBTztBQUNMLFVBQU0sSUFBSSxNQUFNLG1EQUFtRCxXQUFXLFFBQVEsTUFBTSxDQUFDLEdBQUc7QUFBQSxFQUNsRztBQUNBLE1BQUksVUFBVTtBQUNaLHVCQUFtQixVQUFVLFNBQVMsVUFBVTtBQUFBLEVBQ2xEO0FBQ0Y7QUFHQSxTQUFTLHlCQUNQLHdCQUNBLFlBQ0Esc0JBQ0Esc0NBQ0E7QUFDQSxNQUFJO0FBQ0osUUFBTSxzQkFBZ0MsQ0FBQztBQUN2QyxhQUFXLG1CQUFtQix1QkFBdUIsY0FBYyxDQUFDLEdBQUc7QUFDckUsUUFBSSxnQkFBZ0IsV0FBVyxHQUFHO0FBQ2hDLFlBQU0sQ0FBQyxpQkFBaUIsSUFBSTtBQUM1QixhQUFPLEdBQUcsaUJBQWlCO0FBQzNCLFVBQ0csa0JBQWtCLFNBQVMsc0JBQzFCLGtCQUFrQixPQUFPLFNBQVMsZ0JBQ2xDLGtCQUFrQixPQUFPLFNBQVMsaUJBQ3BDLGtCQUFrQixTQUFTLGFBQzNCLFdBQVcsUUFBUSxpQkFBaUIsRUFBRSxTQUFTLGNBQWMsR0FDN0Q7QUFFQSwwQkFBa0IsZ0JBQWdCLG9CQUFvQixZQUFZLFdBQVcsUUFBUSxpQkFBaUIsQ0FBQztBQUFBLE1BQ3pHLFdBQVcsa0JBQWtCLFNBQVMsMkJBQTJCO0FBRS9ELFlBQUksZUFBZSxXQUFXLFFBQVEsa0JBQWtCLElBQUk7QUFFNUQsY0FBTSxDQUFDLHdCQUF3QixJQUFJLGtCQUFrQjtBQUNyRCxlQUFPLEdBQUcsMEJBQTBCLFNBQVMsWUFBWTtBQUN6RCxjQUFNLCtCQUErQix5QkFBeUI7QUFDOUQsWUFBSSxpQ0FBaUMsc0JBQXNCO0FBQ3pELHlCQUFlLGFBQWE7QUFBQSxZQUMxQixJQUFJLE9BQU8sTUFBTSw0QkFBNEIsT0FBTyxJQUFJO0FBQUEsWUFDeEQ7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUNBLDRCQUFvQixLQUFLLGFBQWEsWUFBWSxHQUFHO0FBQUEsTUFDdkQsV0FBVyxrQkFBa0IsU0FBUyxjQUFjO0FBRWxELDRCQUFvQixLQUFLLGFBQWEsV0FBVyxRQUFRLGlCQUFpQixDQUFDLElBQUksb0JBQW9CLElBQUk7QUFBQSxNQUN6RyxXQUFXLGtCQUFrQixTQUFTLHNCQUFzQixrQkFBa0IsU0FBUyxrQkFBa0I7QUFFdkcsNEJBQW9CO0FBQUEsVUFDbEIsMEJBQTBCLG9CQUFvQixZQUFZLFdBQVcsUUFBUSxpQkFBaUIsQ0FBQztBQUFBLFFBQ2pHO0FBQUEsTUFDRixPQUFPO0FBQ0wsY0FBTSxJQUFJLE1BQU0scURBQXFELFdBQVcsUUFBUSxpQkFBaUIsQ0FBQyxHQUFHO0FBQUEsTUFDL0c7QUFBQSxJQUNGLFdBQVcsZ0JBQWdCLFdBQVcsR0FBRztBQUV2QyxZQUFNLENBQUMsWUFBWSxXQUFXLElBQUk7QUFDbEMsYUFBTyxHQUFHLGNBQWMsV0FBVztBQUNuQyxZQUFNLG1CQUNKLHlDQUF5QyxTQUNyQyxxQ0FBcUMsT0FDckMsR0FBRyxvQkFBb0I7QUFDN0IsVUFBSSxZQUFZLFNBQVMsYUFBYSxZQUFZLGlCQUFpQixRQUFRO0FBQ3pFLDRCQUFvQjtBQUFBLFVBQ2xCLGFBQWEsZ0JBQWdCLFFBQVEsV0FBVyxRQUFRLFVBQVUsQ0FBQyxXQUFXLFdBQVcsUUFBUSxXQUFXLENBQUM7QUFBQSxRQUMvRztBQUFBLE1BQ0YsT0FBTztBQUNMLDRCQUFvQjtBQUFBLFVBQ2xCLGdCQUFnQixnQkFBZ0IsUUFBUSxXQUFXLFFBQVEsVUFBVSxDQUFDLE1BQU0sV0FBVyxRQUFRLFdBQVcsQ0FBQztBQUFBLFFBQzdHO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0EsU0FBTztBQUFBLElBQ0w7QUFBQSxJQUNBO0FBQUEsRUFDRjtBQUNGO0FBRUEsU0FBUyw2QkFDUCxjQUNBLHdCQUNBLG1CQUNBO0FBQ0EsTUFBSSx1QkFBdUIsb0JBQW9CO0FBQzdDLFdBQU87QUFBQSxNQUNMLHVCQUF1QixtQkFBbUIsV0FBVyxTQUFTLDBCQUM1RCx1QkFBdUIsbUJBQW1CLFdBQVcsS0FBSyxTQUFTO0FBQUEsSUFDdkU7QUFDQSxXQUFPLHVCQUF1QixtQkFBbUIsV0FBVyxLQUFLO0FBQUEsRUFDbkU7QUFFQSxNQUFJLHVCQUF1QixxQkFBcUI7QUFDOUMsVUFBTSxtQkFBbUIsdUJBQXVCLG9CQUFvQixhQUFhLENBQUM7QUFDbEYsUUFBSSxvQkFBb0IsaUJBQWlCLEdBQUcsU0FBUyxjQUFjO0FBQ2pFLGFBQU8saUJBQWlCLEdBQUc7QUFBQSxJQUM3QjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLHFCQUFxQixzQkFBc0IsdUJBQXVCLFFBQVE7QUFDaEYsZUFBYSxxQkFBcUIsdUJBQXVCLFFBQVE7QUFDakUsU0FBTyxHQUFHLGtCQUFrQjtBQUM1QixRQUFNLFFBQVEsYUFBYSxRQUFRLGtCQUFrQjtBQUNyRCxTQUFPLEdBQUcsVUFBVSxJQUFJO0FBQ3hCLE1BQUksaUJBQWlCLGtCQUFrQixJQUFJLEtBQUs7QUFDaEQsTUFBSSxDQUFDLGdCQUFnQjtBQUNuQixxQkFBaUIsQ0FBQyxHQUFHLE1BQU0sSUFBSSxLQUFLLENBQUM7QUFDckMsc0JBQWtCLElBQUksT0FBTyxjQUFjO0FBQUEsRUFDN0M7QUFFQSxNQUFJLDBCQUEwQjtBQUM5QixNQUFJO0FBQ0osU0FBTyw4QkFBOEIsUUFBVztBQUM5QztBQUNBLGdDQUE0QixXQUFXLDRCQUE0QixJQUFJLEtBQUssd0JBQXdCLFNBQVMsQ0FBQztBQUM5RyxRQUFJLGVBQWUsU0FBUyx5QkFBeUIsR0FBRztBQUN0RCxrQ0FBNEI7QUFBQSxJQUM5QjtBQUFBLEVBQ0Y7QUFDQSxpQkFBZSxLQUFLLHlCQUF5QjtBQUM3QyxTQUFPO0FBQ1Q7QUFFQSxTQUFTLDJCQUEyQix1QkFBa0Q7QUFDcEYsUUFBTSxTQUFTLFVBQVUscUJBQXFCO0FBQzlDLFNBQU8sUUFBUSxTQUFTLHdCQUF3QixPQUFPLEdBQUcsU0FBUztBQUNyRTtBQUVBLElBQU0sT0FBd0I7QUFBQSxFQUM1QixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsTUFDYixLQUFLLG9CQUFvQixNQUFNO0FBQUEsSUFDakM7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLG1CQUFtQjtBQUFBLE1BQ25CLGNBQWM7QUFBQSxJQUNoQjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsUUFBUSxDQUFDO0FBQUEsRUFDWDtBQUFBO0FBQUEsRUFFQSxPQUFPLFNBQVM7QUFDZCxVQUFNLGFBQWEsUUFBUTtBQUMzQixVQUFNLGVBQWUsV0FBVztBQUNoQyxVQUFNLG9CQUFvQixvQkFBSSxJQUEyQjtBQUV6RCxXQUFPO0FBQUE7QUFBQSxNQUVMLDBGQUEwRixDQUN4RixnQkFFRztBQUNILFlBQUk7QUFDRixjQUNFLGNBQWMsV0FBVyxNQUN4QiwwQkFBMEIsV0FBVyxLQUFLLHFCQUFxQixXQUFXLEdBQUcsVUFBVSxRQUN4RjtBQUVBO0FBQUEsVUFDRjtBQUVBLGlCQUFPLEdBQUcsWUFBWSxTQUFTLGdCQUFnQjtBQUMvQyxnQkFBTSxrQkFBa0IsWUFBWTtBQUNwQyxpQkFBTyxHQUFHLGdCQUFnQixTQUFTLGtCQUFrQjtBQUNyRCxnQkFBTSxjQUFjLGVBQWUsYUFBYSxVQUFVO0FBRTFELGdCQUFNLENBQUMsZUFBZSxJQUFJLFlBQVk7QUFDdEMsaUJBQU8sR0FBRyxvQkFBb0IsTUFBUztBQUV2QyxnQkFBTSx5QkFBeUIsQ0FBQztBQUNoQyw2QkFBbUIsYUFBYSx3QkFBd0IsVUFBVTtBQUVsRSxnQkFBTTtBQUFBLFlBQ0osVUFBVTtBQUFBLFlBQ1YsZ0JBQWdCO0FBQUEsWUFDaEIsbUJBQW1CO0FBQUEsWUFDbkIsa0JBQWtCO0FBQUEsWUFDbEIsMkJBQTJCO0FBQUEsWUFDM0IsOEJBQThCO0FBQUEsVUFDaEMsSUFBSSwwQkFBMEIsdUJBQXVCLHFCQUFxQixZQUFZO0FBR3RGLGdCQUFNLDBCQUEwQixXQUFXLFFBQVEsZUFBZTtBQUNsRSxnQkFBTSx1QkFBdUIscUNBQXFDLHVCQUF1QjtBQUd6RixnQkFBTSxhQUFhLGdCQUFnQjtBQUNuQyxpQkFBTyxHQUFHLFdBQVcsU0FBUyxZQUFZO0FBQzFDLGdCQUFNLGFBQWEsV0FBVyxLQUFLLFlBQVk7QUFFL0MsZ0JBQU0sNEJBQTRCO0FBQUEsWUFDaEM7QUFBQSxZQUNBLGNBQWMsZUFBZSxRQUFRLFdBQVcsVUFBVTtBQUFBLFlBQzFELEdBQUksdUJBQXVCLGNBQ3ZCLENBQUMsMEJBQTBCLFdBQVcsUUFBUSx1QkFBdUIsV0FBVyxDQUFDLElBQUksSUFDckYsQ0FBQztBQUFBLFlBQ0wsR0FBSSx1QkFBdUIsaUJBQ3ZCO0FBQUEsY0FDRTtBQUFBLGNBQ0EsR0FBRyx1QkFBdUIsZUFBZTtBQUFBLGdCQUN2QyxDQUFDLEVBQUUsTUFBTSxNQUFNO0FBQUE7QUFBQSxrQkFFYixPQUFPLEtBQUssU0FBUyxZQUFhLG9CQUFvQixLQUFLLEtBQUssSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssTUFBTyxJQUFJLFdBQVcsUUFBUSxJQUFJLENBQUMsR0FBRyxLQUFLLFdBQVcsUUFBUSxLQUFLLENBQUM7QUFBQTtBQUFBLGNBQ3ZLO0FBQUEsY0FDQTtBQUFBLFlBQ0YsSUFDQSxDQUFDO0FBQUEsWUFDTDtBQUFBLFVBQ0YsRUFBRSxLQUFLO0FBQUEsRUFBSyxXQUFXLEVBQUU7QUFFekIsZ0JBQU0sNEJBQTRCO0FBQUEsWUFDaEM7QUFBQSxZQUNBO0FBQUEsWUFDQTtBQUFBLFVBQ0Y7QUFFQSxnQkFBTSwyQ0FDSixzQ0FBc0MsVUFDdEMsdUJBQXVCLHdCQUF3QixVQUM5Qyx1QkFBdUIsU0FBUyxLQUFLLENBQUMsdUJBQXVCLEtBQUssMEJBQTBCO0FBQy9GLGdCQUFNLG1DQUFtQyxHQUFHLHlCQUF5QjtBQUVyRSxnQkFBTSx1Q0FDSCx1QkFBdUIsdUJBQXVCLFVBQzdDLHFCQUFxQixVQUNyQix1QkFBdUIsZUFBZSxVQUN4QztBQUVGLGdCQUFNLDJDQUEyQyx1Q0FDN0M7QUFBQTtBQUFBLFlBRUUsR0FBSSxvQ0FDQTtBQUFBO0FBQUEsY0FFRSxTQUFVLGtDQUFvRCxTQUFTLGtCQUFrQixXQUFXLFFBQVEsaUNBQWtELElBQUssa0NBQXFELElBQUksTUFBTSw2QkFBNkIseUJBQXlCLENBQUM7QUFBQSxZQUMzUixJQUNBLDJDQUNFO0FBQUEsY0FDRSxTQUFTLGdDQUFnQyxNQUFNLDZCQUE2Qix5QkFBeUIsQ0FBQztBQUFBLFlBQ3hHLElBQ0EsQ0FBQztBQUFBLFlBQ1AsR0FBSSx1Q0FDQSxDQUFDLFNBQVMscUNBQXFDLElBQUksTUFBTSx5QkFBeUIsVUFBVSxJQUM1RixDQUFDO0FBQUEsVUFDUCxJQUNBLENBQUM7QUFFTCxnQkFBTSxFQUFFLGlCQUFpQixvQkFBb0IsSUFBSTtBQUFBLFlBQy9DO0FBQUEsWUFDQTtBQUFBLFlBQ0E7QUFBQSxZQUNBO0FBQUEsVUFDRjtBQUdBLGdCQUFNLGdCQUFnQixTQUFTLG9CQUFvQixLQUFLLHlCQUF5QjtBQUNqRixnQkFBTSxxQkFBcUIsQ0FBQyx1Q0FDeEIsZ0JBQ0EsU0FBUyx5QkFBeUIsWUFBWSxhQUFhO0FBRS9ELGdCQUFNLGdCQUFnQix1Q0FDbEIsdUJBQXVCLFdBQ3ZCLHVCQUF1QjtBQUMzQixnQkFBTSxzQ0FBc0M7QUFBQSxZQUMxQztBQUFBLFlBQ0EsR0FBSSxvQkFBb0IsU0FBWSxDQUFDLGVBQWUsSUFBSSxDQUFDO0FBQUEsWUFDekQsR0FBRztBQUFBLFlBQ0gsR0FBRztBQUFBLFVBQ0wsRUFBRSxLQUFLO0FBQUEsRUFBTSxXQUFXLEVBQUU7QUFFMUIsa0JBQVEsT0FBTztBQUFBLFlBQ2IsTUFBTTtBQUFBLFlBQ04sV0FBVztBQUFBLFlBRVgsQ0FBQyxJQUFJLE9BQU87QUFDVixrQkFBSSx1QkFBdUIscUJBQXFCO0FBQzlDLHNCQUFNLHVCQUF1QjtBQUFBLGtCQUMzQjtBQUFBLGtCQUNBLEdBQUcsbUNBQW1DO0FBQUEsRUFBTSxXQUFXO0FBQUEsZ0JBQ3pELEVBQUUsS0FBSyxFQUFFO0FBQ1Qsc0JBQU0sTUFBTSxpQkFBaUIsdUJBQXVCLHFCQUFxQixvQkFBb0I7QUFBQSxjQUMvRixPQUFPO0FBQ0wsc0JBQU0sTUFBTSxZQUFZLGVBQWUsa0JBQWtCO0FBRXpELHNCQUFNLHNCQUFzQixXQUFXLFFBQVEsYUFBYSxFQUFFLFNBQVMsR0FBRztBQUMxRSxzQkFBTSxNQUFNO0FBQUEsa0JBQ1Y7QUFBQSxrQkFDQSxzQkFBc0IsR0FBRyxtQ0FBbUMsTUFBTTtBQUFBLGdCQUNwRTtBQUFBLGNBQ0Y7QUFHQSx5QkFBVyx5QkFBeUIsd0JBQXdCO0FBQzFELHNCQUFNLE1BQU07QUFBQSxrQkFDVjtBQUFBLGtCQUNBLDRDQUE0QyxDQUFDLDJCQUEyQixxQkFBcUIsSUFDekYsbUNBQ0EsNkJBQTZCLHlCQUF5QjtBQUFBLGdCQUM1RDtBQUFBLGNBQ0Y7QUFDQSxrQkFBSSx1QkFBdUIscUJBQXFCO0FBQzlDLHNCQUFNLE1BQU0sWUFBWSx1QkFBdUIscUJBQXFCLGdDQUFnQztBQUFBLGNBQ3RHO0FBR0EseUJBQVcsNEJBQTRCLDJCQUEyQjtBQUNoRSxzQkFBTSxTQUFTLFVBQVUsd0JBQXdCO0FBQ2pELHVCQUFPLEdBQUcsTUFBTTtBQUNoQixvQkFBSTtBQUNKLG9CQUFJLE9BQU8sU0FBUyxvQkFBb0I7QUFDdEMsd0JBQU0saUJBQWlCLE9BQU87QUFDOUIsK0JBQWEsT0FBTyxXQUNoQixXQUFXLFFBQVEsY0FBYyxJQUNqQyxJQUFJLFdBQVcsUUFBUSxjQUFjLENBQUM7QUFBQSxnQkFDNUMsV0FBVyxPQUFPLFNBQVMsa0JBQWtCO0FBQzNDLHdCQUFNLGlCQUFpQixPQUFPLFVBQVUsQ0FBQztBQUN6QywrQkFBYSxXQUFXLFFBQVEsY0FBYztBQUFBLGdCQUNoRDtBQUNBLHVCQUFPLEdBQUcsZUFBZSxNQUFTO0FBQ2xDLHNCQUFNLE1BQU0sWUFBWSxRQUFRLEdBQUcseUJBQXlCLGdCQUFnQixVQUFVLEdBQUc7QUFBQSxjQUMzRjtBQUdBLHlCQUFXLDJCQUEyQiwwQkFBMEI7QUFDOUQsb0JBQ0Usd0JBQXdCLFNBQVMsU0FBUyxnQkFDMUMsd0JBQXdCLFNBQVMsU0FBUyxjQUMxQztBQUNBLHdCQUFNLE1BQU0sWUFBWSx3QkFBd0IsVUFBVSxRQUFRO0FBQUEsZ0JBQ3BFO0FBQUEsY0FDRjtBQUdBLGtCQUNFLHVCQUF1QixTQUFTLFNBQVMscUJBQ3pDLHVCQUF1QixlQUFlLFFBQ3RDO0FBQ0Esc0JBQU0sTUFBTTtBQUFBLGtCQUNWLHVCQUF1QjtBQUFBLGtCQUN2QjtBQUFBLEVBQUssV0FBVyxVQUFVLHlCQUF5QjtBQUFBLGdCQUNyRDtBQUFBLGNBQ0Y7QUFBQSxZQUNGO0FBQUEsVUFDRixDQUFDO0FBQUEsUUFDSCxTQUFTLE9BQU87QUFFZCxrQkFBUSxNQUFNLG1CQUFtQixNQUFNLG1CQUFtQixRQUFRLFFBQVEsTUFBTSxLQUFLO0FBQ3JGLGtCQUFRLE9BQU87QUFBQSxZQUNiLE1BQU07QUFBQSxZQUNOLFdBQVc7QUFBQSxZQUNYLE1BQU07QUFBQSxjQUNKLFVBQVUsUUFBUTtBQUFBLGNBQ2xCLE9BQU8saUJBQWlCLFFBQVEsTUFBTSxTQUFTLElBQUksS0FBSyxVQUFVLEtBQUs7QUFBQSxZQUN6RTtBQUFBLFVBQ0YsQ0FBQztBQUFBLFFBQ0g7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjtBQUVBLElBQU8scUJBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L25vLWZpeHR1cmUudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBUUEsU0FBUyxVQUFVLGNBQWM7QUFjakMsT0FBa0Q7QUFFbEQ7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxPQUFPLHlCQUF5QjtBQUNoQyxTQUFTLHNCQUFzQjtBQUMvQixTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLGlDQUFpQztBQUMxQyxTQUFTLDhCQUE4QixpQ0FBaUMscUJBQXFCO0FBQzdGLFNBQVMsNENBQTRDO0FBRTlDLElBQU0sU0FBUztBQWlCdEIsU0FBUyxtQkFBbUIsTUFBNEIsU0FBaUMsWUFBd0I7QUFDL0csUUFBTSxTQUFTLFVBQVUsSUFBSTtBQUM3QixTQUFPLEdBQUcsUUFBUSxxREFBcUQ7QUFFdkUsTUFBSTtBQUNKLE1BQUksT0FBTyxTQUFTLG1CQUFtQjtBQUVyQyxZQUFRLGNBQWM7QUFDdEIsWUFBUSxXQUFXO0FBQUEsRUFDckIsV0FDRSxPQUFPLFNBQVMscUJBQ2hCLE9BQU8sU0FBUyxvQkFDaEIsT0FBTyxTQUFTLDJCQUNoQjtBQUVBLFlBQVEsY0FBYztBQUN0QixZQUFRLFdBQVc7QUFBQSxFQUNyQixXQUFXLE9BQU8sU0FBUyxtQkFBbUI7QUFDNUMsWUFBUSxjQUFjO0FBQ3RCLFVBQU0scUJBQXFCLHNCQUFzQixNQUFNO0FBQ3ZELFdBQU8sR0FBRyxrQkFBa0I7QUFDNUIsVUFBTSxjQUFjLFVBQVUsTUFBTTtBQUNwQyxRQUFJLGFBQWEsU0FBUyxvQkFBb0I7QUFDNUMsY0FBUSxXQUFXO0FBQ25CLGNBQVEsc0JBQXNCO0FBQzlCLFVBQUksWUFBWSxTQUFTLFNBQVMsZ0JBQWdCLFlBQVksU0FBUyxTQUFTLFFBQVE7QUFDdEYsZ0JBQVEsc0JBQXNCO0FBQUEsTUFDaEM7QUFDQSxVQUNFLFlBQVksU0FBUyxTQUFTLGlCQUM3QixZQUFZLFNBQVMsU0FBUyxZQUFZ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
|
|
@@ -53,6 +53,9 @@ function analyzeResponseReferences(variableDeclaration, scopeManager) {
|
|
|
53
53
|
if (parent2?.type === "Property" && parent2.key.type === "Identifier" && parent2.key.name === "body") {
|
|
54
54
|
results.destructuringBodyVariable = parent;
|
|
55
55
|
}
|
|
56
|
+
if (parent2?.type === "Property" && parent2.key.type === "Identifier" && (parent2.key.name === "header" || parent2.key.name === "headers")) {
|
|
57
|
+
results.destructuringHeadersVariable = parent;
|
|
58
|
+
}
|
|
56
59
|
}
|
|
57
60
|
} else {
|
|
58
61
|
log("+++++++ can not handle identifierParent", identifierParent);
|
|
@@ -64,4 +67,4 @@ function analyzeResponseReferences(variableDeclaration, scopeManager) {
|
|
|
64
67
|
export {
|
|
65
68
|
analyzeResponseReferences
|
|
66
69
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FnZW50L3Jlc3BvbnNlLXJlZmVyZW5jZS50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFRQSxTQUFTLFVBQVUsY0FBYztBQUVqQyxPQUEyQjtBQUMzQixPQUFPLFdBQVc7QUFFbEIsU0FBUyxpQkFBaUI7QUFFMUIsSUFBTSxNQUFNLE1BQU0sa0NBQWtDO0FBTzdDLFNBQVMsMEJBQ2QscUJBQ0EsY0FTQTtBQUNBLFFBQU0sVUFRRjtBQUFBLElBQ0YsZ0JBQWdCLENBQUM7QUFBQSxJQUNqQixtQkFBbUIsQ0FBQztBQUFBLElBQ3BCLGtCQUFrQixDQUFDO0FBQUEsRUFDckI7QUFDQSxNQUFJLENBQUMscUJBQXFCO0FBQ3hCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxvQkFBb0IsYUFBYSxxQkFBcUIsbUJBQW1CO0FBQy9FLGFBQVcsb0JBQW9CLG1CQUFtQjtBQUNoRCxVQUFNLGFBQWEsaUJBQWlCLFlBQVksQ0FBQztBQUNqRCxXQUFPLEdBQUcsVUFBVTtBQUNwQixVQUFNLG1CQUFtQixVQUFVLFVBQVU7QUFDN0MsV0FBTyxHQUFHLGdCQUFnQjtBQUMxQixRQUFJLGlCQUFpQixTQUFTLHNCQUFzQjtBQUVsRCxjQUFRLFdBQVc7QUFDbkIsWUFBTSxxQkFBcUIsaUJBQWlCLFdBQVc7QUFBQSxRQUFJLENBQUMsc0JBQzFELFVBQVUsa0JBQWtCLFVBQVU7QUFBQSxNQUN4QztBQUVBLGNBQVEsaUJBQWlCLG1CQUFtQjtBQUFBLFFBQzFDLENBQUMsU0FDQyxNQUFNLFNBQVMsc0JBQXNCLEtBQUssU0FBUyxTQUFTLGdCQUFnQixLQUFLLFNBQVMsU0FBUztBQUFBLE1BQ3ZHO0FBRUEsY0FBUSxvQkFBb0IsbUJBQW1CO0FBQUEsUUFDN0MsQ0FBQyxTQUNDLE1BQU0sU0FBUyxzQkFDZixLQUFLLFNBQVMsU0FBUyxpQkFDdEIsS0FBSyxTQUFTLFNBQVMsWUFBWSxLQUFLLFNBQVMsU0FBUyxhQUFhLEtBQUssU0FBUyxTQUFTO0FBQUEsTUFDbkc7QUFFQSxjQUFRLG1CQUFtQixtQkFBbUI7QUFBQSxRQUM1QyxDQUFDLFNBQ0MsTUFBTSxTQUFTLHNCQUNmLEtBQUssU0FBUyxTQUFTLGlCQUN0QixLQUFLLFNBQVMsU0FBUyxZQUFZLEtBQUssU0FBUyxTQUFTO0FBQUEsTUFDL0Q7QUFBQSxJQUNGO0FBQUE7QUFBQSxNQUVFLGlCQUFpQixTQUFTLGNBQzFCLGlCQUFpQixJQUFJLFNBQVMsZ0JBQzlCLGlCQUFpQixJQUFJLFNBQVM7QUFBQSxNQUM5QjtBQUNBLGNBQVEsNEJBQTRCO0FBQUEsSUFDdEM7QUFBQTtBQUFBLE1BRUUsaUJBQWlCLFNBQVMsY0FDMUIsaUJBQWlCLElBQUksU0FBUyxnQkFDOUIsaUJBQWlCLElBQUksU0FBUztBQUFBLE1BQzlCO0FBQ0EsY0FBUSwrQkFBK0I7QUFDdkMsY0FBUSxpQ0FBaUMsaUJBQWlCLFdBQ3ZELElBQUksQ0FBQyxjQUFjLFVBQVUsVUFBVSxFQUN2QyxJQUFJLFNBQVMsRUFDYjtBQUFBLFFBQ0MsQ0FBQyxXQUNDLFFBQVEsU0FBUyxzQkFDakIsT0FBTyxTQUFTLFNBQVMsZ0JBQ3pCLE9BQU8sU0FBUyxTQUFTLFNBQ3pCLFVBQVUsTUFBTSxHQUFHLFNBQVM7QUFBQSxNQUNoQztBQUFBLElBQ0osV0FBVyxpQkFBaUIsU0FBUyxZQUFZO0FBQy9DLFlBQU0sU0FBUyxVQUFVLGdCQUFnQjtBQUN6QyxVQUFJLFFBQVEsU0FBUyxpQkFBaUI7QUFFcEMsY0FBTSxVQUFVLFVBQVUsTUFBTTtBQUNoQyxZQUFJLFNBQVMsU0FBUyxjQUFjLFFBQVEsSUFBSSxTQUFTLGdCQUFnQixRQUFRLElBQUksU0FBUyxRQUFRO0FBQ3BHLGtCQUFRLDRCQUE0QjtBQUFBLFFBQ3RDO0FBQ0EsWUFDRSxTQUFTLFNBQVMsY0FDbEIsUUFBUSxJQUFJLFNBQVMsaUJBQ3BCLFFBQVEsSUFBSSxTQUFTLFlBQVksUUFBUSxJQUFJLFNBQVMsWUFDdkQ7QUFDQSxrQkFBUSwrQkFBK0I7QUFBQSxRQUN6QztBQUFBLE1BQ0Y7QUFBQSxJQUNGLE9BQU87QUFDTCxVQUFJLDJDQUEyQyxnQkFBZ0I7QUFDL0QsWUFBTSxJQUFJLE1BQU0sd0NBQXdDLGlCQUFpQixJQUFJLEVBQUU7QUFBQSxJQUNqRjtBQUFBLEVBQ0Y7QUFDQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|