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

di-helper

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

di-helper - npm Package Compare versions

Comparing version 2.2.0 to 3.0.0

lib/gloabl.js

148

lib/context.js
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(["exports", "core-js/modules/web.dom.iterable", "core-js/modules/es6.array.iterator", "core-js/modules/es6.object.keys", "core-js/modules/es6.regexp.constructor", "core-js/modules/es6.object.assign", "core-js/modules/es6.function.name", "core-js/modules/es7.symbol.async-iterator", "core-js/modules/es6.symbol", "autobind-decorator", "bluebird", "is-callable", "./error"], factory);
define(["exports", "core-js/modules/web.dom.iterable", "core-js/modules/es6.array.iterator", "core-js/modules/es6.object.keys", "core-js/modules/es6.regexp.constructor", "core-js/modules/es6.function.name", "autobind-decorator", "bluebird", "is-callable", "./error", "./provider"], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require("core-js/modules/web.dom.iterable"), require("core-js/modules/es6.array.iterator"), require("core-js/modules/es6.object.keys"), require("core-js/modules/es6.regexp.constructor"), require("core-js/modules/es6.object.assign"), require("core-js/modules/es6.function.name"), require("core-js/modules/es7.symbol.async-iterator"), require("core-js/modules/es6.symbol"), require("autobind-decorator"), require("bluebird"), require("is-callable"), require("./error"));
factory(exports, require("core-js/modules/web.dom.iterable"), require("core-js/modules/es6.array.iterator"), require("core-js/modules/es6.object.keys"), require("core-js/modules/es6.regexp.constructor"), require("core-js/modules/es6.function.name"), require("autobind-decorator"), require("bluebird"), require("is-callable"), require("./error"), require("./provider"));
} else {

@@ -10,6 +10,6 @@ var mod = {

};
factory(mod.exports, global.webDom, global.es6Array, global.es6Object, global.es6Regexp, global.es6Object, global.es6Function, global.es7Symbol, global.es6, global.autobindDecorator, global.bluebird, global.isCallable, global.error);
factory(mod.exports, global.webDom, global.es6Array, global.es6Object, global.es6Regexp, global.es6Function, global.autobindDecorator, global.bluebird, global.isCallable, global.error, global.provider);
global.context = mod.exports;
}
})(this, function (_exports, _webDom, _es6Array, _es6Object, _es6Regexp, _es6Object2, _es6Function, _es7Symbol, _es, _autobindDecorator, _bluebird, _isCallable, _error) {
})(this, function (_exports, _webDom, _es6Array, _es6Object, _es6Regexp, _es6Function, _autobindDecorator, _bluebird, _isCallable, _error, _provider) {
"use strict";

@@ -23,2 +23,3 @@

_error = _interopRequireDefault(_error);
_provider = _interopRequireDefault(_provider);

@@ -31,3 +32,2 @@ var _class, _class2, _temp;

var OPTIONS = Symbol('PROVIDER_OPTIONS');
var Context = (_class = (_temp = _class2 =

@@ -44,10 +44,4 @@ /*#__PURE__*/

function Context(_temp2) {
var _ref = _temp2 === void 0 ? {} : _temp2,
_ref$name = _ref.name,
name = _ref$name === void 0 ? null : _ref$name;
function Context(name) {
this._providers = {};
this._hooks = [];
this._modules = {};
this.name = name;

@@ -62,83 +56,24 @@

_proto.provide = function provide(key, value, provideOptions) {
if (provideOptions === void 0) {
provideOptions = {};
}
return this.addProvider(key, function () {
return value;
}, Object.assign({
constant: true
}, provideOptions));
_proto.provide = function provide(key) {
var provider = new _provider.default(this);
this._providers[key] = provider;
return provider;
};
_proto.addProvider = function addProvider(key, provider, provideOptions) {
if (provideOptions === void 0) {
provideOptions = {};
}
_proto.resolve = function resolve(key) {
var provider = this._providers[key];
if (!(0, _isCallable.default)(provider)) {
throw new _error.default('Provider must be callable');
if (provider === undefined) {
return _bluebird.default.reject(new _error.default("Cannot find provider for: " + key));
} else {
return _bluebird.default.resolve(provider.get());
}
this._providers[key] = provider;
this._providers[key][OPTIONS] = provideOptions;
return this;
};
_proto.addAlias = function addAlias(key, existingKey, provideOptions) {
_proto.resolveAll = function resolveAll(cond) {
var _this = this;
if (provideOptions === void 0) {
provideOptions = {};
}
return this.addProvider(key, function () {
return _this._providers[existingKey]();
}, Object.assign({
alias: true
}, provideOptions));
};
_proto.addHook = function addHook(hook) {
this._hooks.push(hook);
return this;
};
_proto.resolve = function resolve(key, resolveOptions) {
var _this2 = this;
if (resolveOptions === void 0) {
resolveOptions = {};
}
if (this._modules.hasOwnProperty(key)) {
return _bluebird.default.resolve(this._modules[key]);
}
if (!this._providers.hasOwnProperty(key)) {
return _bluebird.default.reject(new _error.default("Cannot find provider: " + key));
}
var provider = this._providers[key];
var options = Object.assign({}, provider[OPTIONS], resolveOptions);
return _bluebird.default.resolve(provider()).then(function (value) {
return _this2._applyPostResolveHooks(key, value, options);
}).then(function (hookedValue) {
_this2._modules[key] = hookedValue;
return hookedValue;
});
};
_proto.resolveAll = function resolveAll(cond, options) {
var _this3 = this;
if (options === void 0) {
options = {};
}
if (Array.isArray(cond)) {
return _bluebird.default.resolve(cond).map(function (c) {
return _this3.resolveAll(c, options);
return _this.resolveAll(c);
}).reduce(function (acc, item) {

@@ -155,3 +90,3 @@ return [].concat(acc, item);

}).map(function (key) {
return _this3.resolve(key, options);
return _this.resolve(key);
}).filter(function (values) {

@@ -164,3 +99,3 @@ return !!values;

return _bluebird.default.resolve(Object.keys(this._providers)).filter(cond).map(function (key) {
return _this3.resolve(key, options);
return _this.resolve(key);
}).filter(function (values) {

@@ -173,3 +108,3 @@ return !!values;

return _bluebird.default.resolve(Object.keys(this._providers)).map(function (key) {
return _this3.resolve(key, options);
return _this.resolve(key);
}).filter(function (values) {

@@ -184,3 +119,3 @@ return !!values;

return this.resolve(cond, options).then(function (value) {
return this.resolve(cond).then(function (value) {
return [value];

@@ -192,39 +127,20 @@ }).filter(function (values) {

_proto.using = function using(cond, tags) {
var _this4 = this;
_proto.using = function using(cond, consumer) {
var _this2 = this;
return function (consumer) {
return function () {
for (var _len = arguments.length, ownArgs = new Array(_len), _key = 0; _key < _len; _key++) {
ownArgs[_key] = arguments[_key];
}
return function () {
for (var _len = arguments.length, ownArgs = new Array(_len), _key = 0; _key < _len; _key++) {
ownArgs[_key] = arguments[_key];
}
return _this4.resolveAll(cond, tags).then(function (values) {
return consumer.apply(void 0, values.concat(ownArgs));
});
};
return _this2.resolveAll(cond).then(function (values) {
return consumer.apply(void 0, values.concat(ownArgs));
});
};
};
_proto._applyPostResolveHooks = function _applyPostResolveHooks(key, value, options) {
return _bluebird.default.reduce(this._hooks, function (arg, hook) {
return _bluebird.default.resolve(hook.postResolve(arg)).then(function (value) {
arg.value = value;
return arg;
});
}, {
key: key,
value: value,
originalValue: value,
options: options
}).then(function (_ref2) {
var value = _ref2.value;
return value;
});
};
return Context;
}(), _class2.repo = {}, _temp), (_applyDecoratedDescriptor(_class.prototype, "provide", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "provide"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "addProvider", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "addProvider"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "addAlias", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "addAlias"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "addHook", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "addHook"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "resolve", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "resolve"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "resolveAll", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "resolveAll"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "using", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "using"), _class.prototype)), _class);
}(), _class2.repo = {}, _temp), (_applyDecoratedDescriptor(_class.prototype, "provide", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "provide"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "resolve", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "resolve"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "resolveAll", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "resolveAll"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "using", [_autobindDecorator.default], Object.getOwnPropertyDescriptor(_class.prototype, "using"), _class.prototype)), _class);
var _default = Context;
_exports.default = _default;
});

@@ -0,6 +1,12 @@

require("core-js/modules/es6.array.iterator");
require("core-js/modules/es6.object.keys");
require("core-js/modules/web.dom.iterable");
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(["exports", "./context"], factory);
define(["exports", "./context", "./gloabl"], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require("./context"));
factory(exports, require("./context"), require("./gloabl"));
} else {

@@ -10,31 +16,22 @@ var mod = {

};
factory(mod.exports, global.context);
factory(mod.exports, global.context, global.gloabl);
global.index = mod.exports;
}
})(this, function (_exports, _context) {
})(this, function (_exports, _context, _gloabl) {
"use strict";
_exports.__esModule = true;
_exports.using = _exports.resolveAll = _exports.resolve = _exports.addAlias = _exports.addProvider = _exports.provide = _exports.context = void 0;
var _exportNames = {
Context: true
};
_exports.Context = void 0;
_context = _interopRequireDefault(_context);
_exports.Context = _context.default;
Object.keys(_gloabl).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
_exports[key] = _gloabl[key];
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var context = new _context.default({
name: 'default'
});
_exports.context = context;
var provide = context.provide,
addProvider = context.addProvider,
addAlias = context.addAlias,
resolve = context.resolve,
resolveAll = context.resolveAll,
using = context.using;
_exports.using = using;
_exports.resolveAll = resolveAll;
_exports.resolve = resolve;
_exports.addAlias = addAlias;
_exports.addProvider = addProvider;
_exports.provide = provide;
});
{
"name": "di-helper",
"version": "2.2.0",
"version": "3.0.0",
"description": "A concise JavaScript dependency injector",

@@ -46,5 +46,4 @@ "repository": "https://github.com/g6123/di-helper",

"bluebird": "^3.5.3",
"is-callable": "^1.1.4",
"is-promise": "^2.1.0"
"is-callable": "^1.1.4"
}
}

@@ -10,11 +10,17 @@ # di-helper

```javascript
import { provide, using } from 'di-helper';
import { provide } from 'di-helper';
provide('logger', () => {
provide('logger').with(() => {
return console.log;
});
using((['logger'])(logger => {
logger('The logger has been injected');
// ...
import { using } from 'di-helper';
const greet = using((['logger'], log => {
log('The logger has been injected');
});
greet();
```

@@ -30,4 +36,4 @@

// Default instance and its methods
import { context, provide, alias, resolve, resolveAll, using } from 'di-helper';
const { context, provide, alias, resolve, resolveAll, using } = require('di-helper');
import { context, provide, resolve, resolveAll, using } from 'di-helper';
const { context, provide, resolve, resolveAll, using } = require('di-helper');

@@ -34,0 +40,0 @@ // Context class

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