@effect-app/infra 0.7.0 → 0.8.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 (449) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/_cjs/{lib/RequestContext.cjs → RequestContext.cjs} +0 -0
  3. package/_cjs/{lib/RequestContext.cjs.map → RequestContext.cjs.map} +1 -1
  4. package/_cjs/{lib/api → api}/authorization.jwt.cjs +1 -1
  5. package/_cjs/{lib/api → api}/authorization.jwt.cjs.map +1 -1
  6. package/_cjs/{vendor/Cache/Cache/operations/makeWith.cjs → api/codec.cjs} +16 -13
  7. package/_cjs/api/codec.cjs.map +1 -0
  8. package/_cjs/{lib/api → api}/defaultErrorHandler.cjs +1 -1
  9. package/_cjs/{lib/api → api}/defaultErrorHandler.cjs.map +1 -1
  10. package/_cjs/{services/memQueue.cjs → api/express/makeJsonSchema.cjs} +42 -22
  11. package/_cjs/api/express/makeJsonSchema.cjs.map +1 -0
  12. package/_cjs/api/express/makeOpenApiSpecs.cjs +66 -0
  13. package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -0
  14. package/_cjs/api/express/schema/jwt.cjs +43 -0
  15. package/_cjs/api/express/schema/jwt.cjs.map +1 -0
  16. package/_cjs/api/express/schema/requestHandler.cjs +166 -0
  17. package/_cjs/api/express/schema/requestHandler.cjs.map +1 -0
  18. package/_cjs/api/express/schema/routing.cjs +121 -0
  19. package/_cjs/api/express/schema/routing.cjs.map +1 -0
  20. package/_cjs/{lib/api → api}/reportError.cjs +5 -5
  21. package/_cjs/{lib/api → api}/reportError.cjs.map +1 -1
  22. package/_cjs/{lib/api → api}/routing.cjs +32 -32
  23. package/_cjs/{lib/api → api}/routing.cjs.map +1 -1
  24. package/_cjs/{lib/api → api}/setupRequest.cjs +2 -2
  25. package/_cjs/{lib/api → api}/setupRequest.cjs.map +1 -1
  26. package/_cjs/{lib/api → api}/util.cjs +0 -0
  27. package/_cjs/{lib/api → api}/util.cjs.map +1 -1
  28. package/_cjs/{lib/api → api}/writeDocs.cjs +5 -5
  29. package/_cjs/{lib/api → api}/writeDocs.cjs.map +1 -1
  30. package/_cjs/{lib/errorReporter.cjs → errorReporter.cjs} +1 -1
  31. package/_cjs/{lib/errorReporter.cjs.map → errorReporter.cjs.map} +1 -1
  32. package/_cjs/errors.cjs +21 -22
  33. package/_cjs/errors.cjs.map +1 -1
  34. package/_cjs/{lib/ext → ext}/Array.cjs +1 -1
  35. package/_cjs/{lib/ext → ext}/Array.cjs.map +1 -1
  36. package/_cjs/{lib/filter → filter}/types/errors.cjs +0 -0
  37. package/_cjs/{lib/filter → filter}/types/errors.cjs.map +0 -0
  38. package/_cjs/{lib/filter → filter}/types/fields.cjs +0 -0
  39. package/_cjs/{lib/filter → filter}/types/fields.cjs.map +0 -0
  40. package/_cjs/{lib/filter → filter}/types/index.cjs +0 -0
  41. package/_cjs/{lib/filter → filter}/types/index.cjs.map +1 -1
  42. package/_cjs/{lib/filter → filter}/types/path/common.cjs +0 -0
  43. package/_cjs/{lib/filter → filter}/types/path/common.cjs.map +0 -0
  44. package/_cjs/{lib/filter → filter}/types/path/eager.cjs +0 -0
  45. package/_cjs/{lib/filter → filter}/types/path/eager.cjs.map +0 -0
  46. package/_cjs/{lib/filter → filter}/types/path/index.cjs +0 -0
  47. package/_cjs/filter/types/path/index.cjs.map +1 -0
  48. package/_cjs/{lib/filter → filter}/types/utils.cjs +0 -0
  49. package/_cjs/{lib/filter → filter}/types/utils.cjs.map +0 -0
  50. package/_cjs/{lib/filter → filter}/types/validator.cjs +0 -0
  51. package/_cjs/{lib/filter → filter}/types/validator.cjs.map +0 -0
  52. package/_cjs/{lib/filter.cjs → filter.cjs} +0 -0
  53. package/_cjs/{lib/filter.cjs.map → filter.cjs.map} +1 -1
  54. package/_cjs/{lib/instrument.cjs → instrument.cjs} +1 -1
  55. package/_cjs/{lib/instrument.cjs.map → instrument.cjs.map} +1 -1
  56. package/_cjs/{lib/rateLimit.cjs → rateLimit.cjs} +1 -1
  57. package/_cjs/{lib/rateLimit.cjs.map → rateLimit.cjs.map} +1 -1
  58. package/_cjs/services/Emailer/Sendgrid.cjs +1 -1
  59. package/_cjs/services/Emailer/fake.cjs +1 -1
  60. package/_cjs/services/Repository.cjs +1 -1
  61. package/_cjs/services/Store/Cosmos.cjs +2 -2
  62. package/_cjs/services/Store/Cosmos.test.cjs +2 -2
  63. package/_cjs/services/Store/Disk.cjs +2 -2
  64. package/_cjs/services/Store/Memory.cjs +1 -1
  65. package/_cjs/services/Store/Redis.cjs +1 -1
  66. package/_cjs/services/Store/codeFilter.test.cjs +2 -2
  67. package/_cjs/services/Store/index.cjs +1 -1
  68. package/_cjs/services/Store/service.cjs +1 -1
  69. package/_cjs/services/Store/utils.cjs +1 -1
  70. package/_cjs/services/simpledb/cosmosdb.cjs +98 -0
  71. package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -0
  72. package/_cjs/services/simpledb/diskdb.cjs +118 -0
  73. package/_cjs/services/simpledb/diskdb.cjs.map +1 -0
  74. package/_cjs/services/simpledb/fileutil.cjs +36 -0
  75. package/_cjs/services/simpledb/fileutil.cjs.map +1 -0
  76. package/_cjs/{vendor/Cache/Cache/_internal/CacheState.cjs → services/simpledb/index.cjs} +31 -24
  77. package/_cjs/services/simpledb/index.cjs.map +1 -0
  78. package/_cjs/services/simpledb/memdb.cjs +74 -0
  79. package/_cjs/services/simpledb/memdb.cjs.map +1 -0
  80. package/_cjs/services/simpledb/mongodb.cjs +86 -0
  81. package/_cjs/services/simpledb/mongodb.cjs.map +1 -0
  82. package/_cjs/services/simpledb/redisdb.cjs +120 -0
  83. package/_cjs/services/simpledb/redisdb.cjs.map +1 -0
  84. package/_cjs/services/simpledb/shared.cjs +80 -0
  85. package/_cjs/services/simpledb/shared.cjs.map +1 -0
  86. package/_cjs/services/simpledb/simpledb.cjs +77 -0
  87. package/_cjs/services/simpledb/simpledb.cjs.map +1 -0
  88. package/_src/{lib/RequestContext.ts → RequestContext.ts} +0 -0
  89. package/_src/_global.ext.ts +5 -5
  90. package/_src/api/app.ts.bak +125 -0
  91. package/_src/{lib/api → api}/authorization.jwt.ts +1 -1
  92. package/_src/api/codec.ts +27 -0
  93. package/_src/{lib/api → api}/defaultErrorHandler.ts +1 -1
  94. package/_src/api/errors.ts.bak +20 -0
  95. package/_src/api/express/makeJsonSchema.ts +49 -0
  96. package/_src/api/express/makeOpenApiSpecs.ts +60 -0
  97. package/_src/api/express/routing.ts.bak +460 -0
  98. package/_src/api/express/schema/jwt.ts +38 -0
  99. package/_src/api/express/schema/requestHandler.ts +360 -0
  100. package/_src/api/express/schema/routing.ts +202 -0
  101. package/_src/{lib/api → api}/reportError.ts +3 -3
  102. package/_src/{lib/api → api}/routing.ts +7 -12
  103. package/_src/{lib/api → api}/setupRequest.ts +0 -0
  104. package/_src/{lib/api → api}/util.ts +0 -0
  105. package/_src/{lib/api → api}/writeDocs.ts +4 -5
  106. package/_src/{lib/errorReporter.ts → errorReporter.ts} +1 -1
  107. package/_src/errors.ts +12 -3
  108. package/_src/{lib/ext → ext}/Array.ts +1 -1
  109. package/_src/{lib/filter → filter}/types/errors.ts +0 -0
  110. package/_src/{lib/filter → filter}/types/fields.ts +0 -0
  111. package/_src/{lib/filter → filter}/types/index.ts +0 -0
  112. package/_src/{lib/filter → filter}/types/path/common.ts +0 -0
  113. package/_src/{lib/filter → filter}/types/path/eager.ts +0 -0
  114. package/_src/{lib/filter → filter}/types/path/index.ts +0 -0
  115. package/_src/{lib/filter → filter}/types/utils.ts +0 -0
  116. package/_src/{lib/filter → filter}/types/validator.ts +0 -0
  117. package/_src/{lib/filter.ts → filter.ts} +1 -1
  118. package/_src/{lib/instrument.ts → instrument.ts} +0 -0
  119. package/_src/{lib/rateLimit.ts → rateLimit.ts} +0 -0
  120. package/_src/services/Emailer/service.ts +1 -1
  121. package/_src/services/Repository.ts +1 -1
  122. package/_src/services/Store/Cosmos.test.ts +1 -1
  123. package/_src/services/Store/Disk.ts +1 -1
  124. package/_src/services/Store/codeFilter.test.ts +1 -1
  125. package/_src/services/simpledb/cosmosdb.ts +134 -0
  126. package/_src/services/simpledb/diskdb.ts +158 -0
  127. package/_src/services/simpledb/fileutil.ts +28 -0
  128. package/_src/services/simpledb/index.ts +6 -0
  129. package/_src/services/simpledb/memdb.ts +79 -0
  130. package/_src/services/simpledb/mongodb.ts +99 -0
  131. package/_src/services/simpledb/redisdb.ts +182 -0
  132. package/_src/services/simpledb/shared.ts +117 -0
  133. package/_src/services/simpledb/simpledb.ts +117 -0
  134. package/dist/{lib/RequestContext.d.ts → RequestContext.d.ts} +1 -1
  135. package/dist/RequestContext.d.ts.map +1 -0
  136. package/dist/RequestContext.js +52 -0
  137. package/dist/_global.ext.d.ts +5 -5
  138. package/dist/_global.ext.d.ts.map +1 -1
  139. package/dist/{lib/api → api}/authorization.jwt.d.ts +1 -1
  140. package/dist/api/authorization.jwt.d.ts.map +1 -0
  141. package/dist/{lib/api → api}/authorization.jwt.js +2 -2
  142. package/dist/api/codec.d.ts +7 -0
  143. package/dist/api/codec.d.ts.map +1 -0
  144. package/dist/api/codec.js +19 -0
  145. package/dist/{lib/api → api}/defaultErrorHandler.d.ts +1 -1
  146. package/dist/api/defaultErrorHandler.d.ts.map +1 -0
  147. package/dist/{lib/api → api}/defaultErrorHandler.js +2 -2
  148. package/dist/api/express/makeJsonSchema.d.ts +30 -0
  149. package/dist/api/express/makeJsonSchema.d.ts.map +1 -0
  150. package/dist/api/express/makeJsonSchema.js +40 -0
  151. package/dist/api/express/makeOpenApiSpecs.d.ts +55 -0
  152. package/dist/api/express/makeOpenApiSpecs.d.ts.map +1 -0
  153. package/dist/api/express/makeOpenApiSpecs.js +56 -0
  154. package/dist/api/express/schema/jwt.d.ts +5 -0
  155. package/dist/api/express/schema/jwt.d.ts.map +1 -0
  156. package/dist/api/express/schema/jwt.js +32 -0
  157. package/dist/api/express/schema/requestHandler.d.ts +71 -0
  158. package/dist/api/express/schema/requestHandler.d.ts.map +1 -0
  159. package/dist/api/express/schema/requestHandler.js +140 -0
  160. package/dist/api/express/schema/routing.d.ts +45 -0
  161. package/dist/api/express/schema/routing.d.ts.map +1 -0
  162. package/dist/api/express/schema/routing.js +95 -0
  163. package/dist/{lib/api → api}/reportError.d.ts +4 -4
  164. package/dist/api/reportError.d.ts.map +1 -0
  165. package/dist/{lib/api → api}/reportError.js +6 -6
  166. package/dist/{lib/api → api}/routing.d.ts +7 -7
  167. package/dist/api/routing.d.ts.map +1 -0
  168. package/dist/api/routing.js +249 -0
  169. package/dist/{lib/api → api}/setupRequest.d.ts +2 -2
  170. package/dist/api/setupRequest.d.ts.map +1 -0
  171. package/dist/{lib/api → api}/setupRequest.js +3 -3
  172. package/dist/{lib/api → api}/util.d.ts +0 -0
  173. package/dist/api/util.d.ts.map +1 -0
  174. package/dist/api/util.js +14 -0
  175. package/dist/{lib/api → api}/writeDocs.d.ts +1 -1
  176. package/dist/api/writeDocs.d.ts.map +1 -0
  177. package/dist/api/writeDocs.js +23 -0
  178. package/dist/{lib/errorReporter.d.ts → errorReporter.d.ts} +1 -1
  179. package/dist/errorReporter.d.ts.map +1 -0
  180. package/dist/errorReporter.js +45 -0
  181. package/dist/errors.d.ts +11 -2
  182. package/dist/errors.d.ts.map +1 -1
  183. package/dist/errors.js +17 -3
  184. package/dist/{lib/ext → ext}/Array.d.ts +3 -3
  185. package/dist/ext/Array.d.ts.map +1 -0
  186. package/dist/{lib/ext → ext}/Array.js +2 -2
  187. package/dist/{lib/filter → filter}/types/errors.d.ts +0 -0
  188. package/dist/filter/types/errors.d.ts.map +1 -0
  189. package/dist/{lib/filter → filter}/types/errors.js +1 -1
  190. package/dist/{lib/filter → filter}/types/fields.d.ts +0 -0
  191. package/dist/filter/types/fields.d.ts.map +1 -0
  192. package/dist/{lib/filter → filter}/types/fields.js +1 -1
  193. package/dist/{lib/filter → filter}/types/index.d.ts +0 -0
  194. package/dist/filter/types/index.d.ts.map +1 -0
  195. package/dist/{lib/filter → filter}/types/index.js +1 -1
  196. package/dist/{lib/filter → filter}/types/path/common.d.ts +0 -0
  197. package/dist/filter/types/path/common.d.ts.map +1 -0
  198. package/dist/{lib/filter → filter}/types/path/common.js +1 -1
  199. package/dist/{lib/filter → filter}/types/path/eager.d.ts +0 -0
  200. package/dist/filter/types/path/eager.d.ts.map +1 -0
  201. package/dist/{lib/filter → filter}/types/path/eager.js +1 -1
  202. package/dist/{lib/filter → filter}/types/path/index.d.ts +0 -0
  203. package/dist/filter/types/path/index.d.ts.map +1 -0
  204. package/dist/{lib/filter → filter}/types/path/index.js +1 -1
  205. package/dist/{lib/filter → filter}/types/utils.d.ts +0 -0
  206. package/dist/filter/types/utils.d.ts.map +1 -0
  207. package/dist/{lib/filter → filter}/types/utils.js +1 -1
  208. package/dist/{lib/filter → filter}/types/validator.d.ts +0 -0
  209. package/dist/filter/types/validator.d.ts.map +1 -0
  210. package/dist/{lib/filter → filter}/types/validator.js +1 -1
  211. package/dist/{lib/filter.d.ts → filter.d.ts} +9 -9
  212. package/dist/filter.d.ts.map +1 -0
  213. package/dist/filter.js +171 -0
  214. package/dist/{lib/instrument.d.ts → instrument.d.ts} +1 -1
  215. package/dist/instrument.d.ts.map +1 -0
  216. package/dist/{lib/instrument.js → instrument.js} +2 -2
  217. package/dist/{lib/rateLimit.d.ts → rateLimit.d.ts} +5 -5
  218. package/dist/rateLimit.d.ts.map +1 -0
  219. package/dist/{lib/rateLimit.js → rateLimit.js} +2 -2
  220. package/dist/services/Emailer/Sendgrid.js +1 -1
  221. package/dist/services/Emailer/fake.js +1 -1
  222. package/dist/services/Emailer/service.d.ts +1 -1
  223. package/dist/services/Emailer/service.d.ts.map +1 -1
  224. package/dist/services/Repository.d.ts +1 -1
  225. package/dist/services/Repository.d.ts.map +1 -1
  226. package/dist/services/Repository.js +1 -1
  227. package/dist/services/Store/Cosmos.js +2 -2
  228. package/dist/services/Store/Disk.js +3 -3
  229. package/dist/services/Store/Memory.js +1 -1
  230. package/dist/services/Store/Redis.js +1 -1
  231. package/dist/services/Store/index.js +1 -1
  232. package/dist/services/Store/service.js +1 -1
  233. package/dist/services/Store/utils.js +1 -1
  234. package/dist/services/simpledb/cosmosdb.d.ts +13 -0
  235. package/dist/services/simpledb/cosmosdb.d.ts.map +1 -0
  236. package/dist/services/simpledb/cosmosdb.js +88 -0
  237. package/dist/services/simpledb/diskdb.d.ts +12 -0
  238. package/dist/services/simpledb/diskdb.d.ts.map +1 -0
  239. package/dist/services/simpledb/diskdb.js +96 -0
  240. package/dist/services/simpledb/fileutil.d.ts +7 -0
  241. package/dist/services/simpledb/fileutil.d.ts.map +1 -0
  242. package/dist/services/simpledb/fileutil.js +25 -0
  243. package/dist/services/simpledb/index.d.ts +7 -0
  244. package/dist/services/simpledb/index.d.ts.map +1 -0
  245. package/dist/services/simpledb/index.js +7 -0
  246. package/dist/services/simpledb/memdb.d.ts +12 -0
  247. package/dist/services/simpledb/memdb.d.ts.map +1 -0
  248. package/dist/services/simpledb/memdb.js +55 -0
  249. package/dist/services/simpledb/mongodb.d.ts +13 -0
  250. package/dist/services/simpledb/mongodb.d.ts.map +1 -0
  251. package/dist/services/simpledb/mongodb.js +55 -0
  252. package/dist/services/simpledb/redisdb.d.ts +25 -0
  253. package/dist/services/simpledb/redisdb.d.ts.map +1 -0
  254. package/dist/services/simpledb/redisdb.js +105 -0
  255. package/dist/services/simpledb/shared.d.ts +63 -0
  256. package/dist/services/simpledb/shared.d.ts.map +1 -0
  257. package/dist/services/simpledb/shared.js +65 -0
  258. package/dist/services/simpledb/simpledb.d.ts +23 -0
  259. package/dist/services/simpledb/simpledb.d.ts.map +1 -0
  260. package/dist/services/simpledb/simpledb.js +56 -0
  261. package/package.json +216 -328
  262. package/_cjs/ext.cjs +0 -4
  263. package/_cjs/ext.cjs.map +0 -1
  264. package/_cjs/lib/fileUtil.cjs +0 -36
  265. package/_cjs/lib/fileUtil.cjs.map +0 -1
  266. package/_cjs/lib/filter/types/path/index.cjs.map +0 -1
  267. package/_cjs/services/CUPS/service.cjs +0 -15
  268. package/_cjs/services/CUPS/service.cjs.map +0 -1
  269. package/_cjs/services/CUPS.cjs +0 -113
  270. package/_cjs/services/CUPS.cjs.map +0 -1
  271. package/_cjs/services/Cache.cjs +0 -39
  272. package/_cjs/services/Cache.cjs.map +0 -1
  273. package/_cjs/services/ServiceBus.cjs +0 -69
  274. package/_cjs/services/ServiceBus.cjs.map +0 -1
  275. package/_cjs/services/memQueue.cjs.map +0 -1
  276. package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs +0 -14
  277. package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs.map +0 -1
  278. package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs +0 -29
  279. package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs.map +0 -1
  280. package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs +0 -32
  281. package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs.map +0 -1
  282. package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs +0 -266
  283. package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs.map +0 -1
  284. package/_cjs/vendor/Cache/Cache/_internal/CacheState.cjs.map +0 -1
  285. package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs +0 -67
  286. package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs.map +0 -1
  287. package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs +0 -44
  288. package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs.map +0 -1
  289. package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs +0 -33
  290. package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs.map +0 -1
  291. package/_cjs/vendor/Cache/Cache/definition.cjs +0 -13
  292. package/_cjs/vendor/Cache/Cache/definition.cjs.map +0 -1
  293. package/_cjs/vendor/Cache/Cache/operations/make.cjs +0 -20
  294. package/_cjs/vendor/Cache/Cache/operations/make.cjs.map +0 -1
  295. package/_cjs/vendor/Cache/Cache/operations/makeWith.cjs.map +0 -1
  296. package/_cjs/vendor/Cache/Cache/operations.cjs +0 -28
  297. package/_cjs/vendor/Cache/Cache/operations.cjs.map +0 -1
  298. package/_cjs/vendor/Cache/Cache.cjs +0 -28
  299. package/_cjs/vendor/Cache/Cache.cjs.map +0 -1
  300. package/_cjs/vendor/Cache/CacheStats/definition.cjs +0 -13
  301. package/_cjs/vendor/Cache/CacheStats/definition.cjs.map +0 -1
  302. package/_cjs/vendor/Cache/CacheStats.cjs +0 -17
  303. package/_cjs/vendor/Cache/CacheStats.cjs.map +0 -1
  304. package/_cjs/vendor/Cache/EntryStats/definition.cjs +0 -11
  305. package/_cjs/vendor/Cache/EntryStats/definition.cjs.map +0 -1
  306. package/_cjs/vendor/Cache/EntryStats.cjs +0 -17
  307. package/_cjs/vendor/Cache/EntryStats.cjs.map +0 -1
  308. package/_cjs/vendor/Cache/Lookup/definition.cjs +0 -6
  309. package/_cjs/vendor/Cache/Lookup/definition.cjs.map +0 -1
  310. package/_cjs/vendor/Cache/Lookup.cjs +0 -17
  311. package/_cjs/vendor/Cache/Lookup.cjs.map +0 -1
  312. package/_cjs/vendor/Cache/index.cjs +0 -17
  313. package/_cjs/vendor/Cache/index.cjs.map +0 -1
  314. package/_src/ext.ts +0 -1
  315. package/_src/lib/fileUtil.ts +0 -56
  316. package/_src/services/CUPS/service.ts +0 -16
  317. package/_src/services/CUPS.ts +0 -105
  318. package/_src/services/Cache.ts +0 -45
  319. package/_src/services/ServiceBus.ts +0 -111
  320. package/_src/services/memQueue.ts +0 -30
  321. package/_src/vendor/Cache/Cache/_internal/AtomicBoolean.ts +0 -7
  322. package/_src/vendor/Cache/Cache/_internal/AtomicNumber.ts +0 -28
  323. package/_src/vendor/Cache/Cache/_internal/AtomicReference.ts +0 -30
  324. package/_src/vendor/Cache/Cache/_internal/CacheInternal.ts +0 -293
  325. package/_src/vendor/Cache/Cache/_internal/CacheState.ts +0 -56
  326. package/_src/vendor/Cache/Cache/_internal/KeySet.ts +0 -58
  327. package/_src/vendor/Cache/Cache/_internal/MapKey.ts +0 -43
  328. package/_src/vendor/Cache/Cache/_internal/MapValue.ts +0 -39
  329. package/_src/vendor/Cache/Cache/definition.ts +0 -112
  330. package/_src/vendor/Cache/Cache/operations/make.ts +0 -17
  331. package/_src/vendor/Cache/Cache/operations/makeWith.ts +0 -32
  332. package/_src/vendor/Cache/Cache/operations.ts +0 -4
  333. package/_src/vendor/Cache/Cache.ts +0 -4
  334. package/_src/vendor/Cache/CacheStats/definition.ts +0 -23
  335. package/_src/vendor/Cache/CacheStats.ts +0 -3
  336. package/_src/vendor/Cache/EntryStats/definition.ts +0 -19
  337. package/_src/vendor/Cache/EntryStats.ts +0 -3
  338. package/_src/vendor/Cache/Lookup/definition.ts +0 -15
  339. package/_src/vendor/Cache/Lookup.ts +0 -3
  340. package/_src/vendor/Cache/global.ts.bak +0 -23
  341. package/_src/vendor/Cache/index.ts +0 -4
  342. package/dist/ext.d.ts +0 -2
  343. package/dist/ext.d.ts.map +0 -1
  344. package/dist/ext.js +0 -2
  345. package/dist/lib/RequestContext.d.ts.map +0 -1
  346. package/dist/lib/RequestContext.js +0 -52
  347. package/dist/lib/api/authorization.jwt.d.ts.map +0 -1
  348. package/dist/lib/api/defaultErrorHandler.d.ts.map +0 -1
  349. package/dist/lib/api/reportError.d.ts.map +0 -1
  350. package/dist/lib/api/routing.d.ts.map +0 -1
  351. package/dist/lib/api/routing.js +0 -248
  352. package/dist/lib/api/setupRequest.d.ts.map +0 -1
  353. package/dist/lib/api/util.d.ts.map +0 -1
  354. package/dist/lib/api/util.js +0 -14
  355. package/dist/lib/api/writeDocs.d.ts.map +0 -1
  356. package/dist/lib/api/writeDocs.js +0 -23
  357. package/dist/lib/errorReporter.d.ts.map +0 -1
  358. package/dist/lib/errorReporter.js +0 -45
  359. package/dist/lib/ext/Array.d.ts.map +0 -1
  360. package/dist/lib/fileUtil.d.ts +0 -22
  361. package/dist/lib/fileUtil.d.ts.map +0 -1
  362. package/dist/lib/fileUtil.js +0 -23
  363. package/dist/lib/filter/types/errors.d.ts.map +0 -1
  364. package/dist/lib/filter/types/fields.d.ts.map +0 -1
  365. package/dist/lib/filter/types/index.d.ts.map +0 -1
  366. package/dist/lib/filter/types/path/common.d.ts.map +0 -1
  367. package/dist/lib/filter/types/path/eager.d.ts.map +0 -1
  368. package/dist/lib/filter/types/path/index.d.ts.map +0 -1
  369. package/dist/lib/filter/types/utils.d.ts.map +0 -1
  370. package/dist/lib/filter/types/validator.d.ts.map +0 -1
  371. package/dist/lib/filter.d.ts.map +0 -1
  372. package/dist/lib/filter.js +0 -171
  373. package/dist/lib/instrument.d.ts.map +0 -1
  374. package/dist/lib/rateLimit.d.ts.map +0 -1
  375. package/dist/services/CUPS/service.d.ts +0 -19
  376. package/dist/services/CUPS/service.d.ts.map +0 -1
  377. package/dist/services/CUPS/service.js +0 -5
  378. package/dist/services/CUPS.d.ts +0 -10
  379. package/dist/services/CUPS.d.ts.map +0 -1
  380. package/dist/services/CUPS.js +0 -89
  381. package/dist/services/Cache.d.ts +0 -28
  382. package/dist/services/Cache.d.ts.map +0 -1
  383. package/dist/services/Cache.js +0 -28
  384. package/dist/services/ServiceBus.d.ts +0 -26
  385. package/dist/services/ServiceBus.d.ts.map +0 -1
  386. package/dist/services/ServiceBus.js +0 -53
  387. package/dist/services/memQueue.d.ts +0 -18
  388. package/dist/services/memQueue.d.ts.map +0 -1
  389. package/dist/services/memQueue.js +0 -24
  390. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts +0 -5
  391. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts.map +0 -1
  392. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.js +0 -7
  393. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts +0 -8
  394. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts.map +0 -1
  395. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.js +0 -22
  396. package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts +0 -10
  397. package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts.map +0 -1
  398. package/dist/vendor/Cache/Cache/_internal/AtomicReference.js +0 -25
  399. package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts +0 -51
  400. package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts.map +0 -1
  401. package/dist/vendor/Cache/Cache/_internal/CacheInternal.js +0 -253
  402. package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts +0 -33
  403. package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts.map +0 -1
  404. package/dist/vendor/Cache/Cache/_internal/CacheState.js +0 -21
  405. package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts +0 -20
  406. package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts.map +0 -1
  407. package/dist/vendor/Cache/Cache/_internal/KeySet.js +0 -61
  408. package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts +0 -24
  409. package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts.map +0 -1
  410. package/dist/vendor/Cache/Cache/_internal/MapKey.js +0 -37
  411. package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts +0 -32
  412. package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts.map +0 -1
  413. package/dist/vendor/Cache/Cache/_internal/MapValue.js +0 -24
  414. package/dist/vendor/Cache/Cache/definition.d.ts +0 -100
  415. package/dist/vendor/Cache/Cache/definition.d.ts.map +0 -1
  416. package/dist/vendor/Cache/Cache/definition.js +0 -5
  417. package/dist/vendor/Cache/Cache/operations/make.d.ts +0 -12
  418. package/dist/vendor/Cache/Cache/operations/make.d.ts.map +0 -1
  419. package/dist/vendor/Cache/Cache/operations/make.js +0 -12
  420. package/dist/vendor/Cache/Cache/operations/makeWith.d.ts +0 -14
  421. package/dist/vendor/Cache/Cache/operations/makeWith.d.ts.map +0 -1
  422. package/dist/vendor/Cache/Cache/operations/makeWith.js +0 -15
  423. package/dist/vendor/Cache/Cache/operations.d.ts +0 -3
  424. package/dist/vendor/Cache/Cache/operations.d.ts.map +0 -1
  425. package/dist/vendor/Cache/Cache/operations.js +0 -4
  426. package/dist/vendor/Cache/Cache.d.ts +0 -3
  427. package/dist/vendor/Cache/Cache.d.ts.map +0 -1
  428. package/dist/vendor/Cache/Cache.js +0 -4
  429. package/dist/vendor/Cache/CacheStats/definition.d.ts +0 -19
  430. package/dist/vendor/Cache/CacheStats/definition.d.ts.map +0 -1
  431. package/dist/vendor/Cache/CacheStats/definition.js +0 -6
  432. package/dist/vendor/Cache/CacheStats.d.ts +0 -2
  433. package/dist/vendor/Cache/CacheStats.d.ts.map +0 -1
  434. package/dist/vendor/Cache/CacheStats.js +0 -3
  435. package/dist/vendor/Cache/EntryStats/definition.d.ts +0 -17
  436. package/dist/vendor/Cache/EntryStats/definition.d.ts.map +0 -1
  437. package/dist/vendor/Cache/EntryStats/definition.js +0 -4
  438. package/dist/vendor/Cache/EntryStats.d.ts +0 -2
  439. package/dist/vendor/Cache/EntryStats.d.ts.map +0 -1
  440. package/dist/vendor/Cache/EntryStats.js +0 -3
  441. package/dist/vendor/Cache/Lookup/definition.d.ts +0 -17
  442. package/dist/vendor/Cache/Lookup/definition.d.ts.map +0 -1
  443. package/dist/vendor/Cache/Lookup/definition.js +0 -2
  444. package/dist/vendor/Cache/Lookup.d.ts +0 -2
  445. package/dist/vendor/Cache/Lookup.d.ts.map +0 -1
  446. package/dist/vendor/Cache/Lookup.js +0 -3
  447. package/dist/vendor/Cache/index.d.ts +0 -5
  448. package/dist/vendor/Cache/index.d.ts.map +0 -1
  449. package/dist/vendor/Cache/index.js +0 -5
