web_api_base 7.3.1 → 8.0.1

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 (66) hide show
  1. package/dist/Application.d.ts +1 -0
  2. package/dist/Application.d.ts.map +1 -1
  3. package/dist/Application.js +64 -34
  4. package/dist/Application.js.map +1 -1
  5. package/dist/ApplicationConfiguration.d.ts +1 -2
  6. package/dist/ApplicationConfiguration.d.ts.map +1 -1
  7. package/dist/ApplicationConfiguration.js +16 -28
  8. package/dist/ApplicationConfiguration.js.map +1 -1
  9. package/dist/bin/Factory.d.ts.map +1 -1
  10. package/dist/bin/Factory.js +7 -15
  11. package/dist/bin/Factory.js.map +1 -1
  12. package/dist/controllers/base/ControllerBase.d.ts.map +1 -1
  13. package/dist/controllers/base/ControllerBase.js +7 -2
  14. package/dist/controllers/base/ControllerBase.js.map +1 -1
  15. package/dist/decorators/controllers/ControllerDecorators.d.ts +36 -27
  16. package/dist/decorators/controllers/ControllerDecorators.d.ts.map +1 -1
  17. package/dist/decorators/controllers/ControllerDecorators.js +116 -65
  18. package/dist/decorators/controllers/ControllerDecorators.js.map +1 -1
  19. package/dist/decorators/metadata/MetadataDecorators.d.ts +3 -0
  20. package/dist/decorators/metadata/MetadataDecorators.d.ts.map +1 -1
  21. package/dist/decorators/metadata/MetadataDecorators.js +10 -0
  22. package/dist/decorators/metadata/MetadataDecorators.js.map +1 -1
  23. package/dist/decorators/validations/ValidationDecorators.d.ts +38 -27
  24. package/dist/decorators/validations/ValidationDecorators.d.ts.map +1 -1
  25. package/dist/decorators/validations/ValidationDecorators.js +107 -86
  26. package/dist/decorators/validations/ValidationDecorators.js.map +1 -1
  27. package/dist/dependencyInjection/DependecyService.d.ts +2 -1
  28. package/dist/dependencyInjection/DependecyService.d.ts.map +1 -1
  29. package/dist/dependencyInjection/DependecyService.js +42 -33
  30. package/dist/dependencyInjection/DependecyService.js.map +1 -1
  31. package/dist/dependencyInjection/Index.d.ts +8 -0
  32. package/dist/dependencyInjection/Index.d.ts.map +1 -0
  33. package/dist/dependencyInjection/Index.js +33 -0
  34. package/dist/dependencyInjection/Index.js.map +1 -0
  35. package/dist/documentation/CSS.d.ts.map +1 -1
  36. package/dist/documentation/CSS.js +22 -0
  37. package/dist/documentation/CSS.js.map +1 -1
  38. package/dist/documentation/Documentation.d.ts +1 -1
  39. package/dist/documentation/Documentation.d.ts.map +1 -1
  40. package/dist/documentation/Documentation.js +26 -21
  41. package/dist/documentation/Documentation.js.map +1 -1
  42. package/dist/documentation/Index.d.ts +13 -0
  43. package/dist/documentation/Index.d.ts.map +1 -0
  44. package/dist/documentation/Index.js +63 -0
  45. package/dist/documentation/Index.js.map +1 -0
  46. package/dist/documentation/JS.d.ts.map +1 -1
  47. package/dist/documentation/JS.js +120 -61
  48. package/dist/documentation/JS.js.map +1 -1
  49. package/dist/index.d.ts +26 -25
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +85 -66
  52. package/dist/index.js.map +1 -1
  53. package/dist/metadata/Index.d.ts +11 -0
  54. package/dist/metadata/Index.d.ts.map +1 -0
  55. package/dist/metadata/Index.js +36 -0
  56. package/dist/metadata/Index.js.map +1 -0
  57. package/dist/metadata/Type.d.ts +13 -5
  58. package/dist/metadata/Type.d.ts.map +1 -1
  59. package/dist/metadata/Type.js +112 -44
  60. package/dist/metadata/Type.js.map +1 -1
  61. package/dist/validation/Index.d.ts +10 -0
  62. package/dist/validation/Index.d.ts.map +1 -0
  63. package/dist/validation/Index.js +44 -0
  64. package/dist/validation/Index.js.map +1 -0
  65. package/package.json +50 -5
  66. package/readme.md +86 -7
