Value Bindings
Constructors
Constructors |
Description |
---|---|
Value(name: string, value: string) |
Creates a value binding with name and value, and optionally specifies if the value should be quoted. |
Value(name: string, value: WidgetBuilder |
Creates a value binding with name and value expression. |
Value(name: WidgetBuilder |
Creates a value binding with name pattern and value expression. |
Value(name: WidgetBuilder |
Creates a value binding with name pattern and value expression, and optionally specifies if the value should be quoted. |
Properties
Properties |
Description |
---|---|
xmlDocs(xmlDocs: string list) |
Adds XML documentation to the value binding. |
attributes(attributes: WidgetBuilder |
Adds attributes of the value binding. |
attributes(attributes: string list) |
Adds attributes to the value binding. |
attribute(attribute: WidgetBuilder |
Adds an attribute to the value binding. |
attribute(attribute: string) |
Adds an attribute to the value binding. |
toPrivate() |
Makes the value binding private. |
toInternal() |
Makes the value binding internal. |
toPublic() |
Makes the value binding public. |
returnType(returnType: WidgetBuilder |
Sets the return type of the value binding. |
returnType(returnType: string) |
Sets the return type of the value binding. |
toMutable() |
Makes the value binding mutable. |
toInlined() |
Makes the value binding inlined. |
toStatic() |
Makes the value binding static. |
hasQuotes() |
Specifies if the value should be quoted. |
typeParameters(typeParams: string list) |
Adds type parameters to the value binding. |
Usage
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.Core.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fabulous.AST.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.Core.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.FCS.dll"
open Fabulous.AST
open Fantomas.Core
open type Fabulous.AST.Ast
Oak() {
AnonymousModule() {
Value("value", String "12")
Value("value1", "12")
Value(
"value3",
IfThenElseExpr(
InfixAppExpr(ConstantExpr("0"), "=", ConstantExpr(Constant("12"))),
ConstantExpr(ConstantUnit()),
ConstantExpr(ConstantUnit())
)
)
Value(
NamedPat("value4"),
IfThenElseExpr(
InfixAppExpr(ConstantExpr("0"), "=", ConstantExpr(Constant("12"))),
ConstantExpr(ConstantUnit()),
ConstantExpr(ConstantUnit())
)
)
Value(NamedPat("value5"), String "12")
Value(NamedPat("value6"), "12")
Value("value7", String "12").typeParams (PostfixList([ "'a" ]))
Value("value8", ConstantExpr(String "12")).typeParams (PostfixList([ "'a" ]))
Value(NamedPat("value9"), ConstantExpr(String "12"))
.typeParams (PostfixList([ "'a" ]))
Value("value10", "12").returnType (Int())
Value("value11", "12").returnType(Int()).toPrivate ()
Value("value12", String "12").attribute (Attribute "Literal")
Value("value13", "12").returnType(Int()).toMutable ()
}
}
|> Gen.mkOak
|> CodeFormatter.FormatOakAsync
|> Async.RunSynchronously
|> printfn "%s"
Will output the following code:
let value = "12"
let value1 = 12
let value3 = if 0 = 12 then () else ()
let value4 = if 0 = 12 then () else ()
let value5 = "12"
let value6 = 12
let value7<'a> = "12"
let value8<'a> = "12"
let value9<'a> = "12"
let value10: int = 12
let private value11: int = 12
[<Literal>]
let value12 = "12"
let mutable value13: int = 12
static member Ast.Oak: unit -> CollectionBuilder<SyntaxOak.Oak,SyntaxOak.ModuleOrNamespaceNode>
--------------------
module Oak from Fabulous.AST
static member Ast.Value: name: string * value: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Value: name: string * value: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Value: name: WidgetBuilder<SyntaxOak.Constant> * value: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Value: name: WidgetBuilder<SyntaxOak.Pattern> * value: string -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Value: name: WidgetBuilder<SyntaxOak.Pattern> * value: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.Value: name: WidgetBuilder<SyntaxOak.Pattern> * value: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.BindingNode>
static member Ast.String: value: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Constant>
static member Ast.String: value: string -> WidgetBuilder<SyntaxOak.Constant>
static member Ast.String: unit -> WidgetBuilder<SyntaxOak.Type>
--------------------
module String from Fantomas.Core
--------------------
module String from Microsoft.FSharp.Core
static member Ast.IfThenElseExpr: ifExpr: string * thenExpr: string * elseExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.IfThenElseExpr: ifExpr: string * thenExpr: WidgetBuilder<SyntaxOak.Constant> * elseExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.IfThenElseExpr: ifExpr: string * thenExpr: WidgetBuilder<SyntaxOak.Constant> * elseExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.IfThenElseExpr: ifExpr: string * thenExpr: string * elseExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.IfThenElseExpr: ifExpr: WidgetBuilder<SyntaxOak.Constant> * thenExpr: WidgetBuilder<SyntaxOak.Constant> * elseExpr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.IfThenElseExpr: ifExpr: WidgetBuilder<SyntaxOak.Constant> * thenExpr: WidgetBuilder<SyntaxOak.Constant> * elseExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.IfThenElseExpr: ifExpr: string * thenExpr: WidgetBuilder<SyntaxOak.Expr> * elseExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.IfThenElseExpr: ifExpr: WidgetBuilder<SyntaxOak.Constant> * thenExpr: WidgetBuilder<SyntaxOak.Expr> * elseExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.IfThenElseExpr: ifExpr: WidgetBuilder<SyntaxOak.Expr> * thenExpr: WidgetBuilder<SyntaxOak.Expr> * elseExpr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: string * operator: string * rhs: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<SyntaxOak.Constant> * operator: string * rhs: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: string * operator: string * rhs: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<SyntaxOak.Constant> * operator: string * rhs: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<SyntaxOak.Expr> * operator: string * rhs: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.ConstantExpr: value: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.Expr>
static member Ast.Constant: value: string -> WidgetBuilder<SyntaxOak.Constant>
--------------------
module Constant from Fabulous.AST
static member Ast.ConstantUnit: unit -> WidgetBuilder<SyntaxOak.Constant>
--------------------
module ConstantUnit from Fabulous.AST
static member Ast.PostfixList: decls: WidgetBuilder<SyntaxOak.TyparDeclNode> * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: constraints: WidgetBuilder<SyntaxOak.TypeConstraint> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: constraints: WidgetBuilder<SyntaxOak.TypeConstraint> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decl: string -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decl: WidgetBuilder<SyntaxOak.TyparDeclNode> -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: string list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: WidgetBuilder<SyntaxOak.TyparDeclNode> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: string list * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.PostfixList: decls: WidgetBuilder<SyntaxOak.TyparDeclNode> list * constraints: WidgetBuilder<SyntaxOak.TypeConstraint> list -> WidgetBuilder<SyntaxOak.TyparDecls>
static member Ast.Int: unit -> WidgetBuilder<SyntaxOak.Type>
static member Ast.Attribute: value: string * expr: WidgetBuilder<SyntaxOak.Constant> -> WidgetBuilder<SyntaxOak.AttributeNode>
static member Ast.Attribute: value: string * expr: WidgetBuilder<SyntaxOak.Expr> -> WidgetBuilder<SyntaxOak.AttributeNode>
static member Ast.Attribute: value: string -> WidgetBuilder<SyntaxOak.AttributeNode>
<summary> It takes the root of the widget tree and create the corresponding Fantomas node, and recursively creating all children nodes </summary>
static member CodeFormatter.FormatOakAsync: oak: SyntaxOak.Oak * config: FormatConfig -> Async<string>
module Async from Fantomas.Core
--------------------
type Async = static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> static member CancelDefaultToken: unit -> unit static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> static member Choice: computations: Async<'T option> seq -> Async<'T option> static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> ...
--------------------
type Async<'T>
val int: value: 'T -> int (requires member op_Explicit)
--------------------
type int = int32
--------------------
type int<'Measure> = int
type LiteralAttribute = inherit Attribute new: unit -> LiteralAttribute
--------------------
new: unit -> LiteralAttribute