@effect/platform 0.68.5 → 0.69.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.
Files changed (229) hide show
  1. package/HttpApiMiddleware/package.json +6 -0
  2. package/README.md +306 -233
  3. package/dist/cjs/Headers.js +7 -2
  4. package/dist/cjs/Headers.js.map +1 -1
  5. package/dist/cjs/HttpApi.js +90 -78
  6. package/dist/cjs/HttpApi.js.map +1 -1
  7. package/dist/cjs/HttpApiBuilder.js +243 -255
  8. package/dist/cjs/HttpApiBuilder.js.map +1 -1
  9. package/dist/cjs/HttpApiClient.js +64 -59
  10. package/dist/cjs/HttpApiClient.js.map +1 -1
  11. package/dist/cjs/HttpApiEndpoint.js +74 -109
  12. package/dist/cjs/HttpApiEndpoint.js.map +1 -1
  13. package/dist/cjs/HttpApiError.js +3 -4
  14. package/dist/cjs/HttpApiError.js.map +1 -1
  15. package/dist/cjs/HttpApiGroup.js +103 -100
  16. package/dist/cjs/HttpApiGroup.js.map +1 -1
  17. package/dist/cjs/HttpApiMiddleware.js +67 -0
  18. package/dist/cjs/HttpApiMiddleware.js.map +1 -0
  19. package/dist/cjs/HttpApiSchema.js +33 -7
  20. package/dist/cjs/HttpApiSchema.js.map +1 -1
  21. package/dist/cjs/HttpApiSecurity.js +2 -2
  22. package/dist/cjs/HttpApiSecurity.js.map +1 -1
  23. package/dist/cjs/HttpApiSwagger.js +3 -1
  24. package/dist/cjs/HttpApiSwagger.js.map +1 -1
  25. package/dist/cjs/HttpBody.js.map +1 -1
  26. package/dist/cjs/HttpIncomingMessage.js +5 -1
  27. package/dist/cjs/HttpIncomingMessage.js.map +1 -1
  28. package/dist/cjs/HttpServer.js +12 -1
  29. package/dist/cjs/HttpServer.js.map +1 -1
  30. package/dist/cjs/HttpServerRespondable.js +1 -1
  31. package/dist/cjs/HttpServerRespondable.js.map +1 -1
  32. package/dist/cjs/OpenApi.js +102 -63
  33. package/dist/cjs/OpenApi.js.map +1 -1
  34. package/dist/cjs/OpenApiJsonSchema.js +58 -47
  35. package/dist/cjs/OpenApiJsonSchema.js.map +1 -1
  36. package/dist/cjs/Transferable.js +2 -2
  37. package/dist/cjs/Transferable.js.map +1 -1
  38. package/dist/cjs/UrlParams.js +5 -1
  39. package/dist/cjs/UrlParams.js.map +1 -1
  40. package/dist/cjs/Worker.js.map +1 -1
  41. package/dist/cjs/WorkerError.js +1 -5
  42. package/dist/cjs/WorkerError.js.map +1 -1
  43. package/dist/cjs/WorkerRunner.js.map +1 -1
  44. package/dist/cjs/index.js +3 -1
  45. package/dist/cjs/internal/httpBody.js +1 -1
  46. package/dist/cjs/internal/httpBody.js.map +1 -1
  47. package/dist/cjs/internal/httpClientRequest.js.map +1 -1
  48. package/dist/cjs/internal/httpClientResponse.js +1 -1
  49. package/dist/cjs/internal/httpClientResponse.js.map +1 -1
  50. package/dist/cjs/internal/httpRouter.js +1 -1
  51. package/dist/cjs/internal/httpRouter.js.map +1 -1
  52. package/dist/cjs/internal/httpServer.js +7 -1
  53. package/dist/cjs/internal/httpServer.js.map +1 -1
  54. package/dist/cjs/internal/httpServerRequest.js +1 -1
  55. package/dist/cjs/internal/httpServerRequest.js.map +1 -1
  56. package/dist/cjs/internal/httpServerResponse.js.map +1 -1
  57. package/dist/cjs/internal/keyValueStore.js +1 -1
  58. package/dist/cjs/internal/keyValueStore.js.map +1 -1
  59. package/dist/cjs/internal/multipart.js +1 -1
  60. package/dist/cjs/internal/multipart.js.map +1 -1
  61. package/dist/cjs/internal/worker.js +6 -7
  62. package/dist/cjs/internal/worker.js.map +1 -1
  63. package/dist/cjs/internal/workerRunner.js +3 -4
  64. package/dist/cjs/internal/workerRunner.js.map +1 -1
  65. package/dist/dts/Headers.d.ts +4 -6
  66. package/dist/dts/Headers.d.ts.map +1 -1
  67. package/dist/dts/HttpApi.d.ts +64 -140
  68. package/dist/dts/HttpApi.d.ts.map +1 -1
  69. package/dist/dts/HttpApiBuilder.d.ts +84 -167
  70. package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
  71. package/dist/dts/HttpApiClient.d.ts +34 -11
  72. package/dist/dts/HttpApiClient.d.ts.map +1 -1
  73. package/dist/dts/HttpApiEndpoint.d.ts +119 -273
  74. package/dist/dts/HttpApiEndpoint.d.ts.map +1 -1
  75. package/dist/dts/HttpApiError.d.ts +5 -2
  76. package/dist/dts/HttpApiError.d.ts.map +1 -1
  77. package/dist/dts/HttpApiGroup.d.ts +96 -194
  78. package/dist/dts/HttpApiGroup.d.ts.map +1 -1
  79. package/dist/dts/HttpApiMiddleware.d.ts +231 -0
  80. package/dist/dts/HttpApiMiddleware.d.ts.map +1 -0
  81. package/dist/dts/HttpApiSchema.d.ts +6 -2
  82. package/dist/dts/HttpApiSchema.d.ts.map +1 -1
  83. package/dist/dts/HttpApiSecurity.d.ts +1 -1
  84. package/dist/dts/HttpApiSecurity.d.ts.map +1 -1
  85. package/dist/dts/HttpApiSwagger.d.ts +2 -2
  86. package/dist/dts/HttpApiSwagger.d.ts.map +1 -1
  87. package/dist/dts/HttpBody.d.ts +2 -2
  88. package/dist/dts/HttpBody.d.ts.map +1 -1
  89. package/dist/dts/HttpClientRequest.d.ts +2 -2
  90. package/dist/dts/HttpClientRequest.d.ts.map +1 -1
  91. package/dist/dts/HttpClientResponse.d.ts +3 -3
  92. package/dist/dts/HttpClientResponse.d.ts.map +1 -1
  93. package/dist/dts/HttpIncomingMessage.d.ts +3 -3
  94. package/dist/dts/HttpIncomingMessage.d.ts.map +1 -1
  95. package/dist/dts/HttpRouter.d.ts +3 -3
  96. package/dist/dts/HttpRouter.d.ts.map +1 -1
  97. package/dist/dts/HttpServer.d.ts +15 -0
  98. package/dist/dts/HttpServer.d.ts.map +1 -1
  99. package/dist/dts/HttpServerRequest.d.ts +3 -3
  100. package/dist/dts/HttpServerRequest.d.ts.map +1 -1
  101. package/dist/dts/HttpServerRespondable.d.ts.map +1 -1
  102. package/dist/dts/HttpServerResponse.d.ts +2 -2
  103. package/dist/dts/HttpServerResponse.d.ts.map +1 -1
  104. package/dist/dts/KeyValueStore.d.ts +2 -2
  105. package/dist/dts/KeyValueStore.d.ts.map +1 -1
  106. package/dist/dts/Multipart.d.ts +3 -3
  107. package/dist/dts/Multipart.d.ts.map +1 -1
  108. package/dist/dts/OpenApi.d.ts +17 -39
  109. package/dist/dts/OpenApi.d.ts.map +1 -1
  110. package/dist/dts/OpenApiJsonSchema.d.ts +10 -5
  111. package/dist/dts/OpenApiJsonSchema.d.ts.map +1 -1
  112. package/dist/dts/Transferable.d.ts +4 -1
  113. package/dist/dts/Transferable.d.ts.map +1 -1
  114. package/dist/dts/UrlParams.d.ts +3 -6
  115. package/dist/dts/UrlParams.d.ts.map +1 -1
  116. package/dist/dts/Worker.d.ts +7 -8
  117. package/dist/dts/Worker.d.ts.map +1 -1
  118. package/dist/dts/WorkerError.d.ts +1 -1
  119. package/dist/dts/WorkerError.d.ts.map +1 -1
  120. package/dist/dts/WorkerRunner.d.ts +2 -3
  121. package/dist/dts/WorkerRunner.d.ts.map +1 -1
  122. package/dist/dts/index.d.ts +4 -0
  123. package/dist/dts/index.d.ts.map +1 -1
  124. package/dist/dts/internal/httpRouter.d.ts.map +1 -1
  125. package/dist/esm/Headers.js +7 -2
  126. package/dist/esm/Headers.js.map +1 -1
  127. package/dist/esm/HttpApi.js +88 -77
  128. package/dist/esm/HttpApi.js.map +1 -1
  129. package/dist/esm/HttpApiBuilder.js +236 -244
  130. package/dist/esm/HttpApiBuilder.js.map +1 -1
  131. package/dist/esm/HttpApiClient.js +64 -59
  132. package/dist/esm/HttpApiClient.js.map +1 -1
  133. package/dist/esm/HttpApiEndpoint.js +73 -106
  134. package/dist/esm/HttpApiEndpoint.js.map +1 -1
  135. package/dist/esm/HttpApiError.js +3 -4
  136. package/dist/esm/HttpApiError.js.map +1 -1
  137. package/dist/esm/HttpApiGroup.js +102 -99
  138. package/dist/esm/HttpApiGroup.js.map +1 -1
  139. package/dist/esm/HttpApiMiddleware.js +56 -0
  140. package/dist/esm/HttpApiMiddleware.js.map +1 -0
  141. package/dist/esm/HttpApiSchema.js +31 -5
  142. package/dist/esm/HttpApiSchema.js.map +1 -1
  143. package/dist/esm/HttpApiSecurity.js +1 -1
  144. package/dist/esm/HttpApiSecurity.js.map +1 -1
  145. package/dist/esm/HttpApiSwagger.js +4 -2
  146. package/dist/esm/HttpApiSwagger.js.map +1 -1
  147. package/dist/esm/HttpBody.js.map +1 -1
  148. package/dist/esm/HttpIncomingMessage.js +4 -1
  149. package/dist/esm/HttpIncomingMessage.js.map +1 -1
  150. package/dist/esm/HttpServer.js +11 -0
  151. package/dist/esm/HttpServer.js.map +1 -1
  152. package/dist/esm/HttpServerRespondable.js +1 -1
  153. package/dist/esm/HttpServerRespondable.js.map +1 -1
  154. package/dist/esm/OpenApi.js +97 -59
  155. package/dist/esm/OpenApi.js.map +1 -1
  156. package/dist/esm/OpenApiJsonSchema.js +56 -46
  157. package/dist/esm/OpenApiJsonSchema.js.map +1 -1
  158. package/dist/esm/Transferable.js +2 -2
  159. package/dist/esm/Transferable.js.map +1 -1
  160. package/dist/esm/UrlParams.js +4 -1
  161. package/dist/esm/UrlParams.js.map +1 -1
  162. package/dist/esm/Worker.js.map +1 -1
  163. package/dist/esm/WorkerError.js +1 -4
  164. package/dist/esm/WorkerError.js.map +1 -1
  165. package/dist/esm/WorkerRunner.js.map +1 -1
  166. package/dist/esm/index.js +4 -0
  167. package/dist/esm/index.js.map +1 -1
  168. package/dist/esm/internal/httpBody.js +1 -1
  169. package/dist/esm/internal/httpBody.js.map +1 -1
  170. package/dist/esm/internal/httpClientRequest.js.map +1 -1
  171. package/dist/esm/internal/httpClientResponse.js +1 -1
  172. package/dist/esm/internal/httpClientResponse.js.map +1 -1
  173. package/dist/esm/internal/httpRouter.js +1 -1
  174. package/dist/esm/internal/httpRouter.js.map +1 -1
  175. package/dist/esm/internal/httpServer.js +6 -0
  176. package/dist/esm/internal/httpServer.js.map +1 -1
  177. package/dist/esm/internal/httpServerRequest.js +1 -1
  178. package/dist/esm/internal/httpServerRequest.js.map +1 -1
  179. package/dist/esm/internal/httpServerResponse.js.map +1 -1
  180. package/dist/esm/internal/keyValueStore.js +1 -1
  181. package/dist/esm/internal/keyValueStore.js.map +1 -1
  182. package/dist/esm/internal/multipart.js +1 -1
  183. package/dist/esm/internal/multipart.js.map +1 -1
  184. package/dist/esm/internal/worker.js +6 -7
  185. package/dist/esm/internal/worker.js.map +1 -1
  186. package/dist/esm/internal/workerRunner.js +3 -4
  187. package/dist/esm/internal/workerRunner.js.map +1 -1
  188. package/package.json +10 -3
  189. package/src/Headers.ts +12 -4
  190. package/src/HttpApi.ts +183 -258
  191. package/src/HttpApiBuilder.ts +532 -481
  192. package/src/HttpApiClient.ts +163 -112
  193. package/src/HttpApiEndpoint.ts +443 -564
  194. package/src/HttpApiError.ts +4 -6
  195. package/src/HttpApiGroup.ts +277 -325
  196. package/src/HttpApiMiddleware.ts +318 -0
  197. package/src/HttpApiSchema.ts +39 -2
  198. package/src/HttpApiSecurity.ts +1 -1
  199. package/src/HttpApiSwagger.ts +3 -3
  200. package/src/HttpBody.ts +2 -2
  201. package/src/HttpClientRequest.ts +2 -2
  202. package/src/HttpClientResponse.ts +3 -3
  203. package/src/HttpIncomingMessage.ts +3 -3
  204. package/src/HttpRouter.ts +3 -3
  205. package/src/HttpServer.ts +21 -0
  206. package/src/HttpServerRequest.ts +3 -3
  207. package/src/HttpServerRespondable.ts +1 -1
  208. package/src/HttpServerResponse.ts +2 -2
  209. package/src/KeyValueStore.ts +2 -2
  210. package/src/Multipart.ts +3 -3
  211. package/src/OpenApi.ts +113 -104
  212. package/src/OpenApiJsonSchema.ts +67 -53
  213. package/src/Transferable.ts +2 -2
  214. package/src/UrlParams.ts +3 -3
  215. package/src/Worker.ts +7 -8
  216. package/src/WorkerError.ts +1 -1
  217. package/src/WorkerRunner.ts +2 -3
  218. package/src/index.ts +5 -0
  219. package/src/internal/httpBody.ts +2 -2
  220. package/src/internal/httpClientRequest.ts +2 -2
  221. package/src/internal/httpClientResponse.ts +3 -3
  222. package/src/internal/httpRouter.ts +2 -2
  223. package/src/internal/httpServer.ts +13 -0
  224. package/src/internal/httpServerRequest.ts +3 -3
  225. package/src/internal/httpServerResponse.ts +2 -2
  226. package/src/internal/keyValueStore.ts +1 -1
  227. package/src/internal/multipart.ts +3 -3
  228. package/src/internal/worker.ts +6 -7
  229. package/src/internal/workerRunner.ts +3 -4
