@effect/platform 0.87.0 → 0.87.2

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 (43) hide show
  1. package/HttpLayerRouter/package.json +6 -0
  2. package/README.md +272 -2
  3. package/dist/cjs/HttpApiBuilder.js +15 -1
  4. package/dist/cjs/HttpApiBuilder.js.map +1 -1
  5. package/dist/cjs/HttpApiScalar.js +29 -11
  6. package/dist/cjs/HttpApiScalar.js.map +1 -1
  7. package/dist/cjs/HttpApiSwagger.js +32 -15
  8. package/dist/cjs/HttpApiSwagger.js.map +1 -1
  9. package/dist/cjs/HttpLayerRouter.js +494 -0
  10. package/dist/cjs/HttpLayerRouter.js.map +1 -0
  11. package/dist/cjs/index.js +3 -1
  12. package/dist/cjs/internal/httpRouter.js +3 -1
  13. package/dist/cjs/internal/httpRouter.js.map +1 -1
  14. package/dist/dts/HttpApiBuilder.d.ts +6 -0
  15. package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
  16. package/dist/dts/HttpApiScalar.d.ts +14 -2
  17. package/dist/dts/HttpApiScalar.d.ts.map +1 -1
  18. package/dist/dts/HttpApiSwagger.d.ts +12 -2
  19. package/dist/dts/HttpApiSwagger.d.ts.map +1 -1
  20. package/dist/dts/HttpLayerRouter.d.ts +481 -0
  21. package/dist/dts/HttpLayerRouter.d.ts.map +1 -0
  22. package/dist/dts/index.d.ts +4 -0
  23. package/dist/dts/index.d.ts.map +1 -1
  24. package/dist/dts/internal/httpRouter.d.ts.map +1 -1
  25. package/dist/esm/HttpApiBuilder.js +14 -0
  26. package/dist/esm/HttpApiBuilder.js.map +1 -1
  27. package/dist/esm/HttpApiScalar.js +28 -10
  28. package/dist/esm/HttpApiScalar.js.map +1 -1
  29. package/dist/esm/HttpApiSwagger.js +31 -14
  30. package/dist/esm/HttpApiSwagger.js.map +1 -1
  31. package/dist/esm/HttpLayerRouter.js +468 -0
  32. package/dist/esm/HttpLayerRouter.js.map +1 -0
  33. package/dist/esm/index.js +4 -0
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/internal/httpRouter.js +3 -1
  36. package/dist/esm/internal/httpRouter.js.map +1 -1
  37. package/package.json +10 -2
  38. package/src/HttpApiBuilder.ts +30 -0
  39. package/src/HttpApiScalar.ts +79 -41
  40. package/src/HttpApiSwagger.ts +49 -18
  41. package/src/HttpLayerRouter.ts +920 -0
  42. package/src/index.ts +5 -0
  43. package/src/internal/httpRouter.ts +4 -1
package/src/index.ts CHANGED
@@ -138,6 +138,11 @@ export * as HttpClientResponse from "./HttpClientResponse.js"
138
138
  */
139
139
  export * as HttpIncomingMessage from "./HttpIncomingMessage.js"
140
140
 
141
+ /**
142
+ * @since 1.0.0
143
+ */
144
+ export * as HttpLayerRouter from "./HttpLayerRouter.js"
145
+
141
146
  /**
142
147
  * @since 1.0.0
143
148
  * @category models
@@ -243,9 +243,12 @@ const toHttpApp = <E, R>(
243
243
  const context = Context.unsafeMake(new Map(fiber.getFiberRef(FiberRef.currentContext).unsafeMap))
244
244
  const request = Context.unsafeGet(context, ServerRequest.HttpServerRequest)
245
245
  if (mountsLen > 0) {
246
+ const searchIndex = request.url.indexOf("?")
247
+ const pathname = searchIndex === -1 ? request.url : request.url.slice(0, searchIndex)
248
+
246
249
  for (let i = 0; i < mountsLen; i++) {
247
250
  const [path, routeContext, options] = mounts[i]
248
- if (request.url.startsWith(path)) {
251
+ if (pathname === path || pathname.startsWith(path + "/")) {
249
252
  context.unsafeMap.set(RouteContext.key, routeContext)
250
253
  if (options?.includePrefix !== true) {
251
254
  context.unsafeMap.set(ServerRequest.HttpServerRequest.key, sliceRequestUrl(request, path))