effect-start 0.23.1 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/dist/ChildProcess.js +32 -20
  2. package/dist/Commander.js +377 -293
  3. package/dist/ContentNegotiation.js +424 -318
  4. package/dist/Cookies.js +340 -271
  5. package/dist/Development.js +85 -49
  6. package/dist/Effectify.js +22 -14
  7. package/dist/Entity.js +260 -195
  8. package/dist/Fetch.js +192 -0
  9. package/dist/FilePathPattern.js +88 -77
  10. package/dist/FileRouter.js +192 -136
  11. package/dist/FileRouterCodegen.js +262 -191
  12. package/dist/FileSystem.js +126 -64
  13. package/dist/Http.js +96 -77
  14. package/dist/PathPattern.js +311 -273
  15. package/dist/PlatformError.js +36 -21
  16. package/dist/PlatformRuntime.js +65 -40
  17. package/dist/Route.js +122 -79
  18. package/dist/RouteBody.js +83 -58
  19. package/dist/RouteError.js +46 -25
  20. package/dist/RouteHook.js +58 -34
  21. package/dist/RouteHttp.js +346 -237
  22. package/dist/RouteHttpTracer.js +86 -58
  23. package/dist/RouteMount.js +81 -58
  24. package/dist/RouteSchema.js +253 -170
  25. package/dist/RouteSse.js +87 -72
  26. package/dist/RouteTree.js +99 -73
  27. package/dist/RouteTrie.js +160 -133
  28. package/dist/SchemaExtra.js +87 -62
  29. package/dist/Socket.js +32 -21
  30. package/dist/SqlIntrospect.js +317 -268
  31. package/dist/Start.js +55 -25
  32. package/dist/StartApp.js +3 -21
  33. package/dist/StreamExtra.js +109 -74
  34. package/dist/System.js +37 -21
  35. package/dist/TuplePathPattern.js +64 -58
  36. package/dist/Unique.js +159 -120
  37. package/dist/Values.js +48 -32
  38. package/dist/bun/BunBundle.js +158 -109
  39. package/dist/bun/BunChildProcessSpawner.js +121 -82
  40. package/dist/bun/BunImportTrackerPlugin.js +85 -63
  41. package/dist/bun/BunRoute.js +135 -99
  42. package/dist/bun/BunRuntime.js +39 -29
  43. package/dist/bun/BunServer.js +268 -140
  44. package/dist/bun/BunVirtualFilesPlugin.js +47 -33
  45. package/dist/bun/_BunEnhancedResolve.js +107 -82
  46. package/dist/bun/index.js +5 -5
  47. package/dist/bundler/Bundle.js +82 -38
  48. package/dist/bundler/BundleFiles.js +140 -82
  49. package/dist/bundler/BundleRoute.js +49 -38
  50. package/dist/client/Overlay.js +29 -28
  51. package/dist/client/ScrollState.js +94 -82
  52. package/dist/client/index.js +79 -61
  53. package/dist/console/Console.js +40 -24
  54. package/dist/console/ConsoleErrors.js +189 -178
  55. package/dist/console/ConsoleLogger.js +52 -43
  56. package/dist/console/ConsoleMetrics.js +69 -58
  57. package/dist/console/ConsoleProcess.js +57 -47
  58. package/dist/console/ConsoleStore.js +56 -45
  59. package/dist/console/ConsoleTracer.js +101 -88
  60. package/dist/console/Simulation.js +714 -563
  61. package/dist/console/index.js +3 -3
  62. package/dist/console/routes/tree.js +29 -28
  63. package/dist/datastar/actions/fetch.js +514 -381
  64. package/dist/datastar/actions/peek.js +12 -12
  65. package/dist/datastar/actions/setAll.js +18 -11
  66. package/dist/datastar/actions/toggleAll.js +18 -11
  67. package/dist/datastar/attributes/attr.js +48 -47
  68. package/dist/datastar/attributes/bind.js +186 -167
  69. package/dist/datastar/attributes/class.js +51 -44
  70. package/dist/datastar/attributes/computed.js +23 -24
  71. package/dist/datastar/attributes/effect.js +9 -8
  72. package/dist/datastar/attributes/indicator.js +32 -29
  73. package/dist/datastar/attributes/init.js +26 -25
  74. package/dist/datastar/attributes/jsonSignals.js +32 -29
  75. package/dist/datastar/attributes/on.js +76 -73
  76. package/dist/datastar/attributes/onIntersect.js +51 -51
  77. package/dist/datastar/attributes/onInterval.js +30 -29
  78. package/dist/datastar/attributes/onSignalPatch.js +49 -40
  79. package/dist/datastar/attributes/ref.js +10 -9
  80. package/dist/datastar/attributes/show.js +31 -30
  81. package/dist/datastar/attributes/signals.js +17 -16
  82. package/dist/datastar/attributes/style.js +56 -49
  83. package/dist/datastar/attributes/text.js +28 -25
  84. package/dist/datastar/engine.js +1079 -933
  85. package/dist/datastar/index.js +25 -24
  86. package/dist/datastar/utils.js +203 -155
  87. package/dist/datastar/watchers/patchElements.js +459 -372
  88. package/dist/datastar/watchers/patchSignals.js +13 -13
  89. package/dist/experimental/EncryptedCookies.js +305 -189
  90. package/dist/experimental/index.js +1 -1
  91. package/dist/hyper/Hyper.js +22 -17
  92. package/dist/hyper/HyperHtml.js +138 -123
  93. package/dist/hyper/HyperNode.js +11 -9
  94. package/dist/hyper/HyperRoute.js +41 -28
  95. package/dist/hyper/html.js +27 -27
  96. package/dist/hyper/index.js +5 -5
  97. package/dist/hyper/jsx-runtime.js +11 -5
  98. package/dist/index.js +8 -8
  99. package/dist/node/NodeFileSystem.js +606 -341
  100. package/dist/node/NodeUtils.js +21 -18
  101. package/dist/sql/Sql.js +8 -0
  102. package/dist/sql/bun/index.js +134 -67
  103. package/dist/sql/index.js +1 -0
  104. package/dist/sql/libsql/index.js +156 -0
  105. package/dist/sql/mssql/docker.js +103 -60
  106. package/dist/sql/mssql/index.js +182 -101
  107. package/dist/testing/TestLogger.js +39 -29
  108. package/dist/testing/index.js +2 -2
  109. package/dist/testing/utils.js +45 -23
  110. package/dist/x/cloudflare/CloudflareTunnel.js +61 -28
  111. package/dist/x/cloudflare/index.js +1 -1
  112. package/dist/x/tailscale/TailscaleTunnel.js +86 -60
  113. package/dist/x/tailscale/index.js +1 -1
  114. package/dist/x/tailwind/TailwindPlugin.js +280 -205
  115. package/dist/x/tailwind/compile.js +185 -129
  116. package/dist/x/tailwind/plugin.js +13 -11
  117. package/package.json +1 -1
  118. package/src/Development.ts +3 -1
  119. package/src/Entity.ts +17 -0
  120. package/src/Fetch.ts +271 -0
  121. package/src/SqlIntrospect.ts +64 -70
  122. package/src/Start.ts +21 -24
  123. package/src/StartApp.ts +1 -1
  124. package/src/bun/BunServer.ts +42 -10
  125. package/src/hyper/HyperHtml.ts +0 -1
  126. package/src/sql/bun/index.ts +1 -1
  127. package/src/sql/index.ts +1 -0
  128. package/src/sql/libsql/index.ts +173 -0
  129. package/src/sql/libsql/libsql.d.ts +39 -0
  130. package/src/sql/mssql/index.ts +1 -1
  131. package/dist/BlobStore.d.ts +0 -80
  132. package/dist/BlobStore.js +0 -19
  133. package/dist/ChildProcess.d.ts +0 -60
  134. package/dist/Commander.d.ts +0 -100
  135. package/dist/ContentNegotiation.d.ts +0 -12
  136. package/dist/Cookies.d.ts +0 -47
  137. package/dist/Development.d.ts +0 -39
  138. package/dist/Effectify.d.ts +0 -209
  139. package/dist/Entity.d.ts +0 -47
  140. package/dist/FilePathPattern.d.ts +0 -29
  141. package/dist/FileRouter.d.ts +0 -56
  142. package/dist/FileRouterCodegen.d.ts +0 -18
  143. package/dist/FileRouterPattern.d.ts +0 -9
  144. package/dist/FileRouterPattern.js +0 -35
  145. package/dist/FileSystem.d.ts +0 -158
  146. package/dist/Http.d.ts +0 -37
  147. package/dist/HttpAppExtra.d.ts +0 -7
  148. package/dist/HttpAppExtra.js +0 -320
  149. package/dist/HttpUtils.d.ts +0 -3
  150. package/dist/HttpUtils.js +0 -11
  151. package/dist/PathPattern.d.ts +0 -134
  152. package/dist/PlatformError.d.ts +0 -38
  153. package/dist/PlatformRuntime.d.ts +0 -27
  154. package/dist/Route.d.ts +0 -97
  155. package/dist/RouteBody.d.ts +0 -47
  156. package/dist/RouteError.d.ts +0 -98
  157. package/dist/RouteHook.d.ts +0 -12
  158. package/dist/RouteHttp.d.ts +0 -21
  159. package/dist/RouteHttpTracer.d.ts +0 -10
  160. package/dist/RouteMount.d.ts +0 -86
  161. package/dist/RouteSchema.d.ts +0 -86
  162. package/dist/RouteSse.d.ts +0 -21
  163. package/dist/RouteTree.d.ts +0 -57
  164. package/dist/RouteTrie.d.ts +0 -20
  165. package/dist/RouterPattern.d.ts +0 -118
  166. package/dist/RouterPattern.js +0 -269
  167. package/dist/SchemaExtra.d.ts +0 -7
  168. package/dist/Socket.d.ts +0 -27
  169. package/dist/Sql.d.ts +0 -34
  170. package/dist/Sql.js +0 -5
  171. package/dist/SqlIntrospect.d.ts +0 -91
  172. package/dist/Start.d.ts +0 -44
  173. package/dist/StartApp.d.ts +0 -19
  174. package/dist/StreamExtra.d.ts +0 -28
  175. package/dist/System.d.ts +0 -7
  176. package/dist/TuplePathPattern.d.ts +0 -9
  177. package/dist/Unique.d.ts +0 -50
  178. package/dist/Values.d.ts +0 -27
  179. package/dist/bun/BunBlobStoreDisk.d.ts +0 -6
  180. package/dist/bun/BunBlobStoreDisk.js +0 -116
  181. package/dist/bun/BunBlobStoreS3.d.ts +0 -11
  182. package/dist/bun/BunBlobStoreS3.js +0 -89
  183. package/dist/bun/BunBlobWatcherDisk.d.ts +0 -6
  184. package/dist/bun/BunBlobWatcherDisk.js +0 -60
  185. package/dist/bun/BunBlobWatcherQueue.d.ts +0 -6
  186. package/dist/bun/BunBlobWatcherQueue.js +0 -17
  187. package/dist/bun/BunBundle.d.ts +0 -11
  188. package/dist/bun/BunChildProcessSpawner.d.ts +0 -3
  189. package/dist/bun/BunHttpServer.d.ts +0 -44
  190. package/dist/bun/BunHttpServer.js +0 -186
  191. package/dist/bun/BunHttpServer_web.d.ts +0 -60
  192. package/dist/bun/BunHttpServer_web.js +0 -252
  193. package/dist/bun/BunImportTrackerPlugin.d.ts +0 -13
  194. package/dist/bun/BunPlatformHttpServer.d.ts +0 -10
  195. package/dist/bun/BunPlatformHttpServer.js +0 -53
  196. package/dist/bun/BunRoute.d.ts +0 -48
  197. package/dist/bun/BunRuntime.d.ts +0 -2
  198. package/dist/bun/BunServer.d.ts +0 -40
  199. package/dist/bun/BunServerRequest.d.ts +0 -60
  200. package/dist/bun/BunServerRequest.js +0 -252
  201. package/dist/bun/BunSql.d.ts +0 -4
  202. package/dist/bun/BunSql.js +0 -81
  203. package/dist/bun/BunVirtualFilesPlugin.d.ts +0 -4
  204. package/dist/bun/_BunEnhancedResolve.d.ts +0 -45
  205. package/dist/bun/index.d.ts +0 -5
  206. package/dist/bundler/Bundle.d.ts +0 -61
  207. package/dist/bundler/BundleFiles.d.ts +0 -13
  208. package/dist/bundler/BundleHttp.d.ts +0 -45
  209. package/dist/bundler/BundleHttp.js +0 -176
  210. package/dist/bundler/BundleRoute.d.ts +0 -27
  211. package/dist/client/Overlay.d.ts +0 -2
  212. package/dist/client/ScrollState.d.ts +0 -6
  213. package/dist/client/index.d.ts +0 -6
  214. package/dist/console/Console.d.ts +0 -6
  215. package/dist/console/ConsoleErrors.d.ts +0 -3
  216. package/dist/console/ConsoleLogger.d.ts +0 -3
  217. package/dist/console/ConsoleMetrics.d.ts +0 -3
  218. package/dist/console/ConsoleProcess.d.ts +0 -3
  219. package/dist/console/ConsoleStore.d.ts +0 -144
  220. package/dist/console/ConsoleTracer.d.ts +0 -3
  221. package/dist/console/Simulation.d.ts +0 -2
  222. package/dist/console/index.d.ts +0 -3
  223. package/dist/console/routes/errors/route.d.ts +0 -10
  224. package/dist/console/routes/errors/route.js +0 -47
  225. package/dist/console/routes/fiberDetail.d.ts +0 -16
  226. package/dist/console/routes/fiberDetail.js +0 -38
  227. package/dist/console/routes/fibers/route.d.ts +0 -10
  228. package/dist/console/routes/fibers/route.js +0 -19
  229. package/dist/console/routes/git/route.d.ts +0 -11
  230. package/dist/console/routes/git/route.js +0 -33
  231. package/dist/console/routes/layout.d.ts +0 -9
  232. package/dist/console/routes/layout.js +0 -3
  233. package/dist/console/routes/logs/route.d.ts +0 -10
  234. package/dist/console/routes/logs/route.js +0 -32
  235. package/dist/console/routes/metrics/route.d.ts +0 -10
  236. package/dist/console/routes/metrics/route.js +0 -17
  237. package/dist/console/routes/route.d.ts +0 -6
  238. package/dist/console/routes/route.js +0 -5
  239. package/dist/console/routes/routes/route.d.ts +0 -6
  240. package/dist/console/routes/routes/route.js +0 -20
  241. package/dist/console/routes/services/route.d.ts +0 -6
  242. package/dist/console/routes/services/route.js +0 -12
  243. package/dist/console/routes/system/route.d.ts +0 -10
  244. package/dist/console/routes/system/route.js +0 -18
  245. package/dist/console/routes/traceDetail.d.ts +0 -16
  246. package/dist/console/routes/traceDetail.js +0 -14
  247. package/dist/console/routes/traces/route.d.ts +0 -10
  248. package/dist/console/routes/traces/route.js +0 -39
  249. package/dist/console/routes/tree.d.ts +0 -153
  250. package/dist/console/ui/Errors.d.ts +0 -4
  251. package/dist/console/ui/Errors.js +0 -15
  252. package/dist/console/ui/Fibers.d.ts +0 -24
  253. package/dist/console/ui/Fibers.js +0 -121
  254. package/dist/console/ui/Git.d.ts +0 -20
  255. package/dist/console/ui/Git.js +0 -95
  256. package/dist/console/ui/Logs.d.ts +0 -4
  257. package/dist/console/ui/Logs.js +0 -25
  258. package/dist/console/ui/Metrics.d.ts +0 -4
  259. package/dist/console/ui/Metrics.js +0 -26
  260. package/dist/console/ui/Routes.d.ts +0 -8
  261. package/dist/console/ui/Routes.js +0 -70
  262. package/dist/console/ui/Services.d.ts +0 -10
  263. package/dist/console/ui/Services.js +0 -246
  264. package/dist/console/ui/Shell.d.ts +0 -10
  265. package/dist/console/ui/Shell.js +0 -7
  266. package/dist/console/ui/System.d.ts +0 -4
  267. package/dist/console/ui/System.js +0 -35
  268. package/dist/console/ui/Traces.d.ts +0 -12
  269. package/dist/console/ui/Traces.js +0 -179
  270. package/dist/datastar/actions/fetch.d.ts +0 -30
  271. package/dist/datastar/actions/peek.d.ts +0 -1
  272. package/dist/datastar/actions/setAll.d.ts +0 -1
  273. package/dist/datastar/actions/toggleAll.d.ts +0 -1
  274. package/dist/datastar/attributes/attr.d.ts +0 -1
  275. package/dist/datastar/attributes/bind.d.ts +0 -1
  276. package/dist/datastar/attributes/class.d.ts +0 -1
  277. package/dist/datastar/attributes/computed.d.ts +0 -1
  278. package/dist/datastar/attributes/effect.d.ts +0 -1
  279. package/dist/datastar/attributes/indicator.d.ts +0 -1
  280. package/dist/datastar/attributes/init.d.ts +0 -1
  281. package/dist/datastar/attributes/jsonSignals.d.ts +0 -1
  282. package/dist/datastar/attributes/on.d.ts +0 -1
  283. package/dist/datastar/attributes/onIntersect.d.ts +0 -1
  284. package/dist/datastar/attributes/onInterval.d.ts +0 -1
  285. package/dist/datastar/attributes/onSignalPatch.d.ts +0 -1
  286. package/dist/datastar/attributes/ref.d.ts +0 -1
  287. package/dist/datastar/attributes/show.d.ts +0 -1
  288. package/dist/datastar/attributes/signals.d.ts +0 -1
  289. package/dist/datastar/attributes/style.d.ts +0 -1
  290. package/dist/datastar/attributes/text.d.ts +0 -1
  291. package/dist/datastar/engine.d.ts +0 -162
  292. package/dist/datastar/happydom.d.ts +0 -1
  293. package/dist/datastar/happydom.js +0 -8
  294. package/dist/datastar/index.d.ts +0 -24
  295. package/dist/datastar/load.d.ts +0 -24
  296. package/dist/datastar/load.js +0 -24
  297. package/dist/datastar/utils.d.ts +0 -51
  298. package/dist/datastar/watchers/patchElements.d.ts +0 -1
  299. package/dist/datastar/watchers/patchSignals.d.ts +0 -1
  300. package/dist/experimental/EncryptedCookies.d.ts +0 -48
  301. package/dist/experimental/SseHttpResponse.d.ts +0 -7
  302. package/dist/experimental/SseHttpResponse.js +0 -28
  303. package/dist/experimental/index.d.ts +0 -1
  304. package/dist/hyper/Hyper.d.ts +0 -25
  305. package/dist/hyper/HyperHtml.d.ts +0 -23
  306. package/dist/hyper/HyperHtml.test.d.ts +0 -1
  307. package/dist/hyper/HyperHtml.test.js +0 -197
  308. package/dist/hyper/HyperNode.d.ts +0 -14
  309. package/dist/hyper/HyperRoute.d.ts +0 -8
  310. package/dist/hyper/HyperRoute.test.d.ts +0 -1
  311. package/dist/hyper/HyperRoute.test.js +0 -83
  312. package/dist/hyper/html.d.ts +0 -11
  313. package/dist/hyper/index.d.ts +0 -6
  314. package/dist/hyper/jsx-runtime.d.ts +0 -7
  315. package/dist/index.d.ts +0 -8
  316. package/dist/inference_check.d.ts +0 -1
  317. package/dist/inference_check.js +0 -15
  318. package/dist/lint/plugin.d.ts +0 -86
  319. package/dist/lint/plugin.js +0 -341
  320. package/dist/middlewares/BasicAuthMiddleware.d.ts +0 -8
  321. package/dist/middlewares/BasicAuthMiddleware.js +0 -22
  322. package/dist/middlewares/index.d.ts +0 -1
  323. package/dist/middlewares/index.js +0 -1
  324. package/dist/node/Effectify.d.ts +0 -209
  325. package/dist/node/Effectify.js +0 -19
  326. package/dist/node/FileSystem.d.ts +0 -7
  327. package/dist/node/FileSystem.js +0 -420
  328. package/dist/node/NodeFileSystem.d.ts +0 -7
  329. package/dist/node/NodeUtils.d.ts +0 -2
  330. package/dist/node/PlatformError.d.ts +0 -46
  331. package/dist/node/PlatformError.js +0 -43
  332. package/dist/node/Utils.d.ts +0 -1
  333. package/dist/node/Utils.js +0 -19
  334. package/dist/repro_fail.d.ts +0 -1
  335. package/dist/repro_fail.js +0 -14
  336. package/dist/sql/bun/index.d.ts +0 -3
  337. package/dist/sql/mssql/docker.d.ts +0 -2
  338. package/dist/sql/mssql/index.d.ts +0 -21
  339. package/dist/testing/TestHttpClient.d.ts +0 -13
  340. package/dist/testing/TestHttpClient.js +0 -68
  341. package/dist/testing/TestLogger.d.ts +0 -13
  342. package/dist/testing/index.d.ts +0 -2
  343. package/dist/testing/utils.d.ts +0 -9
  344. package/dist/x/cloudflare/CloudflareTunnel.d.ts +0 -10
  345. package/dist/x/cloudflare/index.d.ts +0 -1
  346. package/dist/x/datastar/Datastar.d.ts +0 -6
  347. package/dist/x/datastar/Datastar.js +0 -47
  348. package/dist/x/datastar/index.d.ts +0 -1
  349. package/dist/x/datastar/index.js +0 -1
  350. package/dist/x/tailscale/TailscaleTunnel.d.ts +0 -15
  351. package/dist/x/tailscale/index.d.ts +0 -1
  352. package/dist/x/tailwind/TailwindPlugin.d.ts +0 -23
  353. package/dist/x/tailwind/compile.d.ts +0 -19
  354. package/dist/x/tailwind/plugin.d.ts +0 -2
  355. /package/src/{Sql.ts → sql/Sql.ts} +0 -0
