@alterior/runtime 3.11.1 → 3.13.4

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.
Files changed (65) hide show
  1. package/dist/app-options.d.ts +65 -65
  2. package/dist/app-options.js +26 -26
  3. package/dist/app-options.js.map +1 -1
  4. package/dist/application.d.ts +52 -52
  5. package/dist/application.js +172 -171
  6. package/dist/application.js.map +1 -1
  7. package/dist/args.d.ts +7 -7
  8. package/dist/args.js +13 -13
  9. package/dist/expose.d.ts +12 -12
  10. package/dist/expose.d.ts.map +1 -1
  11. package/dist/expose.js +36 -36
  12. package/dist/expose.js.map +1 -1
  13. package/dist/index.d.ts +9 -9
  14. package/dist/index.js +12 -12
  15. package/dist/lifecycle.d.ts +24 -24
  16. package/dist/lifecycle.js +2 -2
  17. package/dist/module.test.d.ts +1 -1
  18. package/dist/modules.d.ts +120 -120
  19. package/dist/modules.js +282 -282
  20. package/dist/modules.js.map +1 -1
  21. package/dist/reflector.d.ts +123 -123
  22. package/dist/reflector.js +306 -306
  23. package/dist/reflector.js.map +1 -1
  24. package/dist/roles.service.d.ts +79 -79
  25. package/dist/roles.service.js +124 -124
  26. package/dist/roles.service.js.map +1 -1
  27. package/dist/service.d.ts +24 -24
  28. package/dist/service.js +19 -19
  29. package/dist/service.js.map +1 -1
  30. package/dist/test.d.ts +1 -1
  31. package/dist.esm/app-options.d.ts +65 -65
  32. package/dist.esm/app-options.js +23 -23
  33. package/dist.esm/app-options.js.map +1 -1
  34. package/dist.esm/application.d.ts +52 -52
  35. package/dist.esm/application.js +167 -166
  36. package/dist.esm/application.js.map +1 -1
  37. package/dist.esm/args.d.ts +7 -7
  38. package/dist.esm/args.js +9 -9
  39. package/dist.esm/expose.d.ts +12 -12
  40. package/dist.esm/expose.d.ts.map +1 -1
  41. package/dist.esm/expose.js +31 -31
  42. package/dist.esm/expose.js.map +1 -1
  43. package/dist.esm/index.d.ts +9 -9
  44. package/dist.esm/index.js +9 -9
  45. package/dist.esm/lifecycle.d.ts +24 -24
  46. package/dist.esm/lifecycle.js +1 -1
  47. package/dist.esm/module.test.d.ts +1 -1
  48. package/dist.esm/modules.d.ts +120 -120
  49. package/dist.esm/modules.js +276 -276
  50. package/dist.esm/modules.js.map +1 -1
  51. package/dist.esm/reflector.d.ts +123 -123
  52. package/dist.esm/reflector.js +296 -296
  53. package/dist.esm/reflector.js.map +1 -1
  54. package/dist.esm/roles.service.d.ts +79 -79
  55. package/dist.esm/roles.service.js +121 -121
  56. package/dist.esm/roles.service.js.map +1 -1
  57. package/dist.esm/service.d.ts +24 -24
  58. package/dist.esm/service.js +15 -15
  59. package/dist.esm/service.js.map +1 -1
  60. package/dist.esm/test.d.ts +1 -1
  61. package/package.json +11 -11
  62. package/src/application.ts +1 -1
  63. package/tsconfig.esm.tsbuildinfo +1 -0
  64. package/tsconfig.json +0 -2
  65. package/tsconfig.tsbuildinfo +1 -5546
