fable-compiler/ts2fable

Exactly two top level variables produce no output

Booksbaum opened this issue · 0 comments

Exactly TWO top level variable produce no output:

export declare const c1: number;
export declare const c2: number;

==>

// ts2fable 0.8.0
module rec moduleName
open System
open Fable.Core
open Fable.Core.JS

BUT: There's no error displayed (in console)

ONE variable works:

export declare const c1: number;

==>

// ts2fable 0.8.0
module rec moduleName
open System
open Fable.Core
open Fable.Core.JS

let [<Import("c1","module")>] c1: float = jsNative

THREE variable work:

export declare const c1: number;
export declare const c2: number; 
export declare const c3: number;

==>

// ts2fable 0.8.0
module rec moduleName
open System
open Fable.Core
open Fable.Core.JS

let [<Import("c1","module")>] c1: float = jsNative
let [<Import("c2","module")>] c2: float = jsNative
let [<Import("c3","module")>] c3: float = jsNative

Type of variable doesn't matter:

export declare var v2: number;
export declare let l1: number;

==>

// ts2fable 0.8.0
module rec moduleName
open System
open Fable.Core
open Fable.Core.JS

Normal comments don't change behaviour:

// Comment
export declare var v2: number;
// Comment
export declare let l1: number;
// Comment

==> ∅ (same as above -- I don't need to repeat the same code again)

Doc Comments change behaviour:

/** Hello */
export declare var v2: number;
export declare let l1: number;

==>

// ts2fable 0.8.0
module rec moduleName
open System
open Fable.Core
open Fable.Core.JS

/// Hello
let [<Import("v2","module")>] v2: float = jsNative
let [<Import("l1","module")>] l1: float = jsNative

One Doc Comments with variable result in no output too:

/** Hello */
export declare var v2: number;

==> ∅

One Variable with something else produce output: (didn't try all possibilities -- just Type)

export declare var v2: number;
export declare type T = {};

==>

let [<Import("v2","module")>] v2: float = jsNative

type [<AllowNullLiteral>] T =
    interface end