@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,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,195 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ 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");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ 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");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _RouteContext_errors, _RouteContext_originRequest, _RouteContext_originRequestUrl, _RouteContext_request, _RouteContext_response, _RouteContext_requestUrl, _RouteContext_requestUrlWithoutParams, _RouteContext_requestInit;
13
+ import { UrlValueType } from '../common/Enum';
14
+ import { parse } from 'cookie';
15
+ import { getSuffix } from '../util/Url';
16
+ import { BaseError, ErrorCode, genError } from '../common/Error';
17
+ import { RENDER_ROUTE_ERROR_HEADER } from '../common/constants';
18
+ import { encodeErrorMessage } from '../util/LogUtil';
19
+ import { MiddlewareManager } from '../middleware';
20
+ export class RouteContext {
21
+ constructor(data) {
22
+ _RouteContext_errors.set(this, void 0);
23
+ _RouteContext_originRequest.set(this, void 0);
24
+ _RouteContext_originRequestUrl.set(this, void 0);
25
+ _RouteContext_request.set(this, void 0);
26
+ _RouteContext_response.set(this, void 0);
27
+ _RouteContext_requestUrl.set(this, void 0);
28
+ _RouteContext_requestUrlWithoutParams.set(this, void 0);
29
+ _RouteContext_requestInit.set(this, void 0);
30
+ this.event = data.event;
31
+ this.performance = data.performance;
32
+ this.httpClient = data.helper.httpClient;
33
+ this.logger = data.helper.logger;
34
+ this.middlewareManager = new MiddlewareManager({
35
+ middlewares: data.middlewares,
36
+ });
37
+ __classPrivateFieldSet(this, _RouteContext_request, data.request, "f");
38
+ __classPrivateFieldSet(this, _RouteContext_requestUrl, new URL(__classPrivateFieldGet(this, _RouteContext_request, "f").url), "f");
39
+ __classPrivateFieldSet(this, _RouteContext_requestUrlWithoutParams, `${__classPrivateFieldGet(this, _RouteContext_requestUrl, "f").origin}${__classPrivateFieldGet(this, _RouteContext_requestUrl, "f").pathname}`, "f");
40
+ __classPrivateFieldSet(this, _RouteContext_originRequest, data.request.clone(), "f");
41
+ __classPrivateFieldSet(this, _RouteContext_originRequestUrl, new URL(__classPrivateFieldGet(this, _RouteContext_originRequest, "f").url), "f");
42
+ __classPrivateFieldSet(this, _RouteContext_requestInit, {}, "f");
43
+ __classPrivateFieldSet(this, _RouteContext_errors, [], "f");
44
+ }
45
+ waitUntil(fn) {
46
+ return this.event.waitUntil(fn);
47
+ }
48
+ get request() {
49
+ return __classPrivateFieldGet(this, _RouteContext_request, "f");
50
+ }
51
+ get response() {
52
+ return __classPrivateFieldGet(this, _RouteContext_response, "f");
53
+ }
54
+ get originRequest() {
55
+ return __classPrivateFieldGet(this, _RouteContext_originRequest, "f");
56
+ }
57
+ get requestUrl() {
58
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f");
59
+ }
60
+ get originRequestUrl() {
61
+ return __classPrivateFieldGet(this, _RouteContext_originRequestUrl, "f");
62
+ }
63
+ get protocol() {
64
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").protocol;
65
+ }
66
+ get host() {
67
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").host;
68
+ }
69
+ get origin() {
70
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").origin;
71
+ }
72
+ get path() {
73
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").pathname;
74
+ }
75
+ get href() {
76
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").href;
77
+ }
78
+ get search() {
79
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").search;
80
+ }
81
+ get urlWithoutParams() {
82
+ return __classPrivateFieldGet(this, _RouteContext_requestUrlWithoutParams, "f");
83
+ }
84
+ get requestInit() {
85
+ return __classPrivateFieldGet(this, _RouteContext_requestInit, "f");
86
+ }
87
+ set requestInit(value) {
88
+ __classPrivateFieldSet(this, _RouteContext_requestInit, value, "f");
89
+ }
90
+ setRequest(request) {
91
+ if (request) {
92
+ __classPrivateFieldSet(this, _RouteContext_request, request, "f");
93
+ __classPrivateFieldSet(this, _RouteContext_requestUrl, new URL(request.url), "f");
94
+ __classPrivateFieldSet(this, _RouteContext_requestUrlWithoutParams, `${__classPrivateFieldGet(this, _RouteContext_requestUrl, "f").origin}${__classPrivateFieldGet(this, _RouteContext_requestUrl, "f").pathname}`, "f");
95
+ }
96
+ }
97
+ setResponse(response) {
98
+ if (response) {
99
+ __classPrivateFieldSet(this, _RouteContext_response, response, "f");
100
+ }
101
+ }
102
+ getRequestHeaderValue(name) {
103
+ return this.request.headers.get(name);
104
+ }
105
+ getResponseHeaderValue(name) {
106
+ return this.response?.headers.get(name) ?? null;
107
+ }
108
+ getCookieValue(name) {
109
+ const cookieStr = this.request.headers.get('cookie');
110
+ if (!cookieStr) {
111
+ return null;
112
+ }
113
+ const res = parse(cookieStr);
114
+ return res[name] || null;
115
+ }
116
+ getUrlValue(urlType) {
117
+ switch (urlType) {
118
+ case UrlValueType.HOST:
119
+ return this.host;
120
+ case UrlValueType.PATH:
121
+ return this.path;
122
+ case UrlValueType.HREF:
123
+ return this.urlWithoutParams;
124
+ case UrlValueType.SUFFIX:
125
+ return getSuffix(this.path, this.host);
126
+ default:
127
+ return null;
128
+ }
129
+ }
130
+ getOriginUrlValue(urlType) {
131
+ switch (urlType) {
132
+ case UrlValueType.HOST:
133
+ return this.originRequestUrl.host;
134
+ case UrlValueType.PATH:
135
+ return this.originRequestUrl.pathname;
136
+ default:
137
+ return null;
138
+ }
139
+ }
140
+ getQueryValue(name) {
141
+ return __classPrivateFieldGet(this, _RouteContext_requestUrl, "f").searchParams.get(name);
142
+ }
143
+ async fallback() {
144
+ return this.httpClient.request(this.originRequest, {
145
+ unioFallback: true,
146
+ });
147
+ }
148
+ logError(error) {
149
+ let formatError;
150
+ if (!BaseError.isBaseError(error)) {
151
+ formatError = genError(ErrorCode.SystemError, {
152
+ name: error.name,
153
+ message: encodeErrorMessage(error.message),
154
+ stack: encodeErrorMessage(error.stack),
155
+ });
156
+ }
157
+ else {
158
+ formatError = error;
159
+ }
160
+ __classPrivateFieldGet(this, _RouteContext_errors, "f").push(formatError);
161
+ // Error Stack 里本身包含了 name 和 message,这里只补充打印 code 跟 details 就行
162
+ const stackErrorMsg = `${formatError.code} ${formatError.details ?? ''}\n${formatError.stack}`;
163
+ this.logger.error(stackErrorMsg);
164
+ }
165
+ appendExtInfoToResponse(res) {
166
+ const newResponse = new Response(res.body, res);
167
+ if (__classPrivateFieldGet(this, _RouteContext_errors, "f").length === 0) {
168
+ return newResponse;
169
+ }
170
+ // append error Info
171
+ const errorCodeArr = [];
172
+ for (const error of __classPrivateFieldGet(this, _RouteContext_errors, "f")) {
173
+ errorCodeArr.push(error.toShownString());
174
+ }
175
+ newResponse.headers.set(RENDER_ROUTE_ERROR_HEADER, errorCodeArr.join('|') || '-');
176
+ return newResponse;
177
+ }
178
+ setMiddlewares(value) {
179
+ this.middlewareManager.set(value);
180
+ }
181
+ addMiddleware(middleware) {
182
+ this.middlewareManager.add(middleware);
183
+ }
184
+ clearMiddleware() {
185
+ void this.middlewareManager.clear();
186
+ }
187
+ get middlewares() {
188
+ return this.middlewareManager.middlewares;
189
+ }
190
+ async runMiddleware() {
191
+ return this.middlewareManager.run(this);
192
+ }
193
+ }
194
+ _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();
195
+ //# sourceMappingURL=RouteContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteContext.js","sourceRoot":"","sources":["../../../src/core/RouteContext.ts"],"names":[],"mappings":"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"}
@@ -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,105 @@
1
+ import { Value } from '.';
2
+ import { isObject, isString } from 'lodash';
3
+ // import { parseUA } from '../../../util/UserAgent';
4
+ import { esTemplate } from '../../util/Template';
5
+ export class LiteralSourceProcessor {
6
+ async getSource({ source }) {
7
+ return source;
8
+ }
9
+ }
10
+ export class RequestHeaderSourceProcessor {
11
+ async getSource({ source }, ctx) {
12
+ return isString(source) ? ctx.getRequestHeaderValue(source) : null;
13
+ }
14
+ }
15
+ export class ResponseHeaderSourceProcessor {
16
+ async getSource({ source }, ctx) {
17
+ return isString(source) ? ctx.getResponseHeaderValue(source) : null;
18
+ }
19
+ }
20
+ export class ResponseStatusSourceProcessor {
21
+ async getSource(_, ctx) {
22
+ return ctx.response?.status;
23
+ }
24
+ }
25
+ export class CookieSourceProcessor {
26
+ async getSource({ source }, ctx) {
27
+ return isString(source) ? ctx.getCookieValue(source) : null;
28
+ }
29
+ }
30
+ export class UrlSourceProcessor {
31
+ async getSource({ source }, ctx) {
32
+ return isString(source) ? ctx.getUrlValue(source) : null;
33
+ }
34
+ }
35
+ export class OriginUrlSourceProcessor {
36
+ async getSource({ source }, ctx) {
37
+ return isString(source) ? ctx.getOriginUrlValue(source) : null;
38
+ }
39
+ }
40
+ export class QuerySourceProcessor {
41
+ async getSource({ source }, ctx) {
42
+ return isString(source) ? ctx.getQueryValue(source) : null;
43
+ }
44
+ }
45
+ export class MethodSourceProcessor {
46
+ async getSource(_, ctx) {
47
+ return ctx.request.method;
48
+ }
49
+ }
50
+ export class FetchSourceProcessor {
51
+ async getSource({ source }) {
52
+ return this.fetch(source);
53
+ }
54
+ async fetch(url) {
55
+ return fetch(url, {
56
+ method: 'GET',
57
+ }).then(res => res.json());
58
+ }
59
+ }
60
+ export class RouteArgsSourceProcessor {
61
+ async getSource({ source }, ctx, processor) {
62
+ const arg = processor.args?.[source];
63
+ return arg ? new Value(arg, processor).get(ctx) : null;
64
+ }
65
+ }
66
+ // export class UserAgentSourceProcessor implements ISourceProcessor {
67
+ // async getSource({ sourceType, source }: IValue, ctx: RouteContext): Promise<unknown> {
68
+ // const ua = ctx.getRequestHeaderValue('user-agent');
69
+ // if (!ua || !source || !isString(source)) {
70
+ // return null;
71
+ // }
72
+ //
73
+ // const uaDetail = parseUA(ua);
74
+ // return get(uaDetail, `${sourceType}.${source}`, null);
75
+ // }
76
+ // }
77
+ export class TemplateSourceProcessor {
78
+ async getSource({ source }, ctx, processor) {
79
+ if (!source || !isString(source)) {
80
+ return null;
81
+ }
82
+ const args = {};
83
+ for (const key in processor.args) {
84
+ args[key] = await new Value(processor.args[key], processor).get(ctx);
85
+ }
86
+ const data = {
87
+ ctx,
88
+ args,
89
+ };
90
+ return esTemplate(source, data);
91
+ }
92
+ }
93
+ export class ValueObjectSourceProcessor {
94
+ async getSource({ source }, ctx, processor) {
95
+ if (isObject(source)) {
96
+ const valueObj = {};
97
+ await Promise.all(Object.keys(source).map(async (key) => {
98
+ valueObj[key] = await new Value(source[key], processor).get(ctx);
99
+ }));
100
+ return valueObj;
101
+ }
102
+ return null;
103
+ }
104
+ }
105
+ //# sourceMappingURL=SourceProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceProcessor.js","sourceRoot":"","sources":["../../../../src/core/Value/SourceProcessor.ts"],"names":[],"mappings":"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"}
@@ -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,29 @@
1
+ import { ValueSourceType } from '../../common/Enum';
2
+ import { CookieSourceProcessor, FetchSourceProcessor, LiteralSourceProcessor, MethodSourceProcessor, OriginUrlSourceProcessor, QuerySourceProcessor, RequestHeaderSourceProcessor, ResponseHeaderSourceProcessor, ResponseStatusSourceProcessor, RouteArgsSourceProcessor, TemplateSourceProcessor, UrlSourceProcessor, ValueObjectSourceProcessor, } from './SourceProcessor';
3
+ export class SourceProcessorManager {
4
+ register(sourceType, processor) {
5
+ if (SourceProcessorManager.sourceProcessorMap.has(sourceType)) {
6
+ throw new Error(`Source processor ${sourceType} already exists`);
7
+ }
8
+ SourceProcessorManager.sourceProcessorMap.set(sourceType, processor);
9
+ }
10
+ get(sourceType) {
11
+ return SourceProcessorManager.sourceProcessorMap.get(sourceType);
12
+ }
13
+ }
14
+ SourceProcessorManager.sourceProcessorMap = new Map([
15
+ [ValueSourceType.LITERAL, new LiteralSourceProcessor()],
16
+ [ValueSourceType.REQUEST_HEADER, new RequestHeaderSourceProcessor()],
17
+ [ValueSourceType.RESPONSE_HEADER, new ResponseHeaderSourceProcessor()],
18
+ [ValueSourceType.RESPONSE_STATUS, new ResponseStatusSourceProcessor()],
19
+ [ValueSourceType.COOKIE, new CookieSourceProcessor()],
20
+ [ValueSourceType.URL, new UrlSourceProcessor()],
21
+ [ValueSourceType.ORIGIN_URL, new OriginUrlSourceProcessor()],
22
+ [ValueSourceType.QUERY, new QuerySourceProcessor()],
23
+ [ValueSourceType.METHOD, new MethodSourceProcessor()],
24
+ [ValueSourceType.FETCH, new FetchSourceProcessor()],
25
+ [ValueSourceType.ROUTE_ARGS, new RouteArgsSourceProcessor()],
26
+ [ValueSourceType.STRING_TEMPLATE, new TemplateSourceProcessor()],
27
+ [ValueSourceType.VALUE_OBJECT, new ValueObjectSourceProcessor()],
28
+ ]);
29
+ //# sourceMappingURL=SourceProcessorManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceProcessorManager.js","sourceRoot":"","sources":["../../../../src/core/Value/SourceProcessorManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAG3B,MAAM,OAAO,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;;AAzBM,yCAAkB,GAAG,IAAI,GAAG,CAA2B;IAC5D,CAAE,eAAe,CAAC,OAAO,EAAE,IAAI,sBAAsB,EAAE,CAAE;IACzD,CAAE,eAAe,CAAC,cAAc,EAAE,IAAI,4BAA4B,EAAE,CAAE;IACtE,CAAE,eAAe,CAAC,eAAe,EAAE,IAAI,6BAA6B,EAAE,CAAE;IACxE,CAAE,eAAe,CAAC,eAAe,EAAE,IAAI,6BAA6B,EAAE,CAAE;IACxE,CAAE,eAAe,CAAC,MAAM,EAAE,IAAI,qBAAqB,EAAE,CAAE;IACvD,CAAE,eAAe,CAAC,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAE;IACjD,CAAE,eAAe,CAAC,UAAU,EAAE,IAAI,wBAAwB,EAAE,CAAE;IAC9D,CAAE,eAAe,CAAC,KAAK,EAAE,IAAI,oBAAoB,EAAE,CAAE;IACrD,CAAE,eAAe,CAAC,MAAM,EAAE,IAAI,qBAAqB,EAAE,CAAE;IACvD,CAAE,eAAe,CAAC,KAAK,EAAE,IAAI,oBAAoB,EAAE,CAAE;IACrD,CAAE,eAAe,CAAC,UAAU,EAAE,IAAI,wBAAwB,EAAE,CAAE;IAC9D,CAAE,eAAe,CAAC,eAAe,EAAE,IAAI,uBAAuB,EAAE,CAAE;IAClE,CAAE,eAAe,CAAC,YAAY,EAAE,IAAI,0BAA0B,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,48 @@
1
+ import { Match } from '../Match';
2
+ import { isNil, isObject, isString } from 'lodash';
3
+ export class JsonValueProcessor {
4
+ async getValue(value) {
5
+ try {
6
+ return isObject(value) ? value : JSON.parse(value);
7
+ }
8
+ catch (err) {
9
+ // Error processing value, log error and return null
10
+ console.error('Value processing failed:', err);
11
+ return null;
12
+ }
13
+ }
14
+ }
15
+ export class StringValueProcessor {
16
+ async getValue(value) {
17
+ return !isNil(value)
18
+ ? isString(value) ? value : JSON.stringify(value)
19
+ : null;
20
+ }
21
+ }
22
+ export class NumberValueProcessor {
23
+ async getValue(value) {
24
+ const res = Number(value);
25
+ return isNaN(res) ? null : res;
26
+ }
27
+ }
28
+ export class IntegerValueProcessor {
29
+ async getValue(value) {
30
+ return parseInt(value, 10);
31
+ }
32
+ }
33
+ export class BooleanValueProcessor {
34
+ async getValue(value) {
35
+ return Boolean(value);
36
+ }
37
+ }
38
+ export class MatchValueProcessor {
39
+ async getValue(value, ctx, processor) {
40
+ // 如果 value 为空则直接返回 true
41
+ if (!value) {
42
+ return true;
43
+ }
44
+ const match = new Match(value, processor);
45
+ return match.match(ctx, ctx.logger);
46
+ }
47
+ }
48
+ //# sourceMappingURL=ValueProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueProcessor.js","sourceRoot":"","sources":["../../../../src/core/Value/ValueProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AASnD,MAAM,OAAO,kBAAkB;IAC7B,KAAK,CAAC,QAAQ,CAAmB,KAAc;QAC7C,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,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;AAED,MAAM,OAAO,oBAAoB;IAC/B,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;CACF;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,OAAO,QAAQ,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF;AAED,MAAM,OAAO,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,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -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"}
@@ -0,0 +1,24 @@
1
+ import { BooleanValueProcessor, IntegerValueProcessor, JsonValueProcessor, MatchValueProcessor, NumberValueProcessor, StringValueProcessor, } from './ValueProcessor';
2
+ import { ValueType } from '../../common/Enum';
3
+ const stringValueProcessor = new StringValueProcessor();
4
+ export class ValueProcessorManager {
5
+ register(valueType, processor) {
6
+ if (ValueProcessorManager.valueProcessorMap.has(valueType)) {
7
+ throw new Error(`ValueProcessorManager: valueType ${valueType} already exists`);
8
+ }
9
+ ValueProcessorManager.valueProcessorMap.set(valueType, processor);
10
+ }
11
+ get(valueType) {
12
+ return ValueProcessorManager.valueProcessorMap.get(valueType);
13
+ }
14
+ }
15
+ ValueProcessorManager.valueProcessorMap = new Map([
16
+ [ValueType.JSON, new JsonValueProcessor()],
17
+ [ValueType.STRING, stringValueProcessor],
18
+ [ValueType.VERSION_STRING, stringValueProcessor],
19
+ [ValueType.NUMBER, new NumberValueProcessor()],
20
+ [ValueType.INTEGER, new IntegerValueProcessor()],
21
+ [ValueType.BOOLEAN, new BooleanValueProcessor()],
22
+ [ValueType.MATCH, new MatchValueProcessor()],
23
+ ]);
24
+ //# sourceMappingURL=ValueProcessorManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueProcessorManager.js","sourceRoot":"","sources":["../../../../src/core/Value/ValueProcessorManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAExD,MAAM,OAAO,qBAAqB;IAWhC,QAAQ,CAAC,SAAoB,EAAE,SAA0B;QACvD,IAAI,qBAAqB,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,iBAAiB,CAAC,CAAC;QAClF,CAAC;QACD,qBAAqB,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,GAAG,CAAC,SAAoB;QACtB,OAAO,qBAAqB,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;;AAnBM,uCAAiB,GAAG,IAAI,GAAG,CAA6B;IAC7D,CAAE,SAAS,CAAC,IAAI,EAAE,IAAI,kBAAkB,EAAE,CAAE;IAC5C,CAAE,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAE;IAC1C,CAAE,SAAS,CAAC,cAAc,EAAE,oBAAoB,CAAE;IAClD,CAAE,SAAS,CAAC,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAE;IAChD,CAAE,SAAS,CAAC,OAAO,EAAE,IAAI,qBAAqB,EAAE,CAAE;IAClD,CAAE,SAAS,CAAC,OAAO,EAAE,IAAI,qBAAqB,EAAE,CAAE;IAClD,CAAE,SAAS,CAAC,KAAK,EAAE,IAAI,mBAAmB,EAAE,CAAE;CAC/C,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { SourceProcessorManager } from './SourceProcessorManager';
2
+ import { ValueProcessorManager } from './ValueProcessorManager';
3
+ import type { ValueSourceType, ValueType } from '../../common/Enum';
4
+ import type { BaseProcessor } from '../Processor';
5
+ import type { RouteContext } from '../RouteContext';
6
+ export declare const sourceProcessorManager: SourceProcessorManager;
7
+ export declare const valueProcessorMap: ValueProcessorManager;
8
+ export interface ValueRawData {
9
+ source: unknown;
10
+ sourceType: ValueSourceType;
11
+ valueType?: ValueType;
12
+ }
13
+ export interface IValue {
14
+ get(ctx: RouteContext): Promise<unknown>;
15
+ toObject(): {
16
+ source: unknown;
17
+ sourceType: ValueSourceType;
18
+ };
19
+ get source(): unknown;
20
+ get sourceType(): ValueSourceType;
21
+ get valueType(): ValueType | undefined;
22
+ }
23
+ export declare class Value implements IValue {
24
+ #private;
25
+ constructor(raw: ValueRawData, processor: BaseProcessor);
26
+ get source(): unknown;
27
+ get sourceType(): ValueSourceType;
28
+ get valueType(): ValueType | undefined;
29
+ get(ctx: RouteContext): Promise<unknown>;
30
+ toObject(): {
31
+ source: unknown;
32
+ sourceType: ValueSourceType;
33
+ };
34
+ }
35
+ //# sourceMappingURL=index.d.ts.map