@spinajs/http 2.0.481 → 2.0.484

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 (189) hide show
  1. package/lib/cjs/config/http.d.ts +15 -7
  2. package/lib/cjs/config/http.d.ts.map +1 -1
  3. package/lib/cjs/config/http.js +28 -9
  4. package/lib/cjs/config/http.js.map +1 -1
  5. package/lib/cjs/controllers.d.ts.map +1 -1
  6. package/lib/cjs/controllers.js +48 -12
  7. package/lib/cjs/controllers.js.map +1 -1
  8. package/lib/cjs/cookie.d.ts +8 -0
  9. package/lib/cjs/cookie.d.ts.map +1 -0
  10. package/lib/cjs/cookie.js +40 -0
  11. package/lib/cjs/cookie.js.map +1 -0
  12. package/lib/cjs/decorators.d.ts +46 -4
  13. package/lib/cjs/decorators.d.ts.map +1 -1
  14. package/lib/cjs/decorators.js +127 -23
  15. package/lib/cjs/decorators.js.map +1 -1
  16. package/lib/cjs/error.js +3 -3
  17. package/lib/cjs/error.js.map +1 -1
  18. package/lib/cjs/file-middlewares/validation.d.ts +11 -0
  19. package/lib/cjs/file-middlewares/validation.d.ts.map +1 -1
  20. package/lib/cjs/file-middlewares/validation.js +52 -9
  21. package/lib/cjs/file-middlewares/validation.js.map +1 -1
  22. package/lib/cjs/file-middlewares/zip.d.ts.map +1 -1
  23. package/lib/cjs/file-middlewares/zip.js +6 -1
  24. package/lib/cjs/file-middlewares/zip.js.map +1 -1
  25. package/lib/cjs/index.d.ts +1 -0
  26. package/lib/cjs/index.d.ts.map +1 -1
  27. package/lib/cjs/index.js +1 -0
  28. package/lib/cjs/index.js.map +1 -1
  29. package/lib/cjs/interfaces.d.ts +95 -1
  30. package/lib/cjs/interfaces.d.ts.map +1 -1
  31. package/lib/cjs/interfaces.js +100 -4
  32. package/lib/cjs/interfaces.js.map +1 -1
  33. package/lib/cjs/middlewares/PerfRollup.d.ts +19 -0
  34. package/lib/cjs/middlewares/PerfRollup.d.ts.map +1 -0
  35. package/lib/cjs/middlewares/PerfRollup.js +61 -0
  36. package/lib/cjs/middlewares/PerfRollup.js.map +1 -0
  37. package/lib/cjs/middlewares/RequestId.d.ts +1 -2
  38. package/lib/cjs/middlewares/RequestId.d.ts.map +1 -1
  39. package/lib/cjs/middlewares/RequestId.js +19 -5
  40. package/lib/cjs/middlewares/RequestId.js.map +1 -1
  41. package/lib/cjs/middlewares/ResponseTime.d.ts +1 -2
  42. package/lib/cjs/middlewares/ResponseTime.d.ts.map +1 -1
  43. package/lib/cjs/middlewares/ResponseTime.js +29 -11
  44. package/lib/cjs/middlewares/ResponseTime.js.map +1 -1
  45. package/lib/cjs/response-methods/file.d.ts.map +1 -1
  46. package/lib/cjs/response-methods/file.js +47 -21
  47. package/lib/cjs/response-methods/file.js.map +1 -1
  48. package/lib/cjs/response-methods/index.d.ts +3 -0
  49. package/lib/cjs/response-methods/index.d.ts.map +1 -1
  50. package/lib/cjs/response-methods/index.js +3 -0
  51. package/lib/cjs/response-methods/index.js.map +1 -1
  52. package/lib/cjs/response-methods/redirect.d.ts +11 -4
  53. package/lib/cjs/response-methods/redirect.d.ts.map +1 -1
  54. package/lib/cjs/response-methods/redirect.js +14 -4
  55. package/lib/cjs/response-methods/redirect.js.map +1 -1
  56. package/lib/cjs/response-methods/xml.d.ts +17 -0
  57. package/lib/cjs/response-methods/xml.d.ts.map +1 -0
  58. package/lib/cjs/response-methods/xml.js +26 -0
  59. package/lib/cjs/response-methods/xml.js.map +1 -0
  60. package/lib/cjs/responses.d.ts +10 -0
  61. package/lib/cjs/responses.d.ts.map +1 -1
  62. package/lib/cjs/responses.js +94 -35
  63. package/lib/cjs/responses.js.map +1 -1
  64. package/lib/cjs/route-args/FromBody.d.ts.map +1 -1
  65. package/lib/cjs/route-args/FromBody.js +6 -1
  66. package/lib/cjs/route-args/FromBody.js.map +1 -1
  67. package/lib/cjs/route-args/FromForm.d.ts +1 -1
  68. package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
  69. package/lib/cjs/route-args/FromForm.js +116 -37
  70. package/lib/cjs/route-args/FromForm.js.map +1 -1
  71. package/lib/cjs/route-args/FromXml.d.ts +17 -0
  72. package/lib/cjs/route-args/FromXml.d.ts.map +1 -0
  73. package/lib/cjs/route-args/FromXml.js +55 -0
  74. package/lib/cjs/route-args/FromXml.js.map +1 -0
  75. package/lib/cjs/route-args/RequestContext.d.ts +43 -0
  76. package/lib/cjs/route-args/RequestContext.d.ts.map +1 -0
  77. package/lib/cjs/route-args/RequestContext.js +94 -0
  78. package/lib/cjs/route-args/RequestContext.js.map +1 -0
  79. package/lib/cjs/route-args/RequestFields.d.ts +1 -1
  80. package/lib/cjs/route-args/RequestFields.d.ts.map +1 -1
  81. package/lib/cjs/route-args/RequestFields.js +1 -0
  82. package/lib/cjs/route-args/RequestFields.js.map +1 -1
  83. package/lib/cjs/route-args/RouteArgs.d.ts.map +1 -1
  84. package/lib/cjs/route-args/RouteArgs.js +50 -10
  85. package/lib/cjs/route-args/RouteArgs.js.map +1 -1
  86. package/lib/cjs/route-args/index.d.ts +2 -0
  87. package/lib/cjs/route-args/index.d.ts.map +1 -1
  88. package/lib/cjs/route-args/index.js +2 -0
  89. package/lib/cjs/route-args/index.js.map +1 -1
  90. package/lib/cjs/server.d.ts +36 -3
  91. package/lib/cjs/server.d.ts.map +1 -1
  92. package/lib/cjs/server.js +131 -42
  93. package/lib/cjs/server.js.map +1 -1
  94. package/lib/mjs/config/http.d.ts +15 -7
  95. package/lib/mjs/config/http.d.ts.map +1 -1
  96. package/lib/mjs/config/http.js +28 -9
  97. package/lib/mjs/config/http.js.map +1 -1
  98. package/lib/mjs/controllers.d.ts.map +1 -1
  99. package/lib/mjs/controllers.js +46 -10
  100. package/lib/mjs/controllers.js.map +1 -1
  101. package/lib/mjs/cookie.d.ts +8 -0
  102. package/lib/mjs/cookie.d.ts.map +1 -0
  103. package/lib/mjs/cookie.js +32 -0
  104. package/lib/mjs/cookie.js.map +1 -0
  105. package/lib/mjs/decorators.d.ts +46 -4
  106. package/lib/mjs/decorators.d.ts.map +1 -1
  107. package/lib/mjs/decorators.js +121 -24
  108. package/lib/mjs/decorators.js.map +1 -1
  109. package/lib/mjs/error.js +3 -3
  110. package/lib/mjs/error.js.map +1 -1
  111. package/lib/mjs/file-middlewares/validation.d.ts +11 -0
  112. package/lib/mjs/file-middlewares/validation.d.ts.map +1 -1
  113. package/lib/mjs/file-middlewares/validation.js +53 -10
  114. package/lib/mjs/file-middlewares/validation.js.map +1 -1
  115. package/lib/mjs/file-middlewares/zip.d.ts.map +1 -1
  116. package/lib/mjs/file-middlewares/zip.js +6 -1
  117. package/lib/mjs/file-middlewares/zip.js.map +1 -1
  118. package/lib/mjs/index.d.ts +1 -0
  119. package/lib/mjs/index.d.ts.map +1 -1
  120. package/lib/mjs/index.js +1 -0
  121. package/lib/mjs/index.js.map +1 -1
  122. package/lib/mjs/interfaces.d.ts +95 -1
  123. package/lib/mjs/interfaces.d.ts.map +1 -1
  124. package/lib/mjs/interfaces.js +65 -2
  125. package/lib/mjs/interfaces.js.map +1 -1
  126. package/lib/mjs/middlewares/PerfRollup.d.ts +19 -0
  127. package/lib/mjs/middlewares/PerfRollup.d.ts.map +1 -0
  128. package/lib/mjs/middlewares/PerfRollup.js +58 -0
  129. package/lib/mjs/middlewares/PerfRollup.js.map +1 -0
  130. package/lib/mjs/middlewares/RequestId.d.ts +1 -2
  131. package/lib/mjs/middlewares/RequestId.d.ts.map +1 -1
  132. package/lib/mjs/middlewares/RequestId.js +19 -5
  133. package/lib/mjs/middlewares/RequestId.js.map +1 -1
  134. package/lib/mjs/middlewares/ResponseTime.d.ts +1 -2
  135. package/lib/mjs/middlewares/ResponseTime.d.ts.map +1 -1
  136. package/lib/mjs/middlewares/ResponseTime.js +29 -11
  137. package/lib/mjs/middlewares/ResponseTime.js.map +1 -1
  138. package/lib/mjs/response-methods/file.d.ts.map +1 -1
  139. package/lib/mjs/response-methods/file.js +41 -15
  140. package/lib/mjs/response-methods/file.js.map +1 -1
  141. package/lib/mjs/response-methods/index.d.ts +3 -0
  142. package/lib/mjs/response-methods/index.d.ts.map +1 -1
  143. package/lib/mjs/response-methods/index.js +3 -0
  144. package/lib/mjs/response-methods/index.js.map +1 -1
  145. package/lib/mjs/response-methods/redirect.d.ts +11 -4
  146. package/lib/mjs/response-methods/redirect.d.ts.map +1 -1
  147. package/lib/mjs/response-methods/redirect.js +15 -5
  148. package/lib/mjs/response-methods/redirect.js.map +1 -1
  149. package/lib/mjs/response-methods/xml.d.ts +17 -0
  150. package/lib/mjs/response-methods/xml.d.ts.map +1 -0
  151. package/lib/mjs/response-methods/xml.js +22 -0
  152. package/lib/mjs/response-methods/xml.js.map +1 -0
  153. package/lib/mjs/responses.d.ts +10 -0
  154. package/lib/mjs/responses.d.ts.map +1 -1
  155. package/lib/mjs/responses.js +93 -35
  156. package/lib/mjs/responses.js.map +1 -1
  157. package/lib/mjs/route-args/FromBody.d.ts.map +1 -1
  158. package/lib/mjs/route-args/FromBody.js +6 -1
  159. package/lib/mjs/route-args/FromBody.js.map +1 -1
  160. package/lib/mjs/route-args/FromForm.d.ts +1 -1
  161. package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
  162. package/lib/mjs/route-args/FromForm.js +114 -38
  163. package/lib/mjs/route-args/FromForm.js.map +1 -1
  164. package/lib/mjs/route-args/FromXml.d.ts +17 -0
  165. package/lib/mjs/route-args/FromXml.d.ts.map +1 -0
  166. package/lib/mjs/route-args/FromXml.js +52 -0
  167. package/lib/mjs/route-args/FromXml.js.map +1 -0
  168. package/lib/mjs/route-args/RequestContext.d.ts +43 -0
  169. package/lib/mjs/route-args/RequestContext.d.ts.map +1 -0
  170. package/lib/mjs/route-args/RequestContext.js +91 -0
  171. package/lib/mjs/route-args/RequestContext.js.map +1 -0
  172. package/lib/mjs/route-args/RequestFields.d.ts +1 -1
  173. package/lib/mjs/route-args/RequestFields.d.ts.map +1 -1
  174. package/lib/mjs/route-args/RequestFields.js +1 -0
  175. package/lib/mjs/route-args/RequestFields.js.map +1 -1
  176. package/lib/mjs/route-args/RouteArgs.d.ts.map +1 -1
  177. package/lib/mjs/route-args/RouteArgs.js +51 -11
  178. package/lib/mjs/route-args/RouteArgs.js.map +1 -1
  179. package/lib/mjs/route-args/index.d.ts +2 -0
  180. package/lib/mjs/route-args/index.d.ts.map +1 -1
  181. package/lib/mjs/route-args/index.js +2 -0
  182. package/lib/mjs/route-args/index.js.map +1 -1
  183. package/lib/mjs/server.d.ts +36 -3
  184. package/lib/mjs/server.d.ts.map +1 -1
  185. package/lib/mjs/server.js +132 -43
  186. package/lib/mjs/server.js.map +1 -1
  187. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  188. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  189. package/package.json +17 -12
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,SAAS,GAAG,CAAC,GAAG,IAAe;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAc;IAC5B,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO;QACL,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAEjE,4CAA4C;QAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAGD,MAAM,IAAI,GAAG;IACX,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;SACrB;KACF;IACD,EAAE,EAAE;QACF,SAAS,EAAE;YACT,6CAA6C;YAC7C,4CAA4C;YAC5C;gBACE,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,kCAAkC;gBACxC,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE;aACtB;YACD;gBACE,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,gCAAgC;gBACtC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;aACpC;YACD;gBACE,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,yBAAyB;gBAE/B,iDAAiD;gBACjD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,iBAAiB,CAAC;aAC9D;SACF;KACF;IAED,IAAI,EAAE;QACJ;;;;;;;WAOG;QACH,MAAM,EAAE;YACN,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QAED;;WAEG;QACH,MAAM,EAAE;YACN,WAAW,EAAE,CAAC,oBAAoB,CAAC;SAEpC;QAED,GAAG,EAAE;YACH,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;SACT;QACD,WAAW,EAAE;YACX,KAAK,EAAE;gBACL,2CAA2C;gBAC3C,MAAM,EAAE,EAAE;aACX;SACF;QACD,IAAI,EAAE,IAAI;QACV,WAAW,EAAE;YACX,MAAM,EAAE;YACR,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,KAAK;gBACZ,gEAAgE;gBAChE,8DAA8D;gBAC9D,MAAM,EAAE,CAAC,GAAQ,EAAE,IAAS,EAAE,GAAW,EAAE,EAAE;oBAC3C,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;gBACpB,CAAC;aACF,CAAC;YACF,OAAO,CAAC,UAAU,CAAC;gBACjB,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,wEAAwE;YACxE,oEAAoE;YACpE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,CAAC;gBAC1D,KAAK,EAAE,KAAK;aACb,CAAC;YACF,sBAAsB;YACtB,WAAW,EAAE;SACd;QAED;;WAEG;QACH,MAAM,EAAE;YACN;gBACE;;mBAEG;gBACH,KAAK,EAAE,UAAU;gBAEjB;;mBAEG;gBACH,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;aACpB;SACF;QAED;;WAEG;QACH,aAAa,EAAE,CAAC,GAAG,CAAC;QAEpB;;;WAGG;QACH,aAAa,EAAE;;;;;;;;;;;;;4BAaS;KACzB;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkB,SAAS,EAAa,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpG,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAiC,WAAW,EAAE,qBAAqB,EAAgG,0BAA0B,EAAW,MAAM,iBAAiB,CAAC;AAGvO,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAMpD,8BAAsB,cAAe,SAAQ,YAAa,YAAW,WAAW;IAC9E;;OAEG;IACH,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IAEtB,SAAS,CAAC,OAAO,EAAG,OAAO,CAAC,MAAM,CAAC;IAGnC,SAAS,CAAC,UAAU,EAAG,UAAU,CAAC;IAGlC,SAAS,CAAC,UAAU,EAAG,aAAa,CAAC;IAGrC,SAAS,CAAC,IAAI,EAAG,GAAG,CAAC;IAGrB,SAAS,CAAC,mBAAmB,EAAG,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAG9E,SAAS,CAAC,IAAI,EAAG,aAAa,CAAC;IAI/B;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAAC,MAAM,CAElC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,qBAAqB,CAE7C;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAEY,OAAO;CAqNrB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C;;;;;OAKG;IAEI,WAAW,EAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAG/D,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAGpB,SAAS,CAAC,SAAS,EAAG,UAAU,CAAC;IAGjC,SAAS,CAAC,MAAM,EAAG,UAAU,CAAC;IAG9B,SAAS,CAAC,gBAAgB,EAAG,sBAAsB,CAAC;IAEpD;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,EAAG,OAAO,CAAC,MAAM,CAAC;IAE7C;;;OAGG;IACH,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAa;IAElE;;;;;;;;;;;;OAYG;IACU,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB/C,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IA6C9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAmEtC"}
1
+ {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkB,SAAS,EAAa,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpG,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAiC,WAAW,EAAE,qBAAqB,EAAgG,0BAA0B,EAAW,MAAM,iBAAiB,CAAC;AAGvO,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAMpD,8BAAsB,cAAe,SAAQ,YAAa,YAAW,WAAW;IAC9E;;OAEG;IACH,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IAEtB,SAAS,CAAC,OAAO,EAAG,OAAO,CAAC,MAAM,CAAC;IAGnC,SAAS,CAAC,UAAU,EAAG,UAAU,CAAC;IAGlC,SAAS,CAAC,UAAU,EAAG,aAAa,CAAC;IAGrC,SAAS,CAAC,IAAI,EAAG,GAAG,CAAC;IAGrB,SAAS,CAAC,mBAAmB,EAAG,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAG9E,SAAS,CAAC,IAAI,EAAG,aAAa,CAAC;IAI/B;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAAC,MAAM,CAElC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,qBAAqB,CAE7C;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAEY,OAAO;CAiOrB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C;;;;;OAKG;IAEI,WAAW,EAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAG/D,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAGpB,SAAS,CAAC,SAAS,EAAG,UAAU,CAAC;IAGjC,SAAS,CAAC,MAAM,EAAG,UAAU,CAAC;IAG9B,SAAS,CAAC,gBAAgB,EAAG,sBAAsB,CAAC;IAEpD;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,EAAG,OAAO,CAAC,MAAM,CAAC;IAE7C;;;OAGG;IACH,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAa;IAElE;;;;;;;;;;;;OAYG;IACU,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB/C,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IA6C9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA8FtC"}
@@ -8,7 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { AsyncLocalStorage } from 'node:async_hooks';
11
- import { isPromise } from 'node:util/types';
11
+ import { isPromise } from '@spinajs/util';
12
12
  import Express from 'express';
13
13
  import _ from 'lodash';
14
14
  import { AsyncService, Autoinject, DI, ClassInfo, Container } from '@spinajs/di';
@@ -20,7 +20,7 @@ import { Configuration } from '@spinajs/configuration';
20
20
  import { HttpServer } from './server.js';
21
21
  import { Response, BasePolicy } from './interfaces.js';
22
22
  import { CONTROLLED_DESCRIPTOR_SYMBOL } from './decorators.js';
23
- import { tryGetHash } from '@spinajs/util';
23
+ import { tryGetHash, uniqueBy } from '@spinajs/util';
24
24
  import { DefaultControllerCache } from './cache.js';
25
25
  import { __handle_response__ } from './response.js';
26
26
  import { __handle_error__ } from './error.js';
@@ -104,12 +104,19 @@ export class BaseController extends AsyncService {
104
104
  // If at least ONE policy returns no error allow route to execute
105
105
  // It allows to use multiple access to resource eg. token access & session
106
106
  handlers.push((req, _res, next) => {
107
- if (policies.length === 0) {
107
+ // Only policies enabled for this concrete route participate in the gate.
108
+ // A route whose policies are ALL disabled has no active authorization
109
+ // check, so it is allowed through — same semantics as having no policies
110
+ // at all. Computing this up front is what prevents the request from
111
+ // hanging: `Promise.allSettled([])` resolves to `[]`, which matches
112
+ // neither the fulfilled nor the rejected branch below, so `next` would
113
+ // never be called.
114
+ const enabledPolicies = policies.filter((p) => p.isEnabled(route, this));
115
+ if (enabledPolicies.length === 0) {
108
116
  next();
109
117
  return;
110
118
  }
111
- Promise.allSettled(policies
112
- .filter((p) => p.isEnabled(route, this))
119
+ Promise.allSettled(enabledPolicies
113
120
  .map((p) => {
114
121
  return p
115
122
  .execute(req, route, this)
@@ -127,11 +134,16 @@ export class BaseController extends AsyncService {
127
134
  next();
128
135
  return;
129
136
  }
137
+ // Every policy rejected — forward the first failure to the express
138
+ // error handler. Use next(err) directly (not `throw next(...)`,
139
+ // which would reject this .then() with `undefined` as an unhandled
140
+ // rejection while the error was already forwarded).
130
141
  const failed = results.find(r => r.status === 'rejected');
131
- if (failed && "reason" in failed) {
132
- throw next(failed.reason);
133
- }
134
- });
142
+ next(failed ? failed.reason : new UnexpectedServerError('Policy evaluation produced no result'));
143
+ })
144
+ // Guard against unexpected throws in the settle/handler chain so the
145
+ // request can never stall without a response.
146
+ .catch((err) => next(err));
135
147
  });
136
148
  handlers.push(...enabledMiddlewares.map((m) => _invokeAction(m, m.onBefore.bind(m), route)));
137
149
  const acionWrapper = async (req, res, next) => {
@@ -349,7 +361,7 @@ export class Controllers extends AsyncService {
349
361
  // it. Without this every controller would end up tagged `<di>`, breaking
350
362
  // ControllersCache.getCache() which expects a real on-disk source file.
351
363
  const fileByType = new Map();
352
- for (const ci of _.uniqBy(listed, c => c.name)) {
364
+ for (const ci of uniqueBy(listed, c => c.name)) {
353
365
  if (!ci.type) {
354
366
  this.Log.warn(`Controller ${ci.name} in file ${ci.file} has no type. Make sure it is decorated with @injectable and has a public constructor without required parameters`);
355
367
  continue;
@@ -360,6 +372,30 @@ export class Controllers extends AsyncService {
360
372
  this.Log.trace(`Controller ${ci.name} from ${ci.file} registered as BaseController`);
361
373
  }
362
374
  const instances = (await DI.resolve(Array.ofType(BaseController)));
375
+ // Report on scanned controllers that someone else derives from. Both
376
+ // outcomes are otherwise invisible: an override leaves no trace at all, and
377
+ // an accidental shadow leaves two controllers answering the same paths.
378
+ const mounted = new Set(instances.map((i) => i.constructor));
379
+ for (const [type, ci] of fileByType) {
380
+ // Something that mounted derives from this scanned controller. Keying off
381
+ // the descendant rather than off `mounted` is what lets both cases be
382
+ // seen — in the not-registered case the scanned type mounts too.
383
+ const descendant = instances.find((i) => i.constructor !== type && i instanceof type);
384
+ if (!descendant) {
385
+ continue;
386
+ }
387
+ if (!mounted.has(type)) {
388
+ // Scanned, yet absent from the collection — DI chained its registration
389
+ // to the subclass. Say so rather than dropping it silently.
390
+ this.Log.info(`Controller ${ci.name} overridden by ${descendant.constructor.name}`);
391
+ }
392
+ else {
393
+ // Subclassed but never registered as an override, so BOTH mounted and
394
+ // Express route order picks the winner. Warn rather than throw, since
395
+ // legitimate shared bases exist ( eg. abstract Crud in orm-api ).
396
+ this.Log.warn(`Controller ${descendant.constructor.name} extends ${ci.name} but was not registered as an override. Call DI.register(${descendant.constructor.name}).as(${ci.name}) to replace it, otherwise both mount and route order decides which one answers.`);
397
+ }
398
+ }
363
399
  for (const instance of instances) {
364
400
  const type = instance.constructor;
365
401
  const originalCi = fileByType.get(type);
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type express from 'express';
2
+ export declare const configuredCookieParser: express.RequestHandler;
3
+ /**
4
+ * Drops the memoised parser. Only needed where the configured secret can change
5
+ * within one process, ie. tests.
6
+ */
7
+ export declare function resetCookieParser(): void;
8
+ //# sourceMappingURL=cookie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../src/cookie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAoBnC,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,cAO5C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -0,0 +1,32 @@
1
+ import cookieParser from 'cookie-parser';
2
+ import { DI } from '@spinajs/di';
3
+ import { Configuration } from '@spinajs/configuration';
4
+ /**
5
+ * cookie-parser bound to the configured `http.cookie.secret`.
6
+ *
7
+ * It MUST be constructed with the secret: that is what puts `req.secret` in place,
8
+ * and without it express throws `cookieParser("secret") required for signed cookies`
9
+ * from any `res.cookie(..., { signed: true })`. Logging in sets a signed `ssid`
10
+ * cookie, so a secretless parser breaks authentication outright.
11
+ *
12
+ * The secret is read on FIRST REQUEST rather than when this module is evaluated,
13
+ * because the config file that installs this middleware is itself loaded before the
14
+ * Configuration service exists. Capturing the value at module scope would freeze the
15
+ * shipped default and silently ignore whatever the app configured.
16
+ */
17
+ let parser;
18
+ export const configuredCookieParser = (req, res, next) => {
19
+ if (!parser) {
20
+ const secret = DI.get(Configuration)?.get('http.cookie.secret');
21
+ parser = cookieParser(secret);
22
+ }
23
+ return parser(req, res, next);
24
+ };
25
+ /**
26
+ * Drops the memoised parser. Only needed where the configured secret can change
27
+ * within one process, ie. tests.
28
+ */
29
+ export function resetCookieParser() {
30
+ parser = undefined;
31
+ }
32
+ //# sourceMappingURL=cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/cookie.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,IAAI,MAA0C,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,CAAS,oBAAoB,CAAC,CAAC;QACxE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,SAAS,CAAC;AACrB,CAAC"}
@@ -63,19 +63,25 @@ export declare function ParamField(): (target: any, propertyKey?: string | symbo
63
63
  *
64
64
  * @param schema - parameter json schema for optional validation
65
65
  */
66
- export declare function Query(schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
66
+ export declare function Query(schema?: any, options?: {
67
+ required?: boolean;
68
+ }): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
67
69
  /**
68
70
  * Route parameter taken from message body (POST)
69
71
  *
70
72
  * @param schema - parameter json schema for optional validation
71
73
  */
72
- export declare function Body(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
74
+ export declare function Body(options?: {
75
+ required?: boolean;
76
+ }): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
73
77
  /**
74
78
  * Route parameter taken from url parameters eg. route/:id
75
79
  *
76
80
  * @param schema - parameter json schema for optional validation
77
81
  */
78
- export declare function Param(schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
82
+ export declare function Param(schema?: any, options?: {
83
+ required?: boolean;
84
+ }): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
79
85
  /**
80
86
  * Gets parameter from request header. If not keyname is provided
81
87
  * variable name is used as header key name
@@ -84,7 +90,9 @@ export declare function Param(schema?: any): (target: any, propertyKey?: string
84
90
  * @param schema - schema for validation ( optional )
85
91
  * @returns
86
92
  */
87
- export declare function Header(keyName?: string, schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
93
+ export declare function Header(keyName?: string, schema?: any, options?: {
94
+ required?: boolean;
95
+ }): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
88
96
  /**
89
97
  *
90
98
  * Parameter as file
@@ -92,6 +100,40 @@ export declare function Header(keyName?: string, schema?: any): (target: any, pr
92
100
  * @param options - upload options
93
101
  */
94
102
  export declare function File(options?: IUploadOptions): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
103
+ /**
104
+ * Multiple uploaded files for a form field, always returned as an array
105
+ * (even when a single file is sent). Semantic alias over {@link File}.
106
+ *
107
+ * @param options - upload options
108
+ */
109
+ export declare function Files(options?: IUploadOptions): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
110
+ /**
111
+ * Client IP address (as resolved by the RealIp middleware).
112
+ */
113
+ export declare function Ip(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
114
+ /**
115
+ * Per-request correlation id (matches the `x-request-id` response header).
116
+ */
117
+ export declare function RequestId(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
118
+ /**
119
+ * `User-Agent` request header.
120
+ */
121
+ export declare function UserAgent(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
122
+ /**
123
+ * `Referer` (or `Referrer`) request header.
124
+ */
125
+ export declare function Referer(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
126
+ /**
127
+ * Raw request body Buffer, for webhook signature verification. Captured for
128
+ * JSON requests via the express.json `verify` hook.
129
+ */
130
+ export declare function RawBody(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
131
+ /**
132
+ * Parses an XML request body into an object.
133
+ *
134
+ * @param options - fast-xml-parser options (optional)
135
+ */
136
+ export declare function FromXml(options?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
95
137
  /**
96
138
  * Data taken from cvs file that is uploaded. Actions receives parsed data
97
139
  *
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DI } from '@spinajs/di';
1
+ import { DI, getInheritedDescriptor } from '@spinajs/di';
2
2
  import { RouteType, ParameterType, UuidVersion, HTTP_STATUS_CODE } from './interfaces.js';
3
3
  import { ROUTE_ARG_SCHEMA } from './schemas/RouteArgsSchemas.js';
4
4
  import { toArray } from '@spinajs/util';
@@ -7,27 +7,72 @@ import { BadRequest } from '@spinajs/exceptions';
7
7
  export const CONTROLLED_DESCRIPTOR_SYMBOL = Symbol('CONTROLLER_SYMBOL');
8
8
  function Controller(callback) {
9
9
  return (target, propertyKey, indexOrDescriptor) => {
10
- let metadata = Reflect.getMetadata(CONTROLLED_DESCRIPTOR_SYMBOL, target.prototype || target);
11
- if (!metadata) {
12
- metadata = {
13
- BasePath: null,
14
- Middlewares: [],
15
- Policies: [],
16
- Routes: new Map(),
17
- // Capture the controller's source file from the V8 stack the first
18
- // time a route decorator runs on this class. The first frame outside
19
- // this module / common transpiler shims is the controller source
20
- // exactly what ControllersCache needs when the controller was added
21
- // through DI rather than the file scan.
22
- SourceFile: captureControllerSourceFile(),
23
- };
24
- Reflect.defineMetadata(CONTROLLED_DESCRIPTOR_SYMBOL, metadata, target.prototype || target);
10
+ const controller = target.prototype || target;
11
+ // True only for the very first decorator that touches THIS class, since
12
+ // getInheritedDescriptor stores own metadata as soon as it is called.
13
+ const isFirstDecorator = !Reflect.getOwnMetadata(CONTROLLED_DESCRIPTOR_SYMBOL, controller);
14
+ // Own metadata per class. Reflect.getMetadata walks the prototype chain, so
15
+ // a controller subclass used to find - and mutate - its parent's descriptor,
16
+ // writing its routes into the package's controller. getInheritedDescriptor
17
+ // hands back a copy pre-populated with everything inherited, so overriding
18
+ // one route leaves the rest of the parent's routes intact.
19
+ const metadata = getInheritedDescriptor(controller, CONTROLLED_DESCRIPTOR_SYMBOL, createDefaultControllerDescriptor);
20
+ if (isFirstDecorator) {
21
+ // SourceFile is the one field that must NOT be inherited: a subclass is
22
+ // declared in its own file and ControllersCache.getCache() parses that
23
+ // file looking for the class BY NAME, so an inherited path would send it
24
+ // to the package's file where the subclass does not exist. The collapse
25
+ // otherwise keeps the ancestor's value, so stamp the class's own file
26
+ // here - this is also the only frame from which the V8 stack still points
27
+ // at the controller source rather than at the collapse machinery.
28
+ metadata.SourceFile = captureControllerSourceFile();
29
+ detachInheritedRoutes(metadata);
25
30
  }
26
31
  if (callback) {
27
32
  callback(metadata, target, propertyKey, indexOrDescriptor);
28
33
  }
29
34
  };
30
35
  }
36
+ /**
37
+ * Give this class its own copy of every route it inherited.
38
+ *
39
+ * The collapse rebuilds the Routes Map but copies its entries by reference, and
40
+ * `Route()` hands whatever entry it finds under a member name straight to the
41
+ * route decorators - all of which mutate it in place ( eg. `route.Path = path`,
42
+ * `route.Policies.push(...)` ). Without this, a subclass overriding a single
43
+ * route would rewrite the parent's path, policies and parameters: the same
44
+ * cross-class corruption the own-descriptor change removes one level up, on the
45
+ * most likely override shape of all ( eg. redeclare one route with a new path ).
46
+ *
47
+ * Only the members that are mutated in place need copying. `Parameters` values
48
+ * are patched field by field ( eg. `p.Type = type` in `Parameter()`, and
49
+ * `rParam.Name` filled from the parsed source when the controller is
50
+ * registered ), so the IRouteParameter objects are copied as well. `Options`
51
+ * and `Schema` are only ever assigned wholesale, so sharing those references
52
+ * with the parent is safe.
53
+ */
54
+ function detachInheritedRoutes(descriptor) {
55
+ for (const [member, route] of descriptor.Routes) {
56
+ descriptor.Routes.set(member, {
57
+ ...route,
58
+ Policies: [...route.Policies],
59
+ Middlewares: [...route.Middlewares],
60
+ Parameters: new Map([...route.Parameters].map(([index, parameter]) => [index, { ...parameter }])),
61
+ });
62
+ }
63
+ }
64
+ function createDefaultControllerDescriptor() {
65
+ return {
66
+ BasePath: null,
67
+ Middlewares: [],
68
+ Policies: [],
69
+ Routes: new Map(),
70
+ // Stamped by Controller() right after the collapse, not here - see there
71
+ // for why it must be the class's own file. ControllersCache needs it when
72
+ // the controller was added through DI rather than the file scan.
73
+ SourceFile: undefined,
74
+ };
75
+ }
31
76
  /**
32
77
  * Walk the current V8 stack and return the absolute path of the first frame
33
78
  * that is NOT inside this decorators module or a common transpiler helper.
@@ -43,6 +88,10 @@ function captureControllerSourceFile() {
43
88
  const skipMarkers = [
44
89
  'decorators.ts',
45
90
  'decorators.js',
91
+ // The descriptor collapse machinery in @spinajs/di sits between this module
92
+ // and the controller source whenever it calls back into us, so its frames
93
+ // must never be mistaken for the controller's file.
94
+ 'descriptor-inheritance',
46
95
  'tslib',
47
96
  'reflect-metadata',
48
97
  '__decorate',
@@ -300,24 +349,24 @@ export function ParamField() {
300
349
  *
301
350
  * @param schema - parameter json schema for optional validation
302
351
  */
303
- export function Query(schema) {
304
- return Route(Parameter(ParameterType.FromQuery, schema));
352
+ export function Query(schema, options) {
353
+ return Route(Parameter(ParameterType.FromQuery, schema, options));
305
354
  }
306
355
  /**
307
356
  * Route parameter taken from message body (POST)
308
357
  *
309
358
  * @param schema - parameter json schema for optional validation
310
359
  */
311
- export function Body() {
312
- return Route(Parameter(ParameterType.FromBody, null));
360
+ export function Body(options) {
361
+ return Route(Parameter(ParameterType.FromBody, null, options));
313
362
  }
314
363
  /**
315
364
  * Route parameter taken from url parameters eg. route/:id
316
365
  *
317
366
  * @param schema - parameter json schema for optional validation
318
367
  */
319
- export function Param(schema) {
320
- return Route(Parameter(ParameterType.FromParams, schema));
368
+ export function Param(schema, options) {
369
+ return Route(Parameter(ParameterType.FromParams, schema, options));
321
370
  }
322
371
  /**
323
372
  * Gets parameter from request header. If not keyname is provided
@@ -327,8 +376,8 @@ export function Param(schema) {
327
376
  * @param schema - schema for validation ( optional )
328
377
  * @returns
329
378
  */
330
- export function Header(keyName, schema) {
331
- return Route(Parameter(ParameterType.FromHeader, schema, { key: keyName }));
379
+ export function Header(keyName, schema, options) {
380
+ return Route(Parameter(ParameterType.FromHeader, schema, { key: keyName, ...options }));
332
381
  }
333
382
  /**
334
383
  *
@@ -339,6 +388,54 @@ export function Header(keyName, schema) {
339
388
  export function File(options) {
340
389
  return Route(Parameter(ParameterType.FromFile, null, options));
341
390
  }
391
+ /**
392
+ * Multiple uploaded files for a form field, always returned as an array
393
+ * (even when a single file is sent). Semantic alias over {@link File}.
394
+ *
395
+ * @param options - upload options
396
+ */
397
+ export function Files(options) {
398
+ return Route(Parameter(ParameterType.FromFile, null, { ...(options ?? {}), asArray: true }));
399
+ }
400
+ /**
401
+ * Client IP address (as resolved by the RealIp middleware).
402
+ */
403
+ export function Ip() {
404
+ return Route(Parameter(ParameterType.Ip, null));
405
+ }
406
+ /**
407
+ * Per-request correlation id (matches the `x-request-id` response header).
408
+ */
409
+ export function RequestId() {
410
+ return Route(Parameter(ParameterType.RequestId, null));
411
+ }
412
+ /**
413
+ * `User-Agent` request header.
414
+ */
415
+ export function UserAgent() {
416
+ return Route(Parameter(ParameterType.UserAgent, null));
417
+ }
418
+ /**
419
+ * `Referer` (or `Referrer`) request header.
420
+ */
421
+ export function Referer() {
422
+ return Route(Parameter(ParameterType.Referer, null));
423
+ }
424
+ /**
425
+ * Raw request body Buffer, for webhook signature verification. Captured for
426
+ * JSON requests via the express.json `verify` hook.
427
+ */
428
+ export function RawBody() {
429
+ return Route(Parameter(ParameterType.RawBody, null));
430
+ }
431
+ /**
432
+ * Parses an XML request body into an object.
433
+ *
434
+ * @param options - fast-xml-parser options (optional)
435
+ */
436
+ export function FromXml(options) {
437
+ return Route(Parameter(ParameterType.FromXml, null, options));
438
+ }
342
439
  /**
343
440
  * Data taken from cvs file that is uploaded. Actions receives parsed data
344
441
  *
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,EAAE,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,SAAS,EAAmB,aAAa,EAA8E,WAAW,EAAgD,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAErO,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAExE,SAAS,UAAU,CAAC,QAAgJ;IAClK,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,iBAA+C,EAAE,EAAE;QACrG,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC;QAE9C,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,4BAA4B,EAAE,UAAU,CAAC,CAAC;QAE3F,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,2EAA2E;QAC3E,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,sBAAsB,CAAwB,UAAU,EAAE,4BAA4B,EAAE,iCAAiC,CAAC,CAAC;QAE5I,IAAI,gBAAgB,EAAE,CAAC;YACrB,wEAAwE;YACxE,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,sEAAsE;YACtE,0EAA0E;YAC1E,kEAAkE;YAClE,QAAQ,CAAC,UAAU,GAAG,2BAA2B,EAAE,CAAC;YACpD,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAY,EAAE,iBAAkB,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,qBAAqB,CAAC,UAAiC;IAC9D,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAChD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE;YAC5B,GAAG,KAAK;YACR,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC7B,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;YACnC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;SAClG,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC;IACxC,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,IAAI,GAAG,EAAkB;QACjC,yEAAyE;QACzE,0EAA0E;QAC1E,iEAAiE;QACjE,UAAU,EAAE,SAAS;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,2BAA2B;IAClC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,WAAW,GAAG;QAClB,eAAe;QACf,eAAe;QACf,4EAA4E;QAC5E,0EAA0E;QAC1E,oDAAoD;QACpD,wBAAwB;QACxB,OAAO;QACP,kBAAkB;QAClB,YAAY;QACZ,cAAc;QACd,eAAe;KAChB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QACtD,2EAA2E;QAC3E,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC9F,IAAI,CAAC,CAAC;YAAE,SAAS;QAEjB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,kEAAkE;YAClE,IAAI,CAAC;gBACH,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC7D,+DAA+D;gBAC/D,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,8BAA8B;gBAChC,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,kCAAkC;gBACpC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,QAAiK;IACrL,OAAO,UAAU,CAAC,CAAC,QAA+B,EAAE,MAAW,EAAE,WAA4B,EAAE,iBAA8C,EAAE,EAAE;QAC/I,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG;oBACN,YAAY,EAAE,SAAS,CAAC,OAAO;oBAC/B,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,EAAE;oBACf,UAAU,EAAE,IAAI,GAAG,EAA2B;oBAC9C,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,EAAE;oBACZ,IAAI,EAAE,SAAS,CAAC,OAAO;oBACvB,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;iBACb,CAAC;YACJ,CAAC;YAED,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,QAAQ,EAAE,KAAM,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,IAAS;IAC5B,OAAO,KAAK,CAAC,CAAC,CAAwB,EAAE,KAAa,EAAE,OAAY,EAAE,YAA6B,EAAE,KAAkC,EAAG,EAAE;QAEzI,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAC,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2EAA2E,YAAY,CAAC,QAAQ,EAAE,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACvJ,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,WAAW,GAAG,IAAI,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAoB;gBAC7B,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,EAAE;gBACpB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,EAAS;aAChB,CAAC;YAEF,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAA4B,EAAE,MAAY,EAAE,OAAa;IACjF,OAAO,CAAC,CAAwB,EAAE,KAAa,EAAE,MAAW,EAAE,WAA6B,EAAE,KAAmC,EAAE,EAAE;QAElI,IAAG,WAAW,KAAK,SAAS,EAAC,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sEAAsE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACnH,CAAC;QAED,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAC,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,gFAAgF,WAAW,CAAC,QAAQ,EAAE,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1J,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;QAEvG,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAClC,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAClC,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAG,CAAC,CAAC,EAAC,CAAC;gBACL,MAAM,IAAI,KAAK,CAAC,2DAA2D,KAAK,cAAc,MAAM,CAAC,WAAW,CAAC,kBAAkB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAChK,CAAC;YAED,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;YACd,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;YACpB,CAAC,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAC7B,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAoB;gBAC7B,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,KAAK;gBAClB,gBAAgB,EAAE,OAAO;gBACzB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,IAAI;aACX,CAAC;YAEF,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAkC,EAAE,GAAG,OAAc;IAC5E,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,cAAc,CACpB,qBAAqB,EACrB;gBACE,QAAQ;gBACR,OAAO;aACR,EACD,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAoD;IAClF,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,MAAwC,EAAE,GAAG,OAAc;IAChF,OAAO,KAAK,CAAC,CAAC,UAAiC,EAAE,KAAa,EAAE,CAAM,EAAE,EAAmB,EAAE,EAA+B,EAAE,EAAE;QAC9H,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAoC,EAAE,GAAG,OAAc;IAChF,OAAO,KAAK,CAAC,CAAC,UAAiC,EAAE,KAAa,EAAE,CAAM,EAAE,EAAmB,EAAE,EAA+B,EAAE,EAAE;QAC9H,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAA0B;IAChD,OAAO,UAAU,CAAC;QACT,SAAS;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QACM,KAAK,CAAC,QAAQ,CAAC,GAAoB,EAAE,GAAqB,EAAE,KAAa,EAAE,WAAwB;YACxG,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,IAAW,EAAE,IAAW,EAAE,IAAW,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAEpG,IAAI,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,UAAU,CAAC,yBAAyB,OAAO,mBAAmB,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAC7G,CAAC;QAEH,CAAC;QACM,KAAK,CAAC,UAAU;QACvB,CAAC;QACM,KAAK,CAAC,OAAO;QACpB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,UAAU,CAAC,CAAC,QAA+B,EAAE,EAAE;QACpD,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,MAAY,EAAE,OAAgC;IAClE,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,OAAgC;IACnD,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,MAAY,EAAE,OAAgC;IAClE,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,MAAY,EAAE,OAAgC;IACrF,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAAC,OAAwB;IAC3C,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,OAAwB;IAC5C,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,EAAE;IAChB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO;IACrB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAa;IACnC,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,eAAiC;IACvD,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAAC,OAAsB;IACzC,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAY,EAAE,OAAsB;IAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,IAAoB;IACvC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,IAAoB,EAAE,OAAqB;IAC9D,OAAO,KAAK,CACV,SAAS,CACP,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,EACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,oEAAoE,EAAE,EAC/H;QACE,OAAO,EAAE,OAAO,IAAI,WAAW,CAAC,EAAE;KACnC,CACF,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG;IACjB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG;IACjB,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,KAAuB;IAC3C,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,MAAM,GAAG,KAAK;IACnC,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,IAAa,EAAE,MAAY;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC5B,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;QACpC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,IAAa,EAAE,MAAY;IAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;QAC7B,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC;QACrC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,MAAY;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;QAC9B,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;QACtC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,MAAY;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC;QAC3B,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,MAAY;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC;QAC3B,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,IAAa,EAAE,MAAY;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC5B,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;QACpC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}