surgio 2.25.3 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/LICENSE +1 -1
  2. package/bin/dev +17 -0
  3. package/bin/dev.cmd +3 -0
  4. package/bin/run +8 -0
  5. package/bin/run.cmd +3 -0
  6. package/build/base-command.d.ts +19 -0
  7. package/build/base-command.js +75 -0
  8. package/build/base-command.js.map +1 -0
  9. package/build/commands/check.d.ts +10 -0
  10. package/build/commands/check.js +88 -0
  11. package/build/commands/check.js.map +1 -0
  12. package/build/commands/clean-cache.d.ts +6 -0
  13. package/build/commands/clean-cache.js +29 -0
  14. package/build/commands/clean-cache.js.map +1 -0
  15. package/build/commands/doctor.d.ts +6 -0
  16. package/build/commands/doctor.js +21 -0
  17. package/build/commands/doctor.js.map +1 -0
  18. package/build/commands/generate.d.ts +7 -0
  19. package/build/commands/generate.js +93 -0
  20. package/build/commands/generate.js.map +1 -0
  21. package/build/commands/lint.d.ts +6 -0
  22. package/build/commands/lint.js +36 -0
  23. package/build/commands/lint.js.map +1 -0
  24. package/build/commands/new.d.ts +6 -0
  25. package/build/commands/new.js +36 -0
  26. package/build/commands/new.js.map +1 -0
  27. package/build/commands/subscriptions.d.ts +7 -0
  28. package/build/commands/subscriptions.js +96 -0
  29. package/build/commands/subscriptions.js.map +1 -0
  30. package/build/commands/upload.d.ts +6 -0
  31. package/build/commands/upload.js +89 -0
  32. package/build/commands/upload.js.map +1 -0
  33. package/build/config.d.ts +6 -0
  34. package/build/config.js +151 -0
  35. package/build/config.js.map +1 -0
  36. package/build/configurables.d.ts +80 -0
  37. package/build/configurables.js +52 -0
  38. package/build/configurables.js.map +1 -0
  39. package/build/constant/constant.d.ts +16 -16
  40. package/build/constant/constant.js +3 -13
  41. package/build/constant/constant.js.map +1 -0
  42. package/build/constant/env.js +1 -1
  43. package/build/constant/env.js.map +1 -0
  44. package/build/constant/error.js +1 -1
  45. package/build/constant/error.js.map +1 -0
  46. package/build/constant/index.js +1 -1
  47. package/build/constant/index.js.map +1 -0
  48. package/build/generator/artifact.d.ts +302 -67
  49. package/build/generator/artifact.js +141 -101
  50. package/build/generator/artifact.js.map +1 -0
  51. package/build/generator/index.d.ts +2 -0
  52. package/build/generator/index.js +19 -0
  53. package/build/generator/index.js.map +1 -0
  54. package/build/generator/template.js +2 -28
  55. package/build/generator/template.js.map +1 -0
  56. package/build/hooks/init.d.ts +3 -0
  57. package/build/hooks/init.js +33 -0
  58. package/build/hooks/init.js.map +1 -0
  59. package/build/index.d.ts +68 -66
  60. package/build/index.js +11 -51
  61. package/build/index.js.map +1 -0
  62. package/build/internal.d.ts +5 -0
  63. package/build/internal.js +25 -0
  64. package/build/internal.js.map +1 -0
  65. package/build/misc/deprecation.d.ts +1 -6
  66. package/build/misc/deprecation.js +1 -8
  67. package/build/misc/deprecation.js.map +1 -0
  68. package/build/misc/flag_cn.d.ts +49 -50
  69. package/build/misc/flag_cn.js +3 -3
  70. package/build/misc/flag_cn.js.map +1 -0
  71. package/build/provider/BlackSSLProvider.d.ts +4 -3
  72. package/build/provider/BlackSSLProvider.js +28 -16
  73. package/build/provider/BlackSSLProvider.js.map +1 -0
  74. package/build/provider/ClashProvider.d.ts +7 -10
  75. package/build/provider/ClashProvider.js +168 -76
  76. package/build/provider/ClashProvider.js.map +1 -0
  77. package/build/provider/CustomProvider.d.ts +4 -3
  78. package/build/provider/CustomProvider.js +98 -54
  79. package/build/provider/CustomProvider.js.map +1 -0
  80. package/build/provider/Provider.d.ts +9 -22
  81. package/build/provider/Provider.js +34 -69
  82. package/build/provider/Provider.js.map +1 -0
  83. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +4 -5
  84. package/build/provider/ShadowsocksJsonSubscribeProvider.js +31 -21
  85. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +1 -0
  86. package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -8
  87. package/build/provider/ShadowsocksSubscribeProvider.js +33 -27
  88. package/build/provider/ShadowsocksSubscribeProvider.js.map +1 -0
  89. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -8
  90. package/build/provider/ShadowsocksrSubscribeProvider.js +33 -23
  91. package/build/provider/ShadowsocksrSubscribeProvider.js.map +1 -0
  92. package/build/provider/SsdProvider.d.ts +5 -8
  93. package/build/provider/SsdProvider.js +59 -39
  94. package/build/provider/SsdProvider.js.map +1 -0
  95. package/build/provider/TrojanProvider.d.ts +5 -8
  96. package/build/provider/TrojanProvider.js +40 -30
  97. package/build/provider/TrojanProvider.js.map +1 -0
  98. package/build/provider/V2rayNSubscribeProvider.d.ts +4 -5
  99. package/build/provider/V2rayNSubscribeProvider.js +64 -33
  100. package/build/provider/V2rayNSubscribeProvider.js.map +1 -0
  101. package/build/provider/index.d.ts +16 -2
  102. package/build/provider/index.js +12 -5
  103. package/build/provider/index.js.map +1 -0
  104. package/build/provider/types.d.ts +10 -1
  105. package/build/provider/types.js +1 -1
  106. package/build/provider/types.js.map +1 -0
  107. package/build/redis.js +1 -1
  108. package/build/redis.js.map +1 -0
  109. package/build/types.d.ts +42 -236
  110. package/build/types.js +2 -1
  111. package/build/types.js.map +1 -0
  112. package/build/utils/cache.js +29 -27
  113. package/build/utils/cache.js.map +1 -0
  114. package/build/utils/clash.d.ts +204 -3
  115. package/build/utils/clash.js +247 -110
  116. package/build/utils/clash.js.map +1 -0
  117. package/build/utils/constant.js +1 -1
  118. package/build/utils/constant.js.map +1 -0
  119. package/build/utils/dns.js +1 -1
  120. package/build/utils/dns.js.map +1 -0
  121. package/build/utils/doctor.d.ts +2 -0
  122. package/build/utils/doctor.js +38 -0
  123. package/build/utils/doctor.js.map +1 -0
  124. package/build/utils/env-flag.js +2 -2
  125. package/build/utils/env-flag.js.map +1 -0
  126. package/build/utils/error-helper.d.ts +2 -2
  127. package/build/utils/error-helper.js +51 -16
  128. package/build/utils/error-helper.js.map +1 -0
  129. package/build/utils/errors.d.ts +19 -0
  130. package/build/utils/errors.js +60 -0
  131. package/build/utils/errors.js.map +1 -0
  132. package/build/utils/filter.d.ts +46 -43
  133. package/build/utils/filter.js +57 -59
  134. package/build/utils/filter.js.map +1 -0
  135. package/build/utils/flag.js +6 -6
  136. package/build/utils/flag.js.map +1 -0
  137. package/build/utils/http-client.js +38 -5
  138. package/build/utils/http-client.js.map +1 -0
  139. package/build/utils/index.d.ts +14 -21
  140. package/build/utils/index.js +102 -118
  141. package/build/utils/index.js.map +1 -0
  142. package/build/utils/linter.js +5 -2
  143. package/build/utils/linter.js.map +1 -0
  144. package/build/utils/loon.d.ts +3 -2
  145. package/build/utils/loon.js +67 -5
  146. package/build/utils/loon.js.map +1 -0
  147. package/build/utils/quantumult.d.ts +3 -3
  148. package/build/utils/quantumult.js +190 -258
  149. package/build/utils/quantumult.js.map +1 -0
  150. package/build/utils/relayable-url.js +1 -1
  151. package/build/utils/relayable-url.js.map +1 -0
  152. package/build/utils/remote-snippet.js +37 -14
  153. package/build/utils/remote-snippet.js.map +1 -0
  154. package/build/utils/ss.js +27 -17
  155. package/build/utils/ss.js.map +1 -0
  156. package/build/utils/ssr.js +3 -4
  157. package/build/utils/ssr.js.map +1 -0
  158. package/build/utils/subscription.js +10 -9
  159. package/build/utils/subscription.js.map +1 -0
  160. package/build/utils/surfboard.d.ts +3 -2
  161. package/build/utils/surfboard.js +142 -126
  162. package/build/utils/surfboard.js.map +1 -0
  163. package/build/utils/surge.d.ts +4 -2
  164. package/build/utils/surge.js +328 -300
  165. package/build/utils/surge.js.map +1 -0
  166. package/build/utils/time.d.ts +1 -0
  167. package/build/utils/time.js +6 -0
  168. package/build/utils/time.js.map +1 -0
  169. package/build/utils/tmp-helper.js +8 -1
  170. package/build/utils/tmp-helper.js.map +1 -0
  171. package/build/utils/trojan.js +19 -11
  172. package/build/utils/trojan.js.map +1 -0
  173. package/build/validators/artifact.d.ts +35 -0
  174. package/build/validators/artifact.js +17 -0
  175. package/build/validators/artifact.js.map +1 -0
  176. package/build/validators/common.d.ts +121 -0
  177. package/build/validators/common.js +65 -0
  178. package/build/validators/common.js.map +1 -0
  179. package/build/validators/filter.d.ts +10 -0
  180. package/build/validators/filter.js +15 -0
  181. package/build/validators/filter.js.map +1 -0
  182. package/build/validators/hooks.d.ts +9 -0
  183. package/build/validators/hooks.js +11 -0
  184. package/build/validators/hooks.js.map +1 -0
  185. package/build/validators/http.d.ts +137 -0
  186. package/build/validators/http.js +19 -0
  187. package/build/validators/http.js.map +1 -0
  188. package/build/validators/index.d.ts +15 -0
  189. package/build/validators/index.js +32 -0
  190. package/build/validators/index.js.map +1 -0
  191. package/build/validators/provider.d.ts +114 -0
  192. package/build/validators/provider.js +42 -0
  193. package/build/validators/provider.js.map +1 -0
  194. package/build/validators/shadowsocks.d.ts +86 -0
  195. package/build/validators/shadowsocks.js +29 -0
  196. package/build/validators/shadowsocks.js.map +1 -0
  197. package/build/validators/shadowsocksr.d.ts +77 -0
  198. package/build/validators/shadowsocksr.js +19 -0
  199. package/build/validators/shadowsocksr.js.map +1 -0
  200. package/build/validators/snell.d.ts +71 -0
  201. package/build/validators/snell.js +17 -0
  202. package/build/validators/snell.js.map +1 -0
  203. package/build/validators/socks5.d.ts +77 -0
  204. package/build/validators/socks5.js +19 -0
  205. package/build/validators/socks5.js.map +1 -0
  206. package/build/validators/surgio-config.d.ts +307 -0
  207. package/build/validators/surgio-config.js +95 -0
  208. package/build/validators/surgio-config.js.map +1 -0
  209. package/build/validators/trojan.d.ts +86 -0
  210. package/build/validators/trojan.js +15 -0
  211. package/build/validators/trojan.js.map +1 -0
  212. package/build/validators/tuic.d.ts +301 -0
  213. package/build/validators/tuic.js +21 -0
  214. package/build/validators/tuic.js.map +1 -0
  215. package/build/validators/vmess.d.ts +92 -0
  216. package/build/validators/vmess.js +29 -0
  217. package/build/validators/vmess.js.map +1 -0
  218. package/build/validators/wireguard.d.ts +123 -0
  219. package/build/validators/wireguard.js +26 -0
  220. package/build/validators/wireguard.js.map +1 -0
  221. package/config.d.ts +1 -0
  222. package/config.js +1 -0
  223. package/constant.d.ts +1 -0
  224. package/constant.js +1 -0
  225. package/generator.d.ts +1 -0
  226. package/generator.js +1 -0
  227. package/hygen-template/artifact/new/index.js +15 -15
  228. package/hygen-template/provider/new/index.js +8 -7
  229. package/hygen-template/template/new/index.js +3 -3
  230. package/index.d.ts +1 -0
  231. package/index.js +1 -0
  232. package/internal.d.ts +1 -0
  233. package/internal.js +1 -0
  234. package/package.json +120 -80
  235. package/provider.d.ts +1 -0
  236. package/provider.js +1 -0
  237. package/utils.d.ts +1 -0
  238. package/utils.js +1 -0
  239. package/bin/surgio.js +0 -8
  240. package/build/command/check.d.ts +0 -9
  241. package/build/command/check.js +0 -79
  242. package/build/command/clean-cache.d.ts +0 -8
  243. package/build/command/clean-cache.js +0 -43
  244. package/build/command/doctor.d.ts +0 -9
  245. package/build/command/doctor.js +0 -63
  246. package/build/command/generate.d.ts +0 -8
  247. package/build/command/generate.js +0 -64
  248. package/build/command/lint.d.ts +0 -7
  249. package/build/command/lint.js +0 -42
  250. package/build/command/new.d.ts +0 -7
  251. package/build/command/new.js +0 -44
  252. package/build/command/subscriptions.d.ts +0 -10
  253. package/build/command/subscriptions.js +0 -87
  254. package/build/command/upload.d.ts +0 -9
  255. package/build/command/upload.js +0 -101
  256. package/build/generate.d.ts +0 -4
  257. package/build/generate.js +0 -75
  258. package/build/utils/command.d.ts +0 -2
  259. package/build/utils/command.js +0 -23
  260. package/build/utils/config.d.ts +0 -6
  261. package/build/utils/config.js +0 -245
  262. package/build/utils/patch-proxy.d.ts +0 -1
  263. package/build/utils/patch-proxy.js +0 -19
  264. package/build/utils/v2ray.d.ts +0 -4
  265. package/build/utils/v2ray.js +0 -41
