UNPKG

faastjs

Version:

Serverless batch computing made simple.

34 lines 4.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const index_1 = require("../index"); const ava_1 = tslib_1.__importDefault(require("ava")); const shared_1 = require("../src/shared"); (0, ava_1.default)(`FunctionStats clone`, t => { const stats = new index_1.FunctionStats(); stats.executionTime.update(100); stats.estimatedBilledTime.update(101); stats.localStartLatency.update(102); stats.remoteStartLatency.update(103); stats.returnLatency.update(104); stats.sendResponseLatency.update(105); stats.completed = 10; stats.errors = 1; stats.invocations = 11; stats.retries = 2; const cloned = stats.clone(); t.deepEqual(cloned, stats); for (const key of (0, shared_1.keysOf)(cloned)) { if (typeof cloned[key] !== "number") { t.true(cloned[key] !== stats[key]); } } t.is(cloned.toString(), stats.toString()); cloned.executionTime.update(0); t.notDeepEqual(cloned, stats); t.notDeepEqual(cloned.executionTime, stats.executionTime); t.true(cloned.toString() !== stats.toString()); cloned.completed++; t.true(cloned.completed !== stats.completed); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC1wcm92aWRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC91bml0LXByb3ZpZGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0NBQXlDO0FBQ3pDLHNEQUF1QjtBQUN2QiwwQ0FBdUM7QUFFdkMsSUFBQSxhQUFJLEVBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxxQkFBYSxFQUFFLENBQUM7SUFFbEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxLQUFLLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqQixLQUFLLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN2QixLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUVsQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFBLGVBQU0sRUFBQyxNQUFNLENBQUMsRUFBRTtRQUM5QixJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0QztLQUNKO0lBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFMUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZ1bmN0aW9uU3RhdHMgfSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB0ZXN0IGZyb20gXCJhdmFcIjtcbmltcG9ydCB7IGtleXNPZiB9IGZyb20gXCIuLi9zcmMvc2hhcmVkXCI7XG5cbnRlc3QoYEZ1bmN0aW9uU3RhdHMgY2xvbmVgLCB0ID0+IHtcbiAgICBjb25zdCBzdGF0cyA9IG5ldyBGdW5jdGlvblN0YXRzKCk7XG5cbiAgICBzdGF0cy5leGVjdXRpb25UaW1lLnVwZGF0ZSgxMDApO1xuICAgIHN0YXRzLmVzdGltYXRlZEJpbGxlZFRpbWUudXBkYXRlKDEwMSk7XG4gICAgc3RhdHMubG9jYWxTdGFydExhdGVuY3kudXBkYXRlKDEwMik7XG4gICAgc3RhdHMucmVtb3RlU3RhcnRMYXRlbmN5LnVwZGF0ZSgxMDMpO1xuICAgIHN0YXRzLnJldHVybkxhdGVuY3kudXBkYXRlKDEwNCk7XG4gICAgc3RhdHMuc2VuZFJlc3BvbnNlTGF0ZW5jeS51cGRhdGUoMTA1KTtcbiAgICBzdGF0cy5jb21wbGV0ZWQgPSAxMDtcbiAgICBzdGF0cy5lcnJvcnMgPSAxO1xuICAgIHN0YXRzLmludm9jYXRpb25zID0gMTE7XG4gICAgc3RhdHMucmV0cmllcyA9IDI7XG5cbiAgICBjb25zdCBjbG9uZWQgPSBzdGF0cy5jbG9uZSgpO1xuICAgIHQuZGVlcEVxdWFsKGNsb25lZCwgc3RhdHMpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXNPZihjbG9uZWQpKSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xvbmVkW2tleV0gIT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHQudHJ1ZShjbG9uZWRba2V5XSAhPT0gc3RhdHNba2V5XSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdC5pcyhjbG9uZWQudG9TdHJpbmcoKSwgc3RhdHMudG9TdHJpbmcoKSk7XG5cbiAgICBjbG9uZWQuZXhlY3V0aW9uVGltZS51cGRhdGUoMCk7XG4gICAgdC5ub3REZWVwRXF1YWwoY2xvbmVkLCBzdGF0cyk7XG4gICAgdC5ub3REZWVwRXF1YWwoY2xvbmVkLmV4ZWN1dGlvblRpbWUsIHN0YXRzLmV4ZWN1dGlvblRpbWUpO1xuICAgIHQudHJ1ZShjbG9uZWQudG9TdHJpbmcoKSAhPT0gc3RhdHMudG9TdHJpbmcoKSk7XG4gICAgY2xvbmVkLmNvbXBsZXRlZCsrO1xuICAgIHQudHJ1ZShjbG9uZWQuY29tcGxldGVkICE9PSBzdGF0cy5jb21wbGV0ZWQpO1xufSk7XG4iXX0=