New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

s-loc

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

s-loc - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

readme.md

42

index.js

@@ -6,17 +6,45 @@ module.exports = () => {

sLoc.factory = (name, factory) => {
factories[name] = factory;
if(typeof factory === 'object') {
factories[name] = {};
factories[name].orig = factory[Object.keys(factory)[0]];
if(factory[Object.keys(factory)[1]]) {
factories[name].second = factory[Object.keys(factory)[1]];
}
factories[name].parent = factory
} else {
factories[name] = {};
factories[name].orig = factory
}
};
sLoc.register = (name, instance) => {
dependencies[name] = instance;
if(typeof instance === 'object') {
dependencies[name] = {};
dependencies[name].orig = instance[Object.keys(instance)[0]];
if(instance[Object.keys(instance)[1]]) {
dependencies[name].second = instance[Object.keys(instance)[1]];
}
dependencies[name].parent = instance
} else {
dependencies[name] = {};
dependencies[name].orig = instance
}
};
sLoc.get = (name) => {
if(!dependencies[name]) {
sLoc.get = (name,override, overrideName) => {
if(overrideName){
return dependencies[name].parent[overrideName];
}
else if(override === true) {
return dependencies[name].second
}
else {
if(!dependencies[name].orig) {
var factory = factories[name];
dependencies[name] = factory && factory(sLoc);
if(dependencies[name]) {
dependencies[name].orig = factory && factory(sLoc);
if(dependencies[name].orig) {
throw new Error (`Cannot locate ${name}`)
}
}
return dependencies[name]
return dependencies[name].orig
}
};

@@ -23,0 +51,0 @@ return sLoc;

2

package.json
{
"name": "s-loc",
"version": "1.0.0",
"version": "1.1.0",
"description": "A simple service locator",

@@ -5,0 +5,0 @@ "main": "index.js",

var locator = require('./index')();
var orig = function() {
var obj = {
orig : function() {
console.log('THIS HAPPENED');
},
backup: function() {
console.log('THIS RIGHT HERE')
},
third: function() {
console.log('last one happened');
},
last: function() {
console.log('real lastone');
}
};
locator.register('testGet',orig);
locator.register('testGet',obj);
locator.register('func',obj.last);
var func = locator.get('func');
var testGet = locator.get('testGet');
testGet();
var testSecond = locator.get('testGet',true);
var testThird = locator.get('testGet',true,'third');
func();
testGet();
testSecond();
testThird();
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc