graphql#Location TypeScript Examples
The following examples show how to use
graphql#Location.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: utils.ts From graphql-eslint with MIT License | 7 votes |
export function extractComments(loc: Location): Comment[] {
if (!loc) {
return [];
}
const comments: Comment[] = [];
let token = loc.startToken;
while (token) {
if (token.kind === TokenKind.COMMENT) {
const comment = convertToken(
token,
// `eslint-disable` directive works only with `Block` type comment
token.value.trimStart().startsWith('eslint') ? 'Block' : 'Line'
);
comments.push(comment);
}
token = token.next;
}
return comments;
}
Example #2
Source File: utils.ts From graphql-eslint with MIT License | 7 votes |
export function convertLocation(location: Location): SourceLocation {
const { startToken, endToken, source, start, end } = location;
/*
* ESLint has 0-based column number
* https://eslint.org/docs/developer-guide/working-with-rules#contextreport
*/
const loc = {
start: {
/*
* Kind.Document has startToken: { line: 0, column: 0 }, we set line as 1 and column as 0
*/
line: startToken.line === 0 ? 1 : startToken.line,
column: startToken.column === 0 ? 0 : startToken.column - 1,
},
end: {
line: endToken.line,
column: endToken.column - 1,
},
source: source.body,
};
if (loc.start.column === loc.end.column) {
loc.end.column += end - start;
}
return loc;
}
Example #3
Source File: generate-query.ts From graphql-query-generator with MIT License | 5 votes |
loc: Location = {
start: 0,
end: 0,
startToken: null,
endToken: null,
source: null
}
Example #4
Source File: graphql.ts From amplify-codegen with Apache License 2.0 | 5 votes |
export function sourceAt(location: Location) {
return location.source.body.slice(location.start, location.end);
}