@effect/platform 0.17.1 → 0.18.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 (252) hide show
  1. package/Command.d.ts +7 -7
  2. package/Command.d.ts.map +1 -1
  3. package/Command.js.map +1 -1
  4. package/CommandExecutor.d.ts +5 -5
  5. package/CommandExecutor.d.ts.map +1 -1
  6. package/CommandExecutor.js.map +1 -1
  7. package/Effectify.d.ts +1 -4
  8. package/Effectify.d.ts.map +1 -1
  9. package/Effectify.js +4 -0
  10. package/Effectify.js.map +1 -1
  11. package/Error.d.ts +1 -4
  12. package/Error.d.ts.map +1 -1
  13. package/Error.js +4 -0
  14. package/Error.js.map +1 -1
  15. package/FileSystem.d.ts +7 -7
  16. package/FileSystem.d.ts.map +1 -1
  17. package/FileSystem.js +1 -5
  18. package/FileSystem.js.map +1 -1
  19. package/Http/App.d.ts +1 -1
  20. package/Http/App.d.ts.map +1 -1
  21. package/Http/Body.d.ts +3 -3
  22. package/Http/Body.d.ts.map +1 -1
  23. package/Http/Body.js.map +1 -1
  24. package/Http/Client.d.ts +7 -7
  25. package/Http/Client.d.ts.map +1 -1
  26. package/Http/Client.js.map +1 -1
  27. package/Http/ClientError.d.ts +1 -1
  28. package/Http/ClientError.d.ts.map +1 -1
  29. package/Http/ClientError.js.map +1 -1
  30. package/Http/ClientRequest.d.ts +3 -3
  31. package/Http/ClientRequest.d.ts.map +1 -1
  32. package/Http/ClientRequest.js.map +1 -1
  33. package/Http/ClientResponse.d.ts +1 -1
  34. package/Http/ClientResponse.d.ts.map +1 -1
  35. package/Http/ClientResponse.js.map +1 -1
  36. package/Http/Etag.d.ts +2 -2
  37. package/Http/Etag.d.ts.map +1 -1
  38. package/Http/Etag.js.map +1 -1
  39. package/Http/FormData.d.ts +6 -6
  40. package/Http/FormData.d.ts.map +1 -1
  41. package/Http/FormData.js.map +1 -1
  42. package/Http/Headers.d.ts +2 -2
  43. package/Http/Headers.d.ts.map +1 -1
  44. package/Http/Headers.js +3 -3
  45. package/Http/Headers.js.map +1 -1
  46. package/Http/IncomingMessage.d.ts +8 -5
  47. package/Http/IncomingMessage.d.ts.map +1 -1
  48. package/Http/IncomingMessage.js +6 -6
  49. package/Http/IncomingMessage.js.map +1 -1
  50. package/Http/Platform.d.ts +2 -2
  51. package/Http/Platform.d.ts.map +1 -1
  52. package/Http/Platform.js.map +1 -1
  53. package/Http/Router.d.ts +5 -5
  54. package/Http/Router.d.ts.map +1 -1
  55. package/Http/Router.js.map +1 -1
  56. package/Http/Server.d.ts +3 -3
  57. package/Http/Server.d.ts.map +1 -1
  58. package/Http/Server.js.map +1 -1
  59. package/Http/ServerError.d.ts +1 -1
  60. package/Http/ServerError.d.ts.map +1 -1
  61. package/Http/ServerError.js.map +1 -1
  62. package/Http/ServerRequest.d.ts +4 -4
  63. package/Http/ServerRequest.d.ts.map +1 -1
  64. package/Http/ServerRequest.js.map +1 -1
  65. package/Http/ServerResponse.d.ts +3 -3
  66. package/Http/ServerResponse.d.ts.map +1 -1
  67. package/Http/ServerResponse.js.map +1 -1
  68. package/Http/UrlParams.d.ts +2 -2
  69. package/Http/UrlParams.d.ts.map +1 -1
  70. package/Http/UrlParams.js +3 -3
  71. package/Http/UrlParams.js.map +1 -1
  72. package/KeyValueStore.d.ts +4 -4
  73. package/KeyValueStore.d.ts.map +1 -1
  74. package/KeyValueStore.js.map +1 -1
  75. package/Path.d.ts +3 -3
  76. package/Path.d.ts.map +1 -1
  77. package/Path.js.map +1 -1
  78. package/Runtime.d.ts +2 -2
  79. package/Runtime.d.ts.map +1 -1
  80. package/Runtime.js +2 -2
  81. package/Runtime.js.map +1 -1
  82. package/index.d.ts +41 -0
  83. package/index.d.ts.map +1 -0
  84. package/index.js +29 -0
  85. package/index.js.map +1 -0
  86. package/internal/command.js +7 -7
  87. package/internal/command.js.map +1 -1
  88. package/internal/commandExecutor.js +10 -9
  89. package/internal/commandExecutor.js.map +1 -1
  90. package/internal/effectify.js +1 -1
  91. package/internal/effectify.js.map +1 -1
  92. package/internal/error.js +1 -1
  93. package/internal/error.js.map +1 -1
  94. package/internal/fileSystem.js +11 -11
  95. package/internal/fileSystem.js.map +1 -1
  96. package/internal/http/body.js +4 -4
  97. package/internal/http/body.js.map +1 -1
  98. package/internal/http/client.js +9 -9
  99. package/internal/http/client.js.map +1 -1
  100. package/internal/http/clientError.js +1 -1
  101. package/internal/http/clientError.js.map +1 -1
  102. package/internal/http/clientRequest.js +3 -3
  103. package/internal/http/clientRequest.js.map +1 -1
  104. package/internal/http/clientResponse.js +3 -3
  105. package/internal/http/clientResponse.js.map +1 -1
  106. package/internal/http/etag.js +1 -1
  107. package/internal/http/etag.js.map +1 -1
  108. package/internal/http/formData.js +12 -12
  109. package/internal/http/formData.js.map +1 -1
  110. package/internal/http/middleware.js +2 -2
  111. package/internal/http/middleware.js.map +1 -1
  112. package/internal/http/platform.js +7 -6
  113. package/internal/http/platform.js.map +1 -1
  114. package/internal/http/router.d.ts +1 -1
  115. package/internal/http/router.d.ts.map +1 -1
  116. package/internal/http/router.js +9 -28
  117. package/internal/http/router.js.map +1 -1
  118. package/internal/http/server.js +3 -3
  119. package/internal/http/server.js.map +1 -1
  120. package/internal/http/serverError.js +1 -1
  121. package/internal/http/serverError.js.map +1 -1
  122. package/internal/http/serverRequest.js +2 -2
  123. package/internal/http/serverRequest.js.map +1 -1
  124. package/internal/http/serverResponse.js +3 -3
  125. package/internal/http/serverResponse.js.map +1 -1
  126. package/internal/keyValueStore.js +6 -6
  127. package/internal/keyValueStore.js.map +1 -1
  128. package/internal/path.js +4 -4
  129. package/internal/path.js.map +1 -1
  130. package/mjs/Command.mjs.map +1 -1
  131. package/mjs/CommandExecutor.mjs.map +1 -1
  132. package/mjs/Effectify.mjs +3 -0
  133. package/mjs/Effectify.mjs.map +1 -1
  134. package/mjs/Error.mjs +3 -0
  135. package/mjs/Error.mjs.map +1 -1
  136. package/mjs/FileSystem.mjs +1 -4
  137. package/mjs/FileSystem.mjs.map +1 -1
  138. package/mjs/Http/Body.mjs.map +1 -1
  139. package/mjs/Http/Client.mjs.map +1 -1
  140. package/mjs/Http/ClientError.mjs.map +1 -1
  141. package/mjs/Http/ClientRequest.mjs.map +1 -1
  142. package/mjs/Http/ClientResponse.mjs.map +1 -1
  143. package/mjs/Http/Etag.mjs.map +1 -1
  144. package/mjs/Http/FormData.mjs.map +1 -1
  145. package/mjs/Http/Headers.mjs +3 -3
  146. package/mjs/Http/Headers.mjs.map +1 -1
  147. package/mjs/Http/IncomingMessage.mjs +6 -6
  148. package/mjs/Http/IncomingMessage.mjs.map +1 -1
  149. package/mjs/Http/Platform.mjs.map +1 -1
  150. package/mjs/Http/Router.mjs.map +1 -1
  151. package/mjs/Http/Server.mjs.map +1 -1
  152. package/mjs/Http/ServerError.mjs.map +1 -1
  153. package/mjs/Http/ServerRequest.mjs.map +1 -1
  154. package/mjs/Http/ServerResponse.mjs.map +1 -1
  155. package/mjs/Http/UrlParams.mjs +3 -3
  156. package/mjs/Http/UrlParams.mjs.map +1 -1
  157. package/mjs/KeyValueStore.mjs.map +1 -1
  158. package/mjs/Path.mjs.map +1 -1
  159. package/mjs/Runtime.mjs +2 -2
  160. package/mjs/Runtime.mjs.map +1 -1
  161. package/mjs/index.mjs +21 -0
  162. package/mjs/index.mjs.map +1 -0
  163. package/mjs/internal/command.mjs +7 -7
  164. package/mjs/internal/command.mjs.map +1 -1
  165. package/mjs/internal/commandExecutor.mjs +10 -9
  166. package/mjs/internal/commandExecutor.mjs.map +1 -1
  167. package/mjs/internal/effectify.mjs +1 -1
  168. package/mjs/internal/effectify.mjs.map +1 -1
  169. package/mjs/internal/error.mjs +1 -1
  170. package/mjs/internal/error.mjs.map +1 -1
  171. package/mjs/internal/fileSystem.mjs +11 -11
  172. package/mjs/internal/fileSystem.mjs.map +1 -1
  173. package/mjs/internal/http/body.mjs +4 -4
  174. package/mjs/internal/http/body.mjs.map +1 -1
  175. package/mjs/internal/http/client.mjs +9 -9
  176. package/mjs/internal/http/client.mjs.map +1 -1
  177. package/mjs/internal/http/clientError.mjs +1 -1
  178. package/mjs/internal/http/clientError.mjs.map +1 -1
  179. package/mjs/internal/http/clientRequest.mjs +3 -3
  180. package/mjs/internal/http/clientRequest.mjs.map +1 -1
  181. package/mjs/internal/http/clientResponse.mjs +3 -3
  182. package/mjs/internal/http/clientResponse.mjs.map +1 -1
  183. package/mjs/internal/http/etag.mjs +1 -1
  184. package/mjs/internal/http/etag.mjs.map +1 -1
  185. package/mjs/internal/http/formData.mjs +12 -12
  186. package/mjs/internal/http/formData.mjs.map +1 -1
  187. package/mjs/internal/http/middleware.mjs +2 -2
  188. package/mjs/internal/http/middleware.mjs.map +1 -1
  189. package/mjs/internal/http/platform.mjs +7 -6
  190. package/mjs/internal/http/platform.mjs.map +1 -1
  191. package/mjs/internal/http/router.mjs +9 -28
  192. package/mjs/internal/http/router.mjs.map +1 -1
  193. package/mjs/internal/http/server.mjs +3 -3
  194. package/mjs/internal/http/server.mjs.map +1 -1
  195. package/mjs/internal/http/serverError.mjs +1 -1
  196. package/mjs/internal/http/serverError.mjs.map +1 -1
  197. package/mjs/internal/http/serverRequest.mjs +2 -2
  198. package/mjs/internal/http/serverRequest.mjs.map +1 -1
  199. package/mjs/internal/http/serverResponse.mjs +3 -3
  200. package/mjs/internal/http/serverResponse.mjs.map +1 -1
  201. package/mjs/internal/keyValueStore.mjs +6 -6
  202. package/mjs/internal/keyValueStore.mjs.map +1 -1
  203. package/mjs/internal/path.mjs +4 -4
  204. package/mjs/internal/path.mjs.map +1 -1
  205. package/package.json +14 -5
  206. package/src/Command.ts +7 -7
  207. package/src/CommandExecutor.ts +5 -5
  208. package/src/Effectify.ts +1 -1
  209. package/src/Error.ts +1 -1
  210. package/src/FileSystem.ts +7 -7
  211. package/src/Http/App.ts +1 -1
  212. package/src/Http/Body.ts +3 -3
  213. package/src/Http/Client.ts +7 -7
  214. package/src/Http/ClientError.ts +1 -1
  215. package/src/Http/ClientRequest.ts +3 -3
  216. package/src/Http/ClientResponse.ts +1 -1
  217. package/src/Http/Etag.ts +2 -2
  218. package/src/Http/FormData.ts +6 -6
  219. package/src/Http/Headers.ts +4 -4
  220. package/src/Http/IncomingMessage.ts +8 -8
  221. package/src/Http/Platform.ts +2 -2
  222. package/src/Http/Router.ts +5 -5
  223. package/src/Http/Server.ts +3 -3
  224. package/src/Http/ServerError.ts +1 -1
  225. package/src/Http/ServerRequest.ts +4 -4
  226. package/src/Http/ServerResponse.ts +3 -3
  227. package/src/Http/UrlParams.ts +3 -3
  228. package/src/KeyValueStore.ts +4 -4
  229. package/src/Path.ts +3 -3
  230. package/src/Runtime.ts +3 -3
  231. package/src/index.ts +49 -0
  232. package/src/internal/command.ts +8 -8
  233. package/src/internal/commandExecutor.ts +7 -7
  234. package/src/internal/effectify.ts +1 -1
  235. package/src/internal/error.ts +1 -1
  236. package/src/internal/fileSystem.ts +6 -6
  237. package/src/internal/http/body.ts +4 -4
  238. package/src/internal/http/client.ts +10 -10
  239. package/src/internal/http/clientError.ts +1 -1
  240. package/src/internal/http/clientRequest.ts +4 -4
  241. package/src/internal/http/clientResponse.ts +3 -3
  242. package/src/internal/http/etag.ts +1 -1
  243. package/src/internal/http/formData.ts +9 -9
  244. package/src/internal/http/middleware.ts +2 -2
  245. package/src/internal/http/platform.ts +3 -3
  246. package/src/internal/http/router.ts +19 -40
  247. package/src/internal/http/server.ts +4 -4
  248. package/src/internal/http/serverError.ts +1 -1
  249. package/src/internal/http/serverRequest.ts +2 -2
  250. package/src/internal/http/serverResponse.ts +4 -4
  251. package/src/internal/keyValueStore.ts +5 -5
  252. package/src/internal/path.ts +4 -4
