xaa 1.7.0 → 1.7.3

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
@@ -2,7 +2,7 @@
2
2
 
3
3
  async/await and Promise helpers.
4
4
 
5
- <https://github.com/jchip/xaa>
5
+ github: <https://github.com/jchip/xaa>
6
6
 
7
7
  ## Install and Usage
8
8
 
@@ -12,7 +12,7 @@ npm i xaa
12
12
 
13
13
  ## APIs
14
14
 
15
- API references can be found [here](https://jchip.github.io/xaa/modules/index.html)
15
+ API references <https://jchip.github.io/xaa/>
16
16
 
17
17
  Or just use your IDE for hint if it supports TypeScript and typedoc.
18
18
 
@@ -32,9 +32,9 @@ async function test() {
32
32
  () => xaa.delay(10, 1),
33
33
  () => xaa.delay(15, 2),
34
34
  "some value",
35
- Promise.resolve("more value"),
35
+ Promise.resolve("more value")
36
36
  ])
37
- .then((results) => {
37
+ .then(results => {
38
38
  // results === [1, 2, "some value", "more value"]
39
39
  });
40
40
  }
@@ -3,7 +3,8 @@
3
3
  * @module index
4
4
  */
5
5
  declare type Consumer<T> = (item: T, index?: number) => unknown;
6
- declare type Producer<T> = () => T | Promise<T>;
6
+ declare type FuncProducer<T> = () => T | Promise<T>;
7
+ declare type Producer<T> = Promise<T> | FuncProducer<T>;
7
8
  declare type Predicate<T> = (item: T, index?: number) => boolean | Promise<boolean>;
8
9
  /**
9
10
  * Defer object for fulfilling a promise later in other events
@@ -31,7 +32,7 @@ export declare class Defer<T> {
31
32
  * @param args - result
32
33
  * @returns nothing
33
34
  */
34
- done(err: Error, ...args: any[]): void;
35
+ done: (err: Error, ...args: any[]) => void;
35
36
  }
36
37
  /**
37
38
  * Create a promise Defer object
@@ -57,8 +58,6 @@ export { makeDefer as defer };
57
58
  export declare class TimeoutError extends Error {
58
59
  constructor(msg: string);
59
60
  }
60
- declare type ValueOrProducer<T> = T extends Function ? never : T | Promise<T> | Producer<T>;
61
- declare type ValueOrErrorHandler<T> = T extends Function ? never : T | Promise<T> | ((err?: Error) => T | Promise<T>);
62
61
  /**
63
62
  * delay some milliseconds and then return `valOrFunc`
64
63
  *
@@ -75,8 +74,8 @@ declare type ValueOrErrorHandler<T> = T extends Function ? never : T | Promise<T
75
74
  * It can be an async function.
76
75
  * @returns `valOrFunc` or its returned value if it's a function.
77
76
  */
78
- export declare function delay<T extends Function>(delayMs: number, valOrFunc?: Producer<T>): Promise<T>;
79
- export declare function delay<T = void>(delayMs: number, valOrFunc: ValueOrProducer<T>): Promise<T>;
77
+ export declare function delay(delayMs: number): Promise<void>;
78
+ export declare function delay<T = void>(delayMs: number, valOrFunc: T): Promise<T>;
80
79
  declare type Task<T> = Promise<T> | (() => Promise<T>);
