web_api_base 6.1.1 → 6.1.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.
Files changed (213) hide show
  1. package/dist/Application.d.ts +29 -0
  2. package/dist/Application.d.ts.map +1 -0
  3. package/dist/Application.js +560 -0
  4. package/dist/Application.js.map +1 -0
  5. package/dist/ApplicationConfiguration.d.ts +24 -0
  6. package/dist/ApplicationConfiguration.d.ts.map +1 -0
  7. package/dist/ApplicationConfiguration.js +141 -0
  8. package/dist/ApplicationConfiguration.js.map +1 -0
  9. package/dist/bin/CreateApplication.d.ts +2 -0
  10. package/dist/bin/CreateApplication.d.ts.map +1 -0
  11. package/dist/bin/CreateApplication.js +6 -0
  12. package/dist/bin/CreateApplication.js.map +1 -0
  13. package/dist/bin/CreateController.d.ts +2 -0
  14. package/dist/bin/CreateController.d.ts.map +1 -0
  15. package/dist/bin/CreateController.js +5 -0
  16. package/dist/bin/CreateController.js.map +1 -0
  17. package/dist/bin/Factory.d.ts +3 -0
  18. package/dist/bin/Factory.d.ts.map +1 -0
  19. package/dist/bin/Factory.js +81 -0
  20. package/dist/bin/Factory.js.map +1 -0
  21. package/dist/controllers/AcceptedResult.d.ts +5 -0
  22. package/dist/controllers/AcceptedResult.d.ts.map +1 -0
  23. package/dist/controllers/AcceptedResult.js +13 -0
  24. package/dist/controllers/AcceptedResult.js.map +1 -0
  25. package/dist/controllers/ActionResult.d.ts +6 -0
  26. package/dist/controllers/ActionResult.d.ts.map +1 -0
  27. package/dist/controllers/ActionResult.js +10 -0
  28. package/dist/controllers/ActionResult.js.map +1 -0
  29. package/dist/controllers/BadRequestResult.d.ts +5 -0
  30. package/dist/controllers/BadRequestResult.d.ts.map +1 -0
  31. package/dist/controllers/BadRequestResult.js +13 -0
  32. package/dist/controllers/BadRequestResult.js.map +1 -0
  33. package/dist/controllers/CreatedResult.d.ts +5 -0
  34. package/dist/controllers/CreatedResult.d.ts.map +1 -0
  35. package/dist/controllers/CreatedResult.js +13 -0
  36. package/dist/controllers/CreatedResult.js.map +1 -0
  37. package/dist/controllers/DownloadFileResult.d.ts +5 -0
  38. package/dist/controllers/DownloadFileResult.d.ts.map +1 -0
  39. package/dist/controllers/DownloadFileResult.js +13 -0
  40. package/dist/controllers/DownloadFileResult.js.map +1 -0
  41. package/dist/controllers/ErrorResult.d.ts +5 -0
  42. package/dist/controllers/ErrorResult.d.ts.map +1 -0
  43. package/dist/controllers/ErrorResult.js +13 -0
  44. package/dist/controllers/ErrorResult.js.map +1 -0
  45. package/dist/controllers/ForbiddenResult.d.ts +5 -0
  46. package/dist/controllers/ForbiddenResult.d.ts.map +1 -0
  47. package/dist/controllers/ForbiddenResult.js +13 -0
  48. package/dist/controllers/ForbiddenResult.js.map +1 -0
  49. package/dist/controllers/GenericResult.d.ts +6 -0
  50. package/dist/controllers/GenericResult.d.ts.map +1 -0
  51. package/dist/controllers/GenericResult.js +13 -0
  52. package/dist/controllers/GenericResult.js.map +1 -0
  53. package/dist/controllers/NoContentResult.d.ts +5 -0
  54. package/dist/controllers/NoContentResult.d.ts.map +1 -0
  55. package/dist/controllers/NoContentResult.js +13 -0
  56. package/dist/controllers/NoContentResult.js.map +1 -0
  57. package/dist/controllers/NotFoundResult.d.ts +5 -0
  58. package/dist/controllers/NotFoundResult.d.ts.map +1 -0
  59. package/dist/controllers/NotFoundResult.js +13 -0
  60. package/dist/controllers/NotFoundResult.js.map +1 -0
  61. package/dist/controllers/OKResult.d.ts +5 -0
  62. package/dist/controllers/OKResult.d.ts.map +1 -0
  63. package/dist/controllers/OKResult.js +13 -0
  64. package/dist/controllers/OKResult.js.map +1 -0
  65. package/dist/controllers/SendFileResult.d.ts +5 -0
  66. package/dist/controllers/SendFileResult.d.ts.map +1 -0
  67. package/dist/controllers/SendFileResult.js +13 -0
  68. package/dist/controllers/SendFileResult.js.map +1 -0
  69. package/dist/controllers/UnauthorizedResult.d.ts +5 -0
  70. package/dist/controllers/UnauthorizedResult.d.ts.map +1 -0
  71. package/dist/controllers/UnauthorizedResult.js +13 -0
  72. package/dist/controllers/UnauthorizedResult.js.map +1 -0
  73. package/dist/controllers/base/ControllerBase.d.ts +33 -0
  74. package/dist/controllers/base/ControllerBase.d.ts.map +1 -0
  75. package/dist/controllers/base/ControllerBase.js +84 -0
  76. package/dist/controllers/base/ControllerBase.js.map +1 -0
  77. package/dist/decorators/controllers/ControllerDecorators.d.ts +66 -0
  78. package/dist/decorators/controllers/ControllerDecorators.d.ts.map +1 -0
  79. package/dist/decorators/controllers/ControllerDecorators.js +256 -0
  80. package/dist/decorators/controllers/ControllerDecorators.js.map +1 -0
  81. package/dist/decorators/documentation/DocumentationDecorators.d.ts +24 -0
  82. package/dist/decorators/documentation/DocumentationDecorators.d.ts.map +1 -0
  83. package/dist/decorators/documentation/DocumentationDecorators.js +69 -0
  84. package/dist/decorators/documentation/DocumentationDecorators.js.map +1 -0
  85. package/dist/decorators/metadata/MetadataDecorators.d.ts +17 -0
  86. package/dist/decorators/metadata/MetadataDecorators.d.ts.map +1 -0
  87. package/dist/decorators/metadata/MetadataDecorators.js +67 -0
  88. package/dist/decorators/metadata/MetadataDecorators.js.map +1 -0
  89. package/dist/decorators/validations/ValidationDecorators.d.ts +53 -0
  90. package/dist/decorators/validations/ValidationDecorators.d.ts.map +1 -0
  91. package/dist/decorators/validations/ValidationDecorators.js +180 -0
  92. package/dist/decorators/validations/ValidationDecorators.js.map +1 -0
  93. package/dist/dependencyInjection/DependecyService.d.ts +36 -0
  94. package/dist/dependencyInjection/DependecyService.d.ts.map +1 -0
  95. package/dist/dependencyInjection/DependecyService.js +204 -0
  96. package/dist/dependencyInjection/DependecyService.js.map +1 -0
  97. package/dist/dependencyInjection/IDIContext.d.ts +9 -0
  98. package/dist/dependencyInjection/IDIContext.d.ts.map +1 -0
  99. package/dist/dependencyInjection/IDIContext.js +3 -0
  100. package/dist/dependencyInjection/IDIContext.js.map +1 -0
  101. package/dist/documentation/CSS.d.ts +7 -0
  102. package/dist/documentation/CSS.d.ts.map +1 -0
  103. package/dist/documentation/CSS.js +302 -0
  104. package/dist/documentation/CSS.js.map +1 -0
  105. package/dist/documentation/Documentation.d.ts +8 -0
  106. package/dist/documentation/Documentation.d.ts.map +1 -0
  107. package/dist/documentation/Documentation.js +89 -0
  108. package/dist/documentation/Documentation.js.map +1 -0
  109. package/dist/documentation/HTML.d.ts +5 -0
  110. package/dist/documentation/HTML.d.ts.map +1 -0
  111. package/dist/documentation/HTML.js +26 -0
  112. package/dist/documentation/HTML.js.map +1 -0
  113. package/dist/documentation/JS.d.ts +6 -0
  114. package/dist/documentation/JS.d.ts.map +1 -0
  115. package/dist/documentation/JS.js +419 -0
  116. package/dist/documentation/JS.js.map +1 -0
  117. package/dist/enums/httpVerbs/HttpVerbs.d.ts +7 -0
  118. package/dist/enums/httpVerbs/HttpVerbs.d.ts.map +1 -0
  119. package/dist/enums/httpVerbs/HttpVerbs.js +11 -0
  120. package/dist/enums/httpVerbs/HttpVerbs.js.map +1 -0
  121. package/dist/exceptions/ArgumentNullException.d.ts +4 -0
  122. package/dist/exceptions/ArgumentNullException.d.ts.map +1 -0
  123. package/dist/exceptions/ArgumentNullException.js +10 -0
  124. package/dist/exceptions/ArgumentNullException.js.map +1 -0
  125. package/dist/exceptions/BodyParseException.d.ts +4 -0
  126. package/dist/exceptions/BodyParseException.d.ts.map +1 -0
  127. package/dist/exceptions/BodyParseException.js +10 -0
  128. package/dist/exceptions/BodyParseException.js.map +1 -0
  129. package/dist/exceptions/ControllerLoadException.d.ts +4 -0
  130. package/dist/exceptions/ControllerLoadException.d.ts.map +1 -0
  131. package/dist/exceptions/ControllerLoadException.js +10 -0
  132. package/dist/exceptions/ControllerLoadException.js.map +1 -0
  133. package/dist/exceptions/DecoratorException.d.ts +4 -0
  134. package/dist/exceptions/DecoratorException.d.ts.map +1 -0
  135. package/dist/exceptions/DecoratorException.js +10 -0
  136. package/dist/exceptions/DecoratorException.js.map +1 -0
  137. package/dist/exceptions/Exception.d.ts +5 -0
  138. package/dist/exceptions/Exception.d.ts.map +1 -0
  139. package/dist/exceptions/Exception.js +10 -0
  140. package/dist/exceptions/Exception.js.map +1 -0
  141. package/dist/exceptions/FileNotFoundException.d.ts +4 -0
  142. package/dist/exceptions/FileNotFoundException.d.ts.map +1 -0
  143. package/dist/exceptions/FileNotFoundException.js +10 -0
  144. package/dist/exceptions/FileNotFoundException.js.map +1 -0
  145. package/dist/exceptions/FindDependencyException.d.ts +4 -0
  146. package/dist/exceptions/FindDependencyException.d.ts.map +1 -0
  147. package/dist/exceptions/FindDependencyException.js +10 -0
  148. package/dist/exceptions/FindDependencyException.js.map +1 -0
  149. package/dist/exceptions/InvalidEntityException.d.ts +4 -0
  150. package/dist/exceptions/InvalidEntityException.d.ts.map +1 -0
  151. package/dist/exceptions/InvalidEntityException.js +10 -0
  152. package/dist/exceptions/InvalidEntityException.js.map +1 -0
  153. package/dist/exceptions/RegisterDependencyException.d.ts +4 -0
  154. package/dist/exceptions/RegisterDependencyException.d.ts.map +1 -0
  155. package/dist/exceptions/RegisterDependencyException.js +10 -0
  156. package/dist/exceptions/RegisterDependencyException.js.map +1 -0
  157. package/dist/file/AbstractFileService.d.ts +12 -0
  158. package/dist/file/AbstractFileService.d.ts.map +1 -0
  159. package/dist/file/AbstractFileService.js +6 -0
  160. package/dist/file/AbstractFileService.js.map +1 -0
  161. package/dist/file/AbstractMultiPartRequestService.d.ts +17 -0
  162. package/dist/file/AbstractMultiPartRequestService.d.ts.map +1 -0
  163. package/dist/file/AbstractMultiPartRequestService.js +12 -0
  164. package/dist/file/AbstractMultiPartRequestService.js.map +1 -0
  165. package/dist/file/File.d.ts +6 -0
  166. package/dist/file/File.d.ts.map +1 -0
  167. package/dist/file/File.js +10 -0
  168. package/dist/file/File.js.map +1 -0
  169. package/dist/file/FileService.d.ts +13 -0
  170. package/dist/file/FileService.d.ts.map +1 -0
  171. package/dist/file/FileService.js +136 -0
  172. package/dist/file/FileService.js.map +1 -0
  173. package/dist/file/FormidableMultiPartRequestService.d.ts +5 -0
  174. package/dist/file/FormidableMultiPartRequestService.d.ts.map +1 -0
  175. package/dist/file/FormidableMultiPartRequestService.js +73 -0
  176. package/dist/file/FormidableMultiPartRequestService.js.map +1 -0
  177. package/dist/index.d.ts +85 -0
  178. package/dist/index.d.ts.map +1 -0
  179. package/dist/index.js +262 -0
  180. package/dist/index.js.map +1 -0
  181. package/dist/interfaces/IApplication.d.ts +15 -0
  182. package/dist/interfaces/IApplication.d.ts.map +1 -0
  183. package/dist/interfaces/IApplication.js +3 -0
  184. package/dist/interfaces/IApplication.js.map +1 -0
  185. package/dist/interfaces/IApplicationConfiguration.d.ts +18 -0
  186. package/dist/interfaces/IApplicationConfiguration.d.ts.map +1 -0
  187. package/dist/interfaces/IApplicationConfiguration.js +3 -0
  188. package/dist/interfaces/IApplicationConfiguration.js.map +1 -0
  189. package/dist/interfaces/IController.d.ts +6 -0
  190. package/dist/interfaces/IController.d.ts.map +1 -0
  191. package/dist/interfaces/IController.js +3 -0
  192. package/dist/interfaces/IController.js.map +1 -0
  193. package/dist/metadata/FunctionAnalizer.d.ts +10 -0
  194. package/dist/metadata/FunctionAnalizer.d.ts.map +1 -0
  195. package/dist/metadata/FunctionAnalizer.js +57 -0
  196. package/dist/metadata/FunctionAnalizer.js.map +1 -0
  197. package/dist/metadata/OwnMetaDataContainer.d.ts +13 -0
  198. package/dist/metadata/OwnMetaDataContainer.d.ts.map +1 -0
  199. package/dist/metadata/OwnMetaDataContainer.js +43 -0
  200. package/dist/metadata/OwnMetaDataContainer.js.map +1 -0
  201. package/dist/metadata/Type.d.ts +10 -0
  202. package/dist/metadata/Type.d.ts.map +1 -0
  203. package/dist/metadata/Type.js +252 -0
  204. package/dist/metadata/Type.js.map +1 -0
  205. package/dist/midlewares/IMidleware.d.ts +20 -0
  206. package/dist/midlewares/IMidleware.d.ts.map +1 -0
  207. package/dist/midlewares/IMidleware.js +3 -0
  208. package/dist/midlewares/IMidleware.js.map +1 -0
  209. package/dist/utils/Utils.d.ts +4 -0
  210. package/dist/utils/Utils.d.ts.map +1 -0
  211. package/dist/utils/Utils.js +11 -0
  212. package/dist/utils/Utils.js.map +1 -0
  213. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentationDecorators.js","sourceRoot":"","sources":["../../../decorators/documentation/DocumentationDecorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export default class MetadataDecorators {
2
+ private static _addMetadataKeyMetadata;
3
+ private static _ignoreKeyMetadata;
4
+ private static _showInDocumentationKeyMetadata;
5
+ private static _arrayOfTypeKeyMetadata;
6
+ private static _defaultValueKeyMetadata;
7
+ static CreateMetada(): (target: any, property: string) => void;
8
+ static IgnoreInDocumentation(): (target: any, property: string) => void;
9
+ static IsToIgnoreInDocumentation(cTor: Function, property: string): boolean;
10
+ static ShowInDocumentation(): (target: Object, property: string) => void;
11
+ static IsToShowInDocumentation(cTor: Function, property: string): boolean;
12
+ static ArrayElementType(typeBuilder: () => new (...args: any[]) => any): (target: any, property: string) => void;
13
+ static GetArrayElementType(cTor: Function, property: string): (new (...args: any[]) => any) | undefined;
14
+ static DefaultValue(value: any): (target: any, property: string) => void;
15
+ static GetDefaultValue(cTor: Function, property: string): any;
16
+ }
17
+ //# sourceMappingURL=MetadataDecorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataDecorators.d.ts","sourceRoot":"","sources":["../../../decorators/metadata/MetadataDecorators.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAEnC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAA6C;IACnF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAuC;IACxE,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAmD;IACjG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAA6C;IACnF,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAA8C;WAGvE,YAAY,aAEG,GAAG,YAAa,MAAM;WAOrC,qBAAqB,aAEN,GAAG,YAAa,MAAM;WAMrC,yBAAyB,CAAC,IAAI,EAAG,QAAQ,EAAE,QAAQ,EAAG,MAAM,GAAI,OAAO;WAUvE,mBAAmB,aAEJ,MAAM,YAAa,MAAM;WAMxC,uBAAuB,CAAC,IAAI,EAAG,QAAQ,EAAE,QAAQ,EAAG,MAAM,GAAI,OAAO;WAYrE,gBAAgB,CAAC,WAAW,EAAG,MAAM,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAI,GAAG,YAEhD,GAAG,YAAa,MAAM;WAMrC,mBAAmB,CAAC,IAAI,EAAG,QAAQ,EAAE,QAAQ,EAAG,MAAM,GAAI,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAI,GAAG,CAAC,GAAG,SAAS;WAYlG,YAAY,CAAC,KAAK,EAAE,GAAG,YAER,GAAG,YAAa,MAAM;WAOrC,eAAe,CAAC,IAAI,EAAG,QAAQ,EAAE,QAAQ,EAAG,MAAM;CAUnE"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const OwnMetaDataContainer_1 = __importDefault(require("../../metadata/OwnMetaDataContainer"));
7
+ class MetadataDecorators {
8
+ static CreateMetada() {
9
+ return function (target, property) {
10
+ OwnMetaDataContainer_1.default.Set(target, MetadataDecorators._addMetadataKeyMetadata, property, true);
11
+ };
12
+ }
13
+ static IgnoreInDocumentation() {
14
+ return function (target, property) {
15
+ OwnMetaDataContainer_1.default.Set(target, MetadataDecorators._ignoreKeyMetadata, property, true);
16
+ };
17
+ }
18
+ static IsToIgnoreInDocumentation(cTor, property) {
19
+ var _a;
20
+ let meta = OwnMetaDataContainer_1.default.Get(cTor, MetadataDecorators._ignoreKeyMetadata, property);
21
+ if (!meta)
22
+ return false;
23
+ return (_a = meta.Value) !== null && _a !== void 0 ? _a : false;
24
+ }
25
+ static ShowInDocumentation() {
26
+ return function (target, property) {
27
+ OwnMetaDataContainer_1.default.Set(target.constructor, MetadataDecorators._ignoreKeyMetadata, property, true);
28
+ };
29
+ }
30
+ static IsToShowInDocumentation(cTor, property) {
31
+ var _a;
32
+ let meta = OwnMetaDataContainer_1.default.Get(cTor, MetadataDecorators._showInDocumentationKeyMetadata, property);
33
+ if (!meta)
34
+ return false;
35
+ let value = (_a = meta.Value) !== null && _a !== void 0 ? _a : false;
36
+ return value && !this.IsToIgnoreInDocumentation(cTor, property);
37
+ }
38
+ static ArrayElementType(typeBuilder) {
39
+ return function (target, property) {
40
+ OwnMetaDataContainer_1.default.Set(target, MetadataDecorators._arrayOfTypeKeyMetadata, property, typeBuilder);
41
+ };
42
+ }
43
+ static GetArrayElementType(cTor, property) {
44
+ let meta = OwnMetaDataContainer_1.default.Get(cTor, MetadataDecorators._arrayOfTypeKeyMetadata, property);
45
+ if (!meta || !meta.Value)
46
+ return undefined;
47
+ return meta.Value();
48
+ }
49
+ static DefaultValue(value) {
50
+ return function (target, property) {
51
+ OwnMetaDataContainer_1.default.Set(target, MetadataDecorators._defaultValueKeyMetadata, property, value);
52
+ };
53
+ }
54
+ static GetDefaultValue(cTor, property) {
55
+ let meta = OwnMetaDataContainer_1.default.Get(cTor, MetadataDecorators._defaultValueKeyMetadata, property);
56
+ if (!meta || meta.Value == undefined)
57
+ return undefined;
58
+ return meta.Value;
59
+ }
60
+ }
61
+ MetadataDecorators._addMetadataKeyMetadata = "meta:add-metadata-property-key";
62
+ MetadataDecorators._ignoreKeyMetadata = "meta:ignore-property-key";
63
+ MetadataDecorators._showInDocumentationKeyMetadata = "meta:show-documentation-property-key";
64
+ MetadataDecorators._arrayOfTypeKeyMetadata = "meta:array-oftype-property-key";
65
+ MetadataDecorators._defaultValueKeyMetadata = "meta:default-value-property-key";
66
+ exports.default = MetadataDecorators;
67
+ //# sourceMappingURL=MetadataDecorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataDecorators.js","sourceRoot":"","sources":["../../../decorators/metadata/MetadataDecorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ export default class ValidationDecorators {
2
+ constructor();
3
+ private static _requiredKeyMetadata;
4
+ private static _maxlenghtKeyMetadata;
5
+ private static _minlenghtKeyMetadata;
6
+ private static _regexKeyMetadata;
7
+ private static _ruleKeyMetadata;
8
+ private static _maxValueKeyMetadata;
9
+ private static _minValueKeyMetadata;
10
+ private static _keysToValidateKeyMetada;
11
+ static AddField(target: Object, property: string): void;
12
+ static GetFields(target: Object): string[];
13
+ static Required(message?: string): (target: Object, property: string) => void;
14
+ static IsRequired(target: Object, property: string): {
15
+ Message: string;
16
+ } | undefined;
17
+ static MaxLenght(max: number, message?: string): (target: Object, property: string) => void;
18
+ static GetMaxlenght(target: Object, property: string): {
19
+ Message: string;
20
+ Max: number;
21
+ } | undefined;
22
+ static MinLenght(min: number, message?: string): (target: Object, property: string) => void;
23
+ static GetMinlenght(target: Object, property: string): {
24
+ Message: string;
25
+ Min: number;
26
+ } | undefined;
27
+ static MinValue(min: number, message?: string): (target: Object, property: string) => void;
28
+ static GetMinValue(target: Object, property: string): {
29
+ Message: string;
30
+ Min: number;
31
+ } | undefined;
32
+ static MaxValue(max: number, message?: string): (target: Object, property: string) => void;
33
+ static GetMaxValue(target: Object, property: string): {
34
+ Message: string;
35
+ Max: number;
36
+ } | undefined;
37
+ static Regex(regex: RegExp, message?: string): (target: Object, property: string) => void;
38
+ static GetRegex(target: Object, property: string): {
39
+ Message: string;
40
+ RegExp: RegExp;
41
+ } | undefined;
42
+ static Rule<T>(validationFunction: (arg: T) => boolean, message?: string): (target: Object, property: string) => void;
43
+ static GetRule<T>(target: Object, property: string): {
44
+ Message: string;
45
+ Function: (arg: T) => boolean;
46
+ } | undefined;
47
+ static Validate<T>(object: T): {
48
+ Field: string;
49
+ Message: string;
50
+ }[];
51
+ private static TryGetValue;
52
+ }
53
+ //# sourceMappingURL=ValidationDecorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationDecorators.d.ts","sourceRoot":"","sources":["../../../decorators/validations/ValidationDecorators.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,oBAAoB;;IAOrC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAA8B;IACjE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAA+B;IACnE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAA+B;IACnE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA2B;IAC3D,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA0B;IACzD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAA8B;IACjE,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAA8B;IACjE,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAuB;WAGhD,QAAQ,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM;WAQ3C,SAAS,CAAC,MAAM,EAAG,MAAM,GAAI,MAAM,EAAE;WAkBrC,QAAQ,CAAC,OAAO,CAAC,EAAG,MAAM,YAEV,MAAM,YAAa,MAAM;WASzC,UAAU,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAK/E,SAAS,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAEzB,MAAM,YAAa,MAAM;WASzC,YAAY,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,GAAG,EAAG,MAAM,CAAA;KAAC,GAAI,SAAS;WAKhG,SAAS,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAEzB,MAAM,YAAa,MAAM;WASzC,YAAY,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,GAAG,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAM/F,QAAQ,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAExB,MAAM,YAAa,MAAM;WASzC,WAAW,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,GAAG,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAM9F,QAAQ,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAExB,MAAM,YAAa,MAAM;WASzC,WAAW,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,GAAG,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAK9F,KAAK,CAAC,KAAK,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,YAEvB,MAAM,YAAa,MAAM;WASzC,QAAQ,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,MAAM,EAAG,MAAM,CAAA;KAAC,GAAG,SAAS;WAK9F,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAG,CAAC,GAAG,EAAG,CAAC,KAAK,OAAO,EAAE,OAAO,CAAC,EAAG,MAAM,YAEpD,MAAM,YAAa,MAAM;WASzC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAK;QAAC,OAAO,EAAG,MAAM,CAAC;QAAC,QAAQ,EAAG,CAAC,GAAG,EAAG,CAAC,KAAK,OAAO,CAAA;KAAC,GAAG,SAAS;WAMjH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAG,CAAC,GAAI;QAAC,KAAK,EAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,EAAE;IA6E3E,OAAO,CAAC,MAAM,CAAC,WAAW;CAe7B"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const OwnMetaDataContainer_1 = __importDefault(require("../../metadata/OwnMetaDataContainer"));
7
+ class ValidationDecorators {
8
+ constructor() {
9
+ }
10
+ static AddField(target, property) {
11
+ let meta = this.GetFields(target);
12
+ meta.push(property);
13
+ Reflect.defineMetadata(ValidationDecorators._keysToValidateKeyMetada, meta, target.constructor);
14
+ OwnMetaDataContainer_1.default.Set(target.constructor, ValidationDecorators._keysToValidateKeyMetada, undefined, meta);
15
+ }
16
+ static GetFields(target) {
17
+ var _a;
18
+ let meta = (_a = Reflect.getMetadata(ValidationDecorators._keysToValidateKeyMetada, target)) !== null && _a !== void 0 ? _a : Reflect.getMetadata(ValidationDecorators._keysToValidateKeyMetada, target.constructor);
19
+ if (!meta) {
20
+ let ownMeta = OwnMetaDataContainer_1.default.Get(target, ValidationDecorators._keysToValidateKeyMetada);
21
+ if (ownMeta)
22
+ meta = ownMeta.Value;
23
+ else
24
+ meta = [];
25
+ }
26
+ return meta;
27
+ }
28
+ static Required(message) {
29
+ return function (target, property) {
30
+ ValidationDecorators.AddField(target, property);
31
+ let msg = message !== null && message !== void 0 ? message : `The field ${target.constructor.name}.${property} is required`;
32
+ OwnMetaDataContainer_1.default.Set(target.constructor, ValidationDecorators._requiredKeyMetadata, property, { Message: msg });
33
+ Reflect.defineMetadata(ValidationDecorators._requiredKeyMetadata, { Message: msg }, target, property);
34
+ };
35
+ }
36
+ static IsRequired(target, property) {
37
+ return ValidationDecorators.TryGetValue(target, property, ValidationDecorators._requiredKeyMetadata);
38
+ }
39
+ static MaxLenght(max, message) {
40
+ return function (target, property) {
41
+ ValidationDecorators.AddField(target, property);
42
+ let msg = message !== null && message !== void 0 ? message : `The field ${target.constructor.name}.${property} must be a maximum of ${max} caracteres`;
43
+ OwnMetaDataContainer_1.default.Set(target.constructor, ValidationDecorators._maxlenghtKeyMetadata, property, { Message: msg, Max: max });
44
+ Reflect.defineMetadata(ValidationDecorators._maxlenghtKeyMetadata, { Message: msg, Max: max }, target, property);
45
+ };
46
+ }
47
+ static GetMaxlenght(target, property) {
48
+ return ValidationDecorators.TryGetValue(target, property, ValidationDecorators._maxlenghtKeyMetadata);
49
+ }
50
+ static MinLenght(min, message) {
51
+ return function (target, property) {
52
+ ValidationDecorators.AddField(target, property);
53
+ let msg = message !== null && message !== void 0 ? message : `The field ${target.constructor.name}.${property} must be a minimum of ${min} caracteres`;
54
+ OwnMetaDataContainer_1.default.Set(target.constructor, ValidationDecorators._minlenghtKeyMetadata, property, { Message: msg, Min: min });
55
+ Reflect.defineMetadata(ValidationDecorators._minlenghtKeyMetadata, { Message: msg, Min: min }, target, property);
56
+ };
57
+ }
58
+ static GetMinlenght(target, property) {
59
+ return ValidationDecorators.TryGetValue(target, property, ValidationDecorators._minlenghtKeyMetadata);
60
+ }
61
+ static MinValue(min, message) {
62
+ return function (target, property) {
63
+ ValidationDecorators.AddField(target, property);
64
+ let msg = message !== null && message !== void 0 ? message : `The field ${target.constructor.name}.${property} must be a minimum value of ${min}`;
65
+ OwnMetaDataContainer_1.default.Set(target.constructor, ValidationDecorators._minValueKeyMetadata, property, { Message: msg, Min: min });
66
+ Reflect.defineMetadata(ValidationDecorators._minValueKeyMetadata, { Message: msg, Min: min }, target, property);
67
+ };
68
+ }
69
+ static GetMinValue(target, property) {
70
+ return ValidationDecorators.TryGetValue(target, property, ValidationDecorators._minValueKeyMetadata);
71
+ }
72
+ static MaxValue(max, message) {
73
+ return function (target, property) {
74
+ ValidationDecorators.AddField(target, property);
75
+ let msg = message !== null && message !== void 0 ? message : `The field ${target.constructor.name}.${property} must be a maximun value of ${max}`;
76
+ OwnMetaDataContainer_1.default.Set(target.constructor, ValidationDecorators._maxValueKeyMetadata, property, { Message: msg, Max: max });
77
+ Reflect.defineMetadata(ValidationDecorators._maxValueKeyMetadata, { Message: msg, Max: max }, target, property);
78
+ };
79
+ }
80
+ static GetMaxValue(target, property) {
81
+ return ValidationDecorators.TryGetValue(target, property, ValidationDecorators._maxValueKeyMetadata);
82
+ }
83
+ static Regex(regex, message) {
84
+ return function (target, property) {
85
+ ValidationDecorators.AddField(target, property);
86
+ let msg = message !== null && message !== void 0 ? message : `The field ${target.constructor.name}.${property} fails on validation expression`;
87
+ OwnMetaDataContainer_1.default.Set(target.constructor, ValidationDecorators._regexKeyMetadata, property, { Message: msg, RegExp: regex });
88
+ Reflect.defineMetadata(ValidationDecorators._regexKeyMetadata, { Message: msg, RegExp: regex }, target, property);
89
+ };
90
+ }
91
+ static GetRegex(target, property) {
92
+ return Reflect.getMetadata(ValidationDecorators._regexKeyMetadata, target, property);
93
+ }
94
+ static Rule(validationFunction, message) {
95
+ return function (target, property) {
96
+ ValidationDecorators.AddField(target, property);
97
+ let msg = message !== null && message !== void 0 ? message : `The field ${target.constructor.name}.${property} fails on validation expression`;
98
+ OwnMetaDataContainer_1.default.Set(target.constructor, ValidationDecorators._ruleKeyMetadata, property, { Message: msg, Function: validationFunction });
99
+ Reflect.defineMetadata(ValidationDecorators._ruleKeyMetadata, { Message: msg, Function: validationFunction }, target, property);
100
+ };
101
+ }
102
+ static GetRule(target, property) {
103
+ return Reflect.getMetadata(ValidationDecorators._ruleKeyMetadata, target, property);
104
+ }
105
+ static Validate(object) {
106
+ let result = [];
107
+ let o = object;
108
+ let cache = [];
109
+ for (let k of ValidationDecorators.GetFields(o)) {
110
+ let required = ValidationDecorators.IsRequired(o, k);
111
+ let maxLenght = ValidationDecorators.GetMaxlenght(o, k);
112
+ let minLenght = ValidationDecorators.GetMinlenght(o, k);
113
+ let maxValue = ValidationDecorators.GetMaxValue(o, k);
114
+ let minValue = ValidationDecorators.GetMinValue(o, k);
115
+ let regex = ValidationDecorators.GetRegex(o, k);
116
+ let action = ValidationDecorators.GetRule(o, k);
117
+ if (required && cache.filter(c => c.f == k && c.k == "r").length == 0) {
118
+ cache.push({ f: k, k: "r" });
119
+ if (!o[k])
120
+ result.push({ Field: k, Message: required.Message });
121
+ }
122
+ if (maxLenght && cache.filter(c => c.f == k && c.k == "ml").length == 0) {
123
+ cache.push({ f: k, k: "ml" });
124
+ if (o[k] && (typeof o[k] == "string" && o[k].length > maxLenght.Max))
125
+ result.push({ Field: k, Message: maxLenght.Message });
126
+ }
127
+ if (minLenght && cache.filter(c => c.f == k && c.k == "nl").length == 0) {
128
+ cache.push({ f: k, k: "nl" });
129
+ if (!o[k] || (typeof o[k] == "string" && o[k].length < minLenght.Min))
130
+ result.push({ Field: k, Message: minLenght.Message });
131
+ }
132
+ if (regex && cache.filter(c => c.f == k && c.k == "rg").length == 0) {
133
+ cache.push({ f: k, k: "rg" });
134
+ if (!o[k] || (typeof o[k] == "string" && !regex.RegExp.test(o[k])))
135
+ result.push({ Field: k, Message: regex.Message });
136
+ }
137
+ if (minValue && cache.filter(c => c.f == k && c.k == "mv").length == 0) {
138
+ cache.push({ f: k, k: "mv" });
139
+ if (!o[k] || (typeof o[k] == "number" && o[k] < minValue.Min))
140
+ result.push({ Field: k, Message: minValue.Message });
141
+ }
142
+ if (maxValue && cache.filter(c => c.f == k && c.k == "nv").length == 0) {
143
+ cache.push({ f: k, k: "nv" });
144
+ if (!o[k] || (typeof o[k] == "number" && o[k] > maxValue.Max))
145
+ result.push({ Field: k, Message: maxValue.Message });
146
+ }
147
+ if (action && cache.filter(c => c.f == k && c.k == "a").length == 0) {
148
+ cache.push({ f: k, k: "a" });
149
+ let actionResult = false;
150
+ try {
151
+ actionResult = action.Function(o[k]);
152
+ }
153
+ catch (_a) { }
154
+ if (!actionResult)
155
+ result.push({ Field: k, Message: action.Message });
156
+ }
157
+ }
158
+ return result;
159
+ }
160
+ static TryGetValue(target, property, key) {
161
+ var _a;
162
+ let meta = (_a = Reflect.getMetadata(key, target, property)) !== null && _a !== void 0 ? _a : Reflect.getMetadata(key, target.constructor, property);
163
+ if (!meta) {
164
+ let ownMeta = OwnMetaDataContainer_1.default.Get(target, key, property);
165
+ if (ownMeta)
166
+ meta = ownMeta.Value;
167
+ }
168
+ return meta;
169
+ }
170
+ }
171
+ ValidationDecorators._requiredKeyMetadata = "meta:validation-required";
172
+ ValidationDecorators._maxlenghtKeyMetadata = "meta:validation-maxLenght";
173
+ ValidationDecorators._minlenghtKeyMetadata = "meta:validation-minLenght";
174
+ ValidationDecorators._regexKeyMetadata = "meta:validation-regex";
175
+ ValidationDecorators._ruleKeyMetadata = "meta:validation-rule";
176
+ ValidationDecorators._maxValueKeyMetadata = "meta:validation-maxValue";
177
+ ValidationDecorators._minValueKeyMetadata = "meta:validation-minValue";
178
+ ValidationDecorators._keysToValidateKeyMetada = "meta:mustValidate";
179
+ exports.default = ValidationDecorators;
180
+ //# sourceMappingURL=ValidationDecorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationDecorators.js","sourceRoot":"","sources":["../../../decorators/validations/ValidationDecorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import 'reflect-metadata';
2
+ import IDIContext from './IDIContext';
3
+ export default class DependecyService {
4
+ private static _services;
5
+ private static _injectableTypeKey;
6
+ private static _injectablePropertiesTypeKey;
7
+ static DefinePropertyAsInjectable(ctor: Function, property: string): void;
8
+ static GetInjectablesProperties(ctor: Function): string[];
9
+ static Inject(): (target: Object, property: string | symbol) => void;
10
+ static Injectable(): (target: Object, property: string | symbol) => void;
11
+ static IsInjectable(target: object, property: string): boolean;
12
+ static InjectOne(cTor: Function, genericType?: Function): (target: Object, property: string | symbol) => void;
13
+ static InjectGenericType(ctor: Function, genericType: Function): (target: Object, property: string | symbol) => void;
14
+ static GetDIType(target: object, property: string): IRegister | undefined;
15
+ static RegisterFor(type: Function, ctor: new (...args: any[]) => any, scope?: DIEscope, builder?: () => any): void;
16
+ static Register(type: Function, scope?: DIEscope, builder?: () => any): void;
17
+ static RegisterGeneric(type: Function, genericType?: Function, ctor?: new (...args: any[]) => any, scope?: DIEscope, builder?: (genericTypeFunction?: Function) => any): void;
18
+ private static DefaultObjectBuilder;
19
+ static ResolveGeneric<T>(type: Function, genericType?: Function, context?: IDIContext): T | undefined;
20
+ static Resolve<T>(type: Function, context?: IDIContext): T | undefined;
21
+ static ResolveCtor(ctor: Function, context?: IDIContext): any | undefined;
22
+ static CheckForDependenciesAndResolve(object: any, context?: IDIContext): void;
23
+ static Build<T extends Function>(Ctor: T): T;
24
+ private static IsDIConext;
25
+ }
26
+ export declare enum DIEscope {
27
+ SCOPED = 0,
28
+ TRANSIENT = 1,
29
+ SINGLETON = 2
30
+ }
31
+ interface IRegister {
32
+ Type: Function;
33
+ GenericType?: Function;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=DependecyService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DependecyService.d.ts","sourceRoot":"","sources":["../../dependencyInjection/DependecyService.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,cAAc,CAAC;AAMtC,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAEjC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmB;IAE3C,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiC;IAClE,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAuC;WAEpE,0BAA0B,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAG,MAAM;WAa5D,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAI,MAAM,EAAE;WAUnD,MAAM,aAKmB,MAAM,YAAa,MAAM,GAAG,MAAM,KAAK,IAAI;WAApE,UAAU,IAAK,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAG,MAAM,KAAK,IAAI;WAapE,YAAY,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAI,OAAO;WAO1D,SAAS,CAAC,IAAI,EAAG,QAAQ,EAAE,WAAW,CAAC,EAAI,QAAQ,GAAI,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAG,MAAM,KAAK,IAAI;WAU5G,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAI,QAAQ,GAAI,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAG,MAAM,KAAK,IAAI;WAKlH,SAAS,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM,GAAK,SAAS,GAAG,SAAS;WAWtE,WAAW,CAAC,IAAI,EAAG,QAAQ,EAAE,IAAI,EAAG,KAAK,GAAG,IAAI,EAAG,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,CAAC,EAAI,QAAQ,EAAE,OAAO,CAAC,EAAG,MAAM,GAAG,GAAI,IAAI;WAyBlH,QAAQ,CAAC,IAAI,EAAG,QAAQ,EAAE,KAAK,CAAC,EAAG,QAAQ,EAAE,OAAO,CAAC,EAAG,MAAM,GAAG,GAAI,IAAI;WAyBzE,eAAe,CAAC,IAAI,EAAG,QAAQ,EAAG,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAG,KAAK,GAAG,IAAI,EAAG,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,CAAC,EAAG,QAAQ,EAAE,OAAO,CAAC,EAAG,CAAC,mBAAmB,CAAC,EAAG,QAAQ,KAAK,GAAG,GAAI,IAAI;IA4B5L,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAkCrB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAI,QAAQ,EAAE,WAAW,CAAC,EAAI,QAAQ,EAAE,OAAO,CAAC,EAAG,UAAU,GAAI,CAAC,GAAG,SAAS;WAoCpG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAI,QAAQ,EAAE,OAAO,CAAC,EAAG,UAAU,GAAI,CAAC,GAAG,SAAS;WAMnE,WAAW,CAAC,IAAI,EAAI,QAAQ,EAAE,OAAO,CAAC,EAAG,UAAU,GAAI,GAAG,GAAG,SAAS;WAMtE,8BAA8B,CAAC,MAAM,EAAG,GAAG,EAAE,OAAO,CAAC,EAAG,UAAU;WAqDlE,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAG,CAAC,GAM3B,CAAC;IAGtB,OAAO,CAAC,MAAM,CAAC,UAAU;CAM5B;AAED,oBAAY,QAAQ;IAEhB,MAAM,IAAA;IACN,SAAS,IAAA;IACT,SAAS,IAAA;CACZ;AAED,UAAU,SAAS;IAEf,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,QAAQ,CAAA;CACzB"}
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DIEscope = void 0;
7
+ require("reflect-metadata");
8
+ const FindDependencyException_1 = __importDefault(require("../exceptions/FindDependencyException"));
9
+ const OwnMetaDataContainer_1 = __importDefault(require("../metadata/OwnMetaDataContainer"));
10
+ const RegisterDependencyException_1 = __importDefault(require("../exceptions/RegisterDependencyException"));
11
+ class DependecyService {
12
+ static DefinePropertyAsInjectable(ctor, property) {
13
+ let meta = DependecyService.GetInjectablesProperties(ctor);
14
+ let index = meta.findIndex(d => d == property);
15
+ if (index == -1)
16
+ meta.push(property);
17
+ OwnMetaDataContainer_1.default.Set(ctor, DependecyService._injectablePropertiesTypeKey, undefined, meta);
18
+ }
19
+ static GetInjectablesProperties(ctor) {
20
+ let meta = OwnMetaDataContainer_1.default.Get(ctor, DependecyService._injectablePropertiesTypeKey);
21
+ if (!meta)
22
+ return [];
23
+ return meta.Value;
24
+ }
25
+ static Inject() {
26
+ return DependecyService.Injectable();
27
+ }
28
+ static Injectable() {
29
+ return function (target, property) {
30
+ DependecyService.DefinePropertyAsInjectable(target.constructor, property.toString());
31
+ OwnMetaDataContainer_1.default.Set(target.constructor, DependecyService._injectableTypeKey, property.toString(), {
32
+ Type: Reflect.getMetadata("design:type", target, property)
33
+ });
34
+ };
35
+ }
36
+ static IsInjectable(target, property) {
37
+ let type = OwnMetaDataContainer_1.default.Get(target, DependecyService._injectableTypeKey, property) != undefined;
38
+ return type;
39
+ }
40
+ static InjectOne(cTor, genericType) {
41
+ return function (target, property) {
42
+ DependecyService.DefinePropertyAsInjectable(target.constructor, property.toString());
43
+ OwnMetaDataContainer_1.default.Set(target.constructor, DependecyService._injectableTypeKey, property.toString(), { Type: cTor, GenericType: genericType });
44
+ };
45
+ }
46
+ static InjectGenericType(ctor, genericType) {
47
+ return DependecyService.InjectOne(ctor, genericType);
48
+ }
49
+ static GetDIType(target, property) {
50
+ let meta = OwnMetaDataContainer_1.default.Get(target.constructor, DependecyService._injectableTypeKey, property);
51
+ if (meta)
52
+ return meta.Value;
53
+ return { Type: Reflect.getMetadata("design:type", target, property) };
54
+ }
55
+ static RegisterFor(type, ctor, scope, builder) {
56
+ let defaultBuilder = DependecyService.DefaultObjectBuilder(type, ctor);
57
+ let exist = this._services.find(s => s.Type == type && !s.GenericType);
58
+ if (exist === undefined) {
59
+ this._services.push({
60
+ Type: type,
61
+ Builder: builder ? (c, e) => builder() : (c, e) => defaultBuilder(c, e),
62
+ Scope: scope !== null && scope !== void 0 ? scope : DIEscope.TRANSIENT
63
+ });
64
+ }
65
+ else {
66
+ exist.Scope = scope !== null && scope !== void 0 ? scope : exist.Scope;
67
+ exist.Builder = builder ? (c, e) => builder() : (c, e) => defaultBuilder(c, e);
68
+ }
69
+ }
70
+ static Register(type, scope, builder) {
71
+ let defaultBuilder = DependecyService.DefaultObjectBuilder(type);
72
+ let exist = this._services.find(s => s.Type == type && !s.GenericType);
73
+ if (exist === undefined) {
74
+ this._services.push({
75
+ Type: type,
76
+ Builder: builder ? (c, e) => builder() : (c, e) => defaultBuilder(c, e),
77
+ Scope: scope !== null && scope !== void 0 ? scope : DIEscope.TRANSIENT
78
+ });
79
+ }
80
+ else {
81
+ exist.Scope = scope !== null && scope !== void 0 ? scope : exist.Scope;
82
+ exist.Builder = builder ? (c, e) => builder() : (c, e) => defaultBuilder(c, e);
83
+ }
84
+ }
85
+ static RegisterGeneric(type, genericType, ctor, scope, builder) {
86
+ if (!ctor && !builder)
87
+ throw new RegisterDependencyException_1.default(`Can not register a generic depency with not provide a concrete constructor or builder function`);
88
+ let defaultBuilder = DependecyService.DefaultObjectBuilder(type, ctor);
89
+ let exist = this._services.find(s => s.Type == type && (!s.GenericType || s.GenericType == genericType));
90
+ if (exist === undefined) {
91
+ this._services.push({
92
+ Type: type,
93
+ Builder: builder ? (c, e) => builder(e) : (c, e) => defaultBuilder(c, e),
94
+ Scope: scope !== null && scope !== void 0 ? scope : DIEscope.TRANSIENT
95
+ });
96
+ }
97
+ else {
98
+ exist.Scope = scope !== null && scope !== void 0 ? scope : exist.Scope;
99
+ exist.Builder = builder ? (c, e) => builder() : (c, e) => defaultBuilder(c, e);
100
+ }
101
+ }
102
+ static DefaultObjectBuilder(type, ctor) {
103
+ return function (context, genericType) {
104
+ let service = DependecyService._services.find(u => u.Type == type && (!u.GenericType || u.GenericType == genericType));
105
+ if (context && context.Intances && (service === null || service === void 0 ? void 0 : service.Scope) == DIEscope.SCOPED) {
106
+ let scopped = context.Intances.filter(s => s.Type == type && (!s.GenericType || s.GenericType == genericType));
107
+ if (scopped.length > 0 && scopped[0].Object) {
108
+ return scopped[0].Object;
109
+ }
110
+ }
111
+ let instance = Reflect.construct(ctor !== null && ctor !== void 0 ? ctor : type, []);
112
+ DependecyService.CheckForDependenciesAndResolve(instance, (context !== null && context !== void 0 ? context : DependecyService.IsDIConext(instance)) ? instance : undefined);
113
+ if (context && context.Intances && (service === null || service === void 0 ? void 0 : service.Scope) == DIEscope.SCOPED) {
114
+ context.Intances.push({
115
+ Object: instance,
116
+ Type: type,
117
+ GenericType: genericType
118
+ });
119
+ }
120
+ return instance;
121
+ };
122
+ }
123
+ static ResolveGeneric(type, genericType, context) {
124
+ let service = this._services.find(u => u.Type == type && (!u.GenericType || u.GenericType == genericType));
125
+ if (!service)
126
+ return undefined;
127
+ let instance = service.Builder(context, genericType);
128
+ if (service.Scope == DIEscope.SINGLETON) {
129
+ service.Builder = (e, s) => instance;
130
+ }
131
+ if (context && context.Intances && (service === null || service === void 0 ? void 0 : service.Scope) == DIEscope.SCOPED) {
132
+ let scopped = context.Intances.filter(s => s.Type == type && (!s.GenericType || s.GenericType == genericType));
133
+ if (scopped.length > 0 && scopped[0].Object) {
134
+ return scopped[0].Object;
135
+ }
136
+ context.Intances.push({
137
+ Object: instance,
138
+ Type: type,
139
+ GenericType: genericType
140
+ });
141
+ }
142
+ DependecyService.CheckForDependenciesAndResolve(instance, (context !== null && context !== void 0 ? context : DependecyService.IsDIConext(instance)) ? instance : undefined);
143
+ return instance;
144
+ }
145
+ static Resolve(type, context) {
146
+ return DependecyService.ResolveGeneric(type, undefined, context);
147
+ }
148
+ static ResolveCtor(ctor, context) {
149
+ return DependecyService.ResolveGeneric(ctor, undefined, context);
150
+ }
151
+ static CheckForDependenciesAndResolve(object, context) {
152
+ let keys = Object.keys(object);
153
+ keys.push(...DependecyService.GetInjectablesProperties(object.constructor));
154
+ for (let k of keys) {
155
+ if (object[k] != 'function') {
156
+ if (DependecyService.IsInjectable(object.constructor, k)) {
157
+ let tp = DependecyService.GetDIType(object, k);
158
+ if (!tp)
159
+ throw new FindDependencyException_1.default(`Can not resolve the dependecy of ${object.constructor.name}.${k}`);
160
+ let service = this._services.find(u => u.Type == tp.Type && (!u.GenericType || u.GenericType == tp.GenericType));
161
+ if (context && context.Intances && (service === null || service === void 0 ? void 0 : service.Scope) == DIEscope.SCOPED) {
162
+ let scopped = context.Intances.filter(s => s.Type == tp.Type && (!s.GenericType || s.GenericType == tp.GenericType));
163
+ if (scopped.length > 0 && scopped[0]) {
164
+ object[k] = scopped[0].Object;
165
+ continue;
166
+ }
167
+ }
168
+ let instance = tp.GenericType ? DependecyService.ResolveGeneric(tp.Type, tp.GenericType) : DependecyService.Resolve(tp.Type);
169
+ if (instance == undefined)
170
+ throw new FindDependencyException_1.default(`Can not resolve the dependecy of ${object.constructor.name}.${k}`);
171
+ if (DependecyService.IsDIConext(object) && (service === null || service === void 0 ? void 0 : service.Scope) == DIEscope.SCOPED) {
172
+ if (!object.Intances)
173
+ object.Intances = [];
174
+ object.Intances.push({
175
+ Object: instance,
176
+ Type: tp.Type,
177
+ GenericType: tp.GenericType
178
+ });
179
+ }
180
+ object[k] = instance;
181
+ }
182
+ }
183
+ }
184
+ }
185
+ static Build(Ctor) {
186
+ let object = Reflect.construct(Ctor, []);
187
+ this.CheckForDependenciesAndResolve(object);
188
+ return object;
189
+ }
190
+ static IsDIConext(object) {
191
+ return "Intances" in object;
192
+ }
193
+ }
194
+ DependecyService._services = [];
195
+ DependecyService._injectableTypeKey = "di:injectable-type";
196
+ DependecyService._injectablePropertiesTypeKey = "di:injectable-properties";
197
+ exports.default = DependecyService;
198
+ var DIEscope;
199
+ (function (DIEscope) {
200
+ DIEscope[DIEscope["SCOPED"] = 0] = "SCOPED";
201
+ DIEscope[DIEscope["TRANSIENT"] = 1] = "TRANSIENT";
202
+ DIEscope[DIEscope["SINGLETON"] = 2] = "SINGLETON";
203
+ })(DIEscope || (exports.DIEscope = DIEscope = {}));
204
+ //# sourceMappingURL=DependecyService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DependecyService.js","sourceRoot":"","sources":["../../dependencyInjection/DependecyService.ts"],"names":[],"mappings":"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"}