@thymian/core 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/README.md +7 -0
  2. package/dist/actions/action.d.ts +5 -0
  3. package/dist/actions/action.d.ts.map +1 -0
  4. package/dist/actions/action.js +2 -0
  5. package/dist/actions/action.js.map +1 -0
  6. package/dist/actions/close.action.d.ts +3 -0
  7. package/dist/actions/close.action.d.ts.map +1 -0
  8. package/dist/actions/close.action.js +2 -0
  9. package/dist/actions/close.action.js.map +1 -0
  10. package/dist/actions/index.d.ts +16 -0
  11. package/dist/actions/index.d.ts.map +1 -0
  12. package/dist/actions/index.js +5 -0
  13. package/dist/actions/index.js.map +1 -0
  14. package/dist/actions/load-format.action.d.ts +6 -0
  15. package/dist/actions/load-format.action.d.ts.map +1 -0
  16. package/dist/actions/load-format.action.js +62 -0
  17. package/dist/actions/load-format.action.js.map +1 -0
  18. package/dist/actions/ready.action.d.ts +3 -0
  19. package/dist/actions/ready.action.d.ts.map +1 -0
  20. package/dist/actions/ready.action.js +2 -0
  21. package/dist/actions/ready.action.js.map +1 -0
  22. package/dist/actions/run.action.d.ts +11 -0
  23. package/dist/actions/run.action.d.ts.map +1 -0
  24. package/dist/actions/run.action.js +16 -0
  25. package/dist/actions/run.action.js.map +1 -0
  26. package/dist/ajv.d.ts +5 -0
  27. package/dist/ajv.d.ts.map +1 -0
  28. package/dist/ajv.js +7 -0
  29. package/dist/ajv.js.map +1 -0
  30. package/dist/chalk.d.ts +2 -0
  31. package/dist/chalk.d.ts.map +1 -0
  32. package/dist/chalk.js +2 -0
  33. package/dist/chalk.js.map +1 -0
  34. package/dist/constants.d.ts +5 -0
  35. package/dist/constants.d.ts.map +1 -0
  36. package/dist/constants.js +6 -0
  37. package/dist/constants.js.map +1 -0
  38. package/dist/core-plugin.d.ts +5 -0
  39. package/dist/core-plugin.d.ts.map +1 -0
  40. package/dist/core-plugin.js +38 -0
  41. package/dist/core-plugin.js.map +1 -0
  42. package/dist/emitter/action-event.d.ts +19 -0
  43. package/dist/emitter/action-event.d.ts.map +1 -0
  44. package/dist/emitter/action-event.js +2 -0
  45. package/dist/emitter/action-event.js.map +1 -0
  46. package/dist/emitter/error-event.d.ts +13 -0
  47. package/dist/emitter/error-event.d.ts.map +1 -0
  48. package/dist/emitter/error-event.js +2 -0
  49. package/dist/emitter/error-event.js.map +1 -0
  50. package/dist/emitter/events.d.ts +10 -0
  51. package/dist/emitter/events.d.ts.map +1 -0
  52. package/dist/emitter/events.js +2 -0
  53. package/dist/emitter/events.js.map +1 -0
  54. package/dist/emitter/index.d.ts +6 -0
  55. package/dist/emitter/index.d.ts.map +1 -0
  56. package/dist/emitter/index.js +6 -0
  57. package/dist/emitter/index.js.map +1 -0
  58. package/dist/emitter/thymian-emitter.d.ts +51 -0
  59. package/dist/emitter/thymian-emitter.d.ts.map +1 -0
  60. package/dist/emitter/thymian-emitter.js +306 -0
  61. package/dist/emitter/thymian-emitter.js.map +1 -0
  62. package/dist/emitter/utils.d.ts +8 -0
  63. package/dist/emitter/utils.d.ts.map +1 -0
  64. package/dist/emitter/utils.js +16 -0
  65. package/dist/emitter/utils.js.map +1 -0
  66. package/dist/events/error.event.d.ts +5 -0
  67. package/dist/events/error.event.d.ts.map +1 -0
  68. package/dist/events/error.event.js +49 -0
  69. package/dist/events/error.event.js.map +1 -0
  70. package/dist/events/exit.event.d.ts +14 -0
  71. package/dist/events/exit.event.d.ts.map +1 -0
  72. package/dist/events/exit.event.js +9 -0
  73. package/dist/events/exit.event.js.map +1 -0
  74. package/dist/events/index.d.ts +15 -0
  75. package/dist/events/index.d.ts.map +1 -0
  76. package/dist/events/index.js +4 -0
  77. package/dist/events/index.js.map +1 -0
  78. package/dist/events/register-plugin.event.d.ts +51 -0
  79. package/dist/events/register-plugin.event.d.ts.map +1 -0
  80. package/dist/events/register-plugin.event.js +29 -0
  81. package/dist/events/register-plugin.event.js.map +1 -0
  82. package/dist/events/report.event.d.ts +28 -0
  83. package/dist/events/report.event.d.ts.map +1 -0
  84. package/dist/events/report.event.js +128 -0
  85. package/dist/events/report.event.js.map +1 -0
  86. package/dist/format/edges/edge.d.ts +8 -0
  87. package/dist/format/edges/edge.d.ts.map +1 -0
  88. package/dist/format/edges/edge.js +2 -0
  89. package/dist/format/edges/edge.js.map +1 -0
  90. package/dist/format/edges/has-sample.edge.d.ts +5 -0
  91. package/dist/format/edges/has-sample.edge.d.ts.map +1 -0
  92. package/dist/format/edges/has-sample.edge.js +2 -0
  93. package/dist/format/edges/has-sample.edge.js.map +1 -0
  94. package/dist/format/edges/http-link.edge.d.ts +10 -0
  95. package/dist/format/edges/http-link.edge.d.ts.map +1 -0
  96. package/dist/format/edges/http-link.edge.js +2 -0
  97. package/dist/format/edges/http-link.edge.js.map +1 -0
  98. package/dist/format/edges/http-transaction.edge.d.ts +5 -0
  99. package/dist/format/edges/http-transaction.edge.d.ts.map +1 -0
  100. package/dist/format/edges/http-transaction.edge.js +2 -0
  101. package/dist/format/edges/http-transaction.edge.js.map +1 -0
  102. package/dist/format/edges/is-secured-with.edge.d.ts +5 -0
  103. package/dist/format/edges/is-secured-with.edge.d.ts.map +1 -0
  104. package/dist/format/edges/is-secured-with.edge.js +2 -0
  105. package/dist/format/edges/is-secured-with.edge.js.map +1 -0
  106. package/dist/format/edges/sample-http-transaction.edge.d.ts +5 -0
  107. package/dist/format/edges/sample-http-transaction.edge.d.ts.map +1 -0
  108. package/dist/format/edges/sample-http-transaction.edge.js +2 -0
  109. package/dist/format/edges/sample-http-transaction.edge.js.map +1 -0
  110. package/dist/format/format-location.d.ts +13 -0
  111. package/dist/format/format-location.d.ts.map +1 -0
  112. package/dist/format/format-location.js +2 -0
  113. package/dist/format/format-location.js.map +1 -0
  114. package/dist/format/index.d.ts +14 -0
  115. package/dist/format/index.d.ts.map +1 -0
  116. package/dist/format/index.js +14 -0
  117. package/dist/format/index.js.map +1 -0
  118. package/dist/format/nodes/http-request.node.d.ts +29 -0
  119. package/dist/format/nodes/http-request.node.d.ts.map +1 -0
  120. package/dist/format/nodes/http-request.node.js +2 -0
  121. package/dist/format/nodes/http-request.node.js.map +1 -0
  122. package/dist/format/nodes/http-response.node.d.ts +12 -0
  123. package/dist/format/nodes/http-response.node.d.ts.map +1 -0
  124. package/dist/format/nodes/http-response.node.js +2 -0
  125. package/dist/format/nodes/http-response.node.js.map +1 -0
  126. package/dist/format/nodes/node.d.ts +8 -0
  127. package/dist/format/nodes/node.d.ts.map +1 -0
  128. package/dist/format/nodes/node.js +2 -0
  129. package/dist/format/nodes/node.js.map +1 -0
  130. package/dist/format/nodes/sample-http-request.node.d.ts +7 -0
  131. package/dist/format/nodes/sample-http-request.node.d.ts.map +1 -0
  132. package/dist/format/nodes/sample-http-request.node.js +2 -0
  133. package/dist/format/nodes/sample-http-request.node.js.map +1 -0
  134. package/dist/format/nodes/sample-http-response.node.d.ts +7 -0
  135. package/dist/format/nodes/sample-http-response.node.d.ts.map +1 -0
  136. package/dist/format/nodes/sample-http-response.node.js +2 -0
  137. package/dist/format/nodes/sample-http-response.node.js.map +1 -0
  138. package/dist/format/nodes/security-scheme.node.d.ts +17 -0
  139. package/dist/format/nodes/security-scheme.node.d.ts.map +1 -0
  140. package/dist/format/nodes/security-scheme.node.js +2 -0
  141. package/dist/format/nodes/security-scheme.node.js.map +1 -0
  142. package/dist/format/parameter.d.ts +10 -0
  143. package/dist/format/parameter.d.ts.map +1 -0
  144. package/dist/format/parameter.js +2 -0
  145. package/dist/format/parameter.js.map +1 -0
  146. package/dist/format/serialization-style/cookie.serialization-style.d.ts +5 -0
  147. package/dist/format/serialization-style/cookie.serialization-style.d.ts.map +1 -0
  148. package/dist/format/serialization-style/cookie.serialization-style.js +7 -0
  149. package/dist/format/serialization-style/cookie.serialization-style.js.map +1 -0
  150. package/dist/format/serialization-style/header.serialization-style.d.ts +5 -0
  151. package/dist/format/serialization-style/header.serialization-style.d.ts.map +1 -0
  152. package/dist/format/serialization-style/header.serialization-style.js +7 -0
  153. package/dist/format/serialization-style/header.serialization-style.js.map +1 -0
  154. package/dist/format/serialization-style/index.d.ts +6 -0
  155. package/dist/format/serialization-style/index.d.ts.map +1 -0
  156. package/dist/format/serialization-style/index.js +6 -0
  157. package/dist/format/serialization-style/index.js.map +1 -0
  158. package/dist/format/serialization-style/path.serialization-style.d.ts +5 -0
  159. package/dist/format/serialization-style/path.serialization-style.d.ts.map +1 -0
  160. package/dist/format/serialization-style/path.serialization-style.js +7 -0
  161. package/dist/format/serialization-style/path.serialization-style.js.map +1 -0
  162. package/dist/format/serialization-style/query.serialization-style.d.ts +5 -0
  163. package/dist/format/serialization-style/query.serialization-style.d.ts.map +1 -0
  164. package/dist/format/serialization-style/query.serialization-style.js +7 -0
  165. package/dist/format/serialization-style/query.serialization-style.js.map +1 -0
  166. package/dist/format/serialization-style/serialization-style.d.ts +13 -0
  167. package/dist/format/serialization-style/serialization-style.d.ts.map +1 -0
  168. package/dist/format/serialization-style/serialization-style.js +25 -0
  169. package/dist/format/serialization-style/serialization-style.js.map +1 -0
  170. package/dist/format/thymian-format.d.ts +85 -0
  171. package/dist/format/thymian-format.d.ts.map +1 -0
  172. package/dist/format/thymian-format.js +297 -0
  173. package/dist/format/thymian-format.js.map +1 -0
  174. package/dist/format/thymian-schema.d.ts +55 -0
  175. package/dist/format/thymian-schema.d.ts.map +1 -0
  176. package/dist/format/thymian-schema.js +2 -0
  177. package/dist/format/thymian-schema.js.map +1 -0
  178. package/dist/format/utils.d.ts +12 -0
  179. package/dist/format/utils.d.ts.map +1 -0
  180. package/dist/format/utils.js +81 -0
  181. package/dist/format/utils.js.map +1 -0
  182. package/dist/http-filter-visitor.d.ts +73 -0
  183. package/dist/http-filter-visitor.d.ts.map +1 -0
  184. package/dist/http-filter-visitor.js +163 -0
  185. package/dist/http-filter-visitor.js.map +1 -0
  186. package/dist/http-filter.d.ts +135 -0
  187. package/dist/http-filter.d.ts.map +1 -0
  188. package/dist/http-filter.js +132 -0
  189. package/dist/http-filter.js.map +1 -0
  190. package/dist/http-status-codes/1xx/index.d.ts +15 -0
  191. package/dist/http-status-codes/1xx/index.d.ts.map +1 -0
  192. package/dist/http-status-codes/1xx/index.js +15 -0
  193. package/dist/http-status-codes/1xx/index.js.map +1 -0
  194. package/dist/http-status-codes/1xx/informational.phrases.d.ts +4 -0
  195. package/dist/http-status-codes/1xx/informational.phrases.d.ts.map +1 -0
  196. package/dist/http-status-codes/1xx/informational.phrases.js +10 -0
  197. package/dist/http-status-codes/1xx/informational.phrases.js.map +1 -0
  198. package/dist/http-status-codes/1xx/informational.status-codes.d.ts +4 -0
  199. package/dist/http-status-codes/1xx/informational.status-codes.d.ts.map +1 -0
  200. package/dist/http-status-codes/1xx/informational.status-codes.js +5 -0
  201. package/dist/http-status-codes/1xx/informational.status-codes.js.map +1 -0
  202. package/dist/http-status-codes/2xx/index.d.ts +25 -0
  203. package/dist/http-status-codes/2xx/index.d.ts.map +1 -0
  204. package/dist/http-status-codes/2xx/index.js +25 -0
  205. package/dist/http-status-codes/2xx/index.js.map +1 -0
  206. package/dist/http-status-codes/2xx/successful.phrases.d.ts +4 -0
  207. package/dist/http-status-codes/2xx/successful.phrases.d.ts.map +1 -0
  208. package/dist/http-status-codes/2xx/successful.phrases.js +15 -0
  209. package/dist/http-status-codes/2xx/successful.phrases.js.map +1 -0
  210. package/dist/http-status-codes/2xx/successful.status-codes.d.ts +4 -0
  211. package/dist/http-status-codes/2xx/successful.status-codes.d.ts.map +1 -0
  212. package/dist/http-status-codes/2xx/successful.status-codes.js +7 -0
  213. package/dist/http-status-codes/2xx/successful.status-codes.js.map +1 -0
  214. package/dist/http-status-codes/3xx/index.d.ts +21 -0
  215. package/dist/http-status-codes/3xx/index.d.ts.map +1 -0
  216. package/dist/http-status-codes/3xx/index.js +21 -0
  217. package/dist/http-status-codes/3xx/index.js.map +1 -0
  218. package/dist/http-status-codes/3xx/redirection.phrases.d.ts +4 -0
  219. package/dist/http-status-codes/3xx/redirection.phrases.d.ts.map +1 -0
  220. package/dist/http-status-codes/3xx/redirection.phrases.js +13 -0
  221. package/dist/http-status-codes/3xx/redirection.phrases.js.map +1 -0
  222. package/dist/http-status-codes/3xx/redirection.status-codes.d.ts +4 -0
  223. package/dist/http-status-codes/3xx/redirection.status-codes.d.ts.map +1 -0
  224. package/dist/http-status-codes/3xx/redirection.status-codes.js +7 -0
  225. package/dist/http-status-codes/3xx/redirection.status-codes.js.map +1 -0
  226. package/dist/http-status-codes/4xx/client-error.phrases.d.ts +4 -0
  227. package/dist/http-status-codes/4xx/client-error.phrases.d.ts.map +1 -0
  228. package/dist/http-status-codes/4xx/client-error.phrases.js +34 -0
  229. package/dist/http-status-codes/4xx/client-error.phrases.js.map +1 -0
  230. package/dist/http-status-codes/4xx/client-error.status-codes.d.ts +4 -0
  231. package/dist/http-status-codes/4xx/client-error.status-codes.d.ts.map +1 -0
  232. package/dist/http-status-codes/4xx/client-error.status-codes.js +8 -0
  233. package/dist/http-status-codes/4xx/client-error.status-codes.js.map +1 -0
  234. package/dist/http-status-codes/4xx/index.d.ts +63 -0
  235. package/dist/http-status-codes/4xx/index.d.ts.map +1 -0
  236. package/dist/http-status-codes/4xx/index.js +63 -0
  237. package/dist/http-status-codes/4xx/index.js.map +1 -0
  238. package/dist/http-status-codes/5xx/index.d.ts +29 -0
  239. package/dist/http-status-codes/5xx/index.d.ts.map +1 -0
  240. package/dist/http-status-codes/5xx/index.js +29 -0
  241. package/dist/http-status-codes/5xx/index.js.map +1 -0
  242. package/dist/http-status-codes/5xx/server-error.phrases.d.ts +4 -0
  243. package/dist/http-status-codes/5xx/server-error.phrases.d.ts.map +1 -0
  244. package/dist/http-status-codes/5xx/server-error.phrases.js +17 -0
  245. package/dist/http-status-codes/5xx/server-error.phrases.js.map +1 -0
  246. package/dist/http-status-codes/5xx/server-error.status-codes.d.ts +4 -0
  247. package/dist/http-status-codes/5xx/server-error.status-codes.d.ts.map +1 -0
  248. package/dist/http-status-codes/5xx/server-error.status-codes.js +7 -0
  249. package/dist/http-status-codes/5xx/server-error.status-codes.js.map +1 -0
  250. package/dist/http-status-codes/http-status-code-ranges.d.ts +11 -0
  251. package/dist/http-status-codes/http-status-code-ranges.d.ts.map +1 -0
  252. package/dist/http-status-codes/http-status-code-ranges.js +19 -0
  253. package/dist/http-status-codes/http-status-code-ranges.js.map +1 -0
  254. package/dist/http-status-codes/http-status-code.d.ts +8 -0
  255. package/dist/http-status-codes/http-status-code.d.ts.map +1 -0
  256. package/dist/http-status-codes/http-status-code.js +13 -0
  257. package/dist/http-status-codes/http-status-code.js.map +1 -0
  258. package/dist/http-status-codes/http-status-phrase.d.ts +8 -0
  259. package/dist/http-status-codes/http-status-phrase.d.ts.map +1 -0
  260. package/dist/http-status-codes/http-status-phrase.js +13 -0
  261. package/dist/http-status-codes/http-status-phrase.js.map +1 -0
  262. package/dist/http-status-codes/index.d.ts +10 -0
  263. package/dist/http-status-codes/index.d.ts.map +1 -0
  264. package/dist/http-status-codes/index.js +10 -0
  265. package/dist/http-status-codes/index.js.map +1 -0
  266. package/dist/http-status-codes/phrase-to-status-code.d.ts +62 -0
  267. package/dist/http-status-codes/phrase-to-status-code.d.ts.map +1 -0
  268. package/dist/http-status-codes/phrase-to-status-code.js +13 -0
  269. package/dist/http-status-codes/phrase-to-status-code.js.map +1 -0
  270. package/dist/http-status-codes/status-code-to-phrase.d.ts +62 -0
  271. package/dist/http-status-codes/status-code-to-phrase.d.ts.map +1 -0
  272. package/dist/http-status-codes/status-code-to-phrase.js +13 -0
  273. package/dist/http-status-codes/status-code-to-phrase.js.map +1 -0
  274. package/dist/http-status-codes/validate.d.ts +5 -0
  275. package/dist/http-status-codes/validate.d.ts.map +1 -0
  276. package/dist/http-status-codes/validate.js +28 -0
  277. package/dist/http-status-codes/validate.js.map +1 -0
  278. package/dist/http.d.ts +29 -0
  279. package/dist/http.d.ts.map +1 -0
  280. package/dist/http.js +2 -0
  281. package/dist/http.js.map +1 -0
  282. package/dist/index.d.ts +22 -0
  283. package/dist/index.d.ts.map +1 -0
  284. package/dist/index.js +22 -0
  285. package/dist/index.js.map +1 -0
  286. package/dist/logger/logger.d.ts +12 -0
  287. package/dist/logger/logger.d.ts.map +1 -0
  288. package/dist/logger/logger.js +2 -0
  289. package/dist/logger/logger.js.map +1 -0
  290. package/dist/logger/noop.logger.d.ts +14 -0
  291. package/dist/logger/noop.logger.d.ts.map +1 -0
  292. package/dist/logger/noop.logger.js +18 -0
  293. package/dist/logger/noop.logger.js.map +1 -0
  294. package/dist/logger/text.logger.d.ts +15 -0
  295. package/dist/logger/text.logger.d.ts.map +1 -0
  296. package/dist/logger/text.logger.js +41 -0
  297. package/dist/logger/text.logger.js.map +1 -0
  298. package/dist/thymian-plugin.d.ts +38 -0
  299. package/dist/thymian-plugin.d.ts.map +1 -0
  300. package/dist/thymian-plugin.js +22 -0
  301. package/dist/thymian-plugin.js.map +1 -0
  302. package/dist/thymian.d.ts +33 -0
  303. package/dist/thymian.d.ts.map +1 -0
  304. package/dist/thymian.error.d.ts +26 -0
  305. package/dist/thymian.error.d.ts.map +1 -0
  306. package/dist/thymian.error.js +34 -0
  307. package/dist/thymian.error.js.map +1 -0
  308. package/dist/thymian.js +148 -0
  309. package/dist/thymian.js.map +1 -0
  310. package/dist/utils.d.ts +34 -0
  311. package/dist/utils.d.ts.map +1 -0
  312. package/dist/utils.js +115 -0
  313. package/dist/utils.js.map +1 -0
  314. package/package.json +39 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/format/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import type { Constant, HttpFilterExpression, LogicalExpression, RequestFilterExpression, ResponseFilterExpression } from './http-filter.js';
