effect-start 0.21.0 → 0.22.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 (94) hide show
  1. package/README.md +1 -4
  2. package/dist/Cookies.js +392 -0
  3. package/dist/FileSystem.js +131 -0
  4. package/dist/Socket.js +37 -0
  5. package/package.json +35 -36
  6. package/src/Commander.ts +73 -130
  7. package/src/ContentNegotiation.ts +64 -95
  8. package/src/Cookies.ts +36 -57
  9. package/src/Development.ts +47 -62
  10. package/src/Effectify.ts +222 -206
  11. package/src/Entity.ts +59 -86
  12. package/src/FilePathPattern.ts +5 -5
  13. package/src/FileRouter.ts +37 -62
  14. package/src/FileRouterCodegen.ts +63 -55
  15. package/src/FileSystem.ts +46 -59
  16. package/src/Http.ts +17 -50
  17. package/src/PathPattern.ts +33 -41
  18. package/src/PlatformError.ts +29 -50
  19. package/src/PlatformRuntime.ts +39 -47
  20. package/src/Route.ts +68 -187
  21. package/src/RouteBody.ts +45 -161
  22. package/src/RouteHook.ts +22 -45
  23. package/src/RouteHttp.ts +88 -142
  24. package/src/RouteHttpTracer.ts +25 -26
  25. package/src/RouteMount.ts +100 -238
  26. package/src/RouteSchema.ts +67 -201
  27. package/src/RouteSse.ts +28 -82
  28. package/src/RouteTree.ts +31 -79
  29. package/src/RouteTrie.ts +13 -32
  30. package/src/SchemaExtra.ts +3 -5
  31. package/src/Socket.ts +5 -2
  32. package/src/Start.ts +20 -21
  33. package/src/StreamExtra.ts +93 -96
  34. package/src/TuplePathPattern.ts +54 -43
  35. package/src/Unique.ts +9 -15
  36. package/src/Values.ts +26 -30
  37. package/src/bun/BunBundle.ts +27 -73
  38. package/src/bun/BunImportTrackerPlugin.ts +67 -65
  39. package/src/bun/BunRoute.ts +12 -31
  40. package/src/bun/BunRuntime.ts +3 -10
  41. package/src/bun/BunServer.ts +55 -91
  42. package/src/bun/BunVirtualFilesPlugin.ts +1 -4
  43. package/src/bun/_BunEnhancedResolve.ts +17 -42
  44. package/src/bun/_empty.html +0 -1
  45. package/src/bundler/Bundle.ts +20 -36
  46. package/src/bundler/BundleFiles.ts +35 -55
  47. package/src/client/Overlay.ts +1 -2
  48. package/src/client/ScrollState.ts +5 -9
  49. package/src/client/index.ts +10 -13
  50. package/src/datastar/actions/fetch.ts +29 -48
  51. package/src/datastar/actions/peek.ts +1 -5
  52. package/src/datastar/actions/setAll.ts +2 -2
  53. package/src/datastar/actions/toggleAll.ts +2 -2
  54. package/src/datastar/attributes/attr.ts +17 -18
  55. package/src/datastar/attributes/bind.ts +41 -61
  56. package/src/datastar/attributes/class.ts +2 -5
  57. package/src/datastar/attributes/computed.ts +2 -10
  58. package/src/datastar/attributes/effect.ts +1 -2
  59. package/src/datastar/attributes/indicator.ts +2 -8
  60. package/src/datastar/attributes/init.ts +2 -10
  61. package/src/datastar/attributes/jsonSignals.ts +1 -6
  62. package/src/datastar/attributes/on.ts +4 -13
  63. package/src/datastar/attributes/onIntersect.ts +10 -22
  64. package/src/datastar/attributes/onInterval.ts +2 -10
  65. package/src/datastar/attributes/onSignalPatch.ts +18 -28
  66. package/src/datastar/attributes/ref.ts +1 -2
  67. package/src/datastar/attributes/show.ts +1 -2
  68. package/src/datastar/attributes/signals.ts +1 -5
  69. package/src/datastar/attributes/style.ts +6 -12
  70. package/src/datastar/attributes/text.ts +1 -2
  71. package/src/datastar/engine.ts +102 -158
  72. package/src/datastar/index.ts +2 -2
  73. package/src/datastar/utils.ts +16 -51
  74. package/src/datastar/watchers/patchElements.ts +35 -93
  75. package/src/datastar/watchers/patchSignals.ts +1 -2
  76. package/src/experimental/EncryptedCookies.ts +79 -142
  77. package/src/hyper/Hyper.ts +14 -33
  78. package/src/hyper/HyperHtml.ts +9 -10
  79. package/src/hyper/HyperNode.ts +2 -7
  80. package/src/hyper/HyperRoute.ts +2 -5
  81. package/src/hyper/jsx-runtime.ts +2 -10
  82. package/src/hyper/jsx.d.ts +171 -440
  83. package/src/lint/plugin.js +276 -0
  84. package/src/node/NodeFileSystem.ts +138 -186
  85. package/src/node/NodeUtils.ts +1 -3
  86. package/src/testing/TestLogger.ts +9 -22
  87. package/src/testing/utils.ts +30 -31
  88. package/src/x/cloudflare/CloudflareTunnel.ts +37 -54
  89. package/src/x/datastar/Datastar.ts +3 -10
  90. package/src/x/datastar/index.ts +1 -3
  91. package/src/x/datastar/jsx-datastar.d.ts +1 -4
  92. package/src/x/tailwind/TailwindPlugin.ts +119 -112
  93. package/src/x/tailwind/compile.ts +10 -33
  94. package/src/x/tailwind/plugin.ts +2 -2