@@ -1,341 +0,0 @@
1
- /**
2
- * @see https://oxc.rs/docs/guide/usage/linter/js-plugins.html#using-js-plugins
3
- */
4
- const forceNamespace = new Set(["bun:test"]);
5
- export default {
6
- meta: {
7
- name: "effect-start",
8
- version: "0.1.0",
9
- },
10
- rules: {
11
- "prefer-namespace-import": {
12
- meta: {
13
- type: "suggestion",
14
- docs: {
15
- description: "Enforce namespace imports for modules with capitalized base names or specific forced modules",
16
- },
17
- fixable: "code",
18
- hasSuggestions: true,
19
- schema: [],
20
- messages: {
21
- preferNamespace: 'Use namespace import for module "{{source}}": import {{typePrefix}}* as {{baseName}} from "{{source}}"',
22
- },
23
- },
24
- create(context) {
25
- return {
26
- ImportDeclaration(node) {
27
- const source = node.source.value;
28
- if (typeof source !== "string")
29
- return;
30
- const baseName = getBaseName(source);
31
- if (!baseName)
32
- return;
33
- const forced = forceNamespace.has(source);
34
- if (!forced && !isCapitalized(baseName))
35
- return;
36
- // Already a namespace import (with or without type-only)
37
- if (node.specifiers.length === 1 &&
38
- node.specifiers[0].type === "ImportNamespaceSpecifier") {
39
- return;
40
- }
41
- // Skip if there are no specifiers (side-effect import)
42
- if (node.specifiers.length === 0)
43
- return;
44
- // Skip if it's only a default import (not applicable for forced modules)
45
- if (!forced) {
46
- const hasNamedImports = node.specifiers.some((s) => s.type === "ImportSpecifier");
47
- if (!hasNamedImports)
48
- return;
49
- }
50
- const typePrefix = node.importKind === "type" ? "type " : "";
51
- context.report({
52
- node,
53
- messageId: "preferNamespace",
54
- data: { source, baseName, typePrefix },
55
- fix(fixer) {
56
- return fixer.replaceText(node, `import ${typePrefix}* as ${baseName} from "${source}"`);
57
- },
58
- });
59
- },
60
- };
61
- },
62
- },
63
- "test-space-around": {
64
- meta: {
65
- type: "layout",
66
- docs: {
67
- description: "Enforce blank lines around test calls (test.describe, test.it, etc.)",
68
- },
69
- fixable: "whitespace",
70
- schema: [],
71
- messages: {
72
- requireBlankBefore: "Test call should be preceded by a blank line",
73
- requireBlankAfter: "Test call should be followed by a blank line",
74
- },
75
- },
76
- create(context) {
77
- const filename = context.filename || context.getFilename();
78
- if (!filename.endsWith(".test.ts") && !filename.endsWith(".test.tsx")) {
79
- return {};
80
- }
81
- function isTestCall(node) {
82
- return (node &&
83
- node.type === "ExpressionStatement" &&
84
- node.expression.type === "CallExpression" &&
85
- node.expression.callee.type === "MemberExpression" &&
86
- node.expression.callee.object.type === "Identifier" &&
87
- node.expression.callee.object.name === "test");
88
- }
89
- function checkBlankLines(siblings) {
90
- const sourceCode = context.sourceCode || context.getSourceCode();
91
- for (let i = 0; i < siblings.length; i++) {
92
- const node = siblings[i];
93
- if (!isTestCall(node))
94
- continue;
95
- const prev = siblings[i - 1];
96
- const next = siblings[i + 1];
97
- if (prev) {
98
- if (node.loc.start.line - prev.loc.end.line < 2) {
99
- context.report({
100
- node,
101
- messageId: "requireBlankBefore",
102
- fix(fixer) {
103
- return fixer.insertTextAfter(sourceCode.getLastToken(prev), "\n");
104
- },
105
- });
106
- }
107
- }
108
- if (next) {
109
- if (next.loc.start.line - node.loc.end.line < 2) {
110
- context.report({
111
- node,
112
- messageId: "requireBlankAfter",
113
- fix(fixer) {
114
- return fixer.insertTextAfter(sourceCode.getLastToken(node), "\n");
115
- },
116
- });
117
- }
118
- }
119
- }
120
- }
121
- return {
122
- Program(node) {
123
- checkBlankLines(node.body);
124
- },
125
- BlockStatement(node) {
126
- checkBlankLines(node.body);
127
- },
128
- };
129
- },
130
- },
131
- // this doens't work reliably and may cause runtime errors
132
- "export-default-before-functions": {
133
- meta: {
134
- type: "suggestion",
135
- docs: {
136
- description: "Enforce export default appears before any function declarations",
137
- },
138
- schema: [],
139
- messages: {
140
- defaultAfterFunction: "export default should appear before function declarations",
141
- },
142
- },
143
- create(context) {
144
- return {
145
- Program(node) {
146
- let seenFunction = false;
147
- for (const stmt of node.body) {
148
- if (!seenFunction && isFunction(stmt)) {
149
- seenFunction = true;
150
- }
151
- if (seenFunction && stmt.type === "ExportDefaultDeclaration") {
152
- context.report({
153
- node: stmt,
154
- messageId: "defaultAfterFunction",
155
- });
156
- }
157
- }
158
- },
159
- };
160
- },
161
- },
162
- "test-assertion-newline": {
163
- meta: {
164
- type: "layout",
165
- docs: {
166
- description: "Enforce newlines between chained test assertion methods (test.expect().toBe())",
167
- },
168
- fixable: "whitespace",
169
- schema: [],
170
- messages: {
171
- requireNewline: "Each chained method in a test assertion should be on its own line",
172
- requireBlankBefore: "Test assertion should be preceded by an empty line (unless preceded by another assertion)",
173
- requireBlankAfter: "Test assertion should be followed by an empty line (unless followed by another assertion)",
174
- },
175
- },
176
- create(context) {
177
- const filename = context.filename || context.getFilename();
178
- if (!filename.endsWith(".test.ts") && !filename.endsWith(".test.tsx")) {
179
- return {};
180
- }
181
- /**
182
- * Check if a call expression is rooted in test.expect or test.expectTypeOf
183
- */
184
- function isTestAssertionChain(node) {
185
- let current = node;
186
- while (current) {
187
- if (current.type === "CallExpression" && current.callee.type === "MemberExpression") {
188
- const obj = current.callee.object;
189
- // Check for test.expect(...) or test.expectTypeOf(...)
190
- if (obj.type === "CallExpression" &&
191
- obj.callee.type === "MemberExpression" &&
192
- obj.callee.object.type === "Identifier" &&
193
- obj.callee.object.name === "test" &&
194
- obj.callee.property.type === "Identifier" &&
195
- (obj.callee.property.name === "expect" ||
196
- obj.callee.property.name === "expectTypeOf")) {
197
- return true;
198
- }
199
- // Direct: test.expect(...) or test.expectTypeOf(...)
200
- if (current.callee.object.type === "Identifier" &&
201
- current.callee.object.name === "test" &&
202
- current.callee.property.type === "Identifier" &&
203
- (current.callee.property.name === "expect" ||
204
- current.callee.property.name === "expectTypeOf")) {
205
- return true;
206
- }
207
- // Walk up the chain
208
- current = current.callee.object;
209
- continue;
210
- }
211
- // Handle non-call member access like .not
212
- if (current.type === "MemberExpression") {
213
- current = current.object;
214
- continue;
215
- }
216
- break;
217
- }
218
- return false;
219
- }
220
- /**
221
- * Collect all member expressions in a chained call.
222
- */
223
- function getChainedMembers(node) {
224
- const members = [];
225
- let current = node;
226
- while (current.type === "CallExpression" && current.callee.type === "MemberExpression") {
227
- members.push(current.callee);
228
- current = current.callee.object;
229
- }
230
- return members;
231
- }
232
- function isAssertionStatement(stmt) {
233
- return (stmt &&
234
- stmt.type === "ExpressionStatement" &&
235
- stmt.expression.type === "CallExpression" &&
236
- isTestAssertionChain(stmt.expression));
237
- }
238
- function checkChainedNewlines(node) {
239
- const members = getChainedMembers(node.expression);
240
- for (const member of members) {
241
- const objectEndLine = member.object.loc.end.line;
242
- const propertyStartLine = member.property.loc.start.line;
243
- if (objectEndLine === propertyStartLine) {
244
- const sourceCode = context.sourceCode || context.getSourceCode();
245
- const dot = sourceCode.getTokenBefore(member.property);
246
- if (dot && dot.value === ".") {
247
- context.report({
248
- node: member.property,
249
- messageId: "requireNewline",
250
- fix(fixer) {
251
- const stmtStartCol = node.loc.start.column;
252
- const indent = " ".repeat(stmtStartCol + 2);
253
- return fixer.replaceTextRange([member.object.range[1], member.property.range[0]], "\n" + indent + ".");
254
- },
255
- });
256
- }
257
- }
258
- }
259
- }
260
- function checkBlankLines(siblings) {
261
- const sourceCode = context.sourceCode || context.getSourceCode();
262
- for (let i = 0; i < siblings.length; i++) {
263
- const node = siblings[i];
264
- if (!isAssertionStatement(node))
265
- continue;
266
- const prev = siblings[i - 1];
267
- const next = siblings[i + 1];
268
- if (prev && !isAssertionStatement(prev)) {
269
- if (node.loc.start.line - prev.loc.end.line < 2) {
270
- context.report({
271
- node,
272
- messageId: "requireBlankBefore",
273
- fix(fixer) {
274
- return fixer.insertTextAfter(sourceCode.getLastToken(prev), "\n");
275
- },
276
- });
277
- }
278
- }
279
- if (next && !isAssertionStatement(next)) {
280
- if (next.loc.start.line - node.loc.end.line < 2) {
281
- context.report({
282
- node,
283
- messageId: "requireBlankAfter",
284
- fix(fixer) {
285
- return fixer.insertTextAfter(sourceCode.getLastToken(node), "\n");
286
- },
287
- });
288
- }
289
- }
290
- }
291
- }
292
- return {
293
- ExpressionStatement(node) {
294
- if (node.expression.type !== "CallExpression")
295
- return;
296
- if (!isTestAssertionChain(node.expression))
297
- return;
298
- checkChainedNewlines(node);
299
- },
300
- Program(node) {
301
- checkBlankLines(node.body);
302
- },
303
- BlockStatement(node) {
304
- checkBlankLines(node.body);
305
- },
306
- };
307
- },
308
- },
309
- },
310
- };
311
- function getBaseName(source) {
312
- // Handle node: and bun: protocols
313
- if (source.startsWith("node:")) {
314
- return source.slice(5);
315
- }
316
- if (source.startsWith("bun:")) {
317
- return source.slice(4);
318
- }
319
- // Get last path segment
320
- const segments = source.split("/");
321
- let last = segments[segments.length - 1];
322
- // Strip file extension (.ts, .tsx, .js, .jsx, .mjs, .cjs)
323
- last = last.replace(/\.(ts|tsx|js|jsx|mjs|cjs)$/, "");
324
- return last;
325
- }
326
- function isCapitalized(name) {
327
- return name.length > 0 && name[0] >= "A" && name[0] <= "Z";
328
- }
329
- function isFunction(stmt) {
330
- const decl = stmt.type === "ExportNamedDeclaration" && stmt.declaration ? stmt.declaration : stmt;
331
- if (decl.type === "FunctionDeclaration")
332
- return true;
333
- if (decl.type === "VariableDeclaration" &&
334
- decl.declarations.length > 0 &&
335
- decl.declarations[0].init &&
336
- (decl.declarations[0].init.type === "ArrowFunctionExpression" ||
337
- decl.declarations[0].init.type === "FunctionExpression")) {
338
- return true;
339
- }
340
- return false;
341
- }
@@ -1,8 +0,0 @@
1
- import * as HttpServerRequest from "@effect/platform/HttpServerRequest";
2
- import * as HttpServerResponse from "@effect/platform/HttpServerResponse";
3
- import * as Effect from "effect/Effect";
4
- export interface BasicAuthConfig {
5
- readonly username: string;
6
- readonly password: string;
7
- }
8
- export declare const make: (config: BasicAuthConfig) => <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
@@ -1,22 +0,0 @@
1
- import * as HttpMiddleware from "@effect/platform/HttpMiddleware";
2
- import * as HttpServerRequest from "@effect/platform/HttpServerRequest";
3
- import * as HttpServerResponse from "@effect/platform/HttpServerResponse";
4
- import * as Effect from "effect/Effect";
5
- const unauthorizedResponse = HttpServerResponse.empty({
6
- status: 401,
7
- headers: { "WWW-Authenticate": "Basic" },
8
- });
9
- export const make = (config) => HttpMiddleware.make((app) => Effect.gen(function* () {
10
- const request = yield* HttpServerRequest.HttpServerRequest;
11
- const authHeader = request.headers.authorization;
12
- if (!authHeader || !authHeader.startsWith("Basic ")) {
13
- return unauthorizedResponse;
14
- }
15
- const base64Credentials = authHeader.slice(6);
16
- const credentials = atob(base64Credentials);
17
- const [username, password] = credentials.split(":");
18
- if (username !== config.username || password !== config.password) {
19
- return unauthorizedResponse;
20
- }
21
- return yield* app;
22
- }));
@@ -1 +0,0 @@
1
- export * as BasicAuthMiddleware from "./BasicAuthMiddleware.ts";
@@ -1 +0,0 @@
1
- export * as BasicAuthMiddleware from "./BasicAuthMiddleware.js";
@@ -1,209 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- interface Callback<E, A> {
3
- (err: E, a?: A): void;
4
- }
5
- type ArgsWithCallback<Args extends Array<any>, E, A> = [...args: Args, cb: Callback<E, A>];
6
- type WithoutNull<A> = unknown extends A ? void : Exclude<A, null | undefined>;
7
- type Effectify<T, E> = T extends {
8
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
9
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2;
10
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3;
11
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4;
12
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5;
13
- (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6;
14
- (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7;
15
- (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8;
16
- (...args: ArgsWithCallback<infer Args9, infer _E9, infer A9>): infer _R9;
17
- (...args: ArgsWithCallback<infer Args10, infer _E10, infer A10>): infer _R10;
18
- } ? {
19
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
20
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>;
21
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>;
22
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>;
23
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>;
24
- (...args: Args6): Effect.Effect<WithoutNull<A6>, E>;
25
- (...args: Args7): Effect.Effect<WithoutNull<A7>, E>;
26
- (...args: Args8): Effect.Effect<WithoutNull<A8>, E>;
27
- (...args: Args9): Effect.Effect<WithoutNull<A9>, E>;
28
- (...args: Args10): Effect.Effect<WithoutNull<A10>, E>;
29
- } : T extends {
30
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
31
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2;
32
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3;
33
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4;
34
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5;
35
- (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6;
36
- (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7;
37
- (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8;
38
- (...args: ArgsWithCallback<infer Args9, infer _E9, infer A9>): infer _R9;
39
- } ? {
40
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
41
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>;
42
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>;
43
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>;
44
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>;
45
- (...args: Args6): Effect.Effect<WithoutNull<A6>, E>;
46
- (...args: Args7): Effect.Effect<WithoutNull<A7>, E>;
47
- (...args: Args8): Effect.Effect<WithoutNull<A8>, E>;
48
- (...args: Args9): Effect.Effect<WithoutNull<A9>, E>;
49
- } : T extends {
50
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
51
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2;
52
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3;
53
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4;
54
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5;
55
- (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6;
56
- (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7;
57
- (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8;
58
- } ? {
59
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
60
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>;
61
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>;
62
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>;
63
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>;
64
- (...args: Args6): Effect.Effect<WithoutNull<A6>, E>;
65
- (...args: Args7): Effect.Effect<WithoutNull<A7>, E>;
66
- (...args: Args8): Effect.Effect<WithoutNull<A8>, E>;
67
- } : T extends {
68
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
69
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2;
70
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3;
71
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4;
72
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5;
73
- (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6;
74
- (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7;
75
- } ? {
76
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
77
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>;
78
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>;
79
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>;
80
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>;
81
- (...args: Args6): Effect.Effect<WithoutNull<A6>, E>;
82
- (...args: Args7): Effect.Effect<WithoutNull<A7>, E>;
83
- } : T extends {
84
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
85
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2;
86
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3;
87
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4;
88
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5;
89
- (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6;
90
- } ? {
91
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
92
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>;
93
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>;
94
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>;
95
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>;
96
- (...args: Args6): Effect.Effect<WithoutNull<A6>, E>;
97
- } : T extends {
98
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
99
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2;
100
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3;
101
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4;
102
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5;
103
- } ? {
104
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
105
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>;
106
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>;
107
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>;
108
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>;
109
- } : T extends {
110
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
111
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2;
112
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3;
113
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4;
114
- } ? {
115
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
116
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>;
117
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>;
118
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>;
119
- } : T extends {
120
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
121
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2;
122
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3;
123
- } ? {
124
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
125
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>;
126
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>;
127
- } : T extends {
128
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
129
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2;
130
- } ? {
131
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
132
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>;
133
- } : T extends {
134
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1;
135
- } ? {
136
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>;
137
- } : never;
138
- type EffectifyError<T> = T extends {
139
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
140
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2;
141
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3;
142
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4;
143
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5;
144
- (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6;
145
- (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7;
146
- (...args: ArgsWithCallback<infer _Args8, infer E8, infer _A8>): infer _R8;
147
- (...args: ArgsWithCallback<infer _Args9, infer E9, infer _A9>): infer _R9;
148
- (...args: ArgsWithCallback<infer _Args10, infer E10, infer _A10>): infer _R10;
149
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8 | E9 | E10> : T extends {
150
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
151
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2;
152
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3;
153
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4;
154
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5;
155
- (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6;
156
- (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7;
157
- (...args: ArgsWithCallback<infer _Args8, infer E8, infer _A8>): infer _R8;
158
- (...args: ArgsWithCallback<infer _Args9, infer E9, infer _A9>): infer _R9;
159
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8 | E9> : T extends {
160
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
161
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2;
162
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3;
163
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4;
164
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5;
165
- (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6;
166
- (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7;
167
- (...args: ArgsWithCallback<infer _Args8, infer E8, infer _A8>): infer _R8;
168
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8> : T extends {
169
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
170
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2;
171
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3;
172
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4;
173
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5;
174
- (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6;
175
- (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7;
176
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7> : T extends {
177
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
178
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2;
179
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3;
180
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4;
181
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5;
182
- (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6;
183
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6> : T extends {
184
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
185
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2;
186
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3;
187
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4;
188
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5;
189
- } ? NonNullable<E1 | E2 | E3 | E4 | E5> : T extends {
190
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
191
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2;
192
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3;
193
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4;
194
- } ? NonNullable<E1 | E2 | E3 | E4> : T extends {
195
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
196
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2;
197
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3;
198
- } ? NonNullable<E1 | E2 | E3> : T extends {
199
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
200
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2;
201
- } ? NonNullable<E1 | E2> : T extends {
202
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1;
203
- } ? NonNullable<E1> : never;
204
- export declare const effectify: {
205
- <F extends (...args: Array<any>) => any>(fn: F): Effectify<F, EffectifyError<F>>;
206
- <F extends (...args: Array<any>) => any, E>(fn: F, onError: (error: EffectifyError<F>, args: Parameters<F>) => E): Effectify<F, E>;
207
- <F extends (...args: Array<any>) => any, E, E2>(fn: F, onError: (error: EffectifyError<F>, args: Parameters<F>) => E, onSyncError: (error: unknown, args: Parameters<F>) => E2): Effectify<F, E | E2>;
208
- };
209
- export {};
@@ -1,19 +0,0 @@
1
- /*
2
- * Adapted from @effect/platform
3
- */
4
- import * as Effect from "effect/Effect";
5
- export const effectify = ((fn, onError, onSyncError) => (...args) => Effect.async((resume) => {
6
- try {
7
- fn(...args, (err, result) => {
8
- if (err) {
9
- resume(Effect.fail(onError ? onError(err, args) : err));
10
- }
11
- else {
12
- resume(Effect.succeed(result));
13
- }
14
- });
15
- }
16
- catch (err) {
17
- resume(onSyncError ? Effect.fail(onSyncError(err, args)) : Effect.die(err));
18
- }
19
- }));
@@ -1,7 +0,0 @@
1
- import * as FileSystem from "@effect/platform/FileSystem";
2
- import * as Layer from "effect/Layer";
3
- import * as NFS from "node:fs";
4
- import * as PlatformError from "./PlatformError.ts";
5
- export declare const layer: Layer.Layer<FileSystem.FileSystem, never, never>;
6
- export { FileSystem, PlatformError as Error, };
7
- export declare function handleErrnoException(module: PlatformError.SystemError["module"], method: string): (err: NodeJS.ErrnoException, [path]: [path: NFS.PathLike | number, ...args: Array<any>]) => PlatformError.PlatformError;