@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.
- package/dist/cjs/HttpApiScalar.js +48 -6
- package/dist/cjs/HttpApiScalar.js.map +1 -1
- package/dist/cjs/internal/httpApiScalar.js +1 -1
- package/dist/cjs/internal/httpApiScalar.js.map +1 -1
- package/dist/cjs/internal/httpApiSwagger.js +1 -1
- package/dist/cjs/internal/httpApiSwagger.js.map +1 -1
- package/dist/dts/HttpApiScalar.d.ts +19 -14
- package/dist/dts/HttpApiScalar.d.ts.map +1 -1
- package/dist/esm/HttpApiScalar.js +45 -4
- package/dist/esm/HttpApiScalar.js.map +1 -1
- package/dist/esm/internal/httpApiScalar.js +1 -1
- package/dist/esm/internal/httpApiScalar.js.map +1 -1
- package/dist/esm/internal/httpApiSwagger.js +1 -1
- package/dist/esm/internal/httpApiSwagger.js.map +1 -1
- package/package.json +1 -1
- package/src/HttpApiScalar.ts +83 -33
- package/src/internal/httpApiScalar.ts +1 -1
- package/src/internal/httpApiSwagger.ts +2 -2
|
@@ -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,
|
|
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
package/src/HttpApiScalar.ts
CHANGED
|
@@ -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
|
|
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
|
-
|
|
177
|
-
? `<script src="${
|
|
178
|
-
|
|
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({
|
|
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(
|
|
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)
|