Skip to content

Commit 04bb287

Browse files
committed
Merge pull request #79 from Microsoft/AddExtends
Add support for extends
2 parents 9f70156 + fc15b64 commit 04bb287

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

Shared.fsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ module JsonItems =
6969
| Indexer
7070
| SignatureOverload
7171
| TypeDef
72+
| Extends
7273
override x.ToString() = (unionToString x).ToLower()
7374

7475
let findItem (allItems: ItemsType.Root []) (itemName: string) (kind: ItemKind) otherFilter =

TS.fsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,8 +381,15 @@ let EmitNamedConstructors () =
381381

382382
let EmitInterfaceDeclaration (i:Browser.Interface) =
383383
Pt.printl "interface %s" i.Name
384-
match i.Extends::(List.ofArray i.Implements) with
385-
| [""] | [] | ["Object"] -> ()
384+
let extendsFromSpec =
385+
match i.Extends::(List.ofArray i.Implements) with
386+
| [""] | [] | ["Object"] -> []
387+
| specExtends -> specExtends
388+
let extendsFromJson =
389+
JsonItems.getAddedItemsByInterfaceName ItemKind.Extends Flavor.All i.Name
390+
|> Array.map (fun e -> e.BaseInterface.Value) |> List.ofArray
391+
match List.concat [extendsFromSpec; extendsFromJson] with
392+
| [] -> ()
386393
| allExtends -> Pt.print " extends %s" (String.Join(", ", allExtends))
387394
Pt.print " {"
388395

inputfiles/sample.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,5 +330,10 @@
330330
"kind": "typedef",
331331
"name": "IDBValidKey",
332332
"type": "number | string | Date | IDBArrayKey"
333+
},
334+
{
335+
"kind": "extends",
336+
"baseInterface": "ParentNode",
337+
"interface": "Document"
333338
}
334339
]

0 commit comments

Comments
 (0)