Socket
Socket
Sign inDemoInstall

rsdi

Package Overview
Dependencies
0
Maintainers
1
Versions
41
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.1 to 3.0.2

dist/DiContainerNew.d.ts

10

dist/DIContainer.d.ts

@@ -1,2 +0,2 @@

import { Container, DenyInputKeys, Factory, ResolvedDependencies, StringLiteral } from "./types";
import { DenyInputKeys, Factory, IDIContainer, ResolvedDependencies, StringLiteral } from "./types";
/**

@@ -16,3 +16,3 @@ * Dependency injection container

*/
add<N extends string, R extends Factory<ContainerResolvers>>(name: StringLiteral<DenyInputKeys<N, keyof ContainerResolvers>>, resolver: R): Container<ContainerResolvers & {
add<N extends string, R extends Factory<ContainerResolvers>>(name: StringLiteral<DenyInputKeys<N, keyof ContainerResolvers>>, resolver: R): IDIContainer<ContainerResolvers & {
[n in N]: ReturnType<R>;

@@ -30,3 +30,5 @@ }>;

*/
update<N extends keyof ContainerResolvers, R extends Factory<ContainerResolvers>>(name: StringLiteral<N>, resolver: R): Container<Omit<ContainerResolvers, N> & {
update<N extends keyof ContainerResolvers, R extends Factory<ContainerResolvers>>(name: StringLiteral<N>, resolver: R): IDIContainer<{
[P in Exclude<keyof ContainerResolvers, N>]: ContainerResolvers[P];
} & {
[n in N]: ReturnType<R>;

@@ -66,5 +68,5 @@ }>;

*/
extend<E extends (container: Container<ContainerResolvers>) => any>(f: E): ReturnType<E>;
extend<E extends (container: IDIContainer<ContainerResolvers>) => any>(f: E): ReturnType<E>;
private setValue;
private toContainer;
}

2

dist/DIContainer.js

@@ -40,3 +40,3 @@ import { DenyOverrideDependencyError, DependencyIsMissingError, ForbiddenNameError, IncorrectInvocationError, } from "./errors.js";

}
if (this.has(name)) {
if (!this.has(name)) {
throw new DependencyIsMissingError(name);

@@ -43,0 +43,0 @@ }

@@ -1,2 +0,1 @@

import { DIContainer } from "./DIContainer.js";
export type Factory<ContainerResolvers extends ResolvedDependencies> = (resolvers: ContainerResolvers) => any;

@@ -11,2 +10,14 @@ export type ResolvedDependencies = {

export type StringLiteral<T> = T extends string ? string extends T ? never : T : never;
export type Container<ContainerResolvers extends ResolvedDependencies> = DIContainer<ContainerResolvers> & ContainerResolvers;
export type IDIContainer<ContainerResolvers extends ResolvedDependencies = {}> = ContainerResolvers & {
add: <N extends string, R extends Factory<ContainerResolvers>>(name: StringLiteral<DenyInputKeys<N, keyof ContainerResolvers>>, resolver: R) => IDIContainer<ContainerResolvers & {
[n in N]: ReturnType<R>;
}>;
update: <N extends keyof ContainerResolvers, R extends Factory<ContainerResolvers>>(name: StringLiteral<N>, resolver: R) => IDIContainer<{
[P in Exclude<keyof ContainerResolvers, N>]: ContainerResolvers[P];
} & {
[n in N]: ReturnType<R>;
}>;
has: (name: string) => boolean;
extend: <E extends (container: IDIContainer<ContainerResolvers>) => any>(f: E) => ReturnType<E>;
get: <Name extends keyof ContainerResolvers>(dependencyName: Name) => ContainerResolvers[Name];
};
{
"name": "rsdi",
"version": "3.0.1",
"version": "3.0.2",
"description": "TypeScript dependency injection container. Strong types without decorators.",

@@ -5,0 +5,0 @@ "keywords": [

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc