js-resolver
v1.2.2
Published
A light weight Inversion of Control(IOC) container for module pattern approch.
Downloads
100
Maintainers
Readme
js-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.
Features
- Light weight
- Dynamically resolve
- Used Strict IIFE
- Muliple files
- SOLID principle
Demo
Installation
Manual Installation
Download the js-resolver.js file or jq-resolver.min.js (recommended) file from dist folder and include it in your page either in the <head>
section or just before the closing tag of the <body>
section.
NPM
> npm install js-resolver
Bower
$ bower install js-resolver
Nuget
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
(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
(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
window.$resolver('alias name', object or function or value);
To resolve an object or a function or a value via alias name
var expected = window.$resolver('alias name');
To check alias name is added/registered in $resolver.
var expected = window.$resolver.has('alias name');
To remove an object or a function or a value from $resolver.
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.
var expected = window.$resolver.service('alias name', {});
To extend singleton/static object in $resolver.
var expected = window.$resolver.service('alias name');
expected.extend(object or function or value);