@spinajs/reflection 1.0.7 → 1.2.9

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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ListFromFiles = exports.ResolveFromFiles = exports.TypescriptCompiler = exports.ClassInfo = void 0;
3
+ exports.ListFromFiles = exports.ResolveFromFiles = exports.TypescriptCompiler = exports.ReflectionException = exports.ClassInfo = void 0;
4
4
  const fs = require("fs");
5
5
  const glob = require("glob");
6
6
  const path = require("path");
@@ -15,6 +15,12 @@ const log_1 = require("@spinajs/log");
15
15
  class ClassInfo {
16
16
  }
17
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;
18
24
  /**
19
25
  * Helper class for extracting various information from typescript source code
20
26
  */
@@ -23,25 +29,22 @@ class TypescriptCompiler {
23
29
  this.tsFile = filename;
24
30
  this.compiled = ts.createProgram([this.tsFile], {
25
31
  module: ts.ModuleKind.CommonJS,
26
- target: ts.ScriptTarget.Latest
32
+ target: ts.ScriptTarget.Latest,
27
33
  });
28
34
  }
29
35
  /**
30
36
  *
31
37
  * Extracts all members info from typescript class eg. method name, parameters, return types etc.
32
38
  *
33
- * @param className name of class to parse
39
+ * @param className - name of class to parse
34
40
  */
35
41
  getClassMembers(className) {
36
42
  const members = new Map();
37
- for (const sourceFile of this.compiled.getSourceFiles()) {
38
- if (!sourceFile.isDeclarationFile) {
39
- // Walk the tree to search for classes
40
- ts.forEachChild(sourceFile, this.walkClassNode(className, this.walkMemberNode((method) => {
41
- members.set(method.name.text, method);
42
- })));
43
- }
44
- }
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
+ })));
45
48
  return members;
46
49
  }