81
80
  declare type Tasks<T extends readonly any[]> = {
82
81
  readonly [P in keyof T]: Task<T[P]>;
@@ -198,6 +197,10 @@ export declare type MapContext<T> = {
198
197
  */
199
198
  assertNoFailure: () => void;
200
199
  };
200
+ declare type Awaited<T> = T extends PromiseLike<infer T2> ? {
201
+ 0: Awaited<T2>;
202
+ 1: T2;
203
+ }[T2 extends PromiseLike<any> ? 0 : 1] : T;
201
204
  /**
202
205
  * callback function for xaa.map to map the value.
203
206
  *
@@ -206,7 +209,7 @@ export declare type MapContext<T> = {
206
209
  * @param context MapContext
207
210
  * @returns any or a promise
208
211
  */
209
- export declare type MapFunction<T, O> = (value: T, index: number, context: MapContext<T>) => O | Promise<O>;
212
+ export declare type MapFunction<T, O> = (value: Awaited<T>, index: number, context: MapContext<T>) => O | Promise<O>;
210
213
  /**
211
214
  * async map array with concurrency
212
215
  *
@@ -217,7 +220,7 @@ export declare type MapFunction<T, O> = (value: T, index: number, context: MapCo
217
220
  * @param options - MapOptions
218
221
  * @returns promise with mapped result
219
222
  */
220
- export declare function map<T, O>(array: readonly T[], func: MapFunction<T, O>, options?: MapOptions): Promise<O[]>;
223
+ export declare function map<T, O>(array: readonly T[], func?: MapFunction<T, O>, options?: MapOptions): Promise<O[]>;
221
224
  /**
222
225
  * async version of array.forEach
223
226
  * - iterate through array and await call func with each element and index
@@ -248,16 +251,21 @@ export declare function each<T>(array: readonly T[], func: Consumer<T>): Promise
248
251
  * @returns filtered result
249
252
  */
250
253
  export declare function filter<T>(array: readonly T[], func: Predicate<T>): Promise<any[]>;
254
+ declare type ValueOrErrorHandler<T> = T extends Function ? never : T | Promise<T> | ((err?: Error) => T | Promise<T>);
251
255
  /**
252
- * try to call and await a function and if it throws, then return `valOrFunc`.
256
+ * try to:
257
+ * - await a promise
258
+ * - call and await function that returns a promise
259
+ *
260
+ * If exception occur, then return `valOrFunc`
253
261
  *
254
- * - if `valOrFunc` is a function, then return `await valOrFunc(err)`
262
+ * - if `valOrFunc` is a function, then return `valOrFunc(err)`
255
263
  *
256
- * @param func function to try
264
+ * @param funcOrPromise function or promise to try
257
265
  * @param valOrFunc value, or callback to get value, to return if `func` throws
258
- * @returns awaited result, `valOrFunc`, or `await valOrFunc(err)`.
266
+ * @returns result, `valOrFunc`, or `valOrFunc(err)`.
259
267
  */
260
- export declare function tryCatch<T, TAlt>(func: Producer<T>, valOrFunc?: ValueOrErrorHandler<TAlt>): Promise<T | TAlt>;
268
+ export declare function tryCatch<T, TAlt>(funcOrPromise: Producer<T>, valOrFunc?: ValueOrErrorHandler<TAlt>): Promise<T | TAlt>;
261
269
  export { tryCatch as try };
262
270
  /**
263
271
  * Wrap the calling of a function into async/await (promise) context
@@ -11,7 +11,16 @@ exports.wrap = exports.try = exports.tryCatch = exports.filter = exports.each =
11
11
  /* eslint-disable max-statements, @typescript-eslint/ban-types */
12
12
  const assert_1 = __importDefault(require("assert"));
13
13
  const util_1 = require("util");
14
- const setTimeoutPromise = util_1.promisify(setTimeout);
14
+ const setTimeoutPromise = (0, util_1.promisify)(setTimeout);
15
+ /**
16
+ * check if something is a promise
17
+ *
18
+ * @param p
19
+ * @returns true or false
20
+ */
21
+ function isPromise(p) {
22
+ return p && p.then && p.catch;
23
+ }
15
24
  /**
16
25
  * Defer object for fulfilling a promise later in other events
17
26
  *
@@ -29,22 +38,15 @@ class Defer {
29
38
  this.resolve = resolve;
30
39
  this.reject = reject;
31
40
  });
32
- }
33
- /**
34
- * node.js callback for the deferred promise
35
- *
36
- * @param err - error
37
- * @param args - result
38
- * @returns nothing
39
- */
40
- done(err, ...args) {
41
41
  // Not declaring (err, result) explicitly for standard node.js callback.
42
42
  // we can't be sure if user's API expects callback that
43
43
  // should have a second arg for result.
44
- if (err)
45
- this.reject(err);
46
- else
47
- this.resolve(args[0]);
44
+ this.done = (err, ...args) => {
45
+ if (err)
46
+ this.reject(err);
47
+ else
48
+ this.resolve(args[0]);
49
+ };
48
50
  }
49
51
  }
50
52
  exports.Defer = Defer;
@@ -76,7 +78,7 @@ class TimeoutError extends Error {
76
78
  constructor(msg) {
77
79
  super(msg);
78
80
  this.name = "TimeoutError";
79
- assert_1.default(msg);
81
+ (0, assert_1.default)(msg);
80
82
  }
81
83
  }
82
84
  exports.TimeoutError = TimeoutError;
@@ -251,7 +253,7 @@ function multiMap(array, func, options) {
251
253
  mapNext();
252
254
  };
