@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.
Files changed (46) hide show
  1. package/README.md +637 -0
  2. package/Url/package.json +6 -0
  3. package/dist/cjs/HttpApi.js.map +1 -1
  4. package/dist/cjs/HttpApiEndpoint.js.map +1 -1
  5. package/dist/cjs/HttpApiGroup.js.map +1 -1
  6. package/dist/cjs/OpenApi.js +82 -42
  7. package/dist/cjs/OpenApi.js.map +1 -1
  8. package/dist/cjs/Runtime.js.map +1 -1
  9. package/dist/cjs/Url.js +259 -0
  10. package/dist/cjs/Url.js.map +1 -0
  11. package/dist/cjs/index.js +3 -1
  12. package/dist/dts/HttpApi.d.ts +1 -2
  13. package/dist/dts/HttpApi.d.ts.map +1 -1
  14. package/dist/dts/HttpApiBuilder.d.ts +1 -1
  15. package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
  16. package/dist/dts/HttpApiEndpoint.d.ts +16 -8
  17. package/dist/dts/HttpApiEndpoint.d.ts.map +1 -1
  18. package/dist/dts/HttpApiGroup.d.ts +1 -2
  19. package/dist/dts/HttpApiGroup.d.ts.map +1 -1
  20. package/dist/dts/OpenApi.d.ts +100 -110
  21. package/dist/dts/OpenApi.d.ts.map +1 -1
  22. package/dist/dts/Runtime.d.ts +48 -0
  23. package/dist/dts/Runtime.d.ts.map +1 -1
  24. package/dist/dts/Url.d.ts +591 -0
  25. package/dist/dts/Url.d.ts.map +1 -0
  26. package/dist/dts/index.d.ts +4 -0
  27. package/dist/dts/index.d.ts.map +1 -1
  28. package/dist/esm/HttpApi.js.map +1 -1
  29. package/dist/esm/HttpApiEndpoint.js.map +1 -1
  30. package/dist/esm/HttpApiGroup.js.map +1 -1
  31. package/dist/esm/OpenApi.js +82 -41
  32. package/dist/esm/OpenApi.js.map +1 -1
  33. package/dist/esm/Runtime.js.map +1 -1
  34. package/dist/esm/Url.js +248 -0
  35. package/dist/esm/Url.js.map +1 -0
  36. package/dist/esm/index.js +4 -0
  37. package/dist/esm/index.js.map +1 -1
  38. package/package.json +10 -2
  39. package/src/HttpApi.ts +2 -3
  40. package/src/HttpApiBuilder.ts +1 -1
  41. package/src/HttpApiEndpoint.ts +22 -13
  42. package/src/HttpApiGroup.ts +2 -3
  43. package/src/OpenApi.ts +174 -181
  44. package/src/Runtime.ts +48 -0
  45. package/src/Url.ts +632 -0
  46. package/src/index.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiEndpoint.js","names":["Context","Option","pipeArguments","Predicate","Schema","HttpApiSchema","HttpRouter","TypeId","Symbol","for","isHttpApiEndpoint","u","hasProperty","Proto","pipe","arguments","addSuccess","schema","annotations","status","makeProto","successSchema","NoContent","UnionUnify","addError","errorSchema","setPayload","payloadSchema","some","setPath","pathSchema","setUrlParams","urlParamsSchema","setHeaders","headersSchema","prefix","path","prefixPath","middleware","failure","middlewares","Set","annotate","tag","value","add","annotateContext","context","merge","options","Object","assign","create","make","method","name","args","length","none","Never","empty","segments","schemas","obj","i","key","getParam","ast","String","Struct","get","post","put","patch","del"],"sources":["../../src/HttpApiEndpoint.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiEndpoint.js","names":["Context","Option","pipeArguments","Predicate","Schema","HttpApiSchema","HttpRouter","TypeId","Symbol","for","isHttpApiEndpoint","u","hasProperty","Proto","pipe","arguments","addSuccess","schema","annotations","status","makeProto","successSchema","NoContent","UnionUnify","addError","errorSchema","setPayload","payloadSchema","some","setPath","pathSchema","setUrlParams","urlParamsSchema","setHeaders","headersSchema","prefix","path","prefixPath","middleware","failure","middlewares","Set","annotate","tag","value","add","annotateContext","context","merge","options","Object","assign","create","make","method","name","args","length","none","Never","empty","segments","schemas","obj","i","key","getParam","ast","String","Struct","get","post","put","patch","del"],"sources":["../../src/HttpApiEndpoint.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiGroup.js","names":["Context","pipeArguments","Predicate","Record","Schema","HttpApiSchema","TypeId","Symbol","for","isHttpApiGroup","u","hasProperty","Proto","add","endpoint","makeProto","identifier","topLevel","endpoints","name","errorSchema","annotations","middlewares","addError","schema","UnionUnify","status","prefix","map","middleware","failure","Set","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":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiGroup.js","names":["Context","pipeArguments","Predicate","Record","Schema","HttpApiSchema","TypeId","Symbol","for","isHttpApiGroup","u","hasProperty","Proto","add","endpoint","makeProto","identifier","topLevel","endpoints","name","errorSchema","annotations","middlewares","addError","schema","UnionUnify","status","prefix","map","middleware","failure","Set","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,SAAwBC,aAAa,QAAQ,iBAAiB;AAC9D,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAIvC,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,+BAA+B,CAAC;AAQhF;;;;AAIA,OAAO,MAAMC,cAAc,GAAIC,CAAU,IAA4BR,SAAS,CAACS,WAAW,CAACD,CAAC,EAAEJ,MAAM,CAAC;AA+PrG,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,EAAE;QACT,GAAG,IAAI,CAACA,SAAS;QACjB,CAACJ,QAAQ,CAACK,IAAI,GAAGL;OAClB;MACDM,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,OAAON,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBE,WAAW,EAAEf,aAAa,CAACoB,UAAU,CACnC,IAAI,CAACL,WAAW,EAChBC,WAAW,EAAEK,MAAM,GAAGF,MAAM,CAACH,WAAW,CAAChB,aAAa,CAACgB,WAAW,CAAC;QAAEK,MAAM,EAAEL,WAAW,CAACK;MAAM,CAAE,CAAC,CAAC,GAAGF,MAAM,CAC7G;MACDH,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDK,MAAMA,CAAkCA,MAAmC;IACzE,OAAOZ,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAEf,MAAM,CAACyB,GAAG,CAAC,IAAI,CAACV,SAAS,EAAGJ,QAAQ,IAAKA,QAAQ,CAACa,MAAM,CAACA,MAAM,CAAC,CAAC;MAC5EP,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDO,UAAUA,CAAkCA,UAAyC;IACnF,OAAOd,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBE,WAAW,EAAEf,aAAa,CAACoB,UAAU,CAAC,IAAI,CAACL,WAAW,EAAES,UAAU,CAACC,OAAO,CAAC;MAC3ET,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAIS,GAAG,CAAC,CAAC,GAAG,IAAI,CAACT,WAAW,EAAEO,UAAU,CAAC;KACvD,CAAC;EACJ,CAAC;EACDG,mBAAmBA,CAAkCH,UAAyC;IAC5F,OAAOd,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAEf,MAAM,CAACyB,GAAG,CAAC,IAAI,CAACV,SAAS,EAAGJ,QAAQ,IAAKA,QAAQ,CAACe,UAAU,CAACA,UAAU,CAAC,CAAC;MACpFT,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,OAAOnB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBE,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAErB,OAAO,CAACmC,KAAK,CAAC,IAAI,CAACd,WAAW,EAAEa,OAAO,CAAC;MACrDZ,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDc,QAAQA,CAAwCC,GAAsB,EAAEC,KAAQ;IAC9E,OAAOvB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBE,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAErB,OAAO,CAACa,GAAG,CAAC,IAAI,CAACQ,WAAW,EAAEgB,GAAG,EAAEC,KAAK,CAAC;MACtDhB,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDiB,wBAAwBA,CAAqCL,OAA2B;IACtF,OAAOnB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAEf,MAAM,CAACyB,GAAG,CAAC,IAAI,CAACV,SAAS,EAAGJ,QAAQ,IAAKA,QAAQ,CAACmB,eAAe,CAACC,OAAO,CAAC,CAAC;MACtFd,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,OAAOvB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAEf,MAAM,CAACyB,GAAG,CAAC,IAAI,CAACV,SAAS,EAAGJ,QAAQ,IAAKA,QAAQ,CAACsB,QAAQ,CAACC,GAAG,EAAEC,KAAK,CAAC,CAAC;MAClFlB,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,MAAM3B,SAAS,GAMb4B,OAOD,IAAqD;EACpD,SAASC,YAAYA,CAAA,GAAI;EACzBC,MAAM,CAACC,cAAc,CAACF,YAAY,EAAEhC,KAAK,CAAC;EAC1C,OAAOiC,MAAM,CAACE,MAAM,CAACH,YAAY,EAAED,OAAO,CAAQ;AACpD,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAMK,IAAI,GAAGA,CAAyEhC,UAAc,EAAE2B,OAE5G,KACC5B,SAAS,CAAC;EACRC,UAAU;EACVC,QAAQ,EAAE0B,OAAO,EAAE1B,QAAQ,IAAI,KAAY;EAC3CC,SAAS,EAAEf,MAAM,CAAC8C,KAAK,EAAE;EACzB7B,WAAW,EAAEhB,MAAM,CAAC8C,KAAY;EAChC7B,WAAW,EAAErB,OAAO,CAACiD,KAAK,EAAE;EAC5B3B,WAAW,EAAE,IAAIS,GAAG;CACrB,CAAC","ignoreList":[]}
