0.2.0 • Published 10 years ago

jsdic v0.2.0

Weekly downloads
1
License
MIT
Repository
github
Last release
10 years ago

JsDic

Dependecy injection container for javascript inspired by Angular.js

License: MIT

Features

  • value, service and factory definition in Angular.js style
  • like in Angular.js, dependencies can be defined by an array of names or parsed from function
  • circular dependency detection
  • works with browser, node.js and browserify

Installation

npm

npm install --save jsdic

browser

Load file jsdic.js and use JsDic class.

Example

function AjaxService(ajaxUrl) {
	this.ajaxUrl = ajaxUrl;
	// ...
}

function AjaxController(service, data) {
	this.service = service;
	this.data = data;
	// ...
}

var JsDic = require('jsdic'); // node, browserify
var dic = new JsDic();
dic
	.value('ajaxUrl', '/some-ajax-action')
	.value('initialData', [1, 2, 3])
	.service('ajaxService', AjaxService)
	.factory('ajaxController', function (ajaxService, initialData) {
		return new AjaxController(ajaxService, initialData);
	});

var ctrl = dic.get('ajaxController');
// or
var ctrl = dic.ajaxController;
// or
var ctrl = dic['ajaxController'];

// dependencies can be defined explicitly
dic
	.value('ajaxUrl', '/some-ajax-action')
	.value('initialData', [1, 2, 3])
	.service('ajaxService', ['ajaxUrl', AjaxService])
	.factory('ajaxController', ['ajaxService', 'initialData', function (as, id) {
		return new AjaxController(as, id);
	}]);

Sources

0.2.0

10 years ago

0.1.2

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago

0.0.1

11 years ago

0.0.0

11 years ago