Skip to content

Commit cdc162a

Browse files
author
Hongbo Zhang
committed
more todo notes
1 parent a8e77d4 commit cdc162a

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

jscomp/test/module_as_class_ffi.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
'use strict';
22

3-
var Mk = require("xx/foo_class");
3+
var Xx$slashfoo_class = require("xx/foo_class");
4+
var Mk = require("xx/foo_class");
45

56
function f() {
67
return new Mk(3);
78
}
89

10+
function v() {
11+
return Xx$slashfoo_class.ff(3);
12+
}
13+
914
exports.f = f;
15+
exports.v = v;
1016
/* xx/foo_class Not a pure module */

jscomp/test/module_as_class_ffi.ml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,19 @@ external mk : int -> t = "xx/foo_class" [@@bs.new] [@@bs.module]
55

66
let f () =
77
mk 3
8+
9+
(*
10+
TODO: more error checking
11+
1. [@@bs.module] can only be used once
12+
2. here [bs.new] should not have any payload
13+
3. consolidate all [bs.module]
14+
external mk2 : int -> t = "xx/foo_class" [@@bs.new "x"] [@@bs.module]
15+
16+
let ff () =
17+
mk2 3
18+
*)
19+
20+
external ff : int -> t = "" [@@bs.module "xx/foo_class"]
21+
22+
let v () =
23+
ff 3

0 commit comments

Comments
 (0)