simple-pure-utils
Version:
Funciones puras para manipulación de objetos, arreglos, promesas y observables
137 lines • 12.2 kB
JavaScript
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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
;