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

true-di

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

true-di - npm Package Compare versions

Comparing version 2.0.0 to 2.0.1

2

esm/create-instance.d.ts
import { IFactories, VoidFn } from './types';
declare const createInstanceFactory: <C extends object>(factories: IFactories<C>, instances: Map<keyof C, any>, stack?: import("./unique-stack").IUniqueStack<keyof C>, initializers?: Set<VoidFn>) => <N extends keyof C>(container: C, name: N) => C[N];
declare const createInstanceFactory: <C extends object>(factories: IFactories<C>, instances: Map<keyof C, any>, stack?: import("./unique-stack").IUniqueStack<keyof C>, initializers?: VoidFn[]) => <N extends keyof C>(container: C, name: N) => C[N];
export default createInstanceFactory;
import UniqueStack from './unique-stack';
const call = (fn) => fn();
const createInstanceFactory = (factories, instances, stack = UniqueStack(), initializers = new Set()) => (container, name) => {
const createInstanceFactory = (factories, instances, stack = UniqueStack(), initializers = []) => (container, name) => {
if (stack.push(name)[0] != null) {

@@ -15,3 +15,3 @@ throw new Error('Cyclic dependencies couldn\'t be resolved.');

if (typeof initializer === 'function') {
initializers.add(() => initializer(instance, container));
initializers.push(() => initializer(instance, container));
}

@@ -23,3 +23,3 @@ if (stack.pop(name)[0] != null) {

initializers.forEach(call);
initializers.clear();
initializers = [];
}

@@ -26,0 +26,0 @@ return instance;

import { IFactories, VoidFn } from './types';
declare const createInstanceFactory: <C extends object>(factories: IFactories<C>, instances: Map<keyof C, any>, stack?: import("./unique-stack").IUniqueStack<keyof C>, initializers?: Set<VoidFn>) => <N extends keyof C>(container: C, name: N) => C[N];
declare const createInstanceFactory: <C extends object>(factories: IFactories<C>, instances: Map<keyof C, any>, stack?: import("./unique-stack").IUniqueStack<keyof C>, initializers?: VoidFn[]) => <N extends keyof C>(container: C, name: N) => C[N];
export default createInstanceFactory;

@@ -7,3 +7,3 @@ "use strict";

if (stack === void 0) { stack = unique_stack_1.default(); }
if (initializers === void 0) { initializers = new Set(); }
if (initializers === void 0) { initializers = []; }
return function (container, name) {

@@ -21,3 +21,3 @@ if (stack.push(name)[0] != null) {

if (typeof initializer === 'function') {
initializers.add(function () { return initializer(instance, container); });
initializers.push(function () { return initializer(instance, container); });
}

@@ -29,3 +29,3 @@ if (stack.pop(name)[0] != null) {

initializers.forEach(call);
initializers.clear();
initializers = [];
}

@@ -32,0 +32,0 @@ return instance;

{
"name": "true-di",
"version": "2.0.0",
"version": "2.0.1",
"description": "Simple Dependency Injection solution for TypeScript and Javascript",

@@ -67,2 +67,3 @@ "main": "./lib/index.js",

],
"no-param-reassign": "off",
"implicit-arrow-linebreak": "off",

@@ -115,5 +116,6 @@ "import/no-unresolved": 0,

"testPathIgnorePatterns": [
"/lib/', '/es/"
"/lib/', '/es/",
"/examples"
]
}
}

@@ -53,3 +53,3 @@ # true-di

export const getOrders = async (req: Express.Request, res: Express.Response) => {
const { ecommerceService } = req.container;
const { ecommerceService } = req.injected;
res.json(

@@ -71,3 +71,3 @@ await ecommerceService.getOrders()

app.use((req, res, next) => {
req.container = container;
req.injected = container;
next();

@@ -80,3 +80,3 @@ });

### [Live Demo on Sandbox](https://codesandbox.io/s/express-di-example-w2gme?expanddevtools=1&fontsize=14&hidenavigation=1&initialpath=%2Forders&module=%2Fsrc%2Fcontainer.ts&moduleview=1&theme=dark)
### [Live Demo on Sandbox](https://codesandbox.io/s/github/DScheglov/true-di/tree/master/examples/getting-started?fontsize=14&hidenavigation=1&initialpath=%2Forders&module=%2Fsrc%2Fcontainer.ts&theme=dark)

@@ -83,0 +83,0 @@ ![Live Demo Preview](./docs/assets/image.png)

@@ -10,3 +10,3 @@ import UniqueStack from './unique-stack';

stack = UniqueStack<keyof C>(),
initializers = new Set<VoidFn>(),
initializers: VoidFn[] = [],
) => <N extends keyof C>(container: C, name: N): C[N] => {

@@ -31,3 +31,3 @@ if (stack.push(name)[0] != null) {

if (typeof initializer === 'function') {
initializers.add(() => initializer(instance, container));
initializers.push(() => initializer(instance, container));
}

@@ -41,3 +41,3 @@

initializers.forEach(call);
initializers.clear();
initializers = [];
}

@@ -44,0 +44,0 @@

@@ -17,5 +17,4 @@ import allNames from './all-names';

name => {
// eslint-disable-next-line no-param-reassign
instance[name] = container[mapping[name]] as any;
},
);
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