2
+ export interface HttpFilterVisitor<TResult> {
3
+ visitMethod?(expr: Extract<RequestFilterExpression, {
4
+ type: 'method';
5
+ }>): TResult;
6
+ visitRequestHeader?(expr: Extract<RequestFilterExpression, {
7
+ type: 'requestHeader';
8
+ }>): TResult;
9
+ visitQueryParam?(expr: Extract<RequestFilterExpression, {
10
+ type: 'queryParam';
11
+ }>): TResult;
12
+ visitPath?(expr: Extract<RequestFilterExpression, {
13
+ type: 'path';
14
+ }>): TResult;
15
+ visitHasResponse?(expr: Extract<RequestFilterExpression, {
16
+ type: 'hasResponse';
17
+ }>): TResult;
18
+ visitIsAuthorized?(expr: Extract<RequestFilterExpression, {
19
+ type: 'isAuthorized';
20
+ }>): TResult;
21
+ visitOrigin?(expr: Extract<RequestFilterExpression, {
22
+ type: 'origin';
23
+ }>): TResult;
24
+ visitHasBody?(expr: Extract<RequestFilterExpression, {
25
+ type: 'hasBody';
26
+ }>): TResult;
27
+ visitPort?(expr: Extract<RequestFilterExpression, {
28
+ type: 'port';
29
+ }>): TResult;
30
+ visitRequestMediaType?(expr: Extract<RequestFilterExpression, {
31
+ type: 'requestMediaType';
32
+ }>): TResult;
33
+ visitUrl?(expr: Extract<RequestFilterExpression, {
34
+ type: 'url';
35
+ }>): TResult;
36
+ visitProtocol?(expr: Extract<RequestFilterExpression, {
37
+ type: 'protocol';
38
+ }>): TResult;
39
+ visitStatusCode?(expr: Extract<ResponseFilterExpression, {
40
+ type: 'statusCode';
41
+ }>): TResult;
42
+ visitHasResponseBody?(expr: Extract<ResponseFilterExpression, {
43
+ type: 'hasResponseBody';
44
+ }>): TResult;
45
+ visitResponseHeader?(expr: Extract<ResponseFilterExpression, {
46
+ type: 'responseHeader';
47
+ }>): TResult;
48
+ visitStatusCodeRange?(expr: Extract<ResponseFilterExpression, {
49
+ type: 'statusCodeRange';
50
+ }>): TResult;
51
+ visitResponseMediaType?(expr: Extract<ResponseFilterExpression, {
52
+ type: 'responseMediaType';
53
+ }>): TResult;
54
+ visitResponseTrailer?(expr: Extract<ResponseFilterExpression, {
55
+ type: 'responseTrailer';
56
+ }>): TResult;
57
+ visitAnd?(expr: Extract<LogicalExpression, {
58
+ type: 'and';
59
+ }>): TResult;
60
+ visitOr?(expr: Extract<LogicalExpression, {
61
+ type: 'or';
62
+ }>): TResult;
63
+ visitNot?(expr: Extract<LogicalExpression, {
64
+ type: 'not';
65
+ }>): TResult;
66
+ visitXor?(expr: Extract<LogicalExpression, {
67
+ type: 'xor';
68
+ }>): TResult;
69
+ visitConstant?(expr: Constant): TResult;
70
+ }
71
+ export declare function visitHttpFilter<TResult>(expr: HttpFilterExpression, visitor: HttpFilterVisitor<TResult>): TResult;
72
+ export declare function createFilterVisitor<T extends (...args: any[]) => boolean>(visitor: HttpFilterVisitor<T>): HttpFilterVisitor<T>;
73
+ //# sourceMappingURL=http-filter-visitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-filter-visitor.d.ts","sourceRoot":"","sources":["../src/http-filter-visitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ export function visitHttpFilter(expr, visitor) {
2
+ switch (expr.kind) {
3
+ case 'request':
4
+ switch (expr.type) {
5
+ case 'method':
6
+ if (!visitor.visitMethod) {
7
+ throw new Error(`Visitor does not implement visitMethod for expression type: ${expr.type}`);
8
+ }
9
+ return visitor.visitMethod(expr);
10
+ case 'requestHeader':
11
+ if (!visitor.visitRequestHeader) {
12
+ throw new Error(`Visitor does not implement visitRequestHeader for expression type: ${expr.type}`);
13
+ }
14
+ return visitor.visitRequestHeader(expr);
15
+ case 'queryParam':
16
+ if (!visitor.visitQueryParam) {
17
+ throw new Error(`Visitor does not implement visitQueryParam for expression type: ${expr.type}`);
18
+ }
19
+ return visitor.visitQueryParam(expr);
20
+ case 'path':
21
+ if (!visitor.visitPath) {
22
+ throw new Error(`Visitor does not implement visitPath for expression type: ${expr.type}`);
23
+ }
24
+ return visitor.visitPath(expr);
25
+ case 'hasResponse':
26
+ if (!visitor.visitHasResponse) {
27
+ throw new Error(`Visitor does not implement visitHasResponse for expression type: ${expr.type}`);
28
+ }
29
+ return visitor.visitHasResponse(expr);
30
+ case 'isAuthorized':
31
+ if (!visitor.visitIsAuthorized) {
32
+ throw new Error(`Visitor does not implement visitIsAuthorized for expression type: ${expr.type}`);
33
+ }
34
+ return visitor.visitIsAuthorized(expr);
35
+ case 'origin':
36
+ if (!visitor.visitOrigin) {
37
+ throw new Error(`Visitor does not implement visitOrigin for expression type: ${expr.type}`);
38
+ }
39
+ return visitor.visitOrigin(expr);
40
+ case 'hasBody':
41
+ if (!visitor.visitHasBody) {
42
+ throw new Error(`Visitor does not implement visitHasBody for expression type: ${expr.type}`);
43
+ }
44
+ return visitor.visitHasBody(expr);
45
+ case 'port':
46
+ if (!visitor.visitPort) {
47
+ throw new Error(`Visitor does not implement visitPort for expression type: ${expr.type}`);
48
+ }
49
+ return visitor.visitPort(expr);
50
+ case 'requestMediaType':
51
+ if (!visitor.visitRequestMediaType) {
52
+ throw new Error(`Visitor does not implement visitRequestMediaType for expression type: ${expr.type}`);
53
+ }
54
+ return visitor.visitRequestMediaType(expr);
55
+ case 'url':
56
+ if (!visitor.visitUrl) {
57
+ throw new Error(`Visitor does not implement visitUrl for expression type: ${expr.type}`);
58
+ }
59
+ return visitor.visitUrl(expr);
60
+ case 'protocol':
61
+ if (!visitor.visitProtocol) {
62
+ throw new Error(`Visitor does not implement visitProtocol for expression type: ${expr.type}`);
63
+ }
64
+ return visitor.visitProtocol(expr);
65
+ default:
66
+ throw new Error(`Unknown request filter type: ${expr.type}`);
67
+ }
68
+ case 'response':
69
+ switch (expr.type) {
70
+ case 'statusCode':
71
+ if (!visitor.visitStatusCode) {
72
+ throw new Error(`Visitor does not implement visitStatusCode for expression type: ${expr.type}`);
73
+ }
74
+ return visitor.visitStatusCode(expr);
75
+ case 'hasResponseBody':
76
+ if (!visitor.visitHasResponseBody) {
77
+ throw new Error(`Visitor does not implement visitHasResponseBody for expression type: ${expr.type}`);
78
+ }
79
+ return visitor.visitHasResponseBody(expr);
80
+ case 'responseHeader':
81
+ if (!visitor.visitResponseHeader) {
82
+ throw new Error(`Visitor does not implement visitResponseHeader for expression type: ${expr.type}`);
83
+ }
84
+ return visitor.visitResponseHeader(expr);
85
+ case 'statusCodeRange':
86
+ if (!visitor.visitStatusCodeRange) {
87
+ throw new Error(`Visitor does not implement visitStatusCodeRange for expression type: ${expr.type}`);
88
+ }
89
+ return visitor.visitStatusCodeRange(expr);
90
+ case 'responseMediaType':
91
+ if (!visitor.visitResponseMediaType) {
92
+ throw new Error(`Visitor does not implement visitResponseMediaType for expression type: ${expr.type}`);
93
+ }
94
+ return visitor.visitResponseMediaType(expr);
95
+ case 'responseTrailer':
96
+ if (!visitor.visitResponseTrailer) {
97
+ throw new Error(`Visitor does not implement visitResponseTrailer for expression type: ${expr.type}`);
98
+ }
99
+ return visitor.visitResponseTrailer(expr);
100
+ default:
101
+ throw new Error(`Unknown response filter type: ${expr.type}`);
102
+ }
103
+ case 'logic':
104
+ switch (expr.type) {
105
+ case 'and':
106
+ if (!visitor.visitAnd) {
107
+ throw new Error(`Visitor does not implement visitAnd for expression type: ${expr.type}`);
108
+ }
109
+ return visitor.visitAnd(expr);
110
+ case 'or':
111
+ if (!visitor.visitOr) {
112
+ throw new Error(`Visitor does not implement visitOr for expression type: ${expr.type}`);
113
+ }
114
+ return visitor.visitOr(expr);
115
+ case 'not':
116
+ if (!visitor.visitNot) {
117
+ throw new Error(`Visitor does not implement visitNot for expression type: ${expr.type}`);
118
+ }
119
+ return visitor.visitNot(expr);
120
+ case 'xor':
121
+ if (!visitor.visitXor) {
122
+ throw new Error(`Visitor does not implement visitXor for expression type: ${expr.type}`);
123
+ }
124
+ return visitor.visitXor(expr);
125
+ case 'constant':
126
+ if (!visitor.visitConstant) {
127
+ throw new Error(`Visitor does not implement visitConstant for expression type: ${expr.type}`);
128
+ }
129
+ return visitor.visitConstant(expr);
130
+ default:
131
+ throw new Error(`Unknown logical expression type: ${expr.type}`);
132
+ }
133
+ default:
134
+ throw new Error(`Unknown expression kind: ${expr.kind}`);
135
+ }
136
+ }
137
+ export function createFilterVisitor(visitor) {
138
+ const extendedVisitor = {
139
+ visitAnd(expr) {
140
+ return ((...args) => expr.filters.every((filter) => visitHttpFilter(filter, extendedVisitor)(...args)));
141
+ },
142
+ visitOr(expr) {
143
+ return ((...args) => expr.filters.some((filter) => visitHttpFilter(filter, extendedVisitor)(...args)));
144
+ },
145
+ visitNot(expr) {
146
+ return ((...args) => !visitHttpFilter(expr.filter, extendedVisitor)(...args));
147
+ },
148
+ visitXor(expr) {
149
+ return ((...args) => {
150
+ const [first, second] = expr.filters;
151
+ const firstResult = visitHttpFilter(first, extendedVisitor)(...args);
152
+ const secondResult = visitHttpFilter(second, extendedVisitor)(...args);
153
+ return firstResult !== secondResult;
154
+ });
155
+ },
156
+ visitConstant(expr) {
157
+ return ((...args) => Boolean(expr.value));
158
+ },
159
+ ...visitor,
160
+ };
161
+ return extendedVisitor;
162
+ }
163
+ //# sourceMappingURL=http-filter-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-filter-visitor.js","sourceRoot":"","sources":["../src/http-filter-visitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ import * as http from 'node:http';
2
+ type OmitIndexSignature<T> = {
3
+ [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];
4
+ };
5
+ export type HttpHeader = keyof OmitIndexSignature<http.OutgoingHttpHeaders> | (string & Record<never, never>);
6
+ export type HttpMethod = 'DELETE' | 'GET' | 'HEAD' | 'PATCH' | 'POST' | 'PUT' | 'OPTIONS' | (string & {});
7
+ export type RequestFilterExpression = {
8
+ type: 'method';
9
+ kind: 'request';
10
+ method?: string;
11
+ } | {
12
+ type: 'requestHeader';
13
+ kind: 'request';
14
+ header?: string;
15
+ value?: unknown;
16
+ } | {
17
+ type: 'queryParam';
18
+ kind: 'request';
19
+ param?: string;
20
+ value?: unknown;
21
+ } | {
22
+ type: 'path';
23
+ kind: 'request';
24
+ path?: string;
25
+ } | {
26
+ type: 'hasResponse';
27
+ kind: 'request';
28
+ filter: HttpFilterExpression;
29
+ } | {
30
+ type: 'isAuthorized';
31
+ kind: 'request';
32
+ isAuthorized: boolean;
33
+ } | {
34
+ type: 'origin';
35
+ kind: 'request';
36
+ origin?: string;
37
+ } | {
38
+ type: 'hasBody';
39
+ kind: 'request';
40
+ hasBody?: boolean;
41
+ } | {
42
+ type: 'port';
43
+ kind: 'request';
44
+ port?: number;
45
+ } | {
46
+ type: 'requestMediaType';
47
+ kind: 'request';
48
+ mediaType?: string;
49
+ } | {
50
+ type: 'url';
51
+ kind: 'request';
52
+ url?: string;
53
+ } | {
54
+ type: 'protocol';
55
+ kind: 'request';
56
+ protocol?: string;
57
+ };
58
+ export type ResponseFilterExpression = {
59
+ type: 'statusCode';
60
+ kind: 'response';
61
+ code?: number;
62
+ } | {
63
+ type: 'hasResponseBody';
64
+ kind: 'response';
65
+ hasBody?: boolean;
66
+ } | {
67
+ type: 'responseHeader';
68
+ kind: 'response';
69
+ header?: string;
70
+ value?: unknown;
71
+ } | {
72
+ type: 'statusCodeRange';
73
+ kind: 'response';
74
+ start: number;
75
+ end: number;
76
+ } | {
77
+ type: 'responseMediaType';
78
+ kind: 'response';
79
+ mediaType?: string;
80
+ } | {
81
+ type: 'responseTrailer';
82
+ kind: 'response';
83
+ trailer?: string;
84
+ value?: unknown;
85
+ };
86
+ export type LogicalExpression = {
87
+ type: 'and';
88
+ kind: 'logic';
89
+ filters: HttpFilterExpression[];
90
+ } | {
91
+ type: 'or';
92
+ kind: 'logic';
93
+ filters: HttpFilterExpression[];
94
+ } | {
95
+ type: 'not';
96
+ kind: 'logic';
97
+ filter: HttpFilterExpression;
98
+ } | Constant | {
99
+ type: 'xor';
100
+ kind: 'logic';
101
+ filters: [HttpFilterExpression, HttpFilterExpression];
102
+ };
103
+ export type Constant = {
104
+ type: 'constant';
105
+ kind: 'logic';
106
+ value: unknown;
107
+ };
108
+ export type HttpFilterExpression = RequestFilterExpression | ResponseFilterExpression | LogicalExpression;
109
+ export declare const methods: (...methods: HttpMethod[]) => LogicalExpression;
110
+ export declare const method: (method?: HttpMethod) => RequestFilterExpression;
111
+ export declare const path: (path?: string) => RequestFilterExpression;
112
+ export declare const protocol: (protocol?: "http" | "https") => RequestFilterExpression;
113
+ export declare const responseHeader: (header?: HttpHeader, value?: unknown) => ResponseFilterExpression;
114
+ export declare const responseTrailer: (trailer?: string, value?: unknown) => ResponseFilterExpression;
115
+ export declare const requestHeader: (header: HttpHeader, value?: unknown) => RequestFilterExpression;
116
+ export declare const statusCode: (code?: number) => ResponseFilterExpression;
117
+ export declare const statusCodeRange: (start: number, end: number) => ResponseFilterExpression;
118
+ export declare const hasResponseBody: (hasBody?: boolean) => ResponseFilterExpression;
119
+ export declare const and: (...filters: HttpFilterExpression[]) => LogicalExpression;
120
+ export declare const or: (...filters: HttpFilterExpression[]) => LogicalExpression;
121
+ export declare const not: (filter: HttpFilterExpression) => LogicalExpression;
122
+ export declare const xor: (...filters: [HttpFilterExpression, HttpFilterExpression]) => LogicalExpression;
123
+ export declare const authorization: (isAuthorized?: boolean) => RequestFilterExpression;
124
+ export declare const responseWith: (filter: HttpFilterExpression) => RequestFilterExpression;
125
+ export declare const constant: (value?: unknown) => Constant;
126
+ export declare const origin: (origin?: string) => RequestFilterExpression;
127
+ export declare const hasRequestBody: (hasBody?: boolean) => RequestFilterExpression;
128
+ export declare const port: (port?: number) => RequestFilterExpression;
129
+ export declare const requestMediaType: (mediaType: string) => RequestFilterExpression;
130
+ export declare const responseMediaType: (mediaType: string) => ResponseFilterExpression;
131
+ export declare const queryParameter: (name?: string, value?: unknown) => RequestFilterExpression;
132
+ export declare const url: (url?: string) => RequestFilterExpression;
133
+ export declare const successfulStatusCode: () => ResponseFilterExpression;
134
+ export {};
135
+ //# sourceMappingURL=http-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-filter.d.ts","sourceRoot":"","sources":["../src/http-filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import * as http from 'node:http';
2
+ export const methods = (...methods) => ({
3
+ type: 'or',
4
+ kind: 'logic',
5
+ filters: methods.map((method) => ({
6
+ type: 'method',
7
+ kind: 'request',
8
+ method,
9
+ })),
10
+ });
11
+ export const method = (method) => ({
12
+ type: 'method',
13
+ kind: 'request',
14
+ method,
15
+ });
16
+ export const path = (path) => ({
17
+ type: 'path',
18
+ kind: 'request',
19
+ path,
20
+ });
21
+ export const protocol = (protocol) => ({
22
+ type: 'protocol',
23
+ kind: 'request',
24
+ protocol,
25
+ });
26
+ export const responseHeader = (header, value) => ({
27
+ type: 'responseHeader',
28
+ kind: 'response',
29
+ header,
30
+ value,
31
+ });
32
+ export const responseTrailer = (trailer, value) => ({
33
+ type: 'responseTrailer',
34
+ kind: 'response',
35
+ trailer,
36
+ value,
37
+ });
38
+ export const requestHeader = (header, value) => ({
39
+ type: 'requestHeader',
40
+ kind: 'request',
41
+ header,
42
+ value,
43
+ });
44
+ export const statusCode = (code) => ({
45
+ type: 'statusCode',
46
+ code,
47
+ kind: 'response',
48
+ });
49
+ export const statusCodeRange = (start, end) => ({
50
+ kind: 'response',
51
+ type: 'statusCodeRange',
52
+ start,
53
+ end,
54
+ });
55
+ export const hasResponseBody = (hasBody = true) => ({
56
+ type: 'hasResponseBody',
57
+ kind: 'response',
58
+ hasBody,
59
+ });
60
+ export const and = (...filters) => ({
61
+ type: 'and',
62
+ kind: 'logic',
63
+ filters,
64
+ });
65
+ export const or = (...filters) => ({
66
+ type: 'or',
67
+ kind: 'logic',
68
+ filters,
69
+ });
70
+ export const not = (filter) => ({
71
+ type: 'not',
72
+ kind: 'logic',
73
+ filter,
74
+ });
75
+ export const xor = (...filters) => ({
76
+ type: 'xor',
77
+ kind: 'logic',
78
+ filters,
79
+ });
80
+ export const authorization = (isAuthorized = true) => ({
81
+ type: 'isAuthorized',
82
+ kind: 'request',
83
+ isAuthorized,
84
+ });
85
+ export const responseWith = (filter) => ({
86
+ type: 'hasResponse',
87
+ kind: 'request',
88
+ filter,
89
+ });
90
+ export const constant = (value) => ({
91
+ type: 'constant',
92
+ kind: 'logic',
93
+ value,
94
+ });
95
+ export const origin = (origin) => ({
96
+ type: 'origin',
97
+ kind: 'request',
98
+ origin,
99
+ });
100
+ export const hasRequestBody = (hasBody = true) => ({
101
+ type: 'hasBody',
102
+ kind: 'request',
103
+ hasBody,
104
+ });
105
+ export const port = (port) => ({
106
+ type: 'port',
107
+ kind: 'request',
108
+ port,
109
+ });
110
+ export const requestMediaType = (mediaType) => ({
111
+ type: 'requestMediaType',
112
+ kind: 'request',
113
+ mediaType,
114
+ });
115
+ export const responseMediaType = (mediaType) => ({
116
+ type: 'responseMediaType',
117
+ kind: 'response',
118
+ mediaType,
119
+ });
120
+ export const queryParameter = (name, value) => ({
121
+ type: 'queryParam',
122
+ kind: 'request',
123
+ param: name,
124
+ value,
125
+ });
126
+ export const url = (url) => ({
127
+ type: 'url',
128
+ kind: 'request',
129
+ url,
130
+ });
131
+ export const successfulStatusCode = () => statusCodeRange(200, 299);
132
+ //# sourceMappingURL=http-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-filter.js","sourceRoot":"","sources":["../src/http-filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const informationalStatusCodeToPhrase: {
2
+ 100: "continue";
3
+ 101: "switching protocols";
4
+ 102: "processing";
5
+ 103: "early hints";
6
+ };
7
+ export declare const informationalPhraseToStatusCode: {
8
+ continue: 100;
9
+ "switching protocols": 101;
10
+ processing: 102;
11
+ 'early hints': 103;
12
+ };
13
+ export * from './informational.phrases.js';
14
+ export * from './informational.status-codes.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http-status-codes/1xx/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,+BAA+B;;;;;CAKoB,CAAC;AAEjE,eAAO,MAAM,+BAA+B;;;;;CAKoB,CAAC;AAEjE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export const informationalStatusCodeToPhrase = {
2
+ 100: 'continue',
3
+ 101: 'switching protocols',
4
+ 102: 'processing',
5
+ 103: 'early hints',
6
+ };
7
+ export const informationalPhraseToStatusCode = {
8
+ [informationalStatusCodeToPhrase[100]]: 100,
9
+ [informationalStatusCodeToPhrase[101]]: 101,
10
+ [informationalStatusCodeToPhrase[102]]: 102,
11
+ 'early hints': 103,
12
+ };
13
+ export * from './informational.phrases.js';
14
+ export * from './informational.status-codes.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-status-codes/1xx/index.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,aAAa;CAC4C,CAAC;AAEjE,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG;IAC3C,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG;IAC3C,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG;IAC3C,aAAa,EAAE,GAAG;CAC4C,CAAC;AAEjE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const informationalPhrases: readonly ["continue", "switching protocols", "processing", "early hints"];
2
+ export type InformationalPhrase = (typeof informationalPhrases)[number];
3
+ export declare function isValidInformationalPhrase(phrase: string): phrase is InformationalPhrase;
4
+ //# sourceMappingURL=informational.phrases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"informational.phrases.d.ts","sourceRoot":"","sources":["../../../src/http-status-codes/1xx/informational.phrases.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,2EAKvB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,GACb,MAAM,IAAI,mBAAmB,CAE/B"}
@@ -0,0 +1,10 @@
1
+ export const informationalPhrases = [
2
+ 'continue',
3
+ 'switching protocols',
4
+ 'processing',
5
+ 'early hints',
6
+ ];
7
+ export function isValidInformationalPhrase(phrase) {
8
+ return informationalPhrases.includes(phrase);
9
+ }
10
+ //# sourceMappingURL=informational.phrases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"informational.phrases.js","sourceRoot":"","sources":["../../../src/http-status-codes/1xx/informational.phrases.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,UAAU;IACV,qBAAqB;IACrB,YAAY;IACZ,aAAa;CACL,CAAC;AAIX,MAAM,UAAU,0BAA0B,CACxC,MAAc;IAEd,OAAO,oBAAoB,CAAC,QAAQ,CAAC,MAA6B,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const informationalStatusCodes: readonly [100, 101, 102, 103];
2
+ export type InformationalStatusCode = (typeof informationalStatusCodes)[number];
3
+ export declare function isValidInformationalStatusCode(code: number): code is InformationalStatusCode;
4
+ //# sourceMappingURL=informational.status-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"informational.status-codes.d.ts","sourceRoot":"","sources":["../../../src/http-status-codes/1xx/informational.status-codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,+BAAgC,CAAC;AAEtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,GACX,IAAI,IAAI,uBAAuB,CAEjC"}
@@ -0,0 +1,5 @@
1
+ export const informationalStatusCodes = [100, 101, 102, 103];
2
+ export function isValidInformationalStatusCode(code) {
3
+ return informationalStatusCodes.includes(code);
4
+ }
5
+ //# sourceMappingURL=informational.status-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"informational.status-codes.js","sourceRoot":"","sources":["../../../src/http-status-codes/1xx/informational.status-codes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAItE,MAAM,UAAU,8BAA8B,CAC5C,IAAY;IAEZ,OAAO,wBAAwB,CAAC,QAAQ,CAAC,IAA+B,CAAC,CAAC;AAC5E,CAAC"}