INNER CODE UNIT · TypeScript
addImportStatement
maciejtreder/ng-toolkit · schematics/_utils/index.ts:97
export function addImportStatement(tree: Tree, filePath: string, type: string, file: string): void {
let source = getTsSourceFile(tree, filePath);
const importChange = insertImport(source, filePath, type, file) as InsertChange;
if (!(importChange instanceof NoopChange)) {
const recorder = tree.beginUpdate(filePath);
recorder.insertLeft(importChange.pos, importChange.toAdd);
tree.commitUpdate(recorder);
}
}
export function implementInterface(tree: Tree, filePath: string, interfaceName: string, fileName: string): void {
let results: any = getFileContent(tree, filePath).match(new RegExp("(.*class)\\s*(.*?)\\s*(:?implements\\s*(.*)|){"));
if (results) {
const oldClassDeclaration = results[0];
let interfaces = results[5] || '';
if (interfaces.indexOf(interfaceName) == -1) {
addImportStatement(tree, filePath, interfaceName, fileName);