Huge News!Announcing our $40M Series B led by Abstract Ventures.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.1.2 to 2.2.0-betta.0

esm/resolvers/helpers.d.ts

19

esm/types.d.ts
export declare type IInstanceInitializer<IContainer, N extends keyof IContainer> = (instance: IContainer[N], container: IContainer, name?: N) => void;
export declare type VoidFn = () => void;
export declare type IFactory<IContainer, N extends keyof IContainer> = (container: IContainer) => IContainer[N];
export declare type IFactoryTuple<IContainer, N extends keyof IContainer> = [
IFactory<IContainer, N>,
IInstanceInitializer<IContainer, N>
];
export declare type IFactoryTuple<IContainer, N extends keyof IContainer> = [IFactory<IContainer, N>, IInstanceInitializer<IContainer, N>];
export declare type IFactories<IContainer extends object> = {

@@ -14,1 +11,15 @@ [name in keyof IContainer]: IFactory<IContainer, name> | IFactoryTuple<IContainer, name>;

};
export declare type IfEquals<X, Y, A = X, B = never> = (<T>() => T extends X ? 1 : 2) extends (<T>() => T extends Y ? 1 : 2) ? A : B;
export declare type KeysOfType<T, F> = {
[P in keyof T]: IfEquals<{
[Q in P]: T[P];
}, {
[Q in P]: F;
}, P>;
}[keyof T];
export declare const expectStrictType: <expected>(value: expected) => void;
declare type Item<token extends string | symbol, T> = {
[p in token]: T;
};
export declare type Services<tokens extends (string | symbol)[], Deps extends any[]> = tokens extends [] ? {} : tokens extends [any] ? Item<tokens[0], Deps[0]> : tokens extends [any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> : tokens extends [any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> : tokens extends [any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> : tokens extends [any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> : tokens extends [any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> : tokens extends [any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> : tokens extends [any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> : tokens extends [any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> : tokens extends [any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> & Item<tokens[17], Deps[17]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> & Item<tokens[17], Deps[17]> & Item<tokens[18], Deps[18]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> & Item<tokens[17], Deps[17]> & Item<tokens[18], Deps[18]> & Item<tokens[19], Deps[19]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> & Item<tokens[17], Deps[17]> & Item<tokens[18], Deps[18]> & Item<tokens[19], Deps[19]> & Item<tokens[20], Deps[20]> : never;
export {};

@@ -1,1 +0,3 @@

export {};
export const expectStrictType = (value) => {
const newValue = true;
};

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

import { IfEquals } from './type-test-utils';
declare type KeysOfType<T, F> = {
[P in keyof T]: IfEquals<{
[Q in P]: T[P];
}, {
[Q in P]: F;
}, P>;
}[keyof T];
import { KeysOfType } from '../types';
export declare type IMapping<IContainer extends object, T> = {

@@ -13,2 +6,1 @@ [p in keyof T]?: KeysOfType<IContainer, T[p]>;

export declare const assignProps: <IContainer extends object, N extends keyof IContainer>(mapping: IMapping<IContainer, IContainer[N]>) => (instance: IContainer[N], container: IContainer) => void;
export {};

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

var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
};

@@ -13,0 +13,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

export declare type IInstanceInitializer<IContainer, N extends keyof IContainer> = (instance: IContainer[N], container: IContainer, name?: N) => void;
export declare type VoidFn = () => void;
export declare type IFactory<IContainer, N extends keyof IContainer> = (container: IContainer) => IContainer[N];
export declare type IFactoryTuple<IContainer, N extends keyof IContainer> = [
IFactory<IContainer, N>,
IInstanceInitializer<IContainer, N>
];
export declare type IFactoryTuple<IContainer, N extends keyof IContainer> = [IFactory<IContainer, N>, IInstanceInitializer<IContainer, N>];
export declare type IFactories<IContainer extends object> = {

@@ -14,1 +11,15 @@ [name in keyof IContainer]: IFactory<IContainer, name> | IFactoryTuple<IContainer, name>;

};
export declare type IfEquals<X, Y, A = X, B = never> = (<T>() => T extends X ? 1 : 2) extends (<T>() => T extends Y ? 1 : 2) ? A : B;
export declare type KeysOfType<T, F> = {
[P in keyof T]: IfEquals<{
[Q in P]: T[P];
}, {
[Q in P]: F;
}, P>;
}[keyof T];
export declare const expectStrictType: <expected>(value: expected) => void;
declare type Item<token extends string | symbol, T> = {
[p in token]: T;
};
export declare type Services<tokens extends (string | symbol)[], Deps extends any[]> = tokens extends [] ? {} : tokens extends [any] ? Item<tokens[0], Deps[0]> : tokens extends [any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> : tokens extends [any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> : tokens extends [any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> : tokens extends [any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> : tokens extends [any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> : tokens extends [any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> : tokens extends [any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> : tokens extends [any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> : tokens extends [any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> & Item<tokens[17], Deps[17]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> & Item<tokens[17], Deps[17]> & Item<tokens[18], Deps[18]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> & Item<tokens[17], Deps[17]> & Item<tokens[18], Deps[18]> & Item<tokens[19], Deps[19]> : tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ? Item<tokens[0], Deps[0]> & Item<tokens[1], Deps[1]> & Item<tokens[2], Deps[2]> & Item<tokens[3], Deps[3]> & Item<tokens[4], Deps[4]> & Item<tokens[5], Deps[5]> & Item<tokens[6], Deps[6]> & Item<tokens[7], Deps[7]> & Item<tokens[8], Deps[8]> & Item<tokens[9], Deps[9]> & Item<tokens[10], Deps[10]> & Item<tokens[11], Deps[11]> & Item<tokens[12], Deps[12]> & Item<tokens[13], Deps[13]> & Item<tokens[14], Deps[14]> & Item<tokens[15], Deps[15]> & Item<tokens[16], Deps[16]> & Item<tokens[17], Deps[17]> & Item<tokens[18], Deps[18]> & Item<tokens[19], Deps[19]> & Item<tokens[20], Deps[20]> : never;
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.expectStrictType = void 0;
exports.expectStrictType = function (value) {
var newValue = true;
};

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

import { IfEquals } from './type-test-utils';
declare type KeysOfType<T, F> = {
[P in keyof T]: IfEquals<{
[Q in P]: T[P];
}, {
[Q in P]: F;
}, P>;
}[keyof T];
import { KeysOfType } from '../types';
export declare type IMapping<IContainer extends object, T> = {

@@ -13,2 +6,1 @@ [p in keyof T]?: KeysOfType<IContainer, T[p]>;

export declare const assignProps: <IContainer extends object, N extends keyof IContainer>(mapping: IMapping<IContainer, IContainer[N]>) => (instance: IContainer[N], container: IContainer) => void;
export {};

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

var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
};

@@ -13,0 +13,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

{
"name": "true-di",
"version": "2.1.2",
"version": "2.2.0-betta.0",
"description": "Framework Agnostic, Zero Dependency, Isomorphic & Minimalistic Dependency Injection Container for TypeScript and JavaScript projects",

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

],
"@typescript-eslint/indent": "off",
"jest/no-disabled-tests": "warn",

@@ -94,0 +95,0 @@ "jest/no-focused-tests": "error",

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

/* eslint-disable max-len */
export type IInstanceInitializer<IContainer, N extends keyof IContainer> = (

@@ -23,1 +24,295 @@ instance: IContainer[N],

}
export type IfEquals<X, Y, A=X, B=never> =
(<T>() => T extends X ? 1 : 2) extends
(<T>() => T extends Y ? 1 : 2) ? A : B;
export type KeysOfType<T, F> = {
[P in keyof T]: IfEquals<{ [Q in P]: T[P] }, { [Q in P]: F }, P>
}[keyof T];
export const expectStrictType = <expected>(value: expected): void => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const newValue: IfEquals<expected, typeof value, true> = true;
};
type Item<token extends string | symbol, T> = {
[p in token]: T
}
export type Services<tokens extends (string|symbol)[], Deps extends any[]> =
tokens extends [] ? {} :
tokens extends [any] ?
& Item<tokens[0], Deps[0]>
:
tokens extends [any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
:
tokens extends [any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
:
tokens extends [any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
:
tokens extends [any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
:
tokens extends [any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
:
tokens extends [any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
:
tokens extends [any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
:
tokens extends [any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
& Item<tokens[12], Deps[12]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
& Item<tokens[12], Deps[12]>
& Item<tokens[13], Deps[13]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
& Item<tokens[12], Deps[12]>
& Item<tokens[13], Deps[13]>
& Item<tokens[14], Deps[14]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
& Item<tokens[12], Deps[12]>
& Item<tokens[13], Deps[13]>
& Item<tokens[14], Deps[14]>
& Item<tokens[15], Deps[15]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
& Item<tokens[12], Deps[12]>
& Item<tokens[13], Deps[13]>
& Item<tokens[14], Deps[14]>
& Item<tokens[15], Deps[15]>
& Item<tokens[16], Deps[16]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
& Item<tokens[12], Deps[12]>
& Item<tokens[13], Deps[13]>
& Item<tokens[14], Deps[14]>
& Item<tokens[15], Deps[15]>
& Item<tokens[16], Deps[16]>
& Item<tokens[17], Deps[17]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
& Item<tokens[12], Deps[12]>
& Item<tokens[13], Deps[13]>
& Item<tokens[14], Deps[14]>
& Item<tokens[15], Deps[15]>
& Item<tokens[16], Deps[16]>
& Item<tokens[17], Deps[17]>
& Item<tokens[18], Deps[18]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
& Item<tokens[12], Deps[12]>
& Item<tokens[13], Deps[13]>
& Item<tokens[14], Deps[14]>
& Item<tokens[15], Deps[15]>
& Item<tokens[16], Deps[16]>
& Item<tokens[17], Deps[17]>
& Item<tokens[18], Deps[18]>
& Item<tokens[19], Deps[19]>
:
tokens extends [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any] ?
& Item<tokens[0], Deps[0]>
& Item<tokens[1], Deps[1]>
& Item<tokens[2], Deps[2]>
& Item<tokens[3], Deps[3]>
& Item<tokens[4], Deps[4]>
& Item<tokens[5], Deps[5]>
& Item<tokens[6], Deps[6]>
& Item<tokens[7], Deps[7]>
& Item<tokens[8], Deps[8]>
& Item<tokens[9], Deps[9]>
& Item<tokens[10], Deps[10]>
& Item<tokens[11], Deps[11]>
& Item<tokens[12], Deps[12]>
& Item<tokens[13], Deps[13]>
& Item<tokens[14], Deps[14]>
& Item<tokens[15], Deps[15]>
& Item<tokens[16], Deps[16]>
& Item<tokens[17], Deps[17]>
& Item<tokens[18], Deps[18]>
& Item<tokens[19], Deps[19]>
& Item<tokens[20], Deps[20]>
:
never

@@ -0,8 +1,4 @@

import { KeysOfType } from '../types';
import allNames from './all-names';
import { IfEquals } from './type-test-utils';
type KeysOfType<T, F> = {
[P in keyof T]: IfEquals<{ [Q in P]: T[P] }, { [Q in P]: F }, P>
}[keyof T];
export type IMapping<IContainer extends object, T> = {

@@ -9,0 +5,0 @@ [p in keyof T]?: KeysOfType<IContainer, T[p]>

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