'use strict'; /* global qFactory: false */ /* exported isFunction, isPromiseLike, isObject, isUndefined, minErr, extend */ /* eslint-disable no-unused-vars */ var isFunction = function isFunction(value) {return typeof value === 'function';}; var isPromiseLike = function isPromiseLike(obj) {return obj && isFunction(obj.then);}; var isObject = function isObject(value) {return value != null && typeof value === 'object';}; var isUndefined = function isUndefined(value) {return typeof value === 'undefined';}; var minErr = function minErr(module, constructor) { return function() { var ErrorConstructor = constructor || Error; throw new ErrorConstructor(module + arguments[0] + arguments[1]); }; }; var extend = function extend(dst) { for (var i = 1, ii = arguments.length; i < ii; i++) { var obj = arguments[i]; if (obj) { var keys = Object.keys(obj); for (var j = 0, jj = keys.length; j < jj; j++) { var key = keys[j]; dst[key] = obj[key]; } } } return dst; }; var $q = qFactory(process.nextTick, function noopExceptionHandler() {}); exports.resolved = $q.resolve; exports.rejected = $q.reject; exports.deferred = function() { var deferred = $q.defer(); return { promise: deferred.promise, resolve: deferred.resolve, reject: deferred.reject }; };