@effect/platform 0.42.6 → 0.43.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 (111) hide show
  1. package/dist/cjs/Http/Body.js.map +1 -1
  2. package/dist/cjs/Http/ClientRequest.js.map +1 -1
  3. package/dist/cjs/Http/ClientResponse.js.map +1 -1
  4. package/dist/cjs/Http/IncomingMessage.js +3 -3
  5. package/dist/cjs/Http/IncomingMessage.js.map +1 -1
  6. package/dist/cjs/Http/Multipart.js.map +1 -1
  7. package/dist/cjs/Http/Router.js.map +1 -1
  8. package/dist/cjs/Http/ServerRequest.js.map +1 -1
  9. package/dist/cjs/Http/UrlParams.js +1 -1
  10. package/dist/cjs/Http/UrlParams.js.map +1 -1
  11. package/dist/cjs/Transferable.js +13 -16
  12. package/dist/cjs/Transferable.js.map +1 -1
  13. package/dist/cjs/WorkerRunner.js.map +1 -1
  14. package/dist/cjs/internal/http/body.js.map +1 -1
  15. package/dist/cjs/internal/http/client.js +1 -0
  16. package/dist/cjs/internal/http/client.js.map +1 -1
  17. package/dist/cjs/internal/http/clientRequest.js.map +1 -1
  18. package/dist/cjs/internal/http/clientResponse.js +2 -2
  19. package/dist/cjs/internal/http/clientResponse.js.map +1 -1
  20. package/dist/cjs/internal/http/multipart.js +2 -2
  21. package/dist/cjs/internal/http/multipart.js.map +1 -1
  22. package/dist/cjs/internal/http/router.js +3 -3
  23. package/dist/cjs/internal/http/router.js.map +1 -1
  24. package/dist/cjs/internal/http/serverRequest.js.map +1 -1
  25. package/dist/cjs/internal/http/serverResponse.js.map +1 -1
  26. package/dist/cjs/internal/keyValueStore.js +1 -1
  27. package/dist/cjs/internal/keyValueStore.js.map +1 -1
  28. package/dist/cjs/internal/workerRunner.js +1 -1
  29. package/dist/cjs/internal/workerRunner.js.map +1 -1
  30. package/dist/dts/Http/Body.d.ts +1 -1
  31. package/dist/dts/Http/Body.d.ts.map +1 -1
  32. package/dist/dts/Http/Client.d.ts +2 -2
  33. package/dist/dts/Http/Client.d.ts.map +1 -1
  34. package/dist/dts/Http/ClientRequest.d.ts +11 -12
  35. package/dist/dts/Http/ClientRequest.d.ts.map +1 -1
  36. package/dist/dts/Http/ClientResponse.d.ts +6 -6
  37. package/dist/dts/Http/ClientResponse.d.ts.map +1 -1
  38. package/dist/dts/Http/IncomingMessage.d.ts +3 -3
  39. package/dist/dts/Http/IncomingMessage.d.ts.map +1 -1
  40. package/dist/dts/Http/Multipart.d.ts +5 -5
  41. package/dist/dts/Http/Multipart.d.ts.map +1 -1
  42. package/dist/dts/Http/Router.d.ts +3 -3
  43. package/dist/dts/Http/Router.d.ts.map +1 -1
  44. package/dist/dts/Http/ServerRequest.d.ts +6 -6
  45. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  46. package/dist/dts/Http/ServerResponse.d.ts +1 -1
  47. package/dist/dts/Http/ServerResponse.d.ts.map +1 -1
  48. package/dist/dts/Http/UrlParams.d.ts +3 -3
  49. package/dist/dts/KeyValueStore.d.ts +9 -9
  50. package/dist/dts/KeyValueStore.d.ts.map +1 -1
  51. package/dist/dts/Transferable.d.ts +3 -3
  52. package/dist/dts/Transferable.d.ts.map +1 -1
  53. package/dist/dts/Worker.d.ts +5 -5
  54. package/dist/dts/Worker.d.ts.map +1 -1
  55. package/dist/dts/WorkerRunner.d.ts +3 -3
  56. package/dist/dts/WorkerRunner.d.ts.map +1 -1
  57. package/dist/dts/internal/http/router.d.ts.map +1 -1
  58. package/dist/esm/Http/Body.js.map +1 -1
  59. package/dist/esm/Http/ClientRequest.js.map +1 -1
  60. package/dist/esm/Http/ClientResponse.js.map +1 -1
  61. package/dist/esm/Http/IncomingMessage.js +3 -3
  62. package/dist/esm/Http/IncomingMessage.js.map +1 -1
  63. package/dist/esm/Http/Multipart.js.map +1 -1
  64. package/dist/esm/Http/Router.js.map +1 -1
  65. package/dist/esm/Http/ServerRequest.js.map +1 -1
  66. package/dist/esm/Http/UrlParams.js +1 -1
  67. package/dist/esm/Http/UrlParams.js.map +1 -1
  68. package/dist/esm/Transferable.js +14 -17
  69. package/dist/esm/Transferable.js.map +1 -1
  70. package/dist/esm/WorkerRunner.js.map +1 -1
  71. package/dist/esm/internal/http/body.js.map +1 -1
  72. package/dist/esm/internal/http/client.js +1 -0
  73. package/dist/esm/internal/http/client.js.map +1 -1
  74. package/dist/esm/internal/http/clientRequest.js.map +1 -1
  75. package/dist/esm/internal/http/clientResponse.js +2 -2
  76. package/dist/esm/internal/http/clientResponse.js.map +1 -1
  77. package/dist/esm/internal/http/multipart.js +2 -2
  78. package/dist/esm/internal/http/multipart.js.map +1 -1
  79. package/dist/esm/internal/http/router.js +3 -3
  80. package/dist/esm/internal/http/router.js.map +1 -1
  81. package/dist/esm/internal/http/serverRequest.js.map +1 -1
  82. package/dist/esm/internal/http/serverResponse.js.map +1 -1
  83. package/dist/esm/internal/keyValueStore.js +1 -1
  84. package/dist/esm/internal/keyValueStore.js.map +1 -1
  85. package/dist/esm/internal/workerRunner.js +1 -1
  86. package/dist/esm/internal/workerRunner.js.map +1 -1
  87. package/package.json +3 -3
  88. package/src/Http/Body.ts +3 -3
  89. package/src/Http/Client.ts +6 -6
  90. package/src/Http/ClientRequest.ts +8 -9
  91. package/src/Http/ClientResponse.ts +7 -6
  92. package/src/Http/IncomingMessage.ts +11 -9
  93. package/src/Http/Multipart.ts +8 -8
  94. package/src/Http/Router.ts +9 -9
  95. package/src/Http/ServerRequest.ts +19 -19
  96. package/src/Http/ServerResponse.ts +3 -3
  97. package/src/Http/UrlParams.ts +6 -6
  98. package/src/KeyValueStore.ts +10 -10
  99. package/src/Transferable.ts +30 -32
  100. package/src/Worker.ts +10 -10
  101. package/src/WorkerRunner.ts +55 -18
  102. package/src/internal/http/body.ts +2 -2
  103. package/src/internal/http/client.ts +8 -7
  104. package/src/internal/http/clientRequest.ts +7 -8
  105. package/src/internal/http/clientResponse.ts +8 -6
  106. package/src/internal/http/multipart.ts +11 -10
  107. package/src/internal/http/router.ts +8 -6
  108. package/src/internal/http/serverRequest.ts +13 -11
  109. package/src/internal/http/serverResponse.ts +3 -3
  110. package/src/internal/keyValueStore.ts +7 -7
  111. package/src/internal/workerRunner.ts +7 -3
