From 91b23ed444ef301829d94a7f2a2b790eca087fc4 Mon Sep 17 00:00:00 2001 From: Charles Lowell Date: Tue, 30 Jan 2024 10:06:48 -0600 Subject: [PATCH] Upgrade to Effection 3.0.2 --- javascript-effection/deno.json | 2 +- javascript-effection/easyracer.ts | 18 ++++++++++++++---- javascript-effection/package.json | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/javascript-effection/deno.json b/javascript-effection/deno.json index a4dd3420..36b2ae67 100644 --- a/javascript-effection/deno.json +++ b/javascript-effection/deno.json @@ -9,7 +9,7 @@ } }, "imports": { - "effection": "https://deno.land/x/effection@3.0.0-alpha.13/mod.ts", + "effection": "https://deno.land/x/effection@3.0.2/mod.ts", "expect": "https://deno.land/x/expect@v0.3.0/mod.ts", "node:test": "https://deno.land/std@0.200.0/testing/bdd.ts" } diff --git a/javascript-effection/easyracer.ts b/javascript-effection/easyracer.ts index 6b5f880b..2e925105 100644 --- a/javascript-effection/easyracer.ts +++ b/javascript-effection/easyracer.ts @@ -2,7 +2,6 @@ import { action, call, createContext, - expect as $await, type Operation, sleep, spawn, @@ -43,16 +42,27 @@ export function timeout( */ export const request = (query?: string) => call(function* () { - let signal = yield* useAbortSignal(); + let controller = new AbortController(); + let { signal } = controller; let url = `${yield* BaseURL}/${yield* Scenario}${query ? "?" + query : ""}`; + let promises: Promise[] = []; + let request = fetch(url, { signal }); + promises.push(request); + try { - let response = yield* $await(request); - return yield* $await(response.text()); + let response = yield* call(() => request); + let text = response.text(); + promises.push(text); + + return yield* call(() => text); } catch (error) { return String(error); + } finally { + controller.abort(); + yield* call(() => Promise.allSettled(promises)); } }); diff --git a/javascript-effection/package.json b/javascript-effection/package.json index 934e4975..c7bb4e5e 100644 --- a/javascript-effection/package.json +++ b/javascript-effection/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "dependencies": { - "effection": "3.0.0-alpha.13", + "effection": "3.0.2", "expect": "*" }, "scripts": {