12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 'use strict';
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = ensureAsync;
- var _setImmediate = require('./internal/setImmediate');
- var _setImmediate2 = _interopRequireDefault(_setImmediate);
- var _initialParams = require('./internal/initialParams');
- var _initialParams2 = _interopRequireDefault(_initialParams);
- var _wrapAsync = require('./internal/wrapAsync');
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- function ensureAsync(fn) {
- if ((0, _wrapAsync.isAsync)(fn)) return fn;
- return (0, _initialParams2.default)(function (args, callback) {
- var sync = true;
- args.push(function () {
- var innerArgs = arguments;
- if (sync) {
- (0, _setImmediate2.default)(function () {
- callback.apply(null, innerArgs);
- });
- } else {
- callback.apply(null, innerArgs);
- }
- });
- fn.apply(this, args);
- sync = false;
- });
- }
- module.exports = exports['default'];
|