@@ -1,11 +1,11 @@
1
- import * as Context from "@effect/data/Context"
2
- import { pipe } from "@effect/data/Function"
3
- import * as Effect from "@effect/io/Effect"
4
1
  import * as FileSystem from "@effect/platform/FileSystem"
5
2
  import type * as Body from "@effect/platform/Http/Body"
6
3
  import * as Etag from "@effect/platform/Http/Etag"
7
4
  import type * as Platform from "@effect/platform/Http/Platform"
8
5
  import type * as ServerResponse from "@effect/platform/Http/ServerResponse"
6
+ import * as Context from "effect/Context"
7
+ import * as Effect from "effect/Effect"
8
+ import { pipe } from "effect/Function"
9
9
 
10
10
  /** @internal */
11
11
  export const TypeId: Platform.TypeId = Symbol.for("@effect/platform/Http/Platform") as Platform.TypeId
@@ -1,13 +1,3 @@
1
- import * as Chunk from "@effect/data/Chunk"
2
- import * as Context from "@effect/data/Context"
3
- import * as Equal from "@effect/data/Equal"
4
- import { dual } from "@effect/data/Function"
5
- import * as Hash from "@effect/data/Hash"
6
- import * as Inspectable from "@effect/data/Inspectable"
7
- import * as Option from "@effect/data/Option"
8
- import { pipeArguments } from "@effect/data/Pipeable"
9
- import type * as Cause from "@effect/io/Cause"
10
- import * as Effect from "@effect/io/Effect"
11
1
  import type * as App from "@effect/platform/Http/App"