package/src/Effectify.ts CHANGED
@@ -7,10 +7,7 @@ interface Callback<E, A> {
7
7
  (err: E, a?: A): void
8
8
  }
9
9
 
10
- type ArgsWithCallback<Args extends Array<any>, E, A> = [
11
- ...args: Args,
12
- cb: Callback<E, A>,
13
- ]
10
+ type ArgsWithCallback<Args extends Array<any>, E, A> = [...args: Args, cb: Callback<E, A>]
14
11
 
15
12
  type WithoutNull<A> = unknown extends A ? void : Exclude<A, null | undefined>
16
13
 
@@ -25,29 +22,8 @@ type Effectify<T, E> = T extends {
25
22
  (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8
26
23
  (...args: ArgsWithCallback<infer Args9, infer _E9, infer A9>): infer _R9
27
24
  (...args: ArgsWithCallback<infer Args10, infer _E10, infer A10>): infer _R10
28
- } ? {
29
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
30
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
31
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
32
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
33
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
34
- (...args: Args6): Effect.Effect<WithoutNull<A6>, E>
35
- (...args: Args7): Effect.Effect<WithoutNull<A7>, E>
36
- (...args: Args8): Effect.Effect<WithoutNull<A8>, E>
37
- (...args: Args9): Effect.Effect<WithoutNull<A9>, E>
38
- (...args: Args10): Effect.Effect<WithoutNull<A10>, E>
39
- }
40
- : T extends {
41
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
42
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
43
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
44
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
45
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
46
- (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
47
- (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7
48
- (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8
49
- (...args: ArgsWithCallback<infer Args9, infer _E9, infer A9>): infer _R9
50
- } ? {
25
+ }
26
+ ? {
51
27
  (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
52
28
  (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
53
29
  (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
@@ -57,104 +33,135 @@ type Effectify<T, E> = T extends {
57
33
  (...args: Args7): Effect.Effect<WithoutNull<A7>, E>
58
34
  (...args: Args8): Effect.Effect<WithoutNull<A8>, E>
59
35
  (...args: Args9): Effect.Effect<WithoutNull<A9>, E>
36
+ (...args: Args10): Effect.Effect<WithoutNull<A10>, E>
60
37
  }
61
38
  : T extends {
62
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
63
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
64
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
65
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
66
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
67
- (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
68
- (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7
69
- (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8
70
- } ? {
71
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
72
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
73
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
74
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
75
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
76
- (...args: Args6): Effect.Effect<WithoutNull<A6>, E>
77
- (...args: Args7): Effect.Effect<WithoutNull<A7>, E>
78
- (...args: Args8): Effect.Effect<WithoutNull<A8>, E>
79
- }
80
- : T extends {
81
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
82
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
83
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
84
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
85
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
86
- (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
87
- (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7
88
- } ? {
89
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
90
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
91
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
92
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
93
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
94
- (...args: Args6): Effect.Effect<WithoutNull<A6>, E>
95
- (...args: Args7): Effect.Effect<WithoutNull<A7>, E>
96
- }
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
- (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
104
- } ? {
105
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
106
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
107
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
108
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
109
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
110
- (...args: Args6): Effect.Effect<WithoutNull<A6>, E>
111
- }
112
- : T extends {
113
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
114
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
115
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
116
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
117
- (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
118
- } ? {
119
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
120
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
121
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
122
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
123
- (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
124
- }
125
- : T extends {
126
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
127
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
128
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
129
- (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
130
- } ? {
131
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
132
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
133
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
134
- (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
135
- }
136
- : T extends {
137
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
138
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
139
- (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
140
- } ? {
141
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
142
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
143
- (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
144
- }
145
- : T extends {
146
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
147
- (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
148
- } ? {
149
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
150
- (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
151
- }
152
- : T extends {
153
- (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
154
- } ? {
155
- (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
156
- }
157
- : never
39
+ (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
40
+ (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
41
+ (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
42
+ (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
43
+ (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
44
+ (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
45
+ (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7
46
+ (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8
47
+ (...args: ArgsWithCallback<infer Args9, infer _E9, infer A9>): infer _R9
48
+ }
49
+ ? {
50
+ (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
51
+ (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
52
+ (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
53
+ (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
54
+ (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
55
+ (...args: Args6): Effect.Effect<WithoutNull<A6>, E>
56
+ (...args: Args7): Effect.Effect<WithoutNull<A7>, E>
57
+ (...args: Args8): Effect.Effect<WithoutNull<A8>, E>
58
+ (...args: Args9): Effect.Effect<WithoutNull<A9>, E>
59
+ }
60
+ : T extends {
61
+ (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
62
+ (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
63
+ (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
64
+ (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
65
+ (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
66
+ (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
67
+ (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7
68
+ (...args: ArgsWithCallback<infer Args8, infer _E8, infer A8>): infer _R8
69
+ }
70
+ ? {
71
+ (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
72
+ (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
73
+ (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
74
+ (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
75
+ (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
76
+ (...args: Args6): Effect.Effect<WithoutNull<A6>, E>
77
+ (...args: Args7): Effect.Effect<WithoutNull<A7>, E>
78
+ (...args: Args8): Effect.Effect<WithoutNull<A8>, E>
79
+ }
80
+ : T extends {
81
+ (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
82
+ (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
83
+ (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
84
+ (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
85
+ (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
86
+ (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
87
+ (...args: ArgsWithCallback<infer Args7, infer _E7, infer A7>): infer _R7
88
+ }
89
+ ? {
90
+ (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
91
+ (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
92
+ (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
93
+ (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
94
+ (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
95
+ (...args: Args6): Effect.Effect<WithoutNull<A6>, E>
96
+ (...args: Args7): Effect.Effect<WithoutNull<A7>, E>
97
+ }
98
+ : T extends {
99
+ (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
100
+ (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
101
+ (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
102
+ (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
103
+ (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
104
+ (...args: ArgsWithCallback<infer Args6, infer _E6, infer A6>): infer _R6
105
+ }
106
+ ? {
107
+ (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
108
+ (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
109
+ (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
110
+ (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
111
+ (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
112
+ (...args: Args6): Effect.Effect<WithoutNull<A6>, E>
113
+ }
114
+ : T extends {
115
+ (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
116
+ (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
117
+ (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
118
+ (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
119
+ (...args: ArgsWithCallback<infer Args5, infer _E5, infer A5>): infer _R5
120
+ }
121
+ ? {
122
+ (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
123
+ (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
124
+ (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
125
+ (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
126
+ (...args: Args5): Effect.Effect<WithoutNull<A5>, E>
127
+ }
128
+ : T extends {
129
+ (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
130
+ (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
131
+ (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
132
+ (...args: ArgsWithCallback<infer Args4, infer _E4, infer A4>): infer _R4
133
+ }
134
+ ? {
135
+ (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
136
+ (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
137
+ (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
138
+ (...args: Args4): Effect.Effect<WithoutNull<A4>, E>
139
+ }
140
+ : T extends {
141
+ (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
142
+ (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
143
+ (...args: ArgsWithCallback<infer Args3, infer _E3, infer A3>): infer _R3
144
+ }
145
+ ? {
146
+ (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
147
+ (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
148
+ (...args: Args3): Effect.Effect<WithoutNull<A3>, E>
149
+ }
150
+ : T extends {
151
+ (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
152
+ (...args: ArgsWithCallback<infer Args2, infer _E2, infer A2>): infer _R2
153
+ }
154
+ ? {
155
+ (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
156
+ (...args: Args2): Effect.Effect<WithoutNull<A2>, E>
157
+ }
158
+ : T extends {
159
+ (...args: ArgsWithCallback<infer Args1, infer _E1, infer A1>): infer _R1
160
+ }
161
+ ? {
162
+ (...args: Args1): Effect.Effect<WithoutNull<A1>, E>
163
+ }
164
+ : never
158
165
 
159
166
  type EffectifyError<T> = T extends {
160
167
  (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
@@ -167,76 +174,84 @@ type EffectifyError<T> = T extends {
167
174
  (...args: ArgsWithCallback<infer _Args8, infer E8, infer _A8>): infer _R8
168
175
  (...args: ArgsWithCallback<infer _Args9, infer E9, infer _A9>): infer _R9
169
176
  (...args: ArgsWithCallback<infer _Args10, infer E10, infer _A10>): infer _R10
170
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8 | E9 | E10>
171
- : T extends {
172
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
173
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
174
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
175
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
176
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
177
- (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6
178
- (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7
179
- (...args: ArgsWithCallback<infer _Args8, infer E8, infer _A8>): infer _R8
180
- (...args: ArgsWithCallback<infer _Args9, infer E9, infer _A9>): infer _R9
181
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8 | E9>
182
- : T extends {
183
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
184
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
185
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
186
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
187
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
188
- (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6
189
- (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7
190
- (...args: ArgsWithCallback<infer _Args8, infer E8, infer _A8>): infer _R8
191
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8>
192
- : T extends {
193
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
194
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
195
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
196
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
197
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
198
- (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6
199
- (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7
200
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7>
201
- : T extends {
202
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
203
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
204
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
205
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
206
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
207
- (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6
208
- } ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6>
209
- : T extends {
210
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
211
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
212
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
213
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
214
- (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
215
- } ? NonNullable<E1 | E2 | E3 | E4 | E5>
216
- : T extends {
217
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
218
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
219
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
220
- (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
221
- } ? NonNullable<E1 | E2 | E3 | E4>
222
- : T extends {
223
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
224
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
225
- (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
226
- } ? NonNullable<E1 | E2 | E3>
227
- : T extends {
228
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
229
- (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
230
- } ? NonNullable<E1 | E2>
177
+ }
178
+ ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8 | E9 | E10>
231
179
  : T extends {
232
- (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
233
- } ? NonNullable<E1>
234
- : never
180
+ (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
181
+ (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
182
+ (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
183
+ (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
184
+ (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
185
+ (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6
186
+ (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7
187
+ (...args: ArgsWithCallback<infer _Args8, infer E8, infer _A8>): infer _R8
188
+ (...args: ArgsWithCallback<infer _Args9, infer E9, infer _A9>): infer _R9
189
+ }
190
+ ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8 | E9>
191
+ : T extends {
192
+ (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
193
+ (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
194
+ (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
195
+ (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
196
+ (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
197
+ (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6
198
+ (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7
199
+ (...args: ArgsWithCallback<infer _Args8, infer E8, infer _A8>): infer _R8
200
+ }
201
+ ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7 | E8>
202
+ : T extends {
203
+ (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
204
+ (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
205
+ (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
206
+ (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
207
+ (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
208
+ (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6
209
+ (...args: ArgsWithCallback<infer _Args7, infer E7, infer _A7>): infer _R7
210
+ }
211
+ ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6 | E7>
212
+ : T extends {
213
+ (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
214
+ (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
215
+ (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
216
+ (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
217
+ (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
218
+ (...args: ArgsWithCallback<infer _Args6, infer E6, infer _A6>): infer _R6
219
+ }
220
+ ? NonNullable<E1 | E2 | E3 | E4 | E5 | E6>
221
+ : T extends {
222
+ (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
223
+ (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
224
+ (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
225
+ (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
226
+ (...args: ArgsWithCallback<infer _Args5, infer E5, infer _A5>): infer _R5
227
+ }
228
+ ? NonNullable<E1 | E2 | E3 | E4 | E5>
229
+ : T extends {
230
+ (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
231
+ (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
232
+ (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
233
+ (...args: ArgsWithCallback<infer _Args4, infer E4, infer _A4>): infer _R4
234
+ }
235
+ ? NonNullable<E1 | E2 | E3 | E4>
236
+ : T extends {
237
+ (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
238
+ (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
239
+ (...args: ArgsWithCallback<infer _Args3, infer E3, infer _A3>): infer _R3
240
+ }
241
+ ? NonNullable<E1 | E2 | E3>
242
+ : T extends {
243
+ (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
244
+ (...args: ArgsWithCallback<infer _Args2, infer E2, infer _A2>): infer _R2
245
+ }
246
+ ? NonNullable<E1 | E2>
247
+ : T extends {
248
+ (...args: ArgsWithCallback<infer _Args1, infer E1, infer _A1>): infer _R1
249
+ }
250
+ ? NonNullable<E1>
251
+ : never
235
252
 
236
253
  export const effectify: {
237
- <F extends (...args: Array<any>) => any>(
238
- fn: F,
239
- ): Effectify<F, EffectifyError<F>>
254
+ <F extends (...args: Array<any>) => any>(fn: F): Effectify<F, EffectifyError<F>>
240
255
  <F extends (...args: Array<any>) => any, E>(
241
256
  fn: F,
242
257
  onError: (error: EffectifyError<F>, args: Parameters<F>) => E,
@@ -251,19 +266,20 @@ export const effectify: {
251
266
  onError?: (e: any, args: any) => any,
252
267
  onSyncError?: (e: any, args: any) => any,
253
268
  ) =>
254
- (...args: Array<any>) =>
255
- Effect.async<any, any>((resume) => {
256
- try {
257
- fn(...args, (err: any, result: any) => {
258
- if (err) {
259
- resume(Effect.fail(onError ? onError(err, args) : err))
260
- } else {
261
- resume(Effect.succeed(result))
262
- }
263
- })
264
- } catch (err) {
265
- resume(
266
- onSyncError ? Effect.fail(onSyncError(err, args)) : Effect.die(err),
267
- )
268
- }
269
- })) as any
269
+ (...args: Array<any>) =>
270
+ Effect.async<any, any>((resume) => {
271
+ try {
272
+ fn(
273
+ ...args,
274
+ (err: any, result: any) => {
275
+ if (err) {
276
+ resume(Effect.fail(onError ? onError(err, args) : err))
277
+ } else {
278
+ resume(Effect.succeed(result))
279
+ }
280
+ },
281
+ )
282
+ } catch (err) {
283
+ resume(onSyncError ? Effect.fail(onSyncError(err, args)) : Effect.die(err))
284
+ }
285
+ })) as any