@@ -1,13 +1,12 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import * as Schema from "@effect/schema/Schema";
5
- import * as Chunk from "effect/Chunk";
6
4
  import * as Context from "effect/Context";
7
- import { dual } from "effect/Function";
5
+ import * as HashMap from "effect/HashMap";
6
+ import * as HashSet from "effect/HashSet";
8
7
  import { pipeArguments } from "effect/Pipeable";
9
8
  import * as Predicate from "effect/Predicate";
10
- import * as HttpApiEndpoint from "./HttpApiEndpoint.js";
9
+ import * as Schema from "effect/Schema";
11
10
  import * as HttpApiSchema from "./HttpApiSchema.js";
12
11
  /**
13
12
  * @since 1.0.0
@@ -21,6 +20,100 @@ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpApiGroup");
21
20
  export const isHttpApiGroup = u => Predicate.hasProperty(u, TypeId);
22
21
  const Proto = {
23
22
  [TypeId]: TypeId,
23
+ add(endpoint) {
24
+ return makeProto({
25
+ identifier: this.identifier,
26
+ topLevel: this.topLevel,
27
+ endpoints: HashMap.set(this.endpoints, endpoint.name, endpoint),
28
+ errorSchema: this.errorSchema,
29
+ annotations: this.annotations,
30
+ middlewares: this.middlewares
31
+ });
32
+ },
33
+ addError(schema, annotations) {
34
+ return makeProto({
35
+ identifier: this.identifier,
36
+ topLevel: this.topLevel,
37
+ endpoints: this.endpoints,
38
+ errorSchema: HttpApiSchema.UnionUnify(this.errorSchema, schema.annotations(HttpApiSchema.annotations({
39
+ status: annotations?.status ?? HttpApiSchema.getStatusError(schema)
40
+ }))),
41
+ annotations: this.annotations,
42
+ middlewares: this.middlewares
43
+ });
44
+ },
45
+ prefix(prefix) {
46
+ return makeProto({
47
+ identifier: this.identifier,
48
+ topLevel: this.topLevel,
49
+ endpoints: HashMap.map(this.endpoints, endpoint => endpoint.prefix(prefix)),
50
+ errorSchema: this.errorSchema,
51
+ annotations: this.annotations,
52
+ middlewares: this.middlewares
53
+ });
54
+ },
55
+ middleware(middleware) {
56
+ return makeProto({
57
+ identifier: this.identifier,
58
+ topLevel: this.topLevel,
59
+ endpoints: this.endpoints,
60
+ errorSchema: HttpApiSchema.UnionUnify(this.errorSchema, middleware.failure.annotations(HttpApiSchema.annotations({
61
+ status: HttpApiSchema.getStatusError(middleware.failure)
62
+ }))),
63
+ annotations: this.annotations,
64
+ middlewares: HashSet.add(this.middlewares, middleware)
65
+ });
66
+ },
67
+ middlewareEndpoints(middleware) {
68
+ return makeProto({
69
+ identifier: this.identifier,
70
+ topLevel: this.topLevel,
71
+ endpoints: HashMap.map(this.endpoints, endpoint => endpoint.middleware(middleware)),
72
+ errorSchema: this.errorSchema,
73
+ annotations: this.annotations,
74
+ middlewares: this.middlewares
75
+ });
76
+ },
77
+ annotateContext(context) {
78
+ return makeProto({
79
+ identifier: this.identifier,
80
+ topLevel: this.topLevel,
81
+ endpoints: this.endpoints,
82
+ errorSchema: this.errorSchema,
83
+ annotations: Context.merge(this.annotations, context),
84
+ middlewares: this.middlewares
85
+ });
86
+ },
87
+ annotate(tag, value) {
88
+ return makeProto({
89
+ identifier: this.identifier,
90
+ topLevel: this.topLevel,
91
+ endpoints: this.endpoints,
92
+ errorSchema: this.errorSchema,
93
+ annotations: Context.add(this.annotations, tag, value),
94
+ middlewares: this.middlewares
95
+ });
96
+ },
97
+ annotateEndpointsContext(context) {
98
+ return makeProto({
99
+ identifier: this.identifier,
100
+ topLevel: this.topLevel,
101
+ endpoints: HashMap.map(this.endpoints, endpoint => endpoint.annotateContext(context)),
102
+ errorSchema: this.errorSchema,
103
+ annotations: this.annotations,
104
+ middlewares: this.middlewares
105
+ });
106
+ },
107
+ annotateEndpoints(tag, value) {
108
+ return makeProto({
109
+ identifier: this.identifier,
110
+ topLevel: this.topLevel,
111
+ endpoints: HashMap.map(this.endpoints, endpoint => endpoint.annotate(tag, value)),
112
+ errorSchema: this.errorSchema,
113
+ annotations: this.annotations,
114
+ middlewares: this.middlewares
115
+ });
116
+ },
24
117
  pipe() {
25
118
  return pipeArguments(this, arguments);
26
119
  }
@@ -39,102 +132,12 @@ const makeProto = options => {
39
132
  * @since 1.0.0
40
133
  * @category constructors
41
134
  */
