1.1.8 • Published 6 months ago

@types/subscribe-ui-event v1.1.8

Weekly downloads
476
License
MIT
Repository
github
Last release
6 months ago

Installation

npm install --save @types/subscribe-ui-event

Summary

This package contains type definitions for subscribe-ui-event (https://github.com/yahoo/subscribe-ui-event#readme).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/subscribe-ui-event.

index.d.ts

// Type definitions for subscribe-ui-event 1.1
// Project: https://github.com/yahoo/subscribe-ui-event#readme
// Definitions by: DefinitelyTyped <https://github.com/DefinitelyTyped>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3

export type UIEventType =
    | 'resize'
    | 'resizeEnd'
    | 'resizeStart'
    | 'scroll'
    | 'scrollEnd'
    | 'scrollStart'
    | 'visibilitychange';

export type TouchEventType =
    | 'touchend'
    | 'touchmove'
    | 'touchmoveEnd'
    | 'touchmoveStart'
    | 'touchstart';

export type EventType = UIEventType | TouchEventType;

export interface SubscribeOptions {
    context?: any;
    enableResizeInfo?: boolean | undefined;
    enableScrollInfo?: boolean | undefined;
    enableTouchInfo?: boolean | undefined;
    eventOptions?: AddEventListenerOptions | undefined;
    throttleRate?: number | undefined;
    useRAF?: boolean | undefined;
}

export interface ArgmentedEvent<T extends EventType> {
    mainType: string;
    resize: {
        height: number;
        width: number;
    };
    scroll: {
        delta: number;
        top: number;
    };
    subType: string;
    type: T;
    touch: {
        axisIntention: 'x' | 'y' | '';
        deltaX: number;
        deltaY: number;
        startX: number;
        startY: number;
    };
}

export type UIEventCallback<T extends UIEventType = UIEventType> = (
    event: UIEvent,
    payload: ArgmentedEvent<T>
) => any;

export type TouchEventCallback<T extends TouchEventType = TouchEventType> = (
    event: TouchEvent,
    payload: ArgmentedEvent<T>
) => any;

export interface Subscription {
    unsubscribe: () => void;
}

export function subscribe<T extends UIEventType>(
    eventType: T,
    callback: UIEventCallback<T>,
    options?: SubscribeOptions
): Subscription;

export function subscribe<T extends TouchEventType>(
    eventType: T,
    callback: TouchEventCallback<T>,
    options?: SubscribeOptions
): Subscription;

export function unsubscribe<T extends UIEventType>(
    eventType: T,
    callback: UIEventCallback<T>
): void;

export function unsubscribe<T extends TouchEventType>(
    eventType: T,
    callback: TouchEventCallback<T>
): void;

export function listen(
    target: EventTarget,
    eventType: string,
    handler: EventListenerOrEventListenerObject,
    options?: AddEventListenerOptions
): {
    remove: () => void;
};

Additional Details

  • Last updated: Thu, 23 Dec 2021 23:35:54 GMT
  • Dependencies: none
  • Global values: none

Credits

These definitions were written by DefinitelyTyped.

1.1.8

6 months ago

1.1.7

7 months ago

1.1.6

8 months ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

6 years ago

1.1.0

6 years ago