@typescript-eslint/eslint-plugin 8.0.0-alpha.47 → 8.0.0-alpha.49

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.
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeChain.js","sourceRoot":"","sources":["../../../src/rules/prefer-optional-chain-utils/analyzeChain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzeChain.js","sourceRoot":"","sources":["../../../src/rules/prefer-optional-chain-utils/analyzeChain.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,12 @@ exports.default = (0, util_1.createRule)({
49
49
  schema: [
50
50
  {
51
51
  type: 'string',
52
- enum: ['in-try-catch', 'always', 'never'],
52
+ enum: [
53
+ 'in-try-catch',
54
+ 'always',
55
+ 'never',
56
+ 'error-handling-correctness-only',
57
+ ],
53
58
  },
54
59
  ],
55
60
  },
@@ -218,73 +223,57 @@ exports.default = (0, util_1.createRule)({
218
223
  }
219
224
  const type = checker.getTypeAtLocation(child);
220
225
  const isThenable = tsutils.isThenableType(checker, expression, type);
221
- if (!isAwait && !isThenable) {
222
- return;
223
- }
224
- if (isAwait && !isThenable) {
225
- // any/unknown could be thenable; do not auto-fix
226
- const useAutoFix = !((0, util_1.isTypeAnyType)(type) || (0, util_1.isTypeUnknownType)(type));
227
- context.report({
228
- messageId: 'nonPromiseAwait',
229
- node,
230
- ...fixOrSuggest(useAutoFix, {
231
- messageId: 'nonPromiseAwait',
232
- fix: fixer => removeAwait(fixer, node),
233
- }),
234
- });
235
- return;
236
- }
237
- const affectsErrorHandling = affectsExplicitErrorHandling(expression) ||
238
- affectsExplicitResourceManagement(node);
239
- const useAutoFix = !affectsErrorHandling;
240
- if (option === 'always') {
241
- if (!isAwait && isThenable) {
242
- context.report({
243
- messageId: 'requiredPromiseAwait',
244
- node,
245
- ...fixOrSuggest(useAutoFix, {
246
- messageId: 'requiredPromiseAwaitSuggestion',
247
- fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
248
- }),
249
- });
250
- }
251
- return;
252
- }
253
- if (option === 'never') {
226
+ // handle awaited _non_thenables
227
+ if (!isThenable) {
254
228
  if (isAwait) {
229
+ // any/unknown could be thenable; do not auto-fix
230
+ const useAutoFix = !((0, util_1.isTypeAnyType)(type) || (0, util_1.isTypeUnknownType)(type));
255
231
  context.report({
256
- messageId: 'disallowedPromiseAwait',
232
+ messageId: 'nonPromiseAwait',
257
233
  node,
258
234
  ...fixOrSuggest(useAutoFix, {
259
- messageId: 'disallowedPromiseAwaitSuggestion',
235
+ messageId: 'nonPromiseAwait',
260
236
  fix: fixer => removeAwait(fixer, node),
261
237
  }),
262
238
  });
263
239
  }
264
240
  return;
265
241
  }
266
- if (option === 'in-try-catch') {
267
- if (isAwait && !affectsErrorHandling) {
268
- context.report({
269
- messageId: 'disallowedPromiseAwait',
270
- node,
271
- ...fixOrSuggest(useAutoFix, {
272
- messageId: 'disallowedPromiseAwaitSuggestion',
273
- fix: fixer => removeAwait(fixer, node),
274
- }),
275
- });
276
- }
277
- else if (!isAwait && affectsErrorHandling) {
278
- context.report({
279
- messageId: 'requiredPromiseAwait',
280
- node,
281
- ...fixOrSuggest(useAutoFix, {
282
- messageId: 'requiredPromiseAwaitSuggestion',
283
- fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
284
- }),
285
- });
286
- }
287
- return;
242
+ // At this point it's definitely a thenable.
243
+ const affectsErrorHandling = affectsExplicitErrorHandling(expression) ||
244
+ affectsExplicitResourceManagement(node);
245
+ const useAutoFix = !affectsErrorHandling;
246
+ const ruleConfiguration = getConfiguration(option);
247
+ const shouldAwaitInCurrentContext = affectsErrorHandling
248
+ ? ruleConfiguration.errorHandlingContext
249
+ : ruleConfiguration.ordinaryContext;
250
+ switch (shouldAwaitInCurrentContext) {
251
+ case "don't-care":
252
+ break;
253
+ case 'await':
254
+ if (!isAwait) {
255
+ context.report({
256
+ messageId: 'requiredPromiseAwait',
257
+ node,
258
+ ...fixOrSuggest(useAutoFix, {
259
+ messageId: 'requiredPromiseAwaitSuggestion',
260
+ fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
261
+ }),
262
+ });
263
+ }
264
+ break;
265
+ case 'no-await':
266
+ if (isAwait) {
267
+ context.report({
268
+ messageId: 'disallowedPromiseAwait',
269
+ node,
270
+ ...fixOrSuggest(useAutoFix, {
271
+ messageId: 'disallowedPromiseAwaitSuggestion',
272
+ fix: fixer => removeAwait(fixer, node),
273
+ }),
274
+ });
275
+ }
276
+ break;
288
277
  }
289
278
  }
290
279
  function findPossiblyReturnedNodes(node) {
@@ -325,6 +314,30 @@ exports.default = (0, util_1.createRule)({
325
314
  };
326
315
  },
327
316
  });
317
+ function getConfiguration(option) {
318
+ switch (option) {
319
+ case 'always':
320
+ return {
321
+ ordinaryContext: 'await',
322
+ errorHandlingContext: 'await',
323
+ };
324
+ case 'never':
325
+ return {
326
+ ordinaryContext: 'no-await',
327
+ errorHandlingContext: 'no-await',
328
+ };
329
+ case 'error-handling-correctness-only':
330
+ return {
331
+ ordinaryContext: "don't-care",
332
+ errorHandlingContext: 'await',
333
+ };
334
+ case 'in-try-catch':
335
+ return {
336
+ ordinaryContext: 'no-await',
337
+ errorHandlingContext: 'await',
338
+ };
339
+ }
340
+ }
328
341
  function fixOrSuggest(useFix, suggestion) {
329
342
  return useFix ? { fix: suggestion.fix } : { suggest: [suggestion] };
330
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"return-await.js","sourceRoot":"","sources":["../../src/rules/return-await.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"return-await.js","sourceRoot":"","sources":["../../src/rules/return-await.ts"],"names":[],"mappings":"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"}
@@ -130,6 +130,7 @@ exports.default = (0, util_1.createRule)({
130
130
  WhileStatement: traverseTestExpression,
131
131
  'LogicalExpression[operator!="??"]': traverseLogicalExpression,
132
132
  'UnaryExpression[operator="!"]': traverseUnaryLogicalExpression,
133
+ CallExpression: traverseCallExpression,
133
134
  };
134
135
  /**
135
136
  * Inspects condition of a test expression. (`if`, `while`, `for`, etc.)
@@ -158,9 +159,108 @@ exports.default = (0, util_1.createRule)({
158
159
  // left argument is always treated as a condition
159
160
  traverseNode(node.left, true);
160
161
  // if the logical expression is used for control flow,
161
- // then it's right argument is used for it's side effects only
162
+ // then its right argument is used for its side effects only
162
163
  traverseNode(node.right, isCondition);
163
164
  }
165
+ function traverseCallExpression(node) {
166
+ const assertedArgument = findAssertedArgument(node);
167
+ if (assertedArgument != null) {
168
+ traverseNode(assertedArgument, true);
169
+ }
170
+ }
171
+ /**
172
+ * Inspect a call expression to see if it's a call to an assertion function.
173
+ * If it is, return the node of the argument that is asserted.
174
+ */
175
+ function findAssertedArgument(node) {
176
+ // If the call looks like `assert(expr1, expr2, ...c, d, e, f)`, then we can
177
+ // only care if `expr1` or `expr2` is asserted, since anything that happens
178
+ // within or after a spread argument is out of scope to reason about.
179
+ const checkableArguments = [];
180
+ for (const argument of node.arguments) {
181
+ if (argument.type === utils_1.AST_NODE_TYPES.SpreadElement) {
182
+ break;
183
+ }
184
+ checkableArguments.push(argument);
185
+ }
186
+ // nothing to do
187
+ if (checkableArguments.length === 0) {
188
+ return undefined;
189
+ }
190
+ // Game plan: we're going to check the type of the callee. If it has call
191
+ // signatures and they _ALL_ agree that they assert on a parameter at the
192
+ // _SAME_ position, we'll consider the argument in that position to be an
193
+ // asserted argument.
194
+ const calleeType = (0, util_1.getConstrainedTypeAtLocation)(services, node.callee);
195
+ const callSignatures = tsutils.getCallSignaturesOfType(calleeType);
196
+ let assertedParameterIndex = undefined;
197
+ for (const signature of callSignatures) {
198
+ const declaration = signature.getDeclaration();
199
+ const returnTypeAnnotation = declaration.type;
200
+ // Be sure we're dealing with a truthiness assertion function.
201
+ if (!(returnTypeAnnotation != null &&
202
+ ts.isTypePredicateNode(returnTypeAnnotation) &&
203
+ // This eliminates things like `x is string` and `asserts x is T`
204
+ // leaving us with just the `asserts x` cases.
205
+ returnTypeAnnotation.type == null &&
206
+ // I think this is redundant but, still, it needs to be true
207
+ returnTypeAnnotation.assertsModifier != null)) {
208
+ return undefined;
209
+ }
210
+ const assertionTarget = returnTypeAnnotation.parameterName;
211
+ if (assertionTarget.kind !== ts.SyntaxKind.Identifier) {
212
+ // This can happen when asserting on `this`. Ignore!
213
+ return undefined;
214
+ }
215
+ // If the first parameter is `this`, skip it, so that our index matches
216
+ // the index of the argument at the call site.
217
+ const firstParameter = declaration.parameters.at(0);
218
+ const nonThisParameters = firstParameter?.name.kind === ts.SyntaxKind.Identifier &&
219
+ firstParameter.name.text === 'this'
220
+ ? declaration.parameters.slice(1)
221
+ : declaration.parameters;
222
+ // Don't bother inspecting parameters past the number of
223
+ // arguments we have at the call site.
224
+ const checkableNonThisParameters = nonThisParameters.slice(0, checkableArguments.length);
225
+ let assertedParameterIndexForThisSignature;
226
+ for (const [index, parameter] of checkableNonThisParameters.entries()) {
227
+ if (parameter.dotDotDotToken != null) {
228
+ // Cannot assert a rest parameter, and can't have a rest parameter
229
+ // before the asserted parameter. It's not only a TS error, it's
230
+ // not something we can logically make sense of, so give up here.
231
+ return undefined;
232
+ }
233
+ if (parameter.name.kind !== ts.SyntaxKind.Identifier) {
234
+ // Only identifiers are valid for assertion targets, so skip over
235
+ // anything like `{ destructuring: parameter }: T`
236
+ continue;
237
+ }
238
+ // we've found a match between the "target"s in
239
+ // `function asserts(target: T): asserts target;`
240
+ if (parameter.name.text === assertionTarget.text) {
241
+ assertedParameterIndexForThisSignature = index;
242
+ break;
243
+ }
244
+ }
245
+ if (assertedParameterIndexForThisSignature == null) {
246
+ // Didn't find an assertion target in this signature that could match
247
+ // the call site.
248
+ return undefined;
249
+ }
250
+ if (assertedParameterIndex != null &&
251
+ assertedParameterIndex !== assertedParameterIndexForThisSignature) {
252
+ // The asserted parameter we found for this signature didn't match
253
+ // previous signatures.
254
+ return undefined;
255
+ }
256
+ assertedParameterIndex = assertedParameterIndexForThisSignature;
257
+ }
258
+ // Didn't find a unique assertion index.
259
+ if (assertedParameterIndex == null) {
260
+ return undefined;
261
+ }
262
+ return checkableArguments[assertedParameterIndex];
263
+ }
164
264
  /**
165
265
  * Inspects any node.
166
266
  *
@@ -1 +1 @@
1
- {"version":3,"file":"strict-boolean-expressions.js","sourceRoot":"","sources":["../../src/rules/strict-boolean-expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strict-boolean-expressions.js","sourceRoot":"","sources":["../../src/rules/strict-boolean-expressions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oDAA0D;AAC1D,sDAAwC;AACxC,+CAAiC;AAEjC,kCAMiB;AAyCjB,kBAAe,IAAA,iBAAU,EAAqB;IAC5C,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,IAAI;QACpB,IAAI,EAAE;YACJ,WAAW,EAAE,+CAA+C;YAC5D,oBAAoB,EAAE,IAAI;SAC3B;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxC,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxC,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7B,sDAAsD,EAAE;wBACtD,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,QAAQ,EAAE;YACR,mBAAmB,EACjB,mCAAmC;gBACnC,mCAAmC;YACrC,iBAAiB,EACf,uCAAuC;gBACvC,kDAAkD;YACpD,qBAAqB,EACnB,2CAA2C;gBAC3C,gCAAgC;YAClC,6BAA6B,EAC3B,oDAAoD;gBACpD,4CAA4C;YAC9C,oBAAoB,EAClB,0CAA0C;gBAC1C,6CAA6C;YAC/C,4BAA4B,EAC1B,mDAAmD;gBACnD,mDAAmD;YACrD,oBAAoB,EAClB,0CAA0C;gBAC1C,yCAAyC;YAC3C,4BAA4B,EAC1B,mDAAmD;gBACnD,sDAAsD;YACxD,oBAAoB,EAClB,0CAA0C;gBAC1C,+BAA+B;YACjC,4BAA4B,EAC1B,mDAAmD;gBACnD,qCAAqC;YACvC,0BAA0B,EACxB,iDAAiD;gBACjD,sDAAsD;YACxD,iBAAiB,EACf,kGAAkG;YAEpG,wBAAwB,EACtB,qEAAqE;YACvE,8BAA8B,EAC5B,4EAA4E;YAC9E,uBAAuB,EACrB,6DAA6D;YAC/D,0BAA0B,EACxB,gEAAgE;YAClE,uBAAuB,EACrB,uDAAuD;YACzD,uBAAuB,EACrB,sDAAsD;YACxD,wBAAwB,EACtB,wDAAwD;YAC1D,+BAA+B,EAC7B,kEAAkE;YACpE,8BAA8B,EAC5B,6DAA6D;YAC/D,uBAAuB,EACrB,iDAAiD;YACnD,sBAAsB,EACpB,4DAA4D;SAC/D;KACF;IACD,cAAc,EAAE;QACd;YACE,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,mBAAmB,EAAE,IAAI;YACzB,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,KAAK;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,iBAAiB,EAAE,KAAK;YACxB,QAAQ,EAAE,KAAK;YACf,sDAAsD,EAAE,KAAK;SAC9D;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAE9D,MAAM,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,CAC9D,eAAe,EACf,kBAAkB,CACnB,CAAC;QAEF,IACE,CAAC,kBAAkB;YACnB,OAAO,CAAC,sDAAsD,KAAK,IAAI,EACvE,CAAC;YACD,OAAO,CAAC,MAAM,CAAC;gBACb,GAAG,EAAE;oBACH,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;oBAC7B,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;iBAC5B;gBACD,SAAS,EAAE,mBAAmB;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;QAEhD,OAAO;YACL,qBAAqB,EAAE,sBAAsB;YAC7C,gBAAgB,EAAE,sBAAsB;YACxC,YAAY,EAAE,sBAAsB;YACpC,WAAW,EAAE,sBAAsB;YACnC,cAAc,EAAE,sBAAsB;YACtC,mCAAmC,EAAE,yBAAyB;YAC9D,+BAA+B,EAAE,8BAA8B;YAC/D,cAAc,EAAE,sBAAsB;SACvC,CAAC;QASF;;WAEG;QACH,SAAS,sBAAsB,CAAC,IAAoB;YAClD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAED;;WAEG;QACH,SAAS,8BAA8B,CACrC,IAA8B;YAE9B,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAED;;;;;;;WAOG;QACH,SAAS,yBAAyB,CAChC,IAAgC,EAChC,WAAW,GAAG,KAAK;YAEnB,iDAAiD;YACjD,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9B,sDAAsD;YACtD,4DAA4D;YAC5D,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,SAAS,sBAAsB,CAAC,IAA6B;YAC3D,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAC7B,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,SAAS,oBAAoB,CAC3B,IAA6B;YAE7B,4EAA4E;YAC5E,2EAA2E;YAC3E,qEAAqE;YACrE,MAAM,kBAAkB,GAA0B,EAAE,CAAC;YACrD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,aAAa,EAAE,CAAC;oBACnD,MAAM;gBACR,CAAC;gBAED,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;YAED,gBAAgB;YAChB,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,qBAAqB;YACrB,MAAM,UAAU,GAAG,IAAA,mCAA4B,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvE,MAAM,cAAc,GAAG,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAEnE,IAAI,sBAAsB,GAAuB,SAAS,CAAC;YAC3D,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;gBAC/C,MAAM,oBAAoB,GAAG,WAAW,CAAC,IAAI,CAAC;gBAE9C,8DAA8D;gBAC9D,IACE,CAAC,CACC,oBAAoB,IAAI,IAAI;oBAC5B,EAAE,CAAC,mBAAmB,CAAC,oBAAoB,CAAC;oBAC5C,iEAAiE;oBACjE,8CAA8C;oBAC9C,oBAAoB,CAAC,IAAI,IAAI,IAAI;oBACjC,4DAA4D;oBAC5D,oBAAoB,CAAC,eAAe,IAAI,IAAI,CAC7C,EACD,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC;gBAC3D,IAAI,eAAe,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;oBACtD,oDAAoD;oBACpD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,uEAAuE;gBACvE,8CAA8C;gBAC9C,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,iBAAiB,GACrB,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU;oBACtD,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;oBACjC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;oBACjC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;gBAE7B,wDAAwD;gBACxD,sCAAsC;gBACtC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,KAAK,CACxD,CAAC,EACD,kBAAkB,CAAC,MAAM,CAC1B,CAAC;gBAEF,IAAI,sCAA0D,CAAC;gBAC/D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC;oBACtE,IAAI,SAAS,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;wBACrC,kEAAkE;wBAClE,gEAAgE;wBAChE,iEAAiE;wBACjE,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAED,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;wBACrD,iEAAiE;wBACjE,kDAAkD;wBAClD,SAAS;oBACX,CAAC;oBAED,+CAA+C;oBAC/C,iDAAiD;oBACjD,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;wBACjD,sCAAsC,GAAG,KAAK,CAAC;wBAC/C,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,IAAI,sCAAsC,IAAI,IAAI,EAAE,CAAC;oBACnD,qEAAqE;oBACrE,iBAAiB;oBACjB,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,IACE,sBAAsB,IAAI,IAAI;oBAC9B,sBAAsB,KAAK,sCAAsC,EACjE,CAAC;oBACD,kEAAkE;oBAClE,uBAAuB;oBACvB,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,sBAAsB,GAAG,sCAAsC,CAAC;YAClE,CAAC;YAED,wCAAwC;YACxC,IAAI,sBAAsB,IAAI,IAAI,EAAE,CAAC;gBACnC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;QACpD,CAAC;QAED;;;;;;;WAOG;QACH,SAAS,YAAY,CACnB,IAAyB,EACzB,WAAoB;YAEpB,gDAAgD;YAChD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEzB,8CAA8C;YAC9C,IACE,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;gBAC9C,IAAI,CAAC,QAAQ,KAAK,IAAI,EACtB,CAAC;gBACD,yBAAyB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAED;;;WAGG;QACH,SAAS,SAAS,CAAC,IAAyB;YAC1C,MAAM,IAAI,GAAG,IAAA,mCAA4B,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhE,MAAM,EAAE,GAAG,CAAC,GAAG,WAAmC,EAAW,EAAE,CAC7D,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;gBACjC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7C,UAAU;YACV,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1C,yBAAyB;gBACzB,OAAO;YACT,CAAC;YAED,QAAQ;YACR,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChB,uBAAuB;gBACvB,OAAO;YACT,CAAC;YAED,UAAU;YACV,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClB,4BAA4B;gBAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YAED,0FAA0F;YAC1F,IAAI,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,mBAAmB;YACnB,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;oBAClC,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7C,wBAAwB;wBACxB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,+BAA+B;4BAC1C,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,0BAA0B;oCACrC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW;qCACjC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,0BAA0B;oCACrC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,YAAY;qCAClC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,uBAAuB;wBACvB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,+BAA+B;4BAC1C,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,0BAA0B;oCACrC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW;qCACjC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW;qCACjC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,6FAA6F;YAC7F,IACE,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACvD,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EACvD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,SAAS;YACT,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBACzB,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7C,eAAe;wBACf,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,sBAAsB;4BACjC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,iCAAiC;oCAC5C,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,eAAe;qCACrC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,gCAAgC;oCAC3C,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,SAAS;qCAC/B,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,GAAG;qCAClC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,cAAc;wBACd,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,sBAAsB;4BACjC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,iCAAiC;oCAC5C,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,aAAa;qCACnC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,gCAAgC;oCAC3C,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,SAAS;qCAC/B,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,GAAG;qCACjC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,kBAAkB;YAClB,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBACjC,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7C,uBAAuB;wBACvB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,8BAA8B;4BACzC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,4BAA4B;oCACvC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU;qCAChC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,gCAAgC;oCAC3C,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,QAAQ;qCAC9B,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,GAAG;qCAClC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,sBAAsB;wBACtB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,8BAA8B;4BACzC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,4BAA4B;oCACvC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU;qCAChC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,gCAAgC;oCAC3C,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,QAAQ;qCAC9B,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,GAAG;qCACjC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,SAAS;YACT,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBACzB,IAAI,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;wBACrD,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC7C,qBAAqB;4BACrB,OAAO,CAAC,MAAM,CAAC;gCACb,IAAI;gCACJ,SAAS,EAAE,sBAAsB;gCACjC,GAAG,EAAE,IAAA,uBAAgB,EAAC;oCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;oCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;oCACjB,SAAS,EAAE,IAAI;oCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,QAAQ;iCAC9B,CAAC;6BACH,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,oBAAoB;4BACpB,OAAO,CAAC,MAAM,CAAC;gCACb,IAAI;gCACJ,SAAS,EAAE,sBAAsB;gCACjC,GAAG,EAAE,IAAA,uBAAgB,EAAC;oCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;oCAC9B,IAAI;oCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,MAAM;iCAC5B,CAAC;6BACH,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;yBAAM,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpD,eAAe;wBACf,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,sBAAsB;4BACjC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,uDAAuD;wCACvD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,QAAQ;qCAC9B,CAAC;iCACH;gCACD;oCACE,8DAA8D;oCAC9D,SAAS,EAAE,wBAAwB;oCACnC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,IAAI,GAAG;qCACtC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,GAAG;qCAClC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,cAAc;wBACd,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,sBAAsB;4BACjC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,QAAQ;qCAC9B,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,wBAAwB;oCACnC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAiB,IAAI,GAAG;qCACvC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,GAAG;qCACjC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,kBAAkB;YAClB,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBACjC,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7C,uBAAuB;wBACvB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,8BAA8B;4BACzC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,4BAA4B;oCACvC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU;qCAChC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO;qCAC7B,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,GAAG;qCAClC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,sBAAsB;wBACtB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,8BAA8B;4BACzC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,4BAA4B;oCACvC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU;qCAChC,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO;qCAC7B,CAAC;iCACH;gCACD;oCACE,SAAS,EAAE,yBAAyB;oCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,GAAG;qCACjC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,SAAS;YACT,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjB,2BAA2B;gBAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,kBAAkB;YAClB,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBACjC,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7C,uBAAuB;wBACvB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,8BAA8B;4BACzC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,4BAA4B;oCACvC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;wCACjB,SAAS,EAAE,IAAI;wCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU;qCAChC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,sBAAsB;wBACtB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,8BAA8B;4BACzC,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,4BAA4B;oCACvC,GAAG,EAAE,IAAA,uBAAgB,EAAC;wCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wCAC9B,IAAI;wCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU;qCAChC,CAAC;iCACH;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,gBAAgB;YAChB,IACE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAC/B,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAC/B,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;gBACtC,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;gBACtC,cAAc;gBACd,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,CAAC;gBACvD,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAChD,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAChD,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EACzC,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBAC/B,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7C,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,4BAA4B;4BACvC,GAAG,EAAE,IAAA,uBAAgB,EAAC;gCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gCAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;gCACjB,SAAS,EAAE,IAAI;gCACf,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU;6BAChC,CAAC;yBACH,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,4BAA4B;4BACvC,GAAG,EAAE,IAAA,uBAAgB,EAAC;gCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gCAC9B,IAAI;gCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU;6BAChC,CAAC;yBACH,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM;YACN,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,mBAAmB;wBAC9B,OAAO,EAAE;4BACP;gCACE,SAAS,EAAE,yBAAyB;gCACpC,GAAG,EAAE,IAAA,uBAAgB,EAAC;oCACpB,UAAU,EAAE,OAAO,CAAC,UAAU;oCAC9B,IAAI;oCACJ,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,GAAG;iCACjC,CAAC;6BACH;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YAED,QAAQ;YACR,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC7D,CAAC;QAgBD;;WAEG;QACH,SAAS,mBAAmB,CAAC,KAAgB;YAC3C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;YAE5C,IACE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,OAAO,CAAC,aAAa,CACnB,IAAI,EACJ,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CACnE,CACF,EACD,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACnC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CACtD,CAAC;YAEF,uEAAuE;YACvE,4CAA4C;YAC5C,mEAAmE;YACnE,qFAAqF;YACrF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,YAAY,CAAC,GAAG,CACd,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAClC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CACrD,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IACE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,EAClE,CAAC;oBACD,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAClC,OAAO,CAAC,aAAa,CACnB,IAAI,EACJ,EAAE,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAClD,CACF,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACtE,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,IACE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACtE,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAED,IACE,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,EAAE,CACL,CAAC,OAAO,CAAC,aAAa,CACpB,IAAI,EACJ,EAAE,CAAC,SAAS,CAAC,IAAI;gBACf,EAAE,CAAC,SAAS,CAAC,SAAS;gBACtB,EAAE,CAAC,SAAS,CAAC,QAAQ;gBACrB,EAAE,CAAC,SAAS,CAAC,WAAW;gBACxB,EAAE,CAAC,SAAS,CAAC,UAAU;gBACvB,EAAE,CAAC,SAAS,CAAC,UAAU;gBACvB,EAAE,CAAC,SAAS,CAAC,UAAU;gBACvB,EAAE,CAAC,SAAS,CAAC,aAAa;gBAC1B,EAAE,CAAC,SAAS,CAAC,GAAG;gBAChB,EAAE,CAAC,SAAS,CAAC,OAAO;gBACpB,EAAE,CAAC,SAAS,CAAC,KAAK,CACrB,CACJ,EACD,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;YAED,IACE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,OAAO,CAAC,aAAa,CACnB,IAAI,EACJ,EAAE,CAAC,SAAS,CAAC,aAAa;gBACxB,EAAE,CAAC,SAAS,CAAC,GAAG;gBAChB,EAAE,CAAC,SAAS,CAAC,OAAO,CACvB,CACF,EACD,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACxE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,2BAA2B,CAClC,IAAmB;IAEnB,OAAO,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC;AAC/E,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAmB,EACnB,WAA2B,EAC3B,QAA2C;IAE3C,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,IAAA,mCAA4B,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,IAAA,yCAAkC,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACrE,CAAC"}
@@ -155,8 +155,8 @@ function getFunctionHeadLoc(node, sourceCode) {
155
155
  end = getOpeningParenOfParams(node, sourceCode).loc.start;
156
156
  }
157
157
  return {
158
- start: Object.assign({}, start),
159
- end: Object.assign({}, end),
158
+ start: { ...start },
159
+ end: { ...end },
160
160
  };
161
161
  }
162
162
  //# sourceMappingURL=getFunctionHeadLoc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFunctionHeadLoc.js","sourceRoot":"","sources":["../../src/util/getFunctionHeadLoc.ts"],"names":[],"mappings":";AAAA,uIAAuI;;AAsJvI,gDAoDC;AAvMD,oDAAuE;AAEvE,yCAA+D;AAO/D;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,IAAkB,EAClB,UAA+B;IAE/B,4GAA4G;IAC5G,IACE,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,uBAAuB;QACpD,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACxB,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAW,CAAC,UAAU,CACrC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACxC,mBAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAC1E,CAAC;QACF,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE5D,OAAO,eAAe,IAAI,IAAA,8BAAmB,EAAC,eAAe,CAAC;YAC5D,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IAED,4BAA4B;IAC5B,OAAO,IAAI,CAAC,EAAE,IAAI,IAAI;QACpB,CAAC,CAAC,mBAAW,CAAC,UAAU,CACpB,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,8BAAmB,CAAC,EACtD,mBAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAC7D;QACH,CAAC,CAAC,mBAAW,CAAC,UAAU,CACpB,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,8BAAmB,CAAC,EACnD,mBAAW,CAAC,iBAAiB,CAAC,YAAY,CACxC,qBAAqB,EACrB,UAAU,CACX,CACF,CAAC;AACR,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AACH,SAAgB,kBAAkB,CAChC,IAAkB,EAClB,UAA+B;IAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,KAAK,GAA6B,IAAI,CAAC;IAC3C,IAAI,GAAG,GAA6B,IAAI,CAAC;IAEzC,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,EACjD,CAAC;QACD,sDAAsD;QACtD,0EAA0E;QAC1E,wBAAwB;QACxB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtE,MAAM,wBAAwB,GAAG,mBAAW,CAAC,UAAU,CACrD,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,EACvC,mBAAW,CAAC,iBAAiB,CAAC,YAAY,CACxC,yBAAyB,EACzB,cAAc,CACf,CACF,CAAC;YACF,KAAK,GAAG,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAC3B,CAAC;QACD,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5D,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,QAAQ,EAAE,CAAC;QACnD,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5D,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,uBAAuB,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,mBAAW,CAAC,UAAU,CACvC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAY,CAAC,EAClD,mBAAW,CAAC,iBAAiB,CAAC,YAAY,CACxC,aAAa,EACb,gBAAgB,CACjB,CACF,CAAC;QAEF,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7B,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QACvB,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getFunctionHeadLoc.js","sourceRoot":"","sources":["../../src/util/getFunctionHeadLoc.ts"],"names":[],"mappings":"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"}
@@ -21,23 +21,43 @@ The extended rule is named `return-await` instead of `no-return-await` because t
21
21
  ## Options
22
22
 
23
23
  ```ts
24
- type Options = 'in-try-catch' | 'always' | 'never';
24
+ type Options =
25
+ | 'in-try-catch'
26
+ | 'always'
27
+ | 'error-handling-correctness-only'
28
+ | 'never';
25
29
 
26
30
  const defaultOptions: Options = 'in-try-catch';
27
31
  ```
28
32
 
33
+ The options in this rule distinguish between "ordinary contexts" and "error-handling contexts".
34
+ An error-handling context is anywhere where returning an unawaited promise would cause unexpected control flow regarding exceptions/rejections.
35
+ See detailed examples in the sections for each option.
36
+
37
+ - If you return a promise within a `try` block, it should be awaited in order to trigger subsequent `catch` or `finally` blocks as expected.
38
+ - If you return a promise within a `catch` block, and there _is_ a `finally` block, it should be awaited in order to trigger the `finally` block as expected.
39
+ - If you return a promise between a `using` or `await using` declaration and the end of its scope, it should be awaited, since it behaves equivalently to code wrapped in a `try` block followed by a `finally`.
40
+
41
+ Ordinary contexts are anywhere else a promise may be returned.
42
+ The choice of whether to await a returned promise in an ordinary context is mostly stylistic.
43
+
44
+ With these terms defined, the options may be summarized as follows:
45
+
46
+ | Option | Ordinary Context <br/> (stylistic preference 🎨) | Error-Handling Context <br/> (catches bugs 🐛) | Should I use this option? |
47
+ | :-------------------------------: | :----------------------------------------------: | :----------------------------------------------------------: | :--------------------------------------------------------: |
48
+ | `always` | `return await promise;` | `return await promise;` | ✅ Yes! |
49
+ | `in-try-catch` | `return promise;` | `return await promise;` | ✅ Yes! |
50
+ | `error-handling-correctness-only` | don't care 🤷 | `return await promise;` | 🟡 Okay to use, but the above options would be preferable. |
51
+ | `never` | `return promise;` | `return promise;` <br/> (⚠️ This behavior may be harmful ⚠️) | ❌ No. This option is deprecated. |
52
+
29
53
  ### `in-try-catch`
30
54
 
31
- In cases where returning an unawaited promise would cause unexpected error-handling control flow, the rule enforces that `await` must be used.
32
- Otherwise, the rule enforces that `await` must _not_ be used.
55
+ In error-handling contexts, the rule enforces that returned promises must be awaited.
56
+ In ordinary contexts, the rule enforces that returned promises _must not_ be awaited.
33
57
 
34
- Listing the error-handling cases exhaustively:
58
+ This is a good option if you prefer the shorter `return promise` form for stylistic reasons, wherever it's safe to use.
35
59
 
36
- - if you `return` a promise within a `try`, then it must be `await`ed, since it will always be followed by a `catch` or `finally`.
37
- - if you `return` a promise within a `catch`, and there is _no_ `finally`, then it must _not_ be `await`ed.
38
- - if you `return` a promise within a `catch`, and there _is_ a `finally`, then it _must_ be `await`ed.
39
- - if you `return` a promise within a `finally`, then it must not be `await`ed.
40
- - if you `return` a promise between a `using` or `await using` declaration and the end of its scope, it must be `await`ed, since it behaves equivalently to code wrapped in a `try` block.
60
+ Examples of code with `in-try-catch`:
41
61
 
42
62
  <Tabs>
43
63
  <TabItem value="❌ Incorrect">
@@ -169,7 +189,9 @@ async function validInTryCatch7() {
169
189
 
170
190
  ### `always`
171
191
 
172
- Requires that all returned promises are `await`ed.
192
+ Requires that all returned promises be awaited.
193
+
194
+ This is a good option if you like the consistency of simply always awaiting promises, or prefer not having to consider the distinction between error-handling contexts and ordinary contexts.
173
195
 
174
196
  Examples of code with `always`:
175
197
 
@@ -214,9 +236,49 @@ async function validAlways3() {
214
236
  </TabItem>
215
237
  </Tabs>
216
238
 
239
+ ### `error-handling-correctness-only`
240
+
241
+ In error-handling contexts, the rule enforces that returned promises must be awaited.
242
+ In ordinary contexts, the rule does not enforce any particular behavior around whether returned promises are awaited.
243
+
244
+ This is a good option if you only want to benefit from rule's ability to catch control flow bugs in error-handling contexts, but don't want to enforce a particular style otherwise.
245
+
246
+ :::info
247
+ We recommend you configure either `in-try-catch` or `always` instead of this option.
248
+ While the choice of whether to await promises outside of error-handling contexts is mostly stylistic, it's generally best to be consistent.
249
+ :::
250
+
251
+ Examples of additional correct code with `error-handling-correctness-only`:
252
+
253
+ <Tabs>
254
+ <TabItem value="✅ Correct">
255
+
256
+ ```ts option='"error-handling-correctness-only"'
257
+ async function asyncFunction(): Promise<void> {
258
+ if (Math.random() < 0.5) {
259
+ return await Promise.resolve();
260
+ } else {
261
+ return Promise.resolve();
262
+ }
263
+ }
264
+ ```
265
+
266
+ </TabItem>
267
+ </Tabs>
268
+
217
269
  ### `never`
218
270
 
219
- Disallows all `await`ing any returned promises.
271
+ Disallows awaiting any returned promises.
272
+
273
+ :::warning
274
+
275
+ This option is deprecated and will be removed in a future major version of typescript-eslint.
276
+
277
+ The `never` option introduces undesirable behavior in error-handling contexts.
278
+ If you prefer to minimize returning awaited promises, consider instead using `in-try-catch` instead, which also generally bans returning awaited promises, but only where it is _safe_ not to await a promise.
279
+
280
+ See more details at [typescript-eslint#9433](https://github.com/typescript-eslint/typescript-eslint/issues/9433).
281
+ :::
220
282
 
221
283
  Examples of code with `never`:
222
284