12
2
  import type * as Method from "@effect/platform/Http/Method"
13
3
  import type * as Router from "@effect/platform/Http/Router"
@@ -15,9 +5,14 @@ import * as Error from "@effect/platform/Http/ServerError"
15
5
  import * as ServerRequest from "@effect/platform/Http/ServerRequest"
16
6
  import type * as ServerResponse from "@effect/platform/Http/ServerResponse"
17
7
  import * as Schema from "@effect/schema/Schema"
18
- import * as Channel from "@effect/stream/Channel"
19
- import * as Sink from "@effect/stream/Sink"
20
- import * as Stream from "@effect/stream/Stream"
8
+ import type * as Cause from "effect/Cause"
9
+ import * as Chunk from "effect/Chunk"
10
+ import * as Context from "effect/Context"
11
+ import * as Effect from "effect/Effect"
12
+ import * as Effectable from "effect/Effectable"
13
+ import { dual } from "effect/Function"
14
+ import * as Inspectable from "effect/Inspectable"
15
+ import * as Option from "effect/Option"
21
16
  import type { HTTPMethod } from "find-my-way"
22
17
  import FindMyWay from "find-my-way"
23
18
 
@@ -54,43 +49,27 @@ export const schemaParams = <I extends Readonly<Record<string, string>>, A>(sche
54
49
  )
