Base class to extend. Like backbone events.
npm install ts-base-class --save
/// <reference types="ts-base-class" />
npm install typescript -g
npm install tsd -g
npm run init npm run test
- on
- once
- off
- listenTo
- listenToOnce
- stopListening
- trigger
- onLoad
- loaded
- onReady
- ready
- onState
- setState
- hasState
- isLoaded
- on(eventName:string, handler:IHandler, context?:any):Base;
- once(eventName:string, handler:IHandler, context?:any):Base;
- off(eventName?:string, handler?:IHandler):Base;
- listenTo(target:Base, eventName:string, handler:IHandler, context?:any):Base;
- listenToOnce(target:Base, eventName:string, handler:IHandler, context?:any):Base;
- stopListening(target?:Base, eventName?:string, handler?:IHandler):Base;
- trigger(eventName:string, args?:Array):Base;
- onLoad(callback:Callback):Base;
- loaded():Base;
- onReady(callback:Callback):Base;
- ready():Base;
- onState(state:string, callback:Callback):Base;
- setState(state:string):Base;
- hasState(state:string):boolean;
- isLoaded():boolean;
/// <reference types="ts-base-class" />import{Base}from'ts-base-class';classMyClassextendsBase{//...}var$class=newMyClass();$class.on("Some:change",function(arg){console.log(thisinstanceofMyClass);//trueconsole.log(arg);//1});$class.on("Some",function(state:string,arg){console.log(thisinstanceofMyClass);//trueconsole.log(state);//"change"console.log(arg);//1});$class.trigger("Some:change",[1]);Licensed under ISC