@@ -0,0 +1,460 @@
1
+ /* eslint-disable @typescript-eslint/ban-types */
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import * as MO from "@effect-app/schema"
4
+ import { Encoder, extractSchema } from "@effect-app/schema"
5
+ import type express from "express"
6
+
7
+ import * as Ex from "@effect-app/infra-adapters/express"
8
+ import type { NotFoundError, NotLoggedInError, UnauthorizedError, ValidationError } from "../../../errors.js"
9
+ import type {
10
+ Encode,
11
+ Middleware,
12
+ MiddlewareHandler,
13
+ RequestHandler,
14
+ RequestHandlerOptRes,
15
+ RequestParsers
16
+ } from "./schema/requestHandler.js"
17
+ import { makeRequestParsers, parseRequestParams, respondSuccess } from "./schema/requestHandler.js"
18
+ import { makeRouteDescriptor } from "./schema/routing.js"
19
+
20
+ /*
21
+ An app should take ownership over these
22
+ */
23
+ export type SupportedErrors =
24
+ | ValidationError
25
+ | NotFoundError
26
+ | NotLoggedInError
27
+ | UnauthorizedError
28
+
29
+ export function match<
30
+ R,
31
+ PathA,
32
+ CookieA,
33
+ QueryA,
34
+ BodyA,
35
+ HeaderA,
36
+ ReqA extends {} & PathA & QueryA & BodyA,
37
+ ResA,
38
+ R2 = never,
39
+ PR = never
40
+ >(
41
+ r: RequestHandler<
42
+ R,
43
+ PathA,
44
+ CookieA,
45
+ QueryA,
46
+ BodyA,
47
+ HeaderA,
48
+ ReqA,
49
+ ResA,
50
+ SupportedErrors
51
+ >,
52
+ mw?: Middleware<
53
+ R,
54
+ PathA,
55
+ CookieA,
56
+ QueryA,
57
+ BodyA,
58
+ HeaderA,
59
+ ReqA,
60
+ ResA,
61
+ SupportedErrors,
62
+ R2,
63
+ PR
64
+ >
65
+ ) {
66
+ let h: MiddlewareHandler<SupportedErrors, R2, PR> | undefined = undefined
67
+ if (mw) {
68
+ const { handle, handler } = mw(r)
69
+ r = handler
70
+ h = handle
71
+ }
72
+ return Ex.match(r.Request.method.toLowerCase() as any)(
73
+ r.Request.path.split("?")[0],
74
+ makeRequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, R2, PR>(
75
+ r,
76
+ h
77
+ )
78
+ ).zipRight(
79
+ Effect(() => makeRouteDescriptor(r.Request.path, r.Request.method, r))
80
+ )
81
+ }
82
+
83
+ export function makeRequestHandler<
84
+ R,
85
+ PathA,
86
+ CookieA,
87
+ QueryA,
88
+ BodyA,
89
+ HeaderA,
90
+ ReqA extends {} & PathA & QueryA & BodyA,
91
+ ResA = void,
92
+ R2 = never,
93
+ PR = never
94
+ >(
95
+ handle: RequestHandlerOptRes<
96
+ R | PR,
97
+ PathA,
98
+ CookieA,
99
+ QueryA,
100
+ BodyA,
101
+ HeaderA,
102
+ ReqA,
103
+ ResA,
104
+ SupportedErrors
105
+ >,
106
+ h?: (req: express.Request, res: express.Response) => Layer<R2, SupportedErrors, PR>
107
+ ) {
108
+ const { Request, Response } = handle
109
+ const res = Response ? extractSchema(Response as any) : MO.Void
110
+ const encodeResponse = handle.adaptResponse
111
+ ? (req: ReqA) => Encoder.for(handle.adaptResponse(req))
112
+ : () => Encoder.for(res)
113
+
114
+ return handleRequest<
115
+ R,
116
+ PathA,
117
+ CookieA,
118
+ QueryA,
119
+ BodyA,
120
+ HeaderA,
121
+ ResA,
122
+ never,
123
+ ReqA,
124
+ R2,
125
+ PR
126
+ >(makeRequestParsers(Request), encodeResponse as any, handle.h, h)
127
+ }
128
+ export function handleRequest<
129
+ R,
130
+ PathA,
131
+ CookieA,
132
+ QueryA,
133
+ BodyA,
134
+ HeaderA,
135
+ ResA,
136
+ ResE,
137
+ ReqA extends {} & PathA & BodyA & QueryA,
138
+ R2 = never,
139
+ PR = never
140
+ >(
141
+ requestParsers: RequestParsers<PathA, CookieA, QueryA, BodyA, HeaderA>,
142
+ encodeResponse: (r: ReqA) => Encode<ResA, ResE>,
143
+ handle: (r: ReqA) => Effect<R | PR, SupportedErrors, ResA>,
144
+ h?: (req: express.Request, res: express.Response) => Layer<R2, SupportedErrors, PR>
145
+ ) {
146
+ const parseRequest = parseRequestParams(requestParsers)
147
+ const respond = respondSuccess(encodeResponse)
148
+ return (req: express.Request, res: express.Response) =>
149
+ parseRequest(req)
150
+ .map(({ body, path, query }) => {
151
+ const hn = {
152
+ ...body.value,
153
+ ...query.value,
154
+ ...path.value
155
+ } as ReqA
156
+ return hn
157
+ })
158
+ .flatMap(inp => {
159
+ const hn = handle(inp)
160
+ const r = h ? hn.provideSomeLayer(h(req, res)) : hn
161
+ return (
162
+ r as never as Effect<Exclude<R | R2, PR>, SupportedErrors, ResA>
163
+ ).flatMap(outp => respond(inp, res)(outp))
164
+ })
165
+ .catchTag("ValidationError", err =>
166
+ Effect(() => {
167
+ res.status(400).send(err.errors)
168
+ }))
169
+ .catchTag("NotFoundError", err =>
170
+ Effect(() => {
171
+ res.status(404).send(err)
172
+ }))
173
+ .catchTag("NotLoggedInError", err =>
174
+ Effect(() => {
175
+ res.status(401).send(err)
176
+ }))
177
+ .catchTag("UnauthorizedError", err =>
178
+ Effect(() => {
179
+ res.status(403).send(err)
180
+ }))
181
+ // final catch all; expecting never so that unhandled known errors will show up
182
+ .catchAll((err: never) =>
183
+ Effect(() =>
184
+ console.error(
185
+ "Program error, compiler probably silenced, got an unsupported Error in Error Channel of Effect",
186
+ err
187
+ )
188
+ ).flatMap(Effect.die)
189
+ )
190
+ // .tapCause(() => Effect(() => res.status(500).send()))
191
+ }
192
+
193
+ // Additional convenience helpers
194
+
195
+ export function get<
196
+ R,
197
+ PathA,
198
+ CookieA,
199
+ QueryA,
200
+ BodyA,
201
+ HeaderA,
202
+ ReqA extends {} & PathA & QueryA & BodyA,
203
+ ResA,
204
+ R2 = never,
205
+ PR = never
206
+ >(
207
+ path: string,
208
+ r: RequestHandler<
209
+ R,
210
+ PathA,
211
+ CookieA,
212
+ QueryA,
213
+ BodyA,
214
+ HeaderA,
215
+ ReqA,
216
+ ResA,
217
+ SupportedErrors
218
+ >,
219
+ mw?: Middleware<
220
+ R,
221
+ PathA,
222
+ CookieA,
223
+ QueryA,
224
+ BodyA,
225
+ HeaderA,
226
+ ReqA,
227
+ ResA,
228
+ SupportedErrors,
229
+ R2,
230
+ PR
231
+ >
232
+ ) {
233
+ let h: MiddlewareHandler<SupportedErrors, R2, PR> | undefined = undefined
234
+ if (mw) {
235
+ const { handle, handler } = mw(r)
236
+ r = handler
237
+ h = handle
238
+ }
239
+ return Ex.get(
240
+ path,
241
+ makeRequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, R2, PR>(
242
+ r,
243
+ h
244
+ )
245
+ ).zipRight(Effect(() => makeRouteDescriptor(path, "GET", r)))
246
+ }
247
+
248
+ export function post<
249
+ R,
250
+ PathA,
251
+ CookieA,
252
+ QueryA,
253
+ BodyA,
254
+ HeaderA,
255
+ ReqA extends {} & PathA & QueryA & BodyA,
256
+ ResA = void,
257
+ R2 = never,
258
+ PR = never
259
+ >(
260
+ path: string,
261
+ r: RequestHandler<
262
+ R,
263
+ PathA,
264
+ CookieA,
265
+ QueryA,
266
+ BodyA,
267
+ HeaderA,
268
+ ReqA,
269
+ ResA,
270
+ SupportedErrors
271
+ >,
272
+ mw?: Middleware<
273
+ R,
274
+ PathA,
275
+ CookieA,
276
+ QueryA,
277
+ BodyA,
278
+ HeaderA,
279
+ ReqA,
280
+ ResA,
281
+ SupportedErrors,
282
+ R2,
283
+ PR
284
+ >
285
+ ) {
286
+ let h: MiddlewareHandler<SupportedErrors, R2, PR> | undefined = undefined
287
+ if (mw) {
288
+ const { handle, handler } = mw(r)
289
+ r = handler
290
+ h = handle
291
+ }
292
+ return Ex.post(
293
+ path,
294
+ makeRequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, R2, PR>(
295
+ r,
296
+ h
297
+ )
298
+ ).zipRight(Effect(() => makeRouteDescriptor(path, "POST", r)))
299
+ }
300
+
301
+ export function put<
302
+ R,
303
+ PathA,
304
+ CookieA,
305
+ QueryA,
306
+ BodyA,
307
+ HeaderA,
308
+ ReqA extends {} & PathA & QueryA & BodyA,
309
+ ResA = void,
310
+ R2 = never,
311
+ PR = never
312
+ >(
313
+ path: string,
314
+ r: RequestHandler<
315
+ R,
316
+ PathA,
317
+ CookieA,
318
+ QueryA,
319
+ BodyA,
320
+ HeaderA,
321
+ ReqA,
322
+ ResA,
323
+ SupportedErrors
324
+ >,
325
+ mw?: Middleware<
326
+ R,
327
+ PathA,
328
+ CookieA,
329
+ QueryA,
330
+ BodyA,
331
+ HeaderA,
332
+ ReqA,
333
+ ResA,
334
+ SupportedErrors,
335
+ R2,
336
+ PR
337
+ >
338
+ ) {
339
+ let h: MiddlewareHandler<SupportedErrors, R2, PR> | undefined = undefined
340
+ if (mw) {
341
+ const { handle, handler } = mw(r)
342
+ r = handler
343
+ h = handle
344
+ }
345
+ return Ex.put(
346
+ path,
347
+ makeRequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, R2, PR>(
348
+ r,
349
+ h
350
+ )
351
+ ).zipRight(Effect(() => makeRouteDescriptor(path, "PUT", r)))
352
+ }
353
+
354
+ export function patch<
355
+ R,
356
+ PathA,
357
+ CookieA,
358
+ QueryA,
359
+ BodyA,
360
+ HeaderA,
361
+ ReqA extends {} & PathA & QueryA & BodyA,
362
+ ResA = void,
363
+ R2 = never,
364
+ PR = never
365
+ >(
366
+ path: string,
367
+ r: RequestHandler<
368
+ R,
369
+ PathA,
370
+ CookieA,
371
+ QueryA,
372
+ BodyA,
373
+ HeaderA,
374
+ ReqA,
375
+ ResA,
376
+ SupportedErrors
377
+ >,
378
+ mw?: Middleware<
379
+ R,
380
+ PathA,
381
+ CookieA,
382
+ QueryA,
383
+ BodyA,
384
+ HeaderA,
385
+ ReqA,
386
+ ResA,
387
+ SupportedErrors,
388
+ R2,
389
+ PR
390
+ >
391
+ ) {
392
+ let h: MiddlewareHandler<SupportedErrors, R2, PR> | undefined = undefined
393
+ if (mw) {
394
+ const { handle, handler } = mw(r)
395
+ r = handler
396
+ h = handle
397
+ }
398
+ return Ex.patch(
399
+ path,
400
+ makeRequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, R2, PR>(
401
+ r,
402
+ h
403
+ )
404
+ ).zipRight(Effect(() => makeRouteDescriptor(path, "PATCH", r)))
405
+ }
406
+
407
+ function del<
408
+ R,
409
+ PathA,
410
+ CookieA,
411
+ QueryA,
412
+ BodyA,
413
+ HeaderA,
414
+ ReqA extends {} & PathA & QueryA & BodyA,
415
+ ResA = void,
416
+ R2 = never,
417
+ PR = never
418
+ >(
419
+ path: string,
420
+ r: RequestHandler<
421
+ R,
422
+ PathA,
423
+ CookieA,
424
+ QueryA,
425
+ BodyA,
426
+ HeaderA,
427
+ ReqA,
428
+ ResA,
429
+ SupportedErrors
430
+ >,
431
+ mw?: Middleware<
432
+ R,
433
+ PathA,
434
+ CookieA,
435
+ QueryA,
436
+ BodyA,
437
+ HeaderA,
438
+ ReqA,
439
+ ResA,
440
+ SupportedErrors,
441
+ R2,
442
+ PR
443
+ >
444
+ ) {
445
+ let h: MiddlewareHandler<SupportedErrors, R2, PR> | undefined = undefined
446
+ if (mw) {
447
+ const { handle, handler } = mw(r)
448
+ r = handler
449
+ h = handle
450
+ }
451
+ return Ex.delete(
452
+ path,
453
+ makeRequestHandler<R, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, R2, PR>(
454
+ r,
455
+ h
456
+ )
457
+ ).zipRight(Effect(() => makeRouteDescriptor(path, "DELETE", r)))
458
+ }
459
+
460
+ export { del as delete }
@@ -0,0 +1,38 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ /* eslint-disable @typescript-eslint/ban-types */
4
+ import { pipe } from "@effect-app/core/Function"
5
+ import * as MO from "@effect-app/schema"
6
+ import { These as Th } from "@effect-app/schema"
7
+ import jwt_decode from "jwt-decode"
8
+
9
+ export const jwtIdentifier = MO.makeAnnotation<{}>()
10
+
11
+ export const jwtFromString: MO.Schema<string, unknown, unknown, string, {}> = pipe(
12
+ // MO.identity((u): u is string => typeof u === "string"),
13
+ MO.identity((u): u is string => {
14
+ throw new Error("Cannot id JWT: " + u)
15
+ }),
16
+ MO.constructor(n => Th.succeed(n)),
17
+ // MO.arbitrary((_) => {
18
+ // throw new Error("Cannot arb JWT")
19
+ // }), // TODO
20
+ // MO.encoder((_) => {
21
+ // throw new Error("can't encode")
22
+ // }),
23
+ MO.parser((p: any) => {
24
+ try {
25
+ return Th.succeed(
26
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27
+ // @ts-expect-error
28
+ jwt_decode(p)
29
+ )
30
+ } catch (err) {
31
+ return Th.fail(MO.leafE(MO.parseStringE(p))) // "not a JWT: " + err as anyw
32
+ }
33
+ }),
34
+ MO.mapApi(() => ({})),
35
+ MO.annotate(jwtIdentifier, {})
36
+ )
37
+
38
+ export const jwt = MO.string[">>>"](jwtFromString)