core
core copied to clipboard
WebSharper - Full-stack, functional, reactive web apps and microservices in F# and C#
[Failing test](https://github.com/intellifactory/websharper/blob/6d313843f161a5c1fd56af3f9e75ea184adf9acd/tests/WebSharper.Tests/Inheritance.fs#L67) This is what the above translates to (stripped to show the issue): ```typescript class ClassA { Z(x?:T0):T0 { return; } } class ClassB extends ClassA { Z(x?:T0):T0 {...
- [x] While being inside namespace `A`, shorten a name like `A.B` to `B`. - [ ] If a `B` also exists as a global type/value, it is shadowed by...
TS infers the parameters from the arguments, but it doesn't always infer the right type. For example `new FSharpSet(0, null)` (which is what `Set.empty` compiles to) is always inferred to...
We have "dotted" operators that inline to plain JS operators for all operators except these two. The main reason to use them would be to use their short-circuiting property for...
Persist types of local variables to translate to TypeScript. Only include them if they have to be declared in undefined state, a `let x = value` is able to set...
Currently `this.X with get() = x` translates to `get_X() { return this.x }`. Use TS accessor syntax instead for non-indexed .NET properties: `get X() { return this.X}`, similarly for setters.
Main challenge of TypeScript annotations is that there is no type inference like F# (constraint solving), only type checking. So if there is an uninitialized variable like `var x;`, it...
Part of #820 In WebSharper 4.0, delegates translate to JS funcions, with a few extra fields: `$Func` for the non-bound version, and `$Target` for the target object. Multi-cast delegates have...
F# ```fsharp let (a, b, _, _) = t ``` and C# ```csharp var (a, b, _, _) = t; ``` tuple deconstruction should both translate to nice TypeScript array...
Right now each referenced library is extracted into its own folder, which means that TypeScript's `///` can't find the required file. Contrast with normal Sitelets, where all WebSharper files are...