UNPKG

955 BJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.isAsyncIterable = exports.isAsyncGenerator = exports.isAsync = undefined;
7
8var _asyncify = require('../asyncify.js');
9
10var _asyncify2 = _interopRequireDefault(_asyncify);
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14function isAsync(fn) {
15 return fn[Symbol.toStringTag] === 'AsyncFunction';
16}
17
18function isAsyncGenerator(fn) {
19 return fn[Symbol.toStringTag] === 'AsyncGenerator';
20}
21
22function isAsyncIterable(obj) {
23 return typeof obj[Symbol.asyncIterator] === 'function';
24}
25
26function wrapAsync(asyncFn) {
27 if (typeof asyncFn !== 'function') throw new Error('expected a function');
28 return isAsync(asyncFn) ? (0, _asyncify2.default)(asyncFn) : asyncFn;
29}
30
31exports.default = wrapAsync;
32exports.isAsync = isAsync;
33exports.isAsyncGenerator = isAsyncGenerator;
34exports.isAsyncIterable = isAsyncIterable;
\No newline at end of file