55
50
  }
56
51
 
57
- class RouterImpl<R, E> implements Router.Router<R, E> {
52
+ class RouterImpl<R, E> extends Effectable.Effectable<
53
+ Exclude<R, Router.RouteContext>,
54
+ E | Error.RouteNotFound,
55
+ ServerResponse.ServerResponse
56
+ > implements Router.Router<R, E> {
58
57
  readonly [TypeId]: Router.TypeId
59
58
  constructor(
60
59
  readonly routes: Chunk.Chunk<Router.Route<R, E>>,
61
60
  readonly mounts: Chunk.Chunk<readonly [string, App.Default<R, E>]>
62
61
  ) {
62
+ super()
63
63
  this[TypeId] = TypeId
64
- this[Effect.EffectTypeId] = undefined
65
- this[Stream.StreamTypeId] = undefined
66
- this[Sink.SinkTypeId] = undefined
67
- this[Channel.ChannelTypeId] = undefined
68
64
  }
69
- pipe() {
70
- return pipeArguments(this, arguments)
71
- }
72
- private httpApp: App.Default<Router.Router.ExcludeProvided<R>, E | Error.RouteNotFound> | undefined
65
+ private httpApp:
66
+ | Effect.Effect<Exclude<R, Router.RouteContext>, E | Error.RouteNotFound, ServerResponse.ServerResponse>
67
+ | undefined
73
68
  commit() {
74
69
  if (this.httpApp === undefined) {
75
- this.httpApp = toHttpApp(this)
70
+ this.httpApp = toHttpApp(this) as any
76
71
  }
77
- return this.httpApp
78
- }
79
-
80
- // implements HttpApp/Effect
81
- public _tag = "Commit" // OP_COMMIT
82
- readonly [Effect.EffectTypeId]: any
83
- readonly [Stream.StreamTypeId]: any
84
- readonly [Sink.SinkTypeId]: any
85
- readonly [Channel.ChannelTypeId]: any;
86
- [Equal.symbol](
87
- this: RouterImpl<R, E>,
88
- that: RouterImpl<R, E>
89
- ): boolean {
90
- return this === that
91
- }
92
- [Hash.symbol](this: RouterImpl<R, E>): number {
93
- return Hash.random(this)
72
+ return this.httpApp!
94
73
  }
95
74
  toJSON() {
96
75
  return {
@@ -1,12 +1,12 @@
1
- import * as Context from "@effect/data/Context"
2
- import { dual } from "@effect/data/Function"
3
- import * as Effect from "@effect/io/Effect"
4
- import type * as Scope from "@effect/io/Scope"
5
1
  import type * as App from "@effect/platform/Http/App"
6
2
  import type * as Middleware from "@effect/platform/Http/Middleware"
7
3
  import type * as Server from "@effect/platform/Http/Server"
8
4
  import type * as Error from "@effect/platform/Http/ServerError"
9
5
  import type * as ServerRequest from "@effect/platform/Http/ServerRequest"
6
+ import * as Context from "effect/Context"
7
+ import * as Effect from "effect/Effect"
8
+ import { dual } from "effect/Function"
9
+ import type * as Scope from "effect/Scope"
10
10
 
11
11
  /** @internal */
12
12
  export const TypeId: Server.TypeId = Symbol.for("@effect/platform/Http/Server") as Server.TypeId
@@ -1,5 +1,5 @@
1
- import * as Data from "@effect/data/Data"
2
1
  import type * as Error from "@effect/platform/Http/ServerError"
2
+ import * as Data from "effect/Data"
3
3
 
4
4
  /** @internal */
5
5
  export const TypeId: Error.TypeId = Symbol.for(
@@ -1,10 +1,10 @@
1
- import * as Context from "@effect/data/Context"
2
- import * as Effect from "@effect/io/Effect"
3
1
  import * as FormData from "@effect/platform/Http/FormData"
4
2
  import * as IncomingMessage from "@effect/platform/Http/IncomingMessage"
5
3
  import * as Error from "@effect/platform/Http/ServerError"
6
4
  import type * as ServerRequest from "@effect/platform/Http/ServerRequest"
7
5
  import type * as Schema from "@effect/schema/Schema"
6
+ import * as Context from "effect/Context"
7
+ import * as Effect from "effect/Effect"
8
8
 
9
9
  /** @internal */
10
10
  export const TypeId: ServerRequest.TypeId = Symbol.for("@effect/platform/Http/ServerRequest") as ServerRequest.TypeId
@@ -1,6 +1,3 @@
1
- import { dual } from "@effect/data/Function"
2
- import { pipeArguments } from "@effect/data/Pipeable"
3
- import * as Effect from "@effect/io/Effect"
4
1
  import type * as PlatformError from "@effect/platform/Error"
5
2
  import type * as FileSystem from "@effect/platform/FileSystem"
6
3
  import type * as Body from "@effect/platform/Http/Body"
@@ -10,7 +7,10 @@ import type * as ServerResponse from "@effect/platform/Http/ServerResponse"
10
7
  import * as UrlParams from "@effect/platform/Http/UrlParams"
11
8
  import * as internalBody from "@effect/platform/internal/http/body"
12
9
  import type * as Schema from "@effect/schema/Schema"
13
- import type * as Stream from "@effect/stream/Stream"
10
+ import * as Effect from "effect/Effect"
11
+ import { dual } from "effect/Function"
12
+ import { pipeArguments } from "effect/Pipeable"
13
+ import type * as Stream from "effect/Stream"
14
14
 
15
15
  /** @internal */
16
16
  export const TypeId: ServerResponse.TypeId = Symbol.for("@effect/platform/Http/ServerResponse") as ServerResponse.TypeId
@@ -1,12 +1,12 @@
1
- import * as Context from "@effect/data/Context"
2
- import { dual, pipe } from "@effect/data/Function"
3
- import * as Option from "@effect/data/Option"
4
- import * as Effect from "@effect/io/Effect"
5
- import * as Layer from "@effect/io/Layer"
6
1
  import * as FileSystem from "@effect/platform/FileSystem"
7
2
  import type * as KeyValueStore from "@effect/platform/KeyValueStore"
8
3
  import * as Path from "@effect/platform/Path"
9
4
  import * as Schema from "@effect/schema/Schema"
5
+ import * as Context from "effect/Context"
6
+ import * as Effect from "effect/Effect"
7
+ import { dual, pipe } from "effect/Function"
8
+ import * as Layer from "effect/Layer"
9
+ import * as Option from "effect/Option"
10
10
 
11
11
  /** @internal */
12
12
  export const TypeId: KeyValueStore.TypeId = Symbol.for(
@@ -1,9 +1,9 @@
1
- import { Tag } from "@effect/data/Context"
2
- import { identity } from "@effect/data/Function"
3
- import * as Effect from "@effect/io/Effect"
4
- import * as Layer from "@effect/io/Layer"
5
1
  import { BadArgument } from "@effect/platform/Error"
6
2
  import type { Path as _Path } from "@effect/platform/Path"
3
+ import { Tag } from "effect/Context"
4
+ import * as Effect from "effect/Effect"
5
+ import { identity } from "effect/Function"
6
+ import * as Layer from "effect/Layer"
7
7
  import * as PathB from "path-browserify"
8
8
 
9
9
  /** @internal */