Sha256: dace1dd999e04795f4734f2fd6aed98cc7ee97857d9fa96961e9b7ce4c14d70e

Contents?: true

Size: 1015 Bytes

Versions: 33

Compression:

Stored size: 1015 Bytes

Contents

/// <reference types="node" />
import { EventEmitter } from 'events';
import { OverloadedParameters } from './overloaded-parameters';
export declare type FirstParameter<T> = T extends [infer R, ...any[]] ? R : never;
export declare type EventListener<F, T extends string | symbol> = F extends [
    T,
    infer R,
    ...any[]
] ? R : never;
export declare type EventParameters<Emitter extends EventEmitter> = OverloadedParameters<Emitter['on']>;
export declare type EventNames<Emitter extends EventEmitter> = FirstParameter<EventParameters<Emitter>>;
export declare type EventListenerParameters<Emitter extends EventEmitter, Event extends EventNames<Emitter>> = WithDefault<Parameters<EventListener<EventParameters<Emitter>, Event>>, unknown[]>;
export declare type WithDefault<T, D> = [T] extends [never] ? D : T;
export interface AbortSignal {
    addEventListener: (name: string, listener: (...args: any[]) => any) => void;
    removeEventListener: (name: string, listener: (...args: any[]) => any) => void;
}

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
immosquare-cleaner-0.1.60 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.59 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.58 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.57 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.56 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.55 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.54 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.53 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.52 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.51 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.50 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.49 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.48 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.47 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.46 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.45 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.44 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.43 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.42 node_modules/@tootallnate/once/dist/types.d.ts
immosquare-cleaner-0.1.41 node_modules/@tootallnate/once/dist/types.d.ts