scripts/generateFiles.ts in language_server-protocol-0.3.0 vs scripts/generateFiles.ts in language_server-protocol-0.4.0

- old
+ new

@@ -57,14 +57,18 @@ }; } const handleInterface = (node: ts.InterfaceDeclaration) => { const members = node.members.filter(member => member.name).map(member => serialize(member)); + const parentName = node.heritageClauses && node.heritageClauses[0].getLastToken().getText(); + const parent = output.find(i => i.interface && (i.interface.name === parentName)); output.push( { interface: serialize(node), + parent: parent, + allMembers: ((parent && parent.allMembers) || []).concat(members), members } ); } @@ -146,11 +150,11 @@ {{#if definition.interface.documentation}} # {{comment definition.interface.documentation indent=6}} # {{/if}} - class {{definition.interface.name}} - def initialize({{params definition.members}}) + class {{definition.interface.name}}{{#if definition.parent}} < {{definition.parent.interface.name}}{{/if}} + def initialize({{params definition.allMembers}}) @attributes = {} {{#each definition.members}} @attributes[:{{name}}] = {{local_var name}}{{#if optional}} if {{local_var name}}{{/if}} {{/each}}