@@ -25,13 +25,13 @@ export const serverRequestTag = Context.Tag<ServerRequest.ServerRequest>(TypeId)
25
25
  export const multipartPersisted = Effect.flatMap(serverRequestTag, (request) => request.multipart)
26
26
 
27
27
  /** @internal */
28
- export const schemaHeaders = <I extends Readonly<Record<string, string>>, A>(schema: Schema.Schema<I, A>) => {
28
+ export const schemaHeaders = <R, I extends Readonly<Record<string, string>>, A>(schema: Schema.Schema<R, I, A>) => {
29
29
  const parse = IncomingMessage.schemaHeaders(schema)
30
30
  return Effect.flatMap(serverRequestTag, parse)
31
31
  }
32
32
 
33
33
  /** @internal */
34
- export const schemaBodyJson = <I, A>(schema: Schema.Schema<I, A>) => {
34
+ export const schemaBodyJson = <R, I, A>(schema: Schema.Schema<R, I, A>) => {
35
35
  const parse = IncomingMessage.schemaBodyJson(schema)
36
36
  return Effect.flatMap(serverRequestTag, parse)
37
37
  }
@@ -40,13 +40,13 @@ const isMultipart = (request: ServerRequest.ServerRequest) =>
40
40
  request.headers["content-type"]?.toLowerCase().includes("multipart/form-data")
41
41
 
42
42
  /** @internal */
43
- export const schemaBodyForm = <I extends Multipart.Persisted, A>(
44
- schema: Schema.Schema<I, A>
43
+ export const schemaBodyForm = <R, I extends Multipart.Persisted, A>(
44
+ schema: Schema.Schema<R, I, A>
45
45
  ) => {
46
46
  const parseMultipart = Multipart.schemaPersisted(schema)
47
- const parseUrlParams = IncomingMessage.schemaBodyUrlParams(schema as Schema.Schema<any, A>)
47
+ const parseUrlParams = IncomingMessage.schemaBodyUrlParams(schema as Schema.Schema<R, any, A>)
48
48
  return Effect.flatMap(serverRequestTag, (request): Effect.Effect<
49
- ServerRequest.ServerRequest | Scope.Scope | FileSystem.FileSystem | Path.Path,
49
+ R | ServerRequest.ServerRequest | Scope.Scope | FileSystem.FileSystem | Path.Path,
50
50
  Multipart.MultipartError | ParseResult.ParseError | Error.RequestError,
51
51
  A
52
52
  > => {
@@ -58,21 +58,23 @@ export const schemaBodyForm = <I extends Multipart.Persisted, A>(
58
58
  }
59
59
 
60
60
  /** @internal */
61
- export const schemaBodyUrlParams = <I extends Readonly<Record<string, string>>, A>(schema: Schema.Schema<I, A>) => {
61
+ export const schemaBodyUrlParams = <R, I extends Readonly<Record<string, string>>, A>(
62
+ schema: Schema.Schema<R, I, A>
63
+ ) => {
62
64
  const parse = IncomingMessage.schemaBodyUrlParams(schema)
63
65
  return Effect.flatMap(serverRequestTag, parse)
64
66
  }
65
67
 
66
68
  /** @internal */
67
- export const schemaBodyMultipart = <I extends Multipart.Persisted, A>(
68
- schema: Schema.Schema<I, A>
69
+ export const schemaBodyMultipart = <R, I extends Multipart.Persisted, A>(
70
+ schema: Schema.Schema<R, I, A>
69
71
  ) => {
70
72
  const parse = Multipart.schemaPersisted(schema)
71
73
  return Effect.flatMap(multipartPersisted, parse)
72
74
  }
73
75
 
74
76
  /** @internal */
75
- export const schemaBodyFormJson = <I, A>(schema: Schema.Schema<I, A>) => {
77
+ export const schemaBodyFormJson = <R, I, A>(schema: Schema.Schema<R, I, A>) => {
76
78
  const parseMultipart = Multipart.schemaJson(schema)
77
79
  const parseUrlParams = UrlParams.schemaJson(schema)
78
80
  return (field: string) =>
@@ -81,7 +83,7 @@ export const schemaBodyFormJson = <I, A>(schema: Schema.Schema<I, A>) => {
81
83
  (
82
84
  request
83
85
  ): Effect.Effect<
84
- FileSystem.FileSystem | Path.Path | Scope.Scope | ServerRequest.ServerRequest,
86
+ R | FileSystem.FileSystem | Path.Path | Scope.Scope | ServerRequest.ServerRequest,
85
87
  ParseResult.ParseError | Error.RequestError,
86
88
  A
87
89
  > => {
@@ -117,14 +117,14 @@ export const unsafeJson = (
117
117
  )
118
118
 
119
119
  /** @internal */
120
- export const schemaJson = <I, A>(
121
- schema: Schema.Schema<I, A>
120
+ export const schemaJson = <R, I, A>(
121
+ schema: Schema.Schema<R, I, A>
122
122
  ) => {
123
123
  const encode = internalBody.jsonSchema(schema)
124
124
  return (
125
125
  body: A,
126
126
  options?: ServerResponse.Options.WithContent
127
- ): Effect.Effect<never, Body.BodyError, ServerResponse.ServerResponse> =>
127
+ ): Effect.Effect<R, Body.BodyError, ServerResponse.ServerResponse> =>
128
128
  Effect.map(encode(body), (body) =>
129
129
  new ServerResponseImpl(
130
130
  options?.status ?? 200,
@@ -68,12 +68,12 @@ export const SchemaStoreTypeId: KeyValueStore.SchemaStoreTypeId = Symbol.for(
68
68
  ) as KeyValueStore.SchemaStoreTypeId
69
69
 
70
70
  /** @internal */
71
- const makeSchemaStore = <I, A>(
71
+ const makeSchemaStore = <R, I, A>(
72
72
  store: KeyValueStore.KeyValueStore,
73
- schema: Schema.Schema<I, A>
74
- ): KeyValueStore.SchemaStore<A> => {
73
+ schema: Schema.Schema<R, I, A>
74
+ ): KeyValueStore.SchemaStore<R, A> => {
75
75
  const jsonSchema = Schema.parseJson(schema)
76
- const parse = Schema.parse(jsonSchema)
76
+ const parse = Schema.decodeUnknown(jsonSchema)
77
77
  const encode = Schema.encode(jsonSchema)
78
78
 
79
79
  const get = (key: string) =>
@@ -166,11 +166,11 @@ export const layerFileSystem = (directory: string) =>
166
166
  )
167
167
 
168
168
  /** @internal */
169
- export const layerSchema = <I, A>(
170
- schema: Schema.Schema<I, A>,
169
+ export const layerSchema = <R, I, A>(
170
+ schema: Schema.Schema<R, I, A>,
171
171
  tagIdentifier?: unknown
172
172
  ) => {
173
- const tag = Context.Tag<KeyValueStore.SchemaStore<A>>(tagIdentifier)
173
+ const tag = Context.Tag<KeyValueStore.SchemaStore<R, A>>(tagIdentifier)
174
174
  const layer = Layer.effect(tag, Effect.map(keyValueStoreTag, (store) => store.forSchema(schema)))
175
175
  return { tag, layer } as const
176
176
  }
@@ -163,13 +163,15 @@ export const layer = <I, R, E, O>(
163
163
 
164
164
  /** @internal */
165
165
  export const makeSerialized = <
166
+ R,
166
167
  I,
167
168
  A extends Schema.TaggedRequest.Any,
168
169
  const Handlers extends WorkerRunner.SerializedRunner.Handlers<A>
169
170
  >(
170
- schema: Schema.Schema<I, A>,
171
+ schema: Schema.Schema<R, I, A>,
171
172
  handlers: Handlers
172
173
  ): Effect.Effect<
174
+ | R
173
175
  | WorkerRunner.PlatformRunner
174
176
  | Scope.Scope
175
177
  | WorkerRunner.SerializedRunner.HandlersContext<Handlers>,
@@ -179,7 +181,7 @@ export const makeSerialized = <
179
181
  Effect.gen(function*(_) {
180
182
  const scope = yield* _(Effect.scope)
181
183
  let context = Context.empty() as Context.Context<any>
182
- const parseRequest = Schema.parse(schema)
184
+ const parseRequest = Schema.decodeUnknown(schema) as (_: unknown) => Effect.Effect<never, never, A>
183
185
 
184
186
  return yield* _(make((request: A) => {
185
187
  const result = (handlers as any)[request._tag](request)
@@ -219,13 +221,15 @@ export const makeSerialized = <
219
221
 
220
222
  /** @internal */
221
223
  export const layerSerialized = <
224
+ R,
222
225
  I,
223
226
  A extends Schema.TaggedRequest.Any,
224
227
  const Handlers extends WorkerRunner.SerializedRunner.Handlers<A>
225
228
  >(
226
- schema: Schema.Schema<I, A>,
229
+ schema: Schema.Schema<R, I, A>,
227
230
  handlers: Handlers
228
231
  ): Layer.Layer<
232
+ | R
229
233
  | WorkerRunner.PlatformRunner
230
234
  | WorkerRunner.SerializedRunner.HandlersContext<Handlers>,
231
235
  WorkerError.WorkerError,