@effect/platform 0.13.9 → 0.13.11
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/Http/Body.d.ts +40 -21
- package/Http/Body.d.ts.map +1 -1
- package/Http/Body.js +14 -8
- package/Http/Body.js.map +1 -1
- package/Http/Client.d.ts +1 -1
- package/Http/Client.d.ts.map +1 -1
- package/Http/ClientRequest.d.ts +4 -24
- package/Http/ClientRequest.d.ts.map +1 -1
- package/Http/ClientRequest.js +1 -7
- package/Http/ClientRequest.js.map +1 -1
- package/Http/Router.d.ts +29 -25
- package/Http/Router.d.ts.map +1 -1
- package/Http/Router.js.map +1 -1
- package/Http/ServerResponse.d.ts +2 -25
- package/Http/ServerResponse.d.ts.map +1 -1
- package/Http/ServerResponse.js +2 -13
- package/Http/ServerResponse.js.map +1 -1
- package/internal/http/body.js +24 -15
- package/internal/http/body.js.map +1 -1
- package/internal/http/client.d.ts.map +1 -1
- package/internal/http/client.js +1 -6
- package/internal/http/client.js.map +1 -1
- package/internal/http/clientRequest.js +3 -14
- package/internal/http/clientRequest.js.map +1 -1
- package/internal/http/router.d.ts.map +1 -1
- package/internal/http/router.js.map +1 -1
- package/internal/http/serverResponse.js +3 -16
- package/internal/http/serverResponse.js.map +1 -1
- package/mjs/Http/Body.mjs +10 -5
- package/mjs/Http/Body.mjs.map +1 -1
- package/mjs/Http/ClientRequest.mjs +0 -5
- package/mjs/Http/ClientRequest.mjs.map +1 -1
- package/mjs/Http/Router.mjs.map +1 -1
- package/mjs/Http/ServerResponse.mjs +0 -9
- package/mjs/Http/ServerResponse.mjs.map +1 -1
- package/mjs/internal/http/body.mjs +20 -12
- package/mjs/internal/http/body.mjs.map +1 -1
- package/mjs/internal/http/client.mjs +1 -6
- package/mjs/internal/http/client.mjs.map +1 -1
- package/mjs/internal/http/clientRequest.mjs +2 -11
- package/mjs/internal/http/clientRequest.mjs.map +1 -1
- package/mjs/internal/http/router.mjs.map +1 -1
- package/mjs/internal/http/serverResponse.mjs +2 -13
- package/mjs/internal/http/serverResponse.mjs.map +1 -1
- package/package.json +1 -1
- package/src/Http/Body.ts +46 -24
- package/src/Http/Client.ts +1 -1
- package/src/Http/ClientRequest.ts +7 -27
- package/src/Http/Router.ts +73 -44
- package/src/Http/ServerResponse.ts +6 -34
- package/src/internal/http/body.ts +22 -22
- package/src/internal/http/client.ts +3 -11
- package/src/internal/http/clientRequest.ts +15 -39
- package/src/internal/http/router.ts +37 -17
- package/src/internal/http/serverResponse.ts +22 -52
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.mjs","names":["Chunk","Context","Equal","dual","Hash","Option","pipeArguments","Effect","Error","ServerRequest","Schema","Channel","Sink","Stream","FindMyWay","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","Tag","params","map","_","searchParams","schemaParams","schema","parse","flatMap","RouterImpl","constructor","routes","mounts","_tag","EffectTypeId","undefined","StreamTypeId","SinkTypeId","ChannelTypeId","pipe","arguments","commit","httpApp","toHttpApp","symbol","that","random","self","router","toReadonlyArray","mountsLen","length","forEach","route","fn","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","fail","RouteNotFound","handler","prefix","value","mapInputContext","context","add","RouteContextImpl","prefexLen","setUrl","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","get","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../../src/internal/http/router.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,oBAAoB;AAC3C,OAAO,KAAKC,OAAO,MAAM,sBAAsB;AAC/C,OAAO,KAAKC,KAAK,MAAM,oBAAoB;AAC3C,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,OAAO,KAAKC,IAAI,MAAM,mBAAmB;AACzC,OAAO,KAAKC,MAAM,MAAM,qBAAqB;AAC7C,SAASC,aAAa,QAAQ,uBAAuB;AAErD,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAI3C,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,aAAa,MAAM,qCAAqC;
|
|
1
|
+
{"version":3,"file":"router.mjs","names":["Chunk","Context","Equal","dual","Hash","Option","pipeArguments","Effect","Error","ServerRequest","Schema","Channel","Sink","Stream","FindMyWay","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","Tag","params","map","_","searchParams","schemaParams","schema","parse","flatMap","RouterImpl","constructor","routes","mounts","_tag","EffectTypeId","undefined","StreamTypeId","SinkTypeId","ChannelTypeId","pipe","arguments","commit","httpApp","toHttpApp","symbol","that","random","self","router","toReadonlyArray","mountsLen","length","forEach","route","fn","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","fail","RouteNotFound","handler","prefix","value","mapInputContext","context","add","RouteContextImpl","prefexLen","setUrl","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","get","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../../src/internal/http/router.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,oBAAoB;AAC3C,OAAO,KAAKC,OAAO,MAAM,sBAAsB;AAC/C,OAAO,KAAKC,KAAK,MAAM,oBAAoB;AAC3C,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,OAAO,KAAKC,IAAI,MAAM,mBAAmB;AACzC,OAAO,KAAKC,MAAM,MAAM,qBAAqB;AAC7C,SAASC,aAAa,QAAQ,uBAAuB;AAErD,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAI3C,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,aAAa,MAAM,qCAAqC;AAEpE,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAC/C,OAAO,KAAKC,OAAO,MAAM,wBAAwB;AACjD,OAAO,KAAKC,IAAI,MAAM,qBAAqB;AAC3C,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAE/C,OAAOC,SAAS,MAAM,aAAa;AAEnC;AACA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAkB;AAEhG;AACA,OAAO,MAAMC,WAAW,gBAAuBF,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAuB;AAErH;AACA,OAAO,MAAME,kBAAkB,gBAA8BH,MAAM,CAACC,GAAG,CACrE,2CAA2C,CACf;AAE9B;AACA,OAAO,MAAMG,YAAY,gBAAGnB,OAAO,CAACoB,GAAG,CAAsB,2CAA2C,CAAC;AAEzG;AACA,OAAO,MAAMC,MAAM,gBAAGf,MAAM,CAACgB,GAAG,CAACH,YAAY,EAAGI,CAAC,IAAKA,CAAC,CAACF,MAAM,CAAC;AAE/D;AACA,OAAO,MAAMG,YAAY,gBAAGlB,MAAM,CAACgB,GAAG,CAACH,YAAY,EAAGI,CAAC,IAAKA,CAAC,CAACC,YAAY,CAAC;AAE3E;AACA,OAAO,MAAMC,YAAY,GAAmDC,MAA2B,IAAI;EACzG,MAAMC,KAAK,GAAGlB,MAAM,CAACkB,KAAK,CAACD,MAAM,CAAC;EAClC,OAAOpB,MAAM,CAACsB,OAAO,CACnBT,YAAY,EACXI,CAAC,IACAI,KAAK,CAAC;IACJ,GAAGJ,CAAC,CAACC,YAAY;IACjB,GAAGD,CAAC,CAACF;GACN,CAAC,CACL;AACH,CAAC;AAED,MAAMQ,UAAU;EAEdC,YACWC,MAAuC,EACvCC,MAAyD;IADzD,KAAAD,MAAM,GAANA,MAAM;IACN,KAAAC,MAAM,GAANA,MAAM;IAmBjB;IACO,KAAAC,IAAI,GAAG,QAAQ,EAAC;IAlBrB,IAAI,CAACnB,MAAM,CAAC,GAAGA,MAAM;IACrB,IAAI,CAACR,MAAM,CAAC4B,YAAY,CAAC,GAAGC,SAAS;IACrC,IAAI,CAACvB,MAAM,CAACwB,YAAY,CAAC,GAAGD,SAAS;IACrC,IAAI,CAACxB,IAAI,CAAC0B,UAAU,CAAC,GAAGF,SAAS;IACjC,IAAI,CAACzB,OAAO,CAAC4B,aAAa,CAAC,GAAGH,SAAS;EACzC;EACAI,IAAIA,CAAA;IACF,OAAOlC,aAAa,CAAC,IAAI,EAAEmC,SAAS,CAAC;EACvC;EAEAC,MAAMA,CAAA;IACJ,IAAI,IAAI,CAACC,OAAO,KAAKP,SAAS,EAAE;MAC9B,IAAI,CAACO,OAAO,GAAGC,SAAS,CAAC,IAAI,CAAC;;IAEhC,OAAO,IAAI,CAACD,OAAO;EACrB;EAQA,EAJUpC,MAAM,CAAC4B,YAAY,EACnBtB,MAAM,CAACwB,YAAY,EACnBzB,IAAI,CAAC0B,UAAU,EACf3B,OAAO,CAAC4B,aAAa,EAC9BrC,KAAK,CAAC2C,MAAM,GAEXC,IAAsB;IAEtB,OAAO,IAAI,KAAKA,IAAI;EACtB;EACA,CAAC1C,IAAI,CAACyC,MAAM,IAAC;IACX,OAAOzC,IAAI,CAAC2C,MAAM,CAAC,IAAI,CAAC;EAC1B;;AAGF,MAAMH,SAAS,GACbI,IAAyB,IACgD;EACzE,MAAMC,MAAM,GAAGnC,SAAS,EAAE;EAC1B,MAAMmB,MAAM,GAAGjC,KAAK,CAACkD,eAAe,CAACF,IAAI,CAACf,MAAM,CAAC;EACjD,MAAMkB,SAAS,GAAGlB,MAAM,CAACmB,MAAM;EAC/BpD,KAAK,CAACqD,OAAO,CAACL,IAAI,CAAChB,MAAM,EAAGsB,KAAK,IAAI;IACnC,SAASC,EAAEA,CAAA;MACT,OAAOD,KAAK;IACd;IACA,IAAIA,KAAK,CAACE,MAAM,KAAK,GAAG,EAAE;MACxBP,MAAM,CAACQ,GAAG,CAACH,KAAK,CAACI,IAAI,EAAEH,EAAE,CAAC;KAC3B,MAAM;MACLN,MAAM,CAACU,EAAE,CAACL,KAAK,CAACE,MAAM,EAAEF,KAAK,CAACI,IAAI,EAAEH,EAAE,CAAC;;EAE3C,CAAC,CAAC;EACF,OAAOhD,MAAM,CAACsB,OAAO,CACnBpB,aAAa,CAACA,aAAa,EAC1BmD,OAAO,IAA2E;IACjF,IAAIT,SAAS,GAAG,CAAC,EAAE;MACjB,KAAK,IAAIU,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,SAAS,EAAEU,CAAC,EAAE,EAAE;QAClC,MAAM,CAACH,IAAI,EAAEI,GAAG,CAAC,GAAG7B,MAAM,CAAC4B,CAAC,CAAC;QAC7B,IAAID,OAAO,CAACG,GAAG,CAACC,UAAU,CAACN,IAAI,CAAC,EAAE;UAChC,OAAOnD,MAAM,CAAC0D,cAAc,CAC1BH,GAAG,EACHrD,aAAa,CAACA,aAAa,EAC3ByD,eAAe,CAACN,OAAO,EAAEF,IAAI,CAAC,CACoB;;;;IAK1D,MAAMS,MAAM,GAAGlB,MAAM,CAACmB,IAAI,CAACR,OAAO,CAACJ,MAAoB,EAAEI,OAAO,CAACG,GAAG,CAAC;IACrE,IAAII,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO5D,MAAM,CAAC8D,IAAI,CAAC7D,KAAK,CAAC8D,aAAa,CAAC;QAAEV;MAAO,CAAE,CAAC,CAAC;;IAEtD,MAAMN,KAAK,GAAIa,MAAM,CAACI,OAAe,EAAwB;IAC7D,IAAIjB,KAAK,CAACkB,MAAM,CAACtC,IAAI,KAAK,MAAM,EAAE;MAChC0B,OAAO,GAAGM,eAAe,CAACN,OAAO,EAAEN,KAAK,CAACkB,MAAM,CAACC,KAAK,CAAC;;IAExD,OAAOlE,MAAM,CAACmE,eAAe,CAC3BpB,KAAK,CAACiB,OAA2F,EAChGI,OAAO,IACN1E,OAAO,CAAC2E,GAAG,CACT3E,OAAO,CAAC2E,GAAG,CAACD,OAAO,EAAElE,aAAa,CAACA,aAAa,EAAEmD,OAAO,CAAC,EAC1DxC,YAAY,EACZ,IAAIyD,gBAAgB,CAACV,MAAM,CAAC7C,MAAM,EAAE6C,MAAM,CAAC1C,YAAY,CAAC,CACnC,CAC1B;EACH,CAAC,CACF;AACH,CAAC;AAED,SAASyC,eAAeA,CAACN,OAAoC,EAAEY,MAAc;EAC3E,MAAMM,SAAS,GAAGN,MAAM,CAACpB,MAAM;EAC/B,OAAOQ,OAAO,CAACmB,MAAM,CAACnB,OAAO,CAACG,GAAG,CAACX,MAAM,IAAI0B,SAAS,GAAG,GAAG,GAAGlB,OAAO,CAACG,GAAG,CAACiB,KAAK,CAACF,SAAS,CAAC,CAAC;AAC7F;AAEA,MAAMG,SAAS;EAEblD,YACWyB,MAA2B,EAC3BE,IAAY,EACZa,OAAmC,EACnCC,MAAA,GAASnE,MAAM,CAAC6E,IAAI,EAAU;IAH9B,KAAA1B,MAAM,GAANA,MAAM;IACN,KAAAE,IAAI,GAAJA,IAAI;IACJ,KAAAa,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;IAEf,IAAI,CAACtD,WAAW,CAAC,GAAGA,WAAW;EACjC;;AAGF,MAAM2D,gBAAgB;EAEpB9C,YACWT,MAAoD,EACpDG,YAA8C;IAD9C,KAAAH,MAAM,GAANA,MAAM;IACN,KAAAG,YAAY,GAAZA,YAAY;IAErB,IAAI,CAACN,kBAAkB,CAAC,GAAGA,kBAAkB;EAC/C;;AAGF;AACA,OAAO,MAAMgE,KAAK,gBAAgC,IAAIrD,UAAU,eAAC9B,KAAK,CAACmF,KAAK,EAAE,eAAEnF,KAAK,CAACmF,KAAK,EAAE,CAAC;AAE9F;AACA,OAAO,MAAMC,YAAY,GACvBpD,MAAoC,IACZ,IAAIF,UAAU,CAAC9B,KAAK,CAACoF,YAAY,CAACpD,MAAM,CAAC,EAAEhC,KAAK,CAACmF,KAAK,EAAE,CAAC;AAEnF;AACA,OAAO,MAAME,SAAS,GAAGA,CACvB7B,MAAqB,EACrBE,IAAY,EACZa,OAAmC,EACnCC,MAAA,GAAgCnE,MAAM,CAAC6E,IAAI,EAAE,KACtB,IAAID,SAAS,CAACzB,MAAM,EAAEE,IAAI,EAAEa,OAAO,EAAEC,MAAM,CAAC;AAErE;AACA,OAAO,MAAMc,MAAM,gBAAGnF,IAAI,CAGxB,CAAC,EAAE,CAAC6C,IAAI,EAAEF,IAAI,KAAK,IAAIhB,UAAU,CAAC9B,KAAK,CAACuF,SAAS,CAACvC,IAAI,CAAChB,MAAM,EAAEc,IAAI,CAACd,MAAM,CAAQ,EAAEgB,IAAI,CAACf,MAAM,CAAC,CAAC;AAEnG,MAAMuD,mBAAmB,GAAI9B,IAAY,IAAMA,IAAI,CAAC+B,QAAQ,CAAC,GAAG,CAAC,GAAG/B,IAAI,CAACsB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGtB,IAAK;AAE7F;AACA,OAAO,MAAMgC,SAAS,gBAAGvF,IAAI,CAI3B,CAAC,EACD,CAAC6C,IAAI,EAAEwB,MAAM,KAAI;EACfA,MAAM,GAAGgB,mBAAmB,CAAChB,MAAM,CAAC;EACpC,OAAO,IAAI1C,UAAU,CACnB9B,KAAK,CAACuB,GAAG,CAACyB,IAAI,CAAChB,MAAM,EAAGsB,KAAK,IAC3B,IAAI2B,SAAS,CACX3B,KAAK,CAACE,MAAM,EACZF,KAAK,CAACI,IAAI,KAAK,GAAG,GAAGc,MAAM,GAAGA,MAAM,GAAGlB,KAAK,CAACI,IAAI,EACjDJ,KAAK,CAACiB,OAAO,EACblE,MAAM,CAACsF,MAAM,CACXtF,MAAM,CAACkB,GAAG,CAAC+B,KAAK,CAACkB,MAAM,EAAGhD,CAAC,IAAKgD,MAAM,GAAGhD,CAAC,CAAC,EAC3C,MAAMnB,MAAM,CAACuF,IAAI,CAACpB,MAAM,CAAC,CAC1B,CACF,CAAC,EACJxE,KAAK,CAACuB,GAAG,CAACyB,IAAI,CAACf,MAAM,EAAE,CAAC,CAACyB,IAAI,EAAEI,GAAG,CAAC,KAAK,CAACJ,IAAI,KAAK,GAAG,GAAGc,MAAM,GAAGA,MAAM,GAAGd,IAAI,EAAEI,GAAG,CAAC,CAAC,CACtF;AACH,CAAC,CACF;AAED;AACA,OAAO,MAAM+B,KAAK,gBAAG1F,IAAI,CAWvB,CAAC,EACD,CAAC6C,IAAI,EAAEU,IAAI,EAAEZ,IAAI,KAAKwC,MAAM,CAACtC,IAAI,EAAE0C,SAAS,CAAC5C,IAAI,EAAEY,IAAI,CAAC,CAAC,CAC1D;AAED;AACA,OAAO,MAAMoC,QAAQ,gBAAG3F,IAAI,CAa1B,CAAC,EACD,CAAC6C,IAAI,EAAEU,IAAI,EAAEZ,IAAI,KACf,IAAIhB,UAAU,CAAWkB,IAAI,CAAChB,MAAM,EAAEhC,KAAK,CAAC+F,MAAM,CAAC/C,IAAI,CAACf,MAAM,EAAE,CAACuD,mBAAmB,CAAC9B,IAAI,CAAC,EAAEZ,IAAI,CAAC,CAAC,CAAC,CACtG;AAED;AACA,OAAO,MAAMQ,KAAK,GAAIE,MAA2B,IAa/CrD,IAAI,CAYF,CAAC,EAAE,CAAC6C,IAAI,EAAEU,IAAI,EAAEa,OAAO,KACvB,IAAIzC,UAAU,CACZ9B,KAAK,CAAC+F,MAAM,CAAC/C,IAAI,CAAChB,MAAM,EAAE,IAAIiD,SAAS,CAACzB,MAAM,EAAEE,IAAI,EAAEa,OAAO,CAAC,CAAQ,EACtEvB,IAAI,CAACf,MAAM,CACZ,CAAC;AAEN;AACA,OAAO,MAAMwB,GAAG,gBAAGH,KAAK,CAAC,GAAG,CAAC;AAE7B;AACA,OAAO,MAAM0C,GAAG,gBAAG1C,KAAK,CAAC,KAAK,CAAC;AAE/B;AACA,OAAO,MAAM2C,IAAI,gBAAG3C,KAAK,CAAC,MAAM,CAAC;AAEjC;AACA,OAAO,MAAM4C,GAAG,gBAAG5C,KAAK,CAAC,KAAK,CAAC;AAE/B;AACA,OAAO,MAAM6C,KAAK,gBAAG7C,KAAK,CAAC,OAAO,CAAC;AAEnC;AACA,OAAO,MAAM8C,GAAG,gBAAG9C,KAAK,CAAC,QAAQ,CAAC;AAElC;AACA,OAAO,MAAM+C,IAAI,gBAAG/C,KAAK,CAAC,MAAM,CAAC;AAEjC;AACA,OAAO,MAAMgD,OAAO,gBAAGhD,KAAK,CAAC,SAAS,CAAC;AAEvC;AACA,OAAO,MAAMiD,GAAG,gBAAGpG,IAAI,CAQrB,CAAC,EAAE,CAAC6C,IAAI,EAAEwD,CAAC,KACX,IAAI1E,UAAU,CACZ9B,KAAK,CAACuB,GAAG,CACPyB,IAAI,CAAChB,MAAM,EACVsB,KAAK,IAAK,IAAI2B,SAAS,CAAC3B,KAAK,CAACE,MAAM,EAAEF,KAAK,CAACI,IAAI,EAAE8C,CAAC,CAAClD,KAAK,CAACiB,OAAO,CAAQ,EAAEjB,KAAK,CAACkB,MAAM,CAAC,CAC1F,EACDxE,KAAK,CAACuB,GAAG,CACPyB,IAAI,CAACf,MAAM,EACX,CAAC,CAACyB,IAAI,EAAEI,GAAG,CAAC,KAAK,CAACJ,IAAI,EAAE8C,CAAC,CAAC1C,GAAU,CAAC,CAAC,CACvC,CACF,CAAC;AAEJ;AACA,OAAO,MAAM2C,QAAQ,gBAAGtG,IAAI,CAQ1B,CAAC,EAAE,CAAC6C,IAAI,EAAEwD,CAAC,KAAKD,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAACkG,QAAQ,CAACD,CAAC,CAAC,CAAC,CAAC;AAEhD;AACA,OAAO,MAAME,aAAa,gBAAGvG,IAAI,CAQ/B,CAAC,EAAE,CAAC6C,IAAI,EAAEwD,CAAC,KAAKD,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAACmG,aAAa,CAACF,CAAC,CAAC,CAAC,CAAC;AAErD;AACA,OAAO,MAAMG,QAAQ,gBAAGxG,IAAI,CAU1B,CAAC,EAAE,CAAC6C,IAAI,EAAE4D,CAAC,EAAEJ,CAAC,KAAKD,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAACoG,QAAQ,CAACC,CAAC,EAAEJ,CAAC,CAAC,CAAC,CAAC;AAEtD;AACA,OAAO,MAAMK,SAAS,gBAuClB1G,IAAI,CAAC,CAAC,EAAE,CAAC6C,IAA6B,EAAE8D,KAAS,KAAKP,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAACsG,SAAS,CAACC,KAAK,CAAC,CAAC,CAAC;AAE7F,OAAO,MAAM7C,cAAc,gBAAG9D,IAAI,CAUhC,CAAC,EAAE,CACH6C,IAAyB,EACzB+D,GAAM,EACNC,OAA+B,KAC6BT,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAAC0D,cAAc,CAAC8C,GAAG,EAAEC,OAAO,CAAC,CAAC,CAAC;AAE7G;AACA,OAAO,MAAMC,oBAAoB,gBAAG9G,IAAI,CAkBtC,CAAC,EAAE,CACH6C,IAAyB,EACzB+D,GAAM,EACNG,MAAqD,KAClDX,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAAC0G,oBAAoB,CAACF,GAAG,EAAEG,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -4,10 +4,8 @@ import * as Effect from "@effect/io/Effect";
|
|
|
4
4
|
import * as FileSystem from "@effect/platform/FileSystem";
|
|
5
5
|
import * as Etag from "@effect/platform/Http/Etag";
|
|
6
6
|
import * as Headers from "@effect/platform/Http/Headers";
|
|
7
|
-
import * as ServerRequest from "@effect/platform/Http/ServerRequest";
|
|
8
7
|
import * as UrlParams from "@effect/platform/Http/UrlParams";
|
|
9
8
|
import * as internalBody from "@effect/platform/internal/http/body";
|
|
10
|
-
import * as internalError from "@effect/platform/internal/http/serverError";
|
|
11
9
|
import * as Mime from "mime";
|
|
12
10
|
/** @internal */
|
|
13
11
|
export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ServerResponse");
|
|
@@ -39,26 +37,19 @@ class ServerResponseImpl {
|
|
|
39
37
|
/** @internal */
|
|
40
38
|
export const isServerResponse = u => typeof u === "object" && u !== null && TypeId in u;
|
|
41
39
|
/** @internal */
|
|
42
|
-
export const toNonEffectBody = self => self.body._tag === "Effect" ? Effect.map(Effect.catchAll(self.body.effect, error => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.fail(internalError.responseError({
|
|
43
|
-
reason: "Decode",
|
|
44
|
-
request,
|
|
45
|
-
response: self,
|
|
46
|
-
error
|
|
47
|
-
})))), body => setBody(self, body)) : Effect.succeed(self);
|
|
48
|
-
/** @internal */
|
|
49
40
|
export const empty = options => new ServerResponseImpl(options?.status ?? 204, options?.statusText, options?.headers ?? Headers.empty, internalBody.empty);
|
|
50
41
|
/** @internal */
|
|
51
42
|
export const uint8Array = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.uint8Array(body, getContentType(options)));
|
|
52
43
|
/** @internal */
|
|
53
44
|
export const text = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(body, getContentType(options)));
|
|
54
45
|
/** @internal */
|
|
55
|
-
export const json = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty,
|
|
46
|
+
export const json = (body, options) => Effect.map(internalBody.json(body), body => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, body));
|
|
56
47
|
/** @internal */
|
|
57
48
|
export const unsafeJson = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.unsafeJson(body));
|
|
58
49
|
/** @internal */
|
|
59
50
|
export const schemaJson = schema => {
|
|
60
51
|
const encode = internalBody.jsonSchema(schema);
|
|
61
|
-
return (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty,
|
|
52
|
+
return (body, options) => Effect.map(encode(body), body => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, body));
|
|
62
53
|
};
|
|
63
54
|
/** @internal */
|
|
64
55
|
export const file = (path, options) => Effect.map(({
|
|
@@ -85,8 +76,6 @@ export const file = (path, options) => Effect.map(({
|
|
|
85
76
|
/** @internal */
|
|
86
77
|
export const urlParams = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(UrlParams.toString(UrlParams.fromInput(body)), "application/x-www-form-urlencoded"));
|
|
87
78
|
/** @internal */
|
|
88
|
-
export const effect = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.effect(body));
|
|
89
|
-
/** @internal */
|
|
90
79
|
export const raw = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.raw(body));
|
|
91
80
|
/** @internal */
|
|
92
81
|
export const formData = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.formData(body));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverResponse.mjs","names":["dual","pipeArguments","Effect","FileSystem","Etag","Headers","
|
|
1
|
+
{"version":3,"file":"serverResponse.mjs","names":["dual","pipeArguments","Effect","FileSystem","Etag","Headers","UrlParams","internalBody","Mime","TypeId","Symbol","for","ServerResponseImpl","constructor","status","statusText","headers","body","contentType","contentLength","newHeaders","toString","pipe","arguments","isServerResponse","u","empty","options","uint8Array","getContentType","text","json","map","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","etag","info","mtime","_tag","value","toUTCString","bind","fileInfo","getType","undefined","flatMap","Generator","generator","fromFileInfo","bindTo","fs","stat","urlParams","fromInput","raw","formData","stream","setHeader","self","key","set","setHeaders","input","setAll","setStatus","args","setBody","remove"],"sources":["../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,QAAc,uBAAuB;AAClD,SAASC,aAAa,QAAQ,uBAAuB;AACrD,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAE3C,OAAO,KAAKC,UAAU,MAAM,6BAA6B;AAEzD,OAAO,KAAKC,IAAI,MAAM,4BAA4B;AAClD,OAAO,KAAKC,OAAO,MAAM,+BAA+B;AAExD,OAAO,KAAKC,SAAS,MAAM,iCAAiC;AAC5D,OAAO,KAAKC,YAAY,MAAM,qCAAqC;AAGnE,OAAO,KAAKC,IAAI,MAAM,MAAM;AAE5B;AACA,OAAO,MAAMC,MAAM,gBAA0BC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAA0B;AAExH,MAAMC,kBAAkB;EAGtBC,YACWC,MAAc,EACdC,UAA8B,EACvCC,OAAwB,EACfC,IAAe;IAHf,KAAAH,MAAM,GAANA,MAAM;IACN,KAAAC,UAAU,GAAVA,UAAU;IAEV,KAAAE,IAAI,GAAJA,IAAI;IAEb,IAAI,CAACR,MAAM,CAAC,GAAGA,MAAM;IACrB,IAAIQ,IAAI,CAACC,WAAW,IAAID,IAAI,CAACE,aAAa,EAAE;MAC1C,MAAMC,UAAU,GAAG;QAAE,GAAGJ;MAAO,CAAE;MACjC,IAAIC,IAAI,CAACC,WAAW,EAAE;QACpBE,UAAU,CAAC,cAAc,CAAC,GAAGH,IAAI,CAACC,WAAW;;MAE/C,IAAID,IAAI,CAACE,aAAa,EAAE;QACtBC,UAAU,CAAC,gBAAgB,CAAC,GAAGH,IAAI,CAACE,aAAa,CAACE,QAAQ,EAAE;;MAE9D,IAAI,CAACL,OAAO,GAAGI,UAAU;KAC1B,MAAM;MACL,IAAI,CAACJ,OAAO,GAAGA,OAAO;;EAE1B;EACAM,IAAIA,CAAA;IACF,OAAOrB,aAAa,CAAC,IAAI,EAAEsB,SAAS,CAAC;EACvC;;AAGF;AACA,OAAO,MAAMC,gBAAgB,GAAIC,CAAU,IACzC,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAIhB,MAAM,IAAIgB,CAAC;AAEpD;AACA,OAAO,MAAMC,KAAK,GAAIC,OAA4C,IAChE,IAAIf,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCnB,YAAY,CAACmB,KAAK,CACnB;AAEH;AACA,OAAO,MAAME,UAAU,GAAGA,CACxBX,IAAgB,EAChBU,OAAgD,KAEhD,IAAIf,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCnB,YAAY,CAACqB,UAAU,CAACX,IAAI,EAAEY,cAAc,CAACF,OAAO,CAAC,CAAC,CACvD;AAEH;AACA,OAAO,MAAMG,IAAI,GAAGA,CAACb,IAAY,EAAEU,OAAgD,KACjF,IAAIf,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCnB,YAAY,CAACuB,IAAI,CAACb,IAAI,EAAEY,cAAc,CAACF,OAAO,CAAC,CAAC,CACjD;AAEH;AACA,OAAO,MAAMI,IAAI,GAAGA,CAClBd,IAAa,EACbU,OAA4C,KAE5CzB,MAAM,CAAC8B,GAAG,CAACzB,YAAY,CAACwB,IAAI,CAACd,IAAI,CAAC,EAAGA,IAAI,IACvC,IAAIL,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCT,IAAI,CACL,CAAC;AAEN;AACA,OAAO,MAAMgB,UAAU,GAAGA,CACxBhB,IAAa,EACbU,OAA4C,KAE5C,IAAIf,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCnB,YAAY,CAAC0B,UAAU,CAAChB,IAAI,CAAC,CAC9B;AAEH;AACA,OAAO,MAAMiB,UAAU,GACrBC,MAA2B,IACzB;EACF,MAAMC,MAAM,GAAG7B,YAAY,CAAC8B,UAAU,CAACF,MAAM,CAAC;EAC9C,OAAO,CACLlB,IAAO,EACPU,OAA4C,KAE5CzB,MAAM,CAAC8B,GAAG,CAACI,MAAM,CAACnB,IAAI,CAAC,EAAGA,IAAI,IAC5B,IAAIL,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCT,IAAI,CACL,CAAC;AACR,CAAC;AAED;AACA,OAAO,MAAMqB,IAAI,GAAGA,CAClBC,IAAY,EACZZ,OAA2D,KAkBzDzB,MAAM,CAAC8B,GAAG,CAAC,CAAC;EAAEf,IAAI;EAAEuB,IAAI;EAAEC;AAAI,CAAE,KAAI;EAClC,MAAMzB,OAAO,GAA2B;IACtC,IAAIW,OAAO,EAAEX,OAAO,IAAI,EAAE,CAAC;IAC3BwB,IAAI,EAAEpC,IAAI,CAACiB,QAAQ,CAACmB,IAAI;GACzB;EACD,IAAIC,IAAI,CAACC,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;IAC9B3B,OAAO,CAAC,eAAe,CAAC,GAAGyB,IAAI,CAACC,KAAK,CAACE,KAAK,CAACC,WAAW,EAAE;;EAE3D,OAAO,IAAIjC,kBAAkB,CAC3Be,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBC,OAAO,EACPC,IAAI,CACL;AACH,CAAC,CAAC,CAnBFf,MAAM,CAAC4C,IAAI,CAAC,MAAM,EAAE,CAAC;EAAEL;AAAI,CAAE,KAC3BlC,YAAY,CAACwC,QAAQ,CAACR,IAAI,EAAEE,IAAI,EAAE;EAChCvB,WAAW,EAAEV,IAAI,CAACwC,OAAO,CAACT,IAAI,CAAC,IAAIU,SAAS;EAC5C,GAAGtB;CACJ,CAAC,CAAC,CATLzB,MAAM,CAAC4C,IAAI,CAAC,MAAM,EAAE,CAAC;EAAEL;AAAI,CAAE,KAC3BvC,MAAM,CAACgD,OAAO,CACZ9C,IAAI,CAAC+C,SAAS,EACbC,SAAS,IAAKA,SAAS,CAACC,YAAY,CAACZ,IAAI,CAAC,CAC5C,CAAC,CALJvC,MAAM,CAACoD,MAAM,CAACpD,MAAM,CAACgD,OAAO,CAAC/C,UAAU,CAACA,UAAU,EAAGoD,EAAE,IAAKA,EAAE,CAACC,IAAI,CAACjB,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GA0BpF;AAEH;AACA,OAAO,MAAMkB,SAAS,GAAGA,CACvBxC,IAAqB,EACrBU,OAA4C,KAE5C,IAAIf,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCnB,YAAY,CAACuB,IAAI,CAACxB,SAAS,CAACe,QAAQ,CAACf,SAAS,CAACoD,SAAS,CAACzC,IAAI,CAAC,CAAC,EAAE,mCAAmC,CAAC,CACtG;AAEH;AACA,OAAO,MAAM0C,GAAG,GAAGA,CAAC1C,IAAa,EAAEU,OAAgC,KACjE,IAAIf,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCnB,YAAY,CAACoD,GAAG,CAAC1C,IAAI,CAAC,CACvB;AAEH;AACA,OAAO,MAAM2C,QAAQ,GAAGA,CAAC3C,IAAc,EAAEU,OAA4C,KACnF,IAAIf,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCnB,YAAY,CAACqD,QAAQ,CAAC3C,IAAI,CAAC,CAC5B;AAEH;AACA,OAAO,MAAM4C,MAAM,GAAGA,CACpB5C,IAA+C,EAC/CU,OAAgC,KAEhC,IAAIf,kBAAkB,CACpBe,OAAO,EAAEb,MAAM,IAAI,GAAG,EACtBa,OAAO,EAAEZ,UAAU,EACnBY,OAAO,EAAEX,OAAO,IAAIX,OAAO,CAACqB,KAAK,EACjCnB,YAAY,CAACsD,MAAM,CAAC5C,IAAI,EAAEY,cAAc,CAACF,OAAO,CAAC,EAAEA,OAAO,EAAER,aAAa,CAAC,CAC3E;AAEH;AACA,OAAO,MAAMU,cAAc,GAAIF,OAAgC,IAAwB;EACrF,IAAIA,OAAO,EAAET,WAAW,EAAE;IACxB,OAAOS,OAAO,CAACT,WAAW;GAC3B,MAAM,IAAIS,OAAO,EAAEX,OAAO,EAAE;IAC3B,OAAOW,OAAO,CAACX,OAAO,CAAC,cAAc,CAAC;GACvC,MAAM;IACL;;AAEJ,CAAC;AAED;AACA,OAAO,MAAM8C,SAAS,gBAAG9D,IAAI,CAG3B,CAAC,EAAE,CAAC+D,IAAI,EAAEC,GAAG,EAAEpB,KAAK,KACpB,IAAIhC,kBAAkB,CACpBmD,IAAI,CAACjD,MAAM,EACXiD,IAAI,CAAChD,UAAU,EACfV,OAAO,CAAC4D,GAAG,CAACF,IAAI,CAAC/C,OAAO,EAAEgD,GAAG,EAAEpB,KAAK,CAAC,EACrCmB,IAAI,CAAC9C,IAAI,CACV,CAAC;AAEJ;AACA,OAAO,MAAMiD,UAAU,gBAAGlE,IAAI,CAG5B,CAAC,EAAE,CAAC+D,IAAI,EAAEI,KAAK,KACf,IAAIvD,kBAAkB,CACpBmD,IAAI,CAACjD,MAAM,EACXiD,IAAI,CAAChD,UAAU,EACfV,OAAO,CAAC+D,MAAM,CAACL,IAAI,CAAC/C,OAAO,EAAEmD,KAAK,CAAC,EACnCJ,IAAI,CAAC9C,IAAI,CACV,CAAC;AAEJ;AACA,OAAO,MAAMoD,SAAS,gBAAGrE,IAAI,CAG1BsE,IAAI,IAAK9C,gBAAgB,CAAC8C,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAACP,IAAI,EAAEjD,MAAM,EAAEC,UAAU,KAC9D,IAAIH,kBAAkB,CACpBE,MAAM,EACNC,UAAU,EACVgD,IAAI,CAAC/C,OAAO,EACZ+C,IAAI,CAAC9C,IAAI,CACV,CAAC;AAEJ;AACA,OAAO,MAAMsD,OAAO,gBAAGvE,IAAI,CAGzB,CAAC,EAAE,CAAC+D,IAAI,EAAE9C,IAAI,KAAI;EAClB,IAAID,OAAO,GAAG+C,IAAI,CAAC/C,OAAO;EAC1B,IAAIC,IAAI,CAAC0B,IAAI,KAAK,OAAO,EAAE;IACzB3B,OAAO,GAAGX,OAAO,CAACmE,MAAM,CAACnE,OAAO,CAACmE,MAAM,CAACxD,OAAO,EAAE,cAAc,CAAC,EAAE,gBAAgB,CAAC;;EAErF,OAAO,IAAIJ,kBAAkB,CAC3BmD,IAAI,CAACjD,MAAM,EACXiD,IAAI,CAAChD,UAAU,EACfC,OAAO,EACPC,IAAI,CACL;AACH,CAAC,CAAC"}
|
package/package.json
CHANGED
package/src/Http/Body.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
+
import type * as Data from "@effect/data/Data"
|
|
4
5
|
import type * as Effect from "@effect/io/Effect"
|
|
5
6
|
import type * as PlatformError from "@effect/platform/Error"
|
|
6
7
|
import type * as FileSystem from "@effect/platform/FileSystem"
|
|
7
8
|
import * as internal from "@effect/platform/internal/http/body"
|
|
9
|
+
import type * as ParseResult from "@effect/schema/ParseResult"
|
|
8
10
|
import type * as Schema from "@effect/schema/Schema"
|
|
9
11
|
import type * as Stream_ from "@effect/stream/Stream"
|
|
10
12
|
|
|
@@ -24,13 +26,7 @@ export type TypeId = typeof TypeId
|
|
|
24
26
|
* @since 1.0.0
|
|
25
27
|
* @category models
|
|
26
28
|
*/
|
|
27
|
-
export type Body = Empty | Raw | Uint8Array |
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* @since 1.0.0
|
|
31
|
-
* @category models
|
|
32
|
-
*/
|
|
33
|
-
export type NonEffect = Exclude<Body, EffectBody>
|
|
29
|
+
export type Body = Empty | Raw | Uint8Array | FormData | Stream
|
|
34
30
|
|
|
35
31
|
/**
|
|
36
32
|
* @since 1.0.0
|
|
@@ -48,6 +44,45 @@ export namespace Body {
|
|
|
48
44
|
}
|
|
49
45
|
}
|
|
50
46
|
|
|
47
|
+
/**
|
|
48
|
+
* @since 1.0.0
|
|
49
|
+
* @category type ids
|
|
50
|
+
*/
|
|
51
|
+
export const ErrorTypeId: unique symbol = internal.ErrorTypeId
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @since 1.0.0
|
|
55
|
+
* @category type ids
|
|
56
|
+
*/
|
|
57
|
+
export type ErrorTypeId = typeof ErrorTypeId
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @since 1.0.0
|
|
61
|
+
* @category errors
|
|
62
|
+
*/
|
|
63
|
+
export interface BodyError extends Data.Case {
|
|
64
|
+
readonly [ErrorTypeId]: ErrorTypeId
|
|
65
|
+
readonly _tag: "BodyError"
|
|
66
|
+
readonly reason: BodyErrorReason
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @since 1.0.0
|
|
71
|
+
* @category errors
|
|
72
|
+
*/
|
|
73
|
+
export const BodyError: (reason: BodyErrorReason) => BodyError = internal.BodyError
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @since 1.0.0
|
|
77
|
+
* @category errors
|
|
78
|
+
*/
|
|
79
|
+
export type BodyErrorReason = {
|
|
80
|
+
readonly _tag: "JsonError"
|
|
81
|
+
readonly error: unknown
|
|
82
|
+
} | {
|
|
83
|
+
readonly _tag: "SchemaError"
|
|
84
|
+
readonly error: ParseResult.ParseError
|
|
85
|
+
}
|
|
51
86
|
/**
|
|
52
87
|
* @since 1.0.0
|
|
53
88
|
* @category models
|
|
@@ -100,21 +135,6 @@ export const uint8Array: (body: globalThis.Uint8Array) => Uint8Array = internal.
|
|
|
100
135
|
*/
|
|
101
136
|
export const text: (body: string, contentType?: string) => Uint8Array = internal.text
|
|
102
137
|
|
|
103
|
-
/**
|
|
104
|
-
* @since 1.0.0
|
|
105
|
-
* @category models
|
|
106
|
-
*/
|
|
107
|
-
export interface EffectBody extends Body.Proto {
|
|
108
|
-
readonly _tag: "Effect"
|
|
109
|
-
readonly effect: Effect.Effect<never, unknown, NonEffect>
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* @since 1.0.0
|
|
114
|
-
* @category constructors
|
|
115
|
-
*/
|
|
116
|
-
export const effect: (body: Effect.Effect<never, unknown, NonEffect>) => EffectBody = internal.effect
|
|
117
|
-
|
|
118
138
|
/**
|
|
119
139
|
* @since 1.0.0
|
|
120
140
|
* @category constructors
|
|
@@ -125,13 +145,15 @@ export const unsafeJson: (body: unknown) => Uint8Array = internal.unsafeJson
|
|
|
125
145
|
* @since 1.0.0
|
|
126
146
|
* @category constructors
|
|
127
147
|
*/
|
|
128
|
-
export const json: (body: unknown) =>
|
|
148
|
+
export const json: (body: unknown) => Effect.Effect<never, BodyError, Uint8Array> = internal.json
|
|
129
149
|
|
|
130
150
|
/**
|
|
131
151
|
* @since 1.0.0
|
|
132
152
|
* @category constructors
|
|
133
153
|
*/
|
|
134
|
-
export const jsonSchema: <I, A>(
|
|
154
|
+
export const jsonSchema: <I, A>(
|
|
155
|
+
schema: Schema.Schema<I, A>
|
|
156
|
+
) => (body: A) => Effect.Effect<never, BodyError, Uint8Array> = internal.jsonSchema
|
|
135
157
|
|
|
136
158
|
/**
|
|
137
159
|
* @since 1.0.0
|
package/src/Http/Client.ts
CHANGED
|
@@ -204,7 +204,7 @@ export const filterStatusOk: <R, E>(
|
|
|
204
204
|
*/
|
|
205
205
|
export const make: (
|
|
206
206
|
f: (
|
|
207
|
-
request: ClientRequest.ClientRequest
|
|
207
|
+
request: ClientRequest.ClientRequest
|
|
208
208
|
) => Effect.Effect<never, Error.HttpClientError, ClientResponse.ClientResponse>
|
|
209
209
|
) => Client.Default = internal.make
|
|
210
210
|
|
|
@@ -39,19 +39,6 @@ export interface ClientRequest extends Pipeable {
|
|
|
39
39
|
readonly body: Body.Body
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
/**
|
|
43
|
-
* @since 1.0.0
|
|
44
|
-
*/
|
|
45
|
-
export namespace ClientRequest {
|
|
46
|
-
/**
|
|
47
|
-
* @since 1.0.0
|
|
48
|
-
* @category models
|
|
49
|
-
*/
|
|
50
|
-
export interface NonEffectBody extends ClientRequest {
|
|
51
|
-
readonly body: Body.NonEffect
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
42
|
/**
|
|
56
43
|
* @since 1.0.0
|
|
57
44
|
* @category models
|
|
@@ -283,15 +270,6 @@ export const uint8ArrayBody: {
|
|
|
283
270
|
(self: ClientRequest, body: Uint8Array, contentType?: string): ClientRequest
|
|
284
271
|
} = internal.uint8ArrayBody
|
|
285
272
|
|
|
286
|
-
/**
|
|
287
|
-
* @since 1.0.0
|
|
288
|
-
* @category combinators
|
|
289
|
-
*/
|
|
290
|
-
export const effectBody: {
|
|
291
|
-
(body: Effect.Effect<never, unknown, Body.NonEffect>): (self: ClientRequest) => ClientRequest
|
|
292
|
-
(self: ClientRequest, body: Effect.Effect<never, unknown, Body.NonEffect>): ClientRequest
|
|
293
|
-
} = internal.effectBody
|
|
294
|
-
|
|
295
273
|
/**
|
|
296
274
|
* @since 1.0.0
|
|
297
275
|
* @category combinators
|
|
@@ -306,8 +284,8 @@ export const textBody: {
|
|
|
306
284
|
* @category combinators
|
|
307
285
|
*/
|
|
308
286
|
export const jsonBody: {
|
|
309
|
-
(body: unknown): (self: ClientRequest) => ClientRequest
|
|
310
|
-
(self: ClientRequest, body: unknown): ClientRequest
|
|
287
|
+
(body: unknown): (self: ClientRequest) => Effect.Effect<never, Body.BodyError, ClientRequest>
|
|
288
|
+
(self: ClientRequest, body: unknown): Effect.Effect<never, Body.BodyError, ClientRequest>
|
|
311
289
|
} = internal.jsonBody
|
|
312
290
|
|
|
313
291
|
/**
|
|
@@ -323,9 +301,11 @@ export const unsafeJsonBody: {
|
|
|
323
301
|
* @since 1.0.0
|
|
324
302
|
* @category combinators
|
|
325
303
|
*/
|
|
326
|
-
export const schemaBody: <I, A>(
|
|
327
|
-
|
|
328
|
-
|
|
304
|
+
export const schemaBody: <I, A>(
|
|
305
|
+
schema: Schema.Schema<I, A>
|
|
306
|
+
) => {
|
|
307
|
+
(body: A): (self: ClientRequest) => Effect.Effect<never, Body.BodyError, ClientRequest>
|
|
308
|
+
(self: ClientRequest, body: A): Effect.Effect<never, Body.BodyError, ClientRequest>
|
|
329
309
|
} = internal.schemaBody
|
|
330
310
|
|
|
331
311
|
/**
|
package/src/Http/Router.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type * as Effect from "@effect/io/Effect"
|
|
|
9
9
|
import type * as App from "@effect/platform/Http/App"
|
|
10
10
|
import type * as Method from "@effect/platform/Http/Method"
|
|
11
11
|
import type * as Error from "@effect/platform/Http/ServerError"
|
|
12
|
+
import type * as ServerRequest from "@effect/platform/Http/ServerRequest"
|
|
12
13
|
import type * as ServerResponse from "@effect/platform/Http/ServerResponse"
|
|
13
14
|
import * as internal from "@effect/platform/internal/http/router"
|
|
14
15
|
import type * as ParseResult from "@effect/schema/ParseResult"
|
|
@@ -68,7 +69,7 @@ export namespace Route {
|
|
|
68
69
|
* @since 1.0.0
|
|
69
70
|
*/
|
|
70
71
|
export type Handler<R, E> = Effect.Effect<
|
|
71
|
-
R,
|
|
72
|
+
R | RouteContext | ServerRequest.ServerRequest,
|
|
72
73
|
E,
|
|
73
74
|
ServerResponse.ServerResponse
|
|
74
75
|
>
|
|
@@ -197,29 +198,41 @@ export const mount: {
|
|
|
197
198
|
* @category routing
|
|
198
199
|
*/
|
|
199
200
|
export const mountApp: {
|
|
200
|
-
<R1, E1>(
|
|
201
|
+
<R1, E1>(
|
|
202
|
+
path: string,
|
|
203
|
+
that: App.Default<R1, E1>
|
|
204
|
+
): <R, E>(
|
|
201
205
|
self: Router<R, E>
|
|
202
|
-
) => Router<
|
|
206
|
+
) => Router<
|
|
207
|
+
Exclude<R1, RouteContext | ServerRequest.ServerRequest> | Exclude<R, RouteContext | ServerRequest.ServerRequest>,
|
|
208
|
+
E1 | E
|
|
209
|
+
>
|
|
203
210
|
<R, E, R1, E1>(
|
|
204
211
|
self: Router<R, E>,
|
|
205
212
|
path: string,
|
|
206
213
|
that: App.Default<R1, E1>
|
|
207
|
-
): Router<
|
|
214
|
+
): Router<
|
|
215
|
+
Exclude<R, RouteContext | ServerRequest.ServerRequest> | Exclude<R1, RouteContext | ServerRequest.ServerRequest>,
|
|
216
|
+
E | E1
|
|
217
|
+
>
|
|
208
218
|
} = internal.mountApp
|
|
209
219
|
|
|
210
220
|
/**
|
|
211
221
|
* @since 1.0.0
|
|
212
222
|
* @category routing
|
|
213
223
|
*/
|
|
214
|
-
export const route: (
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
224
|
+
export const route: (
|
|
225
|
+
method: Method.Method | "*"
|
|
226
|
+
) => {
|
|
227
|
+
<R1, E1>(
|
|
228
|
+
path: string,
|
|
229
|
+
handler: Route.Handler<R1, E1>
|
|
230
|
+
): <R, E>(self: Router<R, E>) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1 | E>
|
|
218
231
|
<R, E, R1, E1>(
|
|
219
232
|
self: Router<R, E>,
|
|
220
233
|
path: string,
|
|
221
234
|
handler: Route.Handler<R1, E1>
|
|
222
|
-
): Router<R | Exclude<R1, RouteContext>, E | E1>
|
|
235
|
+
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E | E1>
|
|
223
236
|
} = internal.route
|
|
224
237
|
|
|
225
238
|
/**
|
|
@@ -227,14 +240,15 @@ export const route: (method: Method.Method) => {
|
|
|
227
240
|
* @category routing
|
|
228
241
|
*/
|
|
229
242
|
export const all: {
|
|
230
|
-
<R1, E1>(
|
|
231
|
-
|
|
232
|
-
|
|
243
|
+
<R1, E1>(
|
|
244
|
+
path: string,
|
|
245
|
+
handler: Route.Handler<R1, E1>
|
|
246
|
+
): <R, E>(self: Router<R, E>) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1 | E>
|
|
233
247
|
<R, E, R1, E1>(
|
|
234
248
|
self: Router<R, E>,
|
|
235
249
|
path: string,
|
|
236
250
|
handler: Route.Handler<R1, E1>
|
|
237
|
-
): Router<R | Exclude<R1, RouteContext>, E | E1>
|
|
251
|
+
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E | E1>
|
|
238
252
|
} = internal.all
|
|
239
253
|
|
|
240
254
|
/**
|
|
@@ -242,14 +256,15 @@ export const all: {
|
|
|
242
256
|
* @category routing
|
|
243
257
|
*/
|
|
244
258
|
export const get: {
|
|
245
|
-
<R1, E1>(
|
|
246
|
-
|
|
247
|
-
|
|
259
|
+
<R1, E1>(
|
|
260
|
+
path: string,
|
|
261
|
+
handler: Route.Handler<R1, E1>
|
|
262
|
+
): <R, E>(self: Router<R, E>) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1 | E>
|
|
248
263
|
<R, E, R1, E1>(
|
|
249
264
|
self: Router<R, E>,
|
|
250
265
|
path: string,
|
|
251
266
|
handler: Route.Handler<R1, E1>
|
|
252
|
-
): Router<R | Exclude<R1, RouteContext>, E | E1>
|
|
267
|
+
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E | E1>
|
|
253
268
|
} = internal.get
|
|
254
269
|
|
|
255
270
|
/**
|
|
@@ -257,14 +272,15 @@ export const get: {
|
|
|
257
272
|
* @category routing
|
|
258
273
|
*/
|
|
259
274
|
export const post: {
|
|
260
|
-
<R1, E1>(
|
|
261
|
-
|
|
262
|
-
|
|
275
|
+
<R1, E1>(
|
|
276
|
+
path: string,
|
|
277
|
+
handler: Route.Handler<R1, E1>
|
|
278
|
+
): <R, E>(self: Router<R, E>) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1 | E>
|
|
263
279
|
<R, E, R1, E1>(
|
|
264
280
|
self: Router<R, E>,
|
|
265
281
|
path: string,
|
|
266
282
|
handler: Route.Handler<R1, E1>
|
|
267
|
-
): Router<R | Exclude<R1, RouteContext>, E | E1>
|
|
283
|
+
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E | E1>
|
|
268
284
|
} = internal.post
|
|
269
285
|
|
|
270
286
|
/**
|
|
@@ -272,14 +288,15 @@ export const post: {
|
|
|
272
288
|
* @category routing
|
|
273
289
|
*/
|
|
274
290
|
export const patch: {
|
|
275
|
-
<R1, E1>(
|
|
276
|
-
|
|
277
|
-
|
|
291
|
+
<R1, E1>(
|
|
292
|
+
path: string,
|
|
293
|
+
handler: Route.Handler<R1, E1>
|
|
294
|
+
): <R, E>(self: Router<R, E>) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1 | E>
|
|
278
295
|
<R, E, R1, E1>(
|
|
279
296
|
self: Router<R, E>,
|
|
280
297
|
path: string,
|
|
281
298
|
handler: Route.Handler<R1, E1>
|
|
282
|
-
): Router<R | Exclude<R1, RouteContext>, E | E1>
|
|
299
|
+
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E | E1>
|
|
283
300
|
} = internal.patch
|
|
284
301
|
|
|
285
302
|
/**
|
|
@@ -287,14 +304,15 @@ export const patch: {
|
|
|
287
304
|
* @category routing
|
|
288
305
|
*/
|
|
289
306
|
export const put: {
|
|
290
|
-
<R1, E1>(
|
|
291
|
-
|
|
292
|
-
|
|
307
|
+
<R1, E1>(
|
|
308
|
+
path: string,
|
|
309
|
+
handler: Route.Handler<R1, E1>
|
|
310
|
+
): <R, E>(self: Router<R, E>) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1 | E>
|
|
293
311
|
<R, E, R1, E1>(
|
|
294
312
|
self: Router<R, E>,
|
|
295
313
|
path: string,
|
|
296
314
|
handler: Route.Handler<R1, E1>
|
|
297
|
-
): Router<R | Exclude<R1, RouteContext>, E | E1>
|
|
315
|
+
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E | E1>
|
|
298
316
|
} = internal.put
|
|
299
317
|
|
|
300
318
|
/**
|
|
@@ -302,14 +320,15 @@ export const put: {
|
|
|
302
320
|
* @category routing
|
|
303
321
|
*/
|
|
304
322
|
export const del: {
|
|
305
|
-
<R1, E1>(
|
|
306
|
-
|
|
307
|
-
|
|
323
|
+
<R1, E1>(
|
|
324
|
+
path: string,
|
|
325
|
+
handler: Route.Handler<R1, E1>
|
|
326
|
+
): <R, E>(self: Router<R, E>) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1 | E>
|
|
308
327
|
<R, E, R1, E1>(
|
|
309
328
|
self: Router<R, E>,
|
|
310
329
|
path: string,
|
|
311
330
|
handler: Route.Handler<R1, E1>
|
|
312
|
-
): Router<R | Exclude<R1, RouteContext>, E | E1>
|
|
331
|
+
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E | E1>
|
|
313
332
|
} = internal.del
|
|
314
333
|
|
|
315
334
|
/**
|
|
@@ -317,14 +336,15 @@ export const del: {
|
|
|
317
336
|
* @category routing
|
|
318
337
|
*/
|
|
319
338
|
export const head: {
|
|
320
|
-
<R1, E1>(
|
|
321
|
-
|
|
322
|
-
|
|
339
|
+
<R1, E1>(
|
|
340
|
+
path: string,
|
|
341
|
+
handler: Route.Handler<R1, E1>
|
|
342
|
+
): <R, E>(self: Router<R, E>) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1 | E>
|
|
323
343
|
<R, E, R1, E1>(
|
|
324
344
|
self: Router<R, E>,
|
|
325
345
|
path: string,
|
|
326
346
|
handler: Route.Handler<R1, E1>
|
|
327
|
-
): Router<R | Exclude<R1, RouteContext>, E | E1>
|
|
347
|
+
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E | E1>
|
|
328
348
|
} = internal.head
|
|
329
349
|
|
|
330
350
|
/**
|
|
@@ -332,21 +352,30 @@ export const head: {
|
|
|
332
352
|
* @category routing
|
|
333
353
|
*/
|
|
334
354
|
export const options: {
|
|
335
|
-
<R1, E1>(
|
|
336
|
-
|
|
337
|
-
|
|
355
|
+
<R1, E1>(
|
|
356
|
+
path: string,
|
|
357
|
+
handler: Route.Handler<R1, E1>
|
|
358
|
+
): <R, E>(self: Router<R, E>) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1 | E>
|
|
338
359
|
<R, E, R1, E1>(
|
|
339
360
|
self: Router<R, E>,
|
|
340
361
|
path: string,
|
|
341
362
|
handler: Route.Handler<R1, E1>
|
|
342
|
-
): Router<R | Exclude<R1, RouteContext>, E | E1>
|
|
363
|
+
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E | E1>
|
|
343
364
|
} = internal.options
|
|
344
365
|
|
|
345
366
|
/**
|
|
346
367
|
* @since 1.0.0
|
|
347
368
|
* @category combinators
|
|
348
369
|
*/
|
|
349
|
-
export const use
|
|
370
|
+
export const use: {
|
|
371
|
+
<R, E, R1, E1>(
|
|
372
|
+
f: (self: Route.Handler<R, E>) => App.Default<R1, E1>
|
|
373
|
+
): (self: Router<R, E>) => Router<Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1>
|
|
374
|
+
<R, E, R1, E1>(
|
|
375
|
+
self: Router<R, E>,
|
|
376
|
+
f: (self: Route.Handler<R, E>) => App.Default<R1, E1>
|
|
377
|
+
): Router<Exclude<R1, RouteContext | ServerRequest.ServerRequest>, E1>
|
|
378
|
+
} = internal.use
|
|
350
379
|
|
|
351
380
|
/**
|
|
352
381
|
* @since 1.0.0
|
|
@@ -481,10 +510,10 @@ export const provideServiceEffect: {
|
|
|
481
510
|
effect: Effect.Effect<R1, E1, Context.Tag.Service<T>>
|
|
482
511
|
): <R, E>(
|
|
483
512
|
self: Router<R, E>
|
|
484
|
-
) => Router<R1 | Exclude<R, Context.Tag.Identifier<T>>, E1 | E>
|
|
513
|
+
) => Router<Exclude<R1, RouteContext | ServerRequest.ServerRequest> | Exclude<R, Context.Tag.Identifier<T>>, E1 | E>
|
|
485
514
|
<R, E, T extends Context.Tag<any, any>, R1, E1>(
|
|
486
515
|
self: Router<R, E>,
|
|
487
516
|
tag: T,
|
|
488
517
|
effect: Effect.Effect<R1, E1, Context.Tag.Service<T>>
|
|
489
|
-
): Router<R1 | Exclude<R, Context.Tag.Identifier<T>>, E | E1>
|
|
518
|
+
): Router<Exclude<R1, RouteContext | ServerRequest.ServerRequest> | Exclude<R, Context.Tag.Identifier<T>>, E | E1>
|
|
490
519
|
} = internal.provideServiceEffect
|