📄 checkNullishAndReport.ts¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 1 |
| 📦 Imports | 8 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/eslint-plugin/src/rules/prefer-optional-chain-utils/checkNullishAndReport.ts
📦 Imports¶
| Name | Source |
|---|---|
ParserServicesWithTypeInformation |
@typescript-eslint/utils |
TSESTree |
@typescript-eslint/utils |
ReportDescriptor |
@typescript-eslint/utils/ts-eslint |
RuleContext |
@typescript-eslint/utils/ts-eslint |
isTypeFlagSet |
@typescript-eslint/type-utils |
unionConstituents |
ts-api-utils |
PreferOptionalChainMessageIds |
./PreferOptionalChainOptions |
PreferOptionalChainOptions |
./PreferOptionalChainOptions |
Functions¶
`checkNullishAndReport(context: RuleContext<¶
PreferOptionalChainMessageIds,
[PreferOptionalChainOptions]
, parserServices: ParserServicesWithTypeInformation, { requireNullish }: PreferOptionalChainOptions, maybeNullishNodes: TSESTree.Expression[], descriptor: ReportDescriptor
): void`
Code
export function checkNullishAndReport(
context: RuleContext<
PreferOptionalChainMessageIds,
[PreferOptionalChainOptions]
>,
parserServices: ParserServicesWithTypeInformation,
{ requireNullish }: PreferOptionalChainOptions,
maybeNullishNodes: TSESTree.Expression[],
descriptor: ReportDescriptor<PreferOptionalChainMessageIds>,
): void {
if (
!requireNullish ||
maybeNullishNodes.some(node =>
unionConstituents(parserServices.getTypeAtLocation(node)).some(t =>
isTypeFlagSet(t, ts.TypeFlags.Null | ts.TypeFlags.Undefined),
),
)
) {
context.report(descriptor);
}
}
- Parameters:
- `context: RuleContext<
PreferOptionalChainMessageIds,
[PreferOptionalChainOptions]
`
parserServices: ParserServicesWithTypeInformation{ requireNullish }: PreferOptionalChainOptionsmaybeNullishNodes: TSESTree.Expression[]descriptor: ReportDescriptor<PreferOptionalChainMessageIds>- Return Type:
void - Calls:
maybeNullishNodes.someunionConstituents(parserServices.getTypeAtLocation(node)).someisTypeFlagSet (from @typescript-eslint/type-utils)context.report