@@ -1,297 +1,297 @@
1
- import { Annotations } from "@alterior/annotations";
2
- import { getParameterNames } from "@alterior/common";
3
- /**
4
- * Represents a property on a class. A property can also be a field or a method.
5
- */
6
- export class Property {
7
- constructor(_type, _name, _isStatic = false) {
8
- this._type = _type;
9
- this._name = _name;
10
- this._isStatic = _isStatic;
11
- this._descriptor = null;
12
- this._visibility = _name[0] === '_' ? 'private' : 'public';
13
- }
14
- defineMetadata(key, value) {
15
- Reflect.defineMetadata(key, value, this.type, this.name);
16
- }
17
- getMetadata(key) {
18
- return Reflect.getMetadata(key, this.type, this.name);
19
- }
20
- deleteMetadata(key) {
21
- Reflect.deleteMetadata(key, this.type, this.name);
22
- }
23
- get valueType() {
24
- if (!this._valueType) {
25
- let rawType = this.getMetadata('design:type');
26
- if (!rawType)
27
- return undefined;
28
- this._valueType = new Type(rawType);
29
- }
30
- return this._valueType;
31
- }
32
- get isStatic() {
33
- return this._isStatic;
34
- }
35
- get type() {
36
- return this._type;
37
- }
38
- get annotations() {
39
- if (!this._annotations) {
40
- if (this._name === 'constructor')
41
- this._annotations = Annotations.getClassAnnotations(this._type);
42
- else
43
- this._annotations = Annotations.getPropertyAnnotations(this._type, this.name, this.isStatic);
44
- }
45
- return this._annotations;
46
- }
47
- annotationsOfType(type) {
48
- return type.filter(this.annotations);
49
- }
50
- annotationOfType(type) {
51
- return type.filter(this.annotations)[0];
52
- }
53
- get descriptor() {
54
- if (!this._descriptor)
55
- this._descriptor = Object.getOwnPropertyDescriptor(this._type.prototype, this._name);
56
- return this._descriptor;
57
- }
58
- get name() {
59
- return this._name;
60
- }
61
- get visibility() {
62
- return this._visibility;
63
- }
64
- }
65
- /**
66
- * Represents a method on a class. A method can be a static or instance method, and has a set of parameters
67
- * and a return type.
68
- */
69
- export class Method extends Property {
70
- constructor(type, name, isStatic = false) {
71
- super(type, name, isStatic);
72
- }
73
- get returnType() {
74
- if (!this._returnType) {
75
- let rawType = this.getMetadata('design:returntype');
76
- if (!rawType)
77
- return undefined;
78
- this._returnType = new Type(rawType);
79
- }
80
- return this._returnType;
81
- }
82
- get parameterTypes() {
83
- if (!this._parameterTypes) {
84
- let rawTypes = this.getMetadata('design:paramtypes');
85
- this._parameterTypes = rawTypes.map(x => x ? new Type(x) : undefined);
86
- }
87
- return this._parameterTypes;
88
- }
89
- get implementation() {
90
- return this.type[this.name];
91
- }
92
- get parameterNames() {
93
- if (!this._parameterNames)
94
- this._parameterNames = getParameterNames(this.implementation);
95
- return this._parameterNames;
96
- }
97
- get parameters() {
98
- let parameterNames = this.parameterNames;
99
- return [...Array(this.implementation.length).keys()]
100
- .map(i => new Parameter(this, i, parameterNames[i]));
101
- }
102
- get parameterAnnotations() {
103
- if (!this._parameterAnnotations)
104
- this._parameterAnnotations = Annotations.getParameterAnnotations(this.type, this.name);
105
- return this._parameterAnnotations;
106
- }
107
- }
108
- export class Field extends Property {
109
- constructor(type, name, isStatic = false) {
110
- super(type, name, isStatic);
111
- }
112
- }
113
- export class ConstructorMethod extends Method {
114
- constructor(type) {
115
- super(type, 'constructor');
116
- }
117
- get parameterAnnotations() {
118
- if (!this._ctorParameterAnnotations)
119
- this._ctorParameterAnnotations = Annotations.getConstructorParameterAnnotations(this.type);
120
- return this._ctorParameterAnnotations;
121
- }
122
- }
123
- export class Parameter {
124
- constructor(_method, _index, _name = null) {
125
- this._method = _method;
126
- this._index = _index;
127
- this._name = _name;
128
- }
129
- get annotations() {
130
- return this.method.parameterAnnotations[this.index];
131
- }
132
- annotationsOfType(type) {
133
- return type.filter(this.annotations);
134
- }
135
- annotationOfType(type) {
136
- return type.filter(this.annotations)[0];
137
- }
138
- get method() {
139
- return this._method;
140
- }
141
- get valueType() {
142
- return this.method.parameterTypes[this.index];
143
- }
144
- get index() {
145
- return this._index;
146
- }
147
- get name() {
148
- return this._name;
149
- }
150
- }
151
- /**
152
- * Represents a class Type and it's metadata
153
- */
154
- export class Type {
155
- constructor(_class) {
156
- this._class = _class;
157
- this._staticPropertyNames = [];
158
- this._staticMethodNames = [];
159
- this._staticFieldNames = [];
160
- }
161
- get name() {
162
- return this._class.name;
163
- }
164
- getMetadata(key) {
165
- Reflect.getOwnMetadata(key, this._class);
166
- }
167
- defineMetadata(key, value) {
168
- Reflect.defineMetadata(key, value, this._class.prototype);
169
- }
170
- deleteMetadata(key) {
171
- Reflect.deleteMetadata(key, this._class);
172
- }
173
- get metadataKeys() {
174
- if (!this._metadataKeys)
175
- this._metadataKeys = Reflect.getOwnMetadataKeys(this._class);
176
- return this._metadataKeys;
177
- }
178
- /**
179
- * Get all annotations attached to this class
180
- */
181
- get annotations() {
182
- if (!this._annotations)
183
- this._annotations = Annotations.getClassAnnotations(this._class);
184
- return this._annotations;
185
- }
186
- annotationsOfType(type) {
187
- return type.filter(this.annotations);
188
- }
189
- annotationOfType(type) {
190
- return type.filter(this.annotations)[0];
191
- }
192
- fetchPropertyNames() {
193
- this._propertyNames = Object.getOwnPropertyNames(this._class.prototype);
194
- for (let propertyName of this._propertyNames) {
195
- if (typeof this._class.prototype[propertyName] === 'function') {
196
- this._methodNames.push(propertyName);
197
- }
198
- else {
199
- this._fieldNames.push(propertyName);
200
- }
201
- }
202
- }
203
- fetchStaticPropertyNames() {
204
- this._staticPropertyNames = Object.getOwnPropertyNames(this._class).filter(x => !['length', 'prototype', 'name'].includes(x));
205
- for (let propertyName of this._staticPropertyNames) {
206
- if (typeof this._class[propertyName] === 'function') {
207
- this._staticMethodNames.push(propertyName);
208
- }
209
- else {
210
- this._staticFieldNames.push(propertyName);
211
- }
212
- }
213
- }
214
- get staticPropertyNames() {
215
- if (!this._staticPropertyNames)
216
- this.fetchStaticPropertyNames();
217
- return this._staticPropertyNames.slice();
218
- }
219
- get staticMethodNames() {
220
- if (!this._staticPropertyNames)
221
- this.fetchStaticPropertyNames();
222
- return this._staticMethodNames.slice();
223
- }
224
- get staticFieldNames() {
225
- if (!this._staticPropertyNames)
226
- this.fetchStaticPropertyNames();
227
- return this._staticFieldNames.slice();
228
- }
229
- get staticMethods() {
230
- if (this._staticMethods)
231
- return this._staticMethods;
232
- this._staticMethods = this.staticMethodNames.map(methodName => new Method(this._class, methodName, true));
233
- return this._staticMethods;
234
- }
235
- get staticFields() {
236
- if (this._staticFields)
237
- return this._staticFields;
238
- this._staticFields = this.staticFieldNames.map(fieldName => new Field(this._class, fieldName, true));
239
- return this._staticFields;
240
- }
241
- get staticProperties() {
242
- if (this._staticProperties)
243
- return this._staticProperties;
244
- this._staticProperties = [].concat(this.staticFields, this.staticMethods);
245
- return this._staticProperties;
246
- }
247
- get propertyNames() {
248
- if (!this._propertyNames)
249
- this.fetchPropertyNames();
250
- return this._propertyNames.slice();
251
- }
252
- get methodNames() {
253
- if (!this._propertyNames)
254
- this.fetchPropertyNames();
255
- return this._methodNames.slice();
256
- }
257
- get fieldNames() {
258
- if (!this._propertyNames)
259
- this.fetchPropertyNames();
260
- return this._fieldNames.slice();
261
- }
262
- get constructorMethod() {
263
- if (!this._ctor)
264
- this._ctor = new ConstructorMethod(this._class);
265
- return this._ctor;
266
- }
267
- get methods() {
268
- if (this._methods)
269
- return this._methods;
270
- this._methods = this.methodNames.map(methodName => new Method(this._class, methodName));
271
- return this._methods;
272
- }
273
- get properties() {
274
- if (this._properties)
275
- return this._properties;
276
- this._properties = [].concat(this.fields, this.methods);
277
- return this._properties;
278
- }
279
- get fields() {
280
- if (this._fields)
281
- return this._fields;
282
- this._fields = this.fieldNames.map(fieldName => new Field(this._class, fieldName));
283
- return this._fields;
284
- }
285
- get base() {
286
- return new Type(Object.getPrototypeOf(this._class));
287
- }
288
- }
289
- export class Reflector {
290
- getTypeFromInstance(instance) {
291
- return this.getTypeFromClass(instance.constructor);
292
- }
293
- getTypeFromClass(typeClass) {
294
- return new Type(typeClass);
295
- }
296
- }
1
+ import { Annotations } from "@alterior/annotations";
2
+ import { getParameterNames } from "@alterior/common";
3
+ /**
4
+ * Represents a property on a class. A property can also be a field or a method.
5
+ */
6
+ export class Property {
7
+ constructor(_type, _name, _isStatic = false) {
8
+ this._type = _type;
9
+ this._name = _name;
10
+ this._isStatic = _isStatic;
11
+ this._descriptor = null;
12
+ this._visibility = _name[0] === '_' ? 'private' : 'public';
13
+ }
14
+ defineMetadata(key, value) {
15
+ Reflect.defineMetadata(key, value, this.type, this.name);
16
+ }
17
+ getMetadata(key) {
18
+ return Reflect.getMetadata(key, this.type, this.name);
19
+ }
20
+ deleteMetadata(key) {
21
+ Reflect.deleteMetadata(key, this.type, this.name);
22
+ }
23
+ get valueType() {
24
+ if (!this._valueType) {
25
+ let rawType = this.getMetadata('design:type');
26
+ if (!rawType)
27
+ return undefined;
28
+ this._valueType = new Type(rawType);
29
+ }
30
+ return this._valueType;
31
+ }
32
+ get isStatic() {
33
+ return this._isStatic;
34
+ }
35
+ get type() {
36
+ return this._type;
37
+ }
38
+ get annotations() {
39
+ if (!this._annotations) {
40
+ if (this._name === 'constructor')
41
+ this._annotations = Annotations.getClassAnnotations(this._type);
42
+ else
43
+ this._annotations = Annotations.getPropertyAnnotations(this._type, this.name, this.isStatic);
44
+ }
45
+ return this._annotations;
46
+ }
47
+ annotationsOfType(type) {
48
+ return type.filter(this.annotations);
49
+ }
50
+ annotationOfType(type) {
51
+ return type.filter(this.annotations)[0];
52
+ }
53
+ get descriptor() {
54
+ if (!this._descriptor)
55
+ this._descriptor = Object.getOwnPropertyDescriptor(this._type.prototype, this._name);
56
+ return this._descriptor;
57
+ }
58
+ get name() {
59
+ return this._name;
60
+ }
61
+ get visibility() {
62
+ return this._visibility;
63
+ }
64
+ }
65
+ /**
66
+ * Represents a method on a class. A method can be a static or instance method, and has a set of parameters
67
+ * and a return type.
68
+ */
69
+ export class Method extends Property {
70
+ constructor(type, name, isStatic = false) {
71
+ super(type, name, isStatic);
72
+ }
73
+ get returnType() {
74
+ if (!this._returnType) {
75
+ let rawType = this.getMetadata('design:returntype');
76
+ if (!rawType)
77
+ return undefined;
78
+ this._returnType = new Type(rawType);
79
+ }
80
+ return this._returnType;
81
+ }
82
+ get parameterTypes() {
83
+ if (!this._parameterTypes) {
84
+ let rawTypes = this.getMetadata('design:paramtypes');
85
+ this._parameterTypes = rawTypes.map(x => x ? new Type(x) : undefined);
86
+ }
87
+ return this._parameterTypes;
88
+ }
89
+ get implementation() {
90
+ return this.type[this.name];
91
+ }
92
+ get parameterNames() {
93
+ if (!this._parameterNames)
94
+ this._parameterNames = getParameterNames(this.implementation);
95
+ return this._parameterNames;
96
+ }
97
+ get parameters() {
98
+ let parameterNames = this.parameterNames;
99
+ return [...Array(this.implementation.length).keys()]
100
+ .map(i => new Parameter(this, i, parameterNames[i]));
101
+ }
102
+ get parameterAnnotations() {
103
+ if (!this._parameterAnnotations)
104
+ this._parameterAnnotations = Annotations.getParameterAnnotations(this.type, this.name);
105
+ return this._parameterAnnotations;
106
+ }
107
+ }
108
+ export class Field extends Property {
109
+ constructor(type, name, isStatic = false) {
110
+ super(type, name, isStatic);
111
+ }
112
+ }
113
+ export class ConstructorMethod extends Method {
114
+ constructor(type) {
115
+ super(type, 'constructor');
116
+ }
117
+ get parameterAnnotations() {
118
+ if (!this._ctorParameterAnnotations)
119
+ this._ctorParameterAnnotations = Annotations.getConstructorParameterAnnotations(this.type);
120
+ return this._ctorParameterAnnotations;
121
+ }
122
+ }
123
+ export class Parameter {
124
+ constructor(_method, _index, _name = null) {
125
+ this._method = _method;
126
+ this._index = _index;
127
+ this._name = _name;
128
+ }
129
+ get annotations() {
130
+ return this.method.parameterAnnotations[this.index];
131
+ }
132
+ annotationsOfType(type) {
133
+ return type.filter(this.annotations);
134
+ }
135
+ annotationOfType(type) {
136
+ return type.filter(this.annotations)[0];
137
+ }
138
+ get method() {
139
+ return this._method;
140
+ }
141
+ get valueType() {
142
+ return this.method.parameterTypes[this.index];
143
+ }
144
+ get index() {
145
+ return this._index;
146
+ }
147
+ get name() {
148
+ return this._name;
149
+ }
150
+ }
151
+ /**
152
+ * Represents a class Type and it's metadata
153
+ */
154
+ export class Type {
155
+ constructor(_class) {
156
+ this._class = _class;
157
+ this._staticPropertyNames = [];
158
+ this._staticMethodNames = [];
159
+ this._staticFieldNames = [];
160
+ }
161
+ get name() {
162
+ return this._class.name;
163
+ }
164
+ getMetadata(key) {
165
+ Reflect.getOwnMetadata(key, this._class);
166
+ }
167
+ defineMetadata(key, value) {
168
+ Reflect.defineMetadata(key, value, this._class.prototype);
169
+ }
170
+ deleteMetadata(key) {
171
+ Reflect.deleteMetadata(key, this._class);
172
+ }
173
+ get metadataKeys() {
174
+ if (!this._metadataKeys)
175
+ this._metadataKeys = Reflect.getOwnMetadataKeys(this._class);
176
+ return this._metadataKeys;
177
+ }
178
+ /**
179
+ * Get all annotations attached to this class
180
+ */
181
+ get annotations() {
182
+ if (!this._annotations)
183
+ this._annotations = Annotations.getClassAnnotations(this._class);
184
+ return this._annotations;
185
+ }
186
+ annotationsOfType(type) {
187
+ return type.filter(this.annotations);
188
+ }
189
+ annotationOfType(type) {
190
+ return type.filter(this.annotations)[0];
191
+ }
192
+ fetchPropertyNames() {
193
+ this._propertyNames = Object.getOwnPropertyNames(this._class.prototype);
194
+ for (let propertyName of this._propertyNames) {
195
+ if (typeof this._class.prototype[propertyName] === 'function') {
196
+ this._methodNames.push(propertyName);
197
+ }
198
+ else {
199
+ this._fieldNames.push(propertyName);
200
+ }
201
+ }
202
+ }
203
+ fetchStaticPropertyNames() {
204
+ this._staticPropertyNames = Object.getOwnPropertyNames(this._class).filter(x => !['length', 'prototype', 'name'].includes(x));
205
+ for (let propertyName of this._staticPropertyNames) {
206
+ if (typeof this._class[propertyName] === 'function') {
207
+ this._staticMethodNames.push(propertyName);
208
+ }
209
+ else {
210
+ this._staticFieldNames.push(propertyName);
211
+ }
212
+ }
213
+ }
214
+ get staticPropertyNames() {
215
+ if (!this._staticPropertyNames)
216
+ this.fetchStaticPropertyNames();
217
+ return this._staticPropertyNames.slice();
218
+ }
219
+ get staticMethodNames() {
220
+ if (!this._staticPropertyNames)
221
+ this.fetchStaticPropertyNames();
222
+ return this._staticMethodNames.slice();
223
+ }
224
+ get staticFieldNames() {
225
+ if (!this._staticPropertyNames)
226
+ this.fetchStaticPropertyNames();
227
+ return this._staticFieldNames.slice();
228
+ }
229
+ get staticMethods() {
230
+ if (this._staticMethods)
231
+ return this._staticMethods;
232
+ this._staticMethods = this.staticMethodNames.map(methodName => new Method(this._class, methodName, true));
233
+ return this._staticMethods;
234
+ }
235
+ get staticFields() {
236
+ if (this._staticFields)
237
+ return this._staticFields;
238
+ this._staticFields = this.staticFieldNames.map(fieldName => new Field(this._class, fieldName, true));
239
+ return this._staticFields;
240
+ }
241
+ get staticProperties() {
242
+ if (this._staticProperties)
243
+ return this._staticProperties;
244
+ this._staticProperties = [].concat(this.staticFields, this.staticMethods);
245
+ return this._staticProperties;
246
+ }
247
+ get propertyNames() {
248
+ if (!this._propertyNames)
249
+ this.fetchPropertyNames();
250
+ return this._propertyNames.slice();
251
+ }
252
+ get methodNames() {
253
+ if (!this._propertyNames)
254
+ this.fetchPropertyNames();
255
+ return this._methodNames.slice();
256
+ }
257
+ get fieldNames() {
258
+ if (!this._propertyNames)
259
+ this.fetchPropertyNames();
260
+ return this._fieldNames.slice();
261
+ }
262
+ get constructorMethod() {
263
+ if (!this._ctor)
264
+ this._ctor = new ConstructorMethod(this._class);
265
+ return this._ctor;
266
+ }
267
+ get methods() {
268
+ if (this._methods)
269
+ return this._methods;
270
+ this._methods = this.methodNames.map(methodName => new Method(this._class, methodName));
271
+ return this._methods;
272
+ }
273
+ get properties() {
274
+ if (this._properties)
275
+ return this._properties;
276
+ this._properties = [].concat(this.fields, this.methods);
277
+ return this._properties;
278
+ }
279
+ get fields() {
280
+ if (this._fields)
281
+ return this._fields;
282
+ this._fields = this.fieldNames.map(fieldName => new Field(this._class, fieldName));
283
+ return this._fields;
284
+ }
285
+ get base() {
286
+ return new Type(Object.getPrototypeOf(this._class));
287
+ }
288
+ }
289
+ export class Reflector {
290
+ getTypeFromInstance(instance) {
291
+ return this.getTypeFromClass(instance.constructor);
292
+ }
293
+ getTypeFromClass(typeClass) {
294
+ return new Type(typeClass);
295
+ }
296
+ }
297
297
  //# sourceMappingURL=reflector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reflector.js","sourceRoot":"","sources":["../src/reflector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflector.js","sourceRoot":"","sources":["../src/reflector.ts"],"names":[],"mappings":"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"}