@@ -36,7 +36,9 @@ class JS {
36
36
  fs_1.default.writeFileSync(`${__dirname}\\script.js`, JS._js, 'utf-8');
37
37
  }
38
38
  }
39
- JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><div class="DivHeader"><p>Made with <a href="https://www.npmjs.com/package/web_api_base" target="_blank">web_api_base</a></p></div></div>';
39
+ JS._js = `
40
+
41
+ document.getElementById('root').innerHTML += '<div class="header" ><div class="DivHeader"><p>Made with <a href="https://www.npmjs.com/package/web_api_base" target="_blank">web_api_base</a></p></div></div>';
40
42
  document.getElementsByClassName('header')[0].innerHTML += '<div class="DivHeader DivHeaderRight"><p class="pTitle" style="font-size: 14px;font-weight:600;">??APP ??VERSION</p><p>??DESC</p></div>';
41
43
 
42
44
 
@@ -66,9 +68,9 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
66
68
  }
67
69
 
68
70
  let date = new Date();
71
+
69
72
  for(let r of route.Resources)
70
- {
71
-
73
+ {
72
74
  let expandId = { ID : 'link_' + r.Id, RID : r.Id};
73
75
 
74
76
  try{
@@ -84,6 +86,7 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
84
86
 
85
87
  root.innerHTML += '<div class="row-div"><span class="'+ verbClass+'">'+r.Verb+'</span><h2 id="'+ expandId.ID +'"> '+window.location.origin+r.Route+'</h2></div>';
86
88
  root.innerHTML += '<div id="'+r.Id+'_container" class="container"></div>';
89
+
87
90
  let container = document.getElementById(r.Id + '_container');
88
91
 
89
92
  if(r.Headers.length > 0)
@@ -97,17 +100,82 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
97
100
  if(r.Headers.length > 0 && (r.FromQuery.length > 0 || r.FromBody.length > 0 || r.FromFiles.length == 0))
98
101
  container.innerHTML +='</br>'
99
102
 
103
+ let getURLFunction = (_) =>
104
+ {
105
+ let args = '?';
106
+ let path = '';
107
+
108
+ for(let c of r.FromQuery)
109
+ {
110
+ let input = document.getElementById('key-'+r.Id+r.FromQuery.indexOf(c));
111
+
112
+ if(input.value.trim() != '')
113
+ args+= c.Field + '="' + input.value + '"&';
114
+
115
+ }
116
+
117
+
118
+ if(args.length > 1)
119
+ args = args.substring(0, args.length -1);
120
+ else
121
+ args = '';
122
+
123
+
124
+ let route = r.Route;
125
+ for(let c of r.FromPath)
126
+ {
127
+ let input = document.getElementById('path-'+r.Id+r.FromPath.indexOf(c));
128
+
129
+ if(route.indexOf(':'+c.Field) == -1)
130
+ path+= '/' + input.value.trim();
131
+ else
132
+ route = route.replace(':'+c.Field, input.value.trim());
133
+
134
+ }
135
+
136
+ if(route.endsWith('/') && path.length > 0)
137
+ path = path.substring(1);
138
+
139
+ return window.location.origin+route+path+args;
140
+ }
141
+
142
+
143
+ if(r.FromPath.length > 0)
144
+ container.innerHTML += "<h3>Path parameters:</h3>";
145
+
146
+
147
+
148
+ for(let c of r.FromPath)
149
+ {
150
+ let isDate = c.Type && c.Type == "Date";
151
+
152
+ let placeholder = isDate ? date.getUTCFullYear()+"-"+(date.getUTCMonth() + 1) +"-"+ date.getUTCDate() : c.Field;
153
+
154
+ container.innerHTML += '<div class="token-container"><input type="text" id="path-'+r.Id+r.FromPath.indexOf(c)+'" placeholder="'+placeholder+'"></div>';
155
+
156
+ }
157
+
158
+ if(r.FromPath.length > 0 && (r.FromQuery.length > 0 || r.FromBody.length > 0 || r.FromFiles.length > 0 || r.FromFiles.length == 0))
159
+ container.innerHTML +='</br>'
160
+
100
161
  if(r.FromQuery.length > 0)
101
162
  container.innerHTML += "<h3>Query parameters:</h3>";
102
163
 
103
- for(let c of r.FromQuery)
164
+
165
+
166
+ for(let c of r.FromQuery)
104
167
  {
168
+
105
169
  let isDate = c.Type && c.Type == "Date";
170
+
106
171
  let placeholder = isDate ? date.getUTCFullYear()+"-"+(date.getUTCMonth() + 1) +"-"+ date.getUTCDate() : c.Field;
107
- container.innerHTML += '<div class="token-container"><input type="text" id="key-'+r.Id+r.FromQuery.indexOf(c)+'" placeholder="'+placeholder+'"></div>';
172
+
173
+ container.innerHTML += '<div class="token-container"><input type="text" id="key-'+r.Id+r.FromQuery.indexOf(c)+'" placeholder="'+placeholder+'"></div>';
174
+
175
+
108
176
  }
109
177
 
110
- if(r.FromQuery.length > 0 && (r.FromBody.length > 0 || r.FromFiles.length == 0))
178
+ if(r.FromQuery.length > 0 && (r.FromBody.length > 0 || r.FromFiles.length > 0 || r.FromFiles.length == 0))
111
179
  container.innerHTML +='</br>'
112
180
 
113
181
 
@@ -151,7 +219,7 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
151
219
  });
152
220
  }
153
221
 
154
- if(r.FromFiles.length > 0 && r.FromBody.length > 0)
222
+ if(r.FromFiles.length > 0 && (r.FromBody.length > 0 || r.FromBody.length == 0))
155
223
  container.innerHTML +='</br>'
156
224
 
157
225
  if(r.FromBody.length > 0)
@@ -193,14 +261,10 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
193
261
  }
194
262
 
195
263
 
196
- if(r.Description)
197
- {
198
- container.innerHTML += '<h3>'+r.Description+'</h3>';
199
-
200
- }else {
201
-
202
- container.innerHTML += '<h3>Use @Description(...) to add a description to a action</h3>';
203
- }
264
+ if(r.Description)
265
+ container.innerHTML += '<h3>'+r.Description+'</h3>';
266
+ else
267
+ container.innerHTML += '<h3>Use @Description(...) to add a description to a action</h3>';
204
268
 
205
269
 
206
270
  container.innerHTML += '<div class="btn-container" ><button id="bt-'+expandId.ID+'">Send</button></div>';
@@ -209,7 +273,7 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
209
273
  {
210
274
  container.innerHTML += '<h3 id="response-bar-'+r.Id+'">Response'+(r.Response.length > 1 ? 's': '')+':</h3>';
211
275
 
212
- container.innerHTML += '<div id="status-bar-'+r.Id+'" class="btn-container" ></div>';
276
+ container.innerHTML += '<div id="status-bar-'+r.Id+'" class="btn-container" ></div>';
213
277
 
214
278
 
215
279
  for(let s of r.Response.sort((a, b)=> a.Status - b.Status))
@@ -231,7 +295,6 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
231
295
  classValue = "ErrorServer";
232
296
  }
233
297
 
234
-
235
298
  bar.innerHTML += '<div><status id="status-'+r.Id+s.Status+'" class="'+classValue+'"> '+s.Status+ '</status> <tx>' + (s.Description ?? '')+'</tx></div>';
236
299
 
237
300
  document.addEventListener('DOMContentLoaded', function() {
@@ -241,54 +304,40 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
241
304
  let textarea = document.getElementById('response-area-'+r.Id);
242
305
  textarea.value = s.JSON;
243
306
 
244
- });
245
-
246
-
307
+ });
247
308
  });
248
-
249
-
250
- }
251
-
309
+ }
252
310
 
253
- }else{
254
-
311
+ }
312
+ else
313
+ {
255
314
  container.innerHTML += '<h3 id="response-bar-'+r.Id+'">Response:</h3>';
256
315
  container.innerHTML += '<div id="status-bar-'+r.Id+'" class="btn-container" style="display:none;" ></div>';
257
316
  }
258
317
 
259
- document.addEventListener('DOMContentLoaded', function() {
260
-
318
+ document.addEventListener('DOMContentLoaded', function() {
261
319
 
262
320
  document.getElementById('bt-'+expandId.ID).addEventListener('click', (evt) =>
263
321
  {
322
+ let btn = evt.currentTarget;
323
+ let originalContent = btn.innerHTML;
324
+
264
325
  let body = document.getElementById('body-'+r.Id);
265
326
  let resp = document.getElementById('response-area-'+r.Id);
266
327
  let bar = document.getElementById('status-bar-'+r.Id);
267
328
  let h3 = document.getElementById('response-bar-'+r.Id);
268
329
  resp.value = '';
330
+
331
+ btn.disabled = true;
332
+ btn.innerHTML = '<span class="spinner"></span>';
333
+
269
334
  let req = new XMLHttpRequest();
270
- let args = '?';
271
- for(let c of r.FromQuery)
272
- {
273
- let input = document.getElementById('key-'+r.Id+r.FromQuery.indexOf(c));
274
-
275
- if(input.value.trim() != ''){
276
- args+= c.Field + '="' + input.value + '"&';
277
- }
278
- }
279
-
280
- if(args.length > 1){
281
- args = args.substring(0, args.length -1);
282
- }else
283
- {
284
- args = '';
285
- }
286
-
287
- req.open(r.Verb, window.location.origin+r.Route+args, true);
288
- if (r.FromFiles.length == 0 && r.FromBody.length > 0)
289
- {
335
+ req.open(r.Verb, getURLFunction(), true);
336
+
337
+ if (r.FromFiles.length == 0 && r.FromBody.length > 0)
290
338
  req.setRequestHeader('Content-type', 'application/json');
291
- }
339
+
340
+
292
341
  if(route.Headers.length > 0)
293
342
  {
294
343
  if(route.Headers.length > 0)
@@ -306,15 +355,23 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
306
355
  if(r.Headers.length > 0)
307
356
  {
308
357
  for(let v of r.Headers)
309
- {
310
- let header = document.getElementById('action-header-'+r.Id+r.Headers.indexOf(v));
311
- req.setRequestHeader(v,header.value);
358
+ {
359
+ let header = document.getElementById('action-header-'+r.Id+r.Headers.indexOf(v));
360
+ req.setRequestHeader(v,header.value);
312
361
 
313
- }
362
+ }
314
363
  }
315
364
 
365
+ document.getElementById( expandId.ID).innerHTML = getURLFunction();
366
+
367
+ const resetBtn = () => {
368
+ btn.disabled = false;
369
+ btn.innerHTML = originalContent;
370
+ };
371
+
316
372
  req.onerror = ()=>
317
373
  {
374
+ resetBtn();
318
375
  h3.innerText = "Current response:";
319
376
  bar.style.display = "flex";
320
377
  resp.value = 'Error to send the request';
@@ -326,6 +383,8 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
326
383
  {
327
384
  if(req.readyState == 4 && req.status > 0)
328
385
  {
386
+ resetBtn();
387
+
329
388
  h3.innerText = "Current response:";
330
389
 
331
390
  bar.style.display = "flex";
@@ -360,15 +419,15 @@ JS._js = ` document.getElementById('root').innerHTML += '<div class="header" ><d
360
419
  let form = new FormData();