package/build/redis.js CHANGED
@@ -58,4 +58,4 @@ const prepareRedis = () => {
58
58
  };
59
59
  const redis = prepareRedis();
60
60
  exports.default = redis;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvcmVkaXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBOEM7QUFDOUMsc0RBQTRCO0FBRTVCLHlDQUF3QztBQUV4QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztBQUV6RCxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7SUFDeEIsSUFBSSxNQUFNLEdBQWlCLElBQUksQ0FBQztJQUNoQyxJQUFJLFFBQVEsR0FBa0IsSUFBSSxDQUFDO0lBRW5DLE9BQU87UUFDTCxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU07UUFDeEIsV0FBVyxDQUFDLFNBQWlCLEVBQUUsV0FBaUI7WUFDOUMsSUFBSSxNQUFNLElBQUksUUFBUSxFQUFFO2dCQUN0QixNQUFNLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNwRSxPQUFPLE1BQU0sQ0FBQzthQUNmO1lBQ0QsUUFBUSxHQUFHLFNBQVMsQ0FBQztZQUVyQixJQUFJLFdBQVcsRUFBRTtnQkFDZixNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDckM7aUJBQU07Z0JBQ0wsTUFBTSxHQUFHLElBQUksaUJBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMvQjtZQUVELE9BQU8sTUFBZSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxRQUFRO1lBQ04sSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7YUFDcEQ7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBQ0QsS0FBSyxDQUFDLFlBQVk7WUFDaEIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2QsUUFBUSxHQUFHLElBQUksQ0FBQzthQUNqQjtRQUNILENBQUM7UUFDRCxLQUFLLENBQUMsVUFBVTtZQUNkLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsT0FBTzthQUNSO1lBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE1BQU07b0JBQUUsT0FBTztnQkFFcEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcscUJBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUVGLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtvQkFBRSxPQUFPO2dCQUM3QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsTUFBTSxLQUFLLEdBQUcsWUFBWSxFQUFFLENBQUM7QUFFN0Isa0JBQWUsS0FBSyxDQUFDIn0=