@@ -1,6 +1,3 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
1
  import * as Context from "effect/Context";
5
2
  import { constFalse } from "effect/Function";
6
3
  import { globalValue } from "effect/GlobalValue";
@@ -111,14 +108,59 @@ export const annotations = /*#__PURE__*/contextPartial({
111
108
  });
112
109
  const apiCache = /*#__PURE__*/globalValue("@effect/platform/OpenApi/apiCache", () => new WeakMap());
113
110
  /**
111
+ * This function checks if a given tag exists within the provided context. If
112
+ * the tag is present, it retrieves the associated value and applies the given
113
+ * callback function to it. If the tag is not found, the function does nothing.
114
+ */
115
+ function processAnnotation(ctx, tag, f) {
116
+ const o = Context.getOption(ctx, tag);
117
+ if (Option.isSome(o)) {
118
+ f(o.value);
119
+ }
120
+ }
121
+ /**
122
+ * Converts an `HttpApi` instance into an OpenAPI Specification object.
123
+ *
124
+ * **Details**
125
+ *
126
+ * This function takes an `HttpApi` instance, which defines a structured API,
127
+ * and generates an OpenAPI Specification (`OpenAPISpec`). The resulting spec
128
+ * adheres to the OpenAPI 3.1.0 standard and includes detailed metadata such as
129
+ * paths, operations, security schemes, and components. The function processes
130
+ * the API's annotations, middleware, groups, and endpoints to build a complete
131
+ * and accurate representation of the API in OpenAPI format.
132
+ *
133
+ * The function also deduplicates schemas, applies transformations, and
134
+ * integrates annotations like descriptions, summaries, external documentation,
135
+ * and overrides. Cached results are used for better performance when the same
136
+ * `HttpApi` instance is processed multiple times.
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * import { HttpApi, HttpApiEndpoint, HttpApiGroup, OpenApi } from "@effect/platform"
141
+ * import { Schema } from "effect"
142
+ *
143
+ * const api = HttpApi.make("api").add(
144
+ * HttpApiGroup.make("group").add(
145
+ * HttpApiEndpoint.get("get", "/items")
146
+ * .addSuccess(Schema.Array(Schema.String))
147
+ * )
148
+ * )
149
+ *
150
+ * const spec = OpenApi.fromApi(api)
151
+ *
152
+ * // console.log(JSON.stringify(spec, null, 2))
153
+ * // Output: OpenAPI specification in JSON format
154
+ * ```
155
+ *
114
156
  * @category constructors
115
157
  * @since 1.0.0
116
158
  */
