Inheritance: LObject, ICallable
        public HIterableBase(IEnvironment environment)
            : base(environment)
        {
            Class = "Iterable";
            Extensible = true;
            Prototype = environment.ObjectPrototype;

            CreateIteratorBuiltinFunction = new BFunction(environment, CreateIterator, ReadOnlyList<string>.Empty);

            new LObject.Builder(this)
            .SetAttributes(false, false, false)
            .AppendDataProperty("createIterator", CreateIteratorBuiltinFunction);
        }
        public HIteratorBase(IEnvironment environment)
            : base(environment)
        {
            Class = "Iterator";
            Extensible = true;
            Prototype = environment.ObjectPrototype;

            CurrentBuiltinFunction = new BFunction(environment, Current, ReadOnlyList<string>.Empty);
            NextBuiltinFunction = new BFunction(environment, Next, ReadOnlyList<string>.Empty);

            new LObject.Builder(this)
            .SetAttributes(false, false, false)
            .AppendAccessorProperty("current", CurrentBuiltinFunction, null)
            .AppendDataProperty("next", NextBuiltinFunction);
        }
Exemple #3
0
        public HIterable(IEnvironment environment)
            : base(environment)
        {
            Class = "Iterable";
            Prototype = environment.ObjectPrototype;
            Extensible = true;

            ToArrayBuiltinFunction = new BFunction(environment, ToArray, new ReadOnlyList<string>("iterable"));
            IterateBuiltinFunction = new BFunction(environment, Iterate, new ReadOnlyList<string>("callback", "iterable"));
            FilterStringBuiltinFunction = new BFunction(environment, Filter, new ReadOnlyList<string>("predicate", "iterable"));
            MapStringBuiltinFunction = new BFunction(environment, Map, new ReadOnlyList<string>("mapping", "iterable"));

            new LObject.Builder(this)
            .SetAttributes(false, false, false)
            .AppendDataProperty("toArray", ToArrayBuiltinFunction)
            .AppendDataProperty("iterate", IterateBuiltinFunction)
            .AppendDataProperty("filter", FilterStringBuiltinFunction)
            .AppendDataProperty("map", MapStringBuiltinFunction);
        }