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.
- package/dist/Application.d.ts +29 -0
- package/dist/Application.d.ts.map +1 -0
- package/dist/Application.js +560 -0
- package/dist/Application.js.map +1 -0
- package/dist/ApplicationConfiguration.d.ts +24 -0
- package/dist/ApplicationConfiguration.d.ts.map +1 -0
- package/dist/ApplicationConfiguration.js +141 -0
- package/dist/ApplicationConfiguration.js.map +1 -0
- package/dist/bin/CreateApplication.d.ts +2 -0
- package/dist/bin/CreateApplication.d.ts.map +1 -0
- package/dist/bin/CreateApplication.js +6 -0
- package/dist/bin/CreateApplication.js.map +1 -0
- package/dist/bin/CreateController.d.ts +2 -0
- package/dist/bin/CreateController.d.ts.map +1 -0
- package/dist/bin/CreateController.js +5 -0
- package/dist/bin/CreateController.js.map +1 -0
- package/dist/bin/Factory.d.ts +3 -0
- package/dist/bin/Factory.d.ts.map +1 -0
- package/dist/bin/Factory.js +81 -0
- package/dist/bin/Factory.js.map +1 -0
- package/dist/controllers/AcceptedResult.d.ts +5 -0
- package/dist/controllers/AcceptedResult.d.ts.map +1 -0
- package/dist/controllers/AcceptedResult.js +13 -0
- package/dist/controllers/AcceptedResult.js.map +1 -0
- package/dist/controllers/ActionResult.d.ts +6 -0
- package/dist/controllers/ActionResult.d.ts.map +1 -0
- package/dist/controllers/ActionResult.js +10 -0
- package/dist/controllers/ActionResult.js.map +1 -0
- package/dist/controllers/BadRequestResult.d.ts +5 -0
- package/dist/controllers/BadRequestResult.d.ts.map +1 -0
- package/dist/controllers/BadRequestResult.js +13 -0
- package/dist/controllers/BadRequestResult.js.map +1 -0
- package/dist/controllers/CreatedResult.d.ts +5 -0
- package/dist/controllers/CreatedResult.d.ts.map +1 -0
- package/dist/controllers/CreatedResult.js +13 -0
- package/dist/controllers/CreatedResult.js.map +1 -0
- package/dist/controllers/DownloadFileResult.d.ts +5 -0
- package/dist/controllers/DownloadFileResult.d.ts.map +1 -0
- package/dist/controllers/DownloadFileResult.js +13 -0
- package/dist/controllers/DownloadFileResult.js.map +1 -0
- package/dist/controllers/ErrorResult.d.ts +5 -0
- package/dist/controllers/ErrorResult.d.ts.map +1 -0
- package/dist/controllers/ErrorResult.js +13 -0
- package/dist/controllers/ErrorResult.js.map +1 -0
- package/dist/controllers/ForbiddenResult.d.ts +5 -0
- package/dist/controllers/ForbiddenResult.d.ts.map +1 -0
- package/dist/controllers/ForbiddenResult.js +13 -0
- package/dist/controllers/ForbiddenResult.js.map +1 -0
- package/dist/controllers/GenericResult.d.ts +6 -0
- package/dist/controllers/GenericResult.d.ts.map +1 -0
- package/dist/controllers/GenericResult.js +13 -0
- package/dist/controllers/GenericResult.js.map +1 -0
- package/dist/controllers/NoContentResult.d.ts +5 -0
- package/dist/controllers/NoContentResult.d.ts.map +1 -0
- package/dist/controllers/NoContentResult.js +13 -0
- package/dist/controllers/NoContentResult.js.map +1 -0
- package/dist/controllers/NotFoundResult.d.ts +5 -0
- package/dist/controllers/NotFoundResult.d.ts.map +1 -0
- package/dist/controllers/NotFoundResult.js +13 -0
- package/dist/controllers/NotFoundResult.js.map +1 -0
- package/dist/controllers/OKResult.d.ts +5 -0
- package/dist/controllers/OKResult.d.ts.map +1 -0
- package/dist/controllers/OKResult.js +13 -0
- package/dist/controllers/OKResult.js.map +1 -0
- package/dist/controllers/SendFileResult.d.ts +5 -0
- package/dist/controllers/SendFileResult.d.ts.map +1 -0
- package/dist/controllers/SendFileResult.js +13 -0
- package/dist/controllers/SendFileResult.js.map +1 -0
- package/dist/controllers/UnauthorizedResult.d.ts +5 -0
- package/dist/controllers/UnauthorizedResult.d.ts.map +1 -0
- package/dist/controllers/UnauthorizedResult.js +13 -0
- package/dist/controllers/UnauthorizedResult.js.map +1 -0
- package/dist/controllers/base/ControllerBase.d.ts +33 -0
- package/dist/controllers/base/ControllerBase.d.ts.map +1 -0
- package/dist/controllers/base/ControllerBase.js +84 -0
- package/dist/controllers/base/ControllerBase.js.map +1 -0
- package/dist/decorators/controllers/ControllerDecorators.d.ts +66 -0
- package/dist/decorators/controllers/ControllerDecorators.d.ts.map +1 -0
- package/dist/decorators/controllers/ControllerDecorators.js +256 -0
- package/dist/decorators/controllers/ControllerDecorators.js.map +1 -0
- package/dist/decorators/documentation/DocumentationDecorators.d.ts +24 -0
- package/dist/decorators/documentation/DocumentationDecorators.d.ts.map +1 -0
- package/dist/decorators/documentation/DocumentationDecorators.js +69 -0
- package/dist/decorators/documentation/DocumentationDecorators.js.map +1 -0
- package/dist/decorators/metadata/MetadataDecorators.d.ts +17 -0
- package/dist/decorators/metadata/MetadataDecorators.d.ts.map +1 -0
- package/dist/decorators/metadata/MetadataDecorators.js +67 -0
- package/dist/decorators/metadata/MetadataDecorators.js.map +1 -0
- package/dist/decorators/validations/ValidationDecorators.d.ts +53 -0
- package/dist/decorators/validations/ValidationDecorators.d.ts.map +1 -0
- package/dist/decorators/validations/ValidationDecorators.js +180 -0
- package/dist/decorators/validations/ValidationDecorators.js.map +1 -0
- package/dist/dependencyInjection/DependecyService.d.ts +36 -0
- package/dist/dependencyInjection/DependecyService.d.ts.map +1 -0
- package/dist/dependencyInjection/DependecyService.js +204 -0
- package/dist/dependencyInjection/DependecyService.js.map +1 -0
- package/dist/dependencyInjection/IDIContext.d.ts +9 -0
- package/dist/dependencyInjection/IDIContext.d.ts.map +1 -0
- package/dist/dependencyInjection/IDIContext.js +3 -0
- package/dist/dependencyInjection/IDIContext.js.map +1 -0
- package/dist/documentation/CSS.d.ts +7 -0
- package/dist/documentation/CSS.d.ts.map +1 -0
- package/dist/documentation/CSS.js +302 -0
- package/dist/documentation/CSS.js.map +1 -0
- package/dist/documentation/Documentation.d.ts +8 -0
- package/dist/documentation/Documentation.d.ts.map +1 -0
- package/dist/documentation/Documentation.js +89 -0
- package/dist/documentation/Documentation.js.map +1 -0
- package/dist/documentation/HTML.d.ts +5 -0
- package/dist/documentation/HTML.d.ts.map +1 -0
- package/dist/documentation/HTML.js +26 -0
- package/dist/documentation/HTML.js.map +1 -0
- package/dist/documentation/JS.d.ts +6 -0
- package/dist/documentation/JS.d.ts.map +1 -0
- package/dist/documentation/JS.js +419 -0
- package/dist/documentation/JS.js.map +1 -0
- package/dist/enums/httpVerbs/HttpVerbs.d.ts +7 -0
- package/dist/enums/httpVerbs/HttpVerbs.d.ts.map +1 -0
- package/dist/enums/httpVerbs/HttpVerbs.js +11 -0
- package/dist/enums/httpVerbs/HttpVerbs.js.map +1 -0
- package/dist/exceptions/ArgumentNullException.d.ts +4 -0
- package/dist/exceptions/ArgumentNullException.d.ts.map +1 -0
- package/dist/exceptions/ArgumentNullException.js +10 -0
- package/dist/exceptions/ArgumentNullException.js.map +1 -0
- package/dist/exceptions/BodyParseException.d.ts +4 -0
- package/dist/exceptions/BodyParseException.d.ts.map +1 -0
- package/dist/exceptions/BodyParseException.js +10 -0
- package/dist/exceptions/BodyParseException.js.map +1 -0
- package/dist/exceptions/ControllerLoadException.d.ts +4 -0
- package/dist/exceptions/ControllerLoadException.d.ts.map +1 -0
- package/dist/exceptions/ControllerLoadException.js +10 -0
- package/dist/exceptions/ControllerLoadException.js.map +1 -0
- package/dist/exceptions/DecoratorException.d.ts +4 -0
- package/dist/exceptions/DecoratorException.d.ts.map +1 -0
- package/dist/exceptions/DecoratorException.js +10 -0
- package/dist/exceptions/DecoratorException.js.map +1 -0
- package/dist/exceptions/Exception.d.ts +5 -0
- package/dist/exceptions/Exception.d.ts.map +1 -0
- package/dist/exceptions/Exception.js +10 -0
- package/dist/exceptions/Exception.js.map +1 -0
- package/dist/exceptions/FileNotFoundException.d.ts +4 -0
- package/dist/exceptions/FileNotFoundException.d.ts.map +1 -0
- package/dist/exceptions/FileNotFoundException.js +10 -0
- package/dist/exceptions/FileNotFoundException.js.map +1 -0
- package/dist/exceptions/FindDependencyException.d.ts +4 -0
- package/dist/exceptions/FindDependencyException.d.ts.map +1 -0
- package/dist/exceptions/FindDependencyException.js +10 -0
- package/dist/exceptions/FindDependencyException.js.map +1 -0
- package/dist/exceptions/InvalidEntityException.d.ts +4 -0
- package/dist/exceptions/InvalidEntityException.d.ts.map +1 -0
- package/dist/exceptions/InvalidEntityException.js +10 -0
- package/dist/exceptions/InvalidEntityException.js.map +1 -0
- package/dist/exceptions/RegisterDependencyException.d.ts +4 -0
- package/dist/exceptions/RegisterDependencyException.d.ts.map +1 -0
- package/dist/exceptions/RegisterDependencyException.js +10 -0
- package/dist/exceptions/RegisterDependencyException.js.map +1 -0
- package/dist/file/AbstractFileService.d.ts +12 -0
- package/dist/file/AbstractFileService.d.ts.map +1 -0
- package/dist/file/AbstractFileService.js +6 -0
- package/dist/file/AbstractFileService.js.map +1 -0
- package/dist/file/AbstractMultiPartRequestService.d.ts +17 -0
- package/dist/file/AbstractMultiPartRequestService.d.ts.map +1 -0
- package/dist/file/AbstractMultiPartRequestService.js +12 -0
- package/dist/file/AbstractMultiPartRequestService.js.map +1 -0
- package/dist/file/File.d.ts +6 -0
- package/dist/file/File.d.ts.map +1 -0
- package/dist/file/File.js +10 -0
- package/dist/file/File.js.map +1 -0
- package/dist/file/FileService.d.ts +13 -0
- package/dist/file/FileService.d.ts.map +1 -0
- package/dist/file/FileService.js +136 -0
- package/dist/file/FileService.js.map +1 -0
- package/dist/file/FormidableMultiPartRequestService.d.ts +5 -0
- package/dist/file/FormidableMultiPartRequestService.d.ts.map +1 -0
- package/dist/file/FormidableMultiPartRequestService.js +73 -0
- package/dist/file/FormidableMultiPartRequestService.js.map +1 -0
- package/dist/index.d.ts +85 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +262 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/IApplication.d.ts +15 -0
- package/dist/interfaces/IApplication.d.ts.map +1 -0
- package/dist/interfaces/IApplication.js +3 -0
- package/dist/interfaces/IApplication.js.map +1 -0
- package/dist/interfaces/IApplicationConfiguration.d.ts +18 -0
- package/dist/interfaces/IApplicationConfiguration.d.ts.map +1 -0
- package/dist/interfaces/IApplicationConfiguration.js +3 -0
- package/dist/interfaces/IApplicationConfiguration.js.map +1 -0
- package/dist/interfaces/IController.d.ts +6 -0
- package/dist/interfaces/IController.d.ts.map +1 -0
- package/dist/interfaces/IController.js +3 -0
- package/dist/interfaces/IController.js.map +1 -0
- package/dist/metadata/FunctionAnalizer.d.ts +10 -0
- package/dist/metadata/FunctionAnalizer.d.ts.map +1 -0
- package/dist/metadata/FunctionAnalizer.js +57 -0
- package/dist/metadata/FunctionAnalizer.js.map +1 -0
- package/dist/metadata/OwnMetaDataContainer.d.ts +13 -0
- package/dist/metadata/OwnMetaDataContainer.d.ts.map +1 -0
- package/dist/metadata/OwnMetaDataContainer.js +43 -0
- package/dist/metadata/OwnMetaDataContainer.js.map +1 -0
- package/dist/metadata/Type.d.ts +10 -0
- package/dist/metadata/Type.d.ts.map +1 -0
- package/dist/metadata/Type.js +252 -0
- package/dist/metadata/Type.js.map +1 -0
- package/dist/midlewares/IMidleware.d.ts +20 -0
- package/dist/midlewares/IMidleware.d.ts.map +1 -0
- package/dist/midlewares/IMidleware.js +3 -0
- package/dist/midlewares/IMidleware.js.map +1 -0
- package/dist/utils/Utils.d.ts +4 -0
- package/dist/utils/Utils.d.ts.map +1 -0
- package/dist/utils/Utils.js +11 -0
- package/dist/utils/Utils.js.map +1 -0
- 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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"}
|