28 lines
843 B
TypeScript
28 lines
843 B
TypeScript
|
/**
|
||
|
* @license
|
||
|
* Copyright Google LLC All Rights Reserved.
|
||
|
*
|
||
|
* Use of this source code is governed by an MIT-style license that can be
|
||
|
* found in the LICENSE file at https://angular.io/license
|
||
|
*/
|
||
|
|
||
|
import {MockService} from './mock_host';
|
||
|
|
||
|
export interface HumanizedDefinitionInfo {
|
||
|
fileName: string;
|
||
|
textSpan: string;
|
||
|
contextSpan: string|undefined;
|
||
|
}
|
||
|
|
||
|
export function humanizeDefinitionInfo(
|
||
|
def: ts.DefinitionInfo, service: MockService): HumanizedDefinitionInfo {
|
||
|
const snapshot = service.getScriptInfo(def.fileName).getSnapshot();
|
||
|
return {
|
||
|
fileName: def.fileName,
|
||
|
textSpan: snapshot.getText(def.textSpan.start, def.textSpan.start + def.textSpan.length),
|
||
|
contextSpan: def.contextSpan ?
|
||
|
snapshot.getText(def.contextSpan.start, def.contextSpan.start + def.contextSpan.length) :
|
||
|
undefined,
|
||
|
};
|
||
|
}
|