/* rectangle.js */
class Rectangle {
constructor(width, height) {
this.width = width;
this.height = height;
}
get area() {
return this.calcArea();
}
calcArea() {
return this.width * this.height;
}
}
export default Rectangle;
type rect = {
area: float,
}
@new @module("./rectangle") external createRect: (float, float) => rect = "default"
@send external calcArea: rect => float = "calcArea"
/* usage */
let r = createRect(1.1, 2.2)
r.area->Js.log
r->calcArea->Js.log
/* rectangle.js */
class Rectangle {
constructor(width, height) {
this.width = width;
this.height = height;
}
get area() {
return this.calcArea();
}
calcArea() {
return this.width * this.height;
}
}
export { Rectangle };
type rect
@new @module("./rectangle") external createRect: (float, float) => rect = "Rectangle"
@get external area: rect => float = "area"
@send external calcArea: rect => float = "calcArea"
/* usage */
let r = createRect(1.1, 2.2)
r->area->Js.log
r->calcArea->Js.log