361
420
 
362
421
  for(let c of r.FromFiles)
363
- {
364
- let cIndex = r.FromFiles.indexOf(c);
365
- let file = document.getElementById('file-'+r.Id+cIndex);
366
- if(file.files.length > 0)
367
- {
368
- form.append(c.FieldName, file.files[0]);
369
- }
422
+ {
423
+ let cIndex = r.FromFiles.indexOf(c);
424
+ let file = document.getElementById('file-'+r.Id+cIndex);
425
+ if(file.files.length > 0)
426
+ {
427
+ form.append(c.FieldName, file.files[0]);
428
+ }
370
429
 
371
- }
430
+ }
372
431
  if(body)
373
432
  {
374
433
  form.append('body', body.value);
@@ -1 +1 @@
1
- {"version":3,"file":"JS.js","sourceRoot":"","sources":["../../documentation/JS.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,iEAAyC;AAEzC,MAAqB,EAAE;IA8XZ,MAAM,CAAC,MAAM,CAAC,IAAa;QAE9B,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,IAAI;QAEd,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAG,CAAC;YAEA,IAAI,sBAAsB,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE5F,IAAG,CAAC,YAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;gBACrC,sBAAsB,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAElG,IAAG,CAAC,YAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;gBACrC,sBAAsB,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAExG,IAAG,YAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EACxC,CAAC;gBACG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;gBACb,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBACpB,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;gBAE5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAEtD,CAAC;QAEL,CAAC;QAAA,OAAM,GAAG,EACV,CAAC;YACG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAGD,YAAE,CAAC,aAAa,CAAC,GAAG,SAAS,aAAa,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;;AArac,MAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0XpB,CAAC;kBA5Xe,EAAE"}
1
+ {"version":3,"file":"JS.js","sourceRoot":"","sources":["../../documentation/JS.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,iEAAyC;AAEzC,MAAqB,EAAE;IAybZ,MAAM,CAAC,MAAM,CAAC,IAAa;QAE9B,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,IAAI;QAEd,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAG,CAAC;YAEA,IAAI,sBAAsB,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE5F,IAAG,CAAC,YAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;gBACrC,sBAAsB,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAElG,IAAG,CAAC,YAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;gBACrC,sBAAsB,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAExG,IAAG,YAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EACxC,CAAC;gBACG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;gBACb,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBACpB,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;gBAE5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAEtD,CAAC;QAEL,CAAC;QAAA,OAAM,GAAG,EACV,CAAC;YACG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAGD,YAAE,CAAC,aAAa,CAAC,GAAG,SAAS,aAAa,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;;AAhec,MAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqbpB,CAAC;kBAvbe,EAAE"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,8 @@ import FileService from './files/FileService';
8
8
  import AbstractFileService from './files/AbstractFileService';
9
9
  export { FileService, AbstractFileService };
10
10
  export { default as File } from './files/File';
11
- export { default as DependecyService } from "./dependencyInjection/DependecyService";
11
+ import DependecyService from "./dependencyInjection/DependecyService";
12
+ export { DependecyService };
12
13
  export { default as IMidleware } from './midlewares/IMidleware';
13
14
  export { default as IApplicationConfiguration } from "./interfaces/IApplicationConfiguration";
14
15
  export { default as IApplication } from "./interfaces/IApplication";
@@ -35,52 +36,52 @@ export { default as FindDependencyException } from "./exceptions/FindDependencyE
35
36
  export { default as DecoratorException } from "./exceptions/DecoratorException";
36
37
  export { default as InvalidEntityException } from "./exceptions/InvalidEntityException";
37
38
  export { default as FileNotFoundException } from "./exceptions/FileNotFoundException";
38
- export declare function CreateMetada(): (target: any, property: string) => void;
39
- export declare function IgnoreInDocumentation(): (target: any, property: string) => void;
40
- export declare function ShowInDocumentation(): (target: Object, property: string) => void;
41
- export declare function ArrayElementType(typeBuilder: () => new (...args: any[]) => any): (target: any, property: string) => void;
42
- export declare function DefaultValue(value: any): (target: any, property: string) => void;
43
- export declare function UseBefore(midleware: IMidleware): (target: Function) => void;
39
+ export declare function UseBefore(midleware: IMidleware): (ctor: Function) => void;
44
40
  export declare function RunBefore(midleware: IMidleware): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
45
- export declare function UseAfter(resultHandler: IRequestResultHandler): (target: Function) => void;
41
+ export declare function UseAfter(resultHandler: IRequestResultHandler): (ctor: Function) => void;
46
42
  export declare function RunAfter(resultHandler: IRequestResultHandler): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
47
43
  export declare function Action(actionName?: String): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
48
44
  export declare function Route(route?: string): (target: Function) => void;
45
+ export declare function OmmitOnRoute(): (target: Function) => void;
46
+ export declare function OmmitActionNameOnRoute(): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
49
47
  export declare function GET(action?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
50
48
  export declare function POST(action?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
51
49
  export declare function PUT(action?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
52
50
  export declare function DELETE(action?: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
51
+ export declare function Verb(verb: HTTPVerbs): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
52
+ export declare function RequiredFromBodyArg(paramName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
53
+ export declare function OptionalFromBodyArg(paramName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
54
+ export declare function FromBody(paramName?: string, required?: boolean): (target: Object, methodName: string, parameterIndex: number) => void;
55
+ export declare function FromFiles(fileName?: string, required?: boolean): (target: Object, methodName: string, parameterIndex: number) => void;
56
+ export declare function MaxFilesSize(bytes: number): (target: Object) => void;
57
+ export declare function RequiredFromQueryArg(paramName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
58
+ export declare function OptionalFromQueryArg(paramName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
59
+ export declare function FromQuery(paramName?: string, required?: boolean): (target: Object, methodName: string, parameterIndex: number) => void;
60
+ export declare function FromPath(paramName?: string, required?: boolean): (target: Object, methodName: string, parameterIndex: number) => void;
61
+ export declare function CreateMetada(): (target: any, property: string) => void;
62
+ export declare function ArrayElementType(typeBuilder: () => new (...args: any[]) => any): (target: any, property: string) => void;
63
+ export declare function DefaultValue(value: any): (target: any, property: string) => void;
64
+ export declare function JSONProperty(jsonPropertyName: string): (target: any, property: string) => void;
65
+ export declare function IgnoreInDocumentation(): (target: any, property: string) => void;
66
+ export declare function ShowInDocumentation(): (target: Object, property: string) => void;
53
67
  export declare function ControllerHeader(header: string): (target: Object) => void;
54
68
  export declare function ActionHeader(header: string): (target: Object, method: string, propertyDescriptor: PropertyDescriptor) => void;
55
69
  export declare function Description(description: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
56
70
  export declare function RequestJson(json: string): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
57
71
  export declare function ProducesResponse(response: Parameters<typeof DocumentationDecorators.ProducesResponse>[0]): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
58
- export declare function Verb(verb: HTTPVerbs): (target: Object, methodName: string, propertyDescriptor: PropertyDescriptor) => void;
59
- export declare function Inject(): (target: Object, property: string | symbol) => void;
60
72
  import { Ctors } from './dependencyInjection/DependecyService';
61
- export { Ctors } from './dependencyInjection/DependecyService';
73
+ export declare function Inject(): (target: Object, property: string | symbol) => void;
62
74
  export declare function InjectOne<T, U>(constructorFunction: Ctors<T>, genericArgumentType?: Ctors<U>): (target: Object, property: string | symbol) => void;
63
75
  export declare function InjectGenericTypeArgument<T, U>(constructorFunction: Ctors<T>, genericArgumentType: Ctors<U>): (target: Object, property: string | symbol) => void;
64
76
  export declare function InjectForTypeArgument<T>(genericArgumentType: Ctors<T>): (target: Object, property: string | symbol) => void;
65
77
  export declare function InjectAbstract<T>(cTor: Ctors<T>): (target: Object, property: string | symbol) => void;
66
- export declare function Validate(): (target: Function) => void;
67
- export declare function ValidateObject<T>(obj: T): {
68
- Field: string;
69
- Message: string;
70
- }[];
78
+ export declare function Validate(): (ctor: Function) => void;
79
+ export declare function ValidateObject<T extends Object>(obj: T): import("./decorators/validations/ValidationDecorators").IValidationResult[];
71
80
  export declare function Required(message?: string): (target: Object, property: string) => void;
72
81
  export declare function MaxLenght(max: number, message?: string): (target: Object, property: string) => void;
73
82
  export declare function MinLenght(min: number, message?: string): (target: Object, property: string) => void;
74
83
  export declare function Max(max: number, message?: string): (target: Object, property: string) => void;
75
84
  export declare function Min(min: number, message?: string): (target: Object, property: string) => void;
76
85
  export declare function Regex(regex: RegExp, message?: string): (target: Object, property: string) => void;
77
- export declare function Rule<T>(action: (a: T) => boolean, message?: string): (target: Object, property: string) => void;
78
- export declare function RequiredFromBodyArg(paramName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
79
- export declare function OptionalFromBodyArg(paramName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
80
- export declare function FromBody(paramName?: string, required?: boolean): (target: Object, methodName: string, parameterIndex: number) => void;
81
- export declare function FromFiles(fileName?: string, required?: boolean): (target: Object, methodName: string, parameterIndex: number) => void;
82
- export declare function MaxFilesSize(bytes: number): (target: Function) => void;
83
- export declare function RequiredFromQueryArg(paramName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
84
- export declare function OptionalFromQueryArg(paramName?: string): (target: Object, methodName: string, parameterIndex: number) => void;
85
- export declare function FromQuery(paramName?: string, required?: boolean): (target: Object, methodName: string, parameterIndex: number) => void;
86
+ export declare function Rule<T extends Object, U extends keyof T>(action: (a: T[U]) => boolean, message?: string): (target: T, property: U) => void;
86
87
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,mBAAmB,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,CAAC;AAE1C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAE7F,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,UAAU,EAAE,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AAIpF,wBAAgB,SAAS,CAAC,SAAS,EAAG,UAAU,4BAG/C;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAG,UAAU,wFAG/C;AAED,wBAAgB,QAAQ,CAAC,aAAa,EAAG,qBAAqB,4BAG7D;AAED,wBAAgB,QAAQ,CAAC,aAAa,EAAG,qBAAqB,wFAG7D;AAGD,wBAAgB,MAAM,CAAC,UAAU,CAAC,EAAG,MAAM,wFAG1C;AAED,wBAAgB,KAAK,CAAC,KAAK,CAAC,EAAG,MAAM,8BAGpC;AAED,wBAAgB,YAAY,+BAG3B;AAED,wBAAgB,sBAAsB,yFAGrC;AAGD,wBAAgB,GAAG,CAAC,MAAM,CAAC,EAAG,MAAM,wFAGnC;AAED,wBAAgB,IAAI,CAAC,MAAM,CAAC,EAAG,MAAM,wFAGpC;AAED,wBAAgB,GAAG,CAAC,MAAM,CAAC,EAAG,MAAM,wFAGnC;AAED,wBAAgB,MAAM,CAAC,MAAM,CAAC,EAAG,MAAM,wFAGtC;AAGD,wBAAgB,IAAI,CAAC,IAAI,EAAG,SAAS,wFAGpC;AAID,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAG,MAAM,wEAGtD;AAGD,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAG,MAAM,wEAGtD;AAED,wBAAgB,QAAQ,CAAC,SAAS,CAAC,EAAG,MAAM,EAAE,QAAQ,CAAC,EAAG,OAAO,wEAGhE;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAG,MAAM,EAAE,QAAQ,CAAC,EAAG,OAAO,wEAGhE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAG,MAAM,4BAG1C;AAED,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAG,MAAM,wEAGvD;AAED,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAG,MAAM,wEAGvD;AAGD,wBAAgB,SAAS,CAAC,SAAS,CAAC,EAAG,MAAM,EAAE,QAAQ,CAAC,EAAG,OAAO,wEAGjE;AAGD,wBAAgB,QAAQ,CAAC,SAAS,CAAC,EAAG,MAAM,EAAE,QAAQ,CAAC,EAAG,OAAO,wEAGhE;AAUD,wBAAgB,YAAY,4CAG3B;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAG,MAAM,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAI,GAAG,2CAG9E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,2CAGtC;AAED,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,MAAM,2CAGpD;AAOD,wBAAgB,qBAAqB,4CAGpC;AAED,wBAAgB,mBAAmB,+CAGlC;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAG,MAAM,4BAG/C;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAG,MAAM,oFAG3C;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAG,MAAM,wFAG/C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAG,MAAM,wFAGxC;AAGD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,wFAGzG;AASD,OAAO,EAAC,KAAK,EAAC,MAAM,wCAAwC,CAAC;AAI7D,wBAAgB,MAAM,wDAGrB;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAG,KAAK,CAAC,CAAC,CAAC,uDAG7F;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAG,KAAK,CAAC,CAAC,CAAC,uDAI5G;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,mBAAmB,EAAG,KAAK,CAAC,CAAC,CAAC,YAE1C,MAAM,YAAa,MAAM,GAAG,MAAM,KAAI,IAAI,CAKtE;AAGD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAG,KAAK,CAAC,CAAC,CAAC,uDAGhD;AAgBD,wBAAgB,QAAQ,6BAGvB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAG,CAAC,+EAGvD;AAED,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,8CAGxC;AAGD,wBAAgB,SAAS,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGvD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGvD;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGjD;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGjD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGpD;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,oCAGxG"}