UNPKG

1.77 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3require("reflect-metadata");
4exports.INCEPTUM_WEB_METADATA_KEY = 'inceptum-web';
5class InceptumWebMetadata {
6 constructor() {
7 this.routes = [];
8 }
9}
10exports.InceptumWebMetadata = InceptumWebMetadata;
11function hasWebDecoratorMetadata(target) {
12 return Reflect.hasMetadata(exports.INCEPTUM_WEB_METADATA_KEY, target);
13}
14exports.hasWebDecoratorMetadata = hasWebDecoratorMetadata;
15function getWebDecoratorMetadata(target) {
16 return Reflect.getMetadata(exports.INCEPTUM_WEB_METADATA_KEY, target);
17}
18exports.getWebDecoratorMetadata = getWebDecoratorMetadata;
19function getOrCreateMetadata(target) {
20 if (hasWebDecoratorMetadata(target)) {
21 return getWebDecoratorMetadata(target);
22 }
23 const metadata = new InceptumWebMetadata();
24 Reflect.defineMetadata(exports.INCEPTUM_WEB_METADATA_KEY, metadata, target);
25 return metadata;
26}
27var WebDecorator;
28(function (WebDecorator) {
29 function Get(path) {
30 return Route('get', path);
31 }
32 WebDecorator.Get = Get;
33 function Post(path) {
34 return Route('post', path);
35 }
36 WebDecorator.Post = Post;
37 function Put(path) {
38 return Route('put', path);
39 }
40 WebDecorator.Put = Put;
41 function Delete(path) {
42 return Route('delete', path);
43 }
44 WebDecorator.Delete = Delete;
45 function Route(verb, path) {
46 return (target, key) => {
47 // console.log('Called Autowire');
48 const metadata = getOrCreateMetadata(target);
49 metadata.routes.push({ verb, path, methodName: key });
50 };
51 }
52 WebDecorator.Route = Route;
53})(WebDecorator = exports.WebDecorator || (exports.WebDecorator = {}));
54//# sourceMappingURL=WebDecorators.js.map
\No newline at end of file