@rocketmakers/ioc 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +8 -5
- package/lib/index.js +6 -5
- package/lib/naming/camel.d.ts +6 -0
- package/lib/naming/camel.js +13 -0
- package/lib/naming/none.d.ts +6 -0
- package/lib/naming/none.js +7 -0
- package/lib/types.d.ts +1 -1
- package/package.json +1 -1
- package/lib/prefix.d.ts +0 -17
- package/lib/prefix.js +0 -23
package/lib/index.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { interfaces } from 'inversify';
|
|
3
3
|
import { Binder } from './binder';
|
|
4
|
-
import {
|
|
4
|
+
import { CamelPrefixed } from './naming/camel';
|
|
5
|
+
import { Prefixed } from './naming/none';
|
|
5
6
|
import { IFunctionResolver, KeysOfType, StringKeyof } from './tail.generated';
|
|
6
7
|
import { KeysNotOfType, NewableOf } from './types';
|
|
7
8
|
export * from './curry.generated';
|
|
8
9
|
export * from './inversify';
|
|
10
|
+
export { CamelPrefixed } from './naming/camel';
|
|
11
|
+
export { Prefixed } from './naming/none';
|
|
9
12
|
export declare type BindingInWhenOnSyntax<T> = interfaces.BindingInWhenOnSyntax<T>;
|
|
10
13
|
export declare const internalContainer: import("inversify/dts/container/container").Container;
|
|
11
14
|
/** @deprecated LEGACY: Use this helper function to provide container curry functions */
|
|
@@ -60,9 +63,9 @@ export declare function register<TContainer>(binding: ContainerBinding<TContaine
|
|
|
60
63
|
export declare function register<TContainer, TDep>(binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<TContainer & TDep>;
|
|
61
64
|
export declare type NamingConvention = 'none' | 'camel';
|
|
62
65
|
/** Register the bindings required for your container */
|
|
63
|
-
export declare function registerWithPrefix<TKeyPrefix extends string, TContainer>(convention: 'camel', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, {}>): IContainer<
|
|
64
|
-
export declare function registerWithPrefix<TKeyPrefix extends string, TContainer, TDep>(convention: 'camel', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<
|
|
65
|
-
export declare function registerWithPrefix<TKeyPrefix extends string, T>(convention: 'none', prefix: TKeyPrefix, binding: ContainerBinding<T, {}>): IContainer<
|
|
66
|
-
export declare function registerWithPrefix<TKeyPrefix extends string, TContainer, TDep>(convention: 'none', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<
|
|
66
|
+
export declare function registerWithPrefix<TKeyPrefix extends string, TContainer>(convention: 'camel', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, {}>): IContainer<CamelPrefixed<TContainer, TKeyPrefix>>;
|
|
67
|
+
export declare function registerWithPrefix<TKeyPrefix extends string, TContainer, TDep>(convention: 'camel', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<CamelPrefixed<TContainer, typeof prefix> & TDep>;
|
|
68
|
+
export declare function registerWithPrefix<TKeyPrefix extends string, T>(convention: 'none', prefix: TKeyPrefix, binding: ContainerBinding<T, {}>): IContainer<Prefixed<T, TKeyPrefix>>;
|
|
69
|
+
export declare function registerWithPrefix<TKeyPrefix extends string, TContainer, TDep>(convention: 'none', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<Prefixed<TContainer, typeof prefix> & TDep>;
|
|
67
70
|
/** Safely merge two containers */
|
|
68
71
|
export declare function mergeContainers<T1, T2>(container1: IContainer<T1>, container2: IContainer<T2>): IContainer<T1 & T2>;
|
package/lib/index.js
CHANGED
|
@@ -8,7 +8,8 @@ var binder_legacy_1 = require("./binder-legacy");
|
|
|
8
8
|
var curry_1 = require("./curry");
|
|
9
9
|
var error_1 = require("./error");
|
|
10
10
|
var inversify_1 = require("./inversify");
|
|
11
|
-
var
|
|
11
|
+
var camel_1 = require("./naming/camel");
|
|
12
|
+
var none_1 = require("./naming/none");
|
|
12
13
|
var tail_generated_1 = require("./tail.generated");
|
|
13
14
|
tslib_1.__exportStar(require("./curry.generated"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("./inversify"), exports);
|
|
@@ -96,9 +97,9 @@ exports.register = register;
|
|
|
96
97
|
function keyTransformFactory(convention, prefix) {
|
|
97
98
|
switch (convention) {
|
|
98
99
|
case 'none':
|
|
99
|
-
return
|
|
100
|
+
return (0, none_1.keyTransform)(prefix);
|
|
100
101
|
case 'camel':
|
|
101
|
-
return
|
|
102
|
+
return (0, camel_1.camelKeyTransform)(prefix);
|
|
102
103
|
default: {
|
|
103
104
|
var n = convention;
|
|
104
105
|
throw new Error("Invalid IoC container prefix kind: ".concat(n));
|
|
@@ -106,8 +107,8 @@ function keyTransformFactory(convention, prefix) {
|
|
|
106
107
|
}
|
|
107
108
|
}
|
|
108
109
|
function registerWithPrefix(convention, prefix, binding, dependent) {
|
|
109
|
-
var
|
|
110
|
-
return registerInternal(binding,
|
|
110
|
+
var transform = keyTransformFactory(convention, prefix);
|
|
111
|
+
return registerInternal(binding, transform, dependent);
|
|
111
112
|
}
|
|
112
113
|
exports.registerWithPrefix = registerWithPrefix;
|
|
113
114
|
/** Safely merge two containers */
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { StringKeyof } from '../tail.generated';
|
|
2
|
+
export declare type CamelConvention<TPrefix extends string, TKey extends string> = `${TPrefix}${Capitalize<TKey>}`;
|
|
3
|
+
export declare type CamelPrefixed<T, TPrefix extends string> = {
|
|
4
|
+
[K in StringKeyof<T> as CamelConvention<TPrefix, K>]: T[K];
|
|
5
|
+
};
|
|
6
|
+
export declare function camelKeyTransform<TPrefix extends string>(prefix: TPrefix): <TKey extends string>(key: TKey) => CamelConvention<TPrefix, TKey>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.camelKeyTransform = void 0;
|
|
4
|
+
function capitalize(value) {
|
|
5
|
+
if (!value) {
|
|
6
|
+
return value;
|
|
7
|
+
}
|
|
8
|
+
return (value[0].toUpperCase() + value.substring(1));
|
|
9
|
+
}
|
|
10
|
+
function camelKeyTransform(prefix) {
|
|
11
|
+
return function (key) { return "".concat(prefix).concat(capitalize(key)); };
|
|
12
|
+
}
|
|
13
|
+
exports.camelKeyTransform = camelKeyTransform;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { StringKeyof } from '../tail.generated';
|
|
2
|
+
export declare type Convention<TPrefix extends string, TKey extends string> = `${TPrefix}${TKey}`;
|
|
3
|
+
export declare type Prefixed<T, TPrefix extends string> = {
|
|
4
|
+
[K in StringKeyof<T> as Convention<TPrefix, K>]: T[K];
|
|
5
|
+
};
|
|
6
|
+
export declare function keyTransform<TPrefix extends string>(prefix: TPrefix): <TKey extends string>(key: TKey) => Convention<TPrefix, TKey>;
|
package/lib/types.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ export declare type KeysNotOfType<TMap, TKey> = {
|
|
|
4
4
|
}[StringKeyof<TMap>];
|
|
5
5
|
export declare type NewableOf<T> = new (...args: any) => T;
|
|
6
6
|
export declare type Newable = new (...args: any) => any;
|
|
7
|
-
export declare type TupleToKeysOfMapped<TTuple extends any
|
|
7
|
+
export declare type TupleToKeysOfMapped<TTuple extends Array<any>, TMapped> = {
|
|
8
8
|
[K in keyof TTuple]: TTuple[K] extends TTuple[number] ? KeysOfType<TMapped, TTuple[K]> : never;
|
|
9
9
|
};
|
package/package.json
CHANGED
package/lib/prefix.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { StringKeyof } from './tail.generated';
|
|
2
|
-
export declare namespace Prefix {
|
|
3
|
-
type Convention<TPrefix extends string, TKey extends string> = `${TPrefix}${TKey}`;
|
|
4
|
-
export type Prefixed<T, TPrefix extends string> = {
|
|
5
|
-
[K in StringKeyof<T> as Convention<TPrefix, K>]: T[K];
|
|
6
|
-
};
|
|
7
|
-
export function keyTransform<TPrefix extends string>(prefix: TPrefix): <TKey extends string>(key: TKey) => Convention<TPrefix, TKey>;
|
|
8
|
-
export {};
|
|
9
|
-
}
|
|
10
|
-
export declare namespace CamelPrefix {
|
|
11
|
-
type Convention<TPrefix extends string, TKey extends string> = `${TPrefix}${Capitalize<TKey>}`;
|
|
12
|
-
export type Prefixed<T, TPrefix extends string> = {
|
|
13
|
-
[K in StringKeyof<T> as Convention<TPrefix, K>]: T[K];
|
|
14
|
-
};
|
|
15
|
-
export function keyTransform<TPrefix extends string>(prefix: TPrefix): <TKey extends string>(key: TKey) => Convention<TPrefix, TKey>;
|
|
16
|
-
export {};
|
|
17
|
-
}
|
package/lib/prefix.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CamelPrefix = exports.Prefix = void 0;
|
|
4
|
-
var Prefix;
|
|
5
|
-
(function (Prefix) {
|
|
6
|
-
function keyTransform(prefix) {
|
|
7
|
-
return function (key) { return "".concat(prefix).concat(key); };
|
|
8
|
-
}
|
|
9
|
-
Prefix.keyTransform = keyTransform;
|
|
10
|
-
})(Prefix = exports.Prefix || (exports.Prefix = {}));
|
|
11
|
-
function capitalize(value) {
|
|
12
|
-
if (!value) {
|
|
13
|
-
return value;
|
|
14
|
-
}
|
|
15
|
-
return (value[0].toUpperCase() + value.substring(1));
|
|
16
|
-
}
|
|
17
|
-
var CamelPrefix;
|
|
18
|
-
(function (CamelPrefix) {
|
|
19
|
-
function keyTransform(prefix) {
|
|
20
|
-
return function (key) { return "".concat(prefix).concat(capitalize(key)); };
|
|
21
|
-
}
|
|
22
|
-
CamelPrefix.keyTransform = keyTransform;
|
|
23
|
-
})(CamelPrefix = exports.CamelPrefix || (exports.CamelPrefix = {}));
|