fix: correct the return type of applyInlineConfig
#162
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Prerequisites checklist
What is the purpose of this pull request?
Which language are you using?
JSONC and JSON5
What did you do?
I expected the return type of
applyInlineConfig().configs
— specificallyloc.start
andloc.end
— to include anoffset
property, but they don't.What did you expect to happen?
I expect the types of
loc.start
andloc.end
to include anoffset
property.Link to minimal reproducible Example
If you run the code above, you'll see that
jsonSourceCode.applyInlineConfig().configs[0].loc.start
andjsonSourceCode.applyInlineConfig().configs[0].loc.end
include anoffset
property. However, the return type doesn't reflect thatoffset
property.# Output { start: { line: 1, column: 1, offset: 0 }, end: { line: 1, column: 45, offset: 44 } }
What changes did you make? (Give an overview)
Looking at the origin of the
loc
property returned byapplyInlineConfig
, you'll find that it directly uses thecomment.loc
.json/src/languages/json-source-code.js
Line 273 in b1b5743
The
comment.loc
property uses theJSONSyntaxElement['loc']
(LocationRange
) type from@humanwhocodes/momoa
as shown below, so technically it doesn’t match theSourceLocation
type.JSONSyntaxElement['loc']
(LocationRange
)SourceLocation
To provide a more accurate return type, I've replaced the
SourceLocation
type with theJSONSyntaxElement['loc']
(LocationRange
) type from@humanwhocodes/momoa
.Related Issues
Ref: eslint/markdown#548, eslint/css#281
Is there anything you'd like reviewers to focus on?
N/A