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

    Install

    npm i js-resolver

    DownloadsWeekly Downloads

    5

    Version

    1.2.2

    License

    MIT

    Unpacked Size

    16.9 kB

    Total Files

    9

    Last publish

    Collaborators

    • muzammilkm