61
+ //# sourceMappingURL=redis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.js","sourceRoot":"","sources":["../src/redis.ts"],"names":[],"mappings":";;;;;AAAA,2CAA6C;AAC7C,sDAA2B;AAE3B,yCAAuC;AAEvC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;AAExD,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,IAAI,MAAM,GAAiB,IAAI,CAAA;IAC/B,IAAI,QAAQ,GAAkB,IAAI,CAAA;IAElC,OAAO;QACL,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM;QACxB,WAAW,CAAC,SAAiB,EAAE,WAAiB;YAC9C,IAAI,MAAM,IAAI,QAAQ,EAAE;gBACtB,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,QAAQ,CAAC,CAAA;gBACnE,OAAO,MAAM,CAAA;aACd;YACD,QAAQ,GAAG,SAAS,CAAA;YAEpB,IAAI,WAAW,EAAE;gBACf,MAAM,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAA;aACpC;iBAAM;gBACL,MAAM,GAAG,IAAI,iBAAK,CAAC,SAAS,CAAC,CAAA;aAC9B;YAED,OAAO,MAAe,CAAA;QACxB,CAAC;QACD,QAAQ;YACN,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;aACnD;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBACnB,MAAM,GAAG,IAAI,CAAA;gBACb,QAAQ,GAAG,IAAI,CAAA;aAChB;QACH,CAAC;QACD,KAAK,CAAC,UAAU;YACd,IAAI,CAAC,MAAM,EAAE;gBACX,OAAM;aACP;YAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,MAAM,CAAC,IAAI,CAAC,qBAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClC,IAAI,CAAC,MAAM;oBAAE,OAAM;gBAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAU,CAAC,GAA8B,CAAC,IAAI,CAAC,CAAA;YACvE,CAAC,CAAC,CACH,CAAA;YAED,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,OAAM;gBAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AACD,MAAM,KAAK,GAAG,YAAY,EAAE,CAAA;AAE5B,kBAAe,KAAK,CAAA"}
package/build/types.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- import Provider from './provider/Provider';
1
+ import { z } from 'zod';
2
+ import type { Provider, GetNodeListParams } from './provider';
3
+ import { WireguardNodeConfigValidator, ProviderValidator, ShadowsocksNodeConfigValidator, HttpNodeConfigValidator, HttpsNodeConfigValidator, TrojanNodeConfigValidator, ShadowsocksrNodeConfigValidator, Socks5NodeConfigValidator, VmessNodeConfigValidator, SnellNodeConfigValidator, TuicNodeConfigValidator, SurgioConfigValidator, ArtifactValidator, RemoteSnippetValidator, NodeFilterTypeValidator, SortedNodeFilterTypeValidator } from './validators';
2
4
  export declare enum NodeTypeEnum {
3
5
  HTTPS = "https",
4
6
  HTTP = "http",
@@ -8,7 +10,8 @@ export declare enum NodeTypeEnum {
8
10
  Vmess = "vmess",
9
11
  Trojan = "trojan",
10
12
  Socks5 = "socks5",
11
- Tuic = "tuic"
13
+ Tuic = "tuic",
14
+ Wireguard = "wireguard"
12
15
  }
13
16
  export declare enum SupportProviderEnum {
14
17
  Clash = "clash",
@@ -21,126 +24,44 @@ export declare enum SupportProviderEnum {
21
24
  Ssd = "ssd",
22
25
  Trojan = "trojan"
23
26
  }
24
- export interface CommandConfig {
27
+ export type CommandConfigBeforeNormalize = z.infer<typeof SurgioConfigValidator>;
28
+ export type CommandConfig = CommandConfigBeforeNormalize & {
25
29
  publicUrl: string;
26
- readonly output: string;
27
- readonly artifacts: ReadonlyArray<ArtifactConfig>;
28
- readonly remoteSnippets?: ReadonlyArray<RemoteSnippetConfig>;
29
- readonly urlBase: string;
30
- readonly providerDir: string;
31
- readonly templateDir: string;
32
- readonly configDir: string;
33
- readonly analytics?: boolean;
34
- readonly checkHostname?: boolean;
35
- readonly upload?: {
36
- readonly prefix?: string;
37
- readonly region?: string;
38
- readonly endpoint?: string;
39
- readonly bucket: string;
40
- readonly accessKeyId: string;
41
- readonly accessKeySecret: string;
42
- };
43
- readonly binPath?: {
44
- readonly shadowsocksr?: string;
45
- readonly v2ray?: string;
46
- vmess?: string;
47
- };
48
- readonly flags?: {
49
- [name: string]: ReadonlyArray<string | RegExp> | string | RegExp;
50
- };
51
- readonly surgeConfig?: {
52
- readonly shadowsocksFormat?: 'ss' | 'custom';
53
- readonly v2ray?: 'native' | 'external';
54
- readonly resolveHostname?: boolean;
55
- readonly vmessAEAD?: boolean;
56
- };
57
- readonly quantumultXConfig?: {
58
- readonly vmessAEAD?: boolean;
59
- };
60
- readonly clashConfig?: {
61
- readonly ssrFormat?: 'native' | 'legacy';
62
- readonly enableTuic?: boolean;
63
- };
64
- readonly surfboardConfig?: {
65
- readonly vmessAEAD?: boolean;
66
- };
67
- readonly gateway?: {
68
- readonly accessToken?: string;
69
- readonly viewerToken?: string;
70
- readonly auth?: boolean;
71
- readonly cookieMaxAge?: number;
72
- readonly useCacheOnError?: boolean;
73
- };
74
- readonly proxyTestUrl?: string;
75
- readonly proxyTestInterval?: number;
76
- readonly customFilters?: {
77
- readonly [name: string]: NodeNameFilterType | SortedNodeNameFilterType;
78
- };
79
- readonly customParams?: PlainObjectOf<string | boolean | number>;
80
- readonly cache?: {
81
- readonly type?: 'redis' | 'default';
82
- readonly redisUrl?: string;
83
- };
84
- }
85
- export interface RemoteSnippetConfig {
86
- readonly url: string;
87
- readonly name: string;
88
- readonly surgioSnippet?: boolean;
89
- }
30
+ output: string;
31
+ urlBase: string;
32
+ providerDir: string;
33
+ templateDir: string;
34
+ configDir: string;
35
+ };
36
+ export type RemoteSnippetConfig = z.infer<typeof RemoteSnippetValidator>;
90
37
  export interface RemoteSnippet extends RemoteSnippetConfig {
91
38
  readonly main: (...args: string[]) => string;
92
39
  readonly text: string;
93
40
  }
94
- export interface ArtifactConfig {
95
- readonly name: string;
96
- readonly template: string | undefined;
97
- readonly provider: string;
98
- readonly combineProviders?: ReadonlyArray<string>;
99
- readonly categories?: ReadonlyArray<string>;
100
- readonly customParams?: PlainObjectOf<string | boolean | number>;
101
- readonly proxyGroupModifier?: ProxyGroupModifier;
102
- readonly destDir?: string;
103
- readonly templateString?: string;
104
- readonly downloadUrl?: string;
105
- }
106
- export interface ProviderConfig {
107
- readonly type: SupportProviderEnum;
108
- readonly nodeFilter?: NodeFilterType | SortedNodeNameFilterType;
109
- readonly netflixFilter?: NodeNameFilterType | SortedNodeNameFilterType;
110
- readonly youtubePremiumFilter?: NodeNameFilterType | SortedNodeNameFilterType;
111
- readonly startPort?: number;
112
- readonly customFilters?: {
113
- readonly [name: string]: NodeNameFilterType | SortedNodeNameFilterType;
114
- };
115
- readonly addFlag?: boolean;
116
- readonly removeExistingFlag?: boolean;
117
- readonly tfo?: boolean;
118
- readonly mptcp?: boolean;
119
- readonly renameNode?: (name: string) => string;
120
- readonly relayUrl?: boolean | string;
121
- readonly requestUserAgent?: string;
122
- readonly cache?: {
123
- readonly type?: 'redis' | 'default';
124
- };
125
- readonly underlyingProxy?: string;
126
- }
41
+ export type ArtifactConfig = z.infer<typeof ArtifactValidator>;
42
+ export type ProviderConfig = z.infer<typeof ProviderValidator>;
127
43
  export interface BlackSSLProviderConfig extends ProviderConfig {
44
+ readonly type: SupportProviderEnum.BlackSSL;
128
45
  readonly username: string;
129
46
  readonly password: string;
130
47
  }
131
48
  export interface ShadowsocksJsonSubscribeProviderConfig extends ProviderConfig {
49
+ readonly type: SupportProviderEnum.ShadowsocksJsonSubscribe;
132
50
  readonly url: string;
133
51
  readonly udpRelay?: boolean;
134
52
  }
135
53
  export interface ShadowsocksSubscribeProviderConfig extends ProviderConfig {
54
+ readonly type: SupportProviderEnum.ShadowsocksSubscribe;
136
55
  readonly url: string;
137
56
  readonly udpRelay?: boolean;
138
57
  }
139
58
  export interface ShadowsocksrSubscribeProviderConfig extends ProviderConfig {
59
+ readonly type: SupportProviderEnum.ShadowsocksrSubscribe;
140
60
  readonly url: string;
141
61
  readonly udpRelay?: boolean;
142
62
  }
143
63
  export interface V2rayNSubscribeProviderConfig extends ProviderConfig {
64
+ readonly type: SupportProviderEnum.V2rayNSubscribe;
144
65
  readonly url: string;
145
66
  readonly compatibleMode?: boolean;
146
67
  readonly skipCertVerify?: boolean;
@@ -148,124 +69,38 @@ export interface V2rayNSubscribeProviderConfig extends ProviderConfig {
148
69
  readonly tls13?: boolean;
149
70
  }
150
71
  export interface ClashProviderConfig extends ProviderConfig {
72
+ readonly type: SupportProviderEnum.Clash;
151
73
  readonly url: string;
152
74
  readonly udpRelay?: boolean;
153
75
  readonly tls13?: boolean;
154
76
  }
155
77
  export interface SsdProviderConfig extends ProviderConfig {
78
+ readonly type: SupportProviderEnum.Ssd;
156
79
  readonly url: string;
157
80
  readonly udpRelay?: boolean;
158
81
  }
82
+ export type AsyncCustomProviderNodeList = (params: GetNodeListParams) => Promise<ReadonlyArray<PossibleNodeConfigType>>;
159
83
  export interface CustomProviderConfig extends ProviderConfig {
160
- readonly nodeList: ReadonlyArray<any>;
84
+ readonly type: SupportProviderEnum.Custom;
85
+ readonly nodeList: ReadonlyArray<PossibleNodeConfigType> | AsyncCustomProviderNodeList;
161
86
  }
162
87
  export interface TrojanProviderConfig extends ProviderConfig {
88
+ readonly type: SupportProviderEnum.Trojan;
163
89
  readonly url: string;
164
90
  readonly udpRelay?: boolean;
165
91
  readonly tls13?: boolean;
166
92
  }
167
- export interface HttpNodeConfig extends SimpleNodeConfig {
168
- readonly type: NodeTypeEnum.HTTP;
169
- readonly hostname: string;
170
- readonly port: number | string;
171
- readonly username: string;
172
- readonly password: string;
173
- }
174
- export interface HttpsNodeConfig extends TlsNodeConfig {
175
- readonly type: NodeTypeEnum.HTTPS;
176
- readonly username: string;
177
- readonly password: string;
178
- }
179
- export interface ShadowsocksNodeConfig extends SimpleNodeConfig {
180
- readonly type: NodeTypeEnum.Shadowsocks;
181
- readonly hostname: string;
182
- readonly port: number | string;
183
- readonly method: string;
184
- readonly password: string;
185
- readonly 'udp-relay'?: boolean;
186
- readonly obfs?: 'tls' | 'http' | 'ws' | 'wss';
187
- readonly 'obfs-host'?: string;
188
- readonly 'obfs-uri'?: string;
189
- readonly skipCertVerify?: boolean;
190
- readonly wsHeaders?: Record<string, string>;
191
- readonly tls13?: boolean;
192
- readonly mux?: boolean;
193
- }
194
- export interface SnellNodeConfig extends SimpleNodeConfig {
195
- readonly type: NodeTypeEnum.Snell;
196
- readonly hostname: string;
197
- readonly port: number | string;
198
- readonly psk: string;
199
- readonly obfs?: string;
200
- readonly 'obfs-host'?: string;
201
- readonly version?: string;
202
- readonly reuse?: boolean;
203
- }
204
- export interface ShadowsocksrNodeConfig extends SimpleNodeConfig {
205
- readonly type: NodeTypeEnum.Shadowsocksr;
206
- readonly hostname: string;
207
- readonly port: number | string;
208
- readonly method: string;
209
- readonly protocol: string;
210
- readonly obfs: string;
211
- readonly password: string;
212
- readonly obfsparam: string;
213
- readonly protoparam: string;
214
- readonly 'udp-relay'?: boolean;
215
- }
216
- export interface VmessNodeConfig extends SimpleNodeConfig {
217
- readonly type: NodeTypeEnum.Vmess;
218
- readonly hostname: string;
219
- readonly port: number | string;
220
- readonly method: 'auto' | 'aes-128-gcm' | 'chacha20-ietf-poly1305' | 'none';
221
- readonly uuid: string;
222
- readonly alterId: string;
223
- readonly network: 'tcp' | 'ws';
224
- readonly tls: boolean;
225
- readonly host?: string;
226
- readonly path?: string;
227
- readonly 'udp-relay'?: boolean;
228
- readonly tls13?: boolean;
229
- readonly skipCertVerify?: boolean;
230
- readonly wsHeaders?: Record<string, string>;
231
- readonly serverCertFingerprintSha256?: string;
232
- }
233
- export interface TrojanNodeConfig extends TlsNodeConfig {
234
- readonly type: NodeTypeEnum.Trojan;
235
- readonly password: string;
236
- readonly 'udp-relay'?: boolean;
237
- readonly network?: 'tcp' | 'ws';
238
- readonly wsPath?: string;
239
- readonly wsHeaders?: Record<string, string>;
240
- }
241
- export interface TuicNodeConfig extends TlsNodeConfig {
242
- readonly type: NodeTypeEnum.Tuic;
243
- readonly token: string;
244
- readonly 'udp-relay'?: boolean;
245
- }
246
- export interface Socks5NodeConfig extends SimpleNodeConfig {
247
- readonly type: NodeTypeEnum.Socks5;
248
- readonly hostname: string;
249
- readonly port: number | string;
250
- readonly username?: string;
251
- readonly password?: string;
252
- readonly tls?: boolean;
253
- readonly skipCertVerify?: boolean;
254
- readonly udpRelay?: boolean;
255
- readonly sni?: string;
256
- readonly clientCert?: string;
257
- }
258
- export interface SimpleNodeConfig {
259
- readonly type: NodeTypeEnum;
260
- nodeName: string;
261
- enable?: boolean;
262
- tfo?: boolean;
263
- mptcp?: boolean;
264
- shadowTls?: {
265
- password: string;
266
- sni?: string;
267
- version?: string;
268
- };
93
+ export type HttpNodeConfig = z.infer<typeof HttpNodeConfigValidator> & SurgioInternals;
94
+ export type HttpsNodeConfig = z.infer<typeof HttpsNodeConfigValidator> & SurgioInternals;
95
+ export type TrojanNodeConfig = z.infer<typeof TrojanNodeConfigValidator> & SurgioInternals;
96
+ export type ShadowsocksNodeConfig = z.infer<typeof ShadowsocksNodeConfigValidator> & SurgioInternals;
97
+ export type ShadowsocksrNodeConfig = z.infer<typeof ShadowsocksrNodeConfigValidator> & SurgioInternals;
98
+ export type Socks5NodeConfig = z.infer<typeof Socks5NodeConfigValidator> & SurgioInternals;
99
+ export type SnellNodeConfig = z.infer<typeof SnellNodeConfigValidator> & SurgioInternals;
100
+ export type VmessNodeConfig = z.infer<typeof VmessNodeConfigValidator> & SurgioInternals;
101
+ export type TuicNodeConfig = z.infer<typeof TuicNodeConfigValidator> & SurgioInternals;
102
+ export type WireguardNodeConfig = z.infer<typeof WireguardNodeConfigValidator> & SurgioInternals;
103
+ export interface SurgioInternals {
269
104
  binPath?: string;
270
105
  localPort?: number;
271
106
  surgeConfig?: CommandConfig['surgeConfig'];
@@ -274,26 +109,6 @@ export interface SimpleNodeConfig {
274
109
  surfboardConfig?: CommandConfig['surfboardConfig'];
275
110
  hostnameIp?: ReadonlyArray<string>;
276
111
  provider?: Provider;
277
- underlyingProxy?: string;
278
- testUrl?: string;
279
- }
280
- export interface TlsNodeConfig extends SimpleNodeConfig {
281
- readonly hostname: string;
282
- readonly port: number | string;
283
- readonly tls13?: boolean;
284
- readonly skipCertVerify?: boolean;
285
- readonly sni?: string;
286
- readonly alpn?: ReadonlyArray<string>;
287
- readonly serverCertFingerprintSha256?: string;
288
- }
289
- export interface PlainObject {
290
- readonly [name: string]: any;
291
- }
292
- export interface PlainObjectOf<T> {
293
- readonly [name: string]: T;
294
- }
295
- export interface CreateServerOptions {
296
- readonly cwd?: string;
297
112
  }
298
113
  export interface SubscriptionUserinfo {
299
114
  readonly upload: number;
@@ -301,16 +116,7 @@ export interface SubscriptionUserinfo {
301
116
  readonly total: number;
302
117
  readonly expire: number;
303
118
  }
304
- export declare type NodeFilterType = (nodeConfig: PossibleNodeConfigType) => boolean;
305
- export declare type NodeNameFilterType = (simpleNodeConfig: SimpleNodeConfig) => boolean;
306
- export interface SortedNodeNameFilterType {
307
- readonly filter: <T>(nodeList: ReadonlyArray<T & SimpleNodeConfig>) => ReadonlyArray<T & SimpleNodeConfig>;
308
- readonly supportSort?: boolean;
309
- }
310
- export declare type PossibleNodeConfigType = HttpsNodeConfig | HttpNodeConfig | ShadowsocksNodeConfig | ShadowsocksrNodeConfig | SnellNodeConfig | VmessNodeConfig | TrojanNodeConfig | Socks5NodeConfig | TuicNodeConfig;
311
- export declare type ProxyGroupModifier = (nodeList: ReadonlyArray<PossibleNodeConfigType>, filters: PlainObjectOf<NodeNameFilterType | SortedNodeNameFilterType>) => ReadonlyArray<{
312
- readonly name: string;
313
- readonly type: 'select' | 'url-test' | 'fallback' | 'load-balance';
314
- readonly proxies?: ReadonlyArray<string>;
315
- readonly filter?: NodeNameFilterType;
316
- }>;
119
+ export type NodeFilterType = z.infer<typeof NodeFilterTypeValidator>;
120
+ export type SortedNodeFilterType = z.infer<typeof SortedNodeFilterTypeValidator>;
121
+ export type PossibleNodeConfigType = HttpsNodeConfig | HttpNodeConfig | ShadowsocksNodeConfig | ShadowsocksrNodeConfig | SnellNodeConfig | VmessNodeConfig | TrojanNodeConfig | Socks5NodeConfig | TuicNodeConfig | WireguardNodeConfig;
122
+ export type PossibleProviderConfigType = BlackSSLProviderConfig | ClashProviderConfig | CustomProviderConfig | ShadowsocksJsonSubscribeProviderConfig | ShadowsocksrSubscribeProviderConfig | ShadowsocksSubscribeProviderConfig | SsdProviderConfig | TrojanProviderConfig | V2rayNSubscribeProviderConfig;
package/build/types.js CHANGED
@@ -12,6 +12,7 @@ var NodeTypeEnum;
12
12
  NodeTypeEnum["Trojan"] = "trojan";
13
13
  NodeTypeEnum["Socks5"] = "socks5";
14
14
  NodeTypeEnum["Tuic"] = "tuic";
15
+ NodeTypeEnum["Wireguard"] = "wireguard";
15
16
  })(NodeTypeEnum = exports.NodeTypeEnum || (exports.NodeTypeEnum = {}));
16
17
  var SupportProviderEnum;
17
18
  (function (SupportProviderEnum) {
@@ -25,4 +26,4 @@ var SupportProviderEnum;
25
26
  SupportProviderEnum["Ssd"] = "ssd";
26
27
  SupportProviderEnum["Trojan"] = "trojan";
27
28
  })(SupportProviderEnum = exports.SupportProviderEnum || (exports.SupportProviderEnum = {}));
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsSUFBWSxZQVVYO0FBVkQsV0FBWSxZQUFZO0lBQ3RCLCtCQUFlLENBQUE7SUFDZiw2QkFBYSxDQUFBO0lBQ2IsMkNBQTJCLENBQUE7SUFDM0IsNkNBQTZCLENBQUE7SUFDN0IsK0JBQWUsQ0FBQTtJQUNmLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtJQUNqQixpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVZXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBVXZCO0FBRUQsSUFBWSxtQkFVWDtBQVZELFdBQVksbUJBQW1CO0lBQzdCLHNDQUFlLENBQUE7SUFDZix3Q0FBaUIsQ0FBQTtJQUNqQixxRUFBOEMsQ0FBQTtJQUM5Qyx1RUFBZ0QsQ0FBQTtJQUNoRCw4RUFBdUQsQ0FBQTtJQUN2RCwyREFBb0MsQ0FBQTtJQUNwQyw0Q0FBcUIsQ0FBQTtJQUNyQixrQ0FBVyxDQUFBO0lBQ1gsd0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLG1CQUFtQixHQUFuQiwyQkFBbUIsS0FBbkIsMkJBQW1CLFFBVTlCIn0=
29
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAsBA,IAAY,YAWX;AAXD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,2CAA2B,CAAA;IAC3B,6CAA6B,CAAA;IAC7B,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,uCAAuB,CAAA;AACzB,CAAC,EAXW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAWvB;AAED,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,qEAA8C,CAAA;IAC9C,uEAAgD,CAAA;IAChD,8EAAuD,CAAA;IACvD,2DAAoC,CAAA;IACpC,4CAAqB,CAAA;IACrB,kCAAW,CAAA;IACX,wCAAiB,CAAA;AACnB,CAAC,EAVW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAU9B"}
@@ -6,49 +6,51 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.cleanCaches = exports.RedisCache = exports.SubscriptionCache = exports.ConfigCache = void 0;
7
7
  const node_cache_1 = __importDefault(require("node-cache"));
8
8
  const env_flag_1 = require("./env-flag");
9
- const index_1 = require("./index");
10
9
  const redis_1 = __importDefault(require("../redis"));
10
+ const time_1 = require("./time");
11
11
  exports.ConfigCache = new node_cache_1.default({
12
- stdTTL: (0, index_1.msToSeconds)((0, env_flag_1.getProviderCacheMaxage)()),
12
+ stdTTL: (0, time_1.msToSeconds)((0, env_flag_1.getProviderCacheMaxage)()),
13
13
  maxKeys: 300,
14
14
  useClones: false,
15
15
  });
16
16
  exports.SubscriptionCache = new node_cache_1.default({
17
- stdTTL: (0, index_1.msToSeconds)((0, env_flag_1.getProviderCacheMaxage)()),
17
+ stdTTL: (0, time_1.msToSeconds)((0, env_flag_1.getProviderCacheMaxage)()),
18
18
  maxKeys: 300,
19
19
  useClones: false,
20
20
  });
21
21
  class RedisCache {
22
+ namespace;
23
+ redisClient;
22
24
  constructor(namespace) {
23
25
  this.namespace = namespace;
24
- this.setCache = async (key, value, { ttl } = {}) => {
25
- const storeValue = JSON.stringify(value);
26
- if (typeof ttl === 'undefined') {
27
- await this.redisClient.set(this.getCacheKey(key), storeValue);
28
- }
29
- else {
30
- await this.redisClient.set(this.getCacheKey(key), storeValue, 'EX', ttl);
31
- }
32
- };
33
- this.getCache = async (key) => {
34
- const value = await this.redisClient.get(this.getCacheKey(key));
35
- if (!value) {
36
- return undefined;
37
- }
38
- return JSON.parse(value);
39
- };
40
- this.hasCache = async (key) => {
41
- const value = await this.redisClient.exists(this.getCacheKey(key));
42
- return !!value;
43
- };
44
- this.deleteCache = async (key) => {
45
- await this.redisClient.del(this.getCacheKey(key));
46
- };
47
26
  this.redisClient = redis_1.default.getRedis();
48
27
  }
49
28
  getCacheKey(key) {
50
29
  return this.namespace ? `${this.namespace}:${key}` : key;
51
30
  }
31
+ setCache = async (key, value, { ttl } = {}) => {
32
+ const storeValue = JSON.stringify(value);
33
+ if (typeof ttl === 'undefined') {
34
+ await this.redisClient.set(this.getCacheKey(key), storeValue);
35
+ }
36
+ else {
37
+ await this.redisClient.set(this.getCacheKey(key), storeValue, 'EX', ttl);
38
+ }
39
+ };
40
+ getCache = async (key) => {
41
+ const value = await this.redisClient.get(this.getCacheKey(key));
42
+ if (!value) {
43
+ return undefined;
44
+ }
45
+ return JSON.parse(value);
46
+ };
47
+ hasCache = async (key) => {
48
+ const value = await this.redisClient.exists(this.getCacheKey(key));
49
+ return !!value;
50
+ };
51
+ deleteCache = async (key) => {
52
+ await this.redisClient.del(this.getCacheKey(key));
53
+ };
52
54
  }
53
55
  exports.RedisCache = RedisCache;
54
56
  // istanbul ignore next
@@ -60,4 +62,4 @@ const cleanCaches = async () => {
60
62
  }
61
63
  };
62
64
  exports.cleanCaches = cleanCaches;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsNERBQW1DO0FBR25DLHlDQUFvRDtBQUNwRCxtQ0FBc0M7QUFDdEMscURBQTZCO0FBT2hCLFFBQUEsV0FBVyxHQUFHLElBQUksb0JBQVMsQ0FBQztJQUN2QyxNQUFNLEVBQUUsSUFBQSxtQkFBVyxFQUFDLElBQUEsaUNBQXNCLEdBQUUsQ0FBQztJQUM3QyxPQUFPLEVBQUUsR0FBRztJQUNaLFNBQVMsRUFBRSxLQUFLO0NBQ2pCLENBQUMsQ0FBQztBQUVVLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSxvQkFBUyxDQUFDO0lBQzdDLE1BQU0sRUFBRSxJQUFBLG1CQUFXLEVBQUMsSUFBQSxpQ0FBc0IsR0FBRSxDQUFDO0lBQzdDLE9BQU8sRUFBRSxHQUFHO0lBQ1osU0FBUyxFQUFFLEtBQUs7Q0FDakIsQ0FBQyxDQUFDO0FBRUgsTUFBYSxVQUFVO0lBR3JCLFlBQW1CLFNBQWtCO1FBQWxCLGNBQVMsR0FBVCxTQUFTLENBQVM7UUFRckMsYUFBUSxHQUFHLEtBQUssRUFDZCxHQUFXLEVBQ1gsS0FBYyxFQUNkLEVBQUUsR0FBRyxLQUF1QixFQUFFLEVBQzlCLEVBQUU7WUFDRixNQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWpELElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxFQUFFO2dCQUM5QixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDL0Q7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDMUU7UUFDSCxDQUFDLENBQUM7UUFFRixhQUFRLEdBQUcsS0FBSyxFQUFLLEdBQVcsRUFBMEIsRUFBRTtZQUMxRCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUVoRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBTSxDQUFDO1FBQ2hDLENBQUMsQ0FBQztRQUVGLGFBQVEsR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFvQixFQUFFO1lBQ2pELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRW5FLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRTtZQUNsQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUM7UUF2Q0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDM0QsQ0FBQztDQW1DRjtBQTVDRCxnQ0E0Q0M7QUFFRCx1QkFBdUI7QUFDaEIsTUFBTSxXQUFXLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDcEMsbUJBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2Qix5QkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUU3QixJQUFJLGVBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUNwQixNQUFNLGVBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztLQUMxQjtBQUNILENBQUMsQ0FBQztBQVBXLFFBQUEsV0FBVyxlQU90QiJ9
65
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":";;;;;;AACA,4DAAkC;AAGlC,yCAAmD;AACnD,qDAA4B;AAC5B,iCAAoC;AAOvB,QAAA,WAAW,GAAG,IAAI,oBAAS,CAAC;IACvC,MAAM,EAAE,IAAA,kBAAW,EAAC,IAAA,iCAAsB,GAAE,CAAC;IAC7C,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,KAAK;CACjB,CAAC,CAAA;AAEW,QAAA,iBAAiB,GAAG,IAAI,oBAAS,CAAC;IAC7C,MAAM,EAAE,IAAA,kBAAW,EAAC,IAAA,iCAAsB,GAAE,CAAC;IAC7C,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,KAAK;CACjB,CAAC,CAAA;AAEF,MAAa,UAAU;IAGF;IAFX,WAAW,CAAO;IAE1B,YAAmB,SAAkB;QAAlB,cAAS,GAAT,SAAS,CAAS;QACnC,IAAI,CAAC,WAAW,GAAG,eAAK,CAAC,QAAQ,EAAE,CAAA;IACrC,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IAC1D,CAAC;IAED,QAAQ,GAAG,KAAK,EACd,GAAW,EACX,KAAc,EACd,EAAE,GAAG,KAAuB,EAAE,EAC9B,EAAE;QACF,MAAM,UAAU,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAEhD,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;YAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAA;SAC9D;aAAM;YACL,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;SACzE;IACH,CAAC,CAAA;IAED,QAAQ,GAAG,KAAK,EAAK,GAAW,EAA0B,EAAE;QAC1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;QAE/D,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,SAAS,CAAA;SACjB;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAA;IAC/B,CAAC,CAAA;IAED,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAoB,EAAE;QACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;QAElE,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC,CAAA;IAED,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QAClC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IACnD,CAAC,CAAA;CACF;AA5CD,gCA4CC;AAED,uBAAuB;AAChB,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IACpC,mBAAW,CAAC,QAAQ,EAAE,CAAA;IACtB,yBAAiB,CAAC,QAAQ,EAAE,CAAA;IAE5B,IAAI,eAAK,CAAC,QAAQ,EAAE,EAAE;QACpB,MAAM,eAAK,CAAC,UAAU,EAAE,CAAA;KACzB;AACH,CAAC,CAAA;AAPY,QAAA,WAAW,eAOvB"}