simple-pure-utils
Version:
Funciones puras para manipulación de objetos, arreglos, promesas y observables
54 lines • 5.37 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 { toSyncPromise, isSyncPromise, isSyncPromiseType } from "./logic";
import { delay } from "../logic";
import { SyncPromise } from "./split";
test("asyncToSyncPromise ", () => __awaiter(void 0, void 0, void 0, function* () {
const prom = (() => __awaiter(void 0, void 0, void 0, function* () {
yield delay(10);
return 20;
}))();
const syncProm = toSyncPromise(prom);
expect(isSyncPromise(prom)).toBe(false);
expect(isSyncPromise(syncProm)).toBe(false);
const value = yield prom;
//Incluso después del await la promesa sigue sin ser síncrona
expect(isSyncPromise(prom)).toBe(false);
expect(isSyncPromise(syncProm)).toBe(true);
}));
test("type test", () => __awaiter(void 0, void 0, void 0, function* () {
expect(isSyncPromiseType(Promise)).toBe(false);
expect(isSyncPromiseType(SyncPromise)).toBe(true);
}));
test("asyncToSyncPromise 2", () => __awaiter(void 0, void 0, void 0, function* () {
const prom = (() => __awaiter(void 0, void 0, void 0, function* () {
yield delay(10);
return 20;
}))();
const syncProm = toSyncPromise(prom);
expect(isSyncPromise(syncProm)).toBe(false);
const value = yield syncProm;
expect(value).toBe(20);
}));
test("asyncToSyncPromise error", () => __awaiter(void 0, void 0, void 0, function* () {
const func = (() => __awaiter(void 0, void 0, void 0, function* () {
yield delay(10);
throw "hola";
}));
const prom = func();
const value = yield prom.then(undefined, err => err + " rafa");
expect(value).toBe("hola rafa");
const syncProm = toSyncPromise(func());
const value2 = yield syncProm.then(undefined, err => err + " ale");
expect(value2).toBe("hola ale");
debugger;
expect(isSyncPromise(syncProm)).toBe(true);
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY3Byb20udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9taXNlL3N5bmNwcm9tLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFHLGFBQWEsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDM0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxHQUFTLEVBQUU7SUFDbkMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFTLEVBQUU7UUFDckIsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUM7SUFFTCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRzVDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDO0lBQ3pCLDZEQUE2RDtJQUM3RCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFBLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBUyxFQUFFO0lBQ3pCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFBLENBQUMsQ0FBQTtBQUVGLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxHQUFTLEVBQUU7SUFDcEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFTLEVBQUU7UUFDckIsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUM7SUFFTCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU1QyxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQztJQUM3QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQSxDQUFDLENBQUM7QUFJSCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsR0FBUyxFQUFFO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBUyxFQUFFO1FBQ3JCLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sTUFBTSxDQUFDO0lBQ2pCLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDSCxNQUFNLElBQUksR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUVwQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUNuRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWhDLFFBQVEsQ0FBQztJQUNULE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFBLENBQUMsQ0FBQyJ9