js-resolver

1.2.2 • Public • Published

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

  1. Light weight
  2. Dynamically resolve
  3. Used Strict IIFE
  4. Muliple files
  5. SOLID principle

Demo

  1. 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);

Dependents (0)

Package Sidebar

Install

npm i js-resolver

Weekly Downloads

63

Version

1.2.2

License

MIT

Unpacked Size

16.9 kB

Total Files

9

Last publish

Collaborators

  • muzammilkm