A light weight Inversion of Control(IOC) container for module pattern approch.
npm install js-resolverjs-Resolver($resolver)
===================
A light weight plugin for Inversion of Control(IOC) container for module pattern approch which can resolve an object or a class dynamically without polluting global scope. Adopating SOLID principle for seperation of concerns & single responsibility.
section or just before the closing tag of the section.
> npm install js-resolver
`
$3
`
$ bower install js-resolver
`
$3
`
PM> Install-Package js-resolver
`
Introduction
A light weight plugin for Inversion of Control(IOC) container which can resolve objects or functions dynamically without polluting global scope. Adopating SOLID principle for seperation of concerns & single responsibility. This plugin is best used in Module pattern approch with IIFE & when you load multiple js files in browser.
Basic Example
`javascript
(function (resolver) {
var personModel = {},
_data;
personModel.getFirstName = function() {
return _data.firstName;
};
personModel.getLastName = function() {
return _data.firstName;
};
personModel.setData = function(data) {
_data = data;
};
resolver('person', personModel);
}(window.$resolver));
`
##### Resolving model
`javascript
(function (resolver) {
var person = resolver('person');
person.setData({
firstName: 'Muzammil',
middleName: 'Khaja',
lastName: 'Mohammed'
});
console.log("your first name: " + person.getFirstName());
console.log("your last name: " +person.getLastName());
}(window.$resolver));
`
Documentation
Add/Register either an object or a function or a value with $resolver to be resolved later
`javascript
window.$resolver('alias name', object or function or value);
`
To resolve an object or a function or a value via alias name
`javascript
var expected = window.$resolver('alias name');
`
To check alias name is added/registered in $resolver.
`javascript
var expected = window.$resolver.has('alias name');
`
To remove an object or a function or a value from $resolver.
`javascript
var expected = window.$resolver.has('alias name');
if(expected){
console.log('Exists');
} else{
console.log('Does not Exists');
}
`
Add/Register singleton/static object in $resolver.
`javascript
var expected = window.$resolver.service('alias name', {});
`
To extend singleton/static object in $resolver.
`javascript
var expected = window.$resolver.service('alias name');
expected.extend(object or function or value);
``