253
255
  const handleRet = res => {
254
- if (res && res.then) {
256
+ if (isPromise(res)) {
255
257
  res.then(save, fail);
256
258
  return mapNext();
257
259
  }
@@ -260,8 +262,8 @@ function multiMap(array, func, options) {
260
262
  }
261
263
  };
262
264
  const item = array[pendingIx];
263
- if (item && item.then) {
264
- return item.then((val) => {
265
+ if (isPromise(item)) {
266
+ return item.then(val => {
265
267
  return handleRet(func.call(options.thisArg, val, pendingIx, context));
266
268
  }, fail);
267
269
  }
@@ -296,7 +298,7 @@ function multiMap(array, func, options) {
296
298
  * @returns promise with mapped result
297
299
  */
298
300
  async function map(array, func, options = { concurrency: 1 }) {
299
- assert_1.default(Array.isArray(array), `xaa.map expecting an array but got ${typeof array}`);
301
+ (0, assert_1.default)(Array.isArray(array), `xaa.map expecting an array but got ${typeof array}`);
300
302
  if (array.length < 1) {
301
303
  return [];
302
304
  }
@@ -309,7 +311,7 @@ async function map(array, func, options = { concurrency: 1 }) {
309
311
  for (let i = 0; i < array.length; i++) {
310
312
  try {
311
313
  let item = array[i];
312
- if (item && item.then) {
314
+ if (isPromise(item)) {
313
315
  item = await item;
314
316
  }
315
317
  awaited[i] = await func.call(options.thisArg, item, i, context);
@@ -369,17 +371,24 @@ async function filter(array, func) {
369
371
  }
370
372
  exports.filter = filter;
371
373
  /**
372
- * try to call and await a function and if it throws, then return `valOrFunc`.
374
+ * try to:
375
+ * - await a promise
376
+ * - call and await function that returns a promise
373
377
  *
374
- * - if `valOrFunc` is a function, then return `await valOrFunc(err)`
378
+ * If exception occur, then return `valOrFunc`
375
379
  *
376
- * @param func function to try
380
+ * - if `valOrFunc` is a function, then return `valOrFunc(err)`
381
+ *
382
+ * @param funcOrPromise function or promise to try
377
383
  * @param valOrFunc value, or callback to get value, to return if `func` throws
378
- * @returns awaited result, `valOrFunc`, or `await valOrFunc(err)`.
384
+ * @returns result, `valOrFunc`, or `valOrFunc(err)`.
379
385
  */
380
- async function tryCatch(func, valOrFunc) {
386
+ async function tryCatch(funcOrPromise, valOrFunc) {
381
387
  try {
382
- return await func();
388
+ if (isPromise(funcOrPromise)) {
389
+ return await funcOrPromise;
390
+ }
391
+ return await funcOrPromise();
383
392
  }
384
393
  catch (err) {
385
394
  return typeof valOrFunc === "function" ? valOrFunc(err) : valOrFunc;
@@ -399,4 +408,4 @@ async function wrap(func, ...args2) {
399
408
  return func(...args2);
400
409
  }
401
410
  exports.wrap = wrap;
402
- //# sourceMappingURL=xaa.js.map
411
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "xaa",
3
- "version": "1.7.0",
3
+ "version": "1.7.3",
4
4
  "description": "async/await/Promise helpers - delay, defer, timeout, each, map, filter",
5
- "main": "dist/xaa.js",
6
- "types": "dist/xaa.d.ts",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
7
  "scripts": {
8
- "build": "tsc",
9
- "test": "xrun xarc/test-only",
10
- "coverage": "xrun xarc/test-cov",
11
- "prepublishOnly": "xrun [[build, docs], xarc/check]",
8
+ "build": "rm -rf dist && tsc",
9
+ "test": "xrun -s build xarc/test-only",
10
+ "coverage": "xrun -s build xarc/test-cov",
11
+ "prepublishOnly": "xrun [[build, docs] xarc/check]",
12
12
  "docs": "clap xarc/docs && touch docs/.nojekyll"
13
13
  },
14
14
  "homepage": "https://jchip.github.io/xaa/",
@@ -59,8 +59,7 @@
59
59
  "sinon-chai": "^3.5.0",
60
60
  "source-map-support": "^0.5.19",
61
61
  "ts-node": "^9.1.1",
62
- "typedoc": "^0.20.13",
63
- "typedoc-plugin-external-module-name": "^3.0.0",
62
+ "typedoc": "^0.22.12",
64
63
  "typescript": "^4.1.3"
65
64
  },
66
65
  "nyc": {
@@ -97,11 +96,6 @@
97
96
  "trailingComma": "none",
98
97
  "arrowParens": "avoid"
99
98
  },
100
- "fyn": {
101
- "devDependencies": {
102
- "@xarc/module-dev": "../module-dev"
103
- }
104
- },
105
99
  "@xarc/module-dev": {
106
100
  "features": [
107
101
  "eslint",
@@ -120,7 +114,5 @@
120
114
  ],
121
115
  "recursive": true
122
116
  },
123
- "dependencies": {
124
- "tslib": "^2.1.0"
125
- }
117
+ "dependencies": {}
126
118
  }
package/dist/xaa.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"xaa.js","sourceRoot":"","sources":["../src/xaa.ts"],"names":[],"mappings":"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"}