-
Notifications
You must be signed in to change notification settings - Fork 13k
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issueHelp WantedYou can do thisYou can do this
Milestone
Description
TypeScript Version: 2.3.2
Code
// A *self-contained* demonstration of the problem follows...
// There doesn't seem to be an API to create an Interface in the AST programmatically
const _implementsClause = ts.createHeritageClause(ts.SyntaxKind.ImplementsKeyword, [
ts.createExpressionWithTypeArguments([], ts.createIdentifier('MyInterface'))
]);
const _exportModifier = ts.createToken(ts.SyntaxKind.ExportKeyword);
const _classExpression = ts.createClassExpression([_exportModifier], 'MyClass', [], [_implementsClause], []);
const _classStatement = ts.createStatement(_classExpression);
let src = ts.createSourceFile('output.ts', '', ts.ScriptTarget.ES5, false, ts.ScriptKind.TS);
src = ts.updateSourceFileNode(src, [_classStatement]);
Expected behavior:
There should be an API for creating an Interface definition in a synthetic AST.
Actual behavior:
Doesn't seem like the API exists.
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issueHelp WantedYou can do thisYou can do this