haxe/src/Lambda.cs
// Generated by Haxe 4.3.7
#pragma warning disable 109, 114, 219, 429, 168, 162
public class Lambda : global::haxe.lang.HxObject {
public Lambda(global::haxe.lang.EmptyObject empty) {
}
public Lambda() {
global::Lambda.__hx_ctor__Lambda(this);
}
protected static void __hx_ctor__Lambda(global::Lambda __hx_this) {
}
public static global::Array<A> array<A>(object it) {
global::Array<A> a = new global::Array<A>();
{
object i = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(i, "hasNext", 407283053, null))) {
A i1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(i, "next", 1224901875, null));
a.push(i1);
}
}
return a;
}
public static global::haxe.ds.List<A> list<A>(object it) {
global::haxe.ds.List<A> l = new global::haxe.ds.List<A>();
{
object i = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(i, "hasNext", 407283053, null))) {
A i1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(i, "next", 1224901875, null));
l.@add(i1);
}
}
return l;
}
public static global::Array<B> map<A, B>(object it, global::haxe.lang.Function f) {
global::Array<B> _g = new global::Array<B>(new B[]{});
{
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
_g.push(global::haxe.lang.Runtime.genericCast<B>(f.__hx_invoke1_o(default(double), x1)));
}
}
return _g;
}
public static global::Array<B> mapi<A, B>(object it, global::haxe.lang.Function f) {
int i = 0;
global::Array<B> _g = new global::Array<B>(new B[]{});
{
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
_g.push(global::haxe.lang.Runtime.genericCast<B>(f.__hx_invoke2_o(((double) (i++) ), global::haxe.lang.Runtime.undefined, default(double), x1)));
}
}
return _g;
}
public static global::Array<A> flatten<A>(object it) {
global::Array<A> _g = new global::Array<A>(new A[]{});
{
object e = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(e, "hasNext", 407283053, null))) {
object e1 = ((object) (global::haxe.lang.Runtime.callField(e, "next", 1224901875, null)) );
{
object x = ((object) (global::haxe.lang.Runtime.callField(e1, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
_g.push(x1);
}
}
}
}
return _g;
}
public static global::Array<B> flatMap<A, B>(object it, global::haxe.lang.Function f) {
return global::Lambda.flatten<B>(((object) (global::Lambda.map<A, object>(((object) (it) ), ((global::haxe.lang.Function) (f) ))) ));
}
public static bool has<A>(object it, A elt) {
{
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
if (global::haxe.lang.Runtime.eq(x1, elt)) {
return true;
}
}
}
return false;
}
public static bool exists<A>(object it, global::haxe.lang.Function f) {
{
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
if (global::haxe.lang.Runtime.toBool(f.__hx_invoke1_o(default(double), x1))) {
return true;
}
}
}
return false;
}
public static bool @foreach<A>(object it, global::haxe.lang.Function f) {
{
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
if ( ! (global::haxe.lang.Runtime.toBool(f.__hx_invoke1_o(default(double), x1))) ) {
return false;
}
}
}
return true;
}
public static void iter<A>(object it, global::haxe.lang.Function f) {
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
f.__hx_invoke1_o(default(double), x1);
}
}
public static global::Array<A> filter<A>(object it, global::haxe.lang.Function f) {
global::Array<A> _g = new global::Array<A>(new A[]{});
{
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
if (global::haxe.lang.Runtime.toBool(f.__hx_invoke1_o(default(double), x1))) {
_g.push(x1);
}
}
}
return _g;
}
public static B fold<A, B>(object it, global::haxe.lang.Function f, B first) {
{
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
first = global::haxe.lang.Runtime.genericCast<B>(f.__hx_invoke2_o(default(double), x1, default(double), first));
}
}
return first;
}
public static B foldi<A, B>(object it, global::haxe.lang.Function f, B first) {
int i = 0;
{
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
first = global::haxe.lang.Runtime.genericCast<B>(f.__hx_invoke3_o(default(double), x1, default(double), first, ((double) (i) ), global::haxe.lang.Runtime.undefined));
++ i;
}
}
return first;
}
public static int count<A>(object it, global::haxe.lang.Function pred) {
int n = 0;
if (( pred == null )) {
object _ = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(_, "hasNext", 407283053, null))) {
A _1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(_, "next", 1224901875, null));
++ n;
}
}
else {
object x = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
A x1 = global::haxe.lang.Runtime.genericCast<A>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
if (global::haxe.lang.Runtime.toBool(((global::haxe.lang.Function) (pred) ).__hx_invoke1_o(default(double), x1))) {
++ n;
}
}
}
return n;
}
public static bool empty<T>(object it) {
return ! (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) ), "hasNext", 407283053, null))) ;
}
public static int indexOf<T>(object it, T v) {
unchecked {
int i = 0;
{
object v2 = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(v2, "hasNext", 407283053, null))) {
T v21 = global::haxe.lang.Runtime.genericCast<T>(global::haxe.lang.Runtime.callField(v2, "next", 1224901875, null));
if (global::haxe.lang.Runtime.eq(v, v21)) {
return i;
}
++ i;
}
}
return -1;
}
}
public static global::haxe.lang.Null<T> find<T>(object it, global::haxe.lang.Function f) {
{
object v = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(v, "hasNext", 407283053, null))) {
T v1 = global::haxe.lang.Runtime.genericCast<T>(global::haxe.lang.Runtime.callField(v, "next", 1224901875, null));
if (global::haxe.lang.Runtime.toBool(f.__hx_invoke1_o(default(double), v1))) {
return new global::haxe.lang.Null<T>(v1, true);
}
}
}
return default(global::haxe.lang.Null<T>);
}
public static int findIndex<T>(object it, global::haxe.lang.Function f) {
unchecked {
int i = 0;
{
object v = ((object) (global::haxe.lang.Runtime.callField(it, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(v, "hasNext", 407283053, null))) {
T v1 = global::haxe.lang.Runtime.genericCast<T>(global::haxe.lang.Runtime.callField(v, "next", 1224901875, null));
if (global::haxe.lang.Runtime.toBool(f.__hx_invoke1_o(default(double), v1))) {
return i;
}
++ i;
}
}
return -1;
}
}
public static global::Array<T> concat<T>(object a, object b) {
global::Array<T> l = new global::Array<T>();
{
object x = ((object) (global::haxe.lang.Runtime.callField(a, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x, "hasNext", 407283053, null))) {
T x1 = global::haxe.lang.Runtime.genericCast<T>(global::haxe.lang.Runtime.callField(x, "next", 1224901875, null));
l.push(x1);
}
}
{
object x2 = ((object) (global::haxe.lang.Runtime.callField(b, "iterator", 328878574, null)) );
while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(x2, "hasNext", 407283053, null))) {
T x3 = global::haxe.lang.Runtime.genericCast<T>(global::haxe.lang.Runtime.callField(x2, "next", 1224901875, null));
l.push(x3);
}
}
return l;
}
}