export function convertNode()

in lib/json/conversions.ts [61:90]


export function convertNode(node: ts.Node): Node|undefined {
  if (ts.isImportDeclaration(node)) {
    return new ImportDeclaration(node);
  } else if (ts.isExportDeclaration(node)) {
    return new ExportDeclaration(node);
  } else if (ts.isExportAssignment(node)) {
    return new ExportAssignment(node);
  } else if (ts.isModuleDeclaration(node)) {
    return new ModuleDeclaration(node);
  } else if (ts.isVariableDeclaration(node)) {
    return new VariableDeclaration(node);
  } else if (ts.isVariableStatement(node)) {
    return new VariableStatement(node);
  } else if (ts.isFunctionDeclaration(node)) {
    return new FunctionDeclaration(node);
  } else if (ts.isClassLike(node)) {
    return new ClassDeclaration(node);
  } else if (ts.isInterfaceDeclaration(node)) {
    return new InterfaceDeclaration(node);
  } else if (ts.isTypeAliasDeclaration(node)) {
    return new TypeAliasDeclaration(node);
  } else if (node.kind === ts.SyntaxKind.EndOfFileToken) {
    // no-op
    return undefined;
  } else {
    const error = new Error(`Unexpected Node kind ${ts.SyntaxKind[node.kind]}`);
    error.name = 'DartFacadeError';
    throw error;
  }
}