@effect/platform 0.58.4 → 0.58.6
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/dist/cjs/HttpRouter.js +11 -1
- package/dist/cjs/HttpRouter.js.map +1 -1
- package/dist/cjs/UrlParams.js +5 -5
- package/dist/cjs/UrlParams.js.map +1 -1
- package/dist/cjs/internal/httpRouter.js +78 -2
- package/dist/cjs/internal/httpRouter.js.map +1 -1
- package/dist/dts/HttpRouter.d.ts +64 -2
- package/dist/dts/HttpRouter.d.ts.map +1 -1
- package/dist/dts/UrlParams.d.ts +10 -5
- package/dist/dts/UrlParams.d.ts.map +1 -1
- package/dist/dts/internal/httpRouter.d.ts.map +1 -1
- package/dist/esm/HttpRouter.js +10 -0
- package/dist/esm/HttpRouter.js.map +1 -1
- package/dist/esm/UrlParams.js +5 -5
- package/dist/esm/UrlParams.js.map +1 -1
- package/dist/esm/internal/httpRouter.js +76 -1
- package/dist/esm/internal/httpRouter.js.map +1 -1
- package/package.json +3 -3
- package/src/HttpRouter.ts +101 -6
- package/src/UrlParams.ts +36 -61
- package/src/internal/httpRouter.ts +101 -4
package/dist/esm/HttpRouter.js
CHANGED
|
@@ -64,6 +64,11 @@ export const makeRoute = internal.makeRoute;
|
|
|
64
64
|
* @category combinators
|
|
65
65
|
*/
|
|
66
66
|
export const prefixAll = internal.prefixAll;
|
|
67
|
+
/**
|
|
68
|
+
* @since 1.0.0
|
|
69
|
+
* @category combinators
|
|
70
|
+
*/
|
|
71
|
+
export const append = internal.append;
|
|
67
72
|
/**
|
|
68
73
|
* @since 1.0.0
|
|
69
74
|
* @category combinators
|
|
@@ -159,4 +164,9 @@ export const provideService = internal.provideService;
|
|
|
159
164
|
* @category combinators
|
|
160
165
|
*/
|
|
161
166
|
export const provideServiceEffect = internal.provideServiceEffect;
|
|
167
|
+
/**
|
|
168
|
+
* @since 1.0.0
|
|
169
|
+
* @category tags
|
|
170
|
+
*/
|
|
171
|
+
export const Tag = internal.Tag;
|
|
162
172
|
//# sourceMappingURL=HttpRouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpRouter.js","names":["internal","TypeId","RouteTypeId","RouteContextTypeId","RouteContext","params","schemaJson","schemaNoBody","schemaParams","schemaPathParams","empty","fromIterable","makeRoute","prefixAll","concat","mount","mountApp","route","all","get","post","patch","put","del","head","options","use","catchAll","catchAllCause","catchTag","catchTags","provideService","provideServiceEffect"],"sources":["../../src/HttpRouter.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"HttpRouter.js","names":["internal","TypeId","RouteTypeId","RouteContextTypeId","RouteContext","params","schemaJson","schemaNoBody","schemaParams","schemaPathParams","empty","fromIterable","makeRoute","prefixAll","append","concat","mount","mountApp","route","all","get","post","patch","put","del","head","options","use","catchAll","catchAllCause","catchTag","catchTags","provideService","provideServiceEffect","Tag"],"sources":["../../src/HttpRouter.ts"],"sourcesContent":[null],"mappings":"AAkBA,OAAO,KAAKA,QAAQ,MAAM,0BAA0B;AAEpD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAwGpD;;;;AAIA,OAAO,MAAMC,WAAW,GAAkBF,QAAQ,CAACE,WAAW;AAqC9D;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAkBH,QAAQ,CAACG,kBAAkB;AAkB5E;;;;AAIA,OAAO,MAAMC,YAAY,GAA4CJ,QAAQ,CAACI,YAAY;AAE1F;;;;AAIA,OAAO,MAAMC,MAAM,GAIfL,QAAQ,CAACK,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,UAAU,GAmBnBN,QAAQ,CAACM,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,YAAY,GAoBrBP,QAAQ,CAACO,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,YAAY,GAIvBR,QAAQ,CAACQ,YAAY;AAEvB;;;;AAIA,OAAO,MAAMC,gBAAgB,GAGqCT,QAAQ,CAACS,gBAAgB;AAE3F;;;;AAIA,OAAO,MAAMC,KAAK,GAAeV,QAAQ,CAACU,KAAK;AAE/C;;;;AAIA,OAAO,MAAMC,YAAY,GAGvBX,QAAQ,CAACW,YAAY;AAEvB;;;;AAIA,OAAO,MAAMC,SAAS,GAKyBZ,QAAQ,CAACY,SAAS;AAEjE;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBb,QAAQ,CAACa,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,MAAM,GAgBfd,QAAQ,CAACc,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,MAAM,GAQff,QAAQ,CAACe,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,KAAK,GAGdhB,QAAQ,CAACgB,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,QAAQ,GAsBjBjB,QAAQ,CAACiB,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,KAAK,GAgBdlB,QAAQ,CAACkB,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,GAAG,GAoBZnB,QAAQ,CAACmB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,GAAG,GAcZpB,QAAQ,CAACoB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,IAAI,GAcbrB,QAAQ,CAACqB,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,KAAK,GAcdtB,QAAQ,CAACsB,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,GAAG,GAcZvB,QAAQ,CAACuB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,GAAG,GAcZxB,QAAQ,CAACwB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,IAAI,GAcbzB,QAAQ,CAACyB,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,OAAO,GAchB1B,QAAQ,CAAC0B,OAAO;AAEpB;;;;AAIA,OAAO,MAAMC,GAAG,GAQZ3B,QAAQ,CAAC2B,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,QAAQ,GAQjB5B,QAAQ,CAAC4B,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,aAAa,GAQtB7B,QAAQ,CAAC6B,aAAa;AAE1B;;;;AAIA,OAAO,MAAMC,QAAQ,GAYjB9B,QAAQ,CAAC8B,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,SAAS,GA2ClB/B,QAAQ,CAAC+B,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,cAAc,GAUvBhC,QAAQ,CAACgC,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,oBAAoB,GAoB7BjC,QAAQ,CAACiC,oBAAoB;AAEjC;;;;AAIA,OAAO,MAAMC,GAAG,GAE+DlC,QAAQ,CAACkC,GAAG","ignoreList":[]}
|
package/dist/esm/UrlParams.js
CHANGED
|
@@ -9,16 +9,16 @@ import * as Option from "effect/Option";
|
|
|
9
9
|
*/
|
|
10
10
|
export const fromInput = input => {
|
|
11
11
|
if (Symbol.iterator in input) {
|
|
12
|
-
return Arr.fromIterable(input);
|
|
12
|
+
return Arr.fromIterable(input).map(([key, value]) => [key, String(value)]);
|
|
13
13
|
}
|
|
14
14
|
const out = [];
|
|
15
15
|
for (const [key, value] of Object.entries(input)) {
|
|
16
16
|
if (Array.isArray(value)) {
|
|
17
17
|
for (let i = 0; i < value.length; i++) {
|
|
18
|
-
out.push([key, value[i]]);
|
|
18
|
+
out.push([key, String(value[i])]);
|
|
19
19
|
}
|
|
20
20
|
} else {
|
|
21
|
-
out.push([key, value]);
|
|
21
|
+
out.push([key, String(value)]);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
return out;
|
|
@@ -59,7 +59,7 @@ export const getLast = /*#__PURE__*/dual(2, (self, key) => Option.map(Arr.findLa
|
|
|
59
59
|
* @since 1.0.0
|
|
60
60
|
* @category combinators
|
|
61
61
|
*/
|
|
62
|
-
export const set = /*#__PURE__*/dual(3, (self, key, value) => Arr.append(Arr.filter(self, ([k]) => k !== key), [key, value]));
|
|
62
|
+
export const set = /*#__PURE__*/dual(3, (self, key, value) => Arr.append(Arr.filter(self, ([k]) => k !== key), [key, String(value)]));
|
|
63
63
|
/**
|
|
64
64
|
* @since 1.0.0
|
|
65
65
|
* @category combinators
|
|
@@ -73,7 +73,7 @@ export const setAll = /*#__PURE__*/dual(2, (self, input) => {
|
|
|
73
73
|
* @since 1.0.0
|
|
74
74
|
* @category combinators
|
|
75
75
|
*/
|
|
76
|
-
export const append = /*#__PURE__*/dual(3, (self, key, value) => Arr.append(self, [key, value]));
|
|
76
|
+
export const append = /*#__PURE__*/dual(3, (self, key, value) => Arr.append(self, [key, String(value)]));
|
|
77
77
|
/**
|
|
78
78
|
* @since 1.0.0
|
|
79
79
|
* @category combinators
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlParams.js","names":["Schema","Arr","Either","dual","Option","fromInput","input","Symbol","iterator","fromIterable","
|
|
1
|
+
{"version":3,"file":"UrlParams.js","names":["Schema","Arr","Either","dual","Option","fromInput","input","Symbol","iterator","fromIterable","map","key","value","String","out","Object","entries","Array","isArray","i","length","push","schema","Tuple","annotations","identifier","empty","getAll","self","reduce","acc","k","getFirst","findFirst","getLast","findLast","set","append","filter","setAll","toSet","keys","appendAll","includes","remove","toString","URLSearchParams","makeUrl","url","params","hash","urlInstance","URL","baseUrl","undefined","searchParams","_tag","right","e","left","globalThis","location","origin","pathname","schemaJson","options","parse","decodeUnknown","parseJson","field","getOrElse"],"sources":["../../src/UrlParams.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import * as Effectable from "effect/Effectable";
|
|
|
6
6
|
import * as FiberRef from "effect/FiberRef";
|
|
7
7
|
import { dual } from "effect/Function";
|
|
8
8
|
import * as Inspectable from "effect/Inspectable";
|
|
9
|
+
import * as Layer from "effect/Layer";
|
|
9
10
|
import * as Option from "effect/Option";
|
|
10
11
|
import * as Predicate from "effect/Predicate";
|
|
11
12
|
import * as Tracer from "effect/Tracer";
|
|
@@ -198,7 +199,9 @@ export const empty = /*#__PURE__*/new RouterImpl( /*#__PURE__*/Chunk.empty(), /*
|
|
|
198
199
|
/** @internal */
|
|
199
200
|
export const fromIterable = routes => new RouterImpl(Chunk.fromIterable(routes), Chunk.empty());
|
|
200
201
|
/** @internal */
|
|
201
|
-
export const makeRoute = (method, path, handler,
|
|
202
|
+
export const makeRoute = (method, path, handler, options) => new RouteImpl(method, path, handler, options?.prefix ? Option.some(options.prefix) : Option.none(), options?.uninterruptible ?? false);
|
|
203
|
+
/** @internal */
|
|
204
|
+
export const append = /*#__PURE__*/dual(2, (self, route) => new RouterImpl(Chunk.append(self.routes, route), self.mounts));
|
|
202
205
|
/** @internal */
|
|
203
206
|
export const concat = /*#__PURE__*/dual(2, (self, that) => new RouterImpl(Chunk.appendAll(self.routes, that.routes), self.mounts));
|
|
204
207
|
const removeTrailingSlash = path => path.endsWith("/") ? path.slice(0, -1) : path;
|
|
@@ -242,4 +245,76 @@ export const catchTags = /*#__PURE__*/dual(2, (self, cases) => use(self, Effect.
|
|
|
242
245
|
export const provideService = /*#__PURE__*/dual(3, (self, tag, service) => use(self, Effect.provideService(tag, service)));
|
|
243
246
|
/* @internal */
|
|
244
247
|
export const provideServiceEffect = /*#__PURE__*/dual(3, (self, tag, effect) => use(self, Effect.provideServiceEffect(tag, effect)));
|
|
248
|
+
const makeService = () => {
|
|
249
|
+
let router = empty;
|
|
250
|
+
return {
|
|
251
|
+
addRoute(route) {
|
|
252
|
+
return Effect.sync(() => {
|
|
253
|
+
router = append(router, route);
|
|
254
|
+
});
|
|
255
|
+
},
|
|
256
|
+
all(path, handler, options) {
|
|
257
|
+
return Effect.sync(() => {
|
|
258
|
+
router = all(router, path, handler, options);
|
|
259
|
+
});
|
|
260
|
+
},
|
|
261
|
+
get(path, handler, options) {
|
|
262
|
+
return Effect.sync(() => {
|
|
263
|
+
router = get(router, path, handler, options);
|
|
264
|
+
});
|
|
265
|
+
},
|
|
266
|
+
post(path, handler, options) {
|
|
267
|
+
return Effect.sync(() => {
|
|
268
|
+
router = post(router, path, handler, options);
|
|
269
|
+
});
|
|
270
|
+
},
|
|
271
|
+
put(path, handler, options) {
|
|
272
|
+
return Effect.sync(() => {
|
|
273
|
+
router = put(router, path, handler, options);
|
|
274
|
+
});
|
|
275
|
+
},
|
|
276
|
+
patch(path, handler, options) {
|
|
277
|
+
return Effect.sync(() => {
|
|
278
|
+
router = patch(router, path, handler, options);
|
|
279
|
+
});
|
|
280
|
+
},
|
|
281
|
+
del(path, handler, options) {
|
|
282
|
+
return Effect.sync(() => {
|
|
283
|
+
router = del(router, path, handler, options);
|
|
284
|
+
});
|
|
285
|
+
},
|
|
286
|
+
head(path, handler, options) {
|
|
287
|
+
return Effect.sync(() => {
|
|
288
|
+
router = head(router, path, handler, options);
|
|
289
|
+
});
|
|
290
|
+
},
|
|
291
|
+
options(path, handler, opts) {
|
|
292
|
+
return Effect.sync(() => {
|
|
293
|
+
router = options(router, path, handler, opts);
|
|
294
|
+
});
|
|
295
|
+
},
|
|
296
|
+
router: Effect.sync(() => router)
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
/* @internal */
|
|
300
|
+
export const Tag = id => () => {
|
|
301
|
+
const Err = globalThis.Error;
|
|
302
|
+
const limit = Err.stackTraceLimit;
|
|
303
|
+
Err.stackTraceLimit = 2;
|
|
304
|
+
const creationError = new Err();
|
|
305
|
+
Err.stackTraceLimit = limit;
|
|
306
|
+
function TagClass() {}
|
|
307
|
+
Object.setPrototypeOf(TagClass, Object.getPrototypeOf(Context.GenericTag(id)));
|
|
308
|
+
TagClass.key = id;
|
|
309
|
+
Object.defineProperty(TagClass, "stack", {
|
|
310
|
+
get() {
|
|
311
|
+
return creationError.stack;
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
TagClass.Live = Layer.sync(TagClass, makeService);
|
|
315
|
+
TagClass.router = Effect.flatMap(TagClass, _ => _.router);
|
|
316
|
+
TagClass.use = f => Layer.effectDiscard(Effect.flatMap(TagClass, f)).pipe(Layer.provide(TagClass.Live));
|
|
317
|
+
TagClass.useScoped = f => Layer.scopedDiscard(Effect.flatMap(TagClass, f)).pipe(Layer.provide(TagClass.Live));
|
|
318
|
+
return TagClass;
|
|
319
|
+
};
|
|
245
320
|
//# sourceMappingURL=httpRouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpRouter.js","names":["Schema","Chunk","Context","Effect","Effectable","FiberRef","dual","Inspectable","Option","Predicate","Tracer","FindMyWay","Error","ServerRequest","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","GenericTag","isRouter","u","hasProperty","params","map","_","schemaJson","schema","options","parse","decodeUnknown","flatMap","context","request","get","HttpServerRequest","searchParams","ParsedSearchParams","routeContext","json","body","method","url","headers","cookies","pathParams","schemaNoBody","schemaParams","schemaPathParams","RouterImpl","StructuralClass","routes","mounts","constructor","httpApp","toHttpApp","commit","toJSON","_id","toString","format","NodeInspectSymbol","self","router","make","toReadonlyArray","path","app","RouteContextImpl","RouteImpl","includePrefix","none","some","mountsLen","length","forEach","route","all","on","withFiberRuntime","fiber","unsafeMake","Map","getFiberRef","currentContext","unsafeMap","unsafeGet","i","startsWith","set","key","sliceRequestUrl","locally","handler","result","find","undefined","fail","RouteNotFound","prefix","_tag","value","span","getOption","ParentSpan","attribute","uninterruptible","interruptible","prefexLen","modify","slice","Class","empty","fromIterable","makeRoute","concat","that","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","mount","mountApp","args","append","post","put","patch","del","head","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","provideService","tag","service","provideServiceEffect","effect"],"sources":["../../../src/internal/httpRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"httpRouter.js","names":["Schema","Chunk","Context","Effect","Effectable","FiberRef","dual","Inspectable","Layer","Option","Predicate","Tracer","FindMyWay","Error","ServerRequest","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","GenericTag","isRouter","u","hasProperty","params","map","_","schemaJson","schema","options","parse","decodeUnknown","flatMap","context","request","get","HttpServerRequest","searchParams","ParsedSearchParams","routeContext","json","body","method","url","headers","cookies","pathParams","schemaNoBody","schemaParams","schemaPathParams","RouterImpl","StructuralClass","routes","mounts","constructor","httpApp","toHttpApp","commit","toJSON","_id","toString","format","NodeInspectSymbol","self","router","make","toReadonlyArray","path","app","RouteContextImpl","RouteImpl","includePrefix","none","some","mountsLen","length","forEach","route","all","on","withFiberRuntime","fiber","unsafeMake","Map","getFiberRef","currentContext","unsafeMap","unsafeGet","i","startsWith","set","key","sliceRequestUrl","locally","handler","result","find","undefined","fail","RouteNotFound","prefix","_tag","value","span","getOption","ParentSpan","attribute","uninterruptible","interruptible","prefexLen","modify","slice","Class","empty","fromIterable","makeRoute","append","concat","that","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","mount","mountApp","args","post","put","patch","del","head","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","provideService","tag","service","provideServiceEffect","effect","makeService","addRoute","sync","opts","Tag","id","Err","globalThis","limit","stackTraceLimit","creationError","TagClass","Object","setPrototypeOf","getPrototypeOf","defineProperty","stack","Live","effectDiscard","pipe","provide","useScoped","scopedDiscard"],"sources":["../../../src/internal/httpRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.58.
|
|
3
|
+
"version": "0.58.6",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"path-browserify": "^1.0.1"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"@effect/schema": "^0.68.
|
|
19
|
-
"effect": "^3.4.
|
|
18
|
+
"@effect/schema": "^0.68.7",
|
|
19
|
+
"effect": "^3.4.1"
|
|
20
20
|
},
|
|
21
21
|
"publishConfig": {
|
|
22
22
|
"provenance": true
|
package/src/HttpRouter.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type * as Chunk from "effect/Chunk"
|
|
|
9
9
|
import type * as Context from "effect/Context"
|
|
10
10
|
import type * as Effect from "effect/Effect"
|
|
11
11
|
import type { Inspectable } from "effect/Inspectable"
|
|
12
|
+
import type * as Layer from "effect/Layer"
|
|
12
13
|
import type * as Option from "effect/Option"
|
|
13
14
|
import type * as Scope from "effect/Scope"
|
|
14
15
|
import type * as App from "./HttpApp.js"
|
|
@@ -54,10 +55,75 @@ export declare namespace HttpRouter {
|
|
|
54
55
|
/**
|
|
55
56
|
* @since 1.0.0
|
|
56
57
|
*/
|
|
57
|
-
export type
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
export type Provided = RouteContext | ServerRequest.HttpServerRequest | ServerRequest.ParsedSearchParams | Scope.Scope
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @since 1.0.0
|
|
62
|
+
*/
|
|
63
|
+
export type ExcludeProvided<A> = Exclude<A, Provided>
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @since 1.0.0
|
|
67
|
+
*/
|
|
68
|
+
export interface Service<E, R> {
|
|
69
|
+
readonly router: Effect.Effect<HttpRouter<E, R>>
|
|
70
|
+
|
|
71
|
+
readonly addRoute: (route: Route<E, R>) => Effect.Effect<void>
|
|
72
|
+
|
|
73
|
+
readonly all: (
|
|
74
|
+
path: PathInput,
|
|
75
|
+
handler: Route.Handler<E, R | Provided>,
|
|
76
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
77
|
+
) => Effect.Effect<void>
|
|
78
|
+
readonly get: (
|
|
79
|
+
path: PathInput,
|
|
80
|
+
handler: Route.Handler<E, R | Provided>,
|
|
81
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
82
|
+
) => Effect.Effect<void>
|
|
83
|
+
readonly post: (
|
|
84
|
+
path: PathInput,
|
|
85
|
+
handler: Route.Handler<E, R | Provided>,
|
|
86
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
87
|
+
) => Effect.Effect<void>
|
|
88
|
+
readonly put: (
|
|
89
|
+
path: PathInput,
|
|
90
|
+
handler: Route.Handler<E, R | Provided>,
|
|
91
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
92
|
+
) => Effect.Effect<void>
|
|
93
|
+
readonly patch: (
|
|
94
|
+
path: PathInput,
|
|
95
|
+
handler: Route.Handler<E, R | Provided>,
|
|
96
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
97
|
+
) => Effect.Effect<void>
|
|
98
|
+
readonly del: (
|
|
99
|
+
path: PathInput,
|
|
100
|
+
handler: Route.Handler<E, R | Provided>,
|
|
101
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
102
|
+
) => Effect.Effect<void>
|
|
103
|
+
readonly head: (
|
|
104
|
+
path: PathInput,
|
|
105
|
+
handler: Route.Handler<E, R | Provided>,
|
|
106
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
107
|
+
) => Effect.Effect<void>
|
|
108
|
+
readonly options: (
|
|
109
|
+
path: PathInput,
|
|
110
|
+
handler: Route.Handler<E, R | Provided>,
|
|
111
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
112
|
+
) => Effect.Effect<void>
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* @since 1.0.0
|
|
117
|
+
*/
|
|
118
|
+
export interface TagClass<Self, Name extends string, E, R> extends Context.Tag<Self, Service<E, R>> {
|
|
119
|
+
new(_: never): Context.TagClassShape<`@effect/platform/HttpRouter/${Name}`, Service<E, R>>
|
|
120
|
+
readonly Live: Layer.Layer<Self>
|
|
121
|
+
readonly router: Effect.Effect<HttpRouter<E, R>, never, Self>
|
|
122
|
+
readonly use: <XA, XE, XR>(f: (router: Service<E, R>) => Effect.Effect<XA, XE, XR>) => Layer.Layer<never, XE, XR>
|
|
123
|
+
readonly useScoped: <XA, XE, XR>(
|
|
124
|
+
f: (router: Service<E, R>) => Effect.Effect<XA, XE, XR>
|
|
125
|
+
) => Layer.Layer<never, XE, Exclude<XR, Scope.Scope>>
|
|
126
|
+
}
|
|
61
127
|
}
|
|
62
128
|
|
|
63
129
|
/**
|
|
@@ -232,8 +298,7 @@ export const makeRoute: <E, R>(
|
|
|
232
298
|
method: Method.HttpMethod,
|
|
233
299
|
path: PathInput,
|
|
234
300
|
handler: Route.Handler<E, R>,
|
|
235
|
-
prefix?:
|
|
236
|
-
uninterruptible?: boolean
|
|
301
|
+
options?: { readonly prefix?: string | undefined; readonly uninterruptible?: boolean | undefined } | undefined
|
|
237
302
|
) => Route<E, HttpRouter.ExcludeProvided<R>> = internal.makeRoute
|
|
238
303
|
|
|
239
304
|
/**
|
|
@@ -245,6 +310,28 @@ export const prefixAll: {
|
|
|
245
310
|
<E, R>(self: HttpRouter<E, R>, prefix: PathInput): HttpRouter<E, R>
|
|
246
311
|
} = internal.prefixAll
|
|
247
312
|
|
|
313
|
+
/**
|
|
314
|
+
* @since 1.0.0
|
|
315
|
+
* @category combinators
|
|
316
|
+
*/
|
|
317
|
+
export const append: {
|
|
318
|
+
<R1, E1>(
|
|
319
|
+
route: Route<E1, R1>
|
|
320
|
+
): <E, R>(
|
|
321
|
+
self: HttpRouter<E, R>
|
|
322
|
+
) => HttpRouter<
|
|
323
|
+
E1 | E,
|
|
324
|
+
R | HttpRouter.ExcludeProvided<R1>
|
|
325
|
+
>
|
|
326
|
+
<E, R, E1, R1>(
|
|
327
|
+
self: HttpRouter<E, R>,
|
|
328
|
+
route: Route<E1, R1>
|
|
329
|
+
): HttpRouter<
|
|
330
|
+
E | E1,
|
|
331
|
+
R | HttpRouter.ExcludeProvided<R1>
|
|
332
|
+
>
|
|
333
|
+
} = internal.append
|
|
334
|
+
|
|
248
335
|
/**
|
|
249
336
|
* @since 1.0.0
|
|
250
337
|
* @category combinators
|
|
@@ -634,3 +721,11 @@ export const provideServiceEffect: {
|
|
|
634
721
|
| Exclude<HttpRouter.ExcludeProvided<R1>, Context.Tag.Identifier<T>>
|
|
635
722
|
>
|
|
636
723
|
} = internal.provideServiceEffect
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* @since 1.0.0
|
|
727
|
+
* @category tags
|
|
728
|
+
*/
|
|
729
|
+
export const Tag: <const Name extends string>(
|
|
730
|
+
id: Name
|
|
731
|
+
) => <Self, E = never, R = never>() => HttpRouter.TagClass<Self, Name, E, R> = internal.Tag
|
package/src/UrlParams.ts
CHANGED
|
@@ -21,26 +21,32 @@ export interface UrlParams extends ReadonlyArray<readonly [string, string]> {}
|
|
|
21
21
|
* @category models
|
|
22
22
|
*/
|
|
23
23
|
export type Input =
|
|
24
|
-
| Readonly<Record<string,
|
|
25
|
-
| Iterable<readonly [string,
|
|
24
|
+
| Readonly<Record<string, Coercible | ReadonlyArray<Coercible>>>
|
|
25
|
+
| Iterable<readonly [string, Coercible]>
|
|
26
26
|
| URLSearchParams
|
|
27
27
|
|
|
28
|
+
/**
|
|
29
|
+
* @since 1.0.0
|
|
30
|
+
* @category models
|
|
31
|
+
*/
|
|
32
|
+
export type Coercible = string | number | bigint | boolean
|
|
33
|
+
|
|
28
34
|
/**
|
|
29
35
|
* @since 1.0.0
|
|
30
36
|
* @category constructors
|
|
31
37
|
*/
|
|
32
38
|
export const fromInput = (input: Input): UrlParams => {
|
|
33
39
|
if (Symbol.iterator in input) {
|
|
34
|
-
return Arr.fromIterable(input)
|
|
40
|
+
return Arr.fromIterable(input).map(([key, value]) => [key, String(value)])
|
|
35
41
|
}
|
|
36
42
|
const out: Array<readonly [string, string]> = []
|
|
37
43
|
for (const [key, value] of Object.entries(input)) {
|
|
38
44
|
if (Array.isArray(value)) {
|
|
39
45
|
for (let i = 0; i < value.length; i++) {
|
|
40
|
-
out.push([key, value[i]])
|
|
46
|
+
out.push([key, String(value[i])])
|
|
41
47
|
}
|
|
42
48
|
} else {
|
|
43
|
-
out.push([key, value
|
|
49
|
+
out.push([key, String(value)])
|
|
44
50
|
}
|
|
45
51
|
}
|
|
46
52
|
return out
|
|
@@ -67,16 +73,16 @@ export const empty: UrlParams = []
|
|
|
67
73
|
export const getAll: {
|
|
68
74
|
(key: string): (self: UrlParams) => ReadonlyArray<string>
|
|
69
75
|
(self: UrlParams, key: string): ReadonlyArray<string>
|
|
70
|
-
} = dual
|
|
71
|
-
|
|
72
|
-
(self: UrlParams, key: string)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
} = dual(
|
|
77
|
+
2,
|
|
78
|
+
(self: UrlParams, key: string): ReadonlyArray<string> =>
|
|
79
|
+
Arr.reduce(self, [] as Array<string>, (acc, [k, value]) => {
|
|
80
|
+
if (k === key) {
|
|
81
|
+
acc.push(value)
|
|
82
|
+
}
|
|
83
|
+
return acc
|
|
84
|
+
})
|
|
85
|
+
)
|
|
80
86
|
|
|
81
87
|
/**
|
|
82
88
|
* @since 1.0.0
|
|
@@ -85,15 +91,9 @@ export const getAll: {
|
|
|
85
91
|
export const getFirst: {
|
|
86
92
|
(key: string): (self: UrlParams) => Option.Option<string>
|
|
87
93
|
(self: UrlParams, key: string): Option.Option<string>
|
|
88
|
-
} = dual<
|
|
89
|
-
(key: string) => (self: UrlParams) => Option.Option<string>,
|
|
90
|
-
(self: UrlParams, key: string) => Option.Option<string>
|
|
91
|
-
>(2, (self, key) =>
|
|
94
|
+
} = dual(2, (self: UrlParams, key: string): Option.Option<string> =>
|
|
92
95
|
Option.map(
|
|
93
|
-
Arr.findFirst(
|
|
94
|
-
self,
|
|
95
|
-
([k]) => k === key
|
|
96
|
-
),
|
|
96
|
+
Arr.findFirst(self, ([k]) => k === key),
|
|
97
97
|
([, value]) => value
|
|
98
98
|
))
|
|
99
99
|
|
|
@@ -104,15 +104,9 @@ export const getFirst: {
|
|
|
104
104
|
export const getLast: {
|
|
105
105
|
(key: string): (self: UrlParams) => Option.Option<string>
|
|
106
106
|
(self: UrlParams, key: string): Option.Option<string>
|
|
107
|
-
} = dual<
|
|
108
|
-
(key: string) => (self: UrlParams) => Option.Option<string>,
|
|
109
|
-
(self: UrlParams, key: string) => Option.Option<string>
|
|
110
|
-
>(2, (self, key) =>
|
|
107
|
+
} = dual(2, (self: UrlParams, key: string): Option.Option<string> =>
|
|
111
108
|
Option.map(
|
|
112
|
-
Arr.findLast(
|
|
113
|
-
self,
|
|
114
|
-
([k]) => k === key
|
|
115
|
-
),
|
|
109
|
+
Arr.findLast(self, ([k]) => k === key),
|
|
116
110
|
([, value]) => value
|
|
117
111
|
))
|
|
118
112
|
|
|
@@ -121,15 +115,12 @@ export const getLast: {
|
|
|
121
115
|
* @category combinators
|
|
122
116
|
*/
|
|
123
117
|
export const set: {
|
|
124
|
-
(key: string, value:
|
|
125
|
-
(self: UrlParams, key: string, value:
|
|
126
|
-
} = dual
|
|
127
|
-
(key: string, value: string) => (self: UrlParams) => UrlParams,
|
|
128
|
-
(self: UrlParams, key: string, value: string) => UrlParams
|
|
129
|
-
>(3, (self, key, value) =>
|
|
118
|
+
(key: string, value: Coercible): (self: UrlParams) => UrlParams
|
|
119
|
+
(self: UrlParams, key: string, value: Coercible): UrlParams
|
|
120
|
+
} = dual(3, (self: UrlParams, key: string, value: Coercible): UrlParams =>
|
|
130
121
|
Arr.append(
|
|
131
122
|
Arr.filter(self, ([k]) => k !== key),
|
|
132
|
-
[key, value]
|
|
123
|
+
[key, String(value)]
|
|
133
124
|
))
|
|
134
125
|
|
|
135
126
|
/**
|
|
@@ -139,10 +130,7 @@ export const set: {
|
|
|
139
130
|
export const setAll: {
|
|
140
131
|
(input: Input): (self: UrlParams) => UrlParams
|
|
141
132
|
(self: UrlParams, input: Input): UrlParams
|
|
142
|
-
} = dual
|
|
143
|
-
(input: Input) => (self: UrlParams) => UrlParams,
|
|
144
|
-
(self: UrlParams, input: Input) => UrlParams
|
|
145
|
-
>(2, (self, input) => {
|
|
133
|
+
} = dual(2, (self: UrlParams, input: Input): UrlParams => {
|
|
146
134
|
const toSet = fromInput(input)
|
|
147
135
|
const keys = toSet.map(([k]) => k)
|
|
148
136
|
return Arr.appendAll(
|
|
@@ -156,15 +144,12 @@ export const setAll: {
|
|
|
156
144
|
* @category combinators
|
|
157
145
|
*/
|
|
158
146
|
export const append: {
|
|
159
|
-
(key: string, value:
|
|
160
|
-
(self: UrlParams, key: string, value:
|
|
161
|
-
} = dual
|
|
162
|
-
(key: string, value: string) => (self: UrlParams) => UrlParams,
|
|
163
|
-
(self: UrlParams, key: string, value: string) => UrlParams
|
|
164
|
-
>(3, (self, key, value) =>
|
|
147
|
+
(key: string, value: Coercible): (self: UrlParams) => UrlParams
|
|
148
|
+
(self: UrlParams, key: string, value: Coercible): UrlParams
|
|
149
|
+
} = dual(3, (self: UrlParams, key: string, value: Coercible): UrlParams =>
|
|
165
150
|
Arr.append(
|
|
166
151
|
self,
|
|
167
|
-
[key, value]
|
|
152
|
+
[key, String(value)]
|
|
168
153
|
))
|
|
169
154
|
|
|
170
155
|
/**
|
|
@@ -174,14 +159,7 @@ export const append: {
|
|
|
174
159
|
export const appendAll: {
|
|
175
160
|
(input: Input): (self: UrlParams) => UrlParams
|
|
176
161
|
(self: UrlParams, input: Input): UrlParams
|
|
177
|
-
} = dual
|
|
178
|
-
(input: Input) => (self: UrlParams) => UrlParams,
|
|
179
|
-
(self: UrlParams, input: Input) => UrlParams
|
|
180
|
-
>(2, (self, input) =>
|
|
181
|
-
Arr.appendAll(
|
|
182
|
-
self,
|
|
183
|
-
fromInput(input)
|
|
184
|
-
))
|
|
162
|
+
} = dual(2, (self: UrlParams, input: Input): UrlParams => Arr.appendAll(self, fromInput(input)))
|
|
185
163
|
|
|
186
164
|
/**
|
|
187
165
|
* @since 1.0.0
|
|
@@ -190,10 +168,7 @@ export const appendAll: {
|
|
|
190
168
|
export const remove: {
|
|
191
169
|
(key: string): (self: UrlParams) => UrlParams
|
|
192
170
|
(self: UrlParams, key: string): UrlParams
|
|
193
|
-
} = dual
|
|
194
|
-
(key: string) => (self: UrlParams) => UrlParams,
|
|
195
|
-
(self: UrlParams, key: string) => UrlParams
|
|
196
|
-
>(2, (self, key) => Arr.filter(self, ([k]) => k !== key))
|
|
171
|
+
} = dual(2, (self: UrlParams, key: string): UrlParams => Arr.filter(self, ([k]) => k !== key))
|
|
197
172
|
|
|
198
173
|
/**
|
|
199
174
|
* @since 1.0.0
|