simple-pure-utils
Version:
Funciones puras para manipulación de objetos, arreglos, promesas y observables
135 lines • 11.9 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());
});
};
import { isSyncPromise, syncPromiseValue } from "./logic";
import { SyncPromise } from "./split";
import { delay } from "../logic";
test("split promise rejection bubbling", () => __awaiter(void 0, void 0, void 0, function* () {
const prom = new SyncPromise((resolve, reject) => {
setInterval(() => {
reject("error 1");
}, 10);
});
let value1;
const prom2 = prom
.then(x => x + 1)
.then(undefined, err => {
value1 = err;
});
yield delay(100);
expect(value1).toBe("error 1");
}));
test("split promise rejection", () => __awaiter(void 0, void 0, void 0, function* () {
const prom = new SyncPromise((resolve, reject) => {
setInterval(() => {
reject("error 1");
}, 10);
});
let value1;
const prom2 = prom
.then(undefined, err => {
value1 = err;
});
yield delay(100);
expect(value1).toBe("error 1");
}));
test("split promise chainable", () => __awaiter(void 0, void 0, void 0, function* () {
const prom = new SyncPromise((resolve) => {
setInterval(() => {
resolve(20);
}, 10);
});
let value1;
const prom2 = prom
.then(x => x + 1)
.then(x => x * 2)
.then(x => {
value1 = x;
;
});
yield delay(100);
expect(value1).toBe(42);
}));
test("split promise chainable", () => __awaiter(void 0, void 0, void 0, function* () {
const prom = new 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 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(syncPromiseValue(prom2).value).toBe(21);
expect(syncPromiseValue(prom3).value).toBe(22);
expect(syncPromiseValue(prom4).value).toBe(40);
}));
test("split promise multiple thens 2", () => __awaiter(void 0, void 0, void 0, function* () {
const prom = new 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 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 SyncPromise((resolve) => {
setInterval(() => {
resolve(20);
}, 10);
});
expect(isSyncPromise(prom)).toBe(false);
let value1;
prom.then(x => value1 = x);
yield delay(100);
expect(value1).toBe(20);
}));
test("split promise is sync", () => __awaiter(void 0, void 0, void 0, function* () {
const prom = new SyncPromise((resolve) => resolve(10));
expect(isSyncPromise(prom)).toBe(true);
expect(syncPromiseValue(prom).value).toBe(10);
}));
test("split promise thenable 2", () => __awaiter(void 0, void 0, void 0, function* () {
const prom = new SyncPromise((resolve) => {
setInterval(() => {
resolve(20);
}, 10);
});
expect(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 = delay(10).then(() => 20);
const prom = new SyncPromise((resolve) => resolve(promise));
const prom2 = prom.then(x => x * 3);
const val = yield prom2;
expect(val).toBe(60);
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXRwcm9tLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvbWlzZS9zcGxpdHByb20udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsR0FBUyxFQUFFO0lBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksV0FBVyxDQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JELFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLE1BQU0sQ0FBQztJQUNYLE1BQU0sS0FBSyxHQUNQLElBQUk7U0FDQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDLENBQUMsQ0FBQTtJQUVWLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFBLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFTLEVBQUU7SUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckQs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