- fdb438c: Update effect.
- 3da55b7: Update effect.
- 12bfe12: Update effect.
- e545f0c: Fix import.
- 325f0a4: Update effect.
- a65a9b2: Refactor client errors.
- 7e4546b: Update @effect/platform.
- 757bd90: Update dependencies.
- bce4f7e: Refactor: rewrite client using @effect/platform.
- 3211930: Update effect.
- 5b6d151: Update effect.
- 42731e2: Update effect.
- 28ed55b: Update effect dependencies.
- ecca038: Update @effect/schema.
- 7f57b7d: Update @effect/platform-node.
- 9a4387d: Update effect.
- 9a4387d: Introduce
@effect/platform
Router derivation.
- 13a9a09: Update dependencies.
- 59d75db: Update /data and /io.
- a37157e: Fix @effect/io peer dependency version.
- fd69e9c: Update effect dependencies.
- 9dd1613: Update effect dependencies.
- f56d5a9: Expose
/openapi.json
.
- 43bab8a: Fix testing client - set content-* headers if body is provided.
- ab622b0: Update schema-openapi - fixes example server with constrained numbers in schemas.
- 295d6d6: Update schema-openapi.
- edb5531: Update dependencies.
- 4adc5f9: Update schema-openapi.
- 09af1a2: Make
mockClient
data-first.
- 5528872: Handle
FormData
on the server. - 9e9a9b3: Implement
Pipeable
forApi
andServerBuilder
. - d964b02: Move
FormData
schema toApi
module.
- df37219: Update schema-openapi.
- db02159: Change /io, /data and /schema to peer dependencies.
- 2d710d7: Support
FormData
on the client side.
- 05185c2: Fix exports.
- 122d536: Add readme to dist.
- 1a86946: Fix build.
- 95c82c9: Update /io and /schema.
- 95c82c9: ESM fix by @vecerek
- 5e4f71c: Fix client usage in browser. Express related libraries will load lazily. This is rather a quick fix preceding a proper solution.
- 68749c9: Testing client returns type-safe response object.
- e21ef69: Update /io and /schema.
- 9e5bc29: Update /data, /io and /schema.
- 5bcd82c: Update dependencies.
- d84944e: Update /schema dependencies.
- d301880: Update /data.
-
71d9a3d: Make
Http.client
data-first.Instead of
const client = pipe(api, Http.client(url, options));
use
const client = Http.client(api, url, options);
-
e0fa6e6: Remove
effect-log
and logging functionality. -
7ee7ec3: Custom response. Remove possibility to return
Response
.
- db40417: Fix OpenApi path string format.
- 368ae52: Make sure path string matches the param schema.
- 310cb15: Fix optional path parameters.
- 7ce5cec: Fix OpenApi parameter types.
- 21a3cff: Fix OpenApi required flag.
- c24e990: Split server building into two parts.
- b9b8b2b: Change api schemas struture. All request locations are specified using Schema instead of record of Schemas.
-
ff37dfc: Multiple responses, response headers, client input type fixes.
This release allows to specify different status codes to return different responses and headers.
const api = pipe( Http.api(), Http.post("hello", "/hello", { response: [ { status: 201, content: Schema.number, }, { status: 200, content: Schema.number, headers: { "X-Another-200": Schema.NumberFromString, }, }, { status: 204, headers: { "X-Another": Schema.string }, }, ], }), );
Specified response combinations are propagated to the OpenApi.
The generated client in case of multiple responses returns an object
{ status, content, headers }
, the proper union type is generated in that case. -
dbe343f: Derivation of
ResponseUtil
object.
- 1dcd434: Update schema-openapi.
- 693d85e: Example server has precise
Api
type.
- 97c23b8: Update /data and /io.
- 28327db: Update schema-openapi and /schema.
- dc8d503: Update dependencies.
- 19a26ab: Update /data and /io.
- c245afd: Update dependencies.
- d380340: Update dependencies.
- 49828cf: Update dependencies.
- 1431d2e: Update dependencies.
- 111d2ed: Fix commonjs.
- 392d0cf: Update dependencies.
- 8237fff: Fix build.
-
ccd9911: Extensions.
- added basic auth built-in extension
- added
OnErrorExtension
extension type - added
ServerExtensionOptions
which allow white-/black-listing operations for extensions
- cb022a4: Update dependencies.
- e281dd5: Remove unnecessary files from the build.
- 5e5ef61: Introduce extensions.
- d704fe0: Testing module.
- 223e8ea: Update dependencies.
- 0a66561: Remove
Any*
type variants.
- 4ba83cf: Update dependencies.
-
2e0c01f: Add support for descriptions.
- Descriptions are generated for schemas with
DescriptionAnnotation
. - Endpoint methods (
Http.get
,Http.post
, etc) accept an optional 4th argument with description of the operation.
- Descriptions are generated for schemas with
- d679e96: Update dependencies.
- 8d8010f: Fix common js imports.
- a11af53: Remove docs from the package.
- bf5b0bb: Update dependencies.
- fdde411: Flatten package file structure.
- 1627a6a: Generate API documentation.
- d7133fb: Update package.json homepage.
- 03df92d: Fix imports.
- e731be3: Update dependencies (effect-log and schema-openapi support esm).
- 0fc27ef: Update dependencies.
- 4a60b11: Add esm support.
- 7812314: Allow client http calls to be interrupted.
- 3604908: Update dependencies.
- cd5baf2: Update dependencies.
- 114a41f: Update dependencies.
- fb2ce23: Fix build.
- 77ee530: Client common headers. Inputs of client operation functions can be ommited if there are no required inputs for the request.
- 69fb81f: Update dependencies. Schema.optionFromNullable doesn't include
undefined
.
- 04d23cd: Update dependencies
- 4fa28e3: Update dependencies.
schema-openapi
fixes usage ofSchema.optionFromNullable
. - cb52845: Throw an error when GET endpoint specifies body
- 81412cc: Use encode for response serialization.
- 130fdd8: Update dependencies
- b222abb: Introduce mock client derivation.
- aeacd10: Update dependencies
- 336001c: Fix
/docs
endpoint
- 325ef5a: Update schema-openapi
- aaf554e: Remove test related files from build
- 6f7060e: Update dependencies
- c3846a1: Use Fetch API
Request
/Response
internally.
- 06e68e4: Replace undici by Fetch API
- 3ee7377: Add default express handler with 404 response
- 922437a: Provide
ValidationErrorFormatter
through the context with default
- 4521c2f: Propagate Server dependency
R
type to handler.
- c669452: Response object to enable custom status code and response headers.
- 42aa9c6: prevent accidental introduction of duplicate operation ids
- 340e70a: Move general endpoint handling logic to server.
- 08af565: add effect-log dependency
- 22552ea: Improve server stopping log message
-
2eb96bb: Rewrite endpoint handling using
Runtime
.Http.express
,Http.listen
and newHttp.listenExpress
functions now returnEffect
instead of promise.- Options object of
Http.express
was extended byvalidationErrorFormatter
field that configures how are HTTP validation errors formatted. Http.listen
andHttp.listenExpress
options object was extended byport
andlogger
fields.Http.setLogger
was removed in favor of the configuration above.Http.provideService
andHttp.provideLayer
were removed because the context is now propagated from the top-level effect. Simply provide the context for the app effect instead. Also, scoped services are now guaranteed to be safely released when the whole app closes - currently, on SIGTERM and SIGINT signals.
pipe( server, Http.listen({ port: 3000 }), Effect.provideLayer(layer), Effect.runPromise, );
- 12b70ae: ExampleServer internal and public modules
- 624aa2b: Update effect-log and remove "module" field from package.json
- 6de1bf7: split internal and public modules
- fbb4b9a: OpenAPI configuration options for
Http.express
- bb16a9a: extend errors
- e6ff1c5: update dependencies
- 11e3874: add support for request headers
- 0c3232f: update dependencies
- ecceadb: improve error response and logging
- 21b0484: update @effect/schema
- 768a058: pattern error reporting
- aca1545: fix query and path parameters to enable correct OpenAPI derivation
- f89fa9a: update dependencies
- 0c8dee2: update deps
- 80cb3e8: fix client params
- 5337609: improve logger settings
- af57359: error handling, human-readable error details
- 9107ac0: fix build
- 06056f1: listening log on startup
- 76c5300: improve grouping api
- 0f58e68: Input type helper
- 5b682f5: add
Http.setLogger
- 39b1c3e: Introduce
exampleServer
, move title and version toApi
- 4b7c67a: Fix handling of JSON responses
- de54069: Fix: provideLayer and provideService
- bfb9c21: remove log annotations
- 5366eb0: lazy layers
- 12a731b: api and server
- client
- Initial release