UNPKG

simple-pure-utils

Version:

Funciones puras para manipulación de objetos, arreglos, promesas y observables

137 lines • 12.2 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const logic_1 = require("./logic"); const split_1 = require("./split"); const logic_2 = require("../logic"); test("split promise rejection bubbling", () => __awaiter(void 0, void 0, void 0, function* () { const prom = new split_1.SyncPromise((resolve, reject) => { setInterval(() => { reject("error 1"); }, 10); }); let value1; const prom2 = prom .then(x => x + 1) .then(undefined, err => { value1 = err; }); yield (0, logic_2.delay)(100); expect(value1).toBe("error 1"); })); test("split promise rejection", () => __awaiter(void 0, void 0, void 0, function* () { const prom = new split_1.SyncPromise((resolve, reject) => { setInterval(() => { reject("error 1"); }, 10); }); let value1; const prom2 = prom .then(undefined, err => { value1 = err; }); yield (0, logic_2.delay)(100); expect(value1).toBe("error 1"); })); test("split promise chainable", () => __awaiter(void 0, void 0, void 0, function* () { const prom = new split_1.SyncPromise((resolve) => { setInterval(() => { resolve(20); }, 10); }); let value1; const prom2 = prom .then(x => x + 1) .then(x => x * 2) .then(x => { value1 = x; ; }); yield (0, logic_2.delay)(100); expect(value1).toBe(42); })); test("split promise chainable", () => __awaiter(void 0, void 0, void 0, function* () { const prom = new split_1.SyncPromise((resolve) => { setInterval(() => { resolve(20); }, 10); }); const prom2 = prom .then(x => x + 1) .then(x => x * 2); const value1 = yield prom2; expect(value1).toBe(42); })); test("split promise multiple thens", () => __awaiter(void 0, void 0, void 0, function* () { const prom = new split_1.SyncPromise((resolve) => { setInterval(() => { resolve(20); }, 10); }); const prom2 = prom.then(x => x + 1); const prom3 = prom.then(x => x + 2); const prom4 = prom.then(x => x * 2); const value1 = yield prom2; expect((0, logic_1.syncPromiseValue)(prom2).value).toBe(21); expect((0, logic_1.syncPromiseValue)(prom3).value).toBe(22); expect((0, logic_1.syncPromiseValue)(prom4).value).toBe(40); })); test("split promise multiple thens 2", () => __awaiter(void 0, void 0, void 0, function* () { const prom = new split_1.SyncPromise((resolve) => { setInterval(() => { resolve(20); }, 10); }); const prom2 = prom.then(x => x + 1); const prom3 = prom.then(x => x + 2); const prom4 = prom.then(x => x * 2); yield (0, logic_2.delay)(100); expect(yield prom2).toBe(21); expect(yield prom3).toBe(22); expect(yield prom4).toBe(40); })); test("split promise thenable", () => __awaiter(void 0, void 0, void 0, function* () { const prom = new split_1.SyncPromise((resolve) => { setInterval(() => { resolve(20); }, 10); }); expect((0, logic_1.isSyncPromise)(prom)).toBe(false); let value1; prom.then(x => value1 = x); yield (0, logic_2.delay)(100); expect(value1).toBe(20); })); test("split promise is sync", () => __awaiter(void 0, void 0, void 0, function* () { const prom = new split_1.SyncPromise((resolve) => resolve(10)); expect((0, logic_1.isSyncPromise)(prom)).toBe(true); expect((0, logic_1.syncPromiseValue)(prom).value).toBe(10); })); test("split promise thenable 2", () => __awaiter(void 0, void 0, void 0, function* () { const prom = new split_1.SyncPromise((resolve) => { setInterval(() => { resolve(20); }, 10); }); expect((0, logic_1.isSyncPromise)(prom)).toBe(false); let value1; prom.then(x => value1 = x); yield prom; expect(value1).toBe(20); })); test("split promise pass promise to resolve", () => __awaiter(void 0, void 0, void 0, function* () { const promise = (0, logic_2.delay)(10).then(() => 20); const prom = new split_1.SyncPromise((resolve) => resolve(promise)); const prom2 = prom.then(x => x * 3); const val = yield prom2; expect(val).toBe(60); })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXRwcm9tLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvbWlzZS9zcGxpdHByb20udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLG1DQUEwRDtBQUMxRCxtQ0FBc0M7QUFDdEMsb0NBQWlDO0FBRWpDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxHQUFTLEVBQUU7SUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxtQkFBVyxDQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JELFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLE1BQU0sQ0FBQztJQUNYLE1BQU0sS0FBSyxHQUNQLElBQUk7U0FDQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDLENBQUMsQ0FBQTtJQUVWLE1BQU0sSUFBQSxhQUFLLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEdBQVMsRUFBRTtJQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLG1CQUFXLENBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckQsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNiLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDVixD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