@unieojs/unieo 0.1.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.
Files changed (365) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +586 -0
  3. package/dist/cjs/Route.d.ts +21 -0
  4. package/dist/cjs/Route.d.ts.map +1 -0
  5. package/dist/cjs/Route.js +60 -0
  6. package/dist/cjs/Route.js.map +1 -0
  7. package/dist/cjs/common/Enum.d.ts +158 -0
  8. package/dist/cjs/common/Enum.d.ts.map +1 -0
  9. package/dist/cjs/common/Enum.js +222 -0
  10. package/dist/cjs/common/Enum.js.map +1 -0
  11. package/dist/cjs/common/Error/Base.d.ts +18 -0
  12. package/dist/cjs/common/Error/Base.d.ts.map +1 -0
  13. package/dist/cjs/common/Error/Base.js +25 -0
  14. package/dist/cjs/common/Error/Base.js.map +1 -0
  15. package/dist/cjs/common/Error/index.d.ts +59 -0
  16. package/dist/cjs/common/Error/index.d.ts.map +1 -0
  17. package/dist/cjs/common/Error/index.js +312 -0
  18. package/dist/cjs/common/Error/index.js.map +1 -0
  19. package/dist/cjs/common/constants.d.ts +2 -0
  20. package/dist/cjs/common/constants.d.ts.map +1 -0
  21. package/dist/cjs/common/constants.js +5 -0
  22. package/dist/cjs/common/constants.js.map +1 -0
  23. package/dist/cjs/core/ERPerformance.d.ts +30 -0
  24. package/dist/cjs/core/ERPerformance.d.ts.map +1 -0
  25. package/dist/cjs/core/ERPerformance.js +77 -0
  26. package/dist/cjs/core/ERPerformance.js.map +1 -0
  27. package/dist/cjs/core/Fetch.d.ts +9 -0
  28. package/dist/cjs/core/Fetch.d.ts.map +1 -0
  29. package/dist/cjs/core/Fetch.js +76 -0
  30. package/dist/cjs/core/Fetch.js.map +1 -0
  31. package/dist/cjs/core/Match.d.ts +35 -0
  32. package/dist/cjs/core/Match.d.ts.map +1 -0
  33. package/dist/cjs/core/Match.js +158 -0
  34. package/dist/cjs/core/Match.js.map +1 -0
  35. package/dist/cjs/core/Processor.d.ts +28 -0
  36. package/dist/cjs/core/Processor.d.ts.map +1 -0
  37. package/dist/cjs/core/Processor.js +3 -0
  38. package/dist/cjs/core/Processor.js.map +1 -0
  39. package/dist/cjs/core/Redirect.d.ts +17 -0
  40. package/dist/cjs/core/Redirect.d.ts.map +1 -0
  41. package/dist/cjs/core/Redirect.js +30 -0
  42. package/dist/cjs/core/Redirect.js.map +1 -0
  43. package/dist/cjs/core/RequestRewrite.d.ts +31 -0
  44. package/dist/cjs/core/RequestRewrite.d.ts.map +1 -0
  45. package/dist/cjs/core/RequestRewrite.js +201 -0
  46. package/dist/cjs/core/RequestRewrite.js.map +1 -0
  47. package/dist/cjs/core/ResponseRewrite.d.ts +26 -0
  48. package/dist/cjs/core/ResponseRewrite.d.ts.map +1 -0
  49. package/dist/cjs/core/ResponseRewrite.js +55 -0
  50. package/dist/cjs/core/ResponseRewrite.js.map +1 -0
  51. package/dist/cjs/core/RouteConfig.d.ts +21 -0
  52. package/dist/cjs/core/RouteConfig.d.ts.map +1 -0
  53. package/dist/cjs/core/RouteConfig.js +3 -0
  54. package/dist/cjs/core/RouteConfig.js.map +1 -0
  55. package/dist/cjs/core/RouteContext.d.ts +55 -0
  56. package/dist/cjs/core/RouteContext.d.ts.map +1 -0
  57. package/dist/cjs/core/RouteContext.js +199 -0
  58. package/dist/cjs/core/RouteContext.js.map +1 -0
  59. package/dist/cjs/core/Value/SourceProcessor.d.ts +47 -0
  60. package/dist/cjs/core/Value/SourceProcessor.d.ts.map +1 -0
  61. package/dist/cjs/core/Value/SourceProcessor.js +121 -0
  62. package/dist/cjs/core/Value/SourceProcessor.js.map +1 -0
  63. package/dist/cjs/core/Value/SourceProcessorManager.d.ts +7 -0
  64. package/dist/cjs/core/Value/SourceProcessorManager.d.ts.map +1 -0
  65. package/dist/cjs/core/Value/SourceProcessorManager.js +33 -0
  66. package/dist/cjs/core/Value/SourceProcessorManager.js.map +1 -0
  67. package/dist/cjs/core/Value/ValueProcessor.d.ts +25 -0
  68. package/dist/cjs/core/Value/ValueProcessor.d.ts.map +1 -0
  69. package/dist/cjs/core/Value/ValueProcessor.js +57 -0
  70. package/dist/cjs/core/Value/ValueProcessor.js.map +1 -0
  71. package/dist/cjs/core/Value/ValueProcessorManager.d.ts +8 -0
  72. package/dist/cjs/core/Value/ValueProcessorManager.d.ts.map +1 -0
  73. package/dist/cjs/core/Value/ValueProcessorManager.js +28 -0
  74. package/dist/cjs/core/Value/ValueProcessorManager.js.map +1 -0
  75. package/dist/cjs/core/Value/index.d.ts +35 -0
  76. package/dist/cjs/core/Value/index.d.ts.map +1 -0
  77. package/dist/cjs/core/Value/index.js +57 -0
  78. package/dist/cjs/core/Value/index.js.map +1 -0
  79. package/dist/cjs/core/index.d.ts +9 -0
  80. package/dist/cjs/core/index.d.ts.map +1 -0
  81. package/dist/cjs/core/index.js +25 -0
  82. package/dist/cjs/core/index.js.map +1 -0
  83. package/dist/cjs/executor/GroupExecutor.d.ts +29 -0
  84. package/dist/cjs/executor/GroupExecutor.d.ts.map +1 -0
  85. package/dist/cjs/executor/GroupExecutor.js +174 -0
  86. package/dist/cjs/executor/GroupExecutor.js.map +1 -0
  87. package/dist/cjs/executor/RouteExecutor.d.ts +26 -0
  88. package/dist/cjs/executor/RouteExecutor.d.ts.map +1 -0
  89. package/dist/cjs/executor/RouteExecutor.js +71 -0
  90. package/dist/cjs/executor/RouteExecutor.js.map +1 -0
  91. package/dist/cjs/executor/SubExecutor.d.ts +20 -0
  92. package/dist/cjs/executor/SubExecutor.d.ts.map +1 -0
  93. package/dist/cjs/executor/SubExecutor.js +127 -0
  94. package/dist/cjs/executor/SubExecutor.js.map +1 -0
  95. package/dist/cjs/executor/enum.d.ts +5 -0
  96. package/dist/cjs/executor/enum.d.ts.map +1 -0
  97. package/dist/cjs/executor/enum.js +9 -0
  98. package/dist/cjs/executor/enum.js.map +1 -0
  99. package/dist/cjs/executor/index.d.ts +5 -0
  100. package/dist/cjs/executor/index.d.ts.map +1 -0
  101. package/dist/cjs/executor/index.js +21 -0
  102. package/dist/cjs/executor/index.js.map +1 -0
  103. package/dist/cjs/index.d.ts +6 -0
  104. package/dist/cjs/index.d.ts.map +1 -0
  105. package/dist/cjs/index.js +22 -0
  106. package/dist/cjs/index.js.map +1 -0
  107. package/dist/cjs/middleware/DefaultFetch.d.ts +8 -0
  108. package/dist/cjs/middleware/DefaultFetch.d.ts.map +1 -0
  109. package/dist/cjs/middleware/DefaultFetch.js +36 -0
  110. package/dist/cjs/middleware/DefaultFetch.js.map +1 -0
  111. package/dist/cjs/middleware/ErrorFallback.d.ts +7 -0
  112. package/dist/cjs/middleware/ErrorFallback.d.ts.map +1 -0
  113. package/dist/cjs/middleware/ErrorFallback.js +30 -0
  114. package/dist/cjs/middleware/ErrorFallback.js.map +1 -0
  115. package/dist/cjs/middleware/index.d.ts +16 -0
  116. package/dist/cjs/middleware/index.d.ts.map +1 -0
  117. package/dist/cjs/middleware/index.js +119 -0
  118. package/dist/cjs/middleware/index.js.map +1 -0
  119. package/dist/cjs/middleware/types.d.ts +13 -0
  120. package/dist/cjs/middleware/types.d.ts.map +1 -0
  121. package/dist/cjs/middleware/types.js +3 -0
  122. package/dist/cjs/middleware/types.js.map +1 -0
  123. package/dist/cjs/processor/Factory.d.ts +19 -0
  124. package/dist/cjs/processor/Factory.d.ts.map +1 -0
  125. package/dist/cjs/processor/Factory.js +72 -0
  126. package/dist/cjs/processor/Factory.js.map +1 -0
  127. package/dist/cjs/processor/RouteProcessor.d.ts +13 -0
  128. package/dist/cjs/processor/RouteProcessor.d.ts.map +1 -0
  129. package/dist/cjs/processor/RouteProcessor.js +12 -0
  130. package/dist/cjs/processor/RouteProcessor.js.map +1 -0
  131. package/dist/cjs/processor/group/CommonGroupProcessor.d.ts +36 -0
  132. package/dist/cjs/processor/group/CommonGroupProcessor.d.ts.map +1 -0
  133. package/dist/cjs/processor/group/CommonGroupProcessor.js +41 -0
  134. package/dist/cjs/processor/group/CommonGroupProcessor.js.map +1 -0
  135. package/dist/cjs/processor/index.d.ts +4 -0
  136. package/dist/cjs/processor/index.d.ts.map +1 -0
  137. package/dist/cjs/processor/index.js +8 -0
  138. package/dist/cjs/processor/index.js.map +1 -0
  139. package/dist/cjs/processor/sub/CommonSubProcessor.d.ts +46 -0
  140. package/dist/cjs/processor/sub/CommonSubProcessor.d.ts.map +1 -0
  141. package/dist/cjs/processor/sub/CommonSubProcessor.js +68 -0
  142. package/dist/cjs/processor/sub/CommonSubProcessor.js.map +1 -0
  143. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  144. package/dist/cjs/util/Array.d.ts +3 -0
  145. package/dist/cjs/util/Array.d.ts.map +1 -0
  146. package/dist/cjs/util/Array.js +15 -0
  147. package/dist/cjs/util/Array.js.map +1 -0
  148. package/dist/cjs/util/Header.d.ts +5 -0
  149. package/dist/cjs/util/Header.d.ts.map +1 -0
  150. package/dist/cjs/util/Header.js +87 -0
  151. package/dist/cjs/util/Header.js.map +1 -0
  152. package/dist/cjs/util/LogUtil.d.ts +2 -0
  153. package/dist/cjs/util/LogUtil.d.ts.map +1 -0
  154. package/dist/cjs/util/LogUtil.js +10 -0
  155. package/dist/cjs/util/LogUtil.js.map +1 -0
  156. package/dist/cjs/util/PathRegexp.d.ts +12 -0
  157. package/dist/cjs/util/PathRegexp.d.ts.map +1 -0
  158. package/dist/cjs/util/PathRegexp.js +74 -0
  159. package/dist/cjs/util/PathRegexp.js.map +1 -0
  160. package/dist/cjs/util/PrefixLogger.d.ts +13 -0
  161. package/dist/cjs/util/PrefixLogger.d.ts.map +1 -0
  162. package/dist/cjs/util/PrefixLogger.js +38 -0
  163. package/dist/cjs/util/PrefixLogger.js.map +1 -0
  164. package/dist/cjs/util/RedirectHelper.d.ts +29 -0
  165. package/dist/cjs/util/RedirectHelper.d.ts.map +1 -0
  166. package/dist/cjs/util/RedirectHelper.js +140 -0
  167. package/dist/cjs/util/RedirectHelper.js.map +1 -0
  168. package/dist/cjs/util/Request.d.ts +11 -0
  169. package/dist/cjs/util/Request.d.ts.map +1 -0
  170. package/dist/cjs/util/Request.js +25 -0
  171. package/dist/cjs/util/Request.js.map +1 -0
  172. package/dist/cjs/util/Response.d.ts +12 -0
  173. package/dist/cjs/util/Response.d.ts.map +1 -0
  174. package/dist/cjs/util/Response.js +31 -0
  175. package/dist/cjs/util/Response.js.map +1 -0
  176. package/dist/cjs/util/Template.d.ts +2 -0
  177. package/dist/cjs/util/Template.d.ts.map +1 -0
  178. package/dist/cjs/util/Template.js +14 -0
  179. package/dist/cjs/util/Template.js.map +1 -0
  180. package/dist/cjs/util/Url.d.ts +19 -0
  181. package/dist/cjs/util/Url.d.ts.map +1 -0
  182. package/dist/cjs/util/Url.js +112 -0
  183. package/dist/cjs/util/Url.js.map +1 -0
  184. package/dist/esm/Route.d.ts +21 -0
  185. package/dist/esm/Route.d.ts.map +1 -0
  186. package/dist/esm/Route.js +56 -0
  187. package/dist/esm/Route.js.map +1 -0
  188. package/dist/esm/common/Enum.d.ts +158 -0
  189. package/dist/esm/common/Enum.d.ts.map +1 -0
  190. package/dist/esm/common/Enum.js +219 -0
  191. package/dist/esm/common/Enum.js.map +1 -0
  192. package/dist/esm/common/Error/Base.d.ts +18 -0
  193. package/dist/esm/common/Error/Base.d.ts.map +1 -0
  194. package/dist/esm/common/Error/Base.js +21 -0
  195. package/dist/esm/common/Error/Base.js.map +1 -0
  196. package/dist/esm/common/Error/index.d.ts +59 -0
  197. package/dist/esm/common/Error/index.d.ts.map +1 -0
  198. package/dist/esm/common/Error/index.js +294 -0
  199. package/dist/esm/common/Error/index.js.map +1 -0
  200. package/dist/esm/common/constants.d.ts +2 -0
  201. package/dist/esm/common/constants.d.ts.map +1 -0
  202. package/dist/esm/common/constants.js +2 -0
  203. package/dist/esm/common/constants.js.map +1 -0
  204. package/dist/esm/core/ERPerformance.d.ts +30 -0
  205. package/dist/esm/core/ERPerformance.d.ts.map +1 -0
  206. package/dist/esm/core/ERPerformance.js +72 -0
  207. package/dist/esm/core/ERPerformance.js.map +1 -0
  208. package/dist/esm/core/Fetch.d.ts +9 -0
  209. package/dist/esm/core/Fetch.d.ts.map +1 -0
  210. package/dist/esm/core/Fetch.js +72 -0
  211. package/dist/esm/core/Fetch.js.map +1 -0
  212. package/dist/esm/core/Match.d.ts +35 -0
  213. package/dist/esm/core/Match.d.ts.map +1 -0
  214. package/dist/esm/core/Match.js +154 -0
  215. package/dist/esm/core/Match.js.map +1 -0
  216. package/dist/esm/core/Processor.d.ts +28 -0
  217. package/dist/esm/core/Processor.d.ts.map +1 -0
  218. package/dist/esm/core/Processor.js +2 -0
  219. package/dist/esm/core/Processor.js.map +1 -0
  220. package/dist/esm/core/Redirect.d.ts +17 -0
  221. package/dist/esm/core/Redirect.d.ts.map +1 -0
  222. package/dist/esm/core/Redirect.js +26 -0
  223. package/dist/esm/core/Redirect.js.map +1 -0
  224. package/dist/esm/core/RequestRewrite.d.ts +31 -0
  225. package/dist/esm/core/RequestRewrite.d.ts.map +1 -0
  226. package/dist/esm/core/RequestRewrite.js +194 -0
  227. package/dist/esm/core/RequestRewrite.js.map +1 -0
  228. package/dist/esm/core/ResponseRewrite.d.ts +26 -0
  229. package/dist/esm/core/ResponseRewrite.d.ts.map +1 -0
  230. package/dist/esm/core/ResponseRewrite.js +51 -0
  231. package/dist/esm/core/ResponseRewrite.js.map +1 -0
  232. package/dist/esm/core/RouteConfig.d.ts +21 -0
  233. package/dist/esm/core/RouteConfig.d.ts.map +1 -0
  234. package/dist/esm/core/RouteConfig.js +2 -0
  235. package/dist/esm/core/RouteConfig.js.map +1 -0
  236. package/dist/esm/core/RouteContext.d.ts +55 -0
  237. package/dist/esm/core/RouteContext.d.ts.map +1 -0
  238. package/dist/esm/core/RouteContext.js +195 -0
  239. package/dist/esm/core/RouteContext.js.map +1 -0
  240. package/dist/esm/core/Value/SourceProcessor.d.ts +47 -0
  241. package/dist/esm/core/Value/SourceProcessor.d.ts.map +1 -0
  242. package/dist/esm/core/Value/SourceProcessor.js +105 -0
  243. package/dist/esm/core/Value/SourceProcessor.js.map +1 -0
  244. package/dist/esm/core/Value/SourceProcessorManager.d.ts +7 -0
  245. package/dist/esm/core/Value/SourceProcessorManager.d.ts.map +1 -0
  246. package/dist/esm/core/Value/SourceProcessorManager.js +29 -0
  247. package/dist/esm/core/Value/SourceProcessorManager.js.map +1 -0
  248. package/dist/esm/core/Value/ValueProcessor.d.ts +25 -0
  249. package/dist/esm/core/Value/ValueProcessor.d.ts.map +1 -0
  250. package/dist/esm/core/Value/ValueProcessor.js +48 -0
  251. package/dist/esm/core/Value/ValueProcessor.js.map +1 -0
  252. package/dist/esm/core/Value/ValueProcessorManager.d.ts +8 -0
  253. package/dist/esm/core/Value/ValueProcessorManager.d.ts.map +1 -0
  254. package/dist/esm/core/Value/ValueProcessorManager.js +24 -0
  255. package/dist/esm/core/Value/ValueProcessorManager.js.map +1 -0
  256. package/dist/esm/core/Value/index.d.ts +35 -0
  257. package/dist/esm/core/Value/index.d.ts.map +1 -0
  258. package/dist/esm/core/Value/index.js +53 -0
  259. package/dist/esm/core/Value/index.js.map +1 -0
  260. package/dist/esm/core/index.d.ts +9 -0
  261. package/dist/esm/core/index.d.ts.map +1 -0
  262. package/dist/esm/core/index.js +9 -0
  263. package/dist/esm/core/index.js.map +1 -0
  264. package/dist/esm/executor/GroupExecutor.d.ts +29 -0
  265. package/dist/esm/executor/GroupExecutor.d.ts.map +1 -0
  266. package/dist/esm/executor/GroupExecutor.js +170 -0
  267. package/dist/esm/executor/GroupExecutor.js.map +1 -0
  268. package/dist/esm/executor/RouteExecutor.d.ts +26 -0
  269. package/dist/esm/executor/RouteExecutor.d.ts.map +1 -0
  270. package/dist/esm/executor/RouteExecutor.js +67 -0
  271. package/dist/esm/executor/RouteExecutor.js.map +1 -0
  272. package/dist/esm/executor/SubExecutor.d.ts +20 -0
  273. package/dist/esm/executor/SubExecutor.d.ts.map +1 -0
  274. package/dist/esm/executor/SubExecutor.js +123 -0
  275. package/dist/esm/executor/SubExecutor.js.map +1 -0
  276. package/dist/esm/executor/enum.d.ts +5 -0
  277. package/dist/esm/executor/enum.d.ts.map +1 -0
  278. package/dist/esm/executor/enum.js +6 -0
  279. package/dist/esm/executor/enum.js.map +1 -0
  280. package/dist/esm/executor/index.d.ts +5 -0
  281. package/dist/esm/executor/index.d.ts.map +1 -0
  282. package/dist/esm/executor/index.js +5 -0
  283. package/dist/esm/executor/index.js.map +1 -0
  284. package/dist/esm/index.d.ts +6 -0
  285. package/dist/esm/index.d.ts.map +1 -0
  286. package/dist/esm/index.js +6 -0
  287. package/dist/esm/index.js.map +1 -0
  288. package/dist/esm/middleware/DefaultFetch.d.ts +8 -0
  289. package/dist/esm/middleware/DefaultFetch.d.ts.map +1 -0
  290. package/dist/esm/middleware/DefaultFetch.js +34 -0
  291. package/dist/esm/middleware/DefaultFetch.js.map +1 -0
  292. package/dist/esm/middleware/ErrorFallback.d.ts +7 -0
  293. package/dist/esm/middleware/ErrorFallback.d.ts.map +1 -0
  294. package/dist/esm/middleware/ErrorFallback.js +28 -0
  295. package/dist/esm/middleware/ErrorFallback.js.map +1 -0
  296. package/dist/esm/middleware/index.d.ts +16 -0
  297. package/dist/esm/middleware/index.d.ts.map +1 -0
  298. package/dist/esm/middleware/index.js +112 -0
  299. package/dist/esm/middleware/index.js.map +1 -0
  300. package/dist/esm/middleware/types.d.ts +13 -0
  301. package/dist/esm/middleware/types.d.ts.map +1 -0
  302. package/dist/esm/middleware/types.js +2 -0
  303. package/dist/esm/middleware/types.js.map +1 -0
  304. package/dist/esm/processor/Factory.d.ts +19 -0
  305. package/dist/esm/processor/Factory.d.ts.map +1 -0
  306. package/dist/esm/processor/Factory.js +68 -0
  307. package/dist/esm/processor/Factory.js.map +1 -0
  308. package/dist/esm/processor/RouteProcessor.d.ts +13 -0
  309. package/dist/esm/processor/RouteProcessor.d.ts.map +1 -0
  310. package/dist/esm/processor/RouteProcessor.js +8 -0
  311. package/dist/esm/processor/RouteProcessor.js.map +1 -0
  312. package/dist/esm/processor/group/CommonGroupProcessor.d.ts +36 -0
  313. package/dist/esm/processor/group/CommonGroupProcessor.d.ts.map +1 -0
  314. package/dist/esm/processor/group/CommonGroupProcessor.js +37 -0
  315. package/dist/esm/processor/group/CommonGroupProcessor.js.map +1 -0
  316. package/dist/esm/processor/index.d.ts +4 -0
  317. package/dist/esm/processor/index.d.ts.map +1 -0
  318. package/dist/esm/processor/index.js +3 -0
  319. package/dist/esm/processor/index.js.map +1 -0
  320. package/dist/esm/processor/sub/CommonSubProcessor.d.ts +46 -0
  321. package/dist/esm/processor/sub/CommonSubProcessor.d.ts.map +1 -0
  322. package/dist/esm/processor/sub/CommonSubProcessor.js +64 -0
  323. package/dist/esm/processor/sub/CommonSubProcessor.js.map +1 -0
  324. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  325. package/dist/esm/util/Array.d.ts +3 -0
  326. package/dist/esm/util/Array.d.ts.map +1 -0
  327. package/dist/esm/util/Array.js +11 -0
  328. package/dist/esm/util/Array.js.map +1 -0
  329. package/dist/esm/util/Header.d.ts +5 -0
  330. package/dist/esm/util/Header.d.ts.map +1 -0
  331. package/dist/esm/util/Header.js +81 -0
  332. package/dist/esm/util/Header.js.map +1 -0
  333. package/dist/esm/util/LogUtil.d.ts +2 -0
  334. package/dist/esm/util/LogUtil.d.ts.map +1 -0
  335. package/dist/esm/util/LogUtil.js +7 -0
  336. package/dist/esm/util/LogUtil.js.map +1 -0
  337. package/dist/esm/util/PathRegexp.d.ts +12 -0
  338. package/dist/esm/util/PathRegexp.d.ts.map +1 -0
  339. package/dist/esm/util/PathRegexp.js +69 -0
  340. package/dist/esm/util/PathRegexp.js.map +1 -0
  341. package/dist/esm/util/PrefixLogger.d.ts +13 -0
  342. package/dist/esm/util/PrefixLogger.d.ts.map +1 -0
  343. package/dist/esm/util/PrefixLogger.js +34 -0
  344. package/dist/esm/util/PrefixLogger.js.map +1 -0
  345. package/dist/esm/util/RedirectHelper.d.ts +29 -0
  346. package/dist/esm/util/RedirectHelper.d.ts.map +1 -0
  347. package/dist/esm/util/RedirectHelper.js +136 -0
  348. package/dist/esm/util/RedirectHelper.js.map +1 -0
  349. package/dist/esm/util/Request.d.ts +11 -0
  350. package/dist/esm/util/Request.d.ts.map +1 -0
  351. package/dist/esm/util/Request.js +20 -0
  352. package/dist/esm/util/Request.js.map +1 -0
  353. package/dist/esm/util/Response.d.ts +12 -0
  354. package/dist/esm/util/Response.d.ts.map +1 -0
  355. package/dist/esm/util/Response.js +25 -0
  356. package/dist/esm/util/Response.js.map +1 -0
  357. package/dist/esm/util/Template.d.ts +2 -0
  358. package/dist/esm/util/Template.d.ts.map +1 -0
  359. package/dist/esm/util/Template.js +11 -0
  360. package/dist/esm/util/Template.js.map +1 -0
  361. package/dist/esm/util/Url.d.ts +19 -0
  362. package/dist/esm/util/Url.d.ts.map +1 -0
  363. package/dist/esm/util/Url.js +99 -0
  364. package/dist/esm/util/Url.js.map +1 -0
  365. package/package.json +69 -0
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RouteConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteConfig.js","sourceRoot":"","sources":["../../../src/core/RouteConfig.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ import { UrlValueType } from '../common/Enum';
2
+ import { BaseError } from '../common/Error';
3
+ import { MiddlewareManager } from '../middleware';
4
+ import type { ERRequestInit, HttpClient, ILogger, RouteHelper } from '../types';
5
+ import type { ERPerformance } from './ERPerformance';
6
+ import type { MiddlewareConfig, MiddlewareGen } from '../middleware/types';
7
+ export interface RouteContextRawData {
8
+ mainContext?: boolean;
9
+ request: Request;
10
+ helper: RouteHelper;
11
+ event: FetchEvent;
12
+ performance: ERPerformance;
13
+ middlewares?: [string, MiddlewareGen][];
14
+ }
15
+ export declare class RouteContext {
16
+ #private;
17
+ logger: ILogger;
18
+ readonly middlewareManager: MiddlewareManager;
19
+ readonly performance: ERPerformance;
20
+ readonly event: FetchEvent;
21
+ httpClient: HttpClient;
22
+ constructor(data: RouteContextRawData);
23
+ waitUntil(fn: Promise<void>): void;
24
+ get request(): Request;
25
+ get response(): Response | undefined;
26
+ get originRequest(): Request;
27
+ get requestUrl(): URL;
28
+ get originRequestUrl(): URL;
29
+ get protocol(): string;
30
+ get host(): string;
31
+ get origin(): string;
32
+ get path(): string;
33
+ get href(): string;
34
+ get search(): string;
35
+ get urlWithoutParams(): string;
36
+ get requestInit(): ERRequestInit;
37
+ set requestInit(value: ERRequestInit);
38
+ setRequest(request: Request): void;
39
+ setResponse(response: Response): void;
40
+ getRequestHeaderValue(name: string): string | null;
41
+ getResponseHeaderValue(name: string): string | null;
42
+ getCookieValue(name: string): string | null;
43
+ getUrlValue(urlType: UrlValueType): string | null;
44
+ getOriginUrlValue(urlType: UrlValueType): string | null;
45
+ getQueryValue(name: string): string | null;
46
+ fallback(): Promise<Response>;
47
+ logError(error: BaseError | Error): void;
48
+ appendExtInfoToResponse(res: Response): Response;
49
+ setMiddlewares(value: MiddlewareConfig[]): void;
50
+ addMiddleware(middleware: MiddlewareConfig): void;
51
+ clearMiddleware(): void;
52
+ get middlewares(): MiddlewareConfig[];
53
+ runMiddleware(): Promise<void>;
54
+ }
55
+ //# sourceMappingURL=RouteContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteContext.d.ts","sourceRoot":"","sources":["../../../src/core/RouteContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAuB,MAAM,iBAAiB,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3E,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;CACzC;AAED,qBAAa,YAAY;;IAChB,MAAM,EAAE,OAAO,CAAC;IACvB,SAAgB,iBAAiB,EAAE,iBAAiB,CAAC;IACrD,SAAgB,WAAW,EAAE,aAAa,CAAC;IAC3C,SAAgB,KAAK,EAAE,UAAU,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;gBAUlB,IAAI,EAAE,mBAAmB;IAiBrC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC;IAI3B,IAAI,OAAO,YAEV;IAED,IAAI,QAAQ,yBAEX;IAED,IAAI,aAAa,YAEhB;IAED,IAAI,UAAU,QAEb;IAED,IAAI,gBAAgB,QAEnB;IAED,IAAI,QAAQ,WAEX;IAED,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,WAET;IAED,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,gBAAgB,WAEnB;IAED,IAAI,WAAW,IAIQ,aAAa,CAFnC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,aAAa,EAEnC;IAED,UAAU,CAAC,OAAO,EAAE,OAAO;IAQ3B,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAM9B,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIlD,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAInD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAS3C,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAejD,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAWvD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIpC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IAMnC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK;IAiBjC,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ;IAgBhD,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE;IAIxC,aAAa,CAAC,UAAU,EAAE,gBAAgB;IAI1C,eAAe;IAIf,IAAI,WAAW,uBAEd;IAEK,aAAa;CAGpB"}
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _RouteContext_errors, _RouteContext_originRequest, _RouteContext_originRequestUrl, _RouteContext_request, _RouteContext_response, _RouteContext_requestUrl, _RouteContext_requestUrlWithoutParams, _RouteContext_requestInit;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.RouteContext = void 0;
16
+ const Enum_1 = require("../common/Enum");
17
+ const cookie_1 = require("cookie");
18
+ const Url_1 = require("../util/Url");
19
+ const Error_1 = require("../common/Error");
20
+ const constants_1 = require("../common/constants");
21
+ const LogUtil_1 = require("../util/LogUtil");
22
+ const middleware_1 = require("../middleware");
23
+ class RouteContext {
24
+ constructor(data) {
25
+ _RouteContext_errors.set(this, void 0);
26
+ _RouteContext_originRequest.set(this, void 0);
27
+ _RouteContext_originRequestUrl.set(this, void 0);
28
+ _RouteContext_request.set(this, void 0);
29
+ _RouteContext_response.set(this, void 0);
30
+ _RouteContext_requestUrl.set(this, void 0);
31
+ _RouteContext_requestUrlWithoutParams.set(this, void 0);
32
+ _RouteContext_requestInit.set(this, void 0);
33
+ this.event = data.event;
34
+ this.performance = data.performance;
35
+ this.httpClient = data.helper.httpClient;
36
+ this.logger = data.helper.logger;
37
+ this.middlewareManager = new middleware_1.MiddlewareManager({
38
+ middlewares: data.middlewares,
39
+ });
40
+ __classPrivateFieldSet(this, _RouteContext_request, data.request, "f");
41
+ __classPrivateFieldSet(this, _RouteContext_requestUrl, new URL(__classPrivateFieldGet(this, _RouteContext_request, "f").url), "f");
42
+ __classPrivateFieldSet(this, _RouteContext_requestUrlWithoutParams, `${__classPrivateFieldGet(this, _RouteContext_requestUrl, "f").origin}${__classPrivateFieldGet(this, _RouteContext_requestUrl, "f").pathname}`, "f");
43
+ __classPrivateFieldSet(this, _RouteContext_originRequest, data.request.clone(), "f");
44
+ __classPrivateFieldSet(this, _RouteContext_originRequestUrl, new URL(__classPrivateFieldGet(this, _RouteContext_originRequest, "f").url), "f");
45
+ __classPrivateFieldSet(this, _RouteContext_requestInit, {}, "f");
46
+ __classPrivateFieldSet(this, _RouteContext_errors, [], "f");
47
+ }
48
+ waitUntil(fn) {
49
+ return this.event.waitUntil(fn);
50
+ }
51
+ get request() {
52
+ return __classPrivateFieldGet(this, _RouteContext_request, "f");
53
+ }
54
+ get response() {
55
+ return __classPrivateFieldGet(this, _RouteContext_response, "f");
56
+ }
57
+ get originRequest() {
58
+ return __classPrivateFieldGet(this, _RouteContext_originRequest, "f");
59
+ }
60
+ get requestUrl() {
61
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f");
62
+ }
63
+ get originRequestUrl() {
64
+ return __classPrivateFieldGet(this, _RouteContext_originRequestUrl, "f");
65
+ }
66
+ get protocol() {
67
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").protocol;
68
+ }
69
+ get host() {
70
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").host;
71
+ }
72
+ get origin() {
73
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").origin;
74
+ }
75
+ get path() {
76
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").pathname;
77
+ }
78
+ get href() {
79
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").href;
80
+ }
81
+ get search() {
82
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").search;
83
+ }
84
+ get urlWithoutParams() {
85
+ return __classPrivateFieldGet(this, _RouteContext_requestUrlWithoutParams, "f");
86
+ }
87
+ get requestInit() {
88
+ return __classPrivateFieldGet(this, _RouteContext_requestInit, "f");
89
+ }
90
+ set requestInit(value) {
91
+ __classPrivateFieldSet(this, _RouteContext_requestInit, value, "f");
92
+ }
93
+ setRequest(request) {
94
+ if (request) {
95
+ __classPrivateFieldSet(this, _RouteContext_request, request, "f");
96
+ __classPrivateFieldSet(this, _RouteContext_requestUrl, new URL(request.url), "f");
97
+ __classPrivateFieldSet(this, _RouteContext_requestUrlWithoutParams, `${__classPrivateFieldGet(this, _RouteContext_requestUrl, "f").origin}${__classPrivateFieldGet(this, _RouteContext_requestUrl, "f").pathname}`, "f");
98
+ }
99
+ }
100
+ setResponse(response) {
101
+ if (response) {
102
+ __classPrivateFieldSet(this, _RouteContext_response, response, "f");
103
+ }
104
+ }
105
+ getRequestHeaderValue(name) {
106
+ return this.request.headers.get(name);
107
+ }
108
+ getResponseHeaderValue(name) {
109
+ return this.response?.headers.get(name) ?? null;
110
+ }
111
+ getCookieValue(name) {
112
+ const cookieStr = this.request.headers.get('cookie');
113
+ if (!cookieStr) {
114
+ return null;
115
+ }
116
+ const res = (0, cookie_1.parse)(cookieStr);
117
+ return res[name] || null;
118
+ }
119
+ getUrlValue(urlType) {
120
+ switch (urlType) {
121
+ case Enum_1.UrlValueType.HOST:
122
+ return this.host;
123
+ case Enum_1.UrlValueType.PATH:
124
+ return this.path;
125
+ case Enum_1.UrlValueType.HREF:
126
+ return this.urlWithoutParams;
127
+ case Enum_1.UrlValueType.SUFFIX:
128
+ return (0, Url_1.getSuffix)(this.path, this.host);
129
+ default:
130
+ return null;
131
+ }
132
+ }
133
+ getOriginUrlValue(urlType) {
134
+ switch (urlType) {
135
+ case Enum_1.UrlValueType.HOST:
136
+ return this.originRequestUrl.host;
137
+ case Enum_1.UrlValueType.PATH:
138
+ return this.originRequestUrl.pathname;
139
+ default:
140
+ return null;
141
+ }
142
+ }
143
+ getQueryValue(name) {
144
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").searchParams.get(name);
145
+ }
146
+ async fallback() {
147
+ return this.httpClient.request(this.originRequest, {
148
+ unioFallback: true,
149
+ });
150
+ }
151
+ logError(error) {
152
+ let formatError;
153
+ if (!Error_1.BaseError.isBaseError(error)) {
154
+ formatError = (0, Error_1.genError)(Error_1.ErrorCode.SystemError, {
155
+ name: error.name,
156
+ message: (0, LogUtil_1.encodeErrorMessage)(error.message),
157
+ stack: (0, LogUtil_1.encodeErrorMessage)(error.stack),
158
+ });
159
+ }
160
+ else {
161
+ formatError = error;
162
+ }
163
+ __classPrivateFieldGet(this, _RouteContext_errors, "f").push(formatError);
164
+ // Error Stack 里本身包含了 name 和 message,这里只补充打印 code 跟 details 就行
165
+ const stackErrorMsg = `${formatError.code} ${formatError.details ?? ''}\n${formatError.stack}`;
166
+ this.logger.error(stackErrorMsg);
167
+ }
168
+ appendExtInfoToResponse(res) {
169
+ const newResponse = new Response(res.body, res);
170
+ if (__classPrivateFieldGet(this, _RouteContext_errors, "f").length === 0) {
171
+ return newResponse;
172
+ }
173
+ // append error Info
174
+ const errorCodeArr = [];
175
+ for (const error of __classPrivateFieldGet(this, _RouteContext_errors, "f")) {
176
+ errorCodeArr.push(error.toShownString());
177
+ }
178
+ newResponse.headers.set(constants_1.RENDER_ROUTE_ERROR_HEADER, errorCodeArr.join('|') || '-');
179
+ return newResponse;
180
+ }
181
+ setMiddlewares(value) {
182
+ this.middlewareManager.set(value);
183
+ }
184
+ addMiddleware(middleware) {
185
+ this.middlewareManager.add(middleware);
186
+ }
187
+ clearMiddleware() {
188
+ void this.middlewareManager.clear();
189
+ }
190
+ get middlewares() {
191
+ return this.middlewareManager.middlewares;
192
+ }
193
+ async runMiddleware() {
194
+ return this.middlewareManager.run(this);
195
+ }
196
+ }
197
+ exports.RouteContext = RouteContext;
198
+ _RouteContext_errors = new WeakMap(), _RouteContext_originRequest = new WeakMap(), _RouteContext_originRequestUrl = new WeakMap(), _RouteContext_request = new WeakMap(), _RouteContext_response = new WeakMap(), _RouteContext_requestUrl = new WeakMap(), _RouteContext_requestUrlWithoutParams = new WeakMap(), _RouteContext_requestInit = new WeakMap();
199
+ //# sourceMappingURL=RouteContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteContext.js","sourceRoot":"","sources":["../../../src/core/RouteContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA8C;AAC9C,mCAA+B;AAC/B,qCAAwC;AACxC,2CAAiE;AACjE,mDAAgE;AAChE,6CAAqD;AACrD,8CAAkD;AAclD,MAAa,YAAY;IAevB,YAAY,IAAyB;QAT5B,uCAAqB;QACrB,8CAAwB;QACxB,iDAAuB;QAChC,wCAAkB;QAClB,yCAAqB;QACrB,2CAAiB;QACjB,wDAAiC;QACjC,4CAA4B;QAG1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,8BAAiB,CAAC;YAC7C,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,uBAAA,IAAI,yBAAY,IAAI,CAAC,OAAO,MAAA,CAAC;QAC7B,uBAAA,IAAI,4BAAe,IAAI,GAAG,CAAC,uBAAA,IAAI,6BAAS,CAAC,GAAG,CAAC,MAAA,CAAC;QAC9C,uBAAA,IAAI,yCAA4B,GAAG,uBAAA,IAAI,gCAAY,CAAC,MAAM,GAAG,uBAAA,IAAI,gCAAY,CAAC,QAAQ,EAAE,MAAA,CAAC;QACzF,uBAAA,IAAI,+BAAkB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAA,CAAC;QAC3C,uBAAA,IAAI,kCAAqB,IAAI,GAAG,CAAC,uBAAA,IAAI,mCAAe,CAAC,GAAG,CAAC,MAAA,CAAC;QAC1D,uBAAA,IAAI,6BAAgB,EAAE,MAAA,CAAC;QACvB,uBAAA,IAAI,wBAAW,EAAE,MAAA,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,EAAiB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,uBAAA,IAAI,6BAAS,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,uBAAA,IAAI,8BAAU,CAAC;IACxB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,uBAAA,IAAI,mCAAe,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,uBAAA,IAAI,gCAAY,CAAC;IAC1B,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,uBAAA,IAAI,sCAAkB,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,uBAAA,IAAI,gCAAY,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,uBAAA,IAAI,gCAAY,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,uBAAA,IAAI,gCAAY,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,uBAAA,IAAI,gCAAY,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,uBAAA,IAAI,gCAAY,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,uBAAA,IAAI,gCAAY,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,uBAAA,IAAI,6CAAyB,CAAC;IACvC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,uBAAA,IAAI,iCAAa,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,CAAC,KAAoB;QAClC,uBAAA,IAAI,6BAAgB,KAAK,MAAA,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,IAAI,OAAO,EAAE,CAAC;YACZ,uBAAA,IAAI,yBAAY,OAAO,MAAA,CAAC;YACxB,uBAAA,IAAI,4BAAe,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAA,CAAC;YACxC,uBAAA,IAAI,yCAA4B,GAAG,uBAAA,IAAI,gCAAY,CAAC,MAAM,GAAG,uBAAA,IAAI,gCAAY,CAAC,QAAQ,EAAE,MAAA,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,WAAW,CAAC,QAAkB;QAC5B,IAAI,QAAQ,EAAE,CAAC;YACb,uBAAA,IAAI,0BAAa,QAAQ,MAAA,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,IAAY;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,sBAAsB,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC3B,CAAC;IAED,WAAW,CAAC,OAAqB;QAC/B,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,mBAAY,CAAC,IAAI;gBACpB,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,mBAAY,CAAC,IAAI;gBACpB,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,mBAAY,CAAC,IAAI;gBACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B,KAAK,mBAAY,CAAC,MAAM;gBACtB,OAAO,IAAA,eAAS,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,OAAqB;QACrC,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,mBAAY,CAAC,IAAI;gBACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACpC,KAAK,mBAAY,CAAC,IAAI;gBACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YACxC;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,uBAAA,IAAI,gCAAY,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE;YACjD,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAwB;QAC/B,IAAI,WAAsB,CAAC;QAC3B,IAAI,CAAC,iBAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,WAAW,GAAG,IAAA,gBAAQ,EAAC,iBAAS,CAAC,WAAW,EAAE;gBAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,IAAA,4BAAkB,EAAC,KAAK,CAAC,OAAO,CAAC;gBAC1C,KAAK,EAAE,IAAA,4BAAkB,EAAC,KAAK,CAAC,KAAK,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,uBAAA,IAAI,4BAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,8DAA8D;QAC9D,MAAM,aAAa,GAAG,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,IAAI,EAAE,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,uBAAuB,CAAC,GAAa;QACnC,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEhD,IAAI,uBAAA,IAAI,4BAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,oBAAoB;QACpB,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,uBAAA,IAAI,4BAAQ,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAyB,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAElF,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,KAAyB;QACtC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,UAA4B;QACxC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,eAAe;QACb,KAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF;AAnND,oCAmNC"}
@@ -0,0 +1,47 @@
1
+ import type { RouteContext } from '../RouteContext';
2
+ import type { BaseProcessor } from '../Processor';
3
+ import type { IValue } from '.';
4
+ export interface ISourceProcessor {
5
+ getSource(value: IValue, ctx: RouteContext, processor: BaseProcessor): Promise<unknown>;
6
+ }
7
+ export declare class LiteralSourceProcessor implements ISourceProcessor {
8
+ getSource({ source }: IValue): Promise<unknown>;
9
+ }
10
+ export declare class RequestHeaderSourceProcessor implements ISourceProcessor {
11
+ getSource({ source }: IValue, ctx: RouteContext): Promise<unknown>;
12
+ }
13
+ export declare class ResponseHeaderSourceProcessor implements ISourceProcessor {
14
+ getSource({ source }: IValue, ctx: RouteContext): Promise<unknown>;
15
+ }
16
+ export declare class ResponseStatusSourceProcessor implements ISourceProcessor {
17
+ getSource(_: IValue, ctx: RouteContext): Promise<unknown>;
18
+ }
19
+ export declare class CookieSourceProcessor implements ISourceProcessor {
20
+ getSource({ source }: IValue, ctx: RouteContext): Promise<unknown>;
21
+ }
22
+ export declare class UrlSourceProcessor implements ISourceProcessor {
23
+ getSource({ source }: IValue, ctx: RouteContext): Promise<unknown>;
24
+ }
25
+ export declare class OriginUrlSourceProcessor implements ISourceProcessor {
26
+ getSource({ source }: IValue, ctx: RouteContext): Promise<unknown>;
27
+ }
28
+ export declare class QuerySourceProcessor implements ISourceProcessor {
29
+ getSource({ source }: IValue, ctx: RouteContext): Promise<unknown>;
30
+ }
31
+ export declare class MethodSourceProcessor implements ISourceProcessor {
32
+ getSource(_: unknown, ctx: RouteContext): Promise<unknown>;
33
+ }
34
+ export declare class FetchSourceProcessor implements ISourceProcessor {
35
+ getSource({ source }: IValue): Promise<unknown>;
36
+ private fetch;
37
+ }
38
+ export declare class RouteArgsSourceProcessor implements ISourceProcessor {
39
+ getSource({ source }: IValue, ctx: RouteContext, processor: BaseProcessor): Promise<unknown>;
40
+ }
41
+ export declare class TemplateSourceProcessor implements ISourceProcessor {
42
+ getSource({ source }: IValue, ctx: RouteContext, processor: BaseProcessor): Promise<unknown>;
43
+ }
44
+ export declare class ValueObjectSourceProcessor implements ISourceProcessor {
45
+ getSource({ source }: IValue, ctx: RouteContext, processor: BaseProcessor): Promise<unknown>;
46
+ }
47
+ //# sourceMappingURL=SourceProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceProcessor.d.ts","sourceRoot":"","sources":["../../../../src/core/Value/SourceProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,GAAG,CAAC;AAI9C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzF;AAED,qBAAa,sBAAuB,YAAW,gBAAgB;IACvD,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM;CAGnC;AAED,qBAAa,4BAA6B,YAAW,gBAAgB;IAC7D,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGzE;AAED,qBAAa,6BAA8B,YAAW,gBAAgB;IAC9D,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGzE;AAED,qBAAa,6BAA8B,YAAW,gBAAgB;IAC9D,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGhE;AAED,qBAAa,qBAAsB,YAAW,gBAAgB;IACtD,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGzE;AAED,qBAAa,kBAAmB,YAAW,gBAAgB;IACnD,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGzE;AAED,qBAAa,wBAAyB,YAAW,gBAAgB;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGzE;AAED,qBAAa,oBAAqB,YAAW,gBAAgB;IACrD,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGzE;AAED,qBAAa,qBAAsB,YAAW,gBAAgB;IACtD,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGjE;AAED,qBAAa,oBAAqB,YAAW,gBAAgB;IACrD,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAIvC,KAAK;CAKpB;AAED,qBAAa,wBAAyB,YAAW,gBAAgB;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAInG;AAcD,qBAAa,uBAAwB,YAAW,gBAAgB;IACxD,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAcnG;AAED,qBAAa,0BAA2B,YAAW,gBAAgB;IAC3D,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAUnG"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValueObjectSourceProcessor = exports.TemplateSourceProcessor = exports.RouteArgsSourceProcessor = exports.FetchSourceProcessor = exports.MethodSourceProcessor = exports.QuerySourceProcessor = exports.OriginUrlSourceProcessor = exports.UrlSourceProcessor = exports.CookieSourceProcessor = exports.ResponseStatusSourceProcessor = exports.ResponseHeaderSourceProcessor = exports.RequestHeaderSourceProcessor = exports.LiteralSourceProcessor = void 0;
4
+ const _1 = require(".");
5
+ const lodash_1 = require("lodash");
6
+ // import { parseUA } from '../../../util/UserAgent';
7
+ const Template_1 = require("../../util/Template");
8
+ class LiteralSourceProcessor {
9
+ async getSource({ source }) {
10
+ return source;
11
+ }
12
+ }
13
+ exports.LiteralSourceProcessor = LiteralSourceProcessor;
14
+ class RequestHeaderSourceProcessor {
15
+ async getSource({ source }, ctx) {
16
+ return (0, lodash_1.isString)(source) ? ctx.getRequestHeaderValue(source) : null;
17
+ }
18
+ }
19
+ exports.RequestHeaderSourceProcessor = RequestHeaderSourceProcessor;
20
+ class ResponseHeaderSourceProcessor {
21
+ async getSource({ source }, ctx) {
22
+ return (0, lodash_1.isString)(source) ? ctx.getResponseHeaderValue(source) : null;
23
+ }
24
+ }
25
+ exports.ResponseHeaderSourceProcessor = ResponseHeaderSourceProcessor;
26
+ class ResponseStatusSourceProcessor {
27
+ async getSource(_, ctx) {
28
+ return ctx.response?.status;
29
+ }
30
+ }
31
+ exports.ResponseStatusSourceProcessor = ResponseStatusSourceProcessor;
32
+ class CookieSourceProcessor {
33
+ async getSource({ source }, ctx) {
34
+ return (0, lodash_1.isString)(source) ? ctx.getCookieValue(source) : null;
35
+ }
36
+ }
37
+ exports.CookieSourceProcessor = CookieSourceProcessor;
38
+ class UrlSourceProcessor {
39
+ async getSource({ source }, ctx) {
40
+ return (0, lodash_1.isString)(source) ? ctx.getUrlValue(source) : null;
41
+ }
42
+ }
43
+ exports.UrlSourceProcessor = UrlSourceProcessor;
44
+ class OriginUrlSourceProcessor {
45
+ async getSource({ source }, ctx) {
46
+ return (0, lodash_1.isString)(source) ? ctx.getOriginUrlValue(source) : null;
47
+ }
48
+ }
49
+ exports.OriginUrlSourceProcessor = OriginUrlSourceProcessor;
50
+ class QuerySourceProcessor {
51
+ async getSource({ source }, ctx) {
52
+ return (0, lodash_1.isString)(source) ? ctx.getQueryValue(source) : null;
53
+ }
54
+ }
55
+ exports.QuerySourceProcessor = QuerySourceProcessor;
56
+ class MethodSourceProcessor {
57
+ async getSource(_, ctx) {
58
+ return ctx.request.method;
59
+ }
60
+ }
61
+ exports.MethodSourceProcessor = MethodSourceProcessor;
62
+ class FetchSourceProcessor {
63
+ async getSource({ source }) {
64
+ return this.fetch(source);
65
+ }
66
+ async fetch(url) {
67
+ return fetch(url, {
68
+ method: 'GET',
69
+ }).then(res => res.json());
70
+ }
71
+ }
72
+ exports.FetchSourceProcessor = FetchSourceProcessor;
73
+ class RouteArgsSourceProcessor {
74
+ async getSource({ source }, ctx, processor) {
75
+ const arg = processor.args?.[source];
76
+ return arg ? new _1.Value(arg, processor).get(ctx) : null;
77
+ }
78
+ }
79
+ exports.RouteArgsSourceProcessor = RouteArgsSourceProcessor;
80
+ // export class UserAgentSourceProcessor implements ISourceProcessor {
81
+ // async getSource({ sourceType, source }: IValue, ctx: RouteContext): Promise<unknown> {
82
+ // const ua = ctx.getRequestHeaderValue('user-agent');
83
+ // if (!ua || !source || !isString(source)) {
84
+ // return null;
85
+ // }
86
+ //
87
+ // const uaDetail = parseUA(ua);
88
+ // return get(uaDetail, `${sourceType}.${source}`, null);
89
+ // }
90
+ // }
91
+ class TemplateSourceProcessor {
92
+ async getSource({ source }, ctx, processor) {
93
+ if (!source || !(0, lodash_1.isString)(source)) {
94
+ return null;
95
+ }
96
+ const args = {};
97
+ for (const key in processor.args) {
98
+ args[key] = await new _1.Value(processor.args[key], processor).get(ctx);
99
+ }
100
+ const data = {
101
+ ctx,
102
+ args,
103
+ };
104
+ return (0, Template_1.esTemplate)(source, data);
105
+ }
106
+ }
107
+ exports.TemplateSourceProcessor = TemplateSourceProcessor;
108
+ class ValueObjectSourceProcessor {
109
+ async getSource({ source }, ctx, processor) {
110
+ if ((0, lodash_1.isObject)(source)) {
111
+ const valueObj = {};
112
+ await Promise.all(Object.keys(source).map(async (key) => {
113
+ valueObj[key] = await new _1.Value(source[key], processor).get(ctx);
114
+ }));
115
+ return valueObj;
116
+ }
117
+ return null;
118
+ }
119
+ }
120
+ exports.ValueObjectSourceProcessor = ValueObjectSourceProcessor;
121
+ //# sourceMappingURL=SourceProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceProcessor.js","sourceRoot":"","sources":["../../../../src/core/Value/SourceProcessor.ts"],"names":[],"mappings":";;;AAAA,wBAA0B;AAC1B,mCAA4C;AAK5C,qDAAqD;AACrD,kDAAiD;AAMjD,MAAa,sBAAsB;IACjC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAJD,wDAIC;AAED,MAAa,4BAA4B;IACvC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU,EAAE,GAAiB;QACnD,OAAO,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;CACF;AAJD,oEAIC;AAED,MAAa,6BAA6B;IACxC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU,EAAE,GAAiB;QACnD,OAAO,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;CACF;AAJD,sEAIC;AAED,MAAa,6BAA6B;IACxC,KAAK,CAAC,SAAS,CAAC,CAAS,EAAE,GAAiB;QAC1C,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC9B,CAAC;CACF;AAJD,sEAIC;AAED,MAAa,qBAAqB;IAChC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU,EAAE,GAAiB;QACnD,OAAO,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;CACF;AAJD,sDAIC;AAED,MAAa,kBAAkB;IAC7B,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU,EAAE,GAAiB;QACnD,OAAO,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,MAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,wBAAwB;IACnC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU,EAAE,GAAiB;QACnD,OAAO,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;CACF;AAJD,4DAIC;AAED,MAAa,oBAAoB;IAC/B,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU,EAAE,GAAiB;QACnD,OAAO,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;CACF;AAJD,oDAIC;AAED,MAAa,qBAAqB;IAChC,KAAK,CAAC,SAAS,CAAC,CAAU,EAAE,GAAiB;QAC3C,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF;AAJD,sDAIC;AAED,MAAa,oBAAoB;IAC/B,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAgB,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,GAAW;QAC7B,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAsB,CAAC,CAAC;IACjD,CAAC;CACF;AAVD,oDAUC;AAED,MAAa,wBAAwB;IACnC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU,EAAE,GAAiB,EAAE,SAAwB;QAC7E,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,MAAgB,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,QAAK,CAAC,GAAmB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;CACF;AALD,4DAKC;AAED,sEAAsE;AACtE,2FAA2F;AAC3F,0DAA0D;AAC1D,iDAAiD;AACjD,qBAAqB;AACrB,QAAQ;AACR,EAAE;AACF,oCAAoC;AACpC,6DAA6D;AAC7D,MAAM;AACN,IAAI;AAEJ,MAAa,uBAAuB;IAClC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU,EAAE,GAAiB,EAAE,SAAwB;QAC7E,IAAI,CAAC,MAAM,IAAI,CAAC,IAAA,iBAAQ,EAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,QAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAiB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,IAAI,GAAG;YACX,GAAG;YACH,IAAI;SACL,CAAC;QACF,OAAO,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAfD,0DAeC;AAED,MAAa,0BAA0B;IACrC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAU,EAAE,GAAiB,EAAE,SAAwB;QAC7E,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAA4B,EAAE,CAAC;YAC7C,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBACpD,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,QAAK,CAAE,MAAuC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;YACJ,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAXD,gEAWC"}
@@ -0,0 +1,7 @@
1
+ import type { ISourceProcessor } from './SourceProcessor';
2
+ export declare class SourceProcessorManager {
3
+ static sourceProcessorMap: Map<string, ISourceProcessor>;
4
+ register(sourceType: string, processor: ISourceProcessor): void;
5
+ get(sourceType: string): ISourceProcessor | undefined;
6
+ }
7
+ //# sourceMappingURL=SourceProcessorManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceProcessorManager.d.ts","sourceRoot":"","sources":["../../../../src/core/Value/SourceProcessorManager.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,qBAAa,sBAAsB;IACjC,MAAM,CAAC,kBAAkB,gCActB;IAEH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB;IAOxD,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;CAGtD"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourceProcessorManager = void 0;
4
+ const Enum_1 = require("../../common/Enum");
5
+ const SourceProcessor_1 = require("./SourceProcessor");
6
+ class SourceProcessorManager {
7
+ register(sourceType, processor) {
8
+ if (SourceProcessorManager.sourceProcessorMap.has(sourceType)) {
9
+ throw new Error(`Source processor ${sourceType} already exists`);
10
+ }
11
+ SourceProcessorManager.sourceProcessorMap.set(sourceType, processor);
12
+ }
13
+ get(sourceType) {
14
+ return SourceProcessorManager.sourceProcessorMap.get(sourceType);
15
+ }
16
+ }
17
+ exports.SourceProcessorManager = SourceProcessorManager;
18
+ SourceProcessorManager.sourceProcessorMap = new Map([
19
+ [Enum_1.ValueSourceType.LITERAL, new SourceProcessor_1.LiteralSourceProcessor()],
20
+ [Enum_1.ValueSourceType.REQUEST_HEADER, new SourceProcessor_1.RequestHeaderSourceProcessor()],
21
+ [Enum_1.ValueSourceType.RESPONSE_HEADER, new SourceProcessor_1.ResponseHeaderSourceProcessor()],
22
+ [Enum_1.ValueSourceType.RESPONSE_STATUS, new SourceProcessor_1.ResponseStatusSourceProcessor()],
23
+ [Enum_1.ValueSourceType.COOKIE, new SourceProcessor_1.CookieSourceProcessor()],
24
+ [Enum_1.ValueSourceType.URL, new SourceProcessor_1.UrlSourceProcessor()],
25
+ [Enum_1.ValueSourceType.ORIGIN_URL, new SourceProcessor_1.OriginUrlSourceProcessor()],
26
+ [Enum_1.ValueSourceType.QUERY, new SourceProcessor_1.QuerySourceProcessor()],
27
+ [Enum_1.ValueSourceType.METHOD, new SourceProcessor_1.MethodSourceProcessor()],
28
+ [Enum_1.ValueSourceType.FETCH, new SourceProcessor_1.FetchSourceProcessor()],
29
+ [Enum_1.ValueSourceType.ROUTE_ARGS, new SourceProcessor_1.RouteArgsSourceProcessor()],
30
+ [Enum_1.ValueSourceType.STRING_TEMPLATE, new SourceProcessor_1.TemplateSourceProcessor()],
31
+ [Enum_1.ValueSourceType.VALUE_OBJECT, new SourceProcessor_1.ValueObjectSourceProcessor()],
32
+ ]);
33
+ //# sourceMappingURL=SourceProcessorManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceProcessorManager.js","sourceRoot":"","sources":["../../../../src/core/Value/SourceProcessorManager.ts"],"names":[],"mappings":";;;AAAA,4CAAoD;AACpD,uDAc2B;AAG3B,MAAa,sBAAsB;IAiBjC,QAAQ,CAAC,UAAkB,EAAE,SAA2B;QACtD,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,iBAAiB,CAAC,CAAC;QACnE,CAAC;QACD,sBAAsB,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAED,GAAG,CAAC,UAAkB;QACpB,OAAO,sBAAsB,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;;AA1BH,wDA2BC;AA1BQ,yCAAkB,GAAG,IAAI,GAAG,CAA2B;IAC5D,CAAE,sBAAe,CAAC,OAAO,EAAE,IAAI,wCAAsB,EAAE,CAAE;IACzD,CAAE,sBAAe,CAAC,cAAc,EAAE,IAAI,8CAA4B,EAAE,CAAE;IACtE,CAAE,sBAAe,CAAC,eAAe,EAAE,IAAI,+CAA6B,EAAE,CAAE;IACxE,CAAE,sBAAe,CAAC,eAAe,EAAE,IAAI,+CAA6B,EAAE,CAAE;IACxE,CAAE,sBAAe,CAAC,MAAM,EAAE,IAAI,uCAAqB,EAAE,CAAE;IACvD,CAAE,sBAAe,CAAC,GAAG,EAAE,IAAI,oCAAkB,EAAE,CAAE;IACjD,CAAE,sBAAe,CAAC,UAAU,EAAE,IAAI,0CAAwB,EAAE,CAAE;IAC9D,CAAE,sBAAe,CAAC,KAAK,EAAE,IAAI,sCAAoB,EAAE,CAAE;IACrD,CAAE,sBAAe,CAAC,MAAM,EAAE,IAAI,uCAAqB,EAAE,CAAE;IACvD,CAAE,sBAAe,CAAC,KAAK,EAAE,IAAI,sCAAoB,EAAE,CAAE;IACrD,CAAE,sBAAe,CAAC,UAAU,EAAE,IAAI,0CAAwB,EAAE,CAAE;IAC9D,CAAE,sBAAe,CAAC,eAAe,EAAE,IAAI,yCAAuB,EAAE,CAAE;IAClE,CAAE,sBAAe,CAAC,YAAY,EAAE,IAAI,4CAA0B,EAAE,CAAE;CACnE,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { RouteContext } from '../RouteContext';
2
+ import type { BaseProcessor } from '../Processor';
3
+ import type { RawMatch } from '../Match';
4
+ export interface IValueProcessor {
5
+ getValue(value: unknown, ctx: RouteContext, processor: BaseProcessor): Promise<unknown>;
6
+ }
7
+ export declare class JsonValueProcessor implements IValueProcessor {
8
+ getValue<T extends object>(value: unknown): Promise<T | null>;
9
+ }
10
+ export declare class StringValueProcessor implements IValueProcessor {
11
+ getValue(value: unknown): Promise<string | null>;
12
+ }
13
+ export declare class NumberValueProcessor implements IValueProcessor {
14
+ getValue(value: unknown): Promise<number | null>;
15
+ }
16
+ export declare class IntegerValueProcessor implements IValueProcessor {
17
+ getValue(value: unknown): Promise<number>;
18
+ }
19
+ export declare class BooleanValueProcessor implements IValueProcessor {
20
+ getValue(value: unknown): Promise<boolean>;
21
+ }
22
+ export declare class MatchValueProcessor implements IValueProcessor {
23
+ getValue(value: RawMatch, ctx: RouteContext, processor: BaseProcessor): Promise<boolean>;
24
+ }
25
+ //# sourceMappingURL=ValueProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueProcessor.d.ts","sourceRoot":"","sources":["../../../../src/core/Value/ValueProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzF;AAED,qBAAa,kBAAmB,YAAW,eAAe;IAClD,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CASpE;AAED,qBAAa,oBAAqB,YAAW,eAAe;IACpD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAKvD;AAED,qBAAa,oBAAqB,YAAW,eAAe;IACpD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAIvD;AAED,qBAAa,qBAAsB,YAAW,eAAe;IACrD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAGhD;AAED,qBAAa,qBAAsB,YAAW,eAAe;IACrD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAGjD;AAED,qBAAa,mBAAoB,YAAW,eAAe;IACnD,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ/F"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MatchValueProcessor = exports.BooleanValueProcessor = exports.IntegerValueProcessor = exports.NumberValueProcessor = exports.StringValueProcessor = exports.JsonValueProcessor = void 0;
4
+ const Match_1 = require("../Match");
5
+ const lodash_1 = require("lodash");
6
+ class JsonValueProcessor {
7
+ async getValue(value) {
8
+ try {
9
+ return (0, lodash_1.isObject)(value) ? value : JSON.parse(value);
10
+ }
11
+ catch (err) {
12
+ // Error processing value, log error and return null
13
+ console.error('Value processing failed:', err);
14
+ return null;
15
+ }
16
+ }
17
+ }
18
+ exports.JsonValueProcessor = JsonValueProcessor;
19
+ class StringValueProcessor {
20
+ async getValue(value) {
21
+ return !(0, lodash_1.isNil)(value)
22
+ ? (0, lodash_1.isString)(value) ? value : JSON.stringify(value)
23
+ : null;
24
+ }
25
+ }
26
+ exports.StringValueProcessor = StringValueProcessor;
27
+ class NumberValueProcessor {
28
+ async getValue(value) {
29
+ const res = Number(value);
30
+ return isNaN(res) ? null : res;
31
+ }
32
+ }
33
+ exports.NumberValueProcessor = NumberValueProcessor;
34
+ class IntegerValueProcessor {
35
+ async getValue(value) {
36
+ return parseInt(value, 10);
37
+ }
38
+ }
39
+ exports.IntegerValueProcessor = IntegerValueProcessor;
40
+ class BooleanValueProcessor {
41
+ async getValue(value) {
42
+ return Boolean(value);
43
+ }
44
+ }
45
+ exports.BooleanValueProcessor = BooleanValueProcessor;
46
+ class MatchValueProcessor {
47
+ async getValue(value, ctx, processor) {
48
+ // 如果 value 为空则直接返回 true
49
+ if (!value) {
50
+ return true;
51
+ }
52
+ const match = new Match_1.Match(value, processor);
53
+ return match.match(ctx, ctx.logger);
54
+ }
55
+ }
56
+ exports.MatchValueProcessor = MatchValueProcessor;
57
+ //# sourceMappingURL=ValueProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueProcessor.js","sourceRoot":"","sources":["../../../../src/core/Value/ValueProcessor.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AACjC,mCAAmD;AASnD,MAAa,kBAAkB;IAC7B,KAAK,CAAC,QAAQ,CAAmB,KAAc;QAC7C,IAAI,CAAC;YACH,OAAO,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAe,CAAM,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oDAAoD;YACpD,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAVD,gDAUC;AAED,MAAa,oBAAoB;IAC/B,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,OAAO,CAAC,IAAA,cAAK,EAAC,KAAK,CAAC;YAClB,CAAC,CAAC,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;CACF;AAND,oDAMC;AAED,MAAa,oBAAoB;IAC/B,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACjC,CAAC;CACF;AALD,oDAKC;AAED,MAAa,qBAAqB;IAChC,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,OAAO,QAAQ,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;CACF;AAJD,sDAIC;AAED,MAAa,qBAAqB;IAChC,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF;AAJD,sDAIC;AAED,MAAa,mBAAmB;IAC9B,KAAK,CAAC,QAAQ,CAAC,KAAe,EAAE,GAAiB,EAAE,SAAwB;QACzE,wBAAwB;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF;AATD,kDASC"}
@@ -0,0 +1,8 @@
1
+ import { ValueType } from '../../common/Enum';
2
+ import type { IValueProcessor } from './ValueProcessor';
3
+ export declare class ValueProcessorManager {
4
+ static valueProcessorMap: Map<ValueType, IValueProcessor>;
5
+ register(valueType: ValueType, processor: IValueProcessor): void;
6
+ get(valueType: ValueType): IValueProcessor | undefined;
7
+ }
8
+ //# sourceMappingURL=ValueProcessorManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueProcessorManager.d.ts","sourceRoot":"","sources":["../../../../src/core/Value/ValueProcessorManager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,qBAAa,qBAAqB;IAChC,MAAM,CAAC,iBAAiB,kCAQrB;IAEH,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe;IAOzD,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS;CAGvD"}