web_api_base 2.5.4 → 2.6.0
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.js +1 -0
- package/dist/Application.js.map +1 -1
- package/dist/dependencyInjection/DependecyService.d.ts +9 -0
- package/dist/dependencyInjection/DependecyService.js +55 -2
- package/dist/dependencyInjection/DependecyService.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/{Index.js → index.js} +10 -1
- package/dist/index.js.map +1 -0
- package/dist/jest.config.js +5 -1
- package/dist/jest.config.js.map +1 -1
- package/package.json +1 -1
- package/readme.md +87 -0
- package/dist/App.js +0 -32
- package/dist/App.js.map +0 -1
- package/dist/Configuration.js +0 -69
- package/dist/Configuration.js.map +0 -1
- package/dist/Index.js.map +0 -1
- package/dist/__tests__/classes/Controller.d.ts +0 -8
- package/dist/__tests__/classes/Controller.js +0 -54
- package/dist/__tests__/classes/Controller.js.map +0 -1
- package/dist/__tests__/decorators/controllers/ControllerDecorators.spec.d.ts +0 -1
- package/dist/__tests__/decorators/controllers/ControllerDecorators.spec.js +0 -40
- package/dist/__tests__/decorators/controllers/ControllerDecorators.spec.js.map +0 -1
- package/dist/bin/create-webapi-app.d.ts +0 -1
- package/dist/bin/create-webapi-app.js +0 -52
- package/dist/bin/create-webapi-app.js.map +0 -1
- package/dist/bin/temp/Application.d.ts +0 -6
- package/dist/bin/temp/Application.js +0 -33
- package/dist/bin/temp/Application.js.map +0 -1
- package/dist/bin/temp/Index.d.ts +0 -1
- package/dist/bin/temp/Index.js +0 -8
- package/dist/bin/temp/Index.js.map +0 -1
- package/dist/bin/temp/controllers/StatusController.d.ts +0 -5
- package/dist/bin/temp/controllers/StatusController.js +0 -33
- package/dist/bin/temp/controllers/StatusController.js.map +0 -1
- package/dist/config.json +0 -1
- package/dist/controllers/FileController.js +0 -162
- package/dist/controllers/FileController.js.map +0 -1
- package/dist/controllers/StatusController.js +0 -44
- package/dist/controllers/StatusController.js.map +0 -1
- package/dist/decorators/dependencyInjection/DependecyInjectionDecorators.d.ts +0 -13
- package/dist/decorators/dependencyInjection/DependecyInjectionDecorators.js +0 -32
- package/dist/decorators/dependencyInjection/DependecyInjectionDecorators.js.map +0 -1
- package/dist/interfaces/entities/IDirectory.d.ts +0 -5
- package/dist/interfaces/entities/IDirectory.js +0 -3
- package/dist/interfaces/entities/IDirectory.js.map +0 -1
- package/dist/services/FileService.js +0 -45
- package/dist/services/FileService.js.map +0 -1
- package/dist/services/IFileService.js +0 -8
- package/dist/services/IFileService.js.map +0 -1
- package/dist/services/fileService/FileService.d.ts +0 -10
- package/dist/services/fileService/FileService.js +0 -96
- package/dist/services/fileService/FileService.js.map +0 -1
- package/dist/services/fileService/FileServiceBase.d.ts +0 -10
- package/dist/services/fileService/FileServiceBase.js +0 -7
- package/dist/services/fileService/FileServiceBase.js.map +0 -1
- package/dist/temp/Application.d.ts +0 -6
- package/dist/temp/Application.js +0 -33
- package/dist/temp/Application.js.map +0 -1
- package/dist/temp/Index.d.ts +0 -1
- package/dist/temp/Index.js +0 -8
- package/dist/temp/Index.js.map +0 -1
- package/dist/temp/controllers/StatusController.d.ts +0 -6
- package/dist/temp/controllers/StatusController.js +0 -34
- package/dist/temp/controllers/StatusController.js.map +0 -1
package/dist/Application.js
CHANGED
|
@@ -114,6 +114,7 @@ class Application {
|
|
|
114
114
|
let controller = DependecyService_1.default.ResolveCtor(empty.constructor);
|
|
115
115
|
if (controller == undefined)
|
|
116
116
|
controller = new ctor();
|
|
117
|
+
DependecyService_1.default.CheckForDependenciesAndResolve(controller);
|
|
117
118
|
controller.Request = context.Request;
|
|
118
119
|
controller.Response = context.Response;
|
|
119
120
|
controller[method](...params);
|
package/dist/Application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../Application.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../Application.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
1
2
|
export default class DependecyService {
|
|
2
3
|
private static _services;
|
|
4
|
+
private static _injectableKey;
|
|
5
|
+
private static _injectableTypeKey;
|
|
3
6
|
static RegisterFor(type: Function, ctor: {
|
|
4
7
|
new (...args: any[]): any;
|
|
5
8
|
}, builder?: () => any): void;
|
|
6
9
|
static Register(type: Function, builder?: () => any): void;
|
|
7
10
|
static Resolve<T>(type: Function, args?: any[]): T;
|
|
8
11
|
static ResolveCtor(ctor: Function, args?: any[]): any;
|
|
12
|
+
static Injectable(): (target: Object, property: string | symbol) => void;
|
|
13
|
+
static IsInjectable(target: object, property: string): boolean;
|
|
14
|
+
static InjectOne(tp: Function): (target: Object, property: string | symbol) => void;
|
|
15
|
+
static GetDIType(target: object, property: string): any;
|
|
16
|
+
static CheckForDependenciesAndResolve(object: any): void;
|
|
17
|
+
static Build<T extends Function>(Ctor: T): T;
|
|
9
18
|
}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("reflect-metadata");
|
|
3
4
|
class DependecyService {
|
|
4
5
|
static RegisterFor(type, ctor, builder) {
|
|
5
6
|
let defaultBuilder = () => Reflect.construct(ctor !== null && ctor !== void 0 ? ctor : type, []);
|
|
6
|
-
this._services.
|
|
7
|
+
let exist = this._services.find(s => s.Type == type);
|
|
8
|
+
if (exist === undefined)
|
|
9
|
+
this._services.push({ Type: type, Builder: builder !== null && builder !== void 0 ? builder : defaultBuilder });
|
|
10
|
+
else
|
|
11
|
+
exist.Builder = builder !== null && builder !== void 0 ? builder : defaultBuilder;
|
|
7
12
|
}
|
|
8
13
|
static Register(type, builder) {
|
|
9
14
|
let defaultBuilder = () => Reflect.construct(type, []);
|
|
10
|
-
this._services.
|
|
15
|
+
let exist = this._services.find(s => s.Type == type);
|
|
16
|
+
if (exist === undefined)
|
|
17
|
+
this._services.push({ Type: type, Builder: builder !== null && builder !== void 0 ? builder : defaultBuilder });
|
|
18
|
+
else
|
|
19
|
+
exist.Builder = builder !== null && builder !== void 0 ? builder : defaultBuilder;
|
|
11
20
|
}
|
|
12
21
|
static Resolve(type, args) {
|
|
13
22
|
var _a;
|
|
@@ -17,7 +26,51 @@ class DependecyService {
|
|
|
17
26
|
var _a;
|
|
18
27
|
return (_a = this._services.find(u => u.Type == ctor)) === null || _a === void 0 ? void 0 : _a.Builder(args);
|
|
19
28
|
}
|
|
29
|
+
static Injectable() {
|
|
30
|
+
return function (target, property) {
|
|
31
|
+
Reflect.defineMetadata(DependecyService._injectableKey, true, target.constructor, property);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
static IsInjectable(target, property) {
|
|
35
|
+
var _a;
|
|
36
|
+
let marked = (_a = Reflect.getMetadata(DependecyService._injectableKey, target, property)) !== null && _a !== void 0 ? _a : false;
|
|
37
|
+
let type = Reflect.getMetadata(DependecyService._injectableTypeKey, target, property) != undefined;
|
|
38
|
+
return marked || type;
|
|
39
|
+
}
|
|
40
|
+
static InjectOne(tp) {
|
|
41
|
+
return function (target, property) {
|
|
42
|
+
Reflect.defineMetadata(DependecyService._injectableTypeKey, tp, target.constructor, property);
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
static GetDIType(target, property) {
|
|
46
|
+
let type = Reflect.getMetadata(DependecyService._injectableTypeKey, target.constructor, property);
|
|
47
|
+
if (!type)
|
|
48
|
+
type = Reflect.getMetadata("design:type", target, property);
|
|
49
|
+
return type;
|
|
50
|
+
}
|
|
51
|
+
static CheckForDependenciesAndResolve(object) {
|
|
52
|
+
for (let k of Object.keys(object)) {
|
|
53
|
+
if (object[k] != 'function') {
|
|
54
|
+
if (DependecyService.IsInjectable(object.constructor, k)) {
|
|
55
|
+
let tp = DependecyService.GetDIType(object, k);
|
|
56
|
+
if (tp == undefined)
|
|
57
|
+
throw new Error(`Can not resolve the dependecy of ${object.constructor.name}.${k}`);
|
|
58
|
+
let instance = DependecyService.Resolve(tp);
|
|
59
|
+
if (instance == undefined)
|
|
60
|
+
throw new Error(`Can not resolve the dependecy of ${object.constructor.name}.${k}`);
|
|
61
|
+
object[k] = instance;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
static Build(Ctor) {
|
|
67
|
+
let object = Reflect.construct(Ctor, []);
|
|
68
|
+
this.CheckForDependenciesAndResolve(object);
|
|
69
|
+
return object;
|
|
70
|
+
}
|
|
20
71
|
}
|
|
21
72
|
exports.default = DependecyService;
|
|
22
73
|
DependecyService._services = [];
|
|
74
|
+
DependecyService._injectableKey = "di:injectable";
|
|
75
|
+
DependecyService._injectableTypeKey = "di:injectable-type";
|
|
23
76
|
//# sourceMappingURL=DependecyService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependecyService.js","sourceRoot":"","sources":["../../dependencyInjection/DependecyService.ts"],"names":[],"mappings":";;AAAA,MAAqB,gBAAgB;
|
|
1
|
+
{"version":3,"file":"DependecyService.js","sourceRoot":"","sources":["../../dependencyInjection/DependecyService.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export declare function Run(midleware: IMidleware): (target: Object, methodName:
|
|
|
15
15
|
export declare function Action(actionName: String): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
|
|
16
16
|
export declare function Route(route: string): (target: Function) => void;
|
|
17
17
|
export declare function Verb(verb: HTTPVerbs): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
|
|
18
|
+
export declare function Inject(): (target: Object, property: string | symbol) => void;
|
|
19
|
+
export declare function InjectAbstract(object: Function): (target: Object, property: string | symbol) => void;
|
|
18
20
|
export declare function Argument<T>(argName1: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
|
|
19
21
|
export declare function Argument<T, U>(argName1: string, argName2?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
|
|
20
22
|
export declare function Argument<T, U, K>(argName1: string, argName2?: string, argName3?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Argument = exports.Verb = exports.Route = exports.Action = exports.Run = exports.Use = exports.DependecyService = exports.HTTPVerbs = exports.ControllerBase = exports.ControllersDecorators = exports.ApplicationConfiguration = exports.Application = void 0;
|
|
6
|
+
exports.Argument = exports.InjectAbstract = exports.Inject = exports.Verb = exports.Route = exports.Action = exports.Run = exports.Use = exports.DependecyService = exports.HTTPVerbs = exports.ControllerBase = exports.ControllersDecorators = exports.ApplicationConfiguration = exports.Application = void 0;
|
|
7
7
|
var Application_1 = require("./Application");
|
|
8
8
|
Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return __importDefault(Application_1).default; } });
|
|
9
9
|
var ApplicationConfiguration_1 = require("./ApplicationConfiguration");
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "HTTPVerbs", { enumerable: true, get: function ()
|
|
|
17
17
|
var DependecyService_1 = require("./dependencyInjection/DependecyService");
|
|
18
18
|
Object.defineProperty(exports, "DependecyService", { enumerable: true, get: function () { return __importDefault(DependecyService_1).default; } });
|
|
19
19
|
const ControllerDecorators_2 = __importDefault(require("./decorators/controllers/ControllerDecorators"));
|
|
20
|
+
const DependecyService_2 = __importDefault(require("./dependencyInjection/DependecyService"));
|
|
20
21
|
function Use(midleware) {
|
|
21
22
|
return ControllerDecorators_2.default.Use(midleware);
|
|
22
23
|
}
|
|
@@ -42,6 +43,14 @@ function Verb(verb) {
|
|
|
42
43
|
}
|
|
43
44
|
exports.Verb = Verb;
|
|
44
45
|
;
|
|
46
|
+
function Inject() {
|
|
47
|
+
return DependecyService_2.default.Injectable();
|
|
48
|
+
}
|
|
49
|
+
exports.Inject = Inject;
|
|
50
|
+
function InjectAbstract(object) {
|
|
51
|
+
return DependecyService_2.default.InjectOne(object);
|
|
52
|
+
}
|
|
53
|
+
exports.InjectAbstract = InjectAbstract;
|
|
45
54
|
function Argument(argName1, argName2, argName3, argName4, argName5) {
|
|
46
55
|
return ControllerDecorators_2.default.Argument(argName1, argName2, argName3, argName4, argName5);
|
|
47
56
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAsD;AAA7C,2HAAA,OAAO,OAAe;AAC/B,uEAAiF;AAAxE,qJAAA,OAAO,OAA4B;AAE5C,sFAAiG;AAAxF,8IAAA,OAAO,OAAyB;AACzC,oEAAmE;AAA1D,gHAAA,cAAc,OAAA;AAEvB,yDAAwD;AAA/C,sGAAA,SAAS,OAAA;AAElB,2EAAqF;AAA5E,qIAAA,OAAO,OAAoB;AAQpC,yGAAkF;AAClF,8FAAsE;AAItE,SAAgB,GAAG,CAAC,SAAsB;IAEtC,OAAO,8BAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAHD,kBAGC;AAAC,CAAC;AAEH,SAAgB,GAAG,CAAC,SAAsB;IAEtC,OAAO,8BAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC;AAHD,kBAGC;AAAC,CAAC;AAEH,SAAgB,MAAM,CAAC,UAAmB;IAEtC,OAAO,8BAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACpD,CAAC;AAHD,wBAGC;AAAC,CAAC;AAEH,SAAgB,KAAK,CAAC,KAAc;IAEhC,OAAO,8BAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAHD,sBAGC;AAAC,CAAC;AAGH,SAAgB,IAAI,CAAC,IAAgB;IAGjC,OAAO,8BAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAJD,oBAIC;AAAC,CAAC;AAEH,SAAgB,MAAM;IAElB,OAAO,0BAAgB,CAAC,UAAU,EAAE,CAAC;AACzC,CAAC;AAHD,wBAGC;AAED,SAAgB,cAAc,CAAC,MAAiB;IAE5C,OAAO,0BAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAHD,wCAGC;AAQD,SAAgB,QAAQ,CAAiB,QAAiB,EAAE,QAAkB,EAAE,QAAkB,EAAE,QAAkB,EAAE,QAAkB;IAEtI,OAAO,8BAAqB,CAAC,QAAQ,CAAiB,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5G,CAAC;AAHD,4BAGC"}
|
package/dist/jest.config.js
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
module.exports = {
|
|
4
4
|
preset: 'ts-jest',
|
|
5
5
|
testEnvironment: 'node',
|
|
6
|
-
|
|
6
|
+
collectCoverage: true,
|
|
7
|
+
testPathIgnorePatterns: [
|
|
8
|
+
"__tests__/classes",
|
|
9
|
+
"__test__/*/*.d.ts"
|
|
10
|
+
]
|
|
7
11
|
};
|
|
8
12
|
//# sourceMappingURL=jest.config.js.map
|
package/dist/jest.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE,SAAS;IACjB,eAAe,EAAE,MAAM;IACvB,
|
|
1
|
+
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE,SAAS;IACjB,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAG;QACvB,mBAAmB;QACnB,mBAAmB;KACpB;CAEF,CAAC"}
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -68,7 +68,94 @@ import Application from './Application';
|
|
|
68
68
|
new Application().StartAsync();
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
+
## Dependecy injection service
|
|
72
|
+
Consider this abstraction of a service and some imnplementations
|
|
71
73
|
|
|
74
|
+
### ./services/SampleService.ts
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
export abstract class SampleServiceAbstract
|
|
78
|
+
{
|
|
79
|
+
abstract DoSomething() : void;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export class SampleService extends SampleServiceAbstract
|
|
83
|
+
{
|
|
84
|
+
public DoSomething(): void {
|
|
85
|
+
console.log("Doing in SampleServices");
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export class AnotherService extends SampleServiceAbstract
|
|
90
|
+
{
|
|
91
|
+
public DoSomething(): void {
|
|
92
|
+
console.log("Doing another job in AnotherService");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
We can use the DI service like this
|
|
98
|
+
|
|
99
|
+
### ./controllers/SampleController.ts
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
|
|
103
|
+
import { ControllerBase, HTTPVerbs as verbs, Use, Verb, Route, Action } from "web_api_base";
|
|
104
|
+
import {SampleServiceAbstract } from '../services/SampleService.ts';
|
|
105
|
+
|
|
106
|
+
@Route("/sample")
|
|
107
|
+
export default class SampleController extends ControllerBase
|
|
108
|
+
{
|
|
109
|
+
@Inject() // say to DI that this property will be inject on the instance
|
|
110
|
+
public SomeDepency : SampleServiceAbstract;
|
|
111
|
+
|
|
112
|
+
constructor(someDependecy : SampleServiceAbstract)
|
|
113
|
+
{
|
|
114
|
+
super();
|
|
115
|
+
this.SomeDepency = someDependecy ;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@Verb(verbs.GET)
|
|
119
|
+
@Action("/hello")
|
|
120
|
+
public Hello() : void
|
|
121
|
+
{
|
|
122
|
+
this.OK({message: "Hello Word!"})
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
And we can register our dependecies in Application ConfigureAsync method
|
|
129
|
+
|
|
130
|
+
### App.ts
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
|
|
134
|
+
import { Application, IApplicationConfiguration, DependecyService, } from "web_api_base";
|
|
135
|
+
|
|
136
|
+
import { SampleService, SampleServiceAbstract } from './service/SampleService';
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
export default class App extends Application
|
|
140
|
+
{
|
|
141
|
+
constructor()
|
|
142
|
+
{
|
|
143
|
+
super();
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
public override async ConfigureAsync(appConfig: IApplicationConfiguration): Promise<void>
|
|
147
|
+
{
|
|
148
|
+
this.UseCors();
|
|
149
|
+
|
|
150
|
+
// everytime some class need a SampleServiceAbstract it will get a intance of SampleService
|
|
151
|
+
DependecyService.RegisterFor(SampleServiceAbstract, SampleService);
|
|
152
|
+
|
|
153
|
+
this.UseControllers();
|
|
154
|
+
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
```
|
|
72
159
|
|
|
73
160
|
## Contributing
|
|
74
161
|
|
package/dist/App.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const Configuration_1 = __importDefault(require("./Configuration"));
|
|
16
|
-
const express_1 = __importDefault(require("express"));
|
|
17
|
-
class App {
|
|
18
|
-
constructor() {
|
|
19
|
-
this.Configuration = new Configuration_1.default();
|
|
20
|
-
this.Express = (0, express_1.default)();
|
|
21
|
-
}
|
|
22
|
-
StartAsync() {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
yield this.Configuration.StartAsync();
|
|
25
|
-
this.Express.listen(this.Configuration.Port, this.Configuration.Host, () => {
|
|
26
|
-
console.log(`App running on ${this.Configuration.Host}:${this.Configuration.Port}`);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.default = App;
|
|
32
|
-
//# sourceMappingURL=App.js.map
|
package/dist/App.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../App.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oEAA2C;AAE3C,sDAAsC;AAGtC,MAAqB,GAAG;IAQpB;QAEI,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;QAEzC,IAAI,CAAC,OAAO,GAAG,IAAA,iBAAe,GAAE,CAAC;IACrC,CAAC;IAEY,UAAU;;YAEnB,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YAEtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAE,EAAE;gBAEtE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YACxF,CAAC,CAAC,CAAA;QACN,CAAC;KAAA;CAEJ;AAzBD,sBAyBC"}
|
package/dist/Configuration.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const fs_1 = __importDefault(require("fs"));
|
|
16
|
-
class Configuration {
|
|
17
|
-
constructor() {
|
|
18
|
-
this.Host = "0.0.0.0";
|
|
19
|
-
this.Port = 5432;
|
|
20
|
-
process.env["root_dir"] = __dirname;
|
|
21
|
-
}
|
|
22
|
-
StartAsync() {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
if (!(yield this.CheckFileAsync())) {
|
|
25
|
-
yield this.CreateFileAsync();
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
yield this.ReadFileAsync();
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
CheckFileAsync() {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
return new Promise((resolve, _) => resolve(fs_1.default.existsSync(`${__dirname}\\config.json`)));
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
ReadFileAsync() {
|
|
38
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
return new Promise((resolve, _) => {
|
|
40
|
-
fs_1.default.readFile(`${__dirname}\\config.json`, 'utf-8', (error, data) => {
|
|
41
|
-
if (error) {
|
|
42
|
-
throw error;
|
|
43
|
-
}
|
|
44
|
-
let json = JSON.parse(data);
|
|
45
|
-
for (let key in this) {
|
|
46
|
-
if (json[key] != undefined) {
|
|
47
|
-
this[key] = json[key];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
resolve(true);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
CreateFileAsync() {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
return new Promise((resolve, _) => {
|
|
58
|
-
fs_1.default.writeFile(`${__dirname}\\config.json`, JSON.stringify(this), 'utf-8', error => {
|
|
59
|
-
if (error) {
|
|
60
|
-
throw error;
|
|
61
|
-
}
|
|
62
|
-
resolve(true);
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
exports.default = Configuration;
|
|
69
|
-
//# sourceMappingURL=Configuration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../Configuration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAsB;AAItB,MAAqB,aAAa;IAM9B;QAHO,SAAI,GAAY,SAAS,CAAC;QAC1B,SAAI,GAAY,IAAI,CAAC;QAIxB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IACxC,CAAC;IAEY,UAAU;;YAEnB,IAAG,CAAC,CAAA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA,EAC/B;gBACI,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;aAEhC;iBAAI;gBAED,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;aAC9B;QACL,CAAC;KAAA;IAEa,cAAc;;YAExB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,YAAI,CAAC,UAAU,CAAC,GAAG,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC;QACvG,CAAC;KAAA;IAEa,aAAa;;YAEvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;gBAEvC,YAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,eAAe,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBAEhE,IAAG,KAAK,EACR;wBACI,MAAM,KAAK,CAAC;qBACf;oBAED,IAAI,IAAI,GAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAElC,KAAI,IAAI,GAAG,IAAI,IAAI,EACnB;wBACI,IAAG,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EACzB;4BACI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;yBACzB;qBACJ;oBAED,OAAO,CAAC,IAAI,CAAC,CAAC;gBAElB,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;QACN,CAAC;KAAA;IAEa,eAAe;;YAGzB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,CAAC,EAAC,EAAE;gBAEtC,YAAI,CAAC,SAAS,CAAC,GAAG,SAAS,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;oBAG/E,IAAG,KAAK,EACR;wBACI,MAAM,KAAK,CAAC;qBACf;oBAED,OAAO,CAAC,IAAI,CAAC,CAAC;gBAElB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAA;QAEN,CAAC;KAAA;CAEJ;AA3ED,gCA2EC"}
|
package/dist/Index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAsD;AAA7C,2HAAA,OAAO,OAAe;AAC/B,uEAAiF;AAAxE,qJAAA,OAAO,OAA4B;AAE5C,sFAAiG;AAAxF,8IAAA,OAAO,OAAyB;AACzC,oEAAmE;AAA1D,gHAAA,cAAc,OAAA;AAEvB,yDAAwD;AAA/C,sGAAA,SAAS,OAAA;AAElB,2EAAqF;AAA5E,qIAAA,OAAO,OAAoB;AAQpC,yGAAkF;AAIlF,SAAgB,GAAG,CAAC,SAAsB;IAEtC,OAAO,8BAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAHD,kBAGC;AAAC,CAAC;AAEH,SAAgB,GAAG,CAAC,SAAsB;IAEtC,OAAO,8BAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC;AAHD,kBAGC;AAAC,CAAC;AAEH,SAAgB,MAAM,CAAC,UAAmB;IAEtC,OAAO,8BAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACpD,CAAC;AAHD,wBAGC;AAAC,CAAC;AAEH,SAAgB,KAAK,CAAC,KAAc;IAEhC,OAAO,8BAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAHD,sBAGC;AAAC,CAAC;AAGH,SAAgB,IAAI,CAAC,IAAgB;IAEjC,OAAO,8BAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAHD,oBAGC;AAAC,CAAC;AAMH,SAAgB,QAAQ,CAAiB,QAAiB,EAAE,QAAkB,EAAE,QAAkB,EAAE,QAAkB,EAAE,QAAkB;IAEtI,OAAO,8BAAqB,CAAC,QAAQ,CAAiB,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5G,CAAC;AAHD,4BAGC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ControllerBase } from "../../controllers/base/ControllerBase";
|
|
2
|
-
import IApplication from "../../interfaces/IApplication";
|
|
3
|
-
export declare class ControllerTest extends ControllerBase {
|
|
4
|
-
constructor();
|
|
5
|
-
TestAction(name: string): void;
|
|
6
|
-
TestActionTwo(name: string, age: number): void;
|
|
7
|
-
AppendSync(application: IApplication): void;
|
|
8
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* istanbul ignore next */
|
|
3
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
4
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
7
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
-
};
|
|
9
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
10
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
11
|
-
};
|
|
12
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
-
};
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.ControllerTest = void 0;
|
|
17
|
-
const ControllerBase_1 = require("../../controllers/base/ControllerBase");
|
|
18
|
-
const ControllerDecorators_1 = __importDefault(require("../../decorators/controllers/ControllerDecorators"));
|
|
19
|
-
const HttpVerbs_1 = require("../../enums/httpVerbs/HttpVerbs");
|
|
20
|
-
let ControllerTest = class ControllerTest extends ControllerBase_1.ControllerBase {
|
|
21
|
-
constructor() {
|
|
22
|
-
super();
|
|
23
|
-
}
|
|
24
|
-
TestAction(name) {
|
|
25
|
-
console.log(name);
|
|
26
|
-
}
|
|
27
|
-
TestActionTwo(name, age) {
|
|
28
|
-
console.log(name, age);
|
|
29
|
-
}
|
|
30
|
-
AppendSync(application) {
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
__decorate([
|
|
34
|
-
ControllerDecorators_1.default.Action("Test"),
|
|
35
|
-
ControllerDecorators_1.default.Verb(HttpVerbs_1.HTTPVerbs.GET),
|
|
36
|
-
ControllerDecorators_1.default.Argument('name'),
|
|
37
|
-
__metadata("design:type", Function),
|
|
38
|
-
__metadata("design:paramtypes", [String]),
|
|
39
|
-
__metadata("design:returntype", void 0)
|
|
40
|
-
], ControllerTest.prototype, "TestAction", null);
|
|
41
|
-
__decorate([
|
|
42
|
-
ControllerDecorators_1.default.Action("Test"),
|
|
43
|
-
ControllerDecorators_1.default.Verb(HttpVerbs_1.HTTPVerbs.GET),
|
|
44
|
-
ControllerDecorators_1.default.Argument('name', 'age'),
|
|
45
|
-
__metadata("design:type", Function),
|
|
46
|
-
__metadata("design:paramtypes", [String, Number]),
|
|
47
|
-
__metadata("design:returntype", void 0)
|
|
48
|
-
], ControllerTest.prototype, "TestActionTwo", null);
|
|
49
|
-
ControllerTest = __decorate([
|
|
50
|
-
ControllerDecorators_1.default.Route("/test"),
|
|
51
|
-
__metadata("design:paramtypes", [])
|
|
52
|
-
], ControllerTest);
|
|
53
|
-
exports.ControllerTest = ControllerTest;
|
|
54
|
-
//# sourceMappingURL=Controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../../../__tests__/classes/Controller.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;;;;;;;;;;;;;AAE1B,0EAAuE;AACvE,6GAAsF;AACtF,+DAA4D;AAK5D,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,+BAAc;IAE9C;QAEI,KAAK,EAAE,CAAC;IACZ,CAAC;IAKM,UAAU,CAAC,IAAa;QAE3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAKM,aAAa,CAAC,IAAa,EAAE,GAAY;QAE5C,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAGM,UAAU,CAAC,WAAyB;IAG3C,CAAC;CACJ,CAAA;AAlBG;IAHC,8BAAqB,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,8BAAqB,CAAC,IAAI,CAAC,qBAAS,CAAC,GAAG,CAAC;IACzC,8BAAqB,CAAC,QAAQ,CAAS,MAAM,CAAC;;;;gDAI9C;AAKD;IAHC,8BAAqB,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,8BAAqB,CAAC,IAAI,CAAC,qBAAS,CAAC,GAAG,CAAC;IACzC,8BAAqB,CAAC,QAAQ,CAAiB,MAAM,EAAE,KAAK,CAAC;;;;mDAI7D;AArBQ,cAAc;IAD1B,8BAAqB,CAAC,KAAK,CAAC,OAAO,CAAC;;GACxB,cAAc,CA4B1B;AA5BY,wCAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,40 +0,0 @@
|
|
|
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 Controller_1 = require("../../classes/Controller");
|
|
7
|
-
const ControllerDecorators_1 = __importDefault(require("../../../decorators/controllers/ControllerDecorators"));
|
|
8
|
-
const HttpVerbs_1 = require("../../../enums/httpVerbs/HttpVerbs");
|
|
9
|
-
describe('testing controllers decorators', () => {
|
|
10
|
-
test("action name", () => {
|
|
11
|
-
var controller = new Controller_1.ControllerTest();
|
|
12
|
-
let action = ControllerDecorators_1.default.GetAction(controller, "TestAction");
|
|
13
|
-
expect(action).toBe("Test");
|
|
14
|
-
}, 10 ^ 5);
|
|
15
|
-
test("http verb", () => {
|
|
16
|
-
var controller = new Controller_1.ControllerTest();
|
|
17
|
-
let verb = ControllerDecorators_1.default.GetVerb(controller, "TestAction");
|
|
18
|
-
expect(verb).toBe(HttpVerbs_1.HTTPVerbs.GET);
|
|
19
|
-
}, 10 ^ 5);
|
|
20
|
-
test("action with one arg", () => {
|
|
21
|
-
var controller = new Controller_1.ControllerTest();
|
|
22
|
-
var handler = ControllerDecorators_1.default.GetArgumentsHandler(controller, 'TestAction');
|
|
23
|
-
var arr = handler === null || handler === void 0 ? void 0 : handler.CreateArgumentsList({ name: "adriano" });
|
|
24
|
-
Reflect.apply(controller.TestAction, controller, arr !== null && arr !== void 0 ? arr : []);
|
|
25
|
-
expect(arr).not.toBeNull();
|
|
26
|
-
}, 10 ^ 5);
|
|
27
|
-
test("action with two args", () => {
|
|
28
|
-
var controller = new Controller_1.ControllerTest();
|
|
29
|
-
var handler = ControllerDecorators_1.default.GetArgumentsHandler(controller, 'TestActionTwo');
|
|
30
|
-
var arr = handler === null || handler === void 0 ? void 0 : handler.CreateArgumentsList({ name: "adriano", age: 30 });
|
|
31
|
-
Reflect.apply(controller.TestActionTwo, controller, arr !== null && arr !== void 0 ? arr : []);
|
|
32
|
-
expect(arr).not.toBeNull();
|
|
33
|
-
}, 10 ^ 5);
|
|
34
|
-
test("controller route", () => {
|
|
35
|
-
var controller = new Controller_1.ControllerTest();
|
|
36
|
-
var route = ControllerDecorators_1.default.GetRoute(controller);
|
|
37
|
-
expect(route).toBe("/test");
|
|
38
|
-
}, 10 ^ 5);
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=ControllerDecorators.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ControllerDecorators.spec.js","sourceRoot":"","sources":["../../../../__tests__/decorators/controllers/ControllerDecorators.spec.ts"],"names":[],"mappings":";;;;;AAAA,yDAA0D;AAC1D,gHAAyF;AACzF,kEAA+D;AAE/D,QAAQ,CAAC,gCAAgC,EAAE,GAAE,EAAE;IAG3C,IAAI,CAAC,aAAa,EAAE,GAAE,EAAE;QAEpB,IAAI,UAAU,GAAG,IAAI,2BAAc,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,8BAAqB,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhC,CAAC,EAAC,EAAE,GAAC,CAAC,CAAC,CAAA;IAEP,IAAI,CAAC,WAAW,EAAE,GAAE,EAAE;QAElB,IAAI,UAAU,GAAG,IAAI,2BAAc,EAAE,CAAC;QACtC,IAAI,IAAI,GAAG,8BAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAS,CAAC,GAAG,CAAC,CAAC;IAErC,CAAC,EAAC,EAAE,GAAC,CAAC,CAAC,CAAA;IAEP,IAAI,CAAC,qBAAqB,EAAE,GAAE,EAAE;QAE5B,IAAI,UAAU,GAAG,IAAI,2BAAc,EAAE,CAAC;QAEtC,IAAI,OAAO,GAAG,8BAAqB,CAAC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAElF,IAAI,GAAG,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,EAAC,IAAI,EAAG,SAAS,EAAC,CAAC,CAAC;QAE3D,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC;QAE5D,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAG/B,CAAC,EAAC,EAAE,GAAC,CAAC,CAAC,CAAA;IAGP,IAAI,CAAC,sBAAsB,EAAE,GAAE,EAAE;QAE7B,IAAI,UAAU,GAAG,IAAI,2BAAc,EAAE,CAAC;QAEtC,IAAI,OAAO,GAAG,8BAAqB,CAAC,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAErF,IAAI,GAAG,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,EAAC,IAAI,EAAG,SAAS,EAAE,GAAG,EAAG,EAAE,EAAC,CAAC,CAAC;QAErE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC;QAE/D,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAG/B,CAAC,EAAC,EAAE,GAAC,CAAC,CAAC,CAAA;IAGP,IAAI,CAAC,kBAAkB,EAAE,GAAE,EAAE;QAEzB,IAAI,UAAU,GAAG,IAAI,2BAAc,EAAE,CAAC;QAEtC,IAAI,KAAK,GAAG,8BAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEvD,MAAM,CAAC,KAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAGjC,CAAC,EAAC,EAAE,GAAC,CAAC,CAAC,CAAA;AAEX,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,52 +0,0 @@
|
|
|
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 fs_1 = __importDefault(require("fs"));
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
var appCode = `
|
|
9
|
-
|
|
10
|
-
import StatusController from "./controllers/StatusController";
|
|
11
|
-
import { Application, IApplicationConfiguration, DependecyService, Use} from "web_api_base";
|
|
12
|
-
|
|
13
|
-
export default class App extends Application
|
|
14
|
-
{
|
|
15
|
-
constructor()
|
|
16
|
-
{
|
|
17
|
-
super();
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
public override async ConfigureAsync(appConfig: IApplicationConfiguration): Promise<void>
|
|
21
|
-
{
|
|
22
|
-
this.UseCors();
|
|
23
|
-
|
|
24
|
-
this.AddDependencyInjection(appConfig);
|
|
25
|
-
|
|
26
|
-
this.UseControllers();
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
private AddDependencyInjection(appConfig: IApplicationConfiguration) : void
|
|
31
|
-
{
|
|
32
|
-
DependecyService.Register(StatusController);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}`;
|
|
37
|
-
(() => {
|
|
38
|
-
var _a;
|
|
39
|
-
let main = (_a = process.mainModule) === null || _a === void 0 ? void 0 : _a.path;
|
|
40
|
-
if (main == undefined) {
|
|
41
|
-
console.error("Could not find the root dir");
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
let appFile = path_1.default.join(main, "App.ts");
|
|
45
|
-
if (fs_1.default.existsSync(appFile)) {
|
|
46
|
-
console.error(`The ${appFile} already exists`);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
fs_1.default.writeFileSync(appFile, appCode, 'utf-8');
|
|
50
|
-
console.log(`web api created`);
|
|
51
|
-
})();
|
|
52
|
-
//# sourceMappingURL=create-webapi-app.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-webapi-app.js","sourceRoot":"","sources":["../../bin/create-webapi-app.ts"],"names":[],"mappings":";;;;;AAAA,4CAAsB;AACtB,gDAAwB;AAExB,IAAI,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BZ,CAAC;AAEH,CAAC,GAAE,EAAE;;IAED,IAAI,IAAI,GAAwB,MAAA,OAAO,CAAC,UAAU,0CAAE,IAAI,CAAC;IAIzD,IAAG,IAAI,IAAI,SAAS,EAAC;QACjB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO;KACV;IAED,IAAI,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAExC,IAAG,YAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC;QACxB,OAAO,CAAC,KAAK,CAAC,OAAO,OAAO,iBAAiB,CAAC,CAAC;QAC/C,OAAO;KACV;IAED,YAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAEnC,CAAC,CAAC,EAAE,CAAC"}
|