UNPKG

jsx

Version:

a faster, safer, easier JavaScript

35 lines (34 loc) 689 B
/*EXPECTED 0 1 2 false */ mixin Enumerable.<T> { abstract function each(f: (T) -> void): void; function forall(pred: (T) -> boolean): boolean { var result = true; this.each((x) -> { if (result && !pred(x)) { result = false; } }); return false; } } class ArrayWrapper.<T> implements Enumerable.<T> { var _xs: T[]; function constructor(xs: T[]) { this._xs = xs; } override function each(f: (T) -> void): void { for (var x in this._xs) f(x); } } class _Main { static function main(args : string[]): void { var xs = new ArrayWrapper.<number>([1, 2, 3]); xs.each((x) -> { log x; }); log xs.forall((x) -> x < 10); } }