fable-compiler-netcore
Version:
F# to JavaScript compiler
632 lines (629 loc) • 22.8 kB
text/xml
<doc>
<assembly><name>Fable.Core</name></assembly>
<members>
<member name="T:Fable.AST.ExtendedNumberKind">
<summary>
Numbers that are not represented with JS native number type
</summary>
</member>
<member name="T:Fable.AST.Position">
<summary>
Each Position object consists of a line number (1-indexed) and a column number (0-indexed):
</summary>
</member>
<member name="T:Fable.AST.Babel.ExportAllDeclaration">
<summary>
An export batch declaration, e.g., export * from "mod";.
</summary>
</member>
<member name="T:Fable.AST.Babel.ExportDefaultDeclaration">
<summary>
An export default declaration, e.g., export default function () {}; or export default 1;.
</summary>
</member>
<member name="T:Fable.AST.Babel.ExportNamedDeclaration">
<summary>
An export named declaration, e.g., export {foo, bar};, export {foo} from "mod"; or export var foo = 1;.
Note: Having declaration populated with non-empty specifiers or non-null source results in an invalid state.
</summary>
</member>
<member name="T:Fable.AST.Babel.ExportSpecifier">
<summary>
An exported variable binding, e.g., {foo} in export {foo} or {bar as foo} in export {bar as foo}.
The exported field refers to the name exported in the module.
The local field refers to the binding into the local module scope.
If it is a basic named export, such as in export {foo}, both exported and local are equivalent Identifier nodes;
in this case an Identifier node representing foo. If it is an aliased export, such as in export {bar as foo},
the exported field is an Identifier node representing foo, and the local field is an Identifier node representing bar.
</summary>
</member>
<member name="T:Fable.AST.Babel.ImportDeclaration">
<summary>
e.g., import foo from "mod";.
</summary>
</member>
<member name="T:Fable.AST.Babel.ImportNamespaceSpecifier">
<summary>
A namespace import specifier, e.g., * as foo in import * as foo from "mod".
</summary>
</member>
<member name="T:Fable.AST.Babel.ImportDefaultSpecifier">
<summary>
A default import specifier, e.g., foo in import foo from "mod".
</summary>
</member>
<member name="T:Fable.AST.Babel.ImportSpecifier">
<summary>
An imported variable binding, e.g., {foo} in import {foo} from "mod" or {foo as bar} in import {foo as bar} from "mod".
The imported field refers to the name of the export imported from the module.
The local field refers to the binding imported into the local module scope.
If it is a basic named import, such as in import {foo} from "mod", both imported and local are equivalent Identifier nodes; in this case an Identifier node representing foo.
If it is an aliased import, such as in import {foo as bar} from "mod", the imported field is an Identifier node representing foo, and the local field is an Identifier node representing bar.
</summary>
</member>
<member name="T:Fable.AST.Babel.ModuleSpecifier">
<summary>
A specifier in an import or export declaration.
</summary>
</member>
<member name="T:Fable.AST.Babel.ClassExpression">
<summary>
Anonymous class: e.g., var myClass = class { }
</summary>
</member>
<member name="T:Fable.AST.Babel.ClassProperty">
<summary>
ES Class Fields & Static Properties
https://github.com/jeffmo/es-class-fields-and-static-properties
e.g, class MyClass { static myStaticProp = 5; myProp /* = 10 */; }
</summary>
</member>
<member name="T:Fable.AST.Babel.SequenceExpression">
<summary>
A comma-separated sequence of expressions.
</summary>
</member>
<member name="T:Fable.AST.Babel.CallExpression">
<summary>
A function or method call expression.
</summary>
</member>
<member name="T:Fable.AST.Babel.ConditionalExpression">
<summary>
A conditional expression, i.e., a ternary ?/: expression.
</summary>
</member>
<member name="T:Fable.AST.Babel.MemberExpression">
<summary>
If computed is true, the node corresponds to a computed (a[b]) member expression and property is an Expression.
If computed is false, the node corresponds to a static (a.b) member expression and property is an Identifier.
</summary>
</member>
<member name="T:Fable.AST.Babel.SpreadProperty">
<summary>
e.g., var z = { x: 1, ...y } // Copy all properties from y
</summary>
</member>
<member name="P:Fable.AST.Babel.YieldExpression.delegate">
<summary>
Delegates to another generator? (yield*)
</summary>
</member>
<member name="T:Fable.AST.Babel.DoExpression">
<summary>
e.g., x = do { var t = f(); t * t + 1 };
http://wiki.ecmascript.org/doku.php?id=strawman:do_expressions
Doesn't seem to work well with block-scoped variables (let, const)
</summary>
</member>
<member name="T:Fable.AST.Babel.ArrowFunctionExpression">
<summary>
A fat arrow function expression, e.g., let foo = (bar) => { /* body */ }.
</summary>
</member>
<member name="T:Fable.AST.Babel.Super">
<summary>
A super pseudo-expression.
</summary>
</member>
<member name="T:Fable.AST.Babel.FunctionDeclaration">
<summary>
A function declaration. Note that id cannot be null.
</summary>
</member>
<member name="T:Fable.AST.Babel.ForOfStatement">
<summary>
When passing a VariableDeclaration, the bound value must go through
the `right` parameter instead of `init` property in VariableDeclarator
</summary>
</member>
<member name="T:Fable.AST.Babel.ForInStatement">
<summary>
When passing a VariableDeclaration, the bound value must go through
the `right` parameter instead of `init` property in VariableDeclarator
</summary>
</member>
<member name="T:Fable.AST.Babel.TryStatement">
<summary>
If handler is null then finalizer must be a BlockStatement.
</summary>
</member>
<member name="T:Fable.AST.Babel.CatchClause">
<summary>
A catch clause following a try block.
</summary>
</member>
<member name="T:Fable.AST.Babel.SwitchCase">
<summary>
A case (if test is an Expression) or default (if test === null) clause in the body of a switch statement.
</summary>
</member>
<member name="T:Fable.AST.Babel.ContinueStatement">
<summary>
Contineu can optionally take a label of a loop to continuue
</summary>
</member>
<member name="T:Fable.AST.Babel.BreakStatement">
<summary>
Break can optionally take a label of a loop to break
</summary>
</member>
<member name="T:Fable.AST.Babel.LabeledStatement">
<summary>
Statement (typically loop) prefixed with a label (for continuue and break)
</summary>
</member>
<member name="T:Fable.AST.Babel.EmptyStatement">
<summary>
An empty statement, i.e., a solitary semicolon.
</summary>
</member>
<member name="T:Fable.AST.Babel.BlockStatement">
<summary>
A block statement, i.e., a sequence of statements surrounded by braces.
</summary>
</member>
<member name="T:Fable.AST.Babel.ExpressionStatement">
<summary>
An expression statement, i.e., a statement consisting of a single expression.
</summary>
</member>
<member name="T:Fable.AST.Babel.Program">
<summary>
A complete program source tree.
Parsers must specify sourceType as "module" if the source has been parsed as an ES6 module.
Otherwise, sourceType must be "script".
</summary>
</member>
<member name="T:Fable.AST.Babel.Directive">
<summary>
e.g. "use strict";
</summary>
</member>
<member name="T:Fable.AST.Babel.Identifier">
<summary>
Note that an identifier may be an expression or a destructuring pattern.
</summary>
</member>
<member name="T:Fable.AST.Babel.MacroExpression">
<summary>
Not in Babel specs, disguised as StringLiteral
</summary>
</member>
<member name="T:Fable.AST.Babel.EmptyExpression">
<summary>
Placeholder, doesn't belong to Babel specs
</summary>
</member>
<member name="T:Fable.AST.Babel.ModuleDeclaration">
<summary>
A module import or export declaration.
</summary>
</member>
<member name="T:Fable.AST.Babel.Declaration">
<summary>
Note that declarations are considered statements; this is because declarations can appear in any statement context.
</summary>
</member>
<member name="T:Fable.AST.Babel.Expression">
<summary>
Since the left-hand side of an assignment may be any expression in general, an expression can also be a pattern.
</summary>
</member>
<member name="T:Fable.AST.Babel.Node">
<summary>
The type field is a string representing the AST variant type.
Each subtype of Node is documented below with the specific string of its type field.
You can use this field to determine which interface a node implements.
The loc field represents the source location information of the node.
If the node contains no information about the source location, the field is null;
otherwise it is an object consisting of a start position (the position of the first character of the parsed source region)
and an end position (the position of the first character after the parsed source region):
</summary>
</member>
<member name="P:Fable.AST.Fable.ApplyInfo.lambdaArgArity">
<summary>
If the method accepts a lambda as first argument, indicates its arity
</summary>
</member>
<member name="P:Fable.AST.Fable.ApplyInfo.ownerFullName">
<summary>
Sometimes Fable.Type may differ from original F# name (e.g. System.Object -> Fable.Any).
This field keeps the original name.
</summary>
</member>
<member name="T:Fable.AST.Fable.Declaration.EntityDeclaration">
<summary>
Module members are also declared as variables, so they need
a private name that doesn't conflict with enclosing scope (see #130)
</summary>
</member>
<member name="M:Fable.AST.Fable.Entity.TryGetFullDecorator(System.String)">
<summary>
Finds decorator by full name
</summary>
</member>
<member name="M:Fable.AST.Fable.Entity.TryGetDecorator(System.String)">
<summary>
Finds decorator by name
</summary>
</member>
<member name="T:Fable.AST.Fable.ValueKind.Lambda">
<summary>
isArrow: Arrow functions capture the enclosing `this` in JS
</summary>
</member>
<member name="M:Fable.AST.Fable.Util.compareConcreteAndGenericTypes(Microsoft.FSharp.Collections.FSharpList{Fable.AST.Fable.Type},Microsoft.FSharp.Collections.FSharpList{Fable.AST.Fable.Type})">
<summary>
Helper when we need to compare the types of the arguments applied to a method
(concrete) with the declared argument types for that method (may be generic)
(e.g. when resolving a TraitCall)
</summary>
</member>
<member name="M:Fable.AST.Fable.Util.makeApply(Microsoft.FSharp.Core.FSharpOption{Fable.AST.SourceLocation},Fable.AST.Fable.Type,Fable.AST.Fable.Expr,Microsoft.FSharp.Collections.FSharpList{Fable.AST.Fable.Expr})">
<summary>
Checks if an F# let binding is being applied and
applies arguments as for a curried function
</summary>
</member>
<member name="M:Fable.AST.Fable.Util.tryImported``1(System.Lazy{System.String},``0)">
<summary>
Ignores relative imports (e.g. `[<Import("foo","./lib.js")>]`)
</summary>
</member>
<member name="T:Fable.Core.Applicable">
<summary>
DO NOT USE: Internal type for Fable dynamic operations
</summary>
</member>
<member name="T:Fable.Core.EmitAttribute">
<summary>
Function calls will be replaced by inlined JS code.
More info: http://fable.io/docs/interacting.html#Import-attribute
</summary>
</member>
<member name="T:Fable.Core.EraseAttribute">
<summary>
Used for erased union types and to ignore modules in JS compilation.
More info: http://fable.io/docs/interacting.html#Erase-attribute
</summary>
</member>
<member name="T:Fable.Core.GlobalAttribute">
<summary>
The module, type, function... is globally accessible in JS.
More info: http://fable.io/docs/interacting.html#Import-attribute
</summary>
</member>
<member name="T:Fable.Core.ImportAttribute">
<summary>
References to the module, type, function... will be replaced by import statements.
Use `[<Import("default", "my-package")>] to import the default member.
Use `[<Import("*", "my-package")>] to import the whole package.
More info: http://fable.io/docs/interacting.html#Import-attribute
</summary>
</member>
<member name="T:Fable.Core.KeyValueListAttribute">
<summary>
Compile union case lists as JS object literals.
More info: http://fable.io/docs/interacting.html#KeyValueList-attribute
</summary>
</member>
<member name="T:Fable.Core.MutatingUpdateAttribute">
<summary>
[EXPERIMENTAL] Record updates will be compiled as mutations: { x with a = 5 }
Fable will fail if the original value is used after being updated or passed to a function.
More info: http://fable.io/docs/interacting.html#MutatingUpdate-attribute
</summary>
</member>
<member name="T:Fable.Core.PassGenericsAttribute">
<summary>
When this is attached to a method, Fable will add the generic info
as an extra argument to every call, making it possible to access
a type 'T with `typeof<'T>` within the method body
</summary>
</member>
<member name="T:Fable.Core.PojoAttribute">
<summary>
Compile a record as a JS object literals.
More info: http://fable.io/docs/interacting.html
</summary>
</member>
<member name="T:Fable.Core.StringEnumAttribute">
<summary>
Compile union types as string literals.
More info: http://fable.io/docs/interacting.html#StringEnum-attribute
</summary>
</member>
<member name="T:Fable.Core.U2`2">
<summary>
Erased union type to represent one of two possible values.
More info: http://fable.io/docs/interacting.html#Erase-attribute
</summary>
</member>
<member name="T:Fable.Core.U3`3">
<summary>
Erased union type to represent one of three possible values.
More info: http://fable.io/docs/interacting.html#Erase-attribute
</summary>
</member>
<member name="T:Fable.Core.U4`4">
<summary>
Erased union type to represent one of four possible values.
More info: http://fable.io/docs/interacting.html#Erase-attribute
</summary>
</member>
<member name="T:Fable.Core.U5`5">
<summary>
Erased union type to represent one of five possible values.
More info: http://fable.io/docs/interacting.html#Erase-attribute
</summary>
</member>
<member name="T:Fable.Core.U6`6">
<summary>
Erased union type to represent one of six possible values.
More info: http://fable.io/docs/interacting.html#Erase-attribute
</summary>
</member>
<member name="M:Fable.Core.Exceptions.jsNative``1">
<summary>
Used to indicate that a member is only implemented in native Javascript
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsFunc6`7">
<summary>
Same as `System.Func<'Arg1,'Arg2,'Arg3,'Arg4,'Arg5,'Arg6,'Out>`
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsFunc5`6">
<summary>
Same as `System.Func<'Arg1,'Arg2,'Arg3,'Arg4,'Arg5,'Out>`
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsFunc4`5">
<summary>
Same as `System.Func<'Arg1,'Arg2,'Arg3,'Arg4,'Out>`
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsFunc3`4">
<summary>
Same as `System.Func<'Arg1,'Arg2,'Arg3,'Out>`
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsFunc2`3">
<summary>
Same as `System.Func<'Arg1,'Arg2,'Out>`
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsFunc1`2">
<summary>
Same as `System.Func<'Arg1,'Out>`
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsFunc0`1">
<summary>
Same as `System.Func<unit,'Out>`
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsFunc">
<summary>
Use it to cast dynamic functions coming from JS. If you know the argument
and return types, use `System.Func<>` instead. If you need a constructor
(must be applied with `new` keyword), use `JsConstructor`.
## Sample
let f: JsFunc = import "myFunction" "./myLib"
f.Invoke(5, "bar")
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsConstructor`7">
<summary>
Use it when importing a constructor from a JS library.
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsConstructor`6">
<summary>
Use it when importing a constructor from a JS library.
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsConstructor`5">
<summary>
Use it when importing a constructor from a JS library.
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsConstructor`4">
<summary>
Use it when importing a constructor from a JS library.
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsConstructor`3">
<summary>
Use it when importing a constructor from a JS library.
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsConstructor`2">
<summary>
Use it when importing a constructor from a JS library.
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsConstructor`1">
<summary>
Use it when importing a constructor from a JS library.
</summary>
</member>
<member name="T:Fable.Core.JsInterop.JsConstructor">
<summary>
Use it when importing a constructor from a JS library.
</summary>
</member>
<member name="M:Fable.Core.JsInterop.jsThis``1">
<summary>
Compiles to JS `this` keyword. Can only be used within a delegate.
## Sample
let fn = JsFunc2(fun x y -> jsThis?add(x, y))
</summary>
</member>
<member name="M:Fable.Core.JsInterop.inflate``1(System.Object)">
<summary>
Converts a plain JS object (POJO) to an instance of the specified type.
This is only intended if you're using a custom serialization method
(that must produce same objects as `toJson`) instead of `ofJson`.
</summary>
</member>
<member name="M:Fable.Core.JsInterop.ofJsonWithTypeInfo``1(System.String)">
<summary>
Instantiate F# objects from JSON containing $type info
</summary>
</member>
<member name="M:Fable.Core.JsInterop.toJsonWithTypeInfo``1(``0)">
<summary>
Serialize F# objects to JSON adding $type info
</summary>
</member>
<member name="M:Fable.Core.JsInterop.ofJson``1(System.String)">
<summary>
Instantiate F# objects from JSON
</summary>
</member>
<member name="M:Fable.Core.JsInterop.toJson``1(``0)">
<summary>
Serialize F# objects to JSON
</summary>
</member>
<member name="M:Fable.Core.JsInterop.toPlainJsObj``1(``0)">
<summary>
Convert F# unions, records and classes into plain JS objects
DEPRECATED: Use a Pojo record or union
</summary>
</member>
<member name="M:Fable.Core.JsInterop.importAll``1(System.String)">
<summary>
F#: let myLib = importAll<obj> "myLib"
JS: import * as myLib from "myLib"
</summary>
</member>
<member name="M:Fable.Core.JsInterop.importDefault``1(System.String)">
<summary>
F#: let defaultMember = importDefault<unit->obj> "myModule"
JS: import defaultMember from "myModule"
</summary>
</member>
<member name="M:Fable.Core.JsInterop.importMember``1(System.String)">
<summary>
F#: let myMember = importMember<string> "myModule"
JS: import { myMember } from "myModule"
Note the import must be immediately assigned to a value in a let binding
</summary>
</member>
<member name="M:Fable.Core.JsInterop.import``1(System.String,System.String)">
<summary>
Works like `ImportAttribute` (same semantics as ES6 imports).
You can use "*" or "default" selectors.
</summary>
</member>
<member name="M:Fable.Core.JsInterop.createEmpty``1">
<summary>
Create an empty JS object: {}
</summary>
</member>
<member name="M:Fable.Core.JsInterop.createObj``1(``0)">
<summary>
Create a literal JS object from a collection of key-value tuples.
E.g. `createObj [ "a" ==> 5 ]` in JS becomes `{ a: 5 }`
</summary>
</member>
<member name="M:Fable.Core.JsInterop.createNew(System.Object,System.Object)">
<summary>
Destructure and apply a tuple to an arbitrary value with `new` keyword.
E.g. `createNew myCons (arg1, arg2)` in JS becomes `new myCons(arg1, arg2)`
</summary>
</member>
<member name="M:Fable.Core.JsInterop.op_EqualsEqualsGreater(System.String,System.Object)">
<summary>
Upcast the right operand to obj and create a key-value tuple.
Mostly convenient when used with `createObj`.
E.g. `createObj [ "a" ==> 5 ]` in JS becomes `{ a: 5 }`
</summary>
</member>
<member name="M:Fable.Core.JsInterop.op_Dollar(System.Object,System.Object)">
<summary>
Destructure and apply a tuple to an arbitrary value.
E.g. `myFn $ (arg1, arg2)` in JS becomes `myFn(arg1, arg2)`
</summary>
</member>
<member name="M:Fable.Core.JsInterop.op_DynamicAssignment(System.Object,System.Object,System.Object)">
<summary>
Dynamically assign a value to a property of an arbitrary object.
`myObj?propA <- 5` in JS becomes `myObj.propA = 5`
`myObj?(propA) <- 5` in JS becomes `myObj[propA] = 5`
</summary>
</member>
<member name="M:Fable.Core.JsInterop.op_Dynamic(System.Object,System.Object)">
<summary>
Dynamically access a property of an arbitrary object.
`myObj?propA` in JS becomes `myObj.propA`
`myObj?(propA)` in JS becomes `myObj[propA]`
</summary>
</member>
<member name="M:Fable.Core.JsInterop.op_BangBang``2(``0)">
<summary>
Has same effect as `unbox` (dynamic casting erased in compiled JS code).
The casted type can be defined on the call site: `!!myObj?bar(5): float`
</summary>
</member>
<member name="P:Fable.Naming.genericPlaceholderRegex">
<summary>
Matches placeholders for generics in an Emit macro
like `React.createElement($'T, $0, $1)`
</summary>
</member>
<member name="P:Fable.Naming.ignoredCompilerGenerated">
<summary>
Methods automatically assigned by the F# compiler
for unions and records. Ignored by Fable.
</summary>
</member>
<member name="P:Fable.Naming.ignoredInterfaces">
<summary>
Interfaces automatically assigned by the F# compiler
to unions and records. Ignored by Fable.
</summary>
</member>
<member name="P:Fable.Naming.replacedInterfaces">
<summary>
Calls to methods of these interfaces will be replaced
</summary>
</member>
<member name="P:Fable.Naming.targetFileExtension">
<summary>
This is null to keep compatibility with Require.js
(which expects paths not to have extensions), in the
future this will probably be changed to ".js"
</summary>
</member>
<member name="M:Fable.Path.getRelativeFileOrDirPath(System.Boolean,System.String,System.Boolean,System.String)">
<summary>
Creates a relative path from one file or folder to another.
</summary>
</member>
</members>
</doc>