UNPKG

page-communication

Version:
140 lines (134 loc) 6.73 kB
// Generated by dts-bundle v0.7.3 declare module 'page-communication' { export * from "page-communication/communication"; export * from "page-communication/event"; export * from "page-communication/handler"; } declare module 'page-communication/communication' { import { EventEmitter } from 'page-communication/event'; export class PageSocket extends EventEmitter { /** * socket communication between pages * @param context otherwindow * @param target otherwindow origin */ constructor(context: any, target: string); /** * send data to the destination page * @param data string or arraybuffer */ send(data: any): void; } } declare module 'page-communication/event' { /** * @author confiner * @desc 可调度事件的所有类的基类。 */ export class Event { static readonly Message: string; static readonly Error: string; } export class EventEmitter { /** * 检查 EvetEmitter 对象是否为特定事件类型注册了任何侦听器。 * @param type 事件的类型。 * @return 如果指定类型的侦听器已注册,则值为 true;否则,值为 false。 */ hasListener(type: string): boolean; /** * 派发事件。 * @param type 事件类型。 * @param data (可选)回调数据。<b>注意:</b>如果是需要传递多个参数 p1,p2,p3,...可以使用数组结构如:[p1,p2,p3,...] ;如果需要回调单个参数 p ,且 p 是一个数组,则需要使用结构如:[p],其他的单个参数 p ,可以直接传入参数 p。 * @return 此事件类型是否有侦听者,如果有侦听者则值为 true,否则值为 false。 */ event(type: string, data?: any): boolean; /** * 使用 EventEmmiter 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知。 * @param type 事件的类型。 * @param caller 事件侦听函数的执行域。 * @param listener 事件侦听函数。 * @param args (可选)事件侦听函数的回调参数。 * @return 此 EvetEmitter 对象。 */ on(type: string, caller: any, listener: Function, args?: any): EventEmitter; /** * 使用 EventEmitter 对象注册指定类型的事件侦听器对象,以使侦听器能够接收事件通知,此侦听事件响应一次后自动移除。 * @param type 事件的类型。 * @param caller 事件侦听函数的执行域。 * @param listener 事件侦听函数。 * @param args (可选)事件侦听函数的回调参数。 * @return 此 EventEmitter 对象。 */ once(type: string, caller: any, listener: Function, args?: any): EventEmitter; /**@private */ _createListener(type: string, caller: any, listener: Function, args: any, once: boolean, offBefore?: Boolean): EventEmitter; /** * 从 EventEmitter 对象中删除侦听器。 * @param type 事件的类型。 * @param caller 事件侦听函数的执行域。 * @param listener 事件侦听函数。 * @param onceOnly (可选)如果值为 true ,则只移除通过 once 方法添加的侦听器。 * @return 此 EventEmitter 对象。 */ off(type: string, caller: any, listener: Function, onceOnly?: boolean): EventEmitter; /** * 从 EventEmitter 对象中删除指定事件类型的所有侦听器。 * @param type (可选)事件类型,如果值为 null,则移除本对象所有类型的侦听器。 * @return 此 EventEmitter 对象。 */ offAll(type?: string | null): EventEmitter; } } declare module 'page-communication/handler' { export class Handler { caller: any; method: Function | null; args: Array<any> | null; once: Boolean; protected _id: number; /** * 根据指定的属性值,创建一个 <code>Handler</code> 类的实例。 * @param caller 执行域。 * @param method 处理函数。 * @param args 函数参数。 * @param once 是否只执行一次。 */ constructor(caller?: any, method?: Function | null, args?: Array<any> | null, once?: Boolean); /** * 设置此对象的指定属性值。 * @param caller 执行域(this)。 * @param method 回调方法。 * @param args 携带的参数。 * @param once 是否只执行一次,如果为true,执行后执行recover()进行回收。 * @return 返回 handler 本身。 */ setTo(caller: any, method: Function | null, args: Array<any> | null, once: Boolean): Handler; /** * 执行处理器。 */ run(): any; /** * 执行处理器,携带额外数据。 * @param data 附加的回调数据,Array */ runWith(data: any): any; /** * 清理对象引用。 */ clear(): Handler; /** * 清理并回收到 Handler 对象池内。 */ recover(): void; /** * 从对象池内创建一个Handler,默认会执行一次并立即回收,如果不需要自动回收,设置once参数为false。 * @param caller 执行域(this)。 * @param method 回调方法。 * @param args 携带的参数。 * @param once 是否只执行一次,如果为true,回调后执行recover()进行回收,默认为true。 * @return 返回创建的handler实例。 */ static create(caller: any, method: Function, args?: any, once?: Boolean): Handler; } }