@effect/platform 0.93.1 → 0.93.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"httpApiSwagger.js","names":["javascript","css"],"sources":["../../../src/internal/httpApiSwagger.ts"],"sourcesContent":[null],"mappings":"AAAA,oBAEA,gBACA,MAAO,MAAM,CAAAA,UAAU,CAAG,m1lpDAAm1lpD,CAE72lpD,gBACA,MAAO,MAAM,CAAAC,GAAG,CAAG,wopJAAwopJ","ignoreList":[]}
1
+ {"version":3,"file":"httpApiSwagger.js","names":["javascript","css"],"sources":["../../../src/internal/httpApiSwagger.ts"],"sourcesContent":[null],"mappings":"AAAA,oBAEA,gBACA,MAAO,MAAM,CAAAA,UAAU,CAAG,s7iuDAAs7iuD,CAEh9iuD,gBACA,MAAO,MAAM,CAAAC,GAAG,CAAG,otvJAAotvJ","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.93.1",
3
+ "version": "0.93.2",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -29,20 +29,6 @@ export type ScalarThemeId =
29
29
  | "mars"
30
30
  | "none"
31
31
 
32
- /**
33
- * @since 1.0.0
34
- * @category model
35
- *
36
- * cdn: `https://cdn.jsdelivr.net/npm/@scalar/api-reference@${source.version}/dist/browser/standalone.min.js`
37
- */
38
- export type ScalarScriptSource =
39
- | string
40
- | { type: "default" }
41
- | {
42
- type: "cdn"
43
- version?: "latest" | (string & {})
44
- }
45
-
46
32
  /**
47
33
  * @see https://github.com/scalar/scalar/blob/main/documentation/configuration.md
48
34
  *
@@ -124,22 +110,18 @@ export type ScalarConfig = {
124
110
 
125
111
  const makeHandler = (options: {
126
112
  readonly api: HttpApi.HttpApi.Any
127
- readonly source?: ScalarScriptSource
113
+ readonly source: {
114
+ readonly _tag: "Cdn"
115
+ readonly version?: string | undefined
116
+ } | {
117
+ readonly _tag: "Inline"
118
+ readonly source: string
119
+ }
128
120
  readonly scalar?: ScalarConfig
129
121
  }) => {
130
122
  const spec = OpenApi.fromApi(options.api as any)
131
123
 
132
124
  const source = options?.source
133
- const defaultScript = internal.javascript
134
- const src: string | null = source
135
- ? typeof source === "string"
136
- ? source
137
- : source.type === "cdn"
138
- ? `https://cdn.jsdelivr.net/npm/@scalar/api-reference@${
139
- source.version ?? "latest"
140
- }/dist/browser/standalone.min.js`
141
- : null
142
- : null
143
125
 
144
126
  const scalarConfig = {
145
127
  _integration: "http",
@@ -173,9 +155,11 @@ const makeHandler = (options: {
173
155
  document.getElementById('api-reference').dataset.configuration = JSON.stringify(${Html.escapeJson(scalarConfig)})
174
156
  </script>
175
157
  ${
176
- src
177
- ? `<script src="${src}" crossorigin></script>`
178
- : `<script>${defaultScript}</script>`
158
+ source._tag === "Cdn"
159
+ ? `<script src="${`https://cdn.jsdelivr.net/npm/@scalar/api-reference@${
160
+ source.version ?? "latest"
161
+ }/dist/browser/standalone.min.js`}" crossorigin></script>`
162
+ : `<script>${source.source}</script>`
179
163
  }
180
164
  </body>
181
165
  </html>`)
@@ -189,13 +173,43 @@ const makeHandler = (options: {
189
173
  */
190
174
  export const layer = (options?: {
191
175
  readonly path?: `/${string}` | undefined
192
- readonly source?: ScalarScriptSource
193
176
  readonly scalar?: ScalarConfig
194
177
  }): Layer.Layer<never, never, Api> =>
195
178
  Router.use((router) =>
196
179
  Effect.gen(function*() {
197
180
  const { api } = yield* Api
198
- const handler = makeHandler({ ...options, api })
181
+ const handler = makeHandler({
182
+ ...options,
183
+ api,
184
+ source: {
185
+ _tag: "Inline",
186
+ source: internal.javascript
187
+ }
188
+ })
189
+ yield* router.get(options?.path ?? "/docs", handler)
190
+ })
191
+ )
192
+
193
+ /**
194
+ * @since 1.0.0
195
+ * @category layers
196
+ */
197
+ export const layerCdn = (options?: {
198
+ readonly path?: `/${string}` | undefined
199
+ readonly scalar?: ScalarConfig
200
+ readonly version?: string | undefined
201
+ }): Layer.Layer<never, never, Api> =>
202
+ Router.use((router) =>
203
+ Effect.gen(function*() {
204
+ const { api } = yield* Api
205
+ const handler = makeHandler({
206
+ ...options,
207
+ api,
208
+ source: {
209
+ _tag: "Cdn",
210
+ version: options?.version
211
+ }
212
+ })
199
213
  yield* router.get(options?.path ?? "/docs", handler)
200
214
  })
201
215
  )
@@ -208,7 +222,6 @@ export const layerHttpLayerRouter: (
208
222
  options: {
209
223
  readonly api: HttpApi.HttpApi.Any
210
224
  readonly path: `/${string}`
211
- readonly source?: ScalarScriptSource
212
225
  readonly scalar?: ScalarConfig
213
226
  }
214
227
  ) => Layer.Layer<
@@ -218,10 +231,47 @@ export const layerHttpLayerRouter: (
218
231
  > = Effect.fnUntraced(function*(options: {
219
232
  readonly api: HttpApi.HttpApi.Any
220
233
  readonly path: `/${string}`
221
- readonly source?: ScalarScriptSource
222
234
  readonly scalar?: ScalarConfig
223
235
  }) {
224
236
  const router = yield* HttpLayerRouter.HttpRouter
225
- const handler = makeHandler(options)
237
+ const handler = makeHandler({
238
+ ...options,
239
+ source: {
240
+ _tag: "Inline",
241
+ source: internal.javascript
242
+ }
243
+ })
244
+ yield* router.add("GET", options.path, handler)
245
+ }, Layer.effectDiscard)
246
+
247
+ /**
248
+ * @since 1.0.0
249
+ * @category layers
250
+ */
251
+ export const layerHttpLayerRouterCdn: (
252
+ options: {
253
+ readonly api: HttpApi.HttpApi.Any
254
+ readonly path: `/${string}`
255
+ readonly version?: string | undefined
256
+ readonly scalar?: ScalarConfig
257
+ }
258
+ ) => Layer.Layer<
259
+ never,
260
+ never,
261
+ HttpLayerRouter.HttpRouter
262
+ > = Effect.fnUntraced(function*(options: {
263
+ readonly api: HttpApi.HttpApi.Any
264
+ readonly path: `/${string}`
265
+ readonly version?: string | undefined
266
+ readonly scalar?: ScalarConfig
267
+ }) {
268
+ const router = yield* HttpLayerRouter.HttpRouter
269
+ const handler = makeHandler({
270
+ ...options,
271
+ source: {
272
+ _tag: "Cdn",
273
+ version: options?.version
274
+ }
275
+ })
226
276
  yield* router.add("GET", options.path, handler)
227
277
  }, Layer.effectDiscard)