NineSec Team Shell
Server IP : 92.205.26.207  /  Your IP : 216.73.216.16
Web Server : Apache
System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64
User : zikryat ( 1002)
PHP Version : 8.3.23
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/zikryat/public_html/node_modules/lazy/test/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/zikryat/public_html/node_modules/lazy/test/complex.js
var assert = require('assert');
var Lazy = require('..');
var expresso = expresso;

function range(i, j) {
    var r = [];
    for (;i<j;i++) r.push(i);
    return r;
}

exports['complex'] = function () {
    var lazy = new Lazy;
    var data1 = [];
    var data2 = [];
    var data3 = [];
    var joinExecuted = false;
    lazy
        .map(function (x) {
            return 2*x;
        })
        .forEach(function (x) {
            data1.push(x);
        })
        .map(function (x) {
            return x/2;
        })
        .take(5)
        .forEach(function (x) {
            data2.push(x);
        })
        .filter(function (x) {
            return x % 2 == 0;
        })
        .forEach(function (x) {
            data3.push(x);
        })
        .join(function (xs) {
            joinExecuted = true;
            assert.deepEqual(xs, [0, 2, 4]);
        });

    range(0,10).forEach(function (x) {
        lazy.emit('data', x);
    });
    lazy.emit('end');

    assert.deepEqual(data1, range(0,10).map(function (x) { return x*2 }));
    assert.deepEqual(data2, range(0,5));
    assert.deepEqual(data3, [0, 2, 4]);
    assert.ok(joinExecuted);
}


NineSec Team - 2022