42
- export const make = identifier => makeProto({
135
+ export const make = (identifier, options) => makeProto({
43
136
  identifier,
44
- endpoints: Chunk.empty(),
137
+ topLevel: options?.topLevel ?? false,
138
+ endpoints: HashMap.empty(),
45
139
  errorSchema: Schema.Never,
46
- annotations: Context.empty()
140
+ annotations: Context.empty(),
141
+ middlewares: HashSet.empty()
47
142
  });
48
- /**
49
- * Add an `HttpApiEndpoint` to an `HttpApiGroup`.
50
- *
51
- * @since 1.0.0
52
- * @category endpoints
53
- */
54
- export const add = /*#__PURE__*/dual(2, (self, endpoint) => makeProto({
55
- identifier: self.identifier,
56
- errorSchema: self.errorSchema,
57
- annotations: self.annotations,
58
- endpoints: Chunk.append(self.endpoints, endpoint)
59
- }));
60
- /**
61
- * Add an error schema to an `HttpApiGroup`, which is shared by all endpoints in the
62
- * group.
63
- *
64
- * @since 1.0.0
65
- * @category errors
66
- */
67
- export const addError = /*#__PURE__*/dual(args => isHttpApiGroup(args[0]), (self, schema, annotations) => makeProto({
68
- identifier: self.identifier,
69
- annotations: self.annotations,
70
- endpoints: self.endpoints,
71
- errorSchema: HttpApiSchema.UnionUnify(self.errorSchema, schema.annotations(HttpApiSchema.annotations({
72
- status: annotations?.status ?? HttpApiSchema.getStatusError(schema)
73
- })))
74
- }));
75
- /**
76
- * Add a path prefix to all endpoints in an `HttpApiGroup`. Note that this will only
77
- * add the prefix to the endpoints before this api is called.
78
- *
79
- * @since 1.0.0
80
- * @category endpoints
81
- */
82
- export const prefix = /*#__PURE__*/dual(2, (self, prefix) => makeProto({
83
- identifier: self.identifier,
84
- errorSchema: self.errorSchema,
85
- annotations: self.annotations,
86
- endpoints: Chunk.map(self.endpoints, HttpApiEndpoint.prefix(prefix))
87
- }));
88
- /**
89
- * Merge the annotations of an `HttpApiGroup` with a new context.
90
- *
91
- * @since 1.0.0
92
- * @category annotations
93
- */
94
- export const annotateMerge = /*#__PURE__*/dual(2, (self, context) => makeProto({
95
- ...self,
96
- annotations: Context.merge(self.annotations, context)
97
- }));
98
- /**
99
- * Add an annotation to an `HttpApiGroup`.
100
- *
101
- * @since 1.0.0
102
- * @category annotations
103
- */
104
- export const annotate = /*#__PURE__*/dual(3, (self, tag, value) => makeProto({
105
- identifier: self.identifier,
106
- errorSchema: self.errorSchema,
107
- endpoints: self.endpoints,
108
- annotations: Context.add(self.annotations, tag, value)
109
- }));
110
- /**
111
- * For each endpoint in an `HttpApiGroup`, update the annotations with a new
112
- * context.
113
- *
114
- * Note that this will only update the annotations before this api is called.
115
- *
116
- * @since 1.0.0
117
- * @category annotations
118
- */
119
- export const annotateEndpointsMerge = /*#__PURE__*/dual(2, (self, context) => makeProto({
120
- identifier: self.identifier,
121
- errorSchema: self.errorSchema,
122
- annotations: self.annotations,
123
- endpoints: Chunk.map(self.endpoints, HttpApiEndpoint.annotateMerge(context))
124
- }));
125
- /**
126
- * For each endpoint in an `HttpApiGroup`, add an annotation.
127
- *
128
- * Note that this will only add the annotation to the endpoints before this api
129
- * is called.
130
- *
131
- * @since 1.0.0
132
- * @category annotations
133
- */
134
- export const annotateEndpoints = /*#__PURE__*/dual(3, (self, tag, value) => makeProto({
135
- identifier: self.identifier,
136
- errorSchema: self.errorSchema,
137
- annotations: self.annotations,
138
- endpoints: Chunk.map(self.endpoints, HttpApiEndpoint.annotate(tag, value))
139
- }));
140
143
  //# sourceMappingURL=HttpApiGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiGroup.js","names":["Schema","Chunk","Context","dual","pipeArguments","Predicate","HttpApiEndpoint","HttpApiSchema","TypeId","Symbol","for","isHttpApiGroup","u","hasProperty","Proto","pipe","arguments","makeProto","options","HttpApiGroup","Object","setPrototypeOf","assign","make","identifier","endpoints","empty","errorSchema","Never","annotations","add","self","endpoint","append","addError","args","schema","UnionUnify","status","getStatusError","prefix","map","annotateMerge","context","merge","annotate","tag","value","annotateEndpointsMerge","annotateEndpoints"],"sources":["../../src/HttpApiGroup.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiGroup.js","names":["Context","HashMap","HashSet","pipeArguments","Predicate","Schema","HttpApiSchema","TypeId","Symbol","for","isHttpApiGroup","u","hasProperty","Proto","add","endpoint","makeProto","identifier","topLevel","endpoints","set","name","errorSchema","annotations","middlewares","addError","schema","UnionUnify","status","getStatusError","prefix","map","middleware","failure","middlewareEndpoints","annotateContext","context","merge","annotate","tag","value","annotateEndpointsContext","annotateEndpoints","pipe","arguments","options","HttpApiGroup","Object","setPrototypeOf","assign","make","empty","Never"],"sources":["../../src/HttpApiGroup.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,SAAwBC,aAAa,QAAQ,iBAAiB;AAC9D,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAIvC,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAGnD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,+BAA+B,CAAC;AAQhF;;;;AAIA,OAAO,MAAMC,cAAc,GAAIC,CAAU,IAA4BP,SAAS,CAACQ,WAAW,CAACD,CAAC,EAAEJ,MAAM,CAAC;AAuOrG,MAAMM,KAAK,GAAG;EACZ,CAACN,MAAM,GAAGA,MAAM;EAChBO,GAAGA,CAA0FC,QAAW;IACtG,OAAOC,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAElB,OAAO,CAACmB,GAAG,CAAC,IAAI,CAACD,SAAS,EAAEJ,QAAQ,CAACM,IAAI,EAAEN,QAAQ,CAAC;MAC/DO,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDC,QAAQA,CAENC,MAA8B,EAC9BH,WAA0C;IAE1C,OAAOP,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBG,WAAW,EAAEhB,aAAa,CAACqB,UAAU,CACnC,IAAI,CAACL,WAAW,EAChBI,MAAM,CAACH,WAAW,CAACjB,aAAa,CAACiB,WAAW,CAAC;QAC3CK,MAAM,EAAEL,WAAW,EAAEK,MAAM,IAAItB,aAAa,CAACuB,cAAc,CAACH,MAAM;OACnE,CAAC,CAAC,CACJ;MACDH,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDM,MAAMA,CAAkCA,MAAiB;IACvD,OAAOd,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAElB,OAAO,CAAC8B,GAAG,CAAC,IAAI,CAACZ,SAAS,EAAGJ,QAAQ,IAAKA,QAAQ,CAACe,MAAM,CAACA,MAAM,CAAC,CAAC;MAC7ER,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDQ,UAAUA,CAAkCA,UAAyC;IACnF,OAAOhB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBG,WAAW,EAAEhB,aAAa,CAACqB,UAAU,CACnC,IAAI,CAACL,WAAW,EAChBU,UAAU,CAACC,OAAO,CAACV,WAAW,CAACjB,aAAa,CAACiB,WAAW,CAAC;QACvDK,MAAM,EAAEtB,aAAa,CAACuB,cAAc,CAACG,UAAU,CAACC,OAAO;OACxD,CAAQ,CAAC,CACX;MACDV,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAEtB,OAAO,CAACY,GAAG,CAAC,IAAI,CAACU,WAAW,EAAEQ,UAAU;KACtD,CAAC;EACJ,CAAC;EACDE,mBAAmBA,CAAkCF,UAAyC;IAC5F,OAAOhB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAElB,OAAO,CAAC8B,GAAG,CAAC,IAAI,CAACZ,SAAS,EAAGJ,QAAQ,IAAKA,QAAQ,CAACiB,UAAU,CAACA,UAAU,CAAC,CAAC;MACrFV,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDW,eAAeA,CAAqCC,OAA2B;IAC7E,OAAOpB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBG,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAEvB,OAAO,CAACqC,KAAK,CAAC,IAAI,CAACd,WAAW,EAAEa,OAAO,CAAC;MACrDZ,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDc,QAAQA,CAAwCC,GAAsB,EAAEC,KAAQ;IAC9E,OAAOxB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBG,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAEvB,OAAO,CAACc,GAAG,CAAC,IAAI,CAACS,WAAW,EAAEgB,GAAG,EAAEC,KAAK,CAAC;MACtDhB,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDiB,wBAAwBA,CAAqCL,OAA2B;IACtF,OAAOpB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAElB,OAAO,CAAC8B,GAAG,CAAC,IAAI,CAACZ,SAAS,EAAGJ,QAAQ,IAAKA,QAAQ,CAACoB,eAAe,CAACC,OAAO,CAAC,CAAC;MACvFd,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDkB,iBAAiBA,CAAwCH,GAAsB,EAAEC,KAAQ;IACvF,OAAOxB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAElB,OAAO,CAAC8B,GAAG,CAAC,IAAI,CAACZ,SAAS,EAAGJ,QAAQ,IAAKA,QAAQ,CAACuB,QAAQ,CAACC,GAAG,EAAEC,KAAK,CAAC,CAAC;MACnFlB,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDmB,IAAIA,CAAA;IACF,OAAOxC,aAAa,CAAC,IAAI,EAAEyC,SAAS,CAAC;EACvC;CACD;AAED,MAAM5B,SAAS,GAMb6B,OAOD,IAAqD;EACpD,SAASC,YAAYA,CAAA,GAAI;EACzBC,MAAM,CAACC,cAAc,CAACF,YAAY,EAAEjC,KAAK,CAAC;EAC1C,OAAOkC,MAAM,CAACE,MAAM,CAACH,YAAY,EAAED,OAAO,CAAQ;AACpD,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAMK,IAAI,GAAGA,CAAyEjC,UAAc,EAAE4B,OAE5G,KACC7B,SAAS,CAAC;EACRC,UAAU;EACVC,QAAQ,EAAE2B,OAAO,EAAE3B,QAAQ,IAAI,KAAY;EAC3CC,SAAS,EAAElB,OAAO,CAACkD,KAAK,EAAE;EAC1B7B,WAAW,EAAEjB,MAAM,CAAC+C,KAAY;EAChC7B,WAAW,EAAEvB,OAAO,CAACmD,KAAK,EAAE;EAC5B3B,WAAW,EAAEtB,OAAO,CAACiD,KAAK;CAC3B,CAAC","ignoreList":[]}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Context from "effect/Context";
5
+ import { hasProperty } from "effect/Predicate";
6
+ import * as Schema from "effect/Schema";
7
+ /**
8
+ * @since 1.0.0
9
+ * @category type ids
10
+ */
11
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpApiMiddleware");
12
+ /**
13
+ * @since 1.0.0
14
+ * @category type ids
15
+ */
16
+ export const SecurityTypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpApiMiddleware/Security");
17
+ /**
18
+ * @since 1.0.0
19
+ * @category guards
20
+ */
21
+ export const isSecurity = u => hasProperty(u, SecurityTypeId);
22
+ /**
23
+ * @since 1.0.0
24
+ * @category tags
25
+ */
26
+ export const Tag = () => (id, options) => {
27
+ const Err = globalThis.Error;
28
+ const limit = Err.stackTraceLimit;
29
+ Err.stackTraceLimit = 2;
30
+ const creationError = new Err();
31
+ Err.stackTraceLimit = limit;
32
+ function TagClass() {}
33
+ const TagClass_ = TagClass;
34
+ Object.setPrototypeOf(TagClass, Object.getPrototypeOf(Context.GenericTag(id)));
35
+ TagClass.key = id;
36
+ Object.defineProperty(TagClass, "stack", {
37
+ get() {
38
+ return creationError.stack;
39
+ }
40
+ });
41
+ TagClass_[TypeId] = TypeId;
42
+ TagClass_.failure = options?.optional === true || options?.failure === undefined ? Schema.Never : options.failure;
43
+ if (options?.provides) {
44
+ TagClass_.provides = options.provides;
45
+ }
46
+ TagClass_.optional = options?.optional ?? false;
47
+ if (options?.security) {
48
+ if (Object.keys(options.security).length === 0) {
49
+ throw new Error("HttpApiMiddleware.Tag: security object must not be empty");
50
+ }
51
+ TagClass_[SecurityTypeId] = SecurityTypeId;
52
+ TagClass_.security = options.security;
53
+ }
54
+ return TagClass;
55
+ };
56
+ //# sourceMappingURL=HttpApiMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpApiMiddleware.js","names":["Context","hasProperty","Schema","TypeId","Symbol","for","SecurityTypeId","isSecurity","u","Tag","id","options","Err","globalThis","Error","limit","stackTraceLimit","creationError","TagClass","TagClass_","Object","setPrototypeOf","getPrototypeOf","GenericTag","key","defineProperty","get","stack","failure","optional","undefined","Never","provides","security","keys","length"],"sources":["../../src/HttpApiMiddleware.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AAEzC,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAKvC;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAC;AAQrF;;;;AAIA,OAAO,MAAMC,cAAc,gBAAkBF,MAAM,CAACC,GAAG,CAAC,6CAA6C,CAAC;AAQtG;;;;AAIA,OAAO,MAAME,UAAU,GAAIC,CAAc,IAA+BP,WAAW,CAACO,CAAC,EAAEF,cAAc,CAAC;AAgOtG;;;;AAIA,OAAO,MAAMG,GAAG,GAAGA,CAAA,KAYnB,CACEC,EAAU,EACVC,OAKC,KACC;EACF,MAAMC,GAAG,GAAGC,UAAU,CAACC,KAAY;EACnC,MAAMC,KAAK,GAAGH,GAAG,CAACI,eAAe;EACjCJ,GAAG,CAACI,eAAe,GAAG,CAAC;EACvB,MAAMC,aAAa,GAAG,IAAIL,GAAG,EAAE;EAC/BA,GAAG,CAACI,eAAe,GAAGD,KAAK;EAE3B,SAASG,QAAQA,CAAA,GAAI;EACrB,MAAMC,SAAS,GAAGD,QAA+C;EACjEE,MAAM,CAACC,cAAc,CAACH,QAAQ,EAAEE,MAAM,CAACE,cAAc,CAACtB,OAAO,CAACuB,UAAU,CAAYb,EAAE,CAAC,CAAC,CAAC;EACzFQ,QAAQ,CAACM,GAAG,GAAGd,EAAE;EACjBU,MAAM,CAACK,cAAc,CAACP,QAAQ,EAAE,OAAO,EAAE;IACvCQ,GAAGA,CAAA;MACD,OAAOT,aAAa,CAACU,KAAK;IAC5B;GACD,CAAC;EACFR,SAAS,CAAChB,MAAM,CAAC,GAAGA,MAAM;EAC1BgB,SAAS,CAACS,OAAO,GAAGjB,OAAO,EAAEkB,QAAQ,KAAK,IAAI,IAAIlB,OAAO,EAAEiB,OAAO,KAAKE,SAAS,GAAG5B,MAAM,CAAC6B,KAAK,GAAGpB,OAAO,CAACiB,OAAO;EACjH,IAAIjB,OAAO,EAAEqB,QAAQ,EAAE;IACrBb,SAAS,CAACa,QAAQ,GAAGrB,OAAO,CAACqB,QAAQ;EACvC;EACAb,SAAS,CAACU,QAAQ,GAAGlB,OAAO,EAAEkB,QAAQ,IAAI,KAAK;EAC/C,IAAIlB,OAAO,EAAEsB,QAAQ,EAAE;IACrB,IAAIb,MAAM,CAACc,IAAI,CAACvB,OAAO,CAACsB,QAAQ,CAAC,CAACE,MAAM,KAAK,CAAC,EAAE;MAC9C,MAAM,IAAIrB,KAAK,CAAC,0DAA0D,CAAC;IAC7E;IACAK,SAAS,CAACb,cAAc,CAAC,GAAGA,cAAc;IAC1Ca,SAAS,CAACc,QAAQ,GAAGtB,OAAO,CAACsB,QAAQ;EACvC;EACA,OAAOf,QAAe;AACxB,CAAC","ignoreList":[]}
@@ -1,9 +1,7 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as AST from "@effect/schema/AST";
5
- import * as Schema from "@effect/schema/Schema";
6
1
  import { constVoid, dual } from "effect/Function";
2
+ import { globalValue } from "effect/GlobalValue";
3
+ import * as Schema from "effect/Schema";
4
+ import * as AST from "effect/SchemaAST";
7
5
  import * as Struct from "effect/Struct";
8
6
  /**
9
7
  * @since 1.0.0
@@ -214,4 +212,32 @@ export const Uint8Array = options => withEncoding(Schema.Uint8ArrayFromSelf, {
214
212
  kind: "Uint8Array",
215
213
  ...options
216
214
  });
215
+ const astCache = /*#__PURE__*/globalValue("@effect/platform/HttpApiSchema/astCache", () => new WeakMap());
216
+ /**
217
+ * @since 1.0.0
218
+ */
219
+ export const deunionize = (schemas, schema) => {
220
+ if (astCache.has(schema.ast)) {
221
+ schemas.add(astCache.get(schema.ast));
222
+ return;
223
+ }
224
+ const ast = schema.ast;
225
+ if (ast._tag === "Union") {
226
+ for (const astType of ast.types) {
227
+ if (astCache.has(astType)) {
228
+ schemas.add(astCache.get(astType));
229
+ continue;
230
+ }
231
+ const memberSchema = Schema.make(AST.annotations(astType, {
232
+ ...ast.annotations,
233
+ ...astType.annotations
234
+ }));
235
+ astCache.set(astType, memberSchema);
236
+ schemas.add(memberSchema);
237
+ }
238
+ } else {
239
+ astCache.set(ast, schema);
240
+ schemas.add(schema);
241
+ }
242
+ };
217
243
  //# sourceMappingURL=HttpApiSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiSchema.js","names":["AST","Schema","constVoid","dual","Struct","AnnotationMultipart","Symbol","for","AnnotationStatus","AnnotationEmptyDecodeable","AnnotationEncoding","mergedAnnotations","ast","_tag","to","annotations","getAnnotation","key","getStatus","defaultStatus","getEmptyDecodeable","getMultipart","encodingJson","kind","contentType","getEncoding","result","omit","status","undefined","isVoid","from","f","getStatusSuccessAST","getStatusSuccess","self","getStatusErrorAST","getStatusError","UnionUnify","that","selfTypes","types","thatTypes","make","Union","Empty","Void","asEmpty","options","transform","typeSchema","decode","encode","Created","Accepted","NoContent","MultipartTypeId","Multipart","defaultContentType","encoding","withEncoding","jsonSchema","type","format","Text","String","Uint8Array","Uint8ArrayFromSelf"],"sources":["../../src/HttpApiSchema.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,GAAG,MAAM,oBAAoB;AACzC,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAG/C,SAASC,SAAS,EAAEC,IAAI,QAAQ,iBAAiB;AACjD,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC;;;;AAIA,OAAO,MAAMC,mBAAmB,gBAAkBC,MAAM,CAACC,GAAG,CAC1D,oDAAoD,CACrD;AAED;;;;AAIA,OAAO,MAAMC,gBAAgB,gBAAkBF,MAAM,CAACC,GAAG,CAAC,iDAAiD,CAAC;AAE5G;;;;AAIA,OAAO,MAAME,yBAAyB,gBAAkBH,MAAM,CAACC,GAAG,CAChE,0DAA0D,CAC3D;AAED;;;;AAIA,OAAO,MAAMG,kBAAkB,gBAAkBJ,MAAM,CAACC,GAAG,CAAC,mDAAmD,CAAC;AAEhH,MAAMI,iBAAiB,GAAIC,GAAY,IACrCA,GAAG,CAACC,IAAI,KAAK,gBAAgB,GAC3B;EACE,GAAGD,GAAG,CAACE,EAAE,CAACC,WAAW;EACrB,GAAGH,GAAG,CAACG;CACR,GACDH,GAAG,CAACG,WAAW;AAEnB,MAAMC,aAAa,GAAGA,CAAIJ,GAAY,EAAEK,GAAW,KAAoBN,iBAAiB,CAACC,GAAG,CAAC,CAACK,GAAG,CAAM;AAEvG;;;;AAIA,OAAO,MAAMC,SAAS,GAAGA,CAACN,GAAY,EAAEO,aAAqB,KAC3DH,aAAa,CAASJ,GAAG,EAAEJ,gBAAgB,CAAC,IAAIW,aAAa;AAE/D;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAIR,GAAY,IAC7CI,aAAa,CAAUJ,GAAG,EAAEH,yBAAyB,CAAC,IAAI,KAAK;AAEjE;;;;AAIA,OAAO,MAAMY,YAAY,GAAIT,GAAY,IAAcI,aAAa,CAAUJ,GAAG,EAAEP,mBAAmB,CAAC,IAAI,KAAK;AAEhH,MAAMiB,YAAY,GAAa;EAC7BC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE;CACd;AAED;;;;AAIA,OAAO,MAAMC,WAAW,GAAIb,GAAY,IAAeI,aAAa,CAAWJ,GAAG,EAAEF,kBAAkB,CAAC,IAAIY,YAAY;AAEvH;;;;AAIA,OAAO,MAAMP,WAAW,GACtBA,WAEC,IAC+B;EAChC,MAAMW,MAAM,GAA4BtB,MAAM,CAACuB,IAAI,CAACZ,WAAW,EAAE,QAAQ,CAAC;EAC1E,IAAIA,WAAW,CAACa,MAAM,KAAKC,SAAS,EAAE;IACpCH,MAAM,CAAClB,gBAAgB,CAAC,GAAGO,WAAW,CAACa,MAAM;EAC/C;EACA,OAAOF,MAAM;AACf,CAAC;AAED;;;;AAIA,OAAO,MAAMI,MAAM,GAAIlB,GAAY,IAAa;EAC9C,QAAQA,GAAG,CAACC,IAAI;IACd,KAAK,aAAa;MAAE;QAClB,OAAO,IAAI;MACb;IACA,KAAK,gBAAgB;MAAE;QACrB,OAAOiB,MAAM,CAAClB,GAAG,CAACmB,IAAI,CAAC;MACzB;IACA,KAAK,SAAS;MAAE;QACd,OAAOD,MAAM,CAAClB,GAAG,CAACoB,CAAC,EAAE,CAAC;MACxB;IACA;MAAS;QACP,OAAO,KAAK;MACd;EACF;AACF,CAAC;AAED;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAIrB,GAAY,IAAaM,SAAS,CAACN,GAAG,EAAEkB,MAAM,CAAClB,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAEpG;;;;AAIA,OAAO,MAAMsB,gBAAgB,GAAiCC,IAAO,IAAaF,mBAAmB,CAACE,IAAI,CAACvB,GAAG,CAAC;AAE/G;;;;AAIA,OAAO,MAAMwB,iBAAiB,GAAIxB,GAAY,IAAaM,SAAS,CAACN,GAAG,EAAE,GAAG,CAAC;AAE9E;;;;AAIA,OAAO,MAAMyB,cAAc,GAAiCF,IAAO,IAAaC,iBAAiB,CAACD,IAAI,CAACvB,GAAG,CAAC;AAE3G;;;AAGA,OAAO,MAAM0B,UAAU,GAAGA,CAA2DH,IAAO,EAAEI,IAAO,KAIjG;EACF,MAAMC,SAAS,GAAGL,IAAI,CAACvB,GAAG,CAACC,IAAI,KAAK,OAAO,GAAGsB,IAAI,CAACvB,GAAG,CAAC6B,KAAK,GAAG,CAACN,IAAI,CAACvB,GAAG,CAAC;EACzE,MAAM8B,SAAS,GAAGH,IAAI,CAAC3B,GAAG,CAACC,IAAI,KAAK,OAAO,GAAG0B,IAAI,CAAC3B,GAAG,CAAC6B,KAAK,GAAG,CAACF,IAAI,CAAC3B,GAAG,CAAC;EACzE,OAAOX,MAAM,CAAC0C,IAAI,CAAC3C,GAAG,CAAC4C,KAAK,CAACD,IAAI,CAAC,CAChC,GAAGH,SAAS,EACZ,GAAGE,SAAS,CACb,CAAC,CAAC;AACL,CAAC;AAUD;;;;AAIA,OAAO,MAAMG,KAAK,GAAIjB,MAAc,IAAyB3B,MAAM,CAAC6C,IAAI,CAAC/B,WAAW,CAACA,WAAW,CAAC;EAAEa;AAAM,CAAE,CAAC,CAAC;AAU7G;;;;AAIA,OAAO,MAAMmB,OAAO,gBAsBhB5C,IAAI,CACN,CAAC,EACD,CACEgC,IAAO,EACPa,OAGC,KAED/C,MAAM,CAACgD,SAAS,CACdhD,MAAM,CAAC6C,IAAI,EACX7C,MAAM,CAACiD,UAAU,CAACf,IAAI,CAAC,EACvB;EACEgB,MAAM,EAAEH,OAAO,CAACG,MAAa;EAC7BC,MAAM,EAAElD;CACT,CACF,CAACa,WAAW,CAACA,WAAW,CAAC;EACxBa,MAAM,EAAEoB,OAAO,CAACpB,MAAM;EACtB,CAACnB,yBAAyB,GAAG;CAC9B,CAAC,CAAQ,CACb;AAUD;;;;AAIA,OAAO,MAAM4C,OAAO,gBAAYR,KAAK,CAAC,GAAG,CAAQ;AAUjD;;;;AAIA,OAAO,MAAMS,QAAQ,gBAAaT,KAAK,CAAC,GAAG,CAAQ;AAUnD;;;;AAIA,OAAO,MAAMU,SAAS,gBAAcV,KAAK,CAAC,GAAG,CAAQ;AAErD;;;;AAIA,OAAO,MAAMW,eAAe,gBAAkBlD,MAAM,CAACC,GAAG,CAAC,0CAA0C,CAAC;AAiBpG;;;;AAIA,OAAO,MAAMkD,SAAS,GAAiCtB,IAAO,IAC5DA,IAAI,CAACpB,WAAW,CAAC;EACf,CAACV,mBAAmB,GAAG;CACxB,CAAQ;AAEX,MAAMqD,kBAAkB,GAAIC,QAA0B,IAAI;EACxD,QAAQA,QAAQ;IACd,KAAK,MAAM;MAAE;QACX,OAAO,kBAAkB;MAC3B;IACA,KAAK,WAAW;MAAE;QAChB,OAAO,mCAAmC;MAC5C;IACA,KAAK,YAAY;MAAE;QACjB,OAAO,0BAA0B;MACnC;IACA,KAAK,MAAM;MAAE;QACX,OAAO,YAAY;MACrB;EACF;AACF,CAAC;AA6BD;;;;AAIA,OAAO,MAAMC,YAAY,gBAsBrBzD,IAAI,CAAC,CAAC,EAAE,CAA8BgC,IAAO,EAAEa,OAGlD,KACCb,IAAI,CAACpB,WAAW,CAAC;EACf,CAACL,kBAAkB,GAAG;IACpBa,IAAI,EAAEyB,OAAO,CAACzB,IAAI;IAClBC,WAAW,EAAEwB,OAAO,CAACxB,WAAW,IAAIkC,kBAAkB,CAACV,OAAO,CAACzB,IAAI;GACpE;EACD,IAAIyB,OAAO,CAACzB,IAAI,KAAK,YAAY,GAC/B;IACEsC,UAAU,EAAE;MACVC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE;;GAEX,GACDlC,SAAS;CACZ,CAAQ,CAAC;AAEZ;;;;AAIA,OAAO,MAAMmC,IAAI,GAAIhB,OAEpB,IAA2BY,YAAY,CAAC3D,MAAM,CAACgE,MAAM,EAAE;EAAE1C,IAAI,EAAE,MAAM;EAAE,GAAGyB;AAAO,CAAE,CAAC;AAErF;;;;AAIA,OAAO,MAAMkB,UAAU,GAAIlB,OAE1B,IAAuCY,YAAY,CAAC3D,MAAM,CAACkE,kBAAkB,EAAE;EAAE5C,IAAI,EAAE,YAAY;EAAE,GAAGyB;AAAO,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiSchema.js","names":["constVoid","dual","globalValue","Schema","AST","Struct","AnnotationMultipart","Symbol","for","AnnotationStatus","AnnotationEmptyDecodeable","AnnotationEncoding","mergedAnnotations","ast","_tag","to","annotations","getAnnotation","key","getStatus","defaultStatus","getEmptyDecodeable","getMultipart","encodingJson","kind","contentType","getEncoding","result","omit","status","undefined","isVoid","from","f","getStatusSuccessAST","getStatusSuccess","self","getStatusErrorAST","getStatusError","UnionUnify","that","selfTypes","types","thatTypes","make","Union","Empty","Void","asEmpty","options","transform","typeSchema","decode","encode","Created","Accepted","NoContent","MultipartTypeId","Multipart","defaultContentType","encoding","withEncoding","jsonSchema","type","format","Text","String","Uint8Array","Uint8ArrayFromSelf","astCache","WeakMap","deunionize","schemas","schema","has","add","get","astType","memberSchema","set"],"sources":["../../src/HttpApiSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -58,7 +58,7 @@ export const basic = /*#__PURE__*/Object.assign( /*#__PURE__*/Object.create(Prot
58
58
  * @since 1.0.0
59
59
  * @category annotations
60
60
  */
61
- export const annotateMerge = /*#__PURE__*/dual(2, (self, context) => Object.assign(Object.create(Proto), {
61
+ export const annotateContext = /*#__PURE__*/dual(2, (self, context) => Object.assign(Object.create(Proto), {
62
62
  ...self,
63
63
  annotations: Context.merge(self.annotations, context)
64
64
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiSecurity.js","names":["Context","dual","pipeArguments","TypeId","Symbol","for","Proto","pipe","arguments","bearer","Object","assign","create","_tag","annotations","empty","apiKey","options","key","in","basic","annotateMerge","self","context","merge","annotate","tag","value","add"],"sources":["../../src/HttpApiSecurity.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAAwBC,aAAa,QAAQ,iBAAiB;AAI9D;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAwEnF,MAAMC,KAAK,GAAG;EACZ,CAACH,MAAM,GAAGA,MAAM;EAChBI,IAAIA,CAAA;IACF,OAAOL,aAAa,CAAC,IAAI,EAAEM,SAAS,CAAC;EACvC;CACD;AAED;;;;;;;;;AASA,OAAO,MAAMC,MAAM,gBAAWC,MAAM,CAACC,MAAM,eAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAChEO,IAAI,EAAE,QAAQ;EACdC,WAAW,eAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEF;;;;;;;;;;;;AAYA,OAAO,MAAMC,MAAM,GAAIC,OAGtB,IACCP,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClCO,IAAI,EAAE,QAAQ;EACdK,GAAG,EAAED,OAAO,CAACC,GAAG;EAChBC,EAAE,EAAEF,OAAO,CAACE,EAAE,IAAI,QAAQ;EAC1BL,WAAW,EAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEJ;;;;AAIA,OAAO,MAAMK,KAAK,gBAAUV,MAAM,CAACC,MAAM,eAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAC9DO,IAAI,EAAE,OAAO;EACbC,WAAW,eAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEF;;;;AAIA,OAAO,MAAMM,aAAa,gBAWtBpB,IAAI,CACN,CAAC,EACD,CAA+BqB,IAAO,EAAEC,OAA2B,KACjEb,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClC,GAAGgB,IAAI;EACPR,WAAW,EAAEd,OAAO,CAACwB,KAAK,CAACF,IAAI,CAACR,WAAW,EAAES,OAAO;CACrD,CAAC,CACL;AAED;;;;AAIA,OAAO,MAAME,QAAQ,gBAWjBxB,IAAI,CACN,CAAC,EACD,CAAkCqB,IAAO,EAAEI,GAAsB,EAAEC,KAAQ,KACzEjB,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClC,GAAGgB,IAAI;EACPR,WAAW,EAAEd,OAAO,CAAC4B,GAAG,CAACN,IAAI,CAACR,WAAW,EAAEY,GAAG,EAAEC,KAAK;CACtD,CAAC,CACL","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiSecurity.js","names":["Context","dual","pipeArguments","TypeId","Symbol","for","Proto","pipe","arguments","bearer","Object","assign","create","_tag","annotations","empty","apiKey","options","key","in","basic","annotateContext","self","context","merge","annotate","tag","value","add"],"sources":["../../src/HttpApiSecurity.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAAwBC,aAAa,QAAQ,iBAAiB;AAI9D;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAwEnF,MAAMC,KAAK,GAAG;EACZ,CAACH,MAAM,GAAGA,MAAM;EAChBI,IAAIA,CAAA;IACF,OAAOL,aAAa,CAAC,IAAI,EAAEM,SAAS,CAAC;EACvC;CACD;AAED;;;;;;;;;AASA,OAAO,MAAMC,MAAM,gBAAWC,MAAM,CAACC,MAAM,eAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAChEO,IAAI,EAAE,QAAQ;EACdC,WAAW,eAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEF;;;;;;;;;;;;AAYA,OAAO,MAAMC,MAAM,GAAIC,OAGtB,IACCP,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClCO,IAAI,EAAE,QAAQ;EACdK,GAAG,EAAED,OAAO,CAACC,GAAG;EAChBC,EAAE,EAAEF,OAAO,CAACE,EAAE,IAAI,QAAQ;EAC1BL,WAAW,EAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEJ;;;;AAIA,OAAO,MAAMK,KAAK,gBAAUV,MAAM,CAACC,MAAM,eAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAC9DO,IAAI,EAAE,OAAO;EACbC,WAAW,eAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEF;;;;AAIA,OAAO,MAAMM,eAAe,gBAWxBpB,IAAI,CACN,CAAC,EACD,CAA+BqB,IAAO,EAAEC,OAA2B,KACjEb,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClC,GAAGgB,IAAI;EACPR,WAAW,EAAEd,OAAO,CAACwB,KAAK,CAACF,IAAI,CAACR,WAAW,EAAES,OAAO;CACrD,CAAC,CACL;AAED;;;;AAIA,OAAO,MAAME,QAAQ,gBAWjBxB,IAAI,CACN,CAAC,EACD,CAAkCqB,IAAO,EAAEI,GAAsB,EAAEC,KAAQ,KACzEjB,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClC,GAAGgB,IAAI;EACPR,WAAW,EAAEd,OAAO,CAAC4B,GAAG,CAACN,IAAI,CAACR,WAAW,EAAEY,GAAG,EAAEC,KAAK;CACtD,CAAC,CACL","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as Effect from "effect/Effect";
5
- import { HttpApi } from "./HttpApi.js";
5
+ import { Api } from "./HttpApi.js";
6
6
  import { Router } from "./HttpApiBuilder.js";
7
7
  import * as HttpServerResponse from "./HttpServerResponse.js";
8
8
  import * as internal from "./internal/apiSwagger.js";
@@ -12,7 +12,9 @@ import * as OpenApi from "./OpenApi.js";
12
12
  * @category layers
13
13
  */
14
14
  export const layer = options => Router.use(router => Effect.gen(function* () {
15
- const api = yield* HttpApi;
15
+ const {
16
+ api
17
+ } = yield* Api;
16
18
  const spec = OpenApi.fromApi(api);
17
19
  const response = HttpServerResponse.html(`<!DOCTYPE html>
18
20
  <html lang="en">
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiSwagger.js","names":["Effect","HttpApi","Router","HttpServerResponse","internal","OpenApi","layer","options","use","router","gen","api","spec","fromApi","response","html","info","title","css","javascript","JSON","stringify","get","path","succeed"],"sources":["../../src/HttpApiSwagger.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAC7D,OAAO,KAAKC,QAAQ,MAAM,0BAA0B;AACpD,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;;AAIA,OAAO,MAAMC,KAAK,GAAIC,OAErB,IACCL,MAAM,CAACM,GAAG,CAAEC,MAAM,IAChBT,MAAM,CAACU,GAAG,CAAC,aAAS;EAClB,MAAMC,GAAG,GAAG,OAAOV,OAAO;EAC1B,MAAMW,IAAI,GAAGP,OAAO,CAACQ,OAAO,CAACF,GAAG,CAAC;EACjC,MAAMG,QAAQ,GAAGX,kBAAkB,CAACY,IAAI,CAAC;;;;;WAKpCH,IAAI,CAACI,IAAI,CAACC,KAAK;WACfb,QAAQ,CAACc,GAAG;;;;;MAKjBd,QAAQ,CAACe,UAAU;;;gBAGTC,IAAI,CAACC,SAAS,CAACT,IAAI,CAAC;;;;;;QAM5B,CAAC;EACH,OAAOH,MAAM,CAACa,GAAG,CAACf,OAAO,EAAEgB,IAAI,IAAI,OAAO,EAAEvB,MAAM,CAACwB,OAAO,CAACV,QAAQ,CAAC,CAAC;AACvE,CAAC,CAAC,CACH","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiSwagger.js","names":["Effect","Api","Router","HttpServerResponse","internal","OpenApi","layer","options","use","router","gen","api","spec","fromApi","response","html","info","title","css","javascript","JSON","stringify","get","path","succeed"],"sources":["../../src/HttpApiSwagger.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,SAASC,GAAG,QAAQ,cAAc;AAClC,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAC7D,OAAO,KAAKC,QAAQ,MAAM,0BAA0B;AACpD,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;;AAIA,OAAO,MAAMC,KAAK,GAAIC,OAErB,IACCL,MAAM,CAACM,GAAG,CAAEC,MAAM,IAChBT,MAAM,CAACU,GAAG,CAAC,aAAS;EAClB,MAAM;IAAEC;EAAG,CAAE,GAAG,OAAOV,GAAG;EAC1B,MAAMW,IAAI,GAAGP,OAAO,CAACQ,OAAO,CAACF,GAAG,CAAC;EACjC,MAAMG,QAAQ,GAAGX,kBAAkB,CAACY,IAAI,CAAC;;;;;WAKpCH,IAAI,CAACI,IAAI,CAACC,KAAK;WACfb,QAAQ,CAACc,GAAG;;;;;MAKjBd,QAAQ,CAACe,UAAU;;;gBAGTC,IAAI,CAACC,SAAS,CAACT,IAAI,CAAC;;;;;;QAM5B,CAAC;EACH,OAAOH,MAAM,CAACa,GAAG,CAACf,OAAO,EAAEgB,IAAI,IAAI,OAAO,EAAEvB,MAAM,CAACwB,OAAO,CAACV,QAAQ,CAAC,CAAC;AACvE,CAAC,CAAC,CACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpBody.js","names":["Predicate","internal","TypeId","isHttpBody","u","hasProperty","ErrorTypeId","HttpBodyError","empty","raw","uint8Array","text","unsafeJson","json","jsonSchema","urlParams","formData","stream","file","fileInfo","fileWeb"],"sources":["../../src/HttpBody.ts"],"sourcesContent":[null],"mappings":"AAOA,OAAO,KAAKA,SAAS,MAAM,kBAAkB;AAI7C,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAGlD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAQpD;;;;AAIA,OAAO,MAAMC,UAAU,GAAIC,CAAU,IAAoBJ,SAAS,CAACK,WAAW,CAACD,CAAC,EAAEF,MAAM,CAAC;AAoCzF;;;;AAIA,OAAO,MAAMI,WAAW,GAAkBL,QAAQ,CAACK,WAAW;AAkB9D;;;;AAIA,OAAO,MAAMC,aAAa,GAA2CN,QAAQ,CAACM,aAAa;AAqB3F;;;;AAIA,OAAO,MAAMC,KAAK,GAAUP,QAAQ,CAACO,KAAK;AAW1C;;;;AAIA,OAAO,MAAMC,GAAG,GAMLR,QAAQ,CAACQ,GAAG;AAavB;;;;AAIA,OAAO,MAAMC,UAAU,GAAgDT,QAAQ,CAACS,UAAU;AAE1F;;;;AAIA,OAAO,MAAMC,IAAI,GAAuDV,QAAQ,CAACU,IAAI;AAErF;;;;AAIA,OAAO,MAAMC,UAAU,GAAkCX,QAAQ,CAACW,UAAU;AAE5E;;;;AAIA,OAAO,MAAMC,IAAI,GAAgEZ,QAAQ,CAACY,IAAI;AAE9F;;;;AAIA,OAAO,MAAMC,UAAU,GAEyCb,QAAQ,CAACa,UAAU;AAEnF;;;;AAIA,OAAO,MAAMC,SAAS,GAAmDd,QAAQ,CAACc,SAAS;AAW3F;;;;AAIA,OAAO,MAAMC,QAAQ,GAA4Cf,QAAQ,CAACe,QAAQ;AAalF;;;;AAIA,OAAO,MAAMC,MAAM,GAKLhB,QAAQ,CAACgB,MAAM;AAE7B;;;;AAIA,OAAO,MAAMC,IAAI,GAGgEjB,QAAQ,CAACiB,IAAI;AAE9F;;;;AAIA,OAAO,MAAMC,QAAQ,GAI4DlB,QAAQ,CAACkB,QAAQ;AAElG;;;;AAIA,OAAO,MAAMC,OAAO,GAAwCnB,QAAQ,CAACmB,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"HttpBody.js","names":["Predicate","internal","TypeId","isHttpBody","u","hasProperty","ErrorTypeId","HttpBodyError","empty","raw","uint8Array","text","unsafeJson","json","jsonSchema","urlParams","formData","stream","file","fileInfo","fileWeb"],"sources":["../../src/HttpBody.ts"],"sourcesContent":[null],"mappings":"AAMA,OAAO,KAAKA,SAAS,MAAM,kBAAkB;AAK7C,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAGlD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAQpD;;;;AAIA,OAAO,MAAMC,UAAU,GAAIC,CAAU,IAAoBJ,SAAS,CAACK,WAAW,CAACD,CAAC,EAAEF,MAAM,CAAC;AAoCzF;;;;AAIA,OAAO,MAAMI,WAAW,GAAkBL,QAAQ,CAACK,WAAW;AAkB9D;;;;AAIA,OAAO,MAAMC,aAAa,GAA2CN,QAAQ,CAACM,aAAa;AAqB3F;;;;AAIA,OAAO,MAAMC,KAAK,GAAUP,QAAQ,CAACO,KAAK;AAW1C;;;;AAIA,OAAO,MAAMC,GAAG,GAMLR,QAAQ,CAACQ,GAAG;AAavB;;;;AAIA,OAAO,MAAMC,UAAU,GAAgDT,QAAQ,CAACS,UAAU;AAE1F;;;;AAIA,OAAO,MAAMC,IAAI,GAAuDV,QAAQ,CAACU,IAAI;AAErF;;;;AAIA,OAAO,MAAMC,UAAU,GAAkCX,QAAQ,CAACW,UAAU;AAE5E;;;;AAIA,OAAO,MAAMC,IAAI,GAAgEZ,QAAQ,CAACY,IAAI;AAE9F;;;;AAIA,OAAO,MAAMC,UAAU,GAEyCb,QAAQ,CAACa,UAAU;AAEnF;;;;AAIA,OAAO,MAAMC,SAAS,GAAmDd,QAAQ,CAACc,SAAS;AAW3F;;;;AAIA,OAAO,MAAMC,QAAQ,GAA4Cf,QAAQ,CAACe,QAAQ;AAalF;;;;AAIA,OAAO,MAAMC,MAAM,GAKLhB,QAAQ,CAACgB,MAAM;AAE7B;;;;AAIA,OAAO,MAAMC,IAAI,GAGgEjB,QAAQ,CAACiB,IAAI;AAE9F;;;;AAIA,OAAO,MAAMC,QAAQ,GAI4DlB,QAAQ,CAACkB,QAAQ;AAElG;;;;AAIA,OAAO,MAAMC,OAAO,GAAwCnB,QAAQ,CAACmB,OAAO","ignoreList":[]}
@@ -1,9 +1,12 @@
1
- import * as Schema from "@effect/schema/Schema";
1
+ /**
2
+ * @since 1.0.0
3
+ */
2
4
  import * as Effect from "effect/Effect";
3
5
  import * as FiberRef from "effect/FiberRef";
4
6
  import { dual } from "effect/Function";
5
7
  import * as Global from "effect/GlobalValue";
6
8
  import * as Option from "effect/Option";
9
+ import * as Schema from "effect/Schema";
7
10
  import * as FileSystem from "./FileSystem.js";
8
11
  /**
9
12
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"HttpIncomingMessage.js","names":["Schema","Effect","FiberRef","dual","Global","Option","FileSystem","TypeId","Symbol","for","schemaBodyJson","schema","options","parse","decodeUnknown","self","flatMap","json","schemaBodyUrlParams","urlParamsBody","_","Object","fromEntries","schemaHeaders","headers","maxBodySize","globalValue","unsafeMake","none","withMaxBodySize","effect","size","locally","map","Size","inspect","that","contentType","body","includes","runSync","text","obj","remoteAddress","toJSON","undefined"],"sources":["../../src/HttpIncomingMessage.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAE5C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAI7C;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAuBvF;;;;AAIA,OAAO,MAAMC,cAAc,GAAGA,CAAUC,MAA8B,EAAEC,OAAkC,KAAI;EAC5G,MAAMC,KAAK,GAAGb,MAAM,CAACc,aAAa,CAACH,MAAM,EAAEC,OAAO,CAAC;EACnD,OAAWG,IAA4B,IACrCd,MAAM,CAACe,OAAO,CAACD,IAAI,CAACE,IAAI,EAAEJ,KAAK,CAAC;AACpC,CAAC;AAED;;;;AAIA,OAAO,MAAMK,mBAAmB,GAAGA,CACjCP,MAA8B,EAC9BC,OAAkC,KAChC;EACF,MAAMC,KAAK,GAAGb,MAAM,CAACc,aAAa,CAACH,MAAM,EAAEC,OAAO,CAAC;EACnD,OAAWG,IAA4B,IACrCd,MAAM,CAACe,OAAO,CAACD,IAAI,CAACI,aAAa,EAAGC,CAAC,IAAKP,KAAK,CAACQ,MAAM,CAACC,WAAW,CAACF,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;AAIA,OAAO,MAAMG,aAAa,GAAGA,CAC3BZ,MAA8B,EAC9BC,OAAkC,KAChC;EACF,MAAMC,KAAK,GAAGb,MAAM,CAACc,aAAa,CAACH,MAAM,EAAEC,OAAO,CAAC;EACnD,OAAWG,IAA4B,IAAkDF,KAAK,CAACE,IAAI,CAACS,OAAO,CAAC;AAC9G,CAAC;AAED;;;;AAIA,OAAO,MAAMC,WAAW,gBAAsDrB,MAAM,CAACsB,WAAW,CAC9F,kDAAkD,EAClD,MAAMxB,QAAQ,CAACyB,UAAU,CAACtB,MAAM,CAACuB,IAAI,EAAmB,CAAC,CAC1D;AAED;;;;AAIA,OAAO,MAAMC,eAAe,gBAAG1B,IAAI,CAWjC,CAAC,EAAE,CAAC2B,MAAM,EAAEC,IAAI,KAAK9B,MAAM,CAAC+B,OAAO,CAACF,MAAM,EAAEL,WAAW,EAAEpB,MAAM,CAAC4B,GAAG,CAACF,IAAI,EAAEzB,UAAU,CAAC4B,IAAI,CAAC,CAAC,CAAC;AAE9F;;;AAGA,OAAO,MAAMC,OAAO,GAAGA,CAAIpB,IAA4B,EAAEqB,IAAY,KAAY;EAC/E,MAAMC,WAAW,GAAGtB,IAAI,CAACS,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE;EACtD,IAAIc,IAAa;EACjB,IAAID,WAAW,CAACE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;IAC5C,IAAI;MACFD,IAAI,GAAGrC,MAAM,CAACuC,OAAO,CAACzB,IAAI,CAACE,IAAI,CAAC;IAClC,CAAC,CAAC,OAAOG,CAAC,EAAE;MACV;IAAA;EAEJ,CAAC,MAAM,IAAIiB,WAAW,CAACE,QAAQ,CAAC,OAAO,CAAC,IAAIF,WAAW,CAACE,QAAQ,CAAC,YAAY,CAAC,EAAE;IAC9E,IAAI;MACFD,IAAI,GAAGrC,MAAM,CAACuC,OAAO,CAACzB,IAAI,CAAC0B,IAAI,CAAC;IAClC,CAAC,CAAC,OAAOrB,CAAC,EAAE;MACV;IAAA;EAEJ;EACA,MAAMsB,GAAG,GAAQ;IACf,GAAGN,IAAI;IACPZ,OAAO,EAAET,IAAI,CAACS,OAAO;IACrBmB,aAAa,EAAE5B,IAAI,CAAC4B,aAAa,CAACC,MAAM;GACzC;EACD,IAAIN,IAAI,KAAKO,SAAS,EAAE;IACtBH,GAAG,CAACJ,IAAI,GAAGA,IAAI;EACjB;EACA,OAAOI,GAAG;AACZ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"HttpIncomingMessage.js","names":["Effect","FiberRef","dual","Global","Option","Schema","FileSystem","TypeId","Symbol","for","schemaBodyJson","schema","options","parse","decodeUnknown","self","flatMap","json","schemaBodyUrlParams","urlParamsBody","_","Object","fromEntries","schemaHeaders","headers","maxBodySize","globalValue","unsafeMake","none","withMaxBodySize","effect","size","locally","map","Size","inspect","that","contentType","body","includes","runSync","text","obj","remoteAddress","toJSON","undefined"],"sources":["../../src/HttpIncomingMessage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -56,4 +56,15 @@ export const withLogAddress = internal.withLogAddress;
56
56
  * @category layers
57
57
  */
58
58
  export const layerTestClient = internal.layerTestClient;
59
+ /**
60
+ * A Layer providing the `HttpPlatform`, `FileSystem`, `Etag.Generator`, and `Path`
61
+ * services.
62
+ *
63
+ * The `FileSystem` service is a no-op implementation, so this layer is only
64
+ * useful for platforms that have no file system.
65
+ *
66
+ * @since 1.0.0
67
+ * @category layers
68
+ */
69
+ export const layerContext = internal.layerContext;
59
70
  //# sourceMappingURL=HttpServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.js","names":["internal","TypeId","HttpServer","serverTag","make","serve","serveEffect","formatAddress","addressWith","addressFormattedWith","logAddress","withLogAddress","layerTestClient"],"sources":["../../src/HttpServer.ts"],"sourcesContent":[null],"mappings":"AAWA,OAAO,KAAKA,QAAQ,MAAM,0BAA0B;AAEpD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAiEpD;;;;AAIA,OAAO,MAAMC,UAAU,GAAwCF,QAAQ,CAACG,SAAS;AAEjF;;;;AAIA,OAAO,MAAMC,IAAI,GAQCJ,QAAQ,CAACI,IAAI;AAE/B;;;;AAIA,OAAO,MAAMC,KAAK,GAsCdL,QAAQ,CAACK,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,WAAW,GAsCpBN,QAAQ,CAACM,WAAW;AAExB;;;;AAIA,OAAO,MAAMC,aAAa,GAAiCP,QAAQ,CAACO,aAAa;AAEjF;;;;AAIA,OAAO,MAAMC,WAAW,GAEmBR,QAAQ,CAACQ,WAAW;AAE/D;;;;AAIA,OAAO,MAAMC,oBAAoB,GAEUT,QAAQ,CAACS,oBAAoB;AAExE;;;;AAIA,OAAO,MAAMC,UAAU,GAA2CV,QAAQ,CAACU,UAAU;AAErF;;;;AAIA,OAAO,MAAMC,cAAc,GACzBX,QAAQ,CAACW,cAAc;AAEzB;;;;;;AAMA,OAAO,MAAMC,eAAe,GAC1BZ,QAAQ,CAACY,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"HttpServer.js","names":["internal","TypeId","HttpServer","serverTag","make","serve","serveEffect","formatAddress","addressWith","addressFormattedWith","logAddress","withLogAddress","layerTestClient","layerContext"],"sources":["../../src/HttpServer.ts"],"sourcesContent":[null],"mappings":"AAcA,OAAO,KAAKA,QAAQ,MAAM,0BAA0B;AAGpD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAiEpD;;;;AAIA,OAAO,MAAMC,UAAU,GAAwCF,QAAQ,CAACG,SAAS;AAEjF;;;;AAIA,OAAO,MAAMC,IAAI,GAQCJ,QAAQ,CAACI,IAAI;AAE/B;;;;AAIA,OAAO,MAAMC,KAAK,GAsCdL,QAAQ,CAACK,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,WAAW,GAsCpBN,QAAQ,CAACM,WAAW;AAExB;;;;AAIA,OAAO,MAAMC,aAAa,GAAiCP,QAAQ,CAACO,aAAa;AAEjF;;;;AAIA,OAAO,MAAMC,WAAW,GAEmBR,QAAQ,CAACQ,WAAW;AAE/D;;;;AAIA,OAAO,MAAMC,oBAAoB,GAEUT,QAAQ,CAACS,oBAAoB;AAExE;;;;AAIA,OAAO,MAAMC,UAAU,GAA2CV,QAAQ,CAACU,UAAU;AAErF;;;;AAIA,OAAO,MAAMC,cAAc,GACzBX,QAAQ,CAACW,cAAc;AAEzB;;;;;;AAMA,OAAO,MAAMC,eAAe,GAC1BZ,QAAQ,CAACY,eAAe;AAE1B;;;;;;;;;;AAUA,OAAO,MAAMC,YAAY,GAKrBb,QAAQ,CAACa,YAAY","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import * as ParseResult from "@effect/schema/ParseResult";
5
4
  import * as Cause from "effect/Cause";
6
5
  import * as Effect from "effect/Effect";
6
+ import * as ParseResult from "effect/ParseResult";
7
7
  import { hasProperty } from "effect/Predicate";
8
8
  import * as ServerResponse from "./HttpServerResponse.js";
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServerRespondable.js","names":["ParseResult","Cause","Effect","hasProperty","ServerResponse","symbol","Symbol","for","isRespondable","u","badRequest","empty","status","notFound","toResponse","self","isServerResponse","succeed","orDie","toResponseOrElse","orElse","catchAllCause","isParseError","isNoSuchElementException"],"sources":["../../src/HttpServerRespondable.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,WAAW,MAAM,4BAA4B;AACzD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,OAAO,KAAKC,cAAc,MAAM,yBAAyB;AAEzD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,wCAAwC,CAAC;AAUzF;;;;AAIA,OAAO,MAAMC,aAAa,GAAIC,CAAU,IAAuBN,WAAW,CAACM,CAAC,EAAEJ,MAAM,CAAC;AAErF,MAAMK,UAAU,gBAAGN,cAAc,CAACO,KAAK,CAAC;EAAEC,MAAM,EAAE;AAAG,CAAE,CAAC;AACxD,MAAMC,QAAQ,gBAAGT,cAAc,CAACO,KAAK,CAAC;EAAEC,MAAM,EAAE;AAAG,CAAE,CAAC;AAEtD;;;;AAIA,OAAO,MAAME,UAAU,GAAIC,IAAiB,IAAuC;EACjF,IAAIX,cAAc,CAACY,gBAAgB,CAACD,IAAI,CAAC,EAAE;IACzC,OAAOb,MAAM,CAACe,OAAO,CAACF,IAAI,CAAC;EAC7B;EACA,OAAOb,MAAM,CAACgB,KAAK,CAACH,IAAI,CAACV,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC;AAED;;;;AAIA,OAAO,MAAMc,gBAAgB,GAAGA,CAACV,CAAU,EAAEW,MAA0B,KAAuC;EAC5G,IAAIhB,cAAc,CAACY,gBAAgB,CAACP,CAAC,CAAC,EAAE;IACtC,OAAOP,MAAM,CAACe,OAAO,CAACR,CAAC,CAAC;EAC1B,CAAC,MAAM,IAAID,aAAa,CAACC,CAAC,CAAC,EAAE;IAC3B,OAAOP,MAAM,CAACmB,aAAa,CAACZ,CAAC,CAACJ,MAAM,CAAC,EAAE,EAAE,MAAMH,MAAM,CAACe,OAAO,CAACG,MAAM,CAAC,CAAC;IACtE;EACF,CAAC,MAAM,IAAIpB,WAAW,CAACsB,YAAY,CAACb,CAAC,CAAC,EAAE;IACtC,OAAOP,MAAM,CAACe,OAAO,CAACP,UAAU,CAAC;EACnC,CAAC,MAAM,IAAIT,KAAK,CAACsB,wBAAwB,CAACd,CAAC,CAAC,EAAE;IAC5C,OAAOP,MAAM,CAACe,OAAO,CAACJ,QAAQ,CAAC;EACjC;EACA,OAAOX,MAAM,CAACe,OAAO,CAACG,MAAM,CAAC;AAC/B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"HttpServerRespondable.js","names":["Cause","Effect","ParseResult","hasProperty","ServerResponse","symbol","Symbol","for","isRespondable","u","badRequest","empty","status","notFound","toResponse","self","isServerResponse","succeed","orDie","toResponseOrElse","orElse","catchAllCause","isParseError","isNoSuchElementException"],"sources":["../../src/HttpServerRespondable.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AACjD,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,OAAO,KAAKC,cAAc,MAAM,yBAAyB;AAEzD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,wCAAwC,CAAC;AAUzF;;;;AAIA,OAAO,MAAMC,aAAa,GAAIC,CAAU,IAAuBN,WAAW,CAACM,CAAC,EAAEJ,MAAM,CAAC;AAErF,MAAMK,UAAU,gBAAGN,cAAc,CAACO,KAAK,CAAC;EAAEC,MAAM,EAAE;AAAG,CAAE,CAAC;AACxD,MAAMC,QAAQ,gBAAGT,cAAc,CAACO,KAAK,CAAC;EAAEC,MAAM,EAAE;AAAG,CAAE,CAAC;AAEtD;;;;AAIA,OAAO,MAAME,UAAU,GAAIC,IAAiB,IAAuC;EACjF,IAAIX,cAAc,CAACY,gBAAgB,CAACD,IAAI,CAAC,EAAE;IACzC,OAAOd,MAAM,CAACgB,OAAO,CAACF,IAAI,CAAC;EAC7B;EACA,OAAOd,MAAM,CAACiB,KAAK,CAACH,IAAI,CAACV,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC;AAED;;;;AAIA,OAAO,MAAMc,gBAAgB,GAAGA,CAACV,CAAU,EAAEW,MAA0B,KAAuC;EAC5G,IAAIhB,cAAc,CAACY,gBAAgB,CAACP,CAAC,CAAC,EAAE;IACtC,OAAOR,MAAM,CAACgB,OAAO,CAACR,CAAC,CAAC;EAC1B,CAAC,MAAM,IAAID,aAAa,CAACC,CAAC,CAAC,EAAE;IAC3B,OAAOR,MAAM,CAACoB,aAAa,CAACZ,CAAC,CAACJ,MAAM,CAAC,EAAE,EAAE,MAAMJ,MAAM,CAACgB,OAAO,CAACG,MAAM,CAAC,CAAC;IACtE;EACF,CAAC,MAAM,IAAIlB,WAAW,CAACoB,YAAY,CAACb,CAAC,CAAC,EAAE;IACtC,OAAOR,MAAM,CAACgB,OAAO,CAACP,UAAU,CAAC;EACnC,CAAC,MAAM,IAAIV,KAAK,CAACuB,wBAAwB,CAACd,CAAC,CAAC,EAAE;IAC5C,OAAOR,MAAM,CAACgB,OAAO,CAACJ,QAAQ,CAAC;EACjC;EACA,OAAOZ,MAAM,CAACgB,OAAO,CAACG,MAAM,CAAC;AAC/B,CAAC","ignoreList":[]}