ts-base-class

base class to exntends

Usage no npm install needed!

<script type="module">
  import tsBaseClass from 'https://cdn.skypack.dev/ts-base-class';
</script>

README

BaseClass

Base class to extend. Like backbone events.

Installation

npm install ts-base-class --save

Interface path

/// <reference types="ts-base-class" />

For configure project:

npm install typescript -g
npm install tsd -g
npm run init 

For start test:

npm run test

Methods

  • 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;

Example


     /// <reference types="ts-base-class" />
     import {Base} from 'ts-base-class';
     
     class MyClass extends Base {
        //...
        
     }
     
     var $class = new MyClass();
     
     $class.on("Some:change", function (arg) {
        console.log(this instanceof MyClass); //true
        console.log(arg); //1
     });
     
     $class.on("Some", function (state:string, arg) {
        console.log(this instanceof MyClass); //true
        console.log(state); //"change"
        console.log(arg); //1
     });
     
     $class.trigger("Some:change", [1]);


Version: 2.0.2


License

Licensed under ISC