@effect/platform-bun 4.0.0-beta.66 → 4.0.0-beta.67
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/BunChildProcessSpawner.d.ts +1 -1
- package/dist/BunChildProcessSpawner.js +1 -1
- package/dist/BunClusterHttp.d.ts +41 -4
- package/dist/BunClusterHttp.d.ts.map +1 -1
- package/dist/BunClusterHttp.js +7 -3
- package/dist/BunClusterHttp.js.map +1 -1
- package/dist/BunClusterSocket.d.ts +44 -5
- package/dist/BunClusterSocket.d.ts.map +1 -1
- package/dist/BunClusterSocket.js +44 -5
- package/dist/BunClusterSocket.js.map +1 -1
- package/dist/BunFileSystem.d.ts +3 -1
- package/dist/BunFileSystem.d.ts.map +1 -1
- package/dist/BunFileSystem.js +26 -2
- package/dist/BunFileSystem.js.map +1 -1
- package/dist/BunHttpClient.d.ts +2 -2
- package/dist/BunHttpClient.js +2 -2
- package/dist/BunHttpPlatform.d.ts +3 -1
- package/dist/BunHttpPlatform.d.ts.map +1 -1
- package/dist/BunHttpPlatform.js +4 -2
- package/dist/BunHttpPlatform.js.map +1 -1
- package/dist/BunHttpServer.d.ts +53 -8
- package/dist/BunHttpServer.d.ts.map +1 -1
- package/dist/BunHttpServer.js +18 -6
- package/dist/BunHttpServer.js.map +1 -1
- package/dist/BunHttpServerRequest.d.ts +26 -2
- package/dist/BunHttpServerRequest.d.ts.map +1 -1
- package/dist/BunHttpServerRequest.js +3 -1
- package/dist/BunHttpServerRequest.js.map +1 -1
- package/dist/BunMultipart.d.ts +26 -3
- package/dist/BunMultipart.d.ts.map +1 -1
- package/dist/BunMultipart.js +6 -2
- package/dist/BunMultipart.js.map +1 -1
- package/dist/BunPath.d.ts +9 -3
- package/dist/BunPath.d.ts.map +1 -1
- package/dist/BunPath.js +27 -4
- package/dist/BunPath.js.map +1 -1
- package/dist/BunRedis.d.ts +34 -4
- package/dist/BunRedis.d.ts.map +1 -1
- package/dist/BunRedis.js +34 -4
- package/dist/BunRedis.js.map +1 -1
- package/dist/BunRuntime.d.ts +3 -3
- package/dist/BunRuntime.d.ts.map +1 -1
- package/dist/BunRuntime.js +18 -2
- package/dist/BunRuntime.js.map +1 -1
- package/dist/BunServices.d.ts +29 -3
- package/dist/BunServices.d.ts.map +1 -1
- package/dist/BunServices.js +4 -1
- package/dist/BunServices.js.map +1 -1
- package/dist/BunSink.d.ts +2 -2
- package/dist/BunSink.js +2 -2
- package/dist/BunSocket.d.ts +30 -4
- package/dist/BunSocket.d.ts.map +1 -1
- package/dist/BunSocket.js +10 -3
- package/dist/BunSocket.js.map +1 -1
- package/dist/BunSocketServer.d.ts +2 -2
- package/dist/BunSocketServer.js +2 -2
- package/dist/BunStdio.d.ts +4 -1
- package/dist/BunStdio.d.ts.map +1 -1
- package/dist/BunStdio.js +23 -2
- package/dist/BunStdio.js.map +1 -1
- package/dist/BunStream.d.ts +2 -2
- package/dist/BunStream.d.ts.map +1 -1
- package/dist/BunStream.js +24 -3
- package/dist/BunStream.js.map +1 -1
- package/dist/BunTerminal.d.ts +8 -2
- package/dist/BunTerminal.d.ts.map +1 -1
- package/dist/BunTerminal.js +23 -3
- package/dist/BunTerminal.js.map +1 -1
- package/dist/BunWorker.d.ts +9 -2
- package/dist/BunWorker.d.ts.map +1 -1
- package/dist/BunWorker.js +28 -3
- package/dist/BunWorker.js.map +1 -1
- package/dist/BunWorkerRunner.d.ts +5 -1
- package/dist/BunWorkerRunner.d.ts.map +1 -1
- package/dist/BunWorkerRunner.js +24 -2
- package/dist/BunWorkerRunner.js.map +1 -1
- package/dist/index.d.ts +22 -22
- package/dist/index.js +22 -22
- package/package.json +5 -5
- package/src/BunChildProcessSpawner.ts +1 -1
- package/src/BunClusterHttp.ts +41 -4
- package/src/BunClusterSocket.ts +44 -5
- package/src/BunFileSystem.ts +26 -2
- package/src/BunHttpClient.ts +2 -2
- package/src/BunHttpPlatform.ts +27 -3
- package/src/BunHttpServer.ts +53 -8
- package/src/BunHttpServerRequest.ts +26 -2
- package/src/BunMultipart.ts +26 -3
- package/src/BunPath.ts +27 -4
- package/src/BunRedis.ts +34 -4
- package/src/BunRuntime.ts +20 -4
- package/src/BunServices.ts +29 -3
- package/src/BunSink.ts +2 -2
- package/src/BunSocket.ts +30 -4
- package/src/BunSocketServer.ts +2 -2
- package/src/BunStdio.ts +23 -2
- package/src/BunStream.ts +24 -3
- package/src/BunTerminal.ts +23 -3
- package/src/BunWorker.ts +28 -3
- package/src/BunWorkerRunner.ts +24 -2
- package/src/index.ts +22 -22
package/dist/BunHttpServer.js
CHANGED
|
@@ -29,8 +29,10 @@ import * as BunMultipart from "./BunMultipart.js";
|
|
|
29
29
|
import * as BunServices from "./BunServices.js";
|
|
30
30
|
import * as BunStream from "./BunStream.js";
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Creates a scoped Bun `HttpServer` from `Bun.serve` options, stopping the server on scope finalization with optional graceful shutdown settings.
|
|
33
|
+
*
|
|
33
34
|
* @category Constructors
|
|
35
|
+
* @since 4.0.0
|
|
34
36
|
*/
|
|
35
37
|
export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
36
38
|
const scope = yield* Effect.scope;
|
|
@@ -155,23 +157,31 @@ const makeResponse = (request, response, context, scope) => {
|
|
|
155
157
|
}
|
|
156
158
|
};
|
|
157
159
|
/**
|
|
158
|
-
*
|
|
160
|
+
* Layer that provides only `HttpServer` by constructing a scoped Bun server from the supplied serve options.
|
|
161
|
+
*
|
|
159
162
|
* @category Layers
|
|
163
|
+
* @since 4.0.0
|
|
160
164
|
*/
|
|
161
165
|
export const layerServer = /*#__PURE__*/flow(make, /*#__PURE__*/Layer.effect(Server.HttpServer));
|
|
162
166
|
/**
|
|
163
|
-
*
|
|
167
|
+
* Layer that provides Bun HTTP support services: `HttpPlatform`, weak ETag generation, and `BunServices`.
|
|
168
|
+
*
|
|
164
169
|
* @category Layers
|
|
170
|
+
* @since 4.0.0
|
|
165
171
|
*/
|
|
166
172
|
export const layerHttpServices = /*#__PURE__*/Layer.mergeAll(Platform.layer, Etag.layerWeak, BunServices.layer);
|
|
167
173
|
/**
|
|
168
|
-
*
|
|
174
|
+
* Layer that provides a Bun `HttpServer` together with the Bun HTTP platform, ETag generator, and Bun services.
|
|
175
|
+
*
|
|
169
176
|
* @category Layers
|
|
177
|
+
* @since 4.0.0
|
|
170
178
|
*/
|
|
171
179
|
export const layer = options => Layer.mergeAll(layerServer(options), layerHttpServices);
|
|
172
180
|
/**
|
|
173
|
-
*
|
|
181
|
+
* Test layer that starts a Bun HTTP server on an ephemeral port and provides the HTTP test client dependencies.
|
|
182
|
+
*
|
|
174
183
|
* @category Layers
|
|
184
|
+
* @since 4.0.0
|
|
175
185
|
*/
|
|
176
186
|
export const layerTest = /*#__PURE__*/Server.layerTestClient.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/FetchHttpClient.layer.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.succeed(FetchHttpClient.RequestInit)({
|
|
177
187
|
keepalive: false
|
|
@@ -179,8 +189,10 @@ export const layerTest = /*#__PURE__*/Server.layerTestClient.pipe(/*#__PURE__*/L
|
|
|
179
189
|
port: 0
|
|
180
190
|
})));
|
|
181
191
|
/**
|
|
182
|
-
*
|
|
192
|
+
* Creates the Bun HTTP server and support-services layer from configurable serve options.
|
|
193
|
+
*
|
|
183
194
|
* @category Layers
|
|
195
|
+
* @since 4.0.0
|
|
184
196
|
*/
|
|
185
197
|
export const layerConfig = options => Layer.mergeAll(Layer.effect(Server.HttpServer)(Effect.flatMap(Config.unwrap(options), make)), layerHttpServices);
|
|
186
198
|
function wsDefaultRun(_) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunHttpServer.js","names":["Config","Context","Deferred","Duration","Effect","Exit","Fiber","FiberSet","flow","Inspectable","Layer","Option","Scope","Semaphore","Stream","Cookies","Etag","FetchHttpClient","Headers","HttpEffect","IncomingMessage","Server","Error","ServerRequest","UrlParams","Socket","Platform","BunMultipart","BunServices","BunStream","make","fnUntraced","options","scope","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","doneUnsafe","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketError","reason","SocketCloseError","void","shutdown","promise","stop","pipe","cached","preemptiveShutdown","disablePreemptiveShutdown","timeoutOrElse","duration","gracefulShutdownTimeout","seconds","orElse","addFinalizer","address","_tag","port","hostname","httpApp","middleware","parent","fiber","services","context","serveScope","getUnsafe","forkUnsafe","httpEffect","toHandled","request","response","sync","resolve","makeResponse","handler","Promise","_reject","map","Map","mapUnsafe","set","HttpServerRequest","key","BunServerRequest","removeHost","url","runIn","runForkWith","makeUnsafe","signal","addEventListener","interruptUnsafe","id","ClientAbort","annotation","once","addFinalizerExit","pop","reload","length","push","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","scopeTransferToStream","body","value","entries","formData","toReadableStreamWith","unwrap","withFiber","stream","layerServer","effect","HttpServer","layerHttpServices","mergeAll","layer","layerWeak","layerTest","layerTestClient","provide","RequestInit","keepalive","provideMerge","layerConfig","flatMap","wsDefaultRun","_","buffer","Class","TypeId","source","bunServer","headersOverride","remoteAddressOverride","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","fromNullishOr","requestIP","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","evaluate","emptyReadbleStream","onError","cause","HttpServerError","RequestParseError","description","textEffect","text","runSync","tryPromise","try","catch","json","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","multipartStream","arrayBufferEffect","arrayBuffer","TextDecoder","decode","upgrade","callback","resume","semaphore","success","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","opts","runtime","result","isEffect","forEach","onOpen","join","scoped","onExit","exit","raceFirst","withPermits","ReadableStream","start","controller","enqueue","Uint8Array","index","indexOf","slice"],"sources":["../src/BunHttpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BunHttpServer.js","names":["Config","Context","Deferred","Duration","Effect","Exit","Fiber","FiberSet","flow","Inspectable","Layer","Option","Scope","Semaphore","Stream","Cookies","Etag","FetchHttpClient","Headers","HttpEffect","IncomingMessage","Server","Error","ServerRequest","UrlParams","Socket","Platform","BunMultipart","BunServices","BunStream","make","fnUntraced","options","scope","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","websocket","open","ws","doneUnsafe","data","deferred","succeed","message","run","close","code","closeReason","closeDeferred","defaultCloseCodeIsError","fail","SocketError","reason","SocketCloseError","void","shutdown","promise","stop","pipe","cached","preemptiveShutdown","disablePreemptiveShutdown","timeoutOrElse","duration","gracefulShutdownTimeout","seconds","orElse","addFinalizer","address","_tag","port","hostname","httpApp","middleware","parent","fiber","services","context","serveScope","getUnsafe","forkUnsafe","httpEffect","toHandled","request","response","sync","resolve","makeResponse","handler","Promise","_reject","map","Map","mapUnsafe","set","HttpServerRequest","key","BunServerRequest","removeHost","url","runIn","runForkWith","makeUnsafe","signal","addEventListener","interruptUnsafe","id","ClientAbort","annotation","once","addFinalizerExit","pop","reload","length","push","fields","headers","globalThis","isEmpty","cookies","header","toSetCookieHeaders","append","statusText","undefined","method","scopeTransferToStream","body","value","entries","formData","toReadableStreamWith","unwrap","withFiber","stream","layerServer","effect","HttpServer","layerHttpServices","mergeAll","layer","layerWeak","layerTest","layerTestClient","provide","RequestInit","keepalive","provideMerge","layerConfig","flatMap","wsDefaultRun","_","buffer","Class","TypeId","source","bunServer","headersOverride","remoteAddressOverride","constructor","toJSON","inspect","_id","originalUrl","modify","remoteAddress","toUpperCase","fromNullishOr","requestIP","fromInput","cachedCookies","parseHeader","cookie","fromReadableStream","evaluate","emptyReadbleStream","onError","cause","HttpServerError","RequestParseError","description","textEffect","text","runSync","tryPromise","try","catch","json","JSON","parse","urlParamsBody","URLSearchParams","multipartEffect","multipart","persisted","multipartStream","arrayBufferEffect","arrayBuffer","TextDecoder","decode","upgrade","callback","resume","semaphore","success","await","write","chunk","sendText","isCloseEvent","sendBinary","writer","runRaw","opts","runtime","result","isEffect","forEach","onOpen","join","scoped","onExit","exit","raceFirst","withPermits","ReadableStream","start","controller","enqueue","Uint8Array","index","indexOf","slice"],"sources":["../src/BunHttpServer.ts"],"sourcesContent":[null],"mappings":"AAmCA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AACjD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAIvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,IAAI,MAAM,2BAA2B;AACjD,OAAO,KAAKC,eAAe,MAAM,sCAAsC;AACvE,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AAEvD,OAAO,KAAKC,UAAU,MAAM,iCAAiC;AAC7D,OAAO,KAAKC,eAAe,MAAM,0CAA0C;AAG3E,OAAO,KAAKC,MAAM,MAAM,iCAAiC;AACzD,OAAO,KAAKC,KAAK,MAAM,sCAAsC;AAC7D,OAAO,KAAKC,aAAa,MAAM,wCAAwC;AAGvE,OAAO,KAAKC,SAAS,MAAM,gCAAgC;AAC3D,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AACvD,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAChD,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AACjD,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAC/C,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAe3C;;;;;;AAMA,OAAO,MAAMC,IAAI,gBAAG1B,MAAM,CAAC2B,UAAU,CACnC,WACEC,OAGC;EAED,MAAMC,KAAK,GAAG,OAAO7B,MAAM,CAAC6B,KAAK;EACjC,MAAMC,YAAY,GAChB,CACE,UAASC,QAAQ,EAAEC,OAAO;IACxB,OAAO,IAAIC,QAAQ,CAAC,WAAW,EAAE;MAAEC,MAAM,EAAE;IAAG,CAAE,CAAC;EACnD,CAAC,CACF;EACH,MAAMC,MAAM,GAAGC,GAAG,CAACC,KAAK,CAAsB;IAC5C,GAAGT,OAA0B;IAC7BU,KAAK,EAAER,YAAY,CAAC,CAAC,CAAC;IACtBS,SAAS,EAAE;MACTC,IAAIA,CAACC,EAAE;QACL3C,QAAQ,CAAC4C,UAAU,CAACD,EAAE,CAACE,IAAI,CAACC,QAAQ,EAAE3C,IAAI,CAAC4C,OAAO,CAACJ,EAAE,CAAC,CAAC;MACzD,CAAC;MACDK,OAAOA,CAACL,EAAE,EAAEK,OAAO;QACjBL,EAAE,CAACE,IAAI,CAACI,GAAG,CAACD,OAAO,CAAC;MACtB,CAAC;MACDE,KAAKA,CAACP,EAAE,EAAEQ,IAAI,EAAEC,WAAW;QACzBD,IAAI,GAAG,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAG,IAAI;QAC7CnD,QAAQ,CAAC4C,UAAU,CACjBD,EAAE,CAACE,IAAI,CAACQ,aAAa,EACrB9B,MAAM,CAAC+B,uBAAuB,CAACH,IAAI,CAAC,GAChChD,IAAI,CAACoD,IAAI,CACT,IAAIhC,MAAM,CAACiC,WAAW,CAAC;UACrBC,MAAM,EAAE,IAAIlC,MAAM,CAACmC,gBAAgB,CAAC;YAAEP,IAAI;YAAEC;UAAW,CAAE;SAC1D,CAAC,CACH,GACCjD,IAAI,CAACwD,IAAI,CACd;MACH;;GAEH,CAAC;EAEF,MAAMC,QAAQ,GAAG,OAAO1D,MAAM,CAAC2D,OAAO,CAAC,MAAMxB,MAAM,CAACyB,IAAI,EAAE,CAAC,CAACC,IAAI,CAC9D7D,MAAM,CAAC8D,MAAM,CACd;EACD,MAAMC,kBAAkB,GAAGnC,OAAO,CAACoC,yBAAyB,GAAGhE,MAAM,CAACyD,IAAI,GAAGzD,MAAM,CAACiE,aAAa,CAACP,QAAQ,EAAE;IAC1GQ,QAAQ,EAAEtC,OAAO,CAACuC,uBAAuB,IAAIpE,QAAQ,CAACqE,OAAO,CAAC,EAAE,CAAC;IACjEC,MAAM,EAAEA,CAAA,KAAMrE,MAAM,CAACyD;GACtB,CAAC;EAEF,OAAOjD,KAAK,CAAC8D,YAAY,CAACzC,KAAK,EAAE6B,QAAQ,CAAC;EAE1C,OAAOzC,MAAM,CAACS,IAAI,CAAC;IACjB6C,OAAO,EAAE;MAAEC,IAAI,EAAE,YAAY;MAAEC,IAAI,EAAEtC,MAAM,CAACsC,IAAK;MAAEC,QAAQ,EAAEvC,MAAM,CAACuC;IAAS,CAAE;IAC/ErC,KAAK,EAAErC,MAAM,CAAC2B,UAAU,CAAC,WAAUgD,OAAO,EAAEC,UAAU;MACpD,MAAMC,MAAM,GAAG,OAAO7E,MAAM,CAAC8E,KAAK;MAClC,MAAMC,QAAQ,GAAGF,MAAM,CAACG,OAAO;MAC/B,MAAMC,UAAU,GAAGpF,OAAO,CAACqF,SAAS,CAACH,QAAQ,EAAEvE,KAAK,CAACA,KAAK,CAAC;MAC3D,MAAMqB,KAAK,GAAGrB,KAAK,CAAC2E,UAAU,CAACF,UAAU,EAAE,UAAU,CAAC;MAEtD,MAAMG,UAAU,GAAGrE,UAAU,CAACsE,SAAS,CAACV,OAAO,EAAE,CAACW,OAAO,EAAEC,QAAQ,KACjEvF,MAAM,CAACwF,IAAI,CAAC,MAAK;QACf;QAAEF,OAA4B,CAACG,OAAO,CAACC,YAAY,CAACJ,OAAO,EAAEC,QAAQ,EAAER,QAAQ,EAAElD,KAAK,CAAC,CAAC;MAC1F,CAAC,CAAC,EAAE+C,UAAU,CAAC;MAEjB,SAASe,OAAOA,CAACL,OAAgB,EAAEnD,MAAmC;QACpE,OAAO,IAAIyD,OAAO,CAAW,CAACH,OAAO,EAAEI,OAAO,KAAI;UAChD,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAAChB,QAAQ,CAACiB,SAAS,CAAC;UACvCF,GAAG,CAACG,GAAG,CACL9E,aAAa,CAAC+E,iBAAiB,CAACC,GAAG,EACnC,IAAIC,gBAAgB,CAACd,OAAO,EAAEG,OAAO,EAAEY,UAAU,CAACf,OAAO,CAACgB,GAAG,CAAC,EAAEnE,MAAM,CAAC,CACxE;UACD,MAAM2C,KAAK,GAAG5E,KAAK,CAACqG,KAAK,CAACvG,MAAM,CAACwG,WAAW,CAAC3G,OAAO,CAAC4G,UAAU,CAAMX,GAAG,CAAC,CAAC,CAACV,UAAU,CAAC,EAAEvD,KAAK,CAAC;UAC9FyD,OAAO,CAACoB,MAAM,CAACC,gBAAgB,CAAC,OAAO,EAAE,MAAK;YAC5C7B,KAAK,CAAC8B,eAAe,CAAC/B,MAAM,CAACgC,EAAE,EAAE3F,KAAK,CAAC4F,WAAW,CAACC,UAAU,CAAC;UAChE,CAAC,EAAE;YAAEC,IAAI,EAAE;UAAI,CAAE,CAAC;QACpB,CAAC,CAAC;MACJ;MAEA,OAAOxG,KAAK,CAACyG,gBAAgB,CAAChC,UAAU,EAAE,MAAK;QAC7CnD,YAAY,CAACoF,GAAG,EAAE;QAClB/E,MAAM,CAACgF,MAAM,CAAC;UAAE7E,KAAK,EAAER,YAAY,CAACA,YAAY,CAACsF,MAAM,GAAG,CAAC;QAAC,CAAE,CAAC;QAC/D,OAAOrD,kBAAkB;MAC3B,CAAC,CAAC;MACFjC,YAAY,CAACuF,IAAI,CAAC1B,OAAO,CAAC;MAC1BxD,MAAM,CAACgF,MAAM,CAAC;QAAE7E,KAAK,EAAEqD;MAAO,CAAE,CAAC;IACnC,CAAC;GACF,CAAC;AACJ,CAAC,CACF;AAED,MAAMD,YAAY,GAAGA,CACnBJ,OAAwC,EACxCC,QAA2C,EAC3CP,OAA+B,EAC/BnD,KAAkB,KACN;EACZ,MAAMyF,MAAM,GAIR;IACFC,OAAO,EAAE,IAAIC,UAAU,CAAC1G,OAAO,CAACyE,QAAQ,CAACgC,OAAO,CAAC;IACjDrF,MAAM,EAAEqD,QAAQ,CAACrD;GAClB;EAED,IAAI,CAACvB,OAAO,CAAC8G,OAAO,CAAClC,QAAQ,CAACmC,OAAO,CAAC,EAAE;IACtC,KAAK,MAAMC,MAAM,IAAIhH,OAAO,CAACiH,kBAAkB,CAACrC,QAAQ,CAACmC,OAAO,CAAC,EAAE;MACjEJ,MAAM,CAACC,OAAO,CAACM,MAAM,CAAC,YAAY,EAAEF,MAAM,CAAC;IAC7C;EACF;EAEA,IAAIpC,QAAQ,CAACuC,UAAU,KAAKC,SAAS,EAAE;IACrCT,MAAM,CAACQ,UAAU,GAAGvC,QAAQ,CAACuC,UAAU;EACzC;EAEA,IAAIxC,OAAO,CAAC0C,MAAM,KAAK,MAAM,EAAE;IAC7B,OAAO,IAAI/F,QAAQ,CAAC8F,SAAS,EAAET,MAAM,CAAC;EACxC;EACA/B,QAAQ,GAAGxE,UAAU,CAACkH,qBAAqB,CAAC1C,QAAQ,CAAC;EACrD,MAAM2C,IAAI,GAAG3C,QAAQ,CAAC2C,IAAI;EAC1B,QAAQA,IAAI,CAAC1D,IAAI;IACf,KAAK,OAAO;MAAE;QACZ,OAAO,IAAIvC,QAAQ,CAAC8F,SAAS,EAAET,MAAM,CAAC;MACxC;IACA,KAAK,YAAY;IACjB,KAAK,KAAK;MAAE;QACV,IAAIY,IAAI,CAACA,IAAI,YAAYjG,QAAQ,EAAE;UACjC,KAAK,MAAM,CAACkE,GAAG,EAAEgC,KAAK,CAAC,IAAIb,MAAM,CAACC,OAAO,CAACa,OAAO,EAAE,EAAE;YACnDF,IAAI,CAACA,IAAI,CAACX,OAAO,CAACtB,GAAG,CAACE,GAAG,EAAEgC,KAAK,CAAC;UACnC;UACA,OAAOD,IAAI,CAACA,IAAI;QAClB;QACA,OAAO,IAAIjG,QAAQ,CAACiG,IAAI,CAACA,IAAW,EAAEZ,MAAM,CAAC;MAC/C;IACA,KAAK,UAAU;MAAE;QACf,OAAO,IAAIrF,QAAQ,CAACiG,IAAI,CAACG,QAAe,EAAEf,MAAM,CAAC;MACnD;IACA,KAAK,QAAQ;MAAE;QACb,OAAO,IAAIrF,QAAQ,CACjBvB,MAAM,CAAC4H,oBAAoB,CACzB5H,MAAM,CAAC6H,MAAM,CAACvI,MAAM,CAACwI,SAAS,CAAE1D,KAAK,IAAI;UACvC5E,KAAK,CAACqG,KAAK,CAACzB,KAAK,EAAEjD,KAAK,CAAC;UACzB,OAAO7B,MAAM,CAAC6C,OAAO,CAACqF,IAAI,CAACO,MAAM,CAAC;QACpC,CAAC,CAAC,CAAC,EACHzD,OAAO,CACR,EACDsC,MAAM,CACP;MACH;EACF;AACF,CAAC;AAED;;;;;;AAMA,OAAO,MAAMoB,WAAW,gBAKctI,IAAI,CAACsB,IAAI,eAAEpB,KAAK,CAACqI,MAAM,CAAC1H,MAAM,CAAC2H,UAAU,CAAC,CAAQ;AAExF;;;;;;AAMA,OAAO,MAAMC,iBAAiB,gBAI1BvI,KAAK,CAACwI,QAAQ,CAChBxH,QAAQ,CAACyH,KAAK,EACdnI,IAAI,CAACoI,SAAS,EACdxH,WAAW,CAACuH,KAAK,CAClB;AAED;;;;;;AAMA,OAAO,MAAMA,KAAK,GAChBnH,OAGC,IAMEtB,KAAK,CAACwI,QAAQ,CAACJ,WAAW,CAAC9G,OAAO,CAAC,EAAEiH,iBAAiB,CAAC;AAE5D;;;;;;AAMA,OAAO,MAAMI,SAAS,gBAElBhI,MAAM,CAACiI,eAAe,CAACrF,IAAI,cAC7BvD,KAAK,CAAC6I,OAAO,cAACtI,eAAe,CAACkI,KAAK,CAAClF,IAAI,cACtCvD,KAAK,CAAC6I,OAAO,cAAC7I,KAAK,CAACuC,OAAO,CAAChC,eAAe,CAACuI,WAAW,CAAC,CAAC;EAAEC,SAAS,EAAE;AAAK,CAAE,CAAC,CAAC,CAChF,CAAC,eACF/I,KAAK,CAACgJ,YAAY,cAACP,KAAK,CAAC;EAAEtE,IAAI,EAAE;AAAC,CAAE,CAAC,CAAC,CACvC;AAED;;;;;;AAMA,OAAO,MAAM8E,WAAW,GACtB3H,OAKC,IAKDtB,KAAK,CAACwI,QAAQ,CACZxI,KAAK,CAACqI,MAAM,CAAC1H,MAAM,CAAC2H,UAAU,CAAC,CAAC5I,MAAM,CAACwJ,OAAO,CAAC5J,MAAM,CAAC2I,MAAM,CAAC3G,OAAO,CAAC,EAAEF,IAAI,CAAC,CAAC,EAC7EmH,iBAAiB,CAClB;AAaH,SAASY,YAAYA,CAAyBC,CAAsB;EAClE,IAAI,CAACC,MAAM,CAACtC,IAAI,CAACqC,CAAC,CAAC;AACrB;AAEA,MAAMtD,gBAAiB,SAAQ/F,WAAW,CAACuJ,KAAK;EACrC,CAACzI,aAAa,CAAC0I,MAAM;EACrB,CAAC7I,eAAe,CAAC6I,MAAM;EACvBC,MAAM;EACRrE,OAAO;EACLa,GAAG;EACJyD,SAAS;EACVC,eAAe;EACdC,qBAAqB;EAE7BC,YACEJ,MAAe,EACfrE,OAAqC,EACrCa,GAAW,EACXyD,SAAsC,EACtCC,eAAiC,EACjCC,qBAA6C;IAE7C,KAAK,EAAE;IACP,IAAI,CAAC9I,aAAa,CAAC0I,MAAM,CAAC,GAAG1I,aAAa,CAAC0I,MAAM;IACjD,IAAI,CAAC7I,eAAe,CAAC6I,MAAM,CAAC,GAAG7I,eAAe,CAAC6I,MAAM;IACrD,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACrE,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACa,GAAG,GAAGA,GAAG;IACd,IAAI,CAACyD,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,qBAAqB,GAAGA,qBAAqB;EACpD;EACAE,MAAMA,CAAA;IACJ,OAAOnJ,eAAe,CAACoJ,OAAO,CAAC,IAAI,EAAE;MACnCC,GAAG,EAAE,mBAAmB;MACxBrC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnB1B,GAAG,EAAE,IAAI,CAACgE;KACX,CAAC;EACJ;EACAC,MAAMA,CACJ3I,OAIC;IAED,OAAO,IAAIwE,gBAAgB,CACzB,IAAI,CAAC0D,MAAM,EACX,IAAI,CAACrE,OAAO,EACZ7D,OAAO,CAAC0E,GAAG,IAAI,IAAI,CAACA,GAAG,EACvB,IAAI,CAACyD,SAAS,EACdnI,OAAO,CAAC2F,OAAO,IAAI,IAAI,CAACyC,eAAe,EACvC,eAAe,IAAIpI,OAAO,GAAGA,OAAO,CAAC4I,aAAa,GAAG,IAAI,CAACP,qBAAqB,CAChF;EACH;EACA,IAAIjC,MAAMA,CAAA;IACR,OAAO,IAAI,CAAC8B,MAAM,CAAC9B,MAAM,CAACyC,WAAW,EAAgB;EACvD;EACA,IAAIH,WAAWA,CAAA;IACb,OAAO,IAAI,CAACR,MAAM,CAACxD,GAAG;EACxB;EACA,IAAIkE,aAAaA,CAAA;IACf,OAAO,IAAI,CAACP,qBAAqB,IAAI1J,MAAM,CAACmK,aAAa,CAAC,IAAI,CAACX,SAAS,CAACY,SAAS,CAAC,IAAI,CAACb,MAAM,CAAC,EAAEvF,OAAO,CAAC;EAC3G;EACA,IAAIgD,OAAOA,CAAA;IACT,IAAI,CAACyC,eAAe,KAAKlJ,OAAO,CAAC8J,SAAS,CAAC,IAAI,CAACd,MAAM,CAACvC,OAAO,CAAC;IAC/D,OAAO,IAAI,CAACyC,eAAe;EAC7B;EAEQa,aAAa;EACrB,IAAInD,OAAOA,CAAA;IACT,IAAI,IAAI,CAACmD,aAAa,EAAE;MACtB,OAAO,IAAI,CAACA,aAAa;IAC3B;IACA,OAAO,IAAI,CAACA,aAAa,GAAGlK,OAAO,CAACmK,WAAW,CAAC,IAAI,CAACvD,OAAO,CAACwD,MAAM,IAAI,EAAE,CAAC;EAC5E;EAEA,IAAItC,MAAMA,CAAA;IACR,OAAO,IAAI,CAACqB,MAAM,CAAC5B,IAAI,GACnBzG,SAAS,CAACuJ,kBAAkB,CAAC;MAC7BC,QAAQ,EAAEA,CAAA,KAAM,IAAI,CAACnB,MAAM,CAAC5B,IAAI,IAAIgD,kBAAkB;MACtDC,OAAO,EAAGC,KAAK,IACb,IAAIlK,KAAK,CAACmK,eAAe,CAAC;QACxB9H,MAAM,EAAE,IAAIrC,KAAK,CAACoK,iBAAiB,CAAC;UAClChG,OAAO,EAAE,IAAI;UACb8F;SACD;OACF;KACJ,CAAC,GACA1K,MAAM,CAAC2C,IAAI,CACX,IAAInC,KAAK,CAACmK,eAAe,CAAC;MACxB9H,MAAM,EAAE,IAAIrC,KAAK,CAACoK,iBAAiB,CAAC;QAClChG,OAAO,EAAE,IAAI;QACbiG,WAAW,EAAE;OACd;KACF,CAAC,CACH;EACL;EAEQC,UAAU;EAClB,IAAIC,IAAIA,CAAA;IACN,IAAI,IAAI,CAACD,UAAU,EAAE;MACnB,OAAO,IAAI,CAACA,UAAU;IACxB;IACA,IAAI,CAACA,UAAU,GAAGxL,MAAM,CAAC0L,OAAO,CAAC1L,MAAM,CAAC8D,MAAM,CAC5C9D,MAAM,CAAC2L,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAAC9B,MAAM,CAAC2B,IAAI,EAAE;MAC7BI,KAAK,EAAGT,KAAK,IACX,IAAIlK,KAAK,CAACmK,eAAe,CAAC;QACxB9H,MAAM,EAAE,IAAIrC,KAAK,CAACoK,iBAAiB,CAAC;UAClChG,OAAO,EAAE,IAAI;UACb8F;SACD;OACF;KACJ,CAAC,CACH,CAAC;IACF,OAAO,IAAI,CAACI,UAAU;EACxB;EAEA,IAAIM,IAAIA,CAAA;IACN,OAAO9L,MAAM,CAACwJ,OAAO,CAAC,IAAI,CAACiC,IAAI,EAAG/B,CAAC,IACjC1J,MAAM,CAAC4L,GAAG,CAAC;MACTA,GAAG,EAAEA,CAAA,KAAMG,IAAI,CAACC,KAAK,CAACtC,CAAC,CAAgB;MACvCmC,KAAK,EAAGT,KAAK,IACX,IAAIlK,KAAK,CAACmK,eAAe,CAAC;QACxB9H,MAAM,EAAE,IAAIrC,KAAK,CAACoK,iBAAiB,CAAC;UAClChG,OAAO,EAAE,IAAI;UACb8F;SACD;OACF;KACJ,CAAC,CAAC;EACP;EAEA,IAAIa,aAAaA,CAAA;IACf,OAAOjM,MAAM,CAACwJ,OAAO,CAAC,IAAI,CAACiC,IAAI,EAAG/B,CAAC,IACjC1J,MAAM,CAAC4L,GAAG,CAAC;MACTA,GAAG,EAAEA,CAAA,KAAMxK,SAAS,CAACwJ,SAAS,CAAC,IAAIsB,eAAe,CAACxC,CAAC,CAAC,CAAC;MACtDmC,KAAK,EAAGT,KAAK,IACX,IAAIlK,KAAK,CAACmK,eAAe,CAAC;QACxB9H,MAAM,EAAE,IAAIrC,KAAK,CAACoK,iBAAiB,CAAC;UAClChG,OAAO,EAAE,IAAI;UACb8F;SACD;OACF;KACJ,CAAC,CAAC;EACP;EAEQe,eAAe;EAOvB,IAAIC,SAASA,CAAA;IAKX,IAAI,IAAI,CAACD,eAAe,EAAE;MACxB,OAAO,IAAI,CAACA,eAAe;IAC7B;IACA,IAAI,CAACA,eAAe,GAAGnM,MAAM,CAAC0L,OAAO,CAAC1L,MAAM,CAAC8D,MAAM,CACjDvC,YAAY,CAAC8K,SAAS,CAAC,IAAI,CAACvC,MAAM,CAAC,CACpC,CAAC;IACF,OAAO,IAAI,CAACqC,eAAe;EAC7B;EAEA,IAAIG,eAAeA,CAAA;IACjB,OAAO/K,YAAY,CAACkH,MAAM,CAAC,IAAI,CAACqB,MAAM,CAAC;EACzC;EAEQyC,iBAAiB;EACzB,IAAIC,WAAWA,CAAA;IACb,IAAI,IAAI,CAACD,iBAAiB,EAAE;MAC1B,OAAO,IAAI,CAACA,iBAAiB;IAC/B;IACA,IAAI,CAACA,iBAAiB,GAAGvM,MAAM,CAAC0L,OAAO,CAAC1L,MAAM,CAAC8D,MAAM,CACnD9D,MAAM,CAAC2L,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAAC9B,MAAM,CAAC0C,WAAW,EAAE;MACpCX,KAAK,EAAGT,KAAK,IACX,IAAIlK,KAAK,CAACmK,eAAe,CAAC;QACxB9H,MAAM,EAAE,IAAIrC,KAAK,CAACoK,iBAAiB,CAAC;UAClChG,OAAO,EAAE,IAAI;UACb8F;SACD;OACF;KACJ,CAAC,CACH,CAAC;IACF,IAAI,CAACI,UAAU,GAAGxL,MAAM,CAAC8F,GAAG,CAAC,IAAI,CAACyG,iBAAiB,EAAG7C,CAAC,IAAK,IAAI+C,WAAW,EAAE,CAACC,MAAM,CAAChD,CAAC,CAAC,CAAC;IACxF,OAAO,IAAI,CAAC6C,iBAAiB;EAC/B;EAEA,IAAII,OAAOA,CAAA;IACT,OAAO3M,MAAM,CAAC4M,QAAQ,CAAwCC,MAAM,IAAI;MACtE,MAAMjK,QAAQ,GAAG9C,QAAQ,CAAC2G,UAAU,EAAqC;MACzE,MAAMtD,aAAa,GAAGrD,QAAQ,CAAC2G,UAAU,EAA4B;MACrE,MAAMqG,SAAS,GAAGrM,SAAS,CAACgG,UAAU,CAAC,CAAC,CAAC;MAEzC,MAAMsG,OAAO,GAAG,IAAI,CAAChD,SAAS,CAAC4C,OAAO,CAAC,IAAI,CAAC7C,MAAM,EAAE;QAClDnH,IAAI,EAAE;UACJC,QAAQ;UACRO,aAAa;UACbwG,MAAM,EAAE,EAAE;UACV5G,GAAG,EAAE0G;;OAER,CAAC;MACF,IAAI,CAACsD,OAAO,EAAE;QACZF,MAAM,CAAC7M,MAAM,CAACqD,IAAI,CAChB,IAAInC,KAAK,CAACmK,eAAe,CAAC;UACxB9H,MAAM,EAAE,IAAIrC,KAAK,CAACoK,iBAAiB,CAAC;YAClChG,OAAO,EAAE,IAAI;YACbiG,WAAW,EAAE;WACd;SACF,CAAC,CACH,CAAC;QACF;MACF;MACAsB,MAAM,CAAC7M,MAAM,CAAC8F,GAAG,CAAChG,QAAQ,CAACkN,KAAK,CAACpK,QAAQ,CAAC,EAAGH,EAAE,IAAI;QACjD,MAAMwK,KAAK,GAAIC,KAA8C,IAC3DlN,MAAM,CAACwF,IAAI,CAAC,MAAK;UACf,IAAI,OAAO0H,KAAK,KAAK,QAAQ,EAAE;YAC7BzK,EAAE,CAAC0K,QAAQ,CAACD,KAAK,CAAC;UACpB,CAAC,MAAM,IAAI7L,MAAM,CAAC+L,YAAY,CAACF,KAAK,CAAC,EAAE;YACrCzK,EAAE,CAACO,KAAK,CAACkK,KAAK,CAACjK,IAAI,EAAEiK,KAAK,CAAC3J,MAAM,CAAC;UACpC,CAAC,MAAM;YACLd,EAAE,CAAC4K,UAAU,CAACH,KAAK,CAAC;UACtB;UAEA,OAAO,IAAI;QACb,CAAC,CAAC;QACJ,MAAMI,MAAM,GAAGtN,MAAM,CAAC6C,OAAO,CAACoK,KAAK,CAAC;QACpC,MAAMM,MAAM,GAAGvN,MAAM,CAAC2B,UAAU,CAC9B,WACEgE,OAAkE,EAClE6H,IAA4D;UAE5D,MAAMvH,GAAG,GAAG,OAAO9F,QAAQ,CAACuB,IAAI,EAAU;UAC1C,MAAMqB,GAAG,GAAG,OAAO5C,QAAQ,CAACsN,OAAO,CAACxH,GAAG,CAAC,EAAK;UAC7C,SAASsH,MAAMA,CAAC5K,IAAyB;YACvC,MAAM+K,MAAM,GAAG/H,OAAO,CAAChD,IAAI,CAAC;YAC5B,IAAI3C,MAAM,CAAC2N,QAAQ,CAACD,MAAM,CAAC,EAAE;cAC3B3K,GAAG,CAAC2K,MAAM,CAAC;YACb;UACF;UACAjL,EAAE,CAACE,IAAI,CAACI,GAAG,GAAGwK,MAAM;UACpB9K,EAAE,CAACE,IAAI,CAACgH,MAAM,CAACiE,OAAO,CAACL,MAAM,CAAC;UAC9B9K,EAAE,CAACE,IAAI,CAACgH,MAAM,CAACvC,MAAM,GAAG,CAAC;UACzB,IAAIoG,IAAI,EAAEK,MAAM,EAAE,OAAOL,IAAI,CAACK,MAAM;UACpC,OAAO,OAAO1N,QAAQ,CAAC2N,IAAI,CAAC7H,GAAG,CAAC;QAClC,CAAC,EACDjG,MAAM,CAAC+N,MAAM,EACb/N,MAAM,CAACgO,MAAM,CAAEC,IAAI,IAAKjO,MAAM,CAACwF,IAAI,CAAC,MAAM/C,EAAE,CAACO,KAAK,CAACiL,IAAI,CAACzJ,IAAI,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAC3FxE,MAAM,CAACkO,SAAS,CAACpO,QAAQ,CAACkN,KAAK,CAAC7J,aAAa,CAAC,CAAC,EAC/C2J,SAAS,CAACqB,WAAW,CAAC,CAAC,CAAC,CACzB;QAED,OAAO9M,MAAM,CAACK,IAAI,CAAC;UACjB6L,MAAM;UACND;SACD,CAAC;MACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;EACJ;;AAGF,MAAMpC,kBAAkB,gBAAG,IAAIkD,cAAc,CAAC;EAC5CC,KAAKA,CAACC,UAAU;IACdA,UAAU,CAACC,OAAO,CAAC,IAAIC,UAAU,EAAE,CAAC;IACpCF,UAAU,CAACtL,KAAK,EAAE;EACpB;CACD,CAAC;AAEF,MAAMqD,UAAU,GAAIC,GAAW,IAAI;EACjC,IAAIA,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IAClB,OAAOA,GAAG;EACZ;EACA,MAAMmI,KAAK,GAAGnI,GAAG,CAACoI,OAAO,CAAC,GAAG,EAAEpI,GAAG,CAACoI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACrD,OAAOD,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG,GAAGnI,GAAG,CAACqI,KAAK,CAACF,KAAK,CAAC;AAC9C,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Accessors for the Bun `Request` object backing a platform Bun
|
|
3
|
+
* `HttpServerRequest`.
|
|
4
|
+
*
|
|
5
|
+
* Use this module at interop boundaries when an Effect HTTP handler needs the
|
|
6
|
+
* original `Bun.BunRequest`, for example to read Bun route parameters, pass the
|
|
7
|
+
* request to Bun-specific APIs, inspect Web `Request` fields that are not
|
|
8
|
+
* exposed by the portable `HttpServerRequest` interface, or coordinate with code
|
|
9
|
+
* that already works directly with Bun's server request type.
|
|
10
|
+
*
|
|
11
|
+
* The returned request is the original Web request supplied by `Bun.serve`. It
|
|
12
|
+
* does not reflect Effect request overrides made by middleware, such as a
|
|
13
|
+
* rewritten URL, adjusted headers, or a substituted remote address. Its body is
|
|
14
|
+
* the same one-shot Web `ReadableStream` used by the Effect body helpers, so
|
|
15
|
+
* calling `text`, `json`, `formData`, `arrayBuffer`, or reading `body` directly
|
|
16
|
+
* can disturb the request and conflict with Effect body, multipart, or stream
|
|
17
|
+
* helpers unless ownership of the body is clear.
|
|
18
|
+
*
|
|
19
|
+
* Bun stores client IP information on the server rather than on the request
|
|
20
|
+
* object. Prefer `HttpServerRequest.remoteAddress` when you need the address
|
|
21
|
+
* seen by Effect or middleware; the raw request returned here will not expose
|
|
22
|
+
* middleware-provided remote address overrides.
|
|
23
|
+
*
|
|
24
|
+
* @since 4.0.0
|
|
3
25
|
*/
|
|
4
26
|
import type { HttpServerRequest } from "effect/unstable/http/HttpServerRequest";
|
|
5
27
|
/**
|
|
6
|
-
*
|
|
28
|
+
* Returns the underlying `Bun.BunRequest` from an Effect `HttpServerRequest`.
|
|
29
|
+
*
|
|
7
30
|
* @category Accessors
|
|
31
|
+
* @since 4.0.0
|
|
8
32
|
*/
|
|
9
33
|
export declare const toBunServerRequest: <T extends string = string>(self: HttpServerRequest) => Bun.BunRequest<T>;
|
|
10
34
|
//# sourceMappingURL=BunHttpServerRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunHttpServerRequest.d.ts","sourceRoot":"","sources":["../src/BunHttpServerRequest.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BunHttpServerRequest.d.ts","sourceRoot":"","sources":["../src/BunHttpServerRequest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,iBAAiB,KAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAClF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunHttpServerRequest.js","names":["toBunServerRequest","self","source"],"sources":["../src/BunHttpServerRequest.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"BunHttpServerRequest.js","names":["toBunServerRequest","self","source"],"sources":["../src/BunHttpServerRequest.ts"],"sourcesContent":[null],"mappings":"AA2BA;;;;;;AAMA,OAAO,MAAMA,kBAAkB,GAA+BC,IAAuB,IAClFA,IAAY,CAACC,MAAM","ignoreList":[]}
|
package/dist/BunMultipart.d.ts
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Bun-specific helpers for parsing HTTP `multipart/form-data` request bodies.
|
|
3
|
+
*
|
|
4
|
+
* This module adapts a Bun `Request` body and headers into the shared
|
|
5
|
+
* `Multipart` model. Use `stream` from Bun HTTP handlers when form fields and
|
|
6
|
+
* uploaded files should be consumed incrementally, for example validating text
|
|
7
|
+
* fields while piping large file parts to storage. Use `persisted` when the
|
|
8
|
+
* whole form should be collected into a record and file parts should be written
|
|
9
|
+
* to scoped temporary files through the current `FileSystem`, `Path`, and
|
|
10
|
+
* `Scope` services.
|
|
11
|
+
*
|
|
12
|
+
* Bun requests expose one-shot web streams, so choose one body reader and do
|
|
13
|
+
* not call `formData`, `text`, `json`, or `arrayBuffer` before using this
|
|
14
|
+
* module. Incoming `FormData` uploads must include a `multipart/form-data`
|
|
15
|
+
* content type with the boundary generated by the client; when constructing
|
|
16
|
+
* `FormData` requests, let the runtime set that header. Stream file content for
|
|
17
|
+
* large uploads, reserve `contentEffect` for small files, and treat client
|
|
18
|
+
* filenames as metadata rather than trusted filesystem paths. Persisted file
|
|
19
|
+
* paths remain valid only for the surrounding scope.
|
|
20
|
+
*
|
|
21
|
+
* @since 4.0.0
|
|
3
22
|
*/
|
|
4
23
|
import type * as Effect from "effect/Effect";
|
|
5
24
|
import type { FileSystem } from "effect/FileSystem";
|
|
@@ -8,13 +27,17 @@ import type * as Scope from "effect/Scope";
|
|
|
8
27
|
import * as Stream from "effect/Stream";
|
|
9
28
|
import * as Multipart from "effect/unstable/http/Multipart";
|
|
10
29
|
/**
|
|
11
|
-
*
|
|
30
|
+
* Parses a Bun `Request` body as multipart data and returns a stream of multipart parts.
|
|
31
|
+
*
|
|
12
32
|
* @category Constructors
|
|
33
|
+
* @since 4.0.0
|
|
13
34
|
*/
|
|
14
35
|
export declare const stream: (source: Request) => Stream.Stream<Multipart.Part, Multipart.MultipartError>;
|
|
15
36
|
/**
|
|
16
|
-
*
|
|
37
|
+
* Parses and persists multipart data from a Bun `Request`, requiring file-system, path, and scope services.
|
|
38
|
+
*
|
|
17
39
|
* @category Constructors
|
|
40
|
+
* @since 4.0.0
|
|
18
41
|
*/
|
|
19
42
|
export declare const persisted: (source: Request) => Effect.Effect<Multipart.Persisted, Multipart.MultipartError, FileSystem | Path | Scope.Scope>;
|
|
20
43
|
//# sourceMappingURL=BunMultipart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunMultipart.d.ts","sourceRoot":"","sources":["../src/BunMultipart.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BunMultipart.d.ts","sourceRoot":"","sources":["../src/BunMultipart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gCAAgC,CAAA;AAG3D;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,cAAc,CAM5F,CAAA;AASH;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GACpB,QAAQ,OAAO,KACd,MAAM,CAAC,MAAM,CACd,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,cAAc,EACtB,UAAU,GACV,IAAI,GACJ,KAAK,CAAC,KAAK,CAC2B,CAAA"}
|
package/dist/BunMultipart.js
CHANGED
|
@@ -2,8 +2,10 @@ import * as Stream from "effect/Stream";
|
|
|
2
2
|
import * as Multipart from "effect/unstable/http/Multipart";
|
|
3
3
|
import * as BunStream from "./BunStream.js";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Parses a Bun `Request` body as multipart data and returns a stream of multipart parts.
|
|
6
|
+
*
|
|
6
7
|
* @category Constructors
|
|
8
|
+
* @since 4.0.0
|
|
7
9
|
*/
|
|
8
10
|
export const stream = source => BunStream.fromReadableStream({
|
|
9
11
|
evaluate: () => source.body ?? emptyReadbleStream,
|
|
@@ -16,8 +18,10 @@ const emptyReadbleStream = /*#__PURE__*/new ReadableStream({
|
|
|
16
18
|
}
|
|
17
19
|
});
|
|
18
20
|
/**
|
|
19
|
-
*
|
|
21
|
+
* Parses and persists multipart data from a Bun `Request`, requiring file-system, path, and scope services.
|
|
22
|
+
*
|
|
20
23
|
* @category Constructors
|
|
24
|
+
* @since 4.0.0
|
|
21
25
|
*/
|
|
22
26
|
export const persisted = source => Multipart.toPersisted(stream(source));
|
|
23
27
|
//# sourceMappingURL=BunMultipart.js.map
|
package/dist/BunMultipart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunMultipart.js","names":["Stream","Multipart","BunStream","stream","source","fromReadableStream","evaluate","body","emptyReadbleStream","onError","cause","MultipartError","fromReason","pipe","pipeThroughChannel","makeChannel","Object","fromEntries","headers","ReadableStream","start","controller","enqueue","Uint8Array","close","persisted","toPersisted"],"sources":["../src/BunMultipart.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"BunMultipart.js","names":["Stream","Multipart","BunStream","stream","source","fromReadableStream","evaluate","body","emptyReadbleStream","onError","cause","MultipartError","fromReason","pipe","pipeThroughChannel","makeChannel","Object","fromEntries","headers","ReadableStream","start","controller","enqueue","Uint8Array","close","persisted","toPersisted"],"sources":["../src/BunMultipart.ts"],"sourcesContent":[null],"mappings":"AA0BA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,SAAS,MAAM,gCAAgC;AAC3D,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;;;;AAMA,OAAO,MAAMC,MAAM,GAAIC,MAAe,IACpCF,SAAS,CAACG,kBAAkB,CAAC;EAC3BC,QAAQ,EAAEA,CAAA,KAAMF,MAAM,CAACG,IAAI,IAAIC,kBAAkB;EACjDC,OAAO,EAAGC,KAAK,IAAKT,SAAS,CAACU,cAAc,CAACC,UAAU,CAAC,eAAe,EAAEF,KAAK;CAC/E,CAAC,CAACG,IAAI,CACLb,MAAM,CAACc,kBAAkB,CAACb,SAAS,CAACc,WAAW,CAACC,MAAM,CAACC,WAAW,CAACb,MAAM,CAACc,OAAO,CAAC,CAAC,CAAC,CACrF;AAEH,MAAMV,kBAAkB,gBAAG,IAAIW,cAAc,CAAC;EAC5CC,KAAKA,CAACC,UAAU;IACdA,UAAU,CAACC,OAAO,CAAC,IAAIC,UAAU,EAAE,CAAC;IACpCF,UAAU,CAACG,KAAK,EAAE;EACpB;CACD,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMC,SAAS,GACpBrB,MAAe,IAOZH,SAAS,CAACyB,WAAW,CAACvB,MAAM,CAACC,MAAM,CAAC,CAAC","ignoreList":[]}
|
package/dist/BunPath.d.ts
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import type * as Layer from "effect/Layer";
|
|
2
2
|
import type { Path } from "effect/Path";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Layer that provides the default `Path` service for Bun using the shared Node path implementation.
|
|
5
|
+
*
|
|
5
6
|
* @category layer
|
|
7
|
+
* @since 4.0.0
|
|
6
8
|
*/
|
|
7
9
|
export declare const layer: Layer.Layer<Path>;
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
11
|
+
* Layer that provides the POSIX `Path` service for Bun using the shared Node path implementation.
|
|
12
|
+
*
|
|
10
13
|
* @category layer
|
|
14
|
+
* @since 4.0.0
|
|
11
15
|
*/
|
|
12
16
|
export declare const layerPosix: Layer.Layer<Path>;
|
|
13
17
|
/**
|
|
14
|
-
*
|
|
18
|
+
* Layer that provides the Win32 `Path` service for Bun using the shared Node path implementation.
|
|
19
|
+
*
|
|
15
20
|
* @category layer
|
|
21
|
+
* @since 4.0.0
|
|
16
22
|
*/
|
|
17
23
|
export declare const layerWin32: Layer.Layer<Path>;
|
|
18
24
|
//# sourceMappingURL=BunPath.d.ts.map
|
package/dist/BunPath.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunPath.d.ts","sourceRoot":"","sources":["../src/BunPath.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BunPath.d.ts","sourceRoot":"","sources":["../src/BunPath.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAA;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAA;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAA"}
|
package/dist/BunPath.js
CHANGED
|
@@ -1,20 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Bun layers for Effect's `Path` service.
|
|
3
|
+
*
|
|
4
|
+
* Use this module when an Effect program running on Bun needs path
|
|
5
|
+
* manipulation from the `Path` service, such as joining and normalizing local
|
|
6
|
+
* filesystem locations, resolving configuration or static asset paths, handling
|
|
7
|
+
* CLI path arguments, or converting between filesystem paths and `file:` URLs.
|
|
8
|
+
*
|
|
9
|
+
* Bun exposes Node-compatible path behavior, so these layers reuse the shared
|
|
10
|
+
* Node path implementation. The default `layer` follows the host operating
|
|
11
|
+
* system's path rules, including separators, absolute paths, drive letters, and
|
|
12
|
+
* UNC paths where applicable. Use `layerPosix` or `layerWin32` when code needs
|
|
13
|
+
* stable POSIX or Windows semantics regardless of where Bun is running. These
|
|
14
|
+
* layers only manipulate path strings; they do not read the filesystem, validate
|
|
15
|
+
* that paths exist, or turn request URLs into safe local paths. `BunServices`
|
|
16
|
+
* already includes the default Bun path layer, so provide this module directly
|
|
17
|
+
* when you need only `Path` or one of the platform-specific variants.
|
|
18
|
+
*
|
|
19
|
+
* @since 4.0.0
|
|
3
20
|
*/
|
|
4
21
|
import * as NodePath from "@effect/platform-node-shared/NodePath";
|
|
5
22
|
/**
|
|
6
|
-
*
|
|
23
|
+
* Layer that provides the default `Path` service for Bun using the shared Node path implementation.
|
|
24
|
+
*
|
|
7
25
|
* @category layer
|
|
26
|
+
* @since 4.0.0
|
|
8
27
|
*/
|
|
9
28
|
export const layer = NodePath.layer;
|
|
10
29
|
/**
|
|
11
|
-
*
|
|
30
|
+
* Layer that provides the POSIX `Path` service for Bun using the shared Node path implementation.
|
|
31
|
+
*
|
|
12
32
|
* @category layer
|
|
33
|
+
* @since 4.0.0
|
|
13
34
|
*/
|
|
14
35
|
export const layerPosix = NodePath.layerPosix;
|
|
15
36
|
/**
|
|
16
|
-
*
|
|
37
|
+
* Layer that provides the Win32 `Path` service for Bun using the shared Node path implementation.
|
|
38
|
+
*
|
|
17
39
|
* @category layer
|
|
40
|
+
* @since 4.0.0
|
|
18
41
|
*/
|
|
19
42
|
export const layerWin32 = NodePath.layerWin32;
|
|
20
43
|
//# sourceMappingURL=BunPath.js.map
|
package/dist/BunPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunPath.js","names":["NodePath","layer","layerPosix","layerWin32"],"sources":["../src/BunPath.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BunPath.js","names":["NodePath","layer","layerPosix","layerWin32"],"sources":["../src/BunPath.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,KAAKA,QAAQ,MAAM,uCAAuC;AAIjE;;;;;;AAMA,OAAO,MAAMC,KAAK,GAAsBD,QAAQ,CAACC,KAAK;AAEtD;;;;;;AAMA,OAAO,MAAMC,UAAU,GAAsBF,QAAQ,CAACE,UAAU;AAEhE;;;;;;AAMA,OAAO,MAAMC,UAAU,GAAsBH,QAAQ,CAACG,UAAU","ignoreList":[]}
|
package/dist/BunRedis.d.ts
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Bun Redis integration backed by Bun's built-in `RedisClient`.
|
|
3
|
+
*
|
|
4
|
+
* This module provides scoped layers that create a Bun `RedisClient` and expose
|
|
5
|
+
* both the low-level `Redis` service used by Effect persistence modules and the
|
|
6
|
+
* `BunRedis` service for direct access to the underlying client. Use it in Bun
|
|
7
|
+
* applications that need Redis-backed persistence, persisted queues,
|
|
8
|
+
* distributed rate limiting, custom Redis commands, or Bun Redis features such
|
|
9
|
+
* as pub/sub through the raw client.
|
|
10
|
+
*
|
|
11
|
+
* The client is acquired when the layer is built and closed with `close` when
|
|
12
|
+
* the layer scope ends, so install the layer at the lifetime you want for the
|
|
13
|
+
* connection and pass a Redis URL, Bun `RedisOptions`, or `layerConfig` for
|
|
14
|
+
* connection settings. The portable `Redis` service sends ordinary commands
|
|
15
|
+
* through `RedisClient.send`; pub/sub is available through `BunRedis.client`
|
|
16
|
+
* or `BunRedis.use` and should normally use a separately scoped client so a
|
|
17
|
+
* subscription does not interfere with command traffic used by persistence or
|
|
18
|
+
* rate limiter stores.
|
|
19
|
+
*
|
|
20
|
+
* Persistence and rate limiter stores build keys and Lua scripts on top of this
|
|
21
|
+
* service. Choose stable prefixes and store ids to avoid collisions, account
|
|
22
|
+
* for persisted values that may fail to decode after schema changes, and avoid
|
|
23
|
+
* unbounded high-cardinality rate-limit keys unless you have a cleanup or
|
|
24
|
+
* bounding strategy.
|
|
25
|
+
*
|
|
26
|
+
* @since 4.0.0
|
|
3
27
|
*/
|
|
4
28
|
import { RedisClient, type RedisOptions } from "bun";
|
|
5
29
|
import * as Config from "effect/Config";
|
|
@@ -12,21 +36,27 @@ declare const BunRedis_base: Context.ServiceClass<BunRedis, "@effect/platform-bu
|
|
|
12
36
|
readonly use: <A>(f: (client: RedisClient) => Promise<A>) => Effect.Effect<A, Redis.RedisError>;
|
|
13
37
|
}>;
|
|
14
38
|
/**
|
|
15
|
-
*
|
|
39
|
+
* Service tag for Bun Redis integration, exposing the raw `RedisClient` and a `use` helper that maps client promise failures to `RedisError`.
|
|
40
|
+
*
|
|
16
41
|
* @category Service
|
|
42
|
+
* @since 4.0.0
|
|
17
43
|
*/
|
|
18
44
|
export declare class BunRedis extends BunRedis_base {
|
|
19
45
|
}
|
|
20
46
|
/**
|
|
21
|
-
*
|
|
47
|
+
* Creates scoped Bun Redis layers for `Redis.Redis` and `BunRedis`, closing the underlying client when the scope finalizes.
|
|
48
|
+
*
|
|
22
49
|
* @category Layers
|
|
50
|
+
* @since 4.0.0
|
|
23
51
|
*/
|
|
24
52
|
export declare const layer: (options?: ({
|
|
25
53
|
readonly url?: string;
|
|
26
54
|
} & RedisOptions) | undefined) => Layer.Layer<Redis.Redis | BunRedis>;
|
|
27
55
|
/**
|
|
28
|
-
*
|
|
56
|
+
* Creates scoped Bun Redis layers from configurable Redis options, closing the underlying client when the scope finalizes.
|
|
57
|
+
*
|
|
29
58
|
* @category Layers
|
|
59
|
+
* @since 4.0.0
|
|
30
60
|
*/
|
|
31
61
|
export declare const layerConfig: (options: Config.Wrap<{
|
|
32
62
|
readonly url?: string;
|
package/dist/BunRedis.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunRedis.d.ts","sourceRoot":"","sources":["../src/BunRedis.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BunRedis.d.ts","sourceRoot":"","sources":["../src/BunRedis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;;qBASvC,WAAW;kBACd,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;;AARjG;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,aAGO;CAAG;AAmCxC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,CAAC;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAAC,GAAG,SAAS,KAC/D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAuC,CAAA;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,CAAC,IAAI,CAAC;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAAC,KAC7D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,WAAW,CAKtD,CAAA"}
|
package/dist/BunRedis.js
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Bun Redis integration backed by Bun's built-in `RedisClient`.
|
|
3
|
+
*
|
|
4
|
+
* This module provides scoped layers that create a Bun `RedisClient` and expose
|
|
5
|
+
* both the low-level `Redis` service used by Effect persistence modules and the
|
|
6
|
+
* `BunRedis` service for direct access to the underlying client. Use it in Bun
|
|
7
|
+
* applications that need Redis-backed persistence, persisted queues,
|
|
8
|
+
* distributed rate limiting, custom Redis commands, or Bun Redis features such
|
|
9
|
+
* as pub/sub through the raw client.
|
|
10
|
+
*
|
|
11
|
+
* The client is acquired when the layer is built and closed with `close` when
|
|
12
|
+
* the layer scope ends, so install the layer at the lifetime you want for the
|
|
13
|
+
* connection and pass a Redis URL, Bun `RedisOptions`, or `layerConfig` for
|
|
14
|
+
* connection settings. The portable `Redis` service sends ordinary commands
|
|
15
|
+
* through `RedisClient.send`; pub/sub is available through `BunRedis.client`
|
|
16
|
+
* or `BunRedis.use` and should normally use a separately scoped client so a
|
|
17
|
+
* subscription does not interfere with command traffic used by persistence or
|
|
18
|
+
* rate limiter stores.
|
|
19
|
+
*
|
|
20
|
+
* Persistence and rate limiter stores build keys and Lua scripts on top of this
|
|
21
|
+
* service. Choose stable prefixes and store ids to avoid collisions, account
|
|
22
|
+
* for persisted values that may fail to decode after schema changes, and avoid
|
|
23
|
+
* unbounded high-cardinality rate-limit keys unless you have a cleanup or
|
|
24
|
+
* bounding strategy.
|
|
25
|
+
*
|
|
26
|
+
* @since 4.0.0
|
|
3
27
|
*/
|
|
4
28
|
import { RedisClient } from "bun";
|
|
5
29
|
import * as Config from "effect/Config";
|
|
@@ -10,8 +34,10 @@ import * as Layer from "effect/Layer";
|
|
|
10
34
|
import * as Scope from "effect/Scope";
|
|
11
35
|
import * as Redis from "effect/unstable/persistence/Redis";
|
|
12
36
|
/**
|
|
13
|
-
*
|
|
37
|
+
* Service tag for Bun Redis integration, exposing the raw `RedisClient` and a `use` helper that maps client promise failures to `RedisError`.
|
|
38
|
+
*
|
|
14
39
|
* @category Service
|
|
40
|
+
* @since 4.0.0
|
|
15
41
|
*/
|
|
16
42
|
export class BunRedis extends /*#__PURE__*/Context.Service()("@effect/platform-bun/BunRedis") {}
|
|
17
43
|
const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
@@ -39,13 +65,17 @@ const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
39
65
|
return Context.make(BunRedis, bunRedis).pipe(Context.add(Redis.Redis, redis));
|
|
40
66
|
});
|
|
41
67
|
/**
|
|
42
|
-
*
|
|
68
|
+
* Creates scoped Bun Redis layers for `Redis.Redis` and `BunRedis`, closing the underlying client when the scope finalizes.
|
|
69
|
+
*
|
|
43
70
|
* @category Layers
|
|
71
|
+
* @since 4.0.0
|
|
44
72
|
*/
|
|
45
73
|
export const layer = options => Layer.effectContext(make(options));
|
|
46
74
|
/**
|
|
47
|
-
*
|
|
75
|
+
* Creates scoped Bun Redis layers from configurable Redis options, closing the underlying client when the scope finalizes.
|
|
76
|
+
*
|
|
48
77
|
* @category Layers
|
|
78
|
+
* @since 4.0.0
|
|
49
79
|
*/
|
|
50
80
|
export const layerConfig = options => Layer.effectContext(Config.unwrap(options).pipe(Effect.flatMap(make)));
|
|
51
81
|
//# sourceMappingURL=BunRedis.js.map
|
package/dist/BunRedis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunRedis.js","names":["RedisClient","Config","Context","Effect","Fn","Layer","Scope","Redis","BunRedis","Service","make","fnUntraced","options","scope","addFinalizer","sync","client","close","url","use","f","tryPromise","try","catch","cause","RedisError","redis","send","command","args","bunRedis","identity","pipe","add","layer","effectContext","layerConfig","unwrap","flatMap"],"sources":["../src/BunRedis.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BunRedis.js","names":["RedisClient","Config","Context","Effect","Fn","Layer","Scope","Redis","BunRedis","Service","make","fnUntraced","options","scope","addFinalizer","sync","client","close","url","use","f","tryPromise","try","catch","cause","RedisError","redis","send","command","args","bunRedis","identity","pipe","add","layer","effectContext","layerConfig","unwrap","flatMap"],"sources":["../src/BunRedis.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,SAASA,WAAW,QAA2B,KAAK;AACpD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,EAAE,MAAM,iBAAiB;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAE1D;;;;;;AAMA,OAAM,MAAOC,QAAS,sBAAQN,OAAO,CAACO,OAAO,EAGzC,CAAC,+BAA+B,CAAC;AAErC,MAAMC,IAAI,gBAAGP,MAAM,CAACQ,UAAU,CAAC,WAC7BC,OAEgB;EAEhB,MAAMC,KAAK,GAAG,OAAOV,MAAM,CAACU,KAAK;EACjC,OAAOP,KAAK,CAACQ,YAAY,CAACD,KAAK,EAAEV,MAAM,CAACY,IAAI,CAAC,MAAMC,MAAM,CAACC,KAAK,EAAE,CAAC,CAAC;EACnE,MAAMD,MAAM,GAAG,IAAIhB,WAAW,CAACY,OAAO,EAAEM,GAAG,EAAEN,OAAO,CAAC;EAErD,MAAMO,GAAG,GAAOC,CAAsC,IACpDjB,MAAM,CAACkB,UAAU,CAAC;IAChBC,GAAG,EAAEA,CAAA,KAAMF,CAAC,CAACJ,MAAM,CAAC;IACpBO,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;MAAED;IAAK,CAAE;GACjD,CAAC;EAEJ,MAAME,KAAK,GAAG,OAAOnB,KAAK,CAACG,IAAI,CAAC;IAC9BiB,IAAI,EAAEA,CAAcC,OAAe,EAAE,GAAGC,IAA2B,KACjE1B,MAAM,CAACkB,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAMN,MAAM,CAACW,IAAI,CAACC,OAAO,EAAEC,IAAqB,CAAe;MACpEN,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;QAAED;MAAK,CAAE;KACjD;GACJ,CAAC;EAEF,MAAMM,QAAQ,GAAG1B,EAAE,CAAC2B,QAAQ,CAAsB;IAChDf,MAAM;IACNG;GACD,CAAC;EAEF,OAAOjB,OAAO,CAACQ,IAAI,CAACF,QAAQ,EAAEsB,QAAQ,CAAC,CAACE,IAAI,CAC1C9B,OAAO,CAAC+B,GAAG,CAAC1B,KAAK,CAACA,KAAK,EAAEmB,KAAK,CAAC,CAChC;AACH,CAAC,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMQ,KAAK,GAChBtB,OAAgE,IACxBP,KAAK,CAAC8B,aAAa,CAACzB,IAAI,CAACE,OAAO,CAAC,CAAC;AAE5E;;;;;;AAMA,OAAO,MAAMwB,WAAW,GACtBxB,OAA8D,IAE9DP,KAAK,CAAC8B,aAAa,CACjBlC,MAAM,CAACoC,MAAM,CAACzB,OAAO,CAAC,CAACoB,IAAI,CACzB7B,MAAM,CAACmC,OAAO,CAAC5B,IAAI,CAAC,CACrB,CACF","ignoreList":[]}
|
package/dist/BunRuntime.d.ts
CHANGED
|
@@ -24,8 +24,8 @@ import type { Teardown } from "effect/Runtime";
|
|
|
24
24
|
* when you need structured error handling, log management, interrupt support,
|
|
25
25
|
* or advanced teardown capabilities.
|
|
26
26
|
*
|
|
27
|
-
* @since 1.0.0
|
|
28
27
|
* @category Run main
|
|
28
|
+
* @since 4.0.0
|
|
29
29
|
*/
|
|
30
30
|
export declare const runMain: {
|
|
31
31
|
/**
|
|
@@ -52,8 +52,8 @@ export declare const runMain: {
|
|
|
52
52
|
* when you need structured error handling, log management, interrupt support,
|
|
53
53
|
* or advanced teardown capabilities.
|
|
54
54
|
*
|
|
55
|
-
* @since 1.0.0
|
|
56
55
|
* @category Run main
|
|
56
|
+
* @since 4.0.0
|
|
57
57
|
*/
|
|
58
58
|
(options?: {
|
|
59
59
|
readonly disableErrorReporting?: boolean | undefined;
|
|
@@ -83,8 +83,8 @@ export declare const runMain: {
|
|
|
83
83
|
* when you need structured error handling, log management, interrupt support,
|
|
84
84
|
* or advanced teardown capabilities.
|
|
85
85
|
*
|
|
86
|
-
* @since 1.0.0
|
|
87
86
|
* @category Run main
|
|
87
|
+
* @since 4.0.0
|
|
88
88
|
*/
|
|
89
89
|
<E, A>(effect: Effect<A, E>, options?: {
|
|
90
90
|
readonly disableErrorReporting?: boolean | undefined;
|
package/dist/BunRuntime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunRuntime.d.ts","sourceRoot":"","sources":["../src/BunRuntime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BunRuntime.d.ts","sourceRoot":"","sources":["../src/BunRuntime.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,IAAI,CAAA;CACc,CAAA"}
|
package/dist/BunRuntime.js
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Bun entry-point helpers for running Effect programs.
|
|
3
|
+
*
|
|
4
|
+
* This module exposes `runMain`, the Bun runtime launcher used at the edge of
|
|
5
|
+
* CLIs, scripts, servers, and worker processes. It runs an already
|
|
6
|
+
* self-contained Effect as the process main program, using the shared
|
|
7
|
+
* Node-compatible runtime implementation for error reporting, teardown, and
|
|
8
|
+
* `process` signal handling available in Bun.
|
|
9
|
+
*
|
|
10
|
+
* `BunRuntime` does not provide application services by itself. Provide any
|
|
11
|
+
* required layers, such as `BunServices.layer` or narrower service-specific
|
|
12
|
+
* layers, before passing the effect to `runMain`. On `SIGINT` or `SIGTERM`,
|
|
13
|
+
* the main fiber is interrupted so scoped resources and finalizers can shut
|
|
14
|
+
* down; keep long-running servers, workers, and subscriptions attached to that
|
|
15
|
+
* scope and avoid finalizers that never complete, otherwise process shutdown
|
|
16
|
+
* can be delayed.
|
|
17
|
+
*
|
|
18
|
+
* @since 4.0.0
|
|
3
19
|
*/
|
|
4
20
|
import * as NodeRuntime from "@effect/platform-node-shared/NodeRuntime";
|
|
5
21
|
/**
|
|
@@ -26,8 +42,8 @@ import * as NodeRuntime from "@effect/platform-node-shared/NodeRuntime";
|
|
|
26
42
|
* when you need structured error handling, log management, interrupt support,
|
|
27
43
|
* or advanced teardown capabilities.
|
|
28
44
|
*
|
|
29
|
-
* @since 1.0.0
|
|
30
45
|
* @category Run main
|
|
46
|
+
* @since 4.0.0
|
|
31
47
|
*/
|
|
32
48
|
export const runMain = NodeRuntime.runMain;
|
|
33
49
|
//# sourceMappingURL=BunRuntime.js.map
|
package/dist/BunRuntime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BunRuntime.js","names":["NodeRuntime","runMain"],"sources":["../src/BunRuntime.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BunRuntime.js","names":["NodeRuntime","runMain"],"sources":["../src/BunRuntime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,KAAKA,WAAW,MAAM,0CAA0C;AAIvE;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,OAAO,MAAMC,OAAO,GAoEhBD,WAAW,CAACC,OAAO","ignoreList":[]}
|