@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 CHANGED
@@ -1,11 +1,14 @@
1
1
  import 'reflect-metadata';
2
2
  import { interfaces } from 'inversify';
3
3
  import { Binder } from './binder';
4
- import { CamelPrefix, Prefix } from './prefix';
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<CamelPrefix.Prefixed<TContainer, TKeyPrefix>>;
64
- export declare function registerWithPrefix<TKeyPrefix extends string, TContainer, TDep>(convention: 'camel', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<CamelPrefix.Prefixed<TContainer, typeof prefix> & TDep>;
65
- export declare function registerWithPrefix<TKeyPrefix extends string, T>(convention: 'none', prefix: TKeyPrefix, binding: ContainerBinding<T, {}>): IContainer<Prefix.Prefixed<T, TKeyPrefix>>;
66
- export declare function registerWithPrefix<TKeyPrefix extends string, TContainer, TDep>(convention: 'none', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<Prefix.Prefixed<TContainer, typeof prefix> & TDep>;
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 prefix_1 = require("./prefix");
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 prefix_1.Prefix.keyTransform(prefix);
100
+ return (0, none_1.keyTransform)(prefix);
100
101
  case 'camel':
101
- return prefix_1.CamelPrefix.keyTransform(prefix);
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 keyTransform = keyTransformFactory(convention, prefix);
110
- return registerInternal(binding, keyTransform, dependent);
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>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.keyTransform = void 0;
4
+ function keyTransform(prefix) {
5
+ return function (key) { return "".concat(prefix).concat(key); };
6
+ }
7
+ exports.keyTransform = keyTransform;
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[], TMapped> = {
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocketmakers/ioc",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "scripts": {
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 = {}));