117
- export const fromApi = self => {
118
- if (apiCache.has(self)) {
119
- return apiCache.get(self);
159
+ export const fromApi = api => {
160
+ const cached = apiCache.get(api);
161
+ if (cached !== undefined) {
162
+ return cached;
120
163
  }
121
- const api = self;
122
164
  const jsonSchemaDefs = {};
123
165
  let spec = {
124
166
  openapi: "3.1.0",
@@ -134,42 +176,38 @@ export const fromApi = self => {
134
176
  security: [],
135
177
  tags: []
136
178
  };
137
- function makeJsonSchemaOrRef(ast) {
179
+ function processAST(ast) {
138
180
  return JsonSchema.fromAST(ast, {
139
181
  defs: jsonSchemaDefs
140
182
  });
141
183
  }
142
- function registerSecurity(name, security) {
143
- if (spec.components.securitySchemes[name]) {
184
+ function processHttpApiSecurity(name, security) {
185
+ if (spec.components.securitySchemes[name] !== undefined) {
144
186
  return;
145
187
  }
146
- const scheme = makeSecurityScheme(security);
147
- spec.components.securitySchemes[name] = scheme;
188
+ spec.components.securitySchemes[name] = makeSecurityScheme(security);
148
189
  }
149
- Option.map(Context.getOption(api.annotations, HttpApi.AdditionalSchemas), componentSchemas => {
150
- componentSchemas.forEach(componentSchema => makeJsonSchemaOrRef(componentSchema.ast));
190
+ processAnnotation(api.annotations, HttpApi.AdditionalSchemas, componentSchemas => {
191
+ componentSchemas.forEach(componentSchema => processAST(componentSchema.ast));
151
192
  });
152
- Option.map(Context.getOption(api.annotations, Description), description => {
193
+ processAnnotation(api.annotations, Description, description => {
153
194
  spec.info.description = description;
154
195
  });
155
- Option.map(Context.getOption(api.annotations, License), license => {
196
+ processAnnotation(api.annotations, License, license => {
156
197
  spec.info.license = license;
157
198
  });
158
- Option.map(Context.getOption(api.annotations, Summary), summary => {
199
+ processAnnotation(api.annotations, Summary, summary => {
159
200
  spec.info.summary = summary;
160
201
  });
161
- Option.map(Context.getOption(api.annotations, Servers), servers => {
162
- spec.servers = servers;
163
- });
164
- Option.map(Context.getOption(api.annotations, Override), override => {
165
- Object.assign(spec, override);
202
+ processAnnotation(api.annotations, Servers, servers => {
203
+ spec.servers = [...servers];
166
204
  });
167
205
  api.middlewares.forEach(middleware => {
168
206
  if (!HttpApiMiddleware.isSecurity(middleware)) {
169
207
  return;
170
208
  }
171
209
  for (const [name, security] of Object.entries(middleware.security)) {
172
- registerSecurity(name, security);
210
+ processHttpApiSecurity(name, security);
173
211
  spec.security.push({
174
212
  [name]: []
175
213
  });
@@ -185,17 +223,17 @@ export const fromApi = self => {
185
223
  let tag = {
186
224
  name: Context.getOrElse(group.annotations, Title, () => group.identifier)
187
225
  };
188
- Option.map(Context.getOption(group.annotations, Description), description => {
226
+ processAnnotation(group.annotations, Description, description => {
189
227
  tag.description = description;
190
228
  });
191
- Option.map(Context.getOption(group.annotations, ExternalDocs), externalDocs => {
229
+ processAnnotation(group.annotations, ExternalDocs, externalDocs => {
192
230
  tag.externalDocs = externalDocs;
193
231
  });
194
- Option.map(Context.getOption(group.annotations, Override), override => {
232
+ processAnnotation(group.annotations, Override, override => {
195
233
  Object.assign(tag, override);
196
234
  });
197
- Option.map(Context.getOption(group.annotations, Transform), fn => {
198
- tag = fn(tag);
235
+ processAnnotation(group.annotations, Transform, transformFn => {
236
+ tag = transformFn(tag);
199
237
  });
200
238
  spec.tags.push(tag);
201
239
  },
@@ -231,7 +269,7 @@ export const fromApi = self => {
231
269
  const encoding = HttpApiSchema.getEncoding(ast);
232
270
  op.responses[status].content = {
233
271
  [encoding.contentType]: {
234
- schema: makeJsonSchemaOrRef(ast)
272
+ schema: processAST(ast)
235
273
  }
236
274
  };
237
275
  }));
@@ -239,7 +277,7 @@ export const fromApi = self => {
239
277
  }
240
278
  function processParameters(schema, i) {
241
279
  if (Option.isSome(schema)) {
242
- const jsonSchema = makeJsonSchemaOrRef(schema.value.ast);
280
+ const jsonSchema = processAST(schema.value.ast);
243
281
  if ("properties" in jsonSchema) {
244
282
  Object.entries(jsonSchema.properties).forEach(([name, psJsonSchema]) => {
245
283
  op.parameters.push({
@@ -255,16 +293,16 @@ export const fromApi = self => {
255
293
  }
256
294
  }
257
295
  }
258
- Option.map(Context.getOption(endpoint.annotations, Description), description => {
296
+ processAnnotation(endpoint.annotations, Description, description => {
259
297
  op.description = description;
260
298
  });
261
- Option.map(Context.getOption(endpoint.annotations, Summary), summary => {
299
+ processAnnotation(endpoint.annotations, Summary, summary => {
262
300
  op.summary = summary;
263
301
  });
264
- Option.map(Context.getOption(endpoint.annotations, Deprecated), deprecated => {
302
+ processAnnotation(endpoint.annotations, Deprecated, deprecated => {
265
303
  op.deprecated = deprecated;
266
304
  });
267
- Option.map(Context.getOption(endpoint.annotations, ExternalDocs), externalDocs => {
305
+ processAnnotation(endpoint.annotations, ExternalDocs, externalDocs => {
268
306
  op.externalDocs = externalDocs;
269
307
  });
270
308
  middleware.forEach(middleware => {
@@ -272,7 +310,7 @@ export const fromApi = self => {
272
310
  return;
273
311
  }
274
312
  for (const [name, security] of Object.entries(middleware.security)) {
275
- registerSecurity(name, security);
313
+ processHttpApiSecurity(name, security);
276
314
  op.security.push({
277
315
  [name]: []
278
316
  });
@@ -285,7 +323,7 @@ export const fromApi = self => {
285
323
  ast
286
324
  }, contentType) => {
287
325
  content[contentType] = {
288
- schema: makeJsonSchemaOrRef(ast)
326
+ schema: processAST(ast)
289
327
  };
290
328
  });
291
329
  op.requestBody = {
@@ -306,24 +344,27 @@ export const fromApi = self => {
306
344
  if (!spec.paths[path]) {
307
345
  spec.paths[path] = {};
308
346
  }
309
- Option.map(Context.getOption(endpoint.annotations, Override), override => {
347
+ processAnnotation(endpoint.annotations, Override, override => {
310
348
  Object.assign(op, override);
311
349
  });
312
- Option.map(Context.getOption(endpoint.annotations, Transform), transformFn => {
350
+ processAnnotation(endpoint.annotations, Transform, transformFn => {
313
351
  op = transformFn(op);
314
352
  });
315
353
  spec.paths[path][method] = op;
316
354
  }
317
355
  });
318
- Option.map(Context.getOption(api.annotations, Transform), transformFn => {
356
+ processAnnotation(api.annotations, Override, override => {
357
+ Object.assign(spec, override);
358
+ });
359
+ processAnnotation(api.annotations, Transform, transformFn => {
319
360
  spec = transformFn(spec);
320
361
  });
321
- apiCache.set(self, spec);
362
+ apiCache.set(api, spec);
322
363
  return spec;
323
364
  };
324
365
  const makeSecurityScheme = security => {
325
366
  const meta = {};
326
- Option.map(Context.getOption(security.annotations, Description), description => {
367
+ processAnnotation(security.annotations, Description, description => {
327
368
  meta.description = description;
328
369
  });
329
370
  switch (security._tag) {
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi.js","names":["Context","constFalse","globalValue","Option","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","Exclude","Reference","defaultValue","Transform","contextPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","deprecated","externalDocs","servers","format","override","exclude","transform","apiCache","WeakMap","fromApi","self","has","get","api","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","components","schemas","securitySchemes","security","makeJsonSchemaOrRef","ast","fromAST","defs","registerSecurity","name","scheme","makeSecurityScheme","map","getOption","AdditionalSchemas","componentSchemas","forEach","componentSchema","assign","middlewares","middleware","isSecurity","push","reflect","onGroup","group","fn","onEndpoint","endpoint","errors","mergedAnnotations","payloads","successes","op","operationId","topLevel","parameters","responses","processResponseMap","defaultDescription","status","pipe","filter","getEmptyDecodeable","encoding","getEncoding","content","contentType","schema","processParameters","i","isSome","jsonSchema","value","properties","psJsonSchema","in","required","includes","hasBody","method","size","requestBody","pathSchema","payloadSchema","headersSchema","urlParamsSchema","path","replace","toLowerCase","transformFn","set","meta","_tag","type","bearerFormat","getOrUndefined"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenApi.js","names":["Context","constFalse","globalValue","Option","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","Exclude","Reference","defaultValue","Transform","contextPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","deprecated","externalDocs","servers","format","override","exclude","transform","apiCache","WeakMap","processAnnotation","ctx","f","o","getOption","isSome","value","fromApi","api","cached","get","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","components","schemas","securitySchemes","security","processAST","ast","fromAST","defs","processHttpApiSecurity","name","makeSecurityScheme","AdditionalSchemas","componentSchemas","forEach","componentSchema","middlewares","middleware","isSecurity","push","reflect","onGroup","group","assign","transformFn","onEndpoint","endpoint","errors","mergedAnnotations","payloads","successes","op","operationId","topLevel","parameters","responses","processResponseMap","map","defaultDescription","status","pipe","filter","getEmptyDecodeable","encoding","getEncoding","content","contentType","schema","processParameters","i","jsonSchema","properties","psJsonSchema","in","required","includes","hasBody","method","size","requestBody","pathSchema","payloadSchema","headersSchema","urlParamsSchema","path","replace","toLowerCase","set","meta","_tag","type","scheme","bearerFormat","getOrUndefined"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Runtime.js","names":["Cause","Effect","Exit","FiberRef","FiberRefs","dual","HashSet","Logger","defaultTeardown","exit","onExit","isFailure","isInterruptedOnly","cause","addPrettyLogger","refs","fiberId","loggers","getOrDefault","currentLoggers","has","defaultLogger","updateAs","fiberRef","value","pipe","remove","add","prettyLoggerDefault","makeRunMain","f","args","isEffect","effect","options","fiber","disableErrorReporting","runFork","updateRefs","disablePrettyLogger","undefined","tapErrorCause","void","logError","teardown"],"sources":["../../src/Runtime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAGnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAUvC;;;;AAIA,OAAO,MAAMC,eAAe,GAAaA,CACvCC,IAAqB,EACrBC,MAA8B,KAC5B;EACFA,MAAM,CAACR,IAAI,CAACS,SAAS,CAACF,IAAI,CAAC,IAAI,CAACT,KAAK,CAACY,iBAAiB,CAACH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAwBD,MAAMC,eAAe,GAAGA,CAACC,IAAyB,EAAEC,OAAwB,KAAI;EAC9E,MAAMC,OAAO,GAAGb,SAAS,CAACc,YAAY,CAACH,IAAI,EAAEZ,QAAQ,CAACgB,cAAc,CAAC;EACrE,IAAI,CAACb,OAAO,CAACc,GAAG,CAACH,OAAO,EAAEV,MAAM,CAACc,aAAa,CAAC,EAAE;IAC/C,OAAON,IAAI;EACb;EACA,OAAOX,SAAS,CAACkB,QAAQ,CAACP,IAAI,EAAE;IAC9BC,OAAO;IACPO,QAAQ,EAAEpB,QAAQ,CAACgB,cAAc;IACjCK,KAAK,EAAEP,OAAO,CAACQ,IAAI,CACjBnB,OAAO,CAACoB,MAAM,CAACnB,MAAM,CAACc,aAAa,CAAC,EACpCf,OAAO,CAACqB,GAAG,CAACpB,MAAM,CAACqB,mBAAmB,CAAC;GAE1C,CAAC;AACJ,CAAC;AAED;;;;AAIA,OAAO,MAAMC,WAAW,GACtBC,CAKS,IAETzB,IAAI,CAAE0B,IAAI,IAAK9B,MAAM,CAAC+B,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAACE,MAA+B,EAAEC,OAI1E,KAAI;EACH,MAAMC,KAAK,GAAGD,OAAO,EAAEE,qBAAqB,KAAK,IAAI,GACjDnC,MAAM,CAACoC,OAAO,CAACJ,MAAM,EAAE;IACvBK,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CAAC,GACAb,MAAM,CAACoC,OAAO,CACdpC,MAAM,CAACwC,aAAa,CAACR,MAAM,EAAGpB,KAAK,IAAI;IACrC,IAAIb,KAAK,CAACY,iBAAiB,CAACC,KAAK,CAAC,EAAE;MAClC,OAAOZ,MAAM,CAACyC,IAAI;IACpB;IACA,OAAOzC,MAAM,CAAC0C,QAAQ,CAAC9B,KAAK,CAAC;EAC/B,CAAC,CAAC,EACF;IACEyB,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CACF;EACH,MAAM8B,QAAQ,GAAGV,OAAO,EAAEU,QAAQ,IAAIpC,eAAe;EACrD,OAAOsB,CAAC,CAAC;IAAEK,KAAK;IAAES;EAAQ,CAAE,CAAC;AAC/B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Runtime.js","names":["Cause","Effect","Exit","FiberRef","FiberRefs","dual","HashSet","Logger","defaultTeardown","exit","onExit","isFailure","isInterruptedOnly","cause","addPrettyLogger","refs","fiberId","loggers","getOrDefault","currentLoggers","has","defaultLogger","updateAs","fiberRef","value","pipe","remove","add","prettyLoggerDefault","makeRunMain","f","args","isEffect","effect","options","fiber","disableErrorReporting","runFork","updateRefs","disablePrettyLogger","undefined","tapErrorCause","void","logError","teardown"],"sources":["../../src/Runtime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAGnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAUvC;;;;AAIA,OAAO,MAAMC,eAAe,GAAaA,CACvCC,IAAqB,EACrBC,MAA8B,KAC5B;EACFA,MAAM,CAACR,IAAI,CAACS,SAAS,CAACF,IAAI,CAAC,IAAI,CAACT,KAAK,CAACY,iBAAiB,CAACH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAwED,MAAMC,eAAe,GAAGA,CAACC,IAAyB,EAAEC,OAAwB,KAAI;EAC9E,MAAMC,OAAO,GAAGb,SAAS,CAACc,YAAY,CAACH,IAAI,EAAEZ,QAAQ,CAACgB,cAAc,CAAC;EACrE,IAAI,CAACb,OAAO,CAACc,GAAG,CAACH,OAAO,EAAEV,MAAM,CAACc,aAAa,CAAC,EAAE;IAC/C,OAAON,IAAI;EACb;EACA,OAAOX,SAAS,CAACkB,QAAQ,CAACP,IAAI,EAAE;IAC9BC,OAAO;IACPO,QAAQ,EAAEpB,QAAQ,CAACgB,cAAc;IACjCK,KAAK,EAAEP,OAAO,CAACQ,IAAI,CACjBnB,OAAO,CAACoB,MAAM,CAACnB,MAAM,CAACc,aAAa,CAAC,EACpCf,OAAO,CAACqB,GAAG,CAACpB,MAAM,CAACqB,mBAAmB,CAAC;GAE1C,CAAC;AACJ,CAAC;AAED;;;;AAIA,OAAO,MAAMC,WAAW,GACtBC,CAKS,IAETzB,IAAI,CAAE0B,IAAI,IAAK9B,MAAM,CAAC+B,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAACE,MAA+B,EAAEC,OAI1E,KAAI;EACH,MAAMC,KAAK,GAAGD,OAAO,EAAEE,qBAAqB,KAAK,IAAI,GACjDnC,MAAM,CAACoC,OAAO,CAACJ,MAAM,EAAE;IACvBK,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CAAC,GACAb,MAAM,CAACoC,OAAO,CACdpC,MAAM,CAACwC,aAAa,CAACR,MAAM,EAAGpB,KAAK,IAAI;IACrC,IAAIb,KAAK,CAACY,iBAAiB,CAACC,KAAK,CAAC,EAAE;MAClC,OAAOZ,MAAM,CAACyC,IAAI;IACpB;IACA,OAAOzC,MAAM,CAAC0C,QAAQ,CAAC9B,KAAK,CAAC;EAC/B,CAAC,CAAC,EACF;IACEyB,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CACF;EACH,MAAM8B,QAAQ,GAAGV,OAAO,EAAEU,QAAQ,IAAIpC,eAAe;EACrD,OAAOsB,CAAC,CAAC;IAAEK,KAAK;IAAES;EAAQ,CAAE,CAAC;AAC/B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Cause from "effect/Cause";
5
+ import * as Either from "effect/Either";
6
+ import { dual } from "effect/Function";
7
+ import * as UrlParams from "./UrlParams.js";
8
+ /**
9
+ * Parses a URL string into a `URL` object, returning an `Either` type for safe
10
+ * error handling.
11
+ *
12
+ * **Details**
13
+ *
14
+ * This function converts a string into a `URL` object, enabling safe URL
15
+ * parsing with built-in error handling. If the string is invalid or fails to
16
+ * parse, this function does not throw an error; instead, it wraps the error in
17
+ * a `IllegalArgumentException` and returns it as the `Left` value of an
18
+ * `Either`. The `Right` value contains the successfully parsed `URL`.
19
+ *
20
+ * An optional `base` parameter can be provided to resolve relative URLs. If
21
+ * specified, the function interprets the input `url` as relative to this
22
+ * `base`. This is especially useful when dealing with URLs that might not be
23
+ * fully qualified.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * import { Url } from "@effect/platform"
28
+ * import { Either } from "effect"
29
+ *
30
+ * // Parse an absolute URL
31
+ * //
32
+ * // ┌─── Either<URL, IllegalArgumentException>
33
+ * // ▼
34
+ * const parsed = Url.fromString("https://example.com/path")
35
+ *
36
+ * if (Either.isRight(parsed)) {
37
+ * console.log("Parsed URL:", parsed.right.toString())
38
+ * } else {
39
+ * console.log("Error:", parsed.left.message)
40
+ * }
41
+ * // Output: Parsed URL: https://example.com/path
42
+ *
43
+ * // Parse a relative URL with a base
44
+ * const relativeParsed = Url.fromString("/relative-path", "https://example.com")
45
+ *
46
+ * if (Either.isRight(relativeParsed)) {
47
+ * console.log("Parsed relative URL:", relativeParsed.right.toString())
48
+ * } else {
49
+ * console.log("Error:", relativeParsed.left.message)
50
+ * }
51
+ * // Output: Parsed relative URL: https://example.com/relative-path
52
+ * ```
53
+ *
54
+ * @since 1.0.0
55
+ * @category Constructors
56
+ */
57
+ export const fromString = (url, base) => Either.try({
58
+ try: () => new URL(url, base),
59
+ catch: cause => new Cause.IllegalArgumentException(cause instanceof globalThis.Error ? cause.message : "Invalid input")
60
+ });
61
+ /**
62
+ * This function clones the original `URL` object and applies a callback to the
63
+ * clone, allowing multiple updates at once.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * import { Url } from "@effect/platform"
68
+ *
69
+ * const myUrl = new URL("https://example.com")
70
+ *
71
+ * const mutatedUrl = Url.mutate(myUrl, (url) => {
72
+ * url.username = "user"
73
+ * url.password = "pass"
74
+ * })
75
+ *
76
+ * console.log("Mutated:", mutatedUrl.toString())
77
+ * // Output: Mutated: https://user:pass@example.com/
78
+ * ```
79
+ *
80
+ * @since 1.0.0
81
+ * @category Modifiers
82
+ */
83
+ export const mutate = /*#__PURE__*/dual(2, (self, f) => {
84
+ const copy = new URL(self);
85
+ f(copy);
86
+ return copy;
87
+ });
88
+ /** @internal */
89
+ const immutableURLSetter = property => dual(2, (url, value) => mutate(url, url => {
90
+ url[property] = value;
91
+ }));
92
+ /**
93
+ * Updates the hash fragment of the URL.
94
+ *
95
+ * @since 1.0.0
96
+ * @category Setters
97
+ */
98
+ export const setHash = /*#__PURE__*/immutableURLSetter("hash");
99
+ /**
100
+ * Updates the host (domain and port) of the URL.
101
+ *
102
+ * @since 1.0.0
103
+ * @category Setters
104
+ */
105
+ export const setHost = /*#__PURE__*/immutableURLSetter("host");
106
+ /**
107
+ * Updates the domain of the URL without modifying the port.
108
+ *
109
+ * @since 1.0.0
110
+ * @category Setters
111
+ */
112
+ export const setHostname = /*#__PURE__*/immutableURLSetter("hostname");
113
+ /**
114
+ * Replaces the entire URL string.
115
+ *
116
+ * @since 1.0.0
117
+ * @category Setters
118
+ */
119
+ export const setHref = /*#__PURE__*/immutableURLSetter("href");
120
+ /**
121
+ * Updates the password used for authentication.
122
+ *
123
+ * @since 1.0.0
124
+ * @category Setters
125
+ */
126
+ export const setPassword = /*#__PURE__*/immutableURLSetter("password");
127
+ /**
128
+ * Updates the path of the URL.
129
+ *
130
+ * @since 1.0.0
131
+ * @category Setters
132
+ */
133
+ export const setPathname = /*#__PURE__*/immutableURLSetter("pathname");
134
+ /**
135
+ * Updates the port of the URL.
136
+ *
137
+ * @since 1.0.0
138
+ * @category Setters
139
+ */
140
+ export const setPort = /*#__PURE__*/immutableURLSetter("port");
141
+ /**
142
+ * Updates the protocol (e.g., `http`, `https`).
143
+ *
144
+ * @since 1.0.0
145
+ * @category Setters
146
+ */
147
+ export const setProtocol = /*#__PURE__*/immutableURLSetter("protocol");
148
+ /**
149
+ * Updates the query string of the URL.
150
+ *
151
+ * @since 1.0.0
152
+ * @category Setters
153
+ */
154
+ export const setSearch = /*#__PURE__*/immutableURLSetter("search");
155
+ /**
156
+ * Updates the username used for authentication.
157
+ *
158
+ * @since 1.0.0
159
+ * @category Setters
160
+ */
161
+ export const setUsername = /*#__PURE__*/immutableURLSetter("username");
162
+ /**
163
+ * Updates the query parameters of a URL.
164
+ *
165
+ * **Details**
166
+ *
167
+ * This function allows you to set or replace the query parameters of a `URL`
168
+ * object using the provided `UrlParams`. It creates a new `URL` object with the
169
+ * updated parameters, leaving the original object unchanged.
170
+ *
171
+ * @example
172
+ * ```ts
173
+ * import { Url, UrlParams } from "@effect/platform"
174
+ *
175
+ * const myUrl = new URL("https://example.com?foo=bar")
176
+ *
177
+ * // Write parameters
178
+ * const updatedUrl = Url.setUrlParams(
179
+ * myUrl,
180
+ * UrlParams.fromInput([["key", "value"]])
181
+ * )
182
+ *
183
+ * console.log(updatedUrl.toString())
184
+ * // Output: https://example.com/?key=value
185
+ * ```
186
+ *
187
+ * @since 1.0.0
188
+ * @category Setters
189
+ */
190
+ export const setUrlParams = /*#__PURE__*/dual(2, (url, searchParams) => mutate(url, url => {
191
+ url.search = UrlParams.toString(searchParams);
192
+ }));
193
+ /**
194
+ * Retrieves the query parameters from a URL.
195
+ *
196
+ * **Details**
197
+ *
198
+ * This function extracts the query parameters from a `URL` object and returns
199
+ * them as `UrlParams`. The resulting structure can be easily manipulated or
200
+ * inspected.
201
+ *
202
+ * @example
203
+ * ```ts
204
+ * import { Url } from "@effect/platform"
205
+ *
206
+ * const myUrl = new URL("https://example.com?foo=bar")
207
+ *
208
+ * // Read parameters
209
+ * const params = Url.urlParams(myUrl)
210
+ *
211
+ * console.log(params)
212
+ * // Output: [ [ 'foo', 'bar' ] ]
213
+ * ```
214
+ *
215
+ * @since 1.0.0
216
+ * @category Getters
217
+ */
218
+ export const urlParams = url => UrlParams.fromInput(url.searchParams);
219
+ /**
220
+ * Reads, modifies, and updates the query parameters of a URL.
221
+ *
222
+ * **Details**
223
+ *
224
+ * This function provides a functional way to interact with query parameters by
225
+ * reading the current parameters, applying a transformation function, and then
226
+ * writing the updated parameters back to the URL. It returns a new `URL` object
227
+ * with the modified parameters, ensuring immutability.
228
+ *
229
+ * @example
230
+ * ```ts
231
+ * import { Url, UrlParams } from "@effect/platform"
232
+ *
233
+ * const myUrl = new URL("https://example.com?foo=bar")
234
+ *
235
+ * const changedUrl = Url.modifyUrlParams(myUrl, UrlParams.append("key", "value"))
236
+ *
237
+ * console.log(changedUrl.toString())
238
+ * // Output: https://example.com/?foo=bar&key=value
239
+ * ```
240
+ *
241
+ * @since 1.0.0
242
+ * @category Modifiers
243
+ */
244
+ export const modifyUrlParams = /*#__PURE__*/dual(2, (url, f) => mutate(url, url => {
245
+ const params = f(UrlParams.fromInput(url.searchParams));
246
+ url.search = UrlParams.toString(params);
247
+ }));
248
+ //# sourceMappingURL=Url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Url.js","names":["Cause","Either","dual","UrlParams","fromString","url","base","try","URL","catch","cause","IllegalArgumentException","globalThis","Error","message","mutate","self","f","copy","immutableURLSetter","property","value","setHash","setHost","setHostname","setHref","setPassword","setPathname","setPort","setProtocol","setSearch","setUsername","setUrlParams","searchParams","search","toString","urlParams","fromInput","modifyUrlParams","params"],"sources":["../../src/Url.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -199,6 +199,10 @@ export * as Terminal from "./Terminal.js";
199
199
  * @since 1.0.0
200
200
  */
201
201
  export * as Transferable from "./Transferable.js";
202
+ /**
203
+ * @since 1.0.0
204
+ */
205
+ export * as Url from "./Url.js";
202
206
  /**
203
207
  * @since 1.0.0
204
208
  */