isg-types

Free typification built on isg-events module.

isg-types@0.0.1

Free typification built on isg-events module.

Install

  • NPM npm install isg-types
  • GIT git clone https://github.com/isglazunov/types.git
  • download from releases

Require

Depends on the modules:

var isgEvents = require('isg-events')
var isgTypes = require('isg-types');
var Types = isgTypes(require('underscore'), require('async'), isgEvents(require('underscore'), require('async')));
<script src="isg-events.js"></script>
<script src="isg-types.js"></script>
var Events = new isgEvents(_, async);
var Types = new isgTypes(_, async, Events);
define(['./isg-events.js', './isg-types.js'], function(isgEventsisgTypes){
    var Events = new isgEvents(_, async);
    var Types = new isgTypes(_, async, Events);
});

Usage

Container type described and methods for their descriptions.

var server = new Types.Server;

or

var MyServer = function(){};
MyServer.prototype = new Types.Server;
var server = new MyServer;

Description of the types of events are stored as isg-events variable in server._isgTypesEvents. The options are passed to the method as events.on.

server.describe('user', function(nextclientexports){
    exports.isAdmin = function(){
        return _.indexOf(client.groups, 'admin') !== -1
    };
});

The object client will have a functional initialized types.

var client = new Types.Client;

or

var MyClient = function(){};
MyClient.prototype = new Types.Client;
var client = new MyClient;

Starts the initialization of all types that are contained in the array client._isgTypes. In other words, starts each by name as the event type in the object server._isgTypesEvents. The argument callback will be executed after the initialization of all types.

client.initialize('user', function(){
    console.log('trigger');
});

Gets exports specified type. Allows the use of a functional type of an object of client.

client.groups = ['admin']
client.as('user').isAdming() // => true; 

The basic functionality.