How to use the @esfx/internal-guards.isIterable function in @esfx/internal-guards

To help you get started, we’ve selected a few @esfx/internal-guards examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github esfx / esfx / packages / collection-core / src / index.ts View on Github external
export function hasInstance(value: unknown): value is ReadonlyKeyedCollection {
        return isIterable(value)
            && ReadonlyKeyedCollection.size in value
            && ReadonlyKeyedCollection.has in value
            && ReadonlyKeyedCollection.get in value
            && ReadonlyKeyedCollection.keys in value
            && ReadonlyKeyedCollection.values in value;
    }
}
github esfx / esfx / packages / collection-core / src / index.ts View on Github external
export function isReadonlyCollection(value: any): value is ReadonlyCollection {
        return isIterable(value)
            && ReadonlyCollection.size in value
            && ReadonlyCollection.has in value;
    }
github esfx / esfx / packages / async-canceltoken / src / index.ts View on Github external
static all(cancelables: Iterable) {
        if (!isIterable(cancelables)) {
            throw new TypeError("Object not iterable: cancelables");
        }
        const signals: CancelSignal[] = [];
        for (const cancelable of cancelables) {
            if (!Cancelable.hasInstance(cancelable)) throw new TypeError("Cancelable element expected: cancelables");
            signals.push(cancelable[Cancelable.cancelSignal]());
        }
        if (!signals.some(canBeSignaled)) {
            return CancelToken.none;
        }
        if (signals.every(isSignaled)) {
            return CancelToken.canceled;
        }
        let signalsRemaining = signals.length;
        const subscriptions: CancelSubscription[] = [];
        const source = createCancelSource({
github esfx / esfx / packages / collection-core / src / index.ts View on Github external
export function hasInstance(value: any): value is ReadonlyCollection {
        return isIterable(value)
            && ReadonlyCollection.size in value
            && ReadonlyCollection.has in value;
    }
}
github esfx / esfx / packages / async-canceltoken / src / index.ts View on Github external
static race(cancelables: Iterable) {
        if (!isIterable(cancelables)) {
            throw new TypeError("Object not iterable: cancelables");
        }
        const signals: CancelSignal[] = [];
        for (const cancelable of cancelables) {
            if (!Cancelable.hasInstance(cancelable)) throw new TypeError("Cancelable element expected: cancelables");
            signals.push(cancelable[Cancelable.cancelSignal]());
        }
        if (!signals.some(canBeSignaled)) {
            return CancelToken.none;
        }
        if (signals.some(isSignaled)) {
            return CancelToken.canceled;
        }
        const subscriptions: CancelSubscription[] = [];
        const source = createCancelSource({
            getLinkedState() {

@esfx/internal-guards

This package provides internal utilities for @esfx and is not intended for use in user-code.

Apache-2.0
Latest version published 2 years ago

Package Health Score

48 / 100
Full package analysis

Similar packages