@effect/platform 0.87.6 → 0.87.8
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.
- package/README.md +26 -27
- package/dist/cjs/HttpLayerRouter.js +87 -19
- package/dist/cjs/HttpLayerRouter.js.map +1 -1
- package/dist/cjs/UrlParams.js +4 -2
- package/dist/cjs/UrlParams.js.map +1 -1
- package/dist/dts/HttpLayerRouter.d.ts +79 -10
- package/dist/dts/HttpLayerRouter.d.ts.map +1 -1
- package/dist/esm/HttpLayerRouter.js +83 -17
- package/dist/esm/HttpLayerRouter.js.map +1 -1
- package/dist/esm/UrlParams.js +4 -2
- package/dist/esm/UrlParams.js.map +1 -1
- package/package.json +1 -1
- package/src/HttpLayerRouter.ts +199 -52
- package/src/UrlParams.ts +2 -2
package/README.md
CHANGED
|
@@ -4868,8 +4868,14 @@ const GoodbyeRoute = HttpLayerRouter.use(
|
|
|
4868
4868
|
)
|
|
4869
4869
|
})
|
|
4870
4870
|
)
|
|
4871
|
+
// Or use `HttpLayerRouter.add/addAll` for simple routes
|
|
4872
|
+
const SimpleRoute = HttpLayerRouter.add(
|
|
4873
|
+
"GET",
|
|
4874
|
+
"/simple",
|
|
4875
|
+
HttpServerResponse.text("Simply fantastic!")
|
|
4876
|
+
)
|
|
4871
4877
|
|
|
4872
|
-
const AllRoutes = Layer.mergeAll(HelloRoute, GoodbyeRoute)
|
|
4878
|
+
const AllRoutes = Layer.mergeAll(HelloRoute, GoodbyeRoute, SimpleRoute)
|
|
4873
4879
|
|
|
4874
4880
|
// To start the server, we use `HttpLayerRouter.serve` with the routes layer
|
|
4875
4881
|
HttpLayerRouter.serve(AllRoutes).pipe(
|
|
@@ -4912,30 +4918,28 @@ const SessionMiddleware = HttpLayerRouter.middleware<{
|
|
|
4912
4918
|
})
|
|
4913
4919
|
)
|
|
4914
4920
|
|
|
4915
|
-
// And here is
|
|
4916
|
-
|
|
4921
|
+
// And here is an example of global middleware, that modifies the HTTP response.
|
|
4922
|
+
// Global middleware directly returns a `Layer`.
|
|
4923
|
+
const CorsMiddleware = HttpLayerRouter.middleware(HttpMiddleware.cors(), {
|
|
4924
|
+
global: true
|
|
4925
|
+
})
|
|
4917
4926
|
// You can also use `HttpLayerRouter.cors()` to create a CORS middleware
|
|
4918
4927
|
|
|
4919
|
-
const HelloRoute =
|
|
4928
|
+
const HelloRoute = HttpLayerRouter.add(
|
|
4929
|
+
"GET",
|
|
4930
|
+
"/hello",
|
|
4920
4931
|
Effect.gen(function* () {
|
|
4921
|
-
|
|
4922
|
-
yield*
|
|
4923
|
-
|
|
4924
|
-
|
|
4925
|
-
Effect.gen(function* () {
|
|
4926
|
-
// We can now access the `CurrentSession` service in our route handler
|
|
4927
|
-
const session = yield* CurrentSession
|
|
4928
|
-
return HttpServerResponse.text(
|
|
4929
|
-
`Hello, World! Your session token is: ${session.token}`
|
|
4930
|
-
)
|
|
4931
|
-
})
|
|
4932
|
+
// We can now access the `CurrentSession` service in our route handler
|
|
4933
|
+
const session = yield* CurrentSession
|
|
4934
|
+
return HttpServerResponse.text(
|
|
4935
|
+
`Hello, World! Your session token is: ${session.token}`
|
|
4932
4936
|
)
|
|
4933
4937
|
})
|
|
4934
4938
|
).pipe(
|
|
4935
4939
|
// We can provide the `SessionMiddleware.layer` to the `HelloRoute` layer
|
|
4936
4940
|
Layer.provide(SessionMiddleware.layer),
|
|
4937
4941
|
// And we can also provide the `CorsMiddleware` layer to handle CORS
|
|
4938
|
-
Layer.provide(CorsMiddleware
|
|
4942
|
+
Layer.provide(CorsMiddleware)
|
|
4939
4943
|
)
|
|
4940
4944
|
```
|
|
4941
4945
|
|
|
@@ -4987,18 +4991,13 @@ const LogMiddleware = HttpLayerRouter.middleware(
|
|
|
4987
4991
|
// We can then use the .combine method to combine the middlewares
|
|
4988
4992
|
const LogAndSessionMiddleware = LogMiddleware.combine(SessionMiddleware)
|
|
4989
4993
|
|
|
4990
|
-
const HelloRoute =
|
|
4994
|
+
const HelloRoute = HttpLayerRouter.add(
|
|
4995
|
+
"GET",
|
|
4996
|
+
"/hello",
|
|
4991
4997
|
Effect.gen(function* () {
|
|
4992
|
-
const
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
"/hello",
|
|
4996
|
-
Effect.gen(function* () {
|
|
4997
|
-
const session = yield* CurrentSession
|
|
4998
|
-
return HttpServerResponse.text(
|
|
4999
|
-
`Hello, World! Your session token is: ${session.token}`
|
|
5000
|
-
)
|
|
5001
|
-
})
|
|
4998
|
+
const session = yield* CurrentSession
|
|
4999
|
+
return HttpServerResponse.text(
|
|
5000
|
+
`Hello, World! Your session token is: ${session.token}`
|
|
5002
5001
|
)
|
|
5003
5002
|
})
|
|
5004
5003
|
).pipe(Layer.provide(LogAndSessionMiddleware.layer))
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "RouteContext", {
|
|
|
10
10
|
return _HttpRouter.RouteContext;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
-
exports.middleware = exports.make = exports.layer = exports.cors = exports.addHttpApi = exports.TypeId = exports.RouterConfig = exports.RouteTypeId = void 0;
|
|
13
|
+
exports.middleware = exports.make = exports.layer = exports.disableLogger = exports.cors = exports.addHttpApi = exports.addAll = exports.add = exports.TypeId = exports.RouterConfig = exports.RouteTypeId = void 0;
|
|
14
14
|
Object.defineProperty(exports, "params", {
|
|
15
15
|
enumerable: true,
|
|
16
16
|
get: function () {
|
|
@@ -57,7 +57,6 @@ var Tracer = _interopRequireWildcard(require("effect/Tracer"));
|
|
|
57
57
|
var FindMyWay = _interopRequireWildcard(require("find-my-way-ts"));
|
|
58
58
|
var _FindMyWay = FindMyWay;
|
|
59
59
|
exports.FindMyWay = FindMyWay;
|
|
60
|
-
var HttpApi = _interopRequireWildcard(require("./HttpApi.js"));
|
|
61
60
|
var HttpApiBuilder = _interopRequireWildcard(require("./HttpApiBuilder.js"));
|
|
62
61
|
var HttpMiddleware = _interopRequireWildcard(require("./HttpMiddleware.js"));
|
|
63
62
|
var _HttpRouter = require("./HttpRouter.js");
|
|
@@ -90,6 +89,7 @@ const HttpRouter = exports.HttpRouter = /*#__PURE__*/Context.GenericTag("@effect
|
|
|
90
89
|
*/
|
|
91
90
|
const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
92
91
|
const router = FindMyWay.make(yield* RouterConfig);
|
|
92
|
+
const middleware = new Set();
|
|
93
93
|
const addAll = routes => Effect.contextWith(context => {
|
|
94
94
|
const middleware = getMiddleware(context);
|
|
95
95
|
const applyMiddleware = effect => {
|
|
@@ -114,8 +114,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
114
114
|
[TypeId]: TypeId,
|
|
115
115
|
prefixed(prefix) {
|
|
116
116
|
return HttpRouter.of({
|
|
117
|
-
|
|
118
|
-
asHttpEffect: this.asHttpEffect,
|
|
117
|
+
...this,
|
|
119
118
|
prefixed: newPrefix => this.prefixed(prefixPath(prefix, newPrefix)),
|
|
120
119
|
addAll: routes => addAll(routes.map(prefixRoute(prefix))),
|
|
121
120
|
add: (method, path, handler, options) => addAll([makeRoute({
|
|
@@ -129,8 +128,11 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
129
128
|
},
|
|
130
129
|
addAll,
|
|
131
130
|
add: (method, path, handler, options) => addAll([route(method, path, handler, options)]),
|
|
131
|
+
addGlobalMiddleware: middleware_ => Effect.sync(() => {
|
|
132
|
+
middleware.add(middleware_);
|
|
133
|
+
}),
|
|
132
134
|
asHttpEffect() {
|
|
133
|
-
|
|
135
|
+
let handler = Effect.withFiberRuntime(fiber => {
|
|
134
136
|
const contextMap = new Map(fiber.currentContext.unsafeMap);
|
|
135
137
|
const request = contextMap.get(HttpServerRequest.HttpServerRequest.key);
|
|
136
138
|
let result = router.find(request.method, request.url);
|
|
@@ -158,6 +160,11 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
158
160
|
}
|
|
159
161
|
return Effect.locally(route.uninterruptible ? route.handler : Effect.interruptible(route.handler), FiberRef.currentContext, Context.unsafeMake(contextMap));
|
|
160
162
|
});
|
|
163
|
+
if (middleware.size === 0) return handler;
|
|
164
|
+
for (const fn of Arr.reverse(middleware)) {
|
|
165
|
+
handler = fn(handler);
|
|
166
|
+
}
|
|
167
|
+
return handler;
|
|
161
168
|
}
|
|
162
169
|
});
|
|
163
170
|
});
|
|
@@ -186,7 +193,7 @@ exports.RouterConfig = RouterConfig;
|
|
|
186
193
|
* const MyRoute = Layer.scopedDiscard(Effect.gen(function*() {
|
|
187
194
|
* const router = yield* HttpLayerRouter.HttpRouter
|
|
188
195
|
*
|
|
189
|
-
* // then use `router.add` to add a route
|
|
196
|
+
* // then use `yield* router.add(...)` to add a route
|
|
190
197
|
* }))
|
|
191
198
|
* ```
|
|
192
199
|
*
|
|
@@ -195,10 +202,49 @@ exports.RouterConfig = RouterConfig;
|
|
|
195
202
|
*/
|
|
196
203
|
const use = f => Layer.scopedDiscard(Effect.flatMap(HttpRouter, f));
|
|
197
204
|
/**
|
|
205
|
+
* Create a layer that adds a single route to the HTTP router.
|
|
206
|
+
*
|
|
207
|
+
* ```ts
|
|
208
|
+
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
209
|
+
* import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
|
|
210
|
+
*
|
|
211
|
+
* const Route = HttpLayerRouter.add("GET", "/hello", HttpServerResponse.text("Hello, World!"))
|
|
212
|
+
* ```
|
|
213
|
+
*
|
|
198
214
|
* @since 1.0.0
|
|
199
215
|
* @category HttpRouter
|
|
200
216
|
*/
|
|
201
217
|
exports.use = use;
|
|
218
|
+
const add = (method, path, handler, options) => use(router => router.add(method, path, handler, options));
|
|
219
|
+
/**
|
|
220
|
+
* Create a layer that adds multiple routes to the HTTP router.
|
|
221
|
+
*
|
|
222
|
+
* ```ts
|
|
223
|
+
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
224
|
+
* import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
|
|
225
|
+
*
|
|
226
|
+
* const Routes = HttpLayerRouter.addAll([
|
|
227
|
+
* HttpLayerRouter.route("GET", "/hello", HttpServerResponse.text("Hello, World!"))
|
|
228
|
+
* ])
|
|
229
|
+
* ```
|
|
230
|
+
*
|
|
231
|
+
* @since 1.0.0
|
|
232
|
+
* @category HttpRouter
|
|
233
|
+
*/
|
|
234
|
+
exports.add = add;
|
|
235
|
+
const addAll = (routes, options) => Layer.scopedDiscard(Effect.gen(function* () {
|
|
236
|
+
const toAdd = Effect.isEffect(routes) ? yield* routes : routes;
|
|
237
|
+
let router = yield* HttpRouter;
|
|
238
|
+
if (options?.prefix) {
|
|
239
|
+
router = router.prefixed(options.prefix);
|
|
240
|
+
}
|
|
241
|
+
yield* router.addAll(toAdd);
|
|
242
|
+
}));
|
|
243
|
+
/**
|
|
244
|
+
* @since 1.0.0
|
|
245
|
+
* @category HttpRouter
|
|
246
|
+
*/
|
|
247
|
+
exports.addAll = addAll;
|
|
202
248
|
const layer = exports.layer = /*#__PURE__*/Layer.effect(HttpRouter, make);
|
|
203
249
|
/**
|
|
204
250
|
* @since 1.0.0
|
|
@@ -264,6 +310,11 @@ const MiddlewareTypeId = exports.MiddlewareTypeId = /*#__PURE__*/Symbol.for("@ef
|
|
|
264
310
|
/**
|
|
265
311
|
* Create a middleware layer that can be used to modify requests and responses.
|
|
266
312
|
*
|
|
313
|
+
* By default, the middleware only affects the routes that it is provided to.
|
|
314
|
+
*
|
|
315
|
+
* If you want to create a middleware that applies globally to all routes, pass
|
|
316
|
+
* the `global` option as `true`.
|
|
317
|
+
*
|
|
267
318
|
* ```ts
|
|
268
319
|
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
269
320
|
* import * as HttpMiddleware from "@effect/platform/HttpMiddleware"
|
|
@@ -319,10 +370,14 @@ const middleware = function () {
|
|
|
319
370
|
if (arguments.length === 0) {
|
|
320
371
|
return makeMiddleware;
|
|
321
372
|
}
|
|
322
|
-
return makeMiddleware(arguments[0]);
|
|
373
|
+
return makeMiddleware(arguments[0], arguments[1]);
|
|
323
374
|
};
|
|
324
375
|
exports.middleware = middleware;
|
|
325
|
-
const makeMiddleware = middleware =>
|
|
376
|
+
const makeMiddleware = (middleware, options) => options?.global ? Layer.scopedDiscard(Effect.gen(function* () {
|
|
377
|
+
const router = yield* HttpRouter;
|
|
378
|
+
const fn = Effect.isEffect(middleware) ? yield* middleware : middleware;
|
|
379
|
+
yield* router.addGlobalMiddleware(fn);
|
|
380
|
+
})) : new MiddlewareImpl(Effect.isEffect(middleware) ? Layer.scopedContext(Effect.map(middleware, fn => Context.unsafeMake(new Map([[fnContextKey, fn]])))) : Layer.succeedContext(Context.unsafeMake(new Map([[fnContextKey, middleware]]))));
|
|
326
381
|
let middlewareId = 0;
|
|
327
382
|
const fnContextKey = "@effect/platform/HttpLayerRouter/MiddlewareFn";
|
|
328
383
|
class MiddlewareImpl {
|
|
@@ -387,7 +442,28 @@ const getMiddleware = context => {
|
|
|
387
442
|
* @since 1.0.0
|
|
388
443
|
* @category Middleware
|
|
389
444
|
*/
|
|
390
|
-
const cors = options => middleware(HttpMiddleware.cors(options)
|
|
445
|
+
const cors = options => middleware(HttpMiddleware.cors(options), {
|
|
446
|
+
global: true
|
|
447
|
+
});
|
|
448
|
+
/**
|
|
449
|
+
* A middleware that disables the logger for some routes.
|
|
450
|
+
*
|
|
451
|
+
* ```ts
|
|
452
|
+
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
453
|
+
* import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
|
|
454
|
+
* import * as Layer from "effect/Layer"
|
|
455
|
+
*
|
|
456
|
+
* const Route = HttpLayerRouter.add("GET", "/hello", HttpServerResponse.text("Hello, World!")).pipe(
|
|
457
|
+
* // disable the logger for this route
|
|
458
|
+
* Layer.provide(HttpLayerRouter.disableLogger)
|
|
459
|
+
* )
|
|
460
|
+
* ```
|
|
461
|
+
*
|
|
462
|
+
* @since 1.0.0
|
|
463
|
+
* @category Middleware
|
|
464
|
+
*/
|
|
465
|
+
exports.cors = cors;
|
|
466
|
+
const disableLogger = exports.disableLogger = /*#__PURE__*/middleware(HttpMiddleware.withLoggerDisabled).layer;
|
|
391
467
|
/**
|
|
392
468
|
* ```ts
|
|
393
469
|
* import * as NodeHttpServer from "@effect/platform-node/NodeHttpServer"
|
|
@@ -448,18 +524,11 @@ const cors = options => middleware(HttpMiddleware.cors(options)).layer;
|
|
|
448
524
|
* @since 1.0.0
|
|
449
525
|
* @category HttpApi
|
|
450
526
|
*/
|
|
451
|
-
exports.cors = cors;
|
|
452
527
|
const addHttpApi = (api, options) => {
|
|
453
528
|
const ApiMiddleware = middleware(HttpApiBuilder.buildMiddleware(api)).layer;
|
|
454
529
|
return HttpApiBuilder.Router.unwrap(Effect.fnUntraced(function* (router_) {
|
|
455
|
-
const contextMap = new Map();
|
|
456
530
|
const router = yield* HttpRouter;
|
|
457
531
|
const routes = Arr.empty();
|
|
458
|
-
const context = yield* Effect.context();
|
|
459
|
-
contextMap.set(HttpApi.Api.key, {
|
|
460
|
-
api,
|
|
461
|
-
context
|
|
462
|
-
});
|
|
463
532
|
for (const route of router_.routes) {
|
|
464
533
|
routes.push(makeRoute(route));
|
|
465
534
|
}
|
|
@@ -468,8 +537,7 @@ const addHttpApi = (api, options) => {
|
|
|
468
537
|
const spec = OpenApi.fromApi(api);
|
|
469
538
|
yield* router.add("GET", options.openapiPath, Effect.succeed(HttpServerResponse.unsafeJson(spec)));
|
|
470
539
|
}
|
|
471
|
-
|
|
472
|
-
}, Layer.effectContext)).pipe(Layer.provide(ApiMiddleware));
|
|
540
|
+
}, Layer.effectDiscard)).pipe(Layer.provide(ApiMiddleware));
|
|
473
541
|
};
|
|
474
542
|
/**
|
|
475
543
|
* Serves the provided application layer as an HTTP server.
|
|
@@ -488,7 +556,7 @@ const serve = (appLayer, options) => {
|
|
|
488
556
|
const router = yield* HttpRouter;
|
|
489
557
|
const handler = router.asHttpEffect();
|
|
490
558
|
return middleware ? HttpServer.serve(handler, middleware) : HttpServer.serve(handler);
|
|
491
|
-
}).pipe(Layer.unwrapScoped, options?.disableListenLog ? _Function.identity : HttpServer.withLogAddress
|
|
559
|
+
}).pipe(Layer.unwrapScoped, Layer.provide(appLayer), Layer.provide(RouterLayer), options?.disableListenLog ? _Function.identity : HttpServer.withLogAddress);
|
|
492
560
|
};
|
|
493
561
|
exports.serve = serve;
|
|
494
562
|
//# sourceMappingURL=HttpLayerRouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpLayerRouter.js","names":["HttpServerRequest","_interopRequireWildcard","require","HttpServerResponse","Arr","Context","Effect","FiberRef","_Function","Layer","Option","Scope","Tracer","FindMyWay","_FindMyWay","exports","HttpApi","HttpApiBuilder","HttpMiddleware","_HttpRouter","HttpServer","HttpServerError","OpenApi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","Symbol","for","HttpRouter","GenericTag","make","gen","router","RouterConfig","addAll","routes","contextWith","context","middleware","getMiddleware","applyMiddleware","effect","length","route","makeRoute","handler","method","all","path","on","of","prefixed","prefix","asHttpEffect","newPrefix","prefixPath","map","prefixRoute","add","options","isEffect","flatMap","uninterruptible","some","withFiberRuntime","fiber","contextMap","Map","currentContext","unsafeMap","request","key","result","find","url","undefined","fail","RouteNotFound","_tag","sliceRequestUrl","value","ParsedSearchParams","searchParams","RouteContext","RouteContextTypeId","params","span","ParentSpan","attribute","locally","interruptible","unsafeMake","prefexLen","modify","slice","Reference","defaultValue","constant","use","scopedDiscard","layer","toHttpEffect","appLayer","scope","memoMap","CurrentMemoMap","buildWithMemoMap","provideMerge","RouteTypeId","none","removeTrailingSlash","endsWith","dual","self","match","onNone","onSome","existingPrefix","MiddlewareTypeId","arguments","makeMiddleware","MiddlewareImpl","scopedContext","fn","fnContextKey","succeedContext","middlewareId","layerFn","dependencies","constructor","contextKey","stack","depsContext","push","pipe","provide","combine","other","middlewareCache","arr","topLevel","empty","maxLength","startsWith","Set","fromIterable","reverse","cors","addHttpApi","api","ApiMiddleware","buildMiddleware","Router","unwrap","fnUntraced","router_","Api","openapiPath","spec","fromApi","succeed","unsafeJson","effectContext","serve","disableLogger","compose","logger","RouterLayer","routerConfig","unwrapScoped","disableListenLog","identity","withLogAddress"],"sources":["../../src/HttpLayerRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HttpLayerRouter.js","names":["HttpServerRequest","_interopRequireWildcard","require","HttpServerResponse","Arr","Context","Effect","FiberRef","_Function","Layer","Option","Scope","Tracer","FindMyWay","_FindMyWay","exports","HttpApiBuilder","HttpMiddleware","_HttpRouter","HttpServer","HttpServerError","OpenApi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","Symbol","for","HttpRouter","GenericTag","make","gen","router","RouterConfig","middleware","Set","addAll","routes","contextWith","context","getMiddleware","applyMiddleware","effect","length","route","makeRoute","handler","method","all","path","on","of","prefixed","prefix","newPrefix","prefixPath","map","prefixRoute","add","options","isEffect","flatMap","uninterruptible","some","addGlobalMiddleware","middleware_","sync","asHttpEffect","withFiberRuntime","fiber","contextMap","Map","currentContext","unsafeMap","request","key","result","find","url","undefined","fail","RouteNotFound","_tag","sliceRequestUrl","value","ParsedSearchParams","searchParams","RouteContext","RouteContextTypeId","params","span","ParentSpan","attribute","locally","interruptible","unsafeMake","size","fn","reverse","prefexLen","modify","slice","Reference","defaultValue","constant","use","scopedDiscard","toAdd","layer","toHttpEffect","appLayer","scope","memoMap","CurrentMemoMap","buildWithMemoMap","provideMerge","RouteTypeId","none","removeTrailingSlash","endsWith","dual","self","match","onNone","onSome","existingPrefix","MiddlewareTypeId","arguments","makeMiddleware","global","MiddlewareImpl","scopedContext","fnContextKey","succeedContext","middlewareId","layerFn","dependencies","constructor","contextKey","stack","depsContext","push","pipe","provide","combine","other","middlewareCache","arr","topLevel","empty","maxLength","startsWith","fromIterable","cors","disableLogger","withLoggerDisabled","addHttpApi","api","ApiMiddleware","buildMiddleware","Router","unwrap","fnUntraced","router_","openapiPath","spec","fromApi","succeed","unsafeJson","effectDiscard","serve","compose","logger","RouterLayer","routerConfig","unwrapScoped","disableListenLog","identity","withLogAddress"],"sources":["../../src/HttpLayerRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/UrlParams.js
CHANGED
|
@@ -172,7 +172,7 @@ const baseUrl = () => {
|
|
|
172
172
|
* @category conversions
|
|
173
173
|
*/
|
|
174
174
|
const toRecord = self => {
|
|
175
|
-
const out =
|
|
175
|
+
const out = Object.create(null);
|
|
176
176
|
for (const [k, value] of self) {
|
|
177
177
|
const curr = out[k];
|
|
178
178
|
if (curr === undefined) {
|
|
@@ -183,7 +183,9 @@ const toRecord = self => {
|
|
|
183
183
|
curr.push(value);
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
|
-
return
|
|
186
|
+
return {
|
|
187
|
+
...out
|
|
188
|
+
};
|
|
187
189
|
};
|
|
188
190
|
/**
|
|
189
191
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlParams.js","names":["Arr","_interopRequireWildcard","require","Either","_Function","Option","Schema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fromInput","input","parsed","fromInputNested","out","length","Array","isArray","keys","value","push","slice","join","exports","entries","Symbol","iterator","fromIterable","key","undefined","String","nested","k","v","schemaFromSelf","Tuple","annotations","identifier","empty","getAll","dual","self","reduce","acc","getFirst","map","findFirst","getLast","findLast","append","filter","setAll","toSet","appendAll","includes","remove","makeUrl","url","params","hash","urlInstance","URL","baseUrl","searchParams","_tag","right","left","toString","URLSearchParams","globalThis","location","origin","pathname","toRecord","curr","schemaJson","schema","options","parse","decodeUnknown","parseJson","field","getOrElse","schemaStruct","schemaFromString","transform","decode","fromA","encode","toI","schemaRecord","schemaParse","compose"],"sources":["../../src/UrlParams.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UrlParams.js","names":["Arr","_interopRequireWildcard","require","Either","_Function","Option","Schema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fromInput","input","parsed","fromInputNested","out","length","Array","isArray","keys","value","push","slice","join","exports","entries","Symbol","iterator","fromIterable","key","undefined","String","nested","k","v","schemaFromSelf","Tuple","annotations","identifier","empty","getAll","dual","self","reduce","acc","getFirst","map","findFirst","getLast","findLast","append","filter","setAll","toSet","appendAll","includes","remove","makeUrl","url","params","hash","urlInstance","URL","baseUrl","searchParams","_tag","right","left","toString","URLSearchParams","globalThis","location","origin","pathname","toRecord","create","curr","schemaJson","schema","options","parse","decodeUnknown","parseJson","field","getOrElse","schemaStruct","schemaFromString","transform","decode","fromA","encode","toI","schemaRecord","schemaParse","compose"],"sources":["../../src/UrlParams.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ import * as Option from "effect/Option";
|
|
|
10
10
|
import * as Scope from "effect/Scope";
|
|
11
11
|
import type * as Types from "effect/Types";
|
|
12
12
|
import * as FindMyWay from "find-my-way-ts";
|
|
13
|
-
import * as HttpApi from "./HttpApi.js";
|
|
13
|
+
import type * as HttpApi from "./HttpApi.js";
|
|
14
14
|
import type * as HttpApiGroup from "./HttpApiGroup.js";
|
|
15
15
|
import type * as HttpMethod from "./HttpMethod.js";
|
|
16
16
|
import { RouteContext } from "./HttpRouter.js";
|
|
@@ -42,6 +42,7 @@ export interface HttpRouter {
|
|
|
42
42
|
readonly uninterruptible?: boolean | undefined;
|
|
43
43
|
} | undefined) => Effect.Effect<void, never, Type.From<"Requires", Exclude<R, Provided>> | Type.From<"Error", E>>;
|
|
44
44
|
readonly addAll: <const Routes extends ReadonlyArray<Route<any, any>>>(routes: Routes) => Effect.Effect<void, never, Type.From<"Requires", Exclude<Route.Context<Routes[number]>, Provided>> | Type.From<"Error", Route.Error<Routes[number]>>>;
|
|
45
|
+
readonly addGlobalMiddleware: <E, R>(middleware: ((effect: Effect.Effect<HttpServerResponse.HttpServerResponse, unhandled>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R>) & (unhandled extends E ? unknown : "You cannot handle any errors")) => Effect.Effect<void, never, Type.From<"GlobalRequires", Exclude<R, GlobalProvided>> | Type.From<"GlobalError", Exclude<E, unhandled>>>;
|
|
45
46
|
readonly asHttpEffect: () => Effect.Effect<HttpServerResponse.HttpServerResponse, unknown, HttpServerRequest.HttpServerRequest | Scope.Scope>;
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
@@ -103,7 +104,7 @@ schemaPathParams } from "./HttpRouter.js";
|
|
|
103
104
|
* const MyRoute = Layer.scopedDiscard(Effect.gen(function*() {
|
|
104
105
|
* const router = yield* HttpLayerRouter.HttpRouter
|
|
105
106
|
*
|
|
106
|
-
* // then use `router.add` to add a route
|
|
107
|
+
* // then use `yield* router.add(...)` to add a route
|
|
107
108
|
* }))
|
|
108
109
|
* ```
|
|
109
110
|
*
|
|
@@ -111,6 +112,40 @@ schemaPathParams } from "./HttpRouter.js";
|
|
|
111
112
|
* @category HttpRouter
|
|
112
113
|
*/
|
|
113
114
|
export declare const use: <A, E, R>(f: (router: HttpRouter) => Effect.Effect<A, E, R>) => Layer.Layer<never, E, HttpRouter | Exclude<R, Scope.Scope>>;
|
|
115
|
+
/**
|
|
116
|
+
* Create a layer that adds a single route to the HTTP router.
|
|
117
|
+
*
|
|
118
|
+
* ```ts
|
|
119
|
+
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
120
|
+
* import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
|
|
121
|
+
*
|
|
122
|
+
* const Route = HttpLayerRouter.add("GET", "/hello", HttpServerResponse.text("Hello, World!"))
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
* @since 1.0.0
|
|
126
|
+
* @category HttpRouter
|
|
127
|
+
*/
|
|
128
|
+
export declare const add: <E, R>(method: "*" | "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS", path: PathInput, handler: Effect.Effect<HttpServerResponse.HttpServerResponse, E, R> | ((request: HttpServerRequest.HttpServerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R>), options?: {
|
|
129
|
+
readonly uninterruptible?: boolean | undefined;
|
|
130
|
+
}) => Layer.Layer<never, never, HttpRouter | Type.From<"Requires", Exclude<R, Provided>> | Type.From<"Error", E>>;
|
|
131
|
+
/**
|
|
132
|
+
* Create a layer that adds multiple routes to the HTTP router.
|
|
133
|
+
*
|
|
134
|
+
* ```ts
|
|
135
|
+
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
136
|
+
* import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
|
|
137
|
+
*
|
|
138
|
+
* const Routes = HttpLayerRouter.addAll([
|
|
139
|
+
* HttpLayerRouter.route("GET", "/hello", HttpServerResponse.text("Hello, World!"))
|
|
140
|
+
* ])
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @since 1.0.0
|
|
144
|
+
* @category HttpRouter
|
|
145
|
+
*/
|
|
146
|
+
export declare const addAll: <Routes extends ReadonlyArray<Route<any, any>>, EX = never, RX = never>(routes: Routes | Effect.Effect<Routes, EX, RX>, options?: {
|
|
147
|
+
readonly prefix?: string | undefined;
|
|
148
|
+
}) => Layer.Layer<never, EX, HttpRouter | Exclude<RX, Scope.Scope> | Type.From<"Requires", Exclude<Route.Context<Routes[number]>, Provided>> | Type.From<"Error", Route.Error<Routes[number]>>>;
|
|
114
149
|
/**
|
|
115
150
|
* @since 1.0.0
|
|
116
151
|
* @category HttpRouter
|
|
@@ -120,7 +155,7 @@ export declare const layer: Layer.Layer<HttpRouter>;
|
|
|
120
155
|
* @since 1.0.0
|
|
121
156
|
* @category HttpRouter
|
|
122
157
|
*/
|
|
123
|
-
export declare const toHttpEffect: <A, E, R>(appLayer: Layer.Layer<A, E, R>) => Effect.Effect<Effect.Effect<HttpServerResponse.HttpServerResponse, Type.Only<"Error", R> | HttpServerError.RouteNotFound, Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R>>, Type.Without<E>, Exclude<Type.Without<R>, HttpRouter> | Scope.Scope>;
|
|
158
|
+
export declare const toHttpEffect: <A, E, R>(appLayer: Layer.Layer<A, E, R>) => Effect.Effect<Effect.Effect<HttpServerResponse.HttpServerResponse, Type.Only<"Error", R> | Type.Only<"GlobalRequires", R> | HttpServerError.RouteNotFound, Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>>, Type.Without<E>, Exclude<Type.Without<R>, HttpRouter> | Scope.Scope>;
|
|
124
159
|
/**
|
|
125
160
|
* @since 1.0.0
|
|
126
161
|
* @category Route
|
|
@@ -244,6 +279,13 @@ export declare namespace Type {
|
|
|
244
279
|
* @category Request types
|
|
245
280
|
*/
|
|
246
281
|
export type Provided = HttpServerRequest.HttpServerRequest | Scope.Scope | HttpServerRequest.ParsedSearchParams | RouteContext;
|
|
282
|
+
/**
|
|
283
|
+
* Services provided to global middleware.
|
|
284
|
+
*
|
|
285
|
+
* @since 1.0.0
|
|
286
|
+
* @category Request types
|
|
287
|
+
*/
|
|
288
|
+
export type GlobalProvided = HttpServerRequest.HttpServerRequest | Scope.Scope;
|
|
247
289
|
/**
|
|
248
290
|
* @since 1.0.0
|
|
249
291
|
* @category Middleware
|
|
@@ -277,7 +319,7 @@ export interface Middleware<Config extends {
|
|
|
277
319
|
layerRequires: any;
|
|
278
320
|
}> {
|
|
279
321
|
readonly [MiddlewareTypeId]: Config;
|
|
280
|
-
readonly layer: [Config["requires"]] extends [never] ? Layer.Layer<Type.From<"Requires", Config["provides"]>, Config["layerError"], Config["layerRequires"] | Type.From<"Requires", Config["requires"]>> : "Need to .combine(middleware) that satisfy the missing request dependencies";
|
|
322
|
+
readonly layer: [Config["requires"]] extends [never] ? Layer.Layer<Type.From<"Requires", Config["provides"]>, Config["layerError"], Config["layerRequires"] | Type.From<"Requires", Config["requires"]> | Type.From<"Error", Config["error"]>> : "Need to .combine(middleware) that satisfy the missing request dependencies";
|
|
281
323
|
readonly combine: <Config2 extends {
|
|
282
324
|
provides: any;
|
|
283
325
|
handles: any;
|
|
@@ -297,6 +339,11 @@ export interface Middleware<Config extends {
|
|
|
297
339
|
/**
|
|
298
340
|
* Create a middleware layer that can be used to modify requests and responses.
|
|
299
341
|
*
|
|
342
|
+
* By default, the middleware only affects the routes that it is provided to.
|
|
343
|
+
*
|
|
344
|
+
* If you want to create a middleware that applies globally to all routes, pass
|
|
345
|
+
* the `global` option as `true`.
|
|
346
|
+
*
|
|
300
347
|
* ```ts
|
|
301
348
|
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
302
349
|
* import * as HttpMiddleware from "@effect/platform/HttpMiddleware"
|
|
@@ -366,7 +413,9 @@ export declare namespace middleware {
|
|
|
366
413
|
* @category Middleware
|
|
367
414
|
*/
|
|
368
415
|
type Make<Provides = never, Handles = never> = {
|
|
369
|
-
<E, R, EX, RX>(middleware: Effect.Effect<(effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Types.NoInfer<Handles | unhandled>, Types.NoInfer<Provides>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R> & (unhandled extends E ? unknown : "You must only handle the configured errors"), EX, RX
|
|
416
|
+
<E, R, EX, RX, const Global extends boolean = false>(middleware: Effect.Effect<(effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Types.NoInfer<Handles | unhandled>, Types.NoInfer<Provides>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R> & (unhandled extends E ? unknown : "You must only handle the configured errors"), EX, RX>, options?: {
|
|
417
|
+
readonly global?: Global | undefined;
|
|
418
|
+
}): Global extends true ? Layer.Layer<Type.From<"Requires", Provides> | Type.From<"Error", Handles> | Type.From<"GlobalRequires", Provides> | Type.From<"GlobalError", Handles>, EX, HttpRouter | Exclude<RX, Scope.Scope> | Type.From<"GlobalRequires", Exclude<R, GlobalProvided>> | Type.From<"GlobalError", Exclude<E, unhandled>>> : Middleware<{
|
|
370
419
|
provides: Provides;
|
|
371
420
|
handles: Handles;
|
|
372
421
|
error: Exclude<E, unhandled>;
|
|
@@ -374,7 +423,9 @@ export declare namespace middleware {
|
|
|
374
423
|
layerError: EX;
|
|
375
424
|
layerRequires: Exclude<RX, Scope.Scope>;
|
|
376
425
|
}>;
|
|
377
|
-
<E, R>(middleware: ((effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Types.NoInfer<Handles | unhandled>, Types.NoInfer<Provides>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R>) & (unhandled extends E ? unknown : "You must only handle the configured errors")
|
|
426
|
+
<E, R, const Global extends boolean = false>(middleware: ((effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Types.NoInfer<Handles | unhandled>, Types.NoInfer<Provides>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R>) & (unhandled extends E ? unknown : "You must only handle the configured errors"), options?: {
|
|
427
|
+
readonly global?: Global | undefined;
|
|
428
|
+
}): Global extends true ? Layer.Layer<Type.From<"Requires", Provides> | Type.From<"Error", Handles> | Type.From<"GlobalRequires", Provides> | Type.From<"GlobalError", Handles>, never, HttpRouter | Type.From<"GlobalRequires", Exclude<R, GlobalProvided>> | Type.From<"GlobalError", Exclude<E, unhandled>>> : Middleware<{
|
|
378
429
|
provides: Provides;
|
|
379
430
|
handles: Handles;
|
|
380
431
|
error: Exclude<E, unhandled>;
|
|
@@ -402,7 +453,25 @@ export declare const cors: (options?: {
|
|
|
402
453
|
readonly exposedHeaders?: ReadonlyArray<string> | undefined;
|
|
403
454
|
readonly maxAge?: number | undefined;
|
|
404
455
|
readonly credentials?: boolean | undefined;
|
|
405
|
-
} | undefined) => Layer.Layer<never>;
|
|
456
|
+
} | undefined) => Layer.Layer<never, never, HttpRouter>;
|
|
457
|
+
/**
|
|
458
|
+
* A middleware that disables the logger for some routes.
|
|
459
|
+
*
|
|
460
|
+
* ```ts
|
|
461
|
+
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
462
|
+
* import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
|
|
463
|
+
* import * as Layer from "effect/Layer"
|
|
464
|
+
*
|
|
465
|
+
* const Route = HttpLayerRouter.add("GET", "/hello", HttpServerResponse.text("Hello, World!")).pipe(
|
|
466
|
+
* // disable the logger for this route
|
|
467
|
+
* Layer.provide(HttpLayerRouter.disableLogger)
|
|
468
|
+
* )
|
|
469
|
+
* ```
|
|
470
|
+
*
|
|
471
|
+
* @since 1.0.0
|
|
472
|
+
* @category Middleware
|
|
473
|
+
*/
|
|
474
|
+
export declare const disableLogger: Layer.Layer<never>;
|
|
406
475
|
/**
|
|
407
476
|
* ```ts
|
|
408
477
|
* import * as NodeHttpServer from "@effect/platform-node/NodeHttpServer"
|
|
@@ -465,14 +534,14 @@ export declare const cors: (options?: {
|
|
|
465
534
|
*/
|
|
466
535
|
export declare const addHttpApi: <Id extends string, Groups extends HttpApiGroup.HttpApiGroup.Any, E, R>(api: HttpApi.HttpApi<Id, Groups, E, R>, options?: {
|
|
467
536
|
readonly openapiPath?: `/${string}` | undefined;
|
|
468
|
-
}) => Layer.Layer<
|
|
537
|
+
}) => Layer.Layer<never, never, HttpRouter | HttpApiGroup.HttpApiGroup.ToService<Id, Groups> | R | HttpApiGroup.HttpApiGroup.ErrorContext<Groups>>;
|
|
469
538
|
/**
|
|
470
539
|
* Serves the provided application layer as an HTTP server.
|
|
471
540
|
*
|
|
472
541
|
* @since 1.0.0
|
|
473
542
|
* @category Server
|
|
474
543
|
*/
|
|
475
|
-
export declare const serve: <A, E, R, HE, HR = Type.Only<"Requires", R>>(appLayer: Layer.Layer<A, E, R>, options?: {
|
|
544
|
+
export declare const serve: <A, E, R, HE, HR = Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>>(appLayer: Layer.Layer<A, E, R>, options?: {
|
|
476
545
|
readonly routerConfig?: Partial<FindMyWay.RouterConfig> | undefined;
|
|
477
546
|
readonly disableLogger?: boolean | undefined;
|
|
478
547
|
readonly disableListenLog?: boolean;
|
|
@@ -487,6 +556,6 @@ export declare const serve: <A, E, R, HE, HR = Type.Only<"Requires", R>>(appLaye
|
|
|
487
556
|
* Use HttpLayerRouter.middleware to create middleware that can modify the
|
|
488
557
|
* response.
|
|
489
558
|
*/
|
|
490
|
-
readonly middleware?: (effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Type.Only<"Error", R> | HttpServerError.RouteNotFound, Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, HE, HR>;
|
|
559
|
+
readonly middleware?: (effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Type.Only<"Error", R> | Type.Only<"GlobalError", R> | HttpServerError.RouteNotFound, Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, HE, HR>;
|
|
491
560
|
}) => Layer.Layer<never, Type.Without<E>, HttpServer.HttpServer | Exclude<Type.Without<R> | Exclude<HR, Provided>, HttpRouter>>;
|
|
492
561
|
//# sourceMappingURL=HttpLayerRouter.d.ts.map
|