UNPKG

prex-es5

Version:

Async coordination primitives and extensions on top of ES6 Promises

46 lines (43 loc) 1.73 kB
/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Licensed under the Apache License, Version 2.0. See LICENSE file in the project root for details. ***************************************************************************** */ import "./asyncIterable"; function isTypeOf(value, typeTag, optional) { return isMissing(value) ? optional : typeof value === typeTag; } export function isMissing(value) { return value === null || value === undefined; } export function isString(value, optional = false) { return isTypeOf(value, "string", optional); } export function isNumber(value, optional = false) { return isTypeOf(value, "number", optional); } export function isBoolean(value, optional = false) { return isTypeOf(value, "boolean", optional); } export function isSymbol(value, optional = false) { return isTypeOf(value, "symbol", optional); } export function isFunction(value, optional = false) { return isTypeOf(value, "function", optional); } export function isObject(value, optional = false) { return isTypeOf(value, "object", optional); } export function isInstance(value, constructor, optional = false) { return isMissing(value) ? optional : value instanceof constructor; } export function isIterable(value, optional = false) { return isMissing(value) ? optional : isObject(value) && isFunction(value[Symbol.iterator]); } export function isAsyncIterable(value, optional = false) { return isMissing(value) ? optional : isObject(value) && isFunction(value[Symbol.asyncIterator]); } export function isPromiseLike(value) { return isObject(value) && isFunction(value.then); } //# sourceMappingURL=utils.js.map