@slimlib/injector 1.0.1 → 1.0.3
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/LICENSE +1 -1
- package/README.md +5 -3
- package/dist/index.cjs +8 -8
- package/dist/index.d.ts +3 -3
- package/dist/index.mjs +8 -8
- package/package.json +12 -26
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -10,6 +10,8 @@ Parameter names based dependency injector for nodejs.
|
|
|
10
10
|
- classes not supported
|
|
11
11
|
- slower than normal function call
|
|
12
12
|
|
|
13
|
+
[Changelog](./CHANGELOG.md)
|
|
14
|
+
|
|
13
15
|
## API
|
|
14
16
|
|
|
15
17
|
### createInject()
|
|
@@ -65,14 +67,14 @@ inject(async (config: Json) => {
|
|
|
65
67
|
|
|
66
68
|
- no, please use [jest](https://jestjs.io/), [vitest](https://vitest.dev/), [proxyquire](https://www.npmjs.com/package/proxyquire), [proxyrequire](https://www.npmjs.com/package/proxyrequire) and other similar approaches to mock modules.
|
|
67
69
|
|
|
68
|
-
2. Is it good solution to use in frontend code?
|
|
70
|
+
2. Is it a good solution to use in frontend code?
|
|
69
71
|
|
|
70
72
|
- no, it will not work after minification
|
|
71
73
|
|
|
72
74
|
3. Is it good for nodejs applications?
|
|
73
75
|
|
|
74
|
-
- only in some edge cases, please use
|
|
76
|
+
- only in some edge cases, please use singletons / factories / something else if possible
|
|
75
77
|
|
|
76
78
|
# License
|
|
77
79
|
|
|
78
|
-
[MIT](
|
|
80
|
+
[MIT](https://github.com/kshutkin/slimlib/blob/main/LICENSE)
|
package/dist/index.cjs
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var getParameterNames = require('get-parameter-names');
|
|
4
4
|
|
|
5
|
-
var index = () => {
|
|
6
|
-
const dependencies = Object.create(null);
|
|
7
|
-
dependencies['$provide'] = (key, value) => {
|
|
8
|
-
dependencies[key] = value;
|
|
9
|
-
};
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
-
return (func, scope = {}) => func.apply(scope, getParameterNames(func)
|
|
12
|
-
.map((key) => dependencies[key]));
|
|
5
|
+
var index = () => {
|
|
6
|
+
const dependencies = Object.create(null);
|
|
7
|
+
dependencies['$provide'] = (key, value) => {
|
|
8
|
+
dependencies[key] = value;
|
|
9
|
+
};
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
+
return (func, scope = {}) => func.apply(scope, getParameterNames(func)
|
|
12
|
+
.map((key) => dependencies[key]));
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
module.exports = index;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
declare const _default: () => <F extends (...args: any[]) => any>(func: F, scope?: object) => ReturnType<F>;
|
|
3
|
-
export default _default;
|
|
1
|
+
export type Provider = (key: string, value: unknown) => void;
|
|
2
|
+
declare const _default: () => <F extends (...args: any[]) => any>(func: F, scope?: object) => ReturnType<F>;
|
|
3
|
+
export default _default;
|
package/dist/index.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import getParameterNames from 'get-parameter-names';
|
|
2
2
|
|
|
3
|
-
var index = () => {
|
|
4
|
-
const dependencies = Object.create(null);
|
|
5
|
-
dependencies['$provide'] = (key, value) => {
|
|
6
|
-
dependencies[key] = value;
|
|
7
|
-
};
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
-
return (func, scope = {}) => func.apply(scope, getParameterNames(func)
|
|
10
|
-
.map((key) => dependencies[key]));
|
|
3
|
+
var index = () => {
|
|
4
|
+
const dependencies = Object.create(null);
|
|
5
|
+
dependencies['$provide'] = (key, value) => {
|
|
6
|
+
dependencies[key] = value;
|
|
7
|
+
};
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
+
return (func, scope = {}) => func.apply(scope, getParameterNames(func)
|
|
10
|
+
.map((key) => dependencies[key]));
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
export { index as default };
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.
|
|
2
|
+
"version": "1.0.3",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "@slimlib/injector",
|
|
5
5
|
"author": "Konstantin Shutkin",
|
|
@@ -31,32 +31,18 @@
|
|
|
31
31
|
"homepage": "https://github.com/kshutkin/slimlib/blob/main/injector/README.md",
|
|
32
32
|
"readme": "README.md",
|
|
33
33
|
"description": "Parameter names based dependency injector for nodejs",
|
|
34
|
+
"keywords": [
|
|
35
|
+
"@slimlib",
|
|
36
|
+
"injector",
|
|
37
|
+
"dependency injection",
|
|
38
|
+
"nodejs"
|
|
39
|
+
],
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"get-parameter-names": "0.3.0"
|
|
42
|
+
},
|
|
34
43
|
"scripts": {
|
|
35
44
|
"build": "pkgbld-internal",
|
|
36
45
|
"test": "jest --collectCoverage",
|
|
37
|
-
"lint": "eslint ./src"
|
|
38
|
-
"semantic-release": "npx semantic-release"
|
|
39
|
-
},
|
|
40
|
-
"devDependencies": {
|
|
41
|
-
"@semantic-release/changelog": "6.0.1",
|
|
42
|
-
"@semantic-release/commit-analyzer": "9.0.2",
|
|
43
|
-
"@semantic-release/git": "10.0.1",
|
|
44
|
-
"@semantic-release/npm": "9.0.0",
|
|
45
|
-
"@semantic-release/release-notes-generator": "10.0.3",
|
|
46
|
-
"@types/jest": "27.4.0",
|
|
47
|
-
"@typescript-eslint/eslint-plugin": "5.11.0",
|
|
48
|
-
"@typescript-eslint/parser": "5.11.0",
|
|
49
|
-
"conventional-changelog-angular": "5.0.13",
|
|
50
|
-
"eslint": "8.8.0",
|
|
51
|
-
"jest": "27.5.1",
|
|
52
|
-
"semantic-release": "19.0.2",
|
|
53
|
-
"semantic-release-monorepo": "7.0.5",
|
|
54
|
-
"ts-jest": "27.1.3",
|
|
55
|
-
"typescript": "4.5.x",
|
|
56
|
-
"update-monorepo-package-json": "0.2.0",
|
|
57
|
-
"pkgbld-internal": "1.0.8"
|
|
58
|
-
},
|
|
59
|
-
"dependencies": {
|
|
60
|
-
"get-parameter-names": "0.3.0"
|
|
46
|
+
"lint": "eslint ./src"
|
|
61
47
|
}
|
|
62
|
-
}
|
|
48
|
+
}
|