Полагаю, мы могли бы реализовать это, но он еще не превратился в генератор интерфейсов. На данный момент вы можете сделать:
let TreeParameter =
let self = Type.New()
Pattern.Config "TreeParameter" {
Required =
[
"Type", T<string>
"Label", T<string>
"Expanded", T<bool>
"Children", Type.ArrayOf self
]
Optional = []
}
|=> self
С точки зрения F # сгенерированный тип будет выглядеть так:
type TreeParameter(t: string, l: string, e: bool, c: TreeParameter[]) =
member this.Type = t
member this.Label = l
member this.Expanded = e
member this.Children = c
С точки зрения JavaScript, значения будут выглядеть так:
{Type:t,Label:l,Expanded:e,Children:c}
По сути это похоже на запись без использования синтаксиса записи и функционального расширения.