47
50
  walkClassNode(className, callback) {
@@ -75,8 +78,8 @@ exports.TypescriptCompiler = TypescriptCompiler;
75
78
  * @param configPath - dir paths taken from app config eg. "system.dirs.controllers". Path MUST be avaible in configuration
76
79
  *
77
80
  */
78
- function ResolveFromFiles(filter, configPath) {
79
- return _listOrResolveFromFiles(filter, configPath, true);
81
+ function ResolveFromFiles(filter, configPath, typeMatcher) {
82
+ return _listOrResolveFromFiles(filter, configPath, true, typeMatcher);
80
83
  }
81
84
  exports.ResolveFromFiles = ResolveFromFiles;
82
85
  /**
@@ -86,17 +89,17 @@ exports.ResolveFromFiles = ResolveFromFiles;
86
89
  * @param configPath - dir paths taken from app config eg. "system.dirs.controllers". Path MUST be avaible in configuration
87
90
  *
88
91
  */
89
- function ListFromFiles(filter, configPath) {
90
- return _listOrResolveFromFiles(filter, configPath, false);
92
+ function ListFromFiles(filter, configPath, typeMatcher) {
93
+ return _listOrResolveFromFiles(filter, configPath, false, typeMatcher);
91
94
  }
92
95
  exports.ListFromFiles = ListFromFiles;
93
- function _listOrResolveFromFiles(filter, configPath, resolve) {
96
+ function _listOrResolveFromFiles(filter, configPath, resolve, typeMatcher) {
94
97
  return (target, propertyKey) => {
95
98
  if (!filter) {
96
- throw new exceptions_1.InvalidArgument("filter parameter is null or empty");
99
+ throw new exceptions_1.InvalidArgument('filter parameter is null or empty');
97
100
  }
98
101
  if (!configPath) {
99
- throw new exceptions_1.InvalidArgument("configPath parameter is null or empty");
102
+ throw new exceptions_1.InvalidArgument('configPath parameter is null or empty');
100
103
  }
101
104
  let instances = null;
102
105
  const getter = () => {
@@ -110,16 +113,20 @@ function _listOrResolveFromFiles(filter, configPath, resolve) {
110
113
  get: getter,
111
114
  });
112
115
  function _loadInstances() {
113
- const config = di_1.DI.resolve(configuration_1.Configuration);
114
- const logger = di_1.DI.resolve(log_1.LogModule).getLogger();
115
- 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);
116
119
  if (!directories || directories.length === 0) {
117
120
  return [];
118
121
  }
122
+ if (!Array.isArray(directories)) {
123
+ directories = [directories];
124
+ }
119
125
  let promised = false;
120
- const result = directories.map((d) => path.normalize(d))
126
+ const result = directories
121
127
  .filter((d) => {
122
- const exists = fs.existsSync(d);
128
+ /* eslint-disable */
129
+ const exists = fs.existsSync(path.normalize(d));
123
130
  if (!exists) {
124
131
  logger.warn(`Directory ${d} not exists`);
125
132
  }
@@ -129,9 +136,11 @@ function _listOrResolveFromFiles(filter, configPath, resolve) {
129
136
  .map((f) => {
130
137
  logger.trace(`Loading file ${f}`);
131
138
  const name = path.parse(f).name;
132
- const type = require(f)[name];
139
+ const nameToResolve = typeMatcher ? typeMatcher(name) : name;
140
+ /* eslint-disable */
141
+ const type = require(f)[`${nameToResolve}`];
133
142
  if (!type) {
134
- throw new exceptions_1.IOFail(`cannot find class ${name} in file ${f}`);
143
+ throw new ReflectionException(`cannot find class ${nameToResolve} in file ${f}`);
135
144
  }
136
145
  if (resolve) {
137
146
  if (type.prototype instanceof di_1.AsyncModule) {
@@ -140,7 +149,7 @@ function _listOrResolveFromFiles(filter, configPath, resolve) {
140
149
  return {
141
150
  file: f,
142
151
  instance,
143
- name,
152
+ name: nameToResolve,
144
153
  type,
145
154
  };
146
155
  });
@@ -149,11 +158,11 @@ function _listOrResolveFromFiles(filter, configPath, resolve) {
149
158
  return {
150
159
  file: f,
151
160
  instance: resolve ? di_1.DI.resolve(type) : null,
152
- name,
161
+ name: nameToResolve,
153
162
  type,
154
163
  };
155
164
  });
156
- return (promised && resolve) ? Promise.all(result) : result;
165
+ return promised && resolve ? Promise.all(result) : result;
157
166
  }
158
167
  };
159
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.7",
3
+ "version": "1.2.9",
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,31 +29,11 @@
27
29
  },
28
30
  "homepage": "https://github.com/spinajs/reflection#readme",
29
31
  "dependencies": {
30
- "@spinajs/configuration": "^1.0.9",
31
- "@spinajs/di": "^1.0.17",
32
- "@spinajs/exceptions": "^1.0.3",
33
- "@spinajs/log": "^1.0.7"
32
+ "@spinajs/configuration": "^1.2.7",
33
+ "@spinajs/di": "^1.2.7",
34
+ "@spinajs/exceptions": "^1.2.7",
35
+ "@spinajs/log": "^1.2.9",
36
+ "lodash": "^4.17.21"
34
37
  },
35
- "devDependencies": {
36
- "@types/mocha": "^5.2.7",
37
- "@types/chai": "^4.1.7",
38
- "@types/chai-as-promised": "^7.1.0",
39
- "@types/chai-subset": "^1.3.3",
40
- "@types/lodash": "^4.14.136",
41
- "chai": "^4.2.0",
42
- "chai-as-promised": "^7.1.1",
43
- "chai-subset": "^1.6.0",
44
- "mocha": "^6.1.4",
45
- "nyc": "^14.1.1",
46
- "prettier": "^1.18.2",
47
- "ts-mocha": "^6.0.0",
48
- "ts-node": "^8.3.0",
49
- "tslint": "^5.20.1",
50
- "tslint-circular-dependencies": "^0.1.0",
51
- "tslint-config-prettier": "^1.18.0",
52
- "tslint-config-standard": "^8.0.1",
53
- "tslint-no-unused-expression-chai": "^0.1.4",
54
- "typedoc": "^0.14.2",
55
- "typescript": "^3.5.3"
56
- }
38
+ "gitHead": "ece3619ffa482e1aaba0064e200626abc0f447bf"
57
39
  }