brass-runtime 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +81 -0
- package/dist/examples/fromPromise.js +1 -1
- package/dist/examples/fromPromise.js.map +1 -1
- package/dist/types/asyncEffect.d.ts +3 -1
- package/dist/types/asyncEffect.d.ts.map +1 -1
- package/dist/types/asyncEffect.js +9 -4
- package/dist/types/asyncEffect.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -102,6 +102,87 @@ Do not copy the example here — open `src/examples/fromPromise.ts` for details.
|
|
|
102
102
|
|
|
103
103
|
Adjust the commands to your preferred setup. The project intentionally leaves runtime execution flexible (ts-node, esbuild, tsc + node, etc.).
|
|
104
104
|
|
|
105
|
+
|
|
106
|
+
## Examples — abortable Promises (DX)
|
|
107
|
+
|
|
108
|
+
Below are small, copy-pasteable examples showing how to use the abortable helpers: `tryPromiseAbortable` and `fromPromiseAbortable`. Use these snippets in examples or docs to demonstrate typical flows: plain signal, env+signal, custom error mapping and cancellation.
|
|
109
|
+
|
|
110
|
+
### 1) Signal-only thunk (uses `tryPromiseAbortable`)
|
|
111
|
+
```typescript
|
|
112
|
+
import { tryPromiseAbortable, toPromise, fork } from './src/asyncEffect';
|
|
113
|
+
|
|
114
|
+
// A thunk that only expects an AbortSignal
|
|
115
|
+
const fetchUser = tryPromiseAbortable(async (signal: AbortSignal) => {
|
|
116
|
+
const res = await fetch('https://jsonplaceholder.typicode.com/users/1', { signal });
|
|
117
|
+
if (!res.ok) throw new Error('HTTP ' + res.status);
|
|
118
|
+
return await res.json();
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
async function example() {
|
|
122
|
+
// Await via runtime helper toPromise (env = {})
|
|
123
|
+
try {
|
|
124
|
+
const user = await toPromise(fetchUser, {});
|
|
125
|
+
console.log('user', user);
|
|
126
|
+
} catch (err) {
|
|
127
|
+
console.error('failed', err);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// Cancellation example using fork + interrupt
|
|
132
|
+
function cancelExample() {
|
|
133
|
+
const fiber = fork(fetchUser as any, {}); // fork returns a Fiber
|
|
134
|
+
setTimeout(() => {
|
|
135
|
+
fiber.interrupt(); // will abort the underlying fetch via AbortController
|
|
136
|
+
console.log('interrupt requested');
|
|
137
|
+
}, 50);
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
### 2) Env + signal thunk (uses `fromPromiseAbortable`)
|
|
143
|
+
```typescript
|
|
144
|
+
import { tryPromiseAbortable, toPromise } from './src/asyncEffect';
|
|
145
|
+
|
|
146
|
+
type Env = { baseUrl: string };
|
|
147
|
+
|
|
148
|
+
const fetchWithEnv = tryPromiseAbortable<Env, any>((env, signal) =>
|
|
149
|
+
fetch(`${env.baseUrl}/users/1`, { signal }).then((r) => {
|
|
150
|
+
if (!r.ok) throw new Error('HTTP ' + r.status);
|
|
151
|
+
return r.json();
|
|
152
|
+
})
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
async function runEnv() {
|
|
156
|
+
const env: Env = { baseUrl: 'https://jsonplaceholder.typicode.com' };
|
|
157
|
+
try {
|
|
158
|
+
const user = await toPromise(fetchWithEnv, env);
|
|
159
|
+
console.log('user with env', user);
|
|
160
|
+
} catch (e) {
|
|
161
|
+
console.error('error', e);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 3) Custom error mapping with fromPromiseAbortable
|
|
168
|
+
```typescript
|
|
169
|
+
import { fromPromiseAbortable, toPromise } from './src/asyncEffect';
|
|
170
|
+
|
|
171
|
+
// Map any rejection (including non-abort) to a custom error shape
|
|
172
|
+
const safeFetch = fromPromiseAbortable(
|
|
173
|
+
(signal: AbortSignal) => fetch('https://example.com/data', { signal }).then((r) => r.json()),
|
|
174
|
+
(e) => ({ kind: 'FetchError', detail: String(e) })
|
|
175
|
+
);
|
|
176
|
+
|
|
177
|
+
async function runSafe() {
|
|
178
|
+
try {
|
|
179
|
+
const data = await toPromise(safeFetch, {});
|
|
180
|
+
console.log('data', data);
|
|
181
|
+
} catch (err) {
|
|
182
|
+
console.error('mapped error', err);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
```
|
|
105
186
|
---
|
|
106
187
|
|
|
107
188
|
## Project structure (recommended)
|
|
@@ -18,7 +18,7 @@ function sleepAbortable(ms, signal) {
|
|
|
18
18
|
function slowRangeFromPromise(start, end, msPerElem) {
|
|
19
19
|
const go = (i) => (0, stream_1.fromPull)(i > end
|
|
20
20
|
? (0, asyncEffect_1.asyncFail)(option_1.none)
|
|
21
|
-
: (0, asyncEffect_1.asyncFlatMap)((0, asyncEffect_1.fromPromiseAbortable)(async (
|
|
21
|
+
: (0, asyncEffect_1.asyncFlatMap)((0, asyncEffect_1.fromPromiseAbortable)(async (signal) => {
|
|
22
22
|
await sleepAbortable(msPerElem, signal);
|
|
23
23
|
return i;
|
|
24
24
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromPromise.js","sourceRoot":"","sources":["../../src/examples/fromPromise.ts"],"names":[],"mappings":";;AAgBA,oDAuBC;AAvCD,sDAA4G;AAC5G,4CAAuC;AACvC,6CAAkE;AAClE,6CAAwC;AAExC,6BAA6B;AAC7B,SAAS,cAAc,CAAC,EAAU,EAAE,MAAmB;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAClC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,oBAAoB,CAChC,KAAa,EACb,GAAW,EACX,SAAiB;IAEjB,MAAM,EAAE,GAAG,CAAC,CAAS,EAAmC,EAAE,CACtD,IAAA,iBAAQ,EACJ,CAAC,GAAG,GAAG;QACH,CAAC,CAAC,IAAA,uBAAS,EAAC,aAAI,CAAC;QACjB,CAAC,CAAC,IAAA,0BAAY,EACV,IAAA,kCAAoB,EAChB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"fromPromise.js","sourceRoot":"","sources":["../../src/examples/fromPromise.ts"],"names":[],"mappings":";;AAgBA,oDAuBC;AAvCD,sDAA4G;AAC5G,4CAAuC;AACvC,6CAAkE;AAClE,6CAAwC;AAExC,6BAA6B;AAC7B,SAAS,cAAc,CAAC,EAAU,EAAE,MAAmB;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAClC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,oBAAoB,CAChC,KAAa,EACb,GAAW,EACX,SAAiB;IAEjB,MAAM,EAAE,GAAG,CAAC,CAAS,EAAmC,EAAE,CACtD,IAAA,iBAAQ,EACJ,CAAC,GAAG,GAAG;QACH,CAAC,CAAC,IAAA,uBAAS,EAAC,aAAI,CAAC;QACjB,CAAC,CAAC,IAAA,0BAAY,EACV,IAAA,kCAAoB,EAChB,KAAK,EAAE,MAAmB,EAAE,EAAE;YAC1B,MAAM,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC;QACb,CAAC;QACD,iEAAiE;QACjE,GAAG,EAAE,CAAE,SAAmB,CAC7B,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAY,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAA8C,CAAC,CACnF,CACR,CAAC;IAEN,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAGD,KAAK,UAAU,uBAAuB;IAClC,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAA,eAAM,EAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;IAExC,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAS,EAAC,IAAA,sBAAa,EAAC,EAAE,CAAC,EAAE,SAAgB,CAAC,CAAC;IAEjE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AACD,KAAK,UAAU,sBAAsB;IACjC,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzC,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAS,EAAC,IAAA,sBAAa,EAAC,CAAC,CAAC,EAAE,SAAgB,CAAC,CAAC;IAEhE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1B,wBAAwB;AAC5B,CAAC;AAED,sBAAsB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAE9C,uBAAuB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -41,7 +41,9 @@ export declare function asyncFlatMap<R, E, A, B>(fa: Async<R, E, A>, f: (a: A) =
|
|
|
41
41
|
export declare function toPromise<R, E, A>(eff: Async<R, E, A>, env: R): Promise<A>;
|
|
42
42
|
export declare function fromPromise<R, E, A>(thunk: (env: R) => Promise<A>, onError: (e: unknown) => E): Async<R, E, A>;
|
|
43
43
|
export declare function fromCallback<A>(f: (cb: NodeCallback<A>) => void): Async<{}, Error, A>;
|
|
44
|
-
export declare function tryPromiseAbortable<
|
|
44
|
+
export declare function tryPromiseAbortable<A>(thunk: (signal: AbortSignal) => Promise<A>): Async<unknown, BrassError, A>;
|
|
45
|
+
export declare function tryPromiseAbortable<R, A>(thunk: (env: R, signal: AbortSignal) => Promise<A>): Async<R, BrassError, A>;
|
|
46
|
+
export declare function fromPromiseAbortable<E, A>(thunk: (signal: AbortSignal) => Promise<A>, onError: (e: unknown) => E): Async<unknown, E, A>;
|
|
45
47
|
export declare function fromPromiseAbortable<R, E, A>(thunk: (env: R, signal: AbortSignal) => Promise<A>, onError: (e: unknown) => E): Async<R, E, A>;
|
|
46
48
|
export declare function acquireRelease<R, E, A>(acquire: Async<R, E, A>, release: (res: A, exit: Exit<E, any>) => Async<R, any, any>, scope: Scope<R>): Async<R, E, A>;
|
|
47
49
|
export declare function asyncInterruptible<R, E, A>(register: (env: R, cb: (exit: Exit<E, A>) => void) => void | Canceler): Async<R, E, A>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncEffect.d.ts","sourceRoot":"","sources":["../../src/types/asyncEffect.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"asyncEffect.d.ts","sourceRoot":"","sources":["../../src/types/asyncEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,10 +130,12 @@ const isAbortError = (e) => typeof e === "object" &&
|
|
|
130
130
|
"name" in e &&
|
|
131
131
|
e.name === "AbortError";
|
|
132
132
|
function tryPromiseAbortable(thunk) {
|
|
133
|
-
|
|
134
|
-
?
|
|
135
|
-
:
|
|
133
|
+
const lifted = (env, signal) => thunk.length === 1
|
|
134
|
+
? thunk(signal)
|
|
135
|
+
: thunk(env, signal);
|
|
136
|
+
return fromPromiseAbortable(lifted, (e) => isAbortError(e) ? { _tag: "Abort" } : { _tag: "PromiseRejected", reason: e });
|
|
136
137
|
}
|
|
138
|
+
// 3) Implementación (usa `any` internamente para unificar)
|
|
137
139
|
function fromPromiseAbortable(thunk, onError) {
|
|
138
140
|
return (0, exports.async)((env, cb) => {
|
|
139
141
|
const ac = new AbortController();
|
|
@@ -145,7 +147,10 @@ function fromPromiseAbortable(thunk, onError) {
|
|
|
145
147
|
cb(exit);
|
|
146
148
|
};
|
|
147
149
|
try {
|
|
148
|
-
|
|
150
|
+
// Si thunk declara 1 parámetro, asumimos (signal) => Promise<A>
|
|
151
|
+
const p = thunk.length === 1
|
|
152
|
+
? thunk(ac.signal)
|
|
153
|
+
: thunk(env, ac.signal);
|
|
149
154
|
p.then((value) => safeCb({ _tag: "Success", value }))
|
|
150
155
|
.catch((err) => safeCb({ _tag: "Failure", error: onError(err) }));
|
|
151
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncEffect.js","sourceRoot":"","sources":["../../src/types/asyncEffect.ts"],"names":[],"mappings":";;;AAuBA,8BAMC;AAED,sCASC;AAGD,sCASC;AAID,oBAmBC;AACD,oBAEC;AA6BD,4BAKC;AAED,oCASC;AAED,8BASC;AAED,kCASC;AAID,oCAoBC;
|
|
1
|
+
{"version":3,"file":"asyncEffect.js","sourceRoot":"","sources":["../../src/types/asyncEffect.ts"],"names":[],"mappings":"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"}
|