extra-utils 5.0.1 → 5.1.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
@@ -279,3 +279,74 @@ function pipe<T, U>(
279
279
  , ...operators: Array<(value: any) => unknown>
280
280
  ): U
281
281
  ```
282
+
283
+ ### pipeAsync
284
+ ```ts
285
+ function pipeAsync<A, B, C, D, E, F, G, H>(
286
+ value: Awaitable<A>
287
+ , ...operators: [
288
+ (value: A) => Awaitable<B>
289
+ , (value: B) => Awaitable<C>
290
+ , (value: C) => Awaitable<D>
291
+ , (value: D) => Awaitable<E>
292
+ , (value: E) => Awaitable<F>
293
+ , (value: F) => Awaitable<G>
294
+ , (value: G) => Awaitable<H>
295
+ ]
296
+ ): Promise<H>
297
+ function pipeAsync<A, B, C, D, E, F, G>(
298
+ value: Awaitable<A>
299
+ , ...operators: [
300
+ (value: A) => Awaitable<B>
301
+ , (value: B) => Awaitable<C>
302
+ , (value: C) => Awaitable<D>
303
+ , (value: D) => Awaitable<E>
304
+ , (value: E) => Awaitable<F>
305
+ , (value: F) => Awaitable<G>
306
+ ]
307
+ ): Promise<G>
308
+ function pipeAsync<A, B, C, D, E, F>(
309
+ value: Awaitable<A>
310
+ , ...operators: [
311
+ (value: A) => Awaitable<B>
312
+ , (value: B) => Awaitable<C>
313
+ , (value: C) => Awaitable<D>
314
+ , (value: D) => Awaitable<E>
315
+ , (value: E) => Awaitable<F>
316
+ ]
317
+ ): Promise<F>
318
+ function pipeAsync<A, B, C, D, E>(
319
+ value: Awaitable<A>
320
+ , ...operators: [
321
+ (value: A) => Awaitable<B>
322
+ , (value: B) => Awaitable<C>
323
+ , (value: C) => Awaitable<D>
324
+ , (value: D) => Awaitable<E>
325
+ ]
326
+ ): Promise<E>
327
+ function pipeAsync<A, B, C, D>(
328
+ value: Awaitable<A>
329
+ , ...operators: [
330
+ (value: A) => Awaitable<B>
331
+ , (value: B) => Awaitable<C>
332
+ , (value: C) => Awaitable<D>
333
+ ]
334
+ ): Promise<D>
335
+ function pipeAsync<A, B, C>(
336
+ value: Awaitable<A>
337
+ , ...operators: [
338
+ (value: A) => Awaitable<B>
339
+ , (value: B) => Awaitable<C>
340
+ ]
341
+ ): Promise<C>
342
+ function pipeAsync<A, B>(
343
+ value: Awaitable<A>
344
+ , ...operators: [
345
+ (value: A) => Awaitable<B>
346
+ ]
347
+ ): Promise<B>
348
+ function pipeAsync<T, U>(
349
+ value: Awaitable<T>
350
+ , ...operators: Array<(value: any) => Awaitable<unknown>>
351
+ ): Promise<U>
352
+ ```
package/lib/index.d.ts CHANGED
@@ -11,3 +11,4 @@ export * from './is-symbol.js';
11
11
  export * from './is-date.js';
12
12
  export * from './is-function.js';
13
13
  export * from './pipe.js';
14
+ export * from './pipe-async.js';
package/lib/index.js CHANGED
@@ -11,4 +11,5 @@ export * from './is-symbol.js';
11
11
  export * from './is-date.js';
12
12
  export * from './is-function.js';
13
13
  export * from './pipe.js';
14
+ export * from './pipe-async.js';
14
15
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { Awaitable } from 'justypes';
2
+ export declare function pipeAsync<A, B, C, D, E, F, G, H>(value: Awaitable<A>, ...operators: [
3
+ (value: A) => Awaitable<B>,
4
+ (value: B) => Awaitable<C>,
5
+ (value: C) => Awaitable<D>,
6
+ (value: D) => Awaitable<E>,
7
+ (value: E) => Awaitable<F>,
8
+ (value: F) => Awaitable<G>,
9
+ (value: G) => Awaitable<H>
10
+ ]): Promise<H>;
11
+ export declare function pipeAsync<A, B, C, D, E, F, G>(value: Awaitable<A>, ...operators: [
12
+ (value: A) => Awaitable<B>,
13
+ (value: B) => Awaitable<C>,
14
+ (value: C) => Awaitable<D>,
15
+ (value: D) => Awaitable<E>,
16
+ (value: E) => Awaitable<F>,
17
+ (value: F) => Awaitable<G>
18
+ ]): Promise<G>;
19
+ export declare function pipeAsync<A, B, C, D, E, F>(value: Awaitable<A>, ...operators: [
20
+ (value: A) => Awaitable<B>,
21
+ (value: B) => Awaitable<C>,
22
+ (value: C) => Awaitable<D>,
23
+ (value: D) => Awaitable<E>,
24
+ (value: E) => Awaitable<F>
25
+ ]): Promise<F>;
26
+ export declare function pipeAsync<A, B, C, D, E>(value: Awaitable<A>, ...operators: [
27
+ (value: A) => Awaitable<B>,
28
+ (value: B) => Awaitable<C>,
29
+ (value: C) => Awaitable<D>,
30
+ (value: D) => Awaitable<E>
31
+ ]): Promise<E>;
32
+ export declare function pipeAsync<A, B, C, D>(value: Awaitable<A>, ...operators: [
33
+ (value: A) => Awaitable<B>,
34
+ (value: B) => Awaitable<C>,
35
+ (value: C) => Awaitable<D>
36
+ ]): Promise<D>;
37
+ export declare function pipeAsync<A, B, C>(value: Awaitable<A>, ...operators: [
38
+ (value: A) => Awaitable<B>,
39
+ (value: B) => Awaitable<C>
40
+ ]): Promise<C>;
41
+ export declare function pipeAsync<A, B>(value: Awaitable<A>, ...operators: [
42
+ (value: A) => Awaitable<B>
43
+ ]): Promise<B>;
44
+ export declare function pipeAsync<T, U>(value: Awaitable<T>, ...operators: Array<(value: any) => Awaitable<unknown>>): Promise<U>;
@@ -0,0 +1,8 @@
1
+ export async function pipeAsync(value, ...operators) {
2
+ let result = await value;
3
+ for (const operator of operators) {
4
+ result = await operator(result);
5
+ }
6
+ return result;
7
+ }
8
+ //# sourceMappingURL=pipe-async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipe-async.js","sourceRoot":"","sources":["../src/pipe-async.ts"],"names":[],"mappings":"AAqEA,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAmB,EACnB,GAAG,SAAyC;IAE5C,IAAI,MAAM,GAAU,MAAM,KAAK,CAAA;IAC/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAA;KAChC;IACD,OAAO,MAAW,CAAA;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-utils",
3
- "version": "5.0.1",
3
+ "version": "5.1.0",
4
4
  "description": "Utilities for JavaScript and Typescript",
5
5
  "files": [
6
6
  "lib"
@@ -35,25 +35,25 @@
35
35
  "devDependencies": {
36
36
  "@blackglory/jest-resolver": "^0.3.0",
37
37
  "@blackglory/pass": "^1.1.0",
38
- "@commitlint/cli": "^17.4.2",
39
- "@commitlint/config-conventional": "^17.4.2",
40
- "@types/jest": "^29.2.6",
41
- "@types/jsdom": "^20.0.1",
38
+ "@commitlint/cli": "^17.4.4",
39
+ "@commitlint/config-conventional": "^17.4.4",
40
+ "@types/jest": "^29.4.0",
41
+ "@types/jsdom": "^21.1.0",
42
42
  "@types/lodash-es": "^4.17.6",
43
- "@typescript-eslint/eslint-plugin": "^5.48.2",
44
- "@typescript-eslint/parser": "^5.48.2",
43
+ "@typescript-eslint/eslint-plugin": "^5.52.0",
44
+ "@typescript-eslint/parser": "^5.52.0",
45
45
  "cross-env": "^7.0.3",
46
- "eslint": "^8.32.0",
46
+ "eslint": "^8.34.0",
47
47
  "husky": "^4.3.8",
48
- "jest": "^29.3.1",
49
- "jest-resolve": "^29.3.1",
48
+ "jest": "^29.4.3",
49
+ "jest-resolve": "^29.4.3",
50
50
  "npm-run-all": "^4.1.5",
51
51
  "rimraf": "^3.0.2",
52
52
  "standard-version": "^9.5.0",
53
53
  "ts-jest": "^29.0.5",
54
54
  "ts-patch": "^2.1.0",
55
55
  "tsd": "^0.25.0",
56
- "tslib": "^2.4.1",
56
+ "tslib": "^2.5.0",
57
57
  "typescript": "4.8",
58
58
  "typescript-transform-paths": "^3.4.6"
59
59
  },