effect-start 0.23.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ChildProcess.js +32 -20
- package/dist/Commander.js +377 -293
- package/dist/ContentNegotiation.js +424 -318
- package/dist/Cookies.js +340 -271
- package/dist/Development.js +85 -49
- package/dist/Effectify.js +22 -14
- package/dist/Entity.js +260 -195
- package/dist/Fetch.js +192 -0
- package/dist/FilePathPattern.js +88 -77
- package/dist/FileRouter.js +192 -136
- package/dist/FileRouterCodegen.js +262 -191
- package/dist/FileSystem.js +126 -64
- package/dist/Http.js +96 -77
- package/dist/PathPattern.js +311 -273
- package/dist/PlatformError.js +36 -21
- package/dist/PlatformRuntime.js +65 -40
- package/dist/Route.js +122 -79
- package/dist/RouteBody.js +83 -58
- package/dist/RouteError.js +46 -25
- package/dist/RouteHook.js +58 -34
- package/dist/RouteHttp.js +346 -237
- package/dist/RouteHttpTracer.js +86 -58
- package/dist/RouteMount.js +81 -58
- package/dist/RouteSchema.js +253 -170
- package/dist/RouteSse.js +87 -72
- package/dist/RouteTree.js +99 -73
- package/dist/RouteTrie.js +160 -133
- package/dist/SchemaExtra.js +87 -62
- package/dist/Socket.js +32 -21
- package/dist/SqlIntrospect.js +317 -268
- package/dist/Start.js +55 -25
- package/dist/StartApp.js +3 -21
- package/dist/StreamExtra.js +109 -74
- package/dist/System.js +37 -21
- package/dist/TuplePathPattern.js +64 -58
- package/dist/Unique.js +159 -120
- package/dist/Values.js +48 -32
- package/dist/bun/BunBundle.js +158 -109
- package/dist/bun/BunChildProcessSpawner.js +121 -82
- package/dist/bun/BunImportTrackerPlugin.js +85 -63
- package/dist/bun/BunRoute.js +135 -99
- package/dist/bun/BunRuntime.js +39 -29
- package/dist/bun/BunServer.js +268 -140
- package/dist/bun/BunVirtualFilesPlugin.js +47 -33
- package/dist/bun/_BunEnhancedResolve.js +107 -82
- package/dist/bun/index.js +5 -5
- package/dist/bundler/Bundle.js +82 -38
- package/dist/bundler/BundleFiles.js +140 -82
- package/dist/bundler/BundleRoute.js +49 -38
- package/dist/client/Overlay.js +29 -28
- package/dist/client/ScrollState.js +94 -82
- package/dist/client/index.js +79 -61
- package/dist/console/Console.js +40 -24
- package/dist/console/ConsoleErrors.js +189 -178
- package/dist/console/ConsoleLogger.js +52 -43
- package/dist/console/ConsoleMetrics.js +69 -58
- package/dist/console/ConsoleProcess.js +57 -47
- package/dist/console/ConsoleStore.js +56 -45
- package/dist/console/ConsoleTracer.js +101 -88
- package/dist/console/Simulation.js +714 -563
- package/dist/console/index.js +3 -3
- package/dist/console/routes/tree.js +29 -28
- package/dist/datastar/actions/fetch.js +514 -381
- package/dist/datastar/actions/peek.js +12 -12
- package/dist/datastar/actions/setAll.js +18 -11
- package/dist/datastar/actions/toggleAll.js +18 -11
- package/dist/datastar/attributes/attr.js +48 -47
- package/dist/datastar/attributes/bind.js +186 -167
- package/dist/datastar/attributes/class.js +51 -44
- package/dist/datastar/attributes/computed.js +23 -24
- package/dist/datastar/attributes/effect.js +9 -8
- package/dist/datastar/attributes/indicator.js +32 -29
- package/dist/datastar/attributes/init.js +26 -25
- package/dist/datastar/attributes/jsonSignals.js +32 -29
- package/dist/datastar/attributes/on.js +76 -73
- package/dist/datastar/attributes/onIntersect.js +51 -51
- package/dist/datastar/attributes/onInterval.js +30 -29
- package/dist/datastar/attributes/onSignalPatch.js +49 -40
- package/dist/datastar/attributes/ref.js +10 -9
- package/dist/datastar/attributes/show.js +31 -30
- package/dist/datastar/attributes/signals.js +17 -16
- package/dist/datastar/attributes/style.js +56 -49
- package/dist/datastar/attributes/text.js +28 -25
- package/dist/datastar/engine.js +1079 -933
- package/dist/datastar/index.js +25 -24
- package/dist/datastar/utils.js +203 -155
- package/dist/datastar/watchers/patchElements.js +459 -372
- package/dist/datastar/watchers/patchSignals.js +13 -13
- package/dist/experimental/EncryptedCookies.js +305 -189
- package/dist/experimental/index.js +1 -1
- package/dist/hyper/Hyper.js +22 -17
- package/dist/hyper/HyperHtml.js +138 -123
- package/dist/hyper/HyperNode.js +11 -9
- package/dist/hyper/HyperRoute.js +41 -28
- package/dist/hyper/html.js +27 -27
- package/dist/hyper/index.js +5 -5
- package/dist/hyper/jsx-runtime.js +11 -5
- package/dist/index.js +8 -8
- package/dist/node/NodeFileSystem.js +606 -341
- package/dist/node/NodeUtils.js +21 -18
- package/dist/sql/Sql.js +8 -0
- package/dist/sql/bun/index.js +134 -67
- package/dist/sql/index.js +1 -0
- package/dist/sql/libsql/index.js +156 -0
- package/dist/sql/mssql/docker.js +103 -60
- package/dist/sql/mssql/index.js +182 -101
- package/dist/testing/TestLogger.js +39 -29
- package/dist/testing/index.js +2 -2
- package/dist/testing/utils.js +45 -23
- package/dist/x/cloudflare/CloudflareTunnel.js +61 -28
- package/dist/x/cloudflare/index.js +1 -1
- package/dist/x/tailscale/TailscaleTunnel.js +86 -60
- package/dist/x/tailscale/index.js +1 -1
- package/dist/x/tailwind/TailwindPlugin.js +280 -205
- package/dist/x/tailwind/compile.js +185 -129
- package/dist/x/tailwind/plugin.js +13 -11
- package/package.json +1 -1
- package/src/Development.ts +3 -1
- package/src/Entity.ts +17 -0
- package/src/Fetch.ts +271 -0
- package/src/SqlIntrospect.ts +64 -70
- package/src/Start.ts +24 -22
- package/src/StartApp.ts +11 -0
- package/src/bun/BunServer.ts +89 -16
- package/src/hyper/HyperHtml.ts +0 -1
- package/src/sql/bun/index.ts +1 -1
- package/src/sql/index.ts +1 -0
- package/src/sql/libsql/index.ts +173 -0
- package/src/sql/libsql/libsql.d.ts +39 -0
- package/src/sql/mssql/index.ts +1 -1
- package/src/x/tailscale/TailscaleTunnel.ts +7 -5
- package/dist/BlobStore.d.ts +0 -80
- package/dist/BlobStore.js +0 -19
- package/dist/ChildProcess.d.ts +0 -60
- package/dist/Commander.d.ts +0 -100
- package/dist/ContentNegotiation.d.ts +0 -12
- package/dist/Cookies.d.ts +0 -47
- package/dist/Development.d.ts +0 -39
- package/dist/Effectify.d.ts +0 -209
- package/dist/Entity.d.ts +0 -47
- package/dist/FilePathPattern.d.ts +0 -29
- package/dist/FileRouter.d.ts +0 -56
- package/dist/FileRouterCodegen.d.ts +0 -18
- package/dist/FileRouterPattern.d.ts +0 -9
- package/dist/FileRouterPattern.js +0 -35
- package/dist/FileSystem.d.ts +0 -158
- package/dist/Http.d.ts +0 -37
- package/dist/HttpAppExtra.d.ts +0 -7
- package/dist/HttpAppExtra.js +0 -320
- package/dist/HttpUtils.d.ts +0 -3
- package/dist/HttpUtils.js +0 -11
- package/dist/PathPattern.d.ts +0 -134
- package/dist/PlatformError.d.ts +0 -38
- package/dist/PlatformRuntime.d.ts +0 -27
- package/dist/Route.d.ts +0 -97
- package/dist/RouteBody.d.ts +0 -47
- package/dist/RouteError.d.ts +0 -98
- package/dist/RouteHook.d.ts +0 -12
- package/dist/RouteHttp.d.ts +0 -21
- package/dist/RouteHttpTracer.d.ts +0 -10
- package/dist/RouteMount.d.ts +0 -86
- package/dist/RouteSchema.d.ts +0 -86
- package/dist/RouteSse.d.ts +0 -21
- package/dist/RouteTree.d.ts +0 -57
- package/dist/RouteTrie.d.ts +0 -20
- package/dist/RouterPattern.d.ts +0 -118
- package/dist/RouterPattern.js +0 -269
- package/dist/SchemaExtra.d.ts +0 -7
- package/dist/Socket.d.ts +0 -27
- package/dist/Sql.d.ts +0 -34
- package/dist/Sql.js +0 -5
- package/dist/SqlIntrospect.d.ts +0 -91
- package/dist/Start.d.ts +0 -44
- package/dist/StartApp.d.ts +0 -19
- package/dist/StreamExtra.d.ts +0 -28
- package/dist/System.d.ts +0 -7
- package/dist/TuplePathPattern.d.ts +0 -9
- package/dist/Unique.d.ts +0 -50
- package/dist/Values.d.ts +0 -27
- package/dist/bun/BunBlobStoreDisk.d.ts +0 -6
- package/dist/bun/BunBlobStoreDisk.js +0 -116
- package/dist/bun/BunBlobStoreS3.d.ts +0 -11
- package/dist/bun/BunBlobStoreS3.js +0 -89
- package/dist/bun/BunBlobWatcherDisk.d.ts +0 -6
- package/dist/bun/BunBlobWatcherDisk.js +0 -60
- package/dist/bun/BunBlobWatcherQueue.d.ts +0 -6
- package/dist/bun/BunBlobWatcherQueue.js +0 -17
- package/dist/bun/BunBundle.d.ts +0 -11
- package/dist/bun/BunChildProcessSpawner.d.ts +0 -3
- package/dist/bun/BunHttpServer.d.ts +0 -44
- package/dist/bun/BunHttpServer.js +0 -186
- package/dist/bun/BunHttpServer_web.d.ts +0 -60
- package/dist/bun/BunHttpServer_web.js +0 -252
- package/dist/bun/BunImportTrackerPlugin.d.ts +0 -13
- package/dist/bun/BunPlatformHttpServer.d.ts +0 -10
- package/dist/bun/BunPlatformHttpServer.js +0 -53
- package/dist/bun/BunRoute.d.ts +0 -48
- package/dist/bun/BunRuntime.d.ts +0 -2
- package/dist/bun/BunServer.d.ts +0 -40
- package/dist/bun/BunServerRequest.d.ts +0 -60
- package/dist/bun/BunServerRequest.js +0 -252
- package/dist/bun/BunSql.d.ts +0 -4
- package/dist/bun/BunSql.js +0 -81
- package/dist/bun/BunVirtualFilesPlugin.d.ts +0 -4
- package/dist/bun/_BunEnhancedResolve.d.ts +0 -45
- package/dist/bun/index.d.ts +0 -5
- package/dist/bundler/Bundle.d.ts +0 -61
- package/dist/bundler/BundleFiles.d.ts +0 -13
- package/dist/bundler/BundleHttp.d.ts +0 -45
- package/dist/bundler/BundleHttp.js +0 -176
- package/dist/bundler/BundleRoute.d.ts +0 -27
- package/dist/client/Overlay.d.ts +0 -2
- package/dist/client/ScrollState.d.ts +0 -6
- package/dist/client/index.d.ts +0 -6
- package/dist/console/Console.d.ts +0 -6
- package/dist/console/ConsoleErrors.d.ts +0 -3
- package/dist/console/ConsoleLogger.d.ts +0 -3
- package/dist/console/ConsoleMetrics.d.ts +0 -3
- package/dist/console/ConsoleProcess.d.ts +0 -3
- package/dist/console/ConsoleStore.d.ts +0 -144
- package/dist/console/ConsoleTracer.d.ts +0 -3
- package/dist/console/Simulation.d.ts +0 -2
- package/dist/console/index.d.ts +0 -3
- package/dist/console/routes/errors/route.d.ts +0 -10
- package/dist/console/routes/errors/route.js +0 -47
- package/dist/console/routes/fiberDetail.d.ts +0 -16
- package/dist/console/routes/fiberDetail.js +0 -38
- package/dist/console/routes/fibers/route.d.ts +0 -10
- package/dist/console/routes/fibers/route.js +0 -19
- package/dist/console/routes/git/route.d.ts +0 -11
- package/dist/console/routes/git/route.js +0 -33
- package/dist/console/routes/layout.d.ts +0 -9
- package/dist/console/routes/layout.js +0 -3
- package/dist/console/routes/logs/route.d.ts +0 -10
- package/dist/console/routes/logs/route.js +0 -32
- package/dist/console/routes/metrics/route.d.ts +0 -10
- package/dist/console/routes/metrics/route.js +0 -17
- package/dist/console/routes/route.d.ts +0 -6
- package/dist/console/routes/route.js +0 -5
- package/dist/console/routes/routes/route.d.ts +0 -6
- package/dist/console/routes/routes/route.js +0 -20
- package/dist/console/routes/services/route.d.ts +0 -6
- package/dist/console/routes/services/route.js +0 -12
- package/dist/console/routes/system/route.d.ts +0 -10
- package/dist/console/routes/system/route.js +0 -18
- package/dist/console/routes/traceDetail.d.ts +0 -16
- package/dist/console/routes/traceDetail.js +0 -14
- package/dist/console/routes/traces/route.d.ts +0 -10
- package/dist/console/routes/traces/route.js +0 -39
- package/dist/console/routes/tree.d.ts +0 -153
- package/dist/console/ui/Errors.d.ts +0 -4
- package/dist/console/ui/Errors.js +0 -15
- package/dist/console/ui/Fibers.d.ts +0 -24
- package/dist/console/ui/Fibers.js +0 -121
- package/dist/console/ui/Git.d.ts +0 -20
- package/dist/console/ui/Git.js +0 -95
- package/dist/console/ui/Logs.d.ts +0 -4
- package/dist/console/ui/Logs.js +0 -25
- package/dist/console/ui/Metrics.d.ts +0 -4
- package/dist/console/ui/Metrics.js +0 -26
- package/dist/console/ui/Routes.d.ts +0 -8
- package/dist/console/ui/Routes.js +0 -70
- package/dist/console/ui/Services.d.ts +0 -10
- package/dist/console/ui/Services.js +0 -246
- package/dist/console/ui/Shell.d.ts +0 -10
- package/dist/console/ui/Shell.js +0 -7
- package/dist/console/ui/System.d.ts +0 -4
- package/dist/console/ui/System.js +0 -35
- package/dist/console/ui/Traces.d.ts +0 -12
- package/dist/console/ui/Traces.js +0 -179
- package/dist/datastar/actions/fetch.d.ts +0 -30
- package/dist/datastar/actions/peek.d.ts +0 -1
- package/dist/datastar/actions/setAll.d.ts +0 -1
- package/dist/datastar/actions/toggleAll.d.ts +0 -1
- package/dist/datastar/attributes/attr.d.ts +0 -1
- package/dist/datastar/attributes/bind.d.ts +0 -1
- package/dist/datastar/attributes/class.d.ts +0 -1
- package/dist/datastar/attributes/computed.d.ts +0 -1
- package/dist/datastar/attributes/effect.d.ts +0 -1
- package/dist/datastar/attributes/indicator.d.ts +0 -1
- package/dist/datastar/attributes/init.d.ts +0 -1
- package/dist/datastar/attributes/jsonSignals.d.ts +0 -1
- package/dist/datastar/attributes/on.d.ts +0 -1
- package/dist/datastar/attributes/onIntersect.d.ts +0 -1
- package/dist/datastar/attributes/onInterval.d.ts +0 -1
- package/dist/datastar/attributes/onSignalPatch.d.ts +0 -1
- package/dist/datastar/attributes/ref.d.ts +0 -1
- package/dist/datastar/attributes/show.d.ts +0 -1
- package/dist/datastar/attributes/signals.d.ts +0 -1
- package/dist/datastar/attributes/style.d.ts +0 -1
- package/dist/datastar/attributes/text.d.ts +0 -1
- package/dist/datastar/engine.d.ts +0 -162
- package/dist/datastar/happydom.d.ts +0 -1
- package/dist/datastar/happydom.js +0 -8
- package/dist/datastar/index.d.ts +0 -24
- package/dist/datastar/load.d.ts +0 -24
- package/dist/datastar/load.js +0 -24
- package/dist/datastar/utils.d.ts +0 -51
- package/dist/datastar/watchers/patchElements.d.ts +0 -1
- package/dist/datastar/watchers/patchSignals.d.ts +0 -1
- package/dist/experimental/EncryptedCookies.d.ts +0 -48
- package/dist/experimental/SseHttpResponse.d.ts +0 -7
- package/dist/experimental/SseHttpResponse.js +0 -28
- package/dist/experimental/index.d.ts +0 -1
- package/dist/hyper/Hyper.d.ts +0 -25
- package/dist/hyper/HyperHtml.d.ts +0 -23
- package/dist/hyper/HyperHtml.test.d.ts +0 -1
- package/dist/hyper/HyperHtml.test.js +0 -197
- package/dist/hyper/HyperNode.d.ts +0 -14
- package/dist/hyper/HyperRoute.d.ts +0 -8
- package/dist/hyper/HyperRoute.test.d.ts +0 -1
- package/dist/hyper/HyperRoute.test.js +0 -83
- package/dist/hyper/html.d.ts +0 -11
- package/dist/hyper/index.d.ts +0 -6
- package/dist/hyper/jsx-runtime.d.ts +0 -7
- package/dist/index.d.ts +0 -8
- package/dist/inference_check.d.ts +0 -1
- package/dist/inference_check.js +0 -15
- package/dist/lint/plugin.d.ts +0 -86
- package/dist/lint/plugin.js +0 -341
- package/dist/middlewares/BasicAuthMiddleware.d.ts +0 -8
- package/dist/middlewares/BasicAuthMiddleware.js +0 -22
- package/dist/middlewares/index.d.ts +0 -1
- package/dist/middlewares/index.js +0 -1
- package/dist/node/Effectify.d.ts +0 -209
- package/dist/node/Effectify.js +0 -19
- package/dist/node/FileSystem.d.ts +0 -7
- package/dist/node/FileSystem.js +0 -420
- package/dist/node/NodeFileSystem.d.ts +0 -7
- package/dist/node/NodeUtils.d.ts +0 -2
- package/dist/node/PlatformError.d.ts +0 -46
- package/dist/node/PlatformError.js +0 -43
- package/dist/node/Utils.d.ts +0 -1
- package/dist/node/Utils.js +0 -19
- package/dist/repro_fail.d.ts +0 -1
- package/dist/repro_fail.js +0 -14
- package/dist/sql/bun/index.d.ts +0 -3
- package/dist/sql/mssql/docker.d.ts +0 -2
- package/dist/sql/mssql/index.d.ts +0 -21
- package/dist/testing/TestHttpClient.d.ts +0 -13
- package/dist/testing/TestHttpClient.js +0 -68
- package/dist/testing/TestLogger.d.ts +0 -13
- package/dist/testing/index.d.ts +0 -2
- package/dist/testing/utils.d.ts +0 -9
- package/dist/x/cloudflare/CloudflareTunnel.d.ts +0 -10
- package/dist/x/cloudflare/index.d.ts +0 -1
- package/dist/x/datastar/Datastar.d.ts +0 -6
- package/dist/x/datastar/Datastar.js +0 -47
- package/dist/x/datastar/index.d.ts +0 -1
- package/dist/x/datastar/index.js +0 -1
- package/dist/x/tailscale/TailscaleTunnel.d.ts +0 -15
- package/dist/x/tailscale/index.d.ts +0 -1
- package/dist/x/tailwind/TailwindPlugin.d.ts +0 -23
- package/dist/x/tailwind/compile.d.ts +0 -19
- package/dist/x/tailwind/plugin.d.ts +0 -2
- /package/src/{Sql.ts → sql/Sql.ts} +0 -0
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
import * as Cookies from "@effect/platform/Cookies";
|
|
2
|
-
import * as Headers from "@effect/platform/Headers";
|
|
3
|
-
import * as HttpApp from "@effect/platform/HttpApp";
|
|
4
|
-
import * as HttpIncomingMessage from "@effect/platform/HttpIncomingMessage";
|
|
5
|
-
import * as HttpServerError from "@effect/platform/HttpServerError";
|
|
6
|
-
import * as HttpServerRequest from "@effect/platform/HttpServerRequest";
|
|
7
|
-
import * as Socket from "@effect/platform/Socket";
|
|
8
|
-
import * as UrlParams from "@effect/platform/UrlParams";
|
|
9
|
-
import * as Deferred from "effect/Deferred";
|
|
10
|
-
import * as Effect from "effect/Effect";
|
|
11
|
-
import * as FiberSet from "effect/FiberSet";
|
|
12
|
-
import * as Inspectable from "effect/Inspectable";
|
|
13
|
-
import * as Option from "effect/Option";
|
|
14
|
-
import * as Stream from "effect/Stream";
|
|
15
|
-
export class ServerRequestImpl extends Inspectable.Class {
|
|
16
|
-
[HttpServerRequest.TypeId];
|
|
17
|
-
[HttpIncomingMessage.TypeId];
|
|
18
|
-
source;
|
|
19
|
-
resolve;
|
|
20
|
-
url;
|
|
21
|
-
bunServer;
|
|
22
|
-
headersOverride;
|
|
23
|
-
remoteAddressOverride;
|
|
24
|
-
constructor(source, resolve, url, bunServer, headersOverride, remoteAddressOverride) {
|
|
25
|
-
super();
|
|
26
|
-
this[HttpServerRequest.TypeId] = HttpServerRequest.TypeId;
|
|
27
|
-
this[HttpIncomingMessage.TypeId] = HttpIncomingMessage.TypeId;
|
|
28
|
-
this.source = source;
|
|
29
|
-
this.resolve = resolve;
|
|
30
|
-
this.url = url;
|
|
31
|
-
this.bunServer = bunServer;
|
|
32
|
-
this.headersOverride = headersOverride;
|
|
33
|
-
this.remoteAddressOverride = remoteAddressOverride;
|
|
34
|
-
}
|
|
35
|
-
toJSON() {
|
|
36
|
-
return HttpIncomingMessage.inspect(this, {
|
|
37
|
-
_id: "@effect/platform/HttpServerRequest",
|
|
38
|
-
method: this.method,
|
|
39
|
-
url: this.originalUrl,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
modify(options) {
|
|
43
|
-
return new ServerRequestImpl(this.source, this.resolve, options.url ?? this.url, this.bunServer, options.headers ?? this.headersOverride, options.remoteAddress ?? this.remoteAddressOverride);
|
|
44
|
-
}
|
|
45
|
-
get method() {
|
|
46
|
-
return this.source.method.toUpperCase();
|
|
47
|
-
}
|
|
48
|
-
get originalUrl() {
|
|
49
|
-
return this.source.url;
|
|
50
|
-
}
|
|
51
|
-
get remoteAddress() {
|
|
52
|
-
return this.remoteAddressOverride
|
|
53
|
-
? Option.some(this.remoteAddressOverride)
|
|
54
|
-
: Option.fromNullable(this.bunServer.requestIP(this.source)?.address);
|
|
55
|
-
}
|
|
56
|
-
get headers() {
|
|
57
|
-
this.headersOverride ??= Headers.fromInput(this.source.headers);
|
|
58
|
-
return this.headersOverride;
|
|
59
|
-
}
|
|
60
|
-
cachedCookies;
|
|
61
|
-
get cookies() {
|
|
62
|
-
if (this.cachedCookies) {
|
|
63
|
-
return this.cachedCookies;
|
|
64
|
-
}
|
|
65
|
-
return this.cachedCookies = Cookies.parseHeader(this.headers.cookie ?? "");
|
|
66
|
-
}
|
|
67
|
-
get stream() {
|
|
68
|
-
return this.source.body
|
|
69
|
-
? Stream.fromReadableStream(() => this.source.body, (cause) => new HttpServerError.RequestError({
|
|
70
|
-
request: this,
|
|
71
|
-
reason: "Decode",
|
|
72
|
-
cause,
|
|
73
|
-
}))
|
|
74
|
-
: Stream.fail(new HttpServerError.RequestError({
|
|
75
|
-
request: this,
|
|
76
|
-
reason: "Decode",
|
|
77
|
-
description: "can not create stream from empty body",
|
|
78
|
-
}));
|
|
79
|
-
}
|
|
80
|
-
textEffect;
|
|
81
|
-
get text() {
|
|
82
|
-
if (this.textEffect) {
|
|
83
|
-
return this.textEffect;
|
|
84
|
-
}
|
|
85
|
-
this.textEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
|
|
86
|
-
try: () => this.source.text(),
|
|
87
|
-
catch: (cause) => new HttpServerError.RequestError({
|
|
88
|
-
request: this,
|
|
89
|
-
reason: "Decode",
|
|
90
|
-
cause,
|
|
91
|
-
}),
|
|
92
|
-
})));
|
|
93
|
-
return this.textEffect;
|
|
94
|
-
}
|
|
95
|
-
get json() {
|
|
96
|
-
return Effect.tryMap(this.text, {
|
|
97
|
-
try: (_) => JSON.parse(_),
|
|
98
|
-
catch: (cause) => new HttpServerError.RequestError({
|
|
99
|
-
request: this,
|
|
100
|
-
reason: "Decode",
|
|
101
|
-
cause,
|
|
102
|
-
}),
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
get urlParamsBody() {
|
|
106
|
-
return Effect.flatMap(this.text, (_) => Effect.try({
|
|
107
|
-
try: () => UrlParams.fromInput(new URLSearchParams(_)),
|
|
108
|
-
catch: (cause) => new HttpServerError.RequestError({
|
|
109
|
-
request: this,
|
|
110
|
-
reason: "Decode",
|
|
111
|
-
cause,
|
|
112
|
-
}),
|
|
113
|
-
}));
|
|
114
|
-
}
|
|
115
|
-
multipartEffect;
|
|
116
|
-
get multipart() {
|
|
117
|
-
if (this.multipartEffect) {
|
|
118
|
-
return this.multipartEffect;
|
|
119
|
-
}
|
|
120
|
-
this.multipartEffect = Effect.runSync(Effect.cached(Effect.die("Multipart not implemented")));
|
|
121
|
-
return this.multipartEffect;
|
|
122
|
-
}
|
|
123
|
-
get multipartStream() {
|
|
124
|
-
return Stream.die("Multipart stream not implemented");
|
|
125
|
-
}
|
|
126
|
-
arrayBufferEffect;
|
|
127
|
-
get arrayBuffer() {
|
|
128
|
-
if (this.arrayBufferEffect) {
|
|
129
|
-
return this.arrayBufferEffect;
|
|
130
|
-
}
|
|
131
|
-
this.arrayBufferEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
|
|
132
|
-
try: () => this.source.arrayBuffer(),
|
|
133
|
-
catch: (cause) => new HttpServerError.RequestError({
|
|
134
|
-
request: this,
|
|
135
|
-
reason: "Decode",
|
|
136
|
-
cause,
|
|
137
|
-
}),
|
|
138
|
-
})));
|
|
139
|
-
return this.arrayBufferEffect;
|
|
140
|
-
}
|
|
141
|
-
get upgrade() {
|
|
142
|
-
return Effect.flatMap(Effect.all([
|
|
143
|
-
Deferred.make(),
|
|
144
|
-
Deferred.make(),
|
|
145
|
-
Effect.makeSemaphore(1),
|
|
146
|
-
]), ([deferred, closeDeferred, semaphore]) => Effect.async((resume) => {
|
|
147
|
-
const success = this.bunServer.upgrade(this.source, {
|
|
148
|
-
data: {
|
|
149
|
-
deferred,
|
|
150
|
-
closeDeferred,
|
|
151
|
-
buffer: [],
|
|
152
|
-
run: wsDefaultRun,
|
|
153
|
-
},
|
|
154
|
-
});
|
|
155
|
-
if (!success) {
|
|
156
|
-
resume(Effect.fail(new HttpServerError.RequestError({
|
|
157
|
-
request: this,
|
|
158
|
-
reason: "Decode",
|
|
159
|
-
description: "Not an upgradeable ServerRequest",
|
|
160
|
-
})));
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
resume(Effect.map(Deferred.await(deferred), (ws) => {
|
|
164
|
-
const write = (chunk) => Effect.sync(() => {
|
|
165
|
-
if (typeof chunk === "string") {
|
|
166
|
-
ws.sendText(chunk);
|
|
167
|
-
}
|
|
168
|
-
else if (Socket.isCloseEvent(chunk)) {
|
|
169
|
-
ws.close(chunk.code, chunk.reason);
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
ws.sendBinary(chunk);
|
|
173
|
-
}
|
|
174
|
-
return true;
|
|
175
|
-
});
|
|
176
|
-
const writer = Effect.succeed(write);
|
|
177
|
-
const runRaw = Effect.fnUntraced(function* (handler, opts) {
|
|
178
|
-
const set = yield* FiberSet.make();
|
|
179
|
-
const run = yield* FiberSet.runtime(set)();
|
|
180
|
-
function runRawInner(data) {
|
|
181
|
-
const result = handler(data);
|
|
182
|
-
if (Effect.isEffect(result)) {
|
|
183
|
-
run(result);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
ws.data.run = runRawInner;
|
|
187
|
-
ws.data.buffer.forEach(runRawInner);
|
|
188
|
-
ws.data.buffer.length = 0;
|
|
189
|
-
if (opts?.onOpen)
|
|
190
|
-
yield* opts.onOpen;
|
|
191
|
-
return yield* FiberSet.join(set);
|
|
192
|
-
}, Effect.scoped, Effect.onExit((exit) => {
|
|
193
|
-
ws.close(exit._tag === "Success" ? 1000 : 1011);
|
|
194
|
-
return Effect.void;
|
|
195
|
-
}), Effect.raceFirst(Deferred.await(closeDeferred)), semaphore.withPermits(1));
|
|
196
|
-
const encoder = new TextEncoder();
|
|
197
|
-
const run = (handler, opts) => runRaw((data) => typeof data === "string"
|
|
198
|
-
? handler(encoder.encode(data))
|
|
199
|
-
: handler(data), opts);
|
|
200
|
-
return Socket.Socket.of({
|
|
201
|
-
[Socket.TypeId]: Socket.TypeId,
|
|
202
|
-
run,
|
|
203
|
-
runRaw,
|
|
204
|
-
writer,
|
|
205
|
-
});
|
|
206
|
-
}));
|
|
207
|
-
}));
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
function wsDefaultRun(_) {
|
|
211
|
-
this.buffer.push(_);
|
|
212
|
-
}
|
|
213
|
-
export function makeResponse(request, response, runtime) {
|
|
214
|
-
const fields = {
|
|
215
|
-
headers: new globalThis.Headers(response.headers),
|
|
216
|
-
status: response.status,
|
|
217
|
-
};
|
|
218
|
-
if (!Cookies.isEmpty(response.cookies)) {
|
|
219
|
-
for (const header of Cookies.toSetCookieHeaders(response.cookies)) {
|
|
220
|
-
fields.headers.append("set-cookie", header);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
if (response.statusText !== undefined) {
|
|
224
|
-
fields.statusText = response.statusText;
|
|
225
|
-
}
|
|
226
|
-
if (request.method === "HEAD") {
|
|
227
|
-
return new Response(undefined, fields);
|
|
228
|
-
}
|
|
229
|
-
const ejectedResponse = HttpApp.unsafeEjectStreamScope(response);
|
|
230
|
-
const body = ejectedResponse.body;
|
|
231
|
-
switch (body._tag) {
|
|
232
|
-
case "Empty": {
|
|
233
|
-
return new Response(undefined, fields);
|
|
234
|
-
}
|
|
235
|
-
case "Uint8Array":
|
|
236
|
-
case "Raw": {
|
|
237
|
-
if (body.body instanceof Response) {
|
|
238
|
-
for (const [key, value] of fields.headers.entries()) {
|
|
239
|
-
body.body.headers.set(key, value);
|
|
240
|
-
}
|
|
241
|
-
return body.body;
|
|
242
|
-
}
|
|
243
|
-
return new Response(body.body, fields);
|
|
244
|
-
}
|
|
245
|
-
case "FormData": {
|
|
246
|
-
return new Response(body.formData, fields);
|
|
247
|
-
}
|
|
248
|
-
case "Stream": {
|
|
249
|
-
return new Response(Stream.toReadableStreamRuntime(body.stream, runtime), fields);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
}
|
package/dist/bun/BunSql.d.ts
DELETED
package/dist/bun/BunSql.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as Exit from "effect/Exit";
|
|
3
|
-
import * as FiberRef from "effect/FiberRef";
|
|
4
|
-
import * as GlobalValue from "effect/GlobalValue";
|
|
5
|
-
import * as Layer from "effect/Layer";
|
|
6
|
-
import * as Option from "effect/Option";
|
|
7
|
-
import * as Sql from "../Sql.js";
|
|
8
|
-
const wrapError = (error) => new Sql.SqlError({
|
|
9
|
-
code: error?.code ?? "UNKNOWN",
|
|
10
|
-
message: error instanceof Error ? error.message : String(error),
|
|
11
|
-
cause: error,
|
|
12
|
-
});
|
|
13
|
-
const wrapQuery = (promise) => Effect.tryPromise({ try: () => promise, catch: wrapError });
|
|
14
|
-
const makeValues = (obj, ...columns) => {
|
|
15
|
-
const items = Array.isArray(obj) ? obj : [obj];
|
|
16
|
-
const cols = columns.length > 0 ? columns : Object.keys(items[0]);
|
|
17
|
-
return { value: items, columns: cols };
|
|
18
|
-
};
|
|
19
|
-
const currentTransaction = GlobalValue.globalValue(Symbol.for("effect-start/BunSql/currentTransaction"), () => FiberRef.unsafeMake(Option.none()));
|
|
20
|
-
const runQuery = (bunSql, strings, values) => Effect.flatMap(FiberRef.get(currentTransaction), (txOpt) => {
|
|
21
|
-
if (Option.isSome(txOpt)) {
|
|
22
|
-
return wrapQuery(txOpt.value.conn(strings, ...values));
|
|
23
|
-
}
|
|
24
|
-
return wrapQuery(bunSql(strings, ...values));
|
|
25
|
-
});
|
|
26
|
-
const runUnsafe = (bunSql, query, values) => Effect.flatMap(FiberRef.get(currentTransaction), (txOpt) => {
|
|
27
|
-
if (Option.isSome(txOpt)) {
|
|
28
|
-
return wrapQuery(txOpt.value.conn.unsafe(query, values));
|
|
29
|
-
}
|
|
30
|
-
return wrapQuery(bunSql.unsafe(query, values));
|
|
31
|
-
});
|
|
32
|
-
const makeWithTransaction = (bunSql) => (self) => Effect.uninterruptibleMask((restore) => Effect.flatMap(FiberRef.get(currentTransaction), (txOpt) => {
|
|
33
|
-
if (Option.isSome(txOpt)) {
|
|
34
|
-
const { conn, depth } = txOpt.value;
|
|
35
|
-
const name = `sp_${depth}`;
|
|
36
|
-
return Effect.gen(function* () {
|
|
37
|
-
yield* wrapQuery(conn.unsafe(`SAVEPOINT ${name}`));
|
|
38
|
-
const exit = yield* Effect.exit(restore(Effect.locally(self, currentTransaction, Option.some({ conn, depth: depth + 1 }))));
|
|
39
|
-
if (Exit.isSuccess(exit)) {
|
|
40
|
-
yield* wrapQuery(conn.unsafe(`RELEASE SAVEPOINT ${name}`));
|
|
41
|
-
return exit.value;
|
|
42
|
-
}
|
|
43
|
-
yield* wrapQuery(conn.unsafe(`ROLLBACK TO SAVEPOINT ${name}`)).pipe(Effect.orDie);
|
|
44
|
-
return yield* exit;
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
const runTx = (conn) => Effect.gen(function* () {
|
|
48
|
-
yield* wrapQuery(conn.unsafe("BEGIN"));
|
|
49
|
-
const exit = yield* Effect.exit(restore(Effect.locally(self, currentTransaction, Option.some({ conn, depth: 1 }))));
|
|
50
|
-
if (Exit.isSuccess(exit)) {
|
|
51
|
-
yield* wrapQuery(conn.unsafe("COMMIT"));
|
|
52
|
-
return exit.value;
|
|
53
|
-
}
|
|
54
|
-
yield* wrapQuery(conn.unsafe("ROLLBACK")).pipe(Effect.orDie);
|
|
55
|
-
return yield* exit;
|
|
56
|
-
});
|
|
57
|
-
return Effect.matchEffect(Effect.tryPromise({ try: () => bunSql.reserve(), catch: wrapError }), {
|
|
58
|
-
onFailure: () => runTx(bunSql),
|
|
59
|
-
onSuccess: (reserved) => Effect.ensuring(runTx(reserved), Effect.sync(() => reserved.release())),
|
|
60
|
-
});
|
|
61
|
-
}));
|
|
62
|
-
export const layer = (config) => Layer.scoped(Sql.SqlClient, Effect.acquireRelease(Effect.try({
|
|
63
|
-
try: () => {
|
|
64
|
-
const bunSql = new Bun.SQL(config);
|
|
65
|
-
return Object.assign((strings, ...values) => runQuery(bunSql, strings, values), {
|
|
66
|
-
unsafe: (query, values) => runUnsafe(bunSql, query, values),
|
|
67
|
-
values: makeValues,
|
|
68
|
-
withTransaction: makeWithTransaction(bunSql),
|
|
69
|
-
reserve: Effect.acquireRelease(Effect.tryPromise({ try: () => bunSql.reserve(), catch: wrapError }), (reserved) => Effect.sync(() => reserved.release())).pipe(Effect.map((reserved) => Object.assign((strings, ...values) => wrapQuery(reserved(strings, ...values)), {
|
|
70
|
-
unsafe: (query, values) => wrapQuery(reserved.unsafe(query, values)),
|
|
71
|
-
values: makeValues,
|
|
72
|
-
}))),
|
|
73
|
-
close: (options) => wrapQuery(bunSql.close(options)),
|
|
74
|
-
});
|
|
75
|
-
},
|
|
76
|
-
catch: wrapError,
|
|
77
|
-
}), (client) => client.close().pipe(Effect.orDie)));
|
|
78
|
-
export const layerMemory = layer({
|
|
79
|
-
adapter: "sqlite",
|
|
80
|
-
filename: ":memory:",
|
|
81
|
-
});
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
type ErrorWithDetail = Error & {
|
|
2
|
-
details?: string;
|
|
3
|
-
};
|
|
4
|
-
interface ResolveRequest {
|
|
5
|
-
path: string | false;
|
|
6
|
-
context?: object;
|
|
7
|
-
descriptionFilePath?: string;
|
|
8
|
-
descriptionFileRoot?: string;
|
|
9
|
-
descriptionFileData?: Record<string, unknown>;
|
|
10
|
-
relativePath?: string;
|
|
11
|
-
ignoreSymlinks?: boolean;
|
|
12
|
-
fullySpecified?: boolean;
|
|
13
|
-
}
|
|
14
|
-
interface ResolveContext {
|
|
15
|
-
contextDependencies?: {
|
|
16
|
-
add: (item: string) => void;
|
|
17
|
-
};
|
|
18
|
-
fileDependencies?: {
|
|
19
|
-
add: (item: string) => void;
|
|
20
|
-
};
|
|
21
|
-
missingDependencies?: {
|
|
22
|
-
add: (item: string) => void;
|
|
23
|
-
};
|
|
24
|
-
stack?: Set<string>;
|
|
25
|
-
log?: (str: string) => void;
|
|
26
|
-
yield?: (request: ResolveRequest) => void;
|
|
27
|
-
}
|
|
28
|
-
interface ResolveOptions {
|
|
29
|
-
extensions?: Array<string>;
|
|
30
|
-
mainFields?: Array<string | string[]>;
|
|
31
|
-
conditionNames?: Array<string>;
|
|
32
|
-
fileSystem?: unknown;
|
|
33
|
-
useSyncFileSystemCalls?: boolean;
|
|
34
|
-
modules?: string | string[];
|
|
35
|
-
}
|
|
36
|
-
export interface Resolver {
|
|
37
|
-
resolve(context: object, path: string, request: string, resolveContext: ResolveContext, callback: (err: null | ErrorWithDetail, res?: string | false, req?: ResolveRequest) => void): void;
|
|
38
|
-
}
|
|
39
|
-
export declare class CachedInputFileSystem {
|
|
40
|
-
constructor(_fileSystem: unknown, _duration: number);
|
|
41
|
-
}
|
|
42
|
-
export declare const ResolverFactory: {
|
|
43
|
-
createResolver(options: ResolveOptions): Resolver;
|
|
44
|
-
};
|
|
45
|
-
export {};
|
package/dist/bun/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * as BunChildProcessSpawner from "./BunChildProcessSpawner.ts";
|
|
2
|
-
export * as BunBundle from "./BunBundle.ts";
|
|
3
|
-
export * as BunImportTrackerPlugin from "./BunImportTrackerPlugin.ts";
|
|
4
|
-
export * as BunRoute from "./BunRoute.ts";
|
|
5
|
-
export * as BunServer from "./BunServer.ts";
|
package/dist/bundler/Bundle.d.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import type { PubSub } from "effect";
|
|
2
|
-
import { Context, Effect } from "effect";
|
|
3
|
-
import * as Schema from "effect/Schema";
|
|
4
|
-
export declare const BundleEntrypointMetaKey: unique symbol;
|
|
5
|
-
export type BundleOutputMetaValue = {};
|
|
6
|
-
/**
|
|
7
|
-
* Generic shape describing a bundle across multiple bundlers
|
|
8
|
-
* (like bun, esbuild & vite)
|
|
9
|
-
*/
|
|
10
|
-
export declare const BundleManifestSchema: Schema.Struct<{
|
|
11
|
-
entrypoints: Schema.Record$<typeof Schema.String, typeof Schema.String>;
|
|
12
|
-
artifacts: Schema.Array$<Schema.Struct<{
|
|
13
|
-
path: typeof Schema.String;
|
|
14
|
-
type: typeof Schema.String;
|
|
15
|
-
size: typeof Schema.Number;
|
|
16
|
-
hash: Schema.optional<typeof Schema.String>;
|
|
17
|
-
imports: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
18
|
-
path: typeof Schema.String;
|
|
19
|
-
kind: Schema.Literal<["import-statement", "require-call", "require-resolve", "dynamic-import", "import-rule", "url-token", "internal", "entry-point-run", "entry-point-build"]>;
|
|
20
|
-
}>>>;
|
|
21
|
-
}>>;
|
|
22
|
-
}>;
|
|
23
|
-
export type BundleManifest = typeof BundleManifestSchema.Type;
|
|
24
|
-
export declare const BundleEvent: Schema.Union<[Schema.TaggedStruct<"Change", {
|
|
25
|
-
path: typeof Schema.String;
|
|
26
|
-
}>, Schema.TaggedStruct<"BuildError", {
|
|
27
|
-
error: typeof Schema.String;
|
|
28
|
-
}>]>;
|
|
29
|
-
export type BundleEvent = typeof BundleEvent.Type;
|
|
30
|
-
declare const IdPrefix = "effect-start/tags/";
|
|
31
|
-
export type BundleKey = `${string}Bundle`;
|
|
32
|
-
export type BundleId = `${typeof IdPrefix}${BundleKey}`;
|
|
33
|
-
/**
|
|
34
|
-
* Passed to bundle effects and within bundle runtime.
|
|
35
|
-
* Used to expose artifacts via HTTP server and properly resolve
|
|
36
|
-
* imports within the bundle.
|
|
37
|
-
*/
|
|
38
|
-
export type BundleContext = BundleManifest & {
|
|
39
|
-
resolve: (url: string) => string | null;
|
|
40
|
-
getArtifact: (path: string) => Blob | null;
|
|
41
|
-
events?: PubSub.PubSub<BundleEvent>;
|
|
42
|
-
};
|
|
43
|
-
declare const BundleError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
44
|
-
readonly _tag: "BundleError";
|
|
45
|
-
} & Readonly<A>;
|
|
46
|
-
export declare class BundleError extends BundleError_base<{
|
|
47
|
-
message: string;
|
|
48
|
-
cause?: unknown;
|
|
49
|
-
}> {
|
|
50
|
-
}
|
|
51
|
-
export declare const emptyBundleContext: BundleContext;
|
|
52
|
-
export declare const handleBundleErrorSilently: (effect: Effect.Effect<BundleContext, BundleError>) => Effect.Effect<BundleContext, never>;
|
|
53
|
-
export declare const Tag: <const T extends BundleKey>(name: T) => <Identifier>() => Context.TagClass<Identifier, `effect-start/tags/${string}Bundle`, BundleContext>;
|
|
54
|
-
export type Tag = Context.Tag<BundleId, BundleContext>;
|
|
55
|
-
declare const ClientBundle_base: Context.TagClass<ClientBundle, `effect-start/tags/${string}Bundle`, BundleContext>;
|
|
56
|
-
export declare class ClientBundle extends ClientBundle_base {
|
|
57
|
-
}
|
|
58
|
-
declare const ServerBundle_base: Context.TagClass<ServerBundle, `effect-start/tags/${string}Bundle`, BundleContext>;
|
|
59
|
-
export declare class ServerBundle extends ServerBundle_base {
|
|
60
|
-
}
|
|
61
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as FileSystem from "../FileSystem.ts";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Bundle from "./Bundle.ts";
|
|
4
|
-
/**
|
|
5
|
-
* Exports a bundle to a file system under specified directory.
|
|
6
|
-
*/
|
|
7
|
-
export declare const toFiles: (context: Bundle.BundleContext, outDir: string) => Effect.Effect<undefined, import("../PlatformError.ts").PlatformError | Bundle.BundleError, FileSystem.FileSystem>;
|
|
8
|
-
/**
|
|
9
|
-
* Loads a bundle from a directory and returns a Bundle.BundleContext.
|
|
10
|
-
* Expects the directory to contain a manifest.json file and all the artifacts
|
|
11
|
-
* referenced in the manifest.
|
|
12
|
-
*/
|
|
13
|
-
export declare const fromFiles: (directory: string) => Effect.Effect<Bundle.BundleContext, Bundle.BundleError, FileSystem.FileSystem>;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type * as HttpApp from "@effect/platform/HttpApp";
|
|
2
|
-
import { RouteNotFound } from "@effect/platform/HttpServerError";
|
|
3
|
-
import * as HttpServerRequest from "@effect/platform/HttpServerRequest";
|
|
4
|
-
import * as HttpServerResponse from "@effect/platform/HttpServerResponse";
|
|
5
|
-
import * as Effect from "effect/Effect";
|
|
6
|
-
import * as Scope from "effect/Scope";
|
|
7
|
-
import * as Bundle from "./Bundle.ts";
|
|
8
|
-
/**
|
|
9
|
-
* Handles all entrypoints automatically.
|
|
10
|
-
* Serves HTML entrypoints without requiring explicit route definitions for each one.
|
|
11
|
-
* Examples:
|
|
12
|
-
* index.html -> /
|
|
13
|
-
* contact.html -> /contact
|
|
14
|
-
* about/index.html -> /about
|
|
15
|
-
*/
|
|
16
|
-
export declare function entrypoint(uri?: string): HttpApp.Default<RouteNotFound, Bundle.ClientBundle>;
|
|
17
|
-
export declare function httpApp(opts?: {
|
|
18
|
-
urlPrefix?: string;
|
|
19
|
-
}): HttpApp.Default<RouteNotFound, Scope.Scope | Bundle.ClientBundle>;
|
|
20
|
-
export declare const toHttpApp: <E, R>(bundleTag: Effect.Effect<Bundle.BundleContext, E, R>, opts?: {
|
|
21
|
-
urlPrefix?: string;
|
|
22
|
-
}) => Effect.Effect<HttpServerResponse.HttpServerResponse, RouteNotFound | E, HttpServerRequest.HttpServerRequest | R>;
|
|
23
|
-
/**
|
|
24
|
-
* Render HTML to a string.
|
|
25
|
-
* Useful for SSR.
|
|
26
|
-
*/
|
|
27
|
-
export declare function renderPromise(clientBundle: Bundle.Tag, render: (request: Request, resolve: (url: string) => string) => Promise<Response>): Effect.Effect<HttpServerResponse.HttpServerResponse, Bundle.BundleError, HttpServerRequest.HttpServerRequest | `effect-start/tags/${string}Bundle`>;
|
|
28
|
-
/**
|
|
29
|
-
* Exposes bundle assets via HTTP routes.
|
|
30
|
-
* Serves bundle artifacts, manifest.json, and events endpoint at the specified path.
|
|
31
|
-
*/
|
|
32
|
-
export declare function withAssets(opts?: {
|
|
33
|
-
path?: string;
|
|
34
|
-
}): <E, R>(app: HttpApp.Default<E, R>) => Effect.Effect<HttpServerResponse.HttpServerResponse, RouteNotFound | E, HttpServerRequest.HttpServerRequest | Bundle.ClientBundle | R>;
|
|
35
|
-
/**
|
|
36
|
-
* @see {entrypoint}
|
|
37
|
-
*/
|
|
38
|
-
export declare function withEntrypoints(): <E, R>(app: HttpApp.Default<E, R>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | Bundle.ClientBundle | R>;
|
|
39
|
-
/**
|
|
40
|
-
* Combines both withAssets and withEntrypoints.
|
|
41
|
-
* Provides complete bundle HTTP functionality in a single function call.
|
|
42
|
-
*/
|
|
43
|
-
export declare function withBundle(opts?: {
|
|
44
|
-
path?: string;
|
|
45
|
-
}): <E, R>(app: HttpApp.Default<E, R>) => Effect.Effect<HttpServerResponse.HttpServerResponse, RouteNotFound | E, HttpServerRequest.HttpServerRequest | Bundle.ClientBundle | R>;
|