@effect/platform 0.72.2 → 0.73.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.
- package/README.md +637 -0
- package/Url/package.json +6 -0
- package/dist/cjs/HttpApi.js.map +1 -1
- package/dist/cjs/HttpApiEndpoint.js.map +1 -1
- package/dist/cjs/HttpApiGroup.js.map +1 -1
- package/dist/cjs/OpenApi.js +82 -42
- package/dist/cjs/OpenApi.js.map +1 -1
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/Url.js +259 -0
- package/dist/cjs/Url.js.map +1 -0
- package/dist/cjs/index.js +3 -1
- package/dist/dts/HttpApi.d.ts +1 -2
- package/dist/dts/HttpApi.d.ts.map +1 -1
- package/dist/dts/HttpApiBuilder.d.ts +1 -1
- package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
- package/dist/dts/HttpApiEndpoint.d.ts +16 -8
- package/dist/dts/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/dts/HttpApiGroup.d.ts +1 -2
- package/dist/dts/HttpApiGroup.d.ts.map +1 -1
- package/dist/dts/OpenApi.d.ts +100 -110
- package/dist/dts/OpenApi.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +48 -0
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/Url.d.ts +591 -0
- package/dist/dts/Url.d.ts.map +1 -0
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/HttpApi.js.map +1 -1
- package/dist/esm/HttpApiEndpoint.js.map +1 -1
- package/dist/esm/HttpApiGroup.js.map +1 -1
- package/dist/esm/OpenApi.js +82 -41
- package/dist/esm/OpenApi.js.map +1 -1
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/Url.js +248 -0
- package/dist/esm/Url.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +10 -2
- package/src/HttpApi.ts +2 -3
- package/src/HttpApiBuilder.ts +1 -1
- package/src/HttpApiEndpoint.ts +22 -13
- package/src/HttpApiGroup.ts +2 -3
- package/src/OpenApi.ts +174 -181
- package/src/Runtime.ts +48 -0
- package/src/Url.ts +632 -0
- package/src/index.ts +5 -0
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Command","CommandExecutor","Cookies","Effectify","Error","Etag","FetchHttpClient","FileSystem","Headers","HttpApi","HttpApiBuilder","HttpApiClient","HttpApiEndpoint","HttpApiError","HttpApiGroup","HttpApiMiddleware","HttpApiScalar","HttpApiSchema","HttpApiSecurity","HttpApiSwagger","HttpApp","HttpBody","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpIncomingMessage","HttpMethod","HttpMiddleware","HttpMultiplex","HttpPlatform","HttpRouter","HttpServer","HttpServerError","HttpServerRequest","HttpServerRespondable","HttpServerResponse","HttpTraceContext","KeyValueStore","Multipart","OpenApi","OpenApiJsonSchema","Path","PlatformConfigProvider","PlatformLogger","Runtime","Socket","Template","Terminal","Transferable","UrlParams","Worker","WorkerError","WorkerRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Command","CommandExecutor","Cookies","Effectify","Error","Etag","FetchHttpClient","FileSystem","Headers","HttpApi","HttpApiBuilder","HttpApiClient","HttpApiEndpoint","HttpApiError","HttpApiGroup","HttpApiMiddleware","HttpApiScalar","HttpApiSchema","HttpApiSecurity","HttpApiSwagger","HttpApp","HttpBody","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpIncomingMessage","HttpMethod","HttpMiddleware","HttpMultiplex","HttpPlatform","HttpRouter","HttpServer","HttpServerError","HttpServerRequest","HttpServerRespondable","HttpServerResponse","HttpTraceContext","KeyValueStore","Multipart","OpenApi","OpenApiJsonSchema","Path","PlatformConfigProvider","PlatformLogger","Runtime","Socket","Template","Terminal","Transferable","Url","UrlParams","Worker","WorkerError","WorkerRunner"],"sources":["../../src/index.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.
|
|
3
|
+
"version": "0.73.0",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"multipasta": "^0.2.5"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"effect": "^3.12.
|
|
17
|
+
"effect": "^3.12.3"
|
|
18
18
|
},
|
|
19
19
|
"publishConfig": {
|
|
20
20
|
"provenance": true
|
|
@@ -279,6 +279,11 @@
|
|
|
279
279
|
"import": "./dist/esm/Transferable.js",
|
|
280
280
|
"default": "./dist/cjs/Transferable.js"
|
|
281
281
|
},
|
|
282
|
+
"./Url": {
|
|
283
|
+
"types": "./dist/dts/Url.d.ts",
|
|
284
|
+
"import": "./dist/esm/Url.js",
|
|
285
|
+
"default": "./dist/cjs/Url.js"
|
|
286
|
+
},
|
|
282
287
|
"./UrlParams": {
|
|
283
288
|
"types": "./dist/dts/UrlParams.d.ts",
|
|
284
289
|
"import": "./dist/esm/UrlParams.js",
|
|
@@ -452,6 +457,9 @@
|
|
|
452
457
|
"Transferable": [
|
|
453
458
|
"./dist/dts/Transferable.d.ts"
|
|
454
459
|
],
|
|
460
|
+
"Url": [
|
|
461
|
+
"./dist/dts/Url.d.ts"
|
|
462
|
+
],
|
|
455
463
|
"UrlParams": [
|
|
456
464
|
"./dist/dts/UrlParams.d.ts"
|
|
457
465
|
],
|
package/src/HttpApi.ts
CHANGED
|
@@ -15,7 +15,6 @@ import type * as HttpApiGroup from "./HttpApiGroup.js"
|
|
|
15
15
|
import type * as HttpApiMiddleware from "./HttpApiMiddleware.js"
|
|
16
16
|
import * as HttpApiSchema from "./HttpApiSchema.js"
|
|
17
17
|
import type { HttpMethod } from "./HttpMethod.js"
|
|
18
|
-
import type { PathInput } from "./HttpRouter.js"
|
|
19
18
|
|
|
20
19
|
/**
|
|
21
20
|
* @since 1.0.0
|
|
@@ -85,7 +84,7 @@ export interface HttpApi<
|
|
|
85
84
|
/**
|
|
86
85
|
* Prefix all endpoints in the `HttpApi`.
|
|
87
86
|
*/
|
|
88
|
-
prefix(prefix:
|
|
87
|
+
prefix(prefix: HttpApiEndpoint.PathSegment): HttpApi<Id, Groups, E, R>
|
|
89
88
|
/**
|
|
90
89
|
* Add a middleware to a `HttpApi`. It will be applied to all endpoints in the
|
|
91
90
|
* `HttpApi`.
|
|
@@ -194,7 +193,7 @@ const Proto = {
|
|
|
194
193
|
middlewares: this.middlewares
|
|
195
194
|
})
|
|
196
195
|
},
|
|
197
|
-
prefix(this: HttpApi.AnyWithProps, prefix:
|
|
196
|
+
prefix(this: HttpApi.AnyWithProps, prefix: HttpApiEndpoint.PathSegment) {
|
|
198
197
|
return makeProto({
|
|
199
198
|
identifier: this.identifier,
|
|
200
199
|
groups: Record.map(this.groups, (group) => group.prefix(prefix)),
|
package/src/HttpApiBuilder.ts
CHANGED
|
@@ -997,7 +997,7 @@ export const middlewareCors = (
|
|
|
997
997
|
*/
|
|
998
998
|
export const middlewareOpenApi = (
|
|
999
999
|
options?: {
|
|
1000
|
-
readonly path?:
|
|
1000
|
+
readonly path?: HttpApiEndpoint.PathSegment | undefined
|
|
1001
1001
|
} | undefined
|
|
1002
1002
|
): Layer.Layer<never, never, HttpApi.Api> =>
|
|
1003
1003
|
Router.use((router) =>
|
package/src/HttpApiEndpoint.ts
CHANGED
|
@@ -33,6 +33,15 @@ export type TypeId = typeof TypeId
|
|
|
33
33
|
*/
|
|
34
34
|
export const isHttpApiEndpoint = (u: unknown): u is HttpApiEndpoint<any, any, any> => Predicate.hasProperty(u, TypeId)
|
|
35
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Represents a path segment. A path segment is a string that represents a
|
|
38
|
+
* segment of a URL path.
|
|
39
|
+
*
|
|
40
|
+
* @since 1.0.0
|
|
41
|
+
* @category models
|
|
42
|
+
*/
|
|
43
|
+
export type PathSegment = `/${string}`
|
|
44
|
+
|
|
36
45
|
/**
|
|
37
46
|
* Represents an API endpoint. An API endpoint is mapped to a single route on
|
|
38
47
|
* the underlying `HttpRouter`.
|
|
@@ -54,7 +63,7 @@ export interface HttpApiEndpoint<
|
|
|
54
63
|
> extends Pipeable {
|
|
55
64
|
readonly [TypeId]: TypeId
|
|
56
65
|
readonly name: Name
|
|
57
|
-
readonly path:
|
|
66
|
+
readonly path: PathSegment
|
|
58
67
|
readonly method: Method
|
|
59
68
|
readonly pathSchema: Option.Option<Schema.Schema<Path, unknown, R>>
|
|
60
69
|
readonly urlParamsSchema: Option.Option<Schema.Schema<UrlParams, unknown, R>>
|
|
@@ -194,7 +203,7 @@ export interface HttpApiEndpoint<
|
|
|
194
203
|
* Add a prefix to the path of the endpoint.
|
|
195
204
|
*/
|
|
196
205
|
prefix(
|
|
197
|
-
prefix:
|
|
206
|
+
prefix: PathSegment
|
|
198
207
|
): HttpApiEndpoint<Name, Method, Path, UrlParams, Payload, Headers, Success, Error, R, RE>
|
|
199
208
|
|
|
200
209
|
/**
|
|
@@ -743,10 +752,10 @@ const Proto = {
|
|
|
743
752
|
headersSchema: Option.some(schema)
|
|
744
753
|
})
|
|
745
754
|
},
|
|
746
|
-
prefix(this: HttpApiEndpoint.AnyWithProps, prefix:
|
|
755
|
+
prefix(this: HttpApiEndpoint.AnyWithProps, prefix: PathSegment) {
|
|
747
756
|
return makeProto({
|
|
748
757
|
...this,
|
|
749
|
-
path: HttpRouter.prefixPath(this.path, prefix) as
|
|
758
|
+
path: HttpRouter.prefixPath(this.path, prefix) as PathSegment
|
|
750
759
|
})
|
|
751
760
|
},
|
|
752
761
|
middleware(this: HttpApiEndpoint.AnyWithProps, middleware: HttpApiMiddleware.TagClassAny) {
|
|
@@ -783,7 +792,7 @@ const makeProto = <
|
|
|
783
792
|
RE
|
|
784
793
|
>(options: {
|
|
785
794
|
readonly name: Name
|
|
786
|
-
readonly path:
|
|
795
|
+
readonly path: PathSegment
|
|
787
796
|
readonly method: Method
|
|
788
797
|
readonly pathSchema: Option.Option<Schema.Schema<Path, unknown, R>>
|
|
789
798
|
readonly urlParamsSchema: Option.Option<Schema.Schema<UrlParams, unknown, R>>
|
|
@@ -802,9 +811,9 @@ const makeProto = <
|
|
|
802
811
|
*/
|
|
803
812
|
export const make = <Method extends HttpMethod>(method: Method): {
|
|
804
813
|
<const Name extends string>(name: Name): HttpApiEndpoint.Constructor<Name, Method>
|
|
805
|
-
<const Name extends string>(name: Name, path:
|
|
814
|
+
<const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, Method>
|
|
806
815
|
} =>
|
|
807
|
-
((name: string, ...args: [
|
|
816
|
+
((name: string, ...args: [PathSegment]) => {
|
|
808
817
|
if (args.length === 1) {
|
|
809
818
|
return makeProto({
|
|
810
819
|
name,
|
|
@@ -821,7 +830,7 @@ export const make = <Method extends HttpMethod>(method: Method): {
|
|
|
821
830
|
})
|
|
822
831
|
}
|
|
823
832
|
return (segments: TemplateStringsArray, ...schemas: ReadonlyArray<HttpApiSchema.AnyString>) => {
|
|
824
|
-
let path = segments[0] as
|
|
833
|
+
let path = segments[0] as PathSegment
|
|
825
834
|
let pathSchema = Option.none<Schema.Schema.Any>()
|
|
826
835
|
if (schemas.length > 0) {
|
|
827
836
|
const obj: Record<string, Schema.Schema.Any> = {}
|
|
@@ -863,7 +872,7 @@ export const get: {
|
|
|
863
872
|
* @since 1.0.0
|
|
864
873
|
* @category constructors
|
|
865
874
|
*/
|
|
866
|
-
<const Name extends string>(name: Name, path:
|
|
875
|
+
<const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "GET">
|
|
867
876
|
} = make("GET")
|
|
868
877
|
|
|
869
878
|
/**
|
|
@@ -880,7 +889,7 @@ export const post: {
|
|
|
880
889
|
* @since 1.0.0
|
|
881
890
|
* @category constructors
|
|
882
891
|
*/
|
|
883
|
-
<const Name extends string>(name: Name, path:
|
|
892
|
+
<const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "POST">
|
|
884
893
|
} = make("POST")
|
|
885
894
|
|
|
886
895
|
/**
|
|
@@ -897,7 +906,7 @@ export const put: {
|
|
|
897
906
|
* @since 1.0.0
|
|
898
907
|
* @category constructors
|
|
899
908
|
*/
|
|
900
|
-
<const Name extends string>(name: Name, path:
|
|
909
|
+
<const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "PUT">
|
|
901
910
|
} = make("PUT")
|
|
902
911
|
|
|
903
912
|
/**
|
|
@@ -914,7 +923,7 @@ export const patch: {
|
|
|
914
923
|
* @since 1.0.0
|
|
915
924
|
* @category constructors
|
|
916
925
|
*/
|
|
917
|
-
<const Name extends string>(name: Name, path:
|
|
926
|
+
<const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "PATCH">
|
|
918
927
|
} = make(
|
|
919
928
|
"PATCH"
|
|
920
929
|
)
|
|
@@ -933,7 +942,7 @@ export const del: {
|
|
|
933
942
|
* @since 1.0.0
|
|
934
943
|
* @category constructors
|
|
935
944
|
*/
|
|
936
|
-
<const Name extends string>(name: Name, path:
|
|
945
|
+
<const Name extends string>(name: Name, path: PathSegment): HttpApiEndpoint<Name, "DELETE">
|
|
937
946
|
} = make(
|
|
938
947
|
"DELETE"
|
|
939
948
|
)
|
package/src/HttpApiGroup.ts
CHANGED
|
@@ -10,7 +10,6 @@ import type * as HttpApiEndpoint from "./HttpApiEndpoint.js"
|
|
|
10
10
|
import type { HttpApiDecodeError } from "./HttpApiError.js"
|
|
11
11
|
import type * as HttpApiMiddleware from "./HttpApiMiddleware.js"
|
|
12
12
|
import * as HttpApiSchema from "./HttpApiSchema.js"
|
|
13
|
-
import type { PathInput } from "./HttpRouter.js"
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* @since 1.0.0
|
|
@@ -77,7 +76,7 @@ export interface HttpApiGroup<
|
|
|
77
76
|
* Add a path prefix to all endpoints in an `HttpApiGroup`. Note that this will only
|
|
78
77
|
* add the prefix to the endpoints before this api is called.
|
|
79
78
|
*/
|
|
80
|
-
prefix(prefix:
|
|
79
|
+
prefix(prefix: HttpApiEndpoint.PathSegment): HttpApiGroup<Id, Endpoints, Error, R, TopLevel>
|
|
81
80
|
|
|
82
81
|
/**
|
|
83
82
|
* Add an `HttpApiMiddleware` to the `HttpApiGroup`.
|
|
@@ -315,7 +314,7 @@ const Proto = {
|
|
|
315
314
|
middlewares: this.middlewares
|
|
316
315
|
})
|
|
317
316
|
},
|
|
318
|
-
prefix(this: HttpApiGroup.AnyWithProps, prefix:
|
|
317
|
+
prefix(this: HttpApiGroup.AnyWithProps, prefix: HttpApiEndpoint.PathSegment) {
|
|
319
318
|
return makeProto({
|
|
320
319
|
identifier: this.identifier,
|
|
321
320
|
topLevel: this.topLevel,
|