@spinajs/reflection 1.0.5 → 1.2.8

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,4 +1,5 @@
1
- import * as ts from "typescript";
1
+ import * as ts from 'typescript';
2
+ import { Exception } from '@spinajs/exceptions';
2
3
  /**
3
4
  * Class info structure
4
5
  */
@@ -20,6 +21,11 @@ export declare class ClassInfo<T> {
20
21
  */
21
22
  instance?: T;
22
23
  }
24
+ /**
25
+ * Exception thrown when some error during reflection occurs
26
+ */
27
+ export declare class ReflectionException extends Exception {
28
+ }
23
29
  /**
24
30
  * Helper class for extracting various information from typescript source code
25
31
  */
@@ -31,7 +37,7 @@ export declare class TypescriptCompiler {
31
37
  *
32
38
  * Extracts all members info from typescript class eg. method name, parameters, return types etc.
33
39
  *
34
- * @param className name of class to parse
40
+ * @param className - name of class to parse
35
41
  */
36
42
  getClassMembers(className: string): Map<string, ts.MethodDeclaration>;
37
43
  private walkClassNode;
@@ -46,7 +52,7 @@ export declare class TypescriptCompiler {
46
52
  * @param configPath - dir paths taken from app config eg. "system.dirs.controllers". Path MUST be avaible in configuration
47
53
  *
48
54
  */
49
- export declare function ResolveFromFiles(filter: string, configPath: string): (target: any, propertyKey: string | symbol) => void;
55
+ export declare function ResolveFromFiles(filter: string, configPath: string, typeMatcher?: (fileName: string) => string): (target: any, propertyKey: string | symbol) => void;
50
56
  /**
51
57
  * Returns list of class types found in specified path. It do not resolve / create instances
52
58
  *
@@ -54,4 +60,4 @@ export declare function ResolveFromFiles(filter: string, configPath: string): (t
54
60
  * @param configPath - dir paths taken from app config eg. "system.dirs.controllers". Path MUST be avaible in configuration
55
61
  *
56
62
  */
57
- export declare function ListFromFiles(filter: string, configPath: string): (target: any, propertyKey: string | symbol) => void;
63
+ export declare function ListFromFiles(filter: string, configPath: string, typeMatcher?: (fileName: string) => string): (target: any, propertyKey: string | symbol) => void;
package/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListFromFiles = exports.ResolveFromFiles = exports.TypescriptCompiler = exports.ReflectionException = exports.ClassInfo = void 0;
3
4
  const fs = require("fs");
4
5
  const glob = require("glob");
5
6
  const path = require("path");
@@ -14,6 +15,12 @@ const log_1 = require("@spinajs/log");
14
15
  class ClassInfo {
15
16
  }
16
17
  exports.ClassInfo = ClassInfo;
18
+ /**
19
+ * Exception thrown when some error during reflection occurs
20
+ */
21
+ class ReflectionException extends exceptions_1.Exception {
22
+ }
23
+ exports.ReflectionException = ReflectionException;
17
24
  /**
18
25
  * Helper class for extracting various information from typescript source code
19
26
  */
@@ -22,25 +29,22 @@ class TypescriptCompiler {
22
29
  this.tsFile = filename;
23
30
  this.compiled = ts.createProgram([this.tsFile], {
24
31
  module: ts.ModuleKind.CommonJS,
25
- target: ts.ScriptTarget.Latest
32
+ target: ts.ScriptTarget.Latest,
26
33
  });
27
34
  }
28
35
  /**
29
36
  *
30
37
  * Extracts all members info from typescript class eg. method name, parameters, return types etc.
31
38
  *
32
- * @param className name of class to parse
39
+ * @param className - name of class to parse
33
40
  */
34
41
  getClassMembers(className) {
35
42
  const members = new Map();
36
- for (const sourceFile of this.compiled.getSourceFiles()) {
37
- if (!sourceFile.isDeclarationFile) {
38
- // Walk the tree to search for classes
39
- ts.forEachChild(sourceFile, this.walkClassNode(className, this.walkMemberNode((method) => {
40
- members.set(method.name.text, method);
41
- })));
42
- }
43
- }
43
+ const sourceFile = this.compiled.getSourceFile(this.tsFile);
44
+ // Walk the tree to search for classes
45
+ ts.forEachChild(sourceFile, this.walkClassNode(className, this.walkMemberNode((method) => {
46
+ members.set(method.name.getText(), method);
47
+ })));
44
48
  return members;
45
49
  }
46
50
  walkClassNode(className, callback) {
@@ -74,8 +78,8 @@ exports.TypescriptCompiler = TypescriptCompiler;
74
78
  * @param configPath - dir paths taken from app config eg. "system.dirs.controllers". Path MUST be avaible in configuration
75
79
  *
76
80
  */
77
- function ResolveFromFiles(filter, configPath) {
78
- return _listOrResolveFromFiles(filter, configPath, true);
81
+ function ResolveFromFiles(filter, configPath, typeMatcher) {
82
+ return _listOrResolveFromFiles(filter, configPath, true, typeMatcher);
79
83
  }
80
84
  exports.ResolveFromFiles = ResolveFromFiles;
81
85
  /**
@@ -85,17 +89,17 @@ exports.ResolveFromFiles = ResolveFromFiles;
85
89
  * @param configPath - dir paths taken from app config eg. "system.dirs.controllers". Path MUST be avaible in configuration
86
90
  *
87
91
  */
88
- function ListFromFiles(filter, configPath) {
89
- return _listOrResolveFromFiles(filter, configPath, false);
92
+ function ListFromFiles(filter, configPath, typeMatcher) {
93
+ return _listOrResolveFromFiles(filter, configPath, false, typeMatcher);
90
94
  }
91
95
  exports.ListFromFiles = ListFromFiles;
92
- function _listOrResolveFromFiles(filter, configPath, resolve) {
96
+ function _listOrResolveFromFiles(filter, configPath, resolve, typeMatcher) {
93
97
  return (target, propertyKey) => {
94
98
  if (!filter) {
95
- throw new exceptions_1.InvalidArgument("filter parameter is null or empty");
99
+ throw new exceptions_1.InvalidArgument('filter parameter is null or empty');
96
100
  }
97
101
  if (!configPath) {
98
- throw new exceptions_1.InvalidArgument("configPath parameter is null or empty");
102
+ throw new exceptions_1.InvalidArgument('configPath parameter is null or empty');
99
103
  }
100
104
  let instances = null;
101
105
  const getter = () => {
@@ -109,16 +113,20 @@ function _listOrResolveFromFiles(filter, configPath, resolve) {
109
113
  get: getter,
110
114
  });
111
115
  function _loadInstances() {
112
- const config = di_1.DI.resolve(configuration_1.Configuration);
113
- const logger = di_1.DI.resolve(log_1.LogModule).getLogger();
114
- const directories = config.get(configPath);
116
+ const config = di_1.DI.get(configuration_1.Configuration);
117
+ const logger = di_1.DI.resolve(log_1.Log, ['reflection']);
118
+ let directories = config.get(configPath);
115
119
  if (!directories || directories.length === 0) {
116
120
  return [];
117
121
  }
122
+ if (!Array.isArray(directories)) {
123
+ directories = [directories];
124
+ }
118
125
  let promised = false;
119
- const result = directories.map((d) => path.normalize(d))
126
+ const result = directories
120
127
  .filter((d) => {
121
- const exists = fs.existsSync(d);
128
+ /* eslint-disable */
129
+ const exists = fs.existsSync(path.normalize(d));
122
130
  if (!exists) {
123
131
  logger.warn(`Directory ${d} not exists`);
124
132
  }
@@ -128,9 +136,11 @@ function _listOrResolveFromFiles(filter, configPath, resolve) {
128
136
  .map((f) => {
129
137
  logger.trace(`Loading file ${f}`);
130
138
  const name = path.parse(f).name;
131
- const type = require(f)[name];
139
+ const nameToResolve = typeMatcher ? typeMatcher(name) : name;
140
+ /* eslint-disable */
141
+ const type = require(f)[`${nameToResolve}`];
132
142
  if (!type) {
133
- throw new exceptions_1.IOFail(`cannot find class ${name} in file ${f}`);
143
+ throw new ReflectionException(`cannot find class ${nameToResolve} in file ${f}`);
134
144
  }
135
145
  if (resolve) {
136
146
  if (type.prototype instanceof di_1.AsyncModule) {
@@ -139,7 +149,7 @@ function _listOrResolveFromFiles(filter, configPath, resolve) {
139
149
  return {
140
150
  file: f,
141
151
  instance,
142
- name,
152
+ name: nameToResolve,
143
153
  type,
144
154
  };
145
155
  });
@@ -148,11 +158,11 @@ function _listOrResolveFromFiles(filter, configPath, resolve) {
148
158
  return {
149
159
  file: f,
150
160
  instance: resolve ? di_1.DI.resolve(type) : null,
151
- name,
161
+ name: nameToResolve,
152
162
  type,
153
163
  };
154
164
  });
155
- return (promised && resolve) ? Promise.all(result) : result;
165
+ return promised && resolve ? Promise.all(result) : result;
156
166
  }
157
167
  };
158
168
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spinajs/reflection",
3
- "version": "1.0.5",
3
+ "version": "1.2.8",
4
4
  "description": "SpinaJS reflection helpers",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -8,10 +8,12 @@
8
8
  "test": "ts-mocha -p tsconfig.json test/**/*.test.ts",
9
9
  "coverage": "nyc npm run test",
10
10
  "build-docs": "rimraf docs && typedoc --options typedoc.json src/",
11
- "build": "tsc",
11
+ "build": "npm run clean && npm run compile",
12
+ "compile": "tsc -p tsconfig.build.json",
13
+ "clean": "",
12
14
  "prepare": "npm run build",
13
- "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
14
- "lint": "tslint -p tsconfig.json",
15
+ "format": "prettier --write \"src/**/*.ts\"",
16
+ "lint": "eslint -c .eslintrc.js --ext .ts src",
15
17
  "prepublishOnly": "npm test && npm run lint",
16
18
  "preversion": "npm run lint",
17
19
  "version": "npm run format && git add -A src",
@@ -27,32 +29,11 @@
27
29
  },
28
30
  "homepage": "https://github.com/spinajs/reflection#readme",
29
31
  "dependencies": {
30
- "@spinajs/configuration": "^1.0.5",
31
- "@spinajs/di": "^1.0.3",
32
- "@spinajs/exceptions": "^1.0.0",
33
- "@spinajs/log": "^1.0.0",
34
- "@types/mocha": "^5.2.7"
32
+ "@spinajs/configuration": "^1.2.7",
33
+ "@spinajs/di": "^1.2.7",
34
+ "@spinajs/exceptions": "^1.2.7",
35
+ "@spinajs/log": "^1.2.8",
36
+ "lodash": "^4.17.21"
35
37
  },
36
- "devDependencies": {
37
- "@types/bunyan": "^1.8.6",
38
- "@types/chai": "^4.1.7",
39
- "@types/chai-as-promised": "^7.1.0",
40
- "@types/chai-subset": "^1.3.3",
41
- "@types/lodash": "^4.14.136",
42
- "chai": "^4.2.0",
43
- "chai-as-promised": "^7.1.1",
44
- "chai-subset": "^1.6.0",
45
- "mocha": "^6.1.4",
46
- "nyc": "^14.1.1",
47
- "prettier": "^1.18.2",
48
- "ts-mocha": "^6.0.0",
49
- "ts-node": "^8.3.0",
50
- "tslint": "^5.20.1",
51
- "tslint-circular-dependencies": "^0.1.0",
52
- "tslint-config-prettier": "^1.18.0",
53
- "tslint-config-standard": "^8.0.1",
54
- "tslint-no-unused-expression-chai": "^0.1.4",
55
- "typedoc": "^0.14.2",
56
- "typescript": "^3.5.3"
57
- }
38
+ "gitHead": "4775754b5957d77f76d6ebcbdb947f8940ed167d"
58
39
  }