@xstd/async-function 1.0.0 → 1.2.0

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 CHANGED
@@ -76,13 +76,21 @@ const data = await fetchJson.call(new AbortController().signal, 'https://example
76
76
  #### Constructor
77
77
 
78
78
  ```ts
79
- new AsyncFunction<GArguments, GReturn>(call: CallAsyncFunction<GArguments, GReturn>)
79
+ new AsyncFunction<GArguments, GReturn>(call: AsyncFunctionLike<GArguments, GReturn>)
80
80
  ```
81
81
 
82
82
  Creates an instance of the `AsyncFunction` class.
83
83
 
84
84
  - **Parameters**
85
- - `call: CallAsyncFunction<GArguments, GReturn>` — A function (or `AsyncFunction`) to be invoked, which defines the action to perform on invocation. It receives the call's `AbortSignal` as first argument, followed by the call's arguments, and returns the result (or a promise of it).
85
+ - `call: AsyncFunctionLike<GArguments, GReturn>` — A call function, or an existing `AsyncFunction`, which defines the action to perform on invocation. It receives the call's `AbortSignal` as first argument, followed by the call's arguments, and returns the result (or a promise of it). If an `AsyncFunction` is provided, its underlying call function is reused instead of being wrapped.
86
+
87
+ ```ts
88
+ // from a call function:
89
+ const fnc = new AsyncFunction(async (signal, url: string) => fetch(url, { signal }));
90
+
91
+ // from an existing AsyncFunction (reuses its underlying call function):
92
+ const copy = new AsyncFunction(fnc);
93
+ ```
86
94
 
87
95
  #### Static methods
88
96
 
@@ -181,7 +189,9 @@ Maps and transforms the arguments of the current async function using the provid
181
189
 
182
190
  ```ts
183
191
  const fnc = new AsyncFunction(async (signal, a: number, b: number) => a + b);
184
- const doubled = fnc.mapArguments((...args: [number]) => [args[0], args[0]] satisfies [number, number]);
192
+ const doubled = fnc.mapArguments(
193
+ (...args: [number]) => [args[0], args[0]] satisfies [number, number],
194
+ );
185
195
  const result = await doubled.call(signal, 21); // 42
186
196
  ```
187
197
 
@@ -258,8 +268,9 @@ The first call starts the underlying call with its own `AbortController`. Each c
258
268
  - **Returns** A new async function sharing concurrent calls with identical keys.
259
269
 
260
270
  ```ts
261
- const loadUser = new AsyncFunction(async (signal, id: string) => fetchUser(id, { signal }))
262
- .shareConcurentCalls({ keyGenerator: ([id]) => id });
271
+ const loadUser = new AsyncFunction(async (signal, id: string) =>
272
+ fetchUser(id, { signal }),
273
+ ).shareConcurentCalls({ keyGenerator: ([id]) => id });
263
274
 
264
275
  // 'fetchUser' is called once, both calls await the same result:
265
276
  const [a, b] = await Promise.all([loadUser.call(signal, 'a'), loadUser.call(signal, 'a')]);
@@ -267,7 +278,7 @@ const [a, b] = await Promise.all([loadUser.call(signal, 'a'), loadUser.call(sign
267
278
 
268
279
  #### Types
269
280
 
270
- | Type | Description |
271
- | --- | --- |
272
- | `CallAsyncFunction<GArguments, GReturn>` | `(signal: AbortSignal, ...args: GArguments) => PromiseLike<GReturn> \| GReturn` — the shape of the underlying call function. |
281
+ | Type | Description |
282
+ | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
283
+ | `CallAsyncFunction<GArguments, GReturn>` | `(signal: AbortSignal, ...args: GArguments) => PromiseLike<GReturn> \| GReturn` — the shape of the underlying call function. |
273
284
  | `AsyncFunctionLike<GArguments, GReturn>` | `AsyncFunction<GArguments, GReturn> \| CallAsyncFunction<GArguments, GReturn>` — accepted by the constructor, `of` and `fromSendAndReceive`. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xstd/async-function",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "type": "module",
5
5
  "description": "Universal API around async functions",
6
6
  "keywords": [],
@@ -1,5 +1,4 @@
1
1
  import { type AsyncFunctionLike } from './types/async-function-like.ts';
2
- import { type CallAsyncFunction } from './types/call-async-function.ts';
3
2
  import { type MapFunctionArguments } from './types/methods/map-arguments/map-function-arguments.ts';
4
3
  import { type ShareConcurentCallsOptions } from './types/methods/share-concurent-calls/share-concurent-calls-options.js';
5
4
  import { type AsyncFunctionThenOnFulfilledFunction } from './types/methods/then/async-function.then.on-fulfilled-function.ts';
@@ -68,9 +67,9 @@ export declare class AsyncFunction<GArguments extends readonly unknown[], GRetur
68
67
  /**
69
68
  * Creates an instance of the `AsyncFunction` class.
70
69
  *
71
- * @param {CallAsyncFunction<GArguments, GReturn>} call A function or AsyncFunction to be invoked, which defines the action to perform on invocation.
70
+ * @param {AsyncFunctionLike<GArguments, GReturn>} call A call function, or an existing `AsyncFunction`, to be invoked, which defines the action to perform on invocation. If an `AsyncFunction` is provided, its underlying call function is reused instead of being wrapped.
72
71
  */
73
- constructor(call: CallAsyncFunction<GArguments, GReturn>);
72
+ constructor(call: AsyncFunctionLike<GArguments, GReturn>);
74
73
  /**
75
74
  * Executes the specified async function with the provided arguments and options.
76
75
  *
@@ -92,10 +92,10 @@ export class AsyncFunction {
92
92
  /**
93
93
  * Creates an instance of the `AsyncFunction` class.
94
94
  *
95
- * @param {CallAsyncFunction<GArguments, GReturn>} call A function or AsyncFunction to be invoked, which defines the action to perform on invocation.
95
+ * @param {AsyncFunctionLike<GArguments, GReturn>} call A call function, or an existing `AsyncFunction`, to be invoked, which defines the action to perform on invocation. If an `AsyncFunction` is provided, its underlying call function is reused instead of being wrapped.
96
96
  */
97
97
  constructor(call) {
98
- this.#call = call;
98
+ this.#call = call instanceof AsyncFunction ? call.#call : call;
99
99
  }
100
100
  /**
101
101
  * Executes the specified async function with the provided arguments and options.
@@ -1 +1 @@
1
- {"version":3,"file":"async-function.js","sourceRoot":"","sources":["../../src/async-function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-function.js","sourceRoot":"","sources":["../../src/async-function.ts"],"names":[],"mappings":"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"}
package/src/index.d.ts CHANGED
@@ -7,3 +7,5 @@ export * from './types/methods/then/async-function.then.on-fulfilled-function.ts
7
7
  export * from './types/methods/then/async-function.then.on-rejected-function.ts';
8
8
  export * from './types/methods/share-concurent-calls/share-concurent-calls-options.ts';
9
9
  export * from './types/methods/map-arguments/map-function-arguments.ts';
10
+ export * from './types/methods/map-arguments/built-in/map-one-argument.ts';
11
+ export * from './types/methods/map-arguments/built-in/set-arguments.ts';
package/src/index.js CHANGED
@@ -7,4 +7,6 @@ export * from './types/methods/then/async-function.then.on-fulfilled-function.js
7
7
  export * from './types/methods/then/async-function.then.on-rejected-function.js';
8
8
  export * from './types/methods/share-concurent-calls/share-concurent-calls-options.js';
9
9
  export * from './types/methods/map-arguments/map-function-arguments.js';
10
+ export * from './types/methods/map-arguments/built-in/map-one-argument.js';
11
+ export * from './types/methods/map-arguments/built-in/set-arguments.js';
10
12
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8FAA8F,CAAC;AAC7G,cAAc,gEAAgE,CAAC;AAC/E,cAAc,mEAAmE,CAAC;AAClF,cAAc,kEAAkE,CAAC;AACjF,cAAc,wEAAwE,CAAC;AACvF,cAAc,yDAAyD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8FAA8F,CAAC;AAC7G,cAAc,gEAAgE,CAAC;AAC/E,cAAc,mEAAmE,CAAC;AAClF,cAAc,kEAAkE,CAAC;AACjF,cAAc,wEAAwE,CAAC;AACvF,cAAc,yDAAyD,CAAC;AACxE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,yDAAyD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { MapFunctionArguments } from '../map-function-arguments.ts';
2
+ /**
3
+ * Used to map the first argument of a Flow to another one.
4
+ *
5
+ * @template GIn - The type of the source argument.
6
+ * @template GOut - The type of the destination argument.
7
+ * @param {(value: GIn) => GOut} mapFnc - The function to map the source argument to the destination one.
8
+ * @returns {MapFunctionArguments<[GOut], [GIn]>} - A function that maps one argument to another one.
9
+ *
10
+ * @example
11
+ *
12
+ * ```ts
13
+ * const value = await fnc.mapArguments(mapOneArgument(Number)).call(signal, '10');
14
+ * ``
15
+ */
16
+ export declare function mapOneArgument<GIn, GOut>(mapFnc: (value: GIn) => GOut): MapFunctionArguments<[GOut], [GIn]>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Used to map the first argument of a Flow to another one.
3
+ *
4
+ * @template GIn - The type of the source argument.
5
+ * @template GOut - The type of the destination argument.
6
+ * @param {(value: GIn) => GOut} mapFnc - The function to map the source argument to the destination one.
7
+ * @returns {MapFunctionArguments<[GOut], [GIn]>} - A function that maps one argument to another one.
8
+ *
9
+ * @example
10
+ *
11
+ * ```ts
12
+ * const value = await fnc.mapArguments(mapOneArgument(Number)).call(signal, '10');
13
+ * ``
14
+ */
15
+ export function mapOneArgument(mapFnc) {
16
+ return (value) => [mapFnc(value)];
17
+ }
18
+ //# sourceMappingURL=map-one-argument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-one-argument.js","sourceRoot":"","sources":["../../../../../../src/types/methods/map-arguments/built-in/map-one-argument.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAY,MAA4B;IACpE,OAAO,CAAC,KAAU,EAAU,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { MapFunctionArguments } from '../map-function-arguments.ts';
2
+ /**
3
+ * Used to set the arguments of an AsyncFunction.
4
+ *
5
+ * @param args - The arguments to set.
6
+ * @returns {MapFunctionArguments<GArguments, []>} - A function that maps no arguments to a list of predefined ones.
7
+ *
8
+ * @example
9
+ *
10
+ * ```ts
11
+ * const value = await fnc.mapArguments(setArguments(10)).call(signal);
12
+ * ``
13
+ */
14
+ export declare function setArguments<GArguments extends readonly unknown[]>(...args: GArguments): MapFunctionArguments<GArguments, []>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Used to set the arguments of an AsyncFunction.
3
+ *
4
+ * @param args - The arguments to set.
5
+ * @returns {MapFunctionArguments<GArguments, []>} - A function that maps no arguments to a list of predefined ones.
6
+ *
7
+ * @example
8
+ *
9
+ * ```ts
10
+ * const value = await fnc.mapArguments(setArguments(10)).call(signal);
11
+ * ``
12
+ */
13
+ export function setArguments(...args) {
14
+ return () => args;
15
+ }
16
+ //# sourceMappingURL=set-arguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-arguments.js","sourceRoot":"","sources":["../../../../../../src/types/methods/map-arguments/built-in/set-arguments.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAG,IAAgB;IAEnB,OAAO,GAAe,EAAE,CAAC,IAAI,CAAC;AAChC,CAAC"}