Skip to content

Releases: staticfunction/kola-signals

Kola Signals v0.1.1

17 Mar 11:15

Choose a tag to compare

New!

  • Easier listening to dispatchers via listen() method
  • Fix issues with having multiple versions of this module to your bundle
  • Availability of AMD version

Kola Signals

Statically-Typed For U implementation of signals. Use with Typescript but you can also use it for Javascript/Coffeescript.

Install via:

    npm install kola-signals --save

Quick guide

import signals = require('kola-signals');

var messenger:signals.Dispatcher<string> = new signals.Dispatcher<string>();

var receiver = (msg: string) => {
    console.log("message received!", msg);
}

messenger.listen(receiver);
messenger.dispatch("Hello Awesomeness!");

Use it in classes

import signals = require('kola-signals');

var smsService = new signals.Dispatcher<string>();

class Phone {

    msgs: string[];

    constructor() {
        this.msgs = [];
    }

    onReceiveMsg(msg:string):void {
        console.log("Message received!", msg);
        this.msgs.push(msg);
    }
}

var phone: Phone = new Phone();

smsService.listen(phone.onReceiveMsg, phone);

smsService.dispatch("Hi there!");

NOTE: In this example, we pass in the 'phone' as second argument for listen(). It allows the onReceiveMsg() to be called with 'this' as the 'phone' instance.

Call once

import signals = require('kola-signals');

smsDispatcher.listen(onceAFunction, null, true);

Unlisten

The listen() method of signals.Dispatcher returns an instance of signals.Listener. You can use this instance to call unlisten() like so:

var listener = smsService.listen(onReceiveMsg);

...

listener.unlisten();

STFU-Signals first release!

28 Aug 03:58

Choose a tag to compare

STFU-Signals is a simple signals implementation. Use it better with typescript!

STFU! Signals

Statically-Typed For U implementation of signals. Use with Typescript but you can also use it for Javascript/Coffeescript.

Install via:

    npm install stfu-signals --save

Quick guide

import signals = require('stfu-signals');

var messenger:signals.SignalDispatcher<string> = new signals.SignalDispatcher<string>();

var receiver = (msg: string) => {
    console.log("message received!", msg);
}

messenger.addListener(new signals.SignalListener<string>(receiver));

messenger.dispatch("Hello Awesomeness!");

Use it in classes

import signals = require('stfu-signals');

var smsService = new signals.SignalDispatcher<string>();

class Phone {

    smsSignalReceiver:signals.SignalListener<string>;

    constructor() {
        this.smsSignalReceiver = new signals.SignalListener<string>(this.onReceiveMsg, this);
    }

    onReceiveMsg(msg:string):void {
        console.log("Message received!", msg);
    }
}

var phone: Phone = new Phone();

smsService.addListener(phone.smsSignalReceiver);

smsService.dispatch("Hi there!");

Call once

import signals = require('stfu-signals');

var onceAListener:signals.SignalListener<string> = new signals.SignalListener(onceAFunction, null, true);
smsDispatcher.addListener(onceAListener);