@effect/platform 0.72.1 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +2159 -356
  2. package/Url/package.json +6 -0
  3. package/dist/cjs/HttpApi.js +22 -18
  4. package/dist/cjs/HttpApi.js.map +1 -1
  5. package/dist/cjs/HttpApiEndpoint.js.map +1 -1
  6. package/dist/cjs/HttpApiGroup.js.map +1 -1
  7. package/dist/cjs/HttpApiSchema.js +33 -4
  8. package/dist/cjs/HttpApiSchema.js.map +1 -1
  9. package/dist/cjs/HttpApiSecurity.js +2 -0
  10. package/dist/cjs/HttpApiSecurity.js.map +1 -1
  11. package/dist/cjs/OpenApi.js +132 -142
  12. package/dist/cjs/OpenApi.js.map +1 -1
  13. package/dist/cjs/OpenApiJsonSchema.js +7 -4
  14. package/dist/cjs/OpenApiJsonSchema.js.map +1 -1
  15. package/dist/cjs/Runtime.js.map +1 -1
  16. package/dist/cjs/Url.js +259 -0
  17. package/dist/cjs/Url.js.map +1 -0
  18. package/dist/cjs/index.js +3 -1
  19. package/dist/dts/HttpApi.d.ts +4 -2
  20. package/dist/dts/HttpApi.d.ts.map +1 -1
  21. package/dist/dts/HttpApiBuilder.d.ts +1 -1
  22. package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
  23. package/dist/dts/HttpApiEndpoint.d.ts +16 -8
  24. package/dist/dts/HttpApiEndpoint.d.ts.map +1 -1
  25. package/dist/dts/HttpApiGroup.d.ts +1 -2
  26. package/dist/dts/HttpApiGroup.d.ts.map +1 -1
  27. package/dist/dts/HttpApiSchema.d.ts.map +1 -1
  28. package/dist/dts/HttpApiSecurity.d.ts +2 -0
  29. package/dist/dts/HttpApiSecurity.d.ts.map +1 -1
  30. package/dist/dts/OpenApi.d.ts +102 -111
  31. package/dist/dts/OpenApi.d.ts.map +1 -1
  32. package/dist/dts/OpenApiJsonSchema.d.ts.map +1 -1
  33. package/dist/dts/Runtime.d.ts +48 -0
  34. package/dist/dts/Runtime.d.ts.map +1 -1
  35. package/dist/dts/Url.d.ts +591 -0
  36. package/dist/dts/Url.d.ts.map +1 -0
  37. package/dist/dts/index.d.ts +4 -0
  38. package/dist/dts/index.d.ts.map +1 -1
  39. package/dist/esm/HttpApi.js +22 -18
  40. package/dist/esm/HttpApi.js.map +1 -1
  41. package/dist/esm/HttpApiEndpoint.js.map +1 -1
  42. package/dist/esm/HttpApiGroup.js.map +1 -1
  43. package/dist/esm/HttpApiSchema.js +30 -3
  44. package/dist/esm/HttpApiSchema.js.map +1 -1
  45. package/dist/esm/HttpApiSecurity.js +2 -0
  46. package/dist/esm/HttpApiSecurity.js.map +1 -1
  47. package/dist/esm/OpenApi.js +132 -141
  48. package/dist/esm/OpenApi.js.map +1 -1
  49. package/dist/esm/OpenApiJsonSchema.js +4 -2
  50. package/dist/esm/OpenApiJsonSchema.js.map +1 -1
  51. package/dist/esm/Runtime.js.map +1 -1
  52. package/dist/esm/Url.js +248 -0
  53. package/dist/esm/Url.js.map +1 -0
  54. package/dist/esm/index.js +4 -0
  55. package/dist/esm/index.js.map +1 -1
  56. package/package.json +10 -2
  57. package/src/HttpApi.ts +25 -26
  58. package/src/HttpApiBuilder.ts +1 -1
  59. package/src/HttpApiEndpoint.ts +22 -13
  60. package/src/HttpApiGroup.ts +2 -3
  61. package/src/HttpApiSchema.ts +33 -8
  62. package/src/HttpApiSecurity.ts +2 -0
  63. package/src/OpenApi.ts +244 -272
  64. package/src/OpenApiJsonSchema.ts +9 -1
  65. package/src/Runtime.ts +48 -0
  66. package/src/Url.ts +632 -0
  67. package/src/index.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi.js","names":["Context","constFalse","globalValue","Option","Schema","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","Exclude","Reference","defaultValue","Transform","contextPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","externalDocs","servers","format","override","exclude","transform","apiCache","WeakMap","fromApi","self","has","get","api","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","components","schemas","securitySchemes","security","makeJsonSchemaOrRef","schema","makeWithDefs","defs","registerSecurity","name","scheme","makeSecurityScheme","map","getOption","AdditionalSchemas","componentSchemas","forEach","componentSchema","assign","middlewares","middleware","isSecurity","push","reflect","onGroup","group","fn","onEndpoint","endpoint","errors","mergedAnnotations","payloads","successes","path","replace","method","toLowerCase","op","operationId","topLevel","parameters","responses","deprecated","size","content","ast","contentType","make","requestBody","required","status","pipe","filter","getEmptyDecodeable","isSome","pathSchema","value","properties","jsonSchema","in","includes","hasBody","payloadSchema","headersSchema","urlParamsSchema","transformFn","set","meta","_tag","type","bearerFormat","getOrUndefined"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,SAASC,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,WAAW,QAAQ,oBAAoB;AAChD,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAC3D,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,UAAU,MAAM,wBAAwB;AAEpD;;;;AAIA,OAAM,MAAOC,UAAW,sBAAQV,OAAO,CAACW,GAAG,CAAC,qCAAqC,CAAC,EAAsB;AAExG;;;;AAIA,OAAM,MAAOC,KAAM,sBAAQZ,OAAO,CAACW,GAAG,CAAC,gCAAgC,CAAC,EAAiB;AAEzF;;;;AAIA,OAAM,MAAOE,OAAQ,sBAAQb,OAAO,CAACW,GAAG,CAAC,kCAAkC,CAAC,EAAmB;AAE/F;;;;AAIA,OAAM,MAAOG,WAAY,sBAAQd,OAAO,CAACW,GAAG,CAAC,sCAAsC,CAAC,EAAuB;AAE3G;;;;AAIA,OAAM,MAAOI,OAAQ,sBAAQf,OAAO,CAACW,GAAG,CAAC,kCAAkC,CAAC,EAA+B;AAE3G;;;;AAIA,OAAM,MAAOK,YACX,sBAAQhB,OAAO,CAACW,GAAG,CAAC,uCAAuC,CAAC,EAAyC;AAGvG;;;;AAIA,OAAM,MAAOM,OACX,sBAAQjB,OAAO,CAACW,GAAG,CAAC,kCAAkC,CAAC,EAA6C;AAGtG;;;;AAIA,OAAM,MAAOO,MAAO,sBAAQlB,OAAO,CAACW,GAAG,CAAC,iCAAiC,CAAC,EAAkB;AAE5F;;;;AAIA,OAAM,MAAOQ,OAAQ,sBAAQnB,OAAO,CAACW,GAAG,CAAC,kCAAkC,CAAC,EAAmB;AAE/F;;;;AAIA,OAAM,MAAOS,UAAW,sBAAQpB,OAAO,CAACW,GAAG,CAAC,qCAAqC,CAAC,EAAuB;AAEzG;;;;AAIA,OAAM,MAAOU,QAAS,sBAAQrB,OAAO,CAACW,GAAG,CAAC,mCAAmC,CAAC,EAAqC;AAEnH;;;;AAIA,OAAM,MAAOW,OAAQ,sBAAQtB,OAAO,CAACuB,SAAS,EAAW,CAAC,kCAAkC,EAAE;EAC5FC,YAAY,EAAEvB;CACf,CAAC;AAEF;;;;;AAKA,OAAM,MAAOwB,SAAU,sBAAQzB,OAAO,CAACW,GAAG,CAAC,oCAAoC,CAAC,EAG7E;AAEH,MAAMe,cAAc,GAAwDC,IAAU,IAIxD;EAC5B,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAO,CAACD,IAAI,CAAC;EACpC,OAAQG,OAAO,IAAI;IACjB,IAAIC,OAAO,GAAG/B,OAAO,CAACgC,KAAK,EAAE;IAC7B,KAAK,MAAM,CAACC,GAAG,EAAEC,GAAG,CAAC,IAAIN,OAAO,EAAE;MAChC,IAAIE,OAAO,CAACG,GAAG,CAAC,KAAKE,SAAS,EAAE;QAC9BJ,OAAO,GAAG/B,OAAO,CAACoC,GAAG,CAACL,OAAO,EAAEG,GAAG,EAAEJ,OAAO,CAACG,GAAG,CAAE,CAAC;MACpD;IACF;IACA,OAAOF,OAAO;EAChB,CAAC;AACH,CAAC;AAED;;;;AAIA,OAAO,MAAMM,WAAW,gBAeMX,cAAc,CAAC;EAC3CY,UAAU,EAAE5B,UAAU;EACtB6B,KAAK,EAAE3B,KAAK;EACZ4B,OAAO,EAAE3B,OAAO;EAChB4B,WAAW,EAAE3B,WAAW;EACxB4B,OAAO,EAAE3B,OAAO;EAChB4B,OAAO,EAAExB,OAAO;EAChByB,YAAY,EAAE5B,YAAY;EAC1B6B,OAAO,EAAE5B,OAAO;EAChB6B,MAAM,EAAE5B,MAAM;EACd6B,QAAQ,EAAE1B,QAAQ;EAClB2B,OAAO,EAAE1B,OAAO;EAChB2B,SAAS,EAAExB;CACZ,CAAC;AAEF,MAAMyB,QAAQ,gBAAGhD,WAAW,CAAC,mCAAmC,EAAE,MAAM,IAAIiD,OAAO,EAAoC,CAAC;AAExH;;;;AAIA,OAAO,MAAMC,OAAO,GAAmCC,IAAO,IAAiB;EAC7E,IAAIH,QAAQ,CAACI,GAAG,CAACD,IAAI,CAAC,EAAE;IACtB,OAAOH,QAAQ,CAACK,GAAG,CAACF,IAAI,CAAE;EAC5B;EACA,MAAMG,GAAG,GAAGH,IAA+C;EAC3D,MAAMI,cAAc,GAA0C,EAAE;EAChE,IAAIC,IAAI,GAA6B;IACnCC,OAAO,EAAE,OAAO;IAChBC,IAAI,EAAE;MACJrB,KAAK,EAAEvC,OAAO,CAAC6D,SAAS,CAACL,GAAG,CAACnB,WAAW,EAAEzB,KAAK,EAAE,MAAM,KAAK,CAAC;MAC7D4B,OAAO,EAAExC,OAAO,CAAC6D,SAAS,CAACL,GAAG,CAACnB,WAAW,EAAExB,OAAO,EAAE,MAAM,OAAO;KACnE;IACDiD,KAAK,EAAE,EAAE;IACTnC,IAAI,EAAE,EAAE;IACRoC,UAAU,EAAE;MACVC,OAAO,EAAEP,cAAc;MACvBQ,eAAe,EAAE;KAClB;IACDC,QAAQ,EAAE;GACX;EACD,SAASC,mBAAmBA,CAACC,MAAyB;IACpD,OAAO3D,UAAU,CAAC4D,YAAY,CAACD,MAAa,EAAE;MAC5CE,IAAI,EAAEb;KACP,CAAC;EACJ;EACA,SAASc,gBAAgBA,CACvBC,IAAY,EACZN,QAAyB;IAEzB,IAAIR,IAAI,CAACK,UAAW,CAACE,eAAgB,CAACO,IAAI,CAAC,EAAE;MAC3C;IACF;IACA,MAAMC,MAAM,GAAGC,kBAAkB,CAACR,QAAQ,CAAC;IAC3CR,IAAI,CAACK,UAAW,CAACE,eAAgB,CAACO,IAAI,CAAC,GAAGC,MAAM;EAClD;EACAtE,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACpB,GAAG,CAACnB,WAAW,EAAEhC,OAAO,CAACwE,iBAAiB,CAAC,EAAGC,gBAAgB,IAAI;IAC7FA,gBAAgB,CAACC,OAAO,CAAEC,eAAe,IAAKb,mBAAmB,CAACa,eAAe,CAAC,CAAC;EACrF,CAAC,CAAC;EACF7E,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACpB,GAAG,CAACnB,WAAW,EAAEvB,WAAW,CAAC,EAAG2B,WAAW,IAAI;IAC1EiB,IAAI,CAACE,IAAI,CAACnB,WAAW,GAAGA,WAAW;EACrC,CAAC,CAAC;EACFtC,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACpB,GAAG,CAACnB,WAAW,EAAEtB,OAAO,CAAC,EAAG2B,OAAO,IAAI;IAClEgB,IAAI,CAACE,IAAI,CAAClB,OAAO,GAAGA,OAAO;EAC7B,CAAC,CAAC;EACFvC,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACpB,GAAG,CAACnB,WAAW,EAAElB,OAAO,CAAC,EAAGwB,OAAO,IAAI;IAClEe,IAAI,CAACE,IAAI,CAACjB,OAAO,GAAGA,OAAc;EACpC,CAAC,CAAC;EACFxC,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACpB,GAAG,CAACnB,WAAW,EAAEpB,OAAO,CAAC,EAAG4B,OAAO,IAAI;IAClEa,IAAI,CAACb,OAAO,GAAGA,OAAc;EAC/B,CAAC,CAAC;EACF1C,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACpB,GAAG,CAACnB,WAAW,EAAEhB,QAAQ,CAAC,EAAG0B,QAAQ,IAAI;IACpElB,MAAM,CAACoD,MAAM,CAACvB,IAAI,EAAEX,QAAQ,CAAC;EAC/B,CAAC,CAAC;EACFS,GAAG,CAAC0B,WAAW,CAACH,OAAO,CAAEI,UAAU,IAAI;IACrC,IAAI,CAAC7E,iBAAiB,CAAC8E,UAAU,CAACD,UAAU,CAAC,EAAE;MAC7C;IACF;IACA,KAAK,MAAM,CAACX,IAAI,EAAEN,QAAQ,CAAC,IAAIrC,MAAM,CAACD,OAAO,CAACuD,UAAU,CAACjB,QAAQ,CAAC,EAAE;MAClEK,gBAAgB,CAACC,IAAI,EAAEN,QAAQ,CAAC;MAChCR,IAAI,CAACQ,QAAS,CAACmB,IAAI,CAAC;QAAE,CAACb,IAAI,GAAG;MAAE,CAAE,CAAC;IACrC;EACF,CAAC,CAAC;EACFnE,OAAO,CAACiF,OAAO,CAAC9B,GAAU,EAAE;IAC1B+B,OAAOA,CAAC;MAAEC;IAAK,CAAE;MACf,IAAIxF,OAAO,CAACuD,GAAG,CAACiC,KAAK,CAACnD,WAAW,EAAEf,OAAO,CAAC,EAAE;QAC3C;MACF;MACA,IAAIY,GAAG,GAA4B;QACjCsC,IAAI,EAAExE,OAAO,CAAC6D,SAAS,CAAC2B,KAAK,CAACnD,WAAW,EAAEzB,KAAK,EAAE,MAAM4E,KAAK,CAAClD,UAAU;OACzE;MACDnC,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACY,KAAK,CAACnD,WAAW,EAAEvB,WAAW,CAAC,EAAG2B,WAAW,IAAI;QAC5EP,GAAG,CAACO,WAAW,GAAGA,WAAW;MAC/B,CAAC,CAAC;MACFtC,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACY,KAAK,CAACnD,WAAW,EAAErB,YAAY,CAAC,EAAG4B,YAAY,IAAI;QAC9EV,GAAG,CAACU,YAAY,GAAGA,YAAY;MACjC,CAAC,CAAC;MACFzC,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACY,KAAK,CAACnD,WAAW,EAAEhB,QAAQ,CAAC,EAAG0B,QAAQ,IAAI;QACtElB,MAAM,CAACoD,MAAM,CAAC/C,GAAG,EAAEa,QAAQ,CAAC;MAC9B,CAAC,CAAC;MACF5C,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACY,KAAK,CAACnD,WAAW,EAAEZ,SAAS,CAAC,EAAGgE,EAAE,IAAI;QACjEvD,GAAG,GAAGuD,EAAE,CAACvD,GAAG,CAAmB;MACjC,CAAC,CAAC;MACFwB,IAAI,CAAC/B,IAAK,CAAC0D,IAAI,CAACnD,GAAG,CAAC;IACtB,CAAC;IACDwD,UAAUA,CAAC;MAAEC,QAAQ;MAAEC,MAAM;MAAEJ,KAAK;MAAEK,iBAAiB;MAAEV,UAAU;MAAEW,QAAQ;MAAEC;IAAS,CAAE;MACxF,IAAI/F,OAAO,CAACuD,GAAG,CAACsC,iBAAiB,EAAEvE,OAAO,CAAC,EAAE;QAC3C;MACF;MACA,MAAM0E,IAAI,GAAGL,QAAQ,CAACK,IAAI,CAACC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;MAC1D,MAAMC,MAAM,GAAGP,QAAQ,CAACO,MAAM,CAACC,WAAW,EAA2B;MACrE,IAAIC,EAAE,GAAsC;QAC1CzE,IAAI,EAAE,CAAC3B,OAAO,CAAC6D,SAAS,CAAC2B,KAAK,CAACnD,WAAW,EAAEzB,KAAK,EAAE,MAAM4E,KAAK,CAAClD,UAAU,CAAC,CAAC;QAC3E+D,WAAW,EAAErG,OAAO,CAAC6D,SAAS,CAC5B8B,QAAQ,CAACtD,WAAW,EACpB3B,UAAU,EACV,MAAM8E,KAAK,CAACc,QAAQ,GAAGX,QAAQ,CAACnB,IAAI,GAAG,GAAGgB,KAAK,CAAClD,UAAU,IAAIqD,QAAQ,CAACnB,IAAI,EAAE,CAC9E;QACD+B,UAAU,EAAE,EAAE;QACdrC,QAAQ,EAAE,EAAE;QACZsC,SAAS,EAAE;OACZ;MACDrG,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACe,QAAQ,CAACtD,WAAW,EAAEvB,WAAW,CAAC,EAAG2B,WAAW,IAAI;QAC/E2D,EAAE,CAAC3D,WAAW,GAAGA,WAAW;MAC9B,CAAC,CAAC;MACFtC,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACe,QAAQ,CAACtD,WAAW,EAAElB,OAAO,CAAC,EAAGwB,OAAO,IAAI;QACvEyD,EAAE,CAACzD,OAAO,GAAGA,OAAO;MACtB,CAAC,CAAC;MACFxC,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACe,QAAQ,CAACtD,WAAW,EAAEjB,UAAU,CAAC,EAAGqF,UAAU,IAAI;QAC7EL,EAAE,CAACK,UAAU,GAAGA,UAAU;MAC5B,CAAC,CAAC;MACFtG,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACe,QAAQ,CAACtD,WAAW,EAAErB,YAAY,CAAC,EAAG4B,YAAY,IAAI;QACjFwD,EAAE,CAACxD,YAAY,GAAGA,YAAY;MAChC,CAAC,CAAC;MACFuC,UAAU,CAACJ,OAAO,CAAEI,UAAU,IAAI;QAChC,IAAI,CAAC7E,iBAAiB,CAAC8E,UAAU,CAACD,UAAU,CAAC,EAAE;UAC7C;QACF;QACA,KAAK,MAAM,CAACX,IAAI,EAAEN,QAAQ,CAAC,IAAIrC,MAAM,CAACD,OAAO,CAACuD,UAAU,CAACjB,QAAQ,CAAC,EAAE;UAClEK,gBAAgB,CAACC,IAAI,EAAEN,QAAQ,CAAC;UAChCkC,EAAE,CAAClC,QAAS,CAACmB,IAAI,CAAC;YAAE,CAACb,IAAI,GAAG;UAAE,CAAE,CAAC;QACnC;MACF,CAAC,CAAC;MACF,IAAIsB,QAAQ,CAACY,IAAI,GAAG,CAAC,EAAE;QACrB,MAAMC,OAAO,GAAgC,EAAE;QAC/Cb,QAAQ,CAACf,OAAO,CAAC,CAAC;UAAE6B;QAAG,CAAE,EAAEC,WAAW,KAAI;UACxCF,OAAO,CAACE,WAAqC,CAAC,GAAG;YAC/CzC,MAAM,EAAED,mBAAmB,CAAC/D,MAAM,CAAC0G,IAAI,CAACF,GAAG,CAAC;WAC7C;QACH,CAAC,CAAC;QACFR,EAAE,CAACW,WAAW,GAAG;UAAEJ,OAAO;UAAEK,QAAQ,EAAE;QAAI,CAAE;MAC9C;MACA,KAAK,MAAM,CAACC,MAAM,EAAE;QAAEL,GAAG;QAAEnE;MAAW,CAAE,CAAC,IAAIsD,SAAS,EAAE;QACtD,IAAIK,EAAE,CAACI,SAAU,CAACS,MAAM,CAAC,EAAE;QAC3Bb,EAAE,CAACI,SAAU,CAACS,MAAM,CAAC,GAAG;UACtBxE,WAAW,EAAEtC,MAAM,CAAC0D,SAAS,CAACpB,WAAW,EAAE,MAAM,SAAS;SAC3D;QACDmE,GAAG,CAACM,IAAI,CACN/G,MAAM,CAACgH,MAAM,CAAEP,GAAG,IAAK,CAACrG,aAAa,CAAC6G,kBAAkB,CAACR,GAAG,CAAC,CAAC,EAC9DzG,MAAM,CAACwE,GAAG,CAAEiC,GAAG,IAAI;UACjBR,EAAE,CAACI,SAAU,CAACS,MAAM,CAAC,CAACN,OAAO,GAAG;YAC9B,kBAAkB,EAAE;cAClBvC,MAAM,EAAED,mBAAmB,CAAC/D,MAAM,CAAC0G,IAAI,CAACF,GAAG,CAAC;;WAE/C;QACH,CAAC,CAAC,CACH;MACH;MACA,IAAIzG,MAAM,CAACkH,MAAM,CAAC1B,QAAQ,CAAC2B,UAAU,CAAC,EAAE;QACtC,MAAMlD,MAAM,GAAGD,mBAAmB,CAACwB,QAAQ,CAAC2B,UAAU,CAACC,KAAK,CAAsB;QAClF,IAAI,YAAY,IAAInD,MAAM,EAAE;UAC1BvC,MAAM,CAACD,OAAO,CAACwC,MAAM,CAACoD,UAAU,CAAC,CAACzC,OAAO,CAAC,CAAC,CAACP,IAAI,EAAEiD,UAAU,CAAC,KAAI;YAC/DrB,EAAE,CAACG,UAAW,CAAClB,IAAI,CAAC;cAClBb,IAAI;cACJkD,EAAE,EAAE,MAAM;cACVtD,MAAM,EAAEqD,UAAU;cAClBT,QAAQ,EAAE5C,MAAM,CAAC4C,QAAQ,CAACW,QAAQ,CAACnD,IAAI,CAAC;cACxC,IAAIiD,UAAU,CAAChF,WAAW,GAAG;gBAAEA,WAAW,EAAEgF,UAAU,CAAChF;cAAW,CAAE,GAAG,EAAE;aAC1E,CAAC;UACJ,CAAC,CAAC;QACJ;MACF;MACA,IAAI,CAACjC,UAAU,CAACoH,OAAO,CAACjC,QAAQ,CAACO,MAAM,CAAC,IAAI/F,MAAM,CAACkH,MAAM,CAAC1B,QAAQ,CAACkC,aAAa,CAAC,EAAE;QACjF,MAAMzD,MAAM,GAAGD,mBAAmB,CAACwB,QAAQ,CAACkC,aAAa,CAACN,KAAK,CAAsB;QACrF,IAAI,YAAY,IAAInD,MAAM,EAAE;UAC1BvC,MAAM,CAACD,OAAO,CAACwC,MAAM,CAACoD,UAAU,CAAC,CAACzC,OAAO,CAAC,CAAC,CAACP,IAAI,EAAEiD,UAAU,CAAC,KAAI;YAC/DrB,EAAE,CAACG,UAAW,CAAClB,IAAI,CAAC;cAClBb,IAAI;cACJkD,EAAE,EAAE,OAAO;cACXtD,MAAM,EAAEqD,UAAU;cAClBT,QAAQ,EAAE5C,MAAM,CAAC4C,QAAQ,CAACW,QAAQ,CAACnD,IAAI,CAAC;cACxC,IAAIiD,UAAU,CAAChF,WAAW,GAAG;gBAAEA,WAAW,EAAEgF,UAAU,CAAChF;cAAW,CAAE,GAAG,EAAE;aAC1E,CAAC;UACJ,CAAC,CAAC;QACJ;MACF;MACA,IAAItC,MAAM,CAACkH,MAAM,CAAC1B,QAAQ,CAACmC,aAAa,CAAC,EAAE;QACzC,MAAM1D,MAAM,GAAGD,mBAAmB,CAACwB,QAAQ,CAACmC,aAAa,CAACP,KAAK,CAAsB;QACrF,IAAI,YAAY,IAAInD,MAAM,EAAE;UAC1BvC,MAAM,CAACD,OAAO,CAACwC,MAAM,CAACoD,UAAU,CAAC,CAACzC,OAAO,CAAC,CAAC,CAACP,IAAI,EAAEiD,UAAU,CAAC,KAAI;YAC/DrB,EAAE,CAACG,UAAW,CAAClB,IAAI,CAAC;cAClBb,IAAI;cACJkD,EAAE,EAAE,QAAQ;cACZtD,MAAM,EAAEqD,UAAU;cAClBT,QAAQ,EAAE5C,MAAM,CAAC4C,QAAQ,CAACW,QAAQ,CAACnD,IAAI,CAAC;cACxC,IAAIiD,UAAU,CAAChF,WAAW,GAAG;gBAAEA,WAAW,EAAEgF,UAAU,CAAChF;cAAW,CAAE,GAAG,EAAE;aAC1E,CAAC;UACJ,CAAC,CAAC;QACJ;MACF;MACA,IAAItC,MAAM,CAACkH,MAAM,CAAC1B,QAAQ,CAACoC,eAAe,CAAC,EAAE;QAC3C,MAAM3D,MAAM,GAAGD,mBAAmB,CAACwB,QAAQ,CAACoC,eAAe,CAACR,KAAK,CAAsB;QACvF,IAAI,YAAY,IAAInD,MAAM,EAAE;UAC1BvC,MAAM,CAACD,OAAO,CAACwC,MAAM,CAACoD,UAAU,CAAC,CAACzC,OAAO,CAAC,CAAC,CAACP,IAAI,EAAEiD,UAAU,CAAC,KAAI;YAC/DrB,EAAE,CAACG,UAAW,CAAClB,IAAI,CAAC;cAClBb,IAAI;cACJkD,EAAE,EAAE,OAAO;cACXtD,MAAM,EAAEqD,UAAU;cAClBT,QAAQ,EAAE5C,MAAM,CAAC4C,QAAQ,CAACW,QAAQ,CAACnD,IAAI,CAAC;cACxC,IAAIiD,UAAU,CAAChF,WAAW,GAAG;gBAAEA,WAAW,EAAEgF,UAAU,CAAChF;cAAW,CAAE,GAAG,EAAE;aAC1E,CAAC;UACJ,CAAC,CAAC;QACJ;MACF;MACA,KAAK,MAAM,CAACwE,MAAM,EAAE;QAAEL,GAAG;QAAEnE;MAAW,CAAE,CAAC,IAAImD,MAAM,EAAE;QACnD,IAAIQ,EAAE,CAACI,SAAU,CAACS,MAAM,CAAC,EAAE;QAC3Bb,EAAE,CAACI,SAAU,CAACS,MAAM,CAAC,GAAG;UACtBxE,WAAW,EAAEtC,MAAM,CAAC0D,SAAS,CAACpB,WAAW,EAAE,MAAM,OAAO;SACzD;QACDmE,GAAG,CAACM,IAAI,CACN/G,MAAM,CAACgH,MAAM,CAAEP,GAAG,IAAK,CAACrG,aAAa,CAAC6G,kBAAkB,CAACR,GAAG,CAAC,CAAC,EAC9DzG,MAAM,CAACwE,GAAG,CAAEiC,GAAG,IAAI;UACjBR,EAAE,CAACI,SAAU,CAACS,MAAM,CAAC,CAACN,OAAO,GAAG;YAC9B,kBAAkB,EAAE;cAClBvC,MAAM,EAAED,mBAAmB,CAAC/D,MAAM,CAAC0G,IAAI,CAACF,GAAG,CAAC;;WAE/C;QACH,CAAC,CAAC,CACH;MACH;MACA,IAAI,CAAClD,IAAI,CAACI,KAAK,CAACkC,IAAI,CAAC,EAAE;QACrBtC,IAAI,CAACI,KAAK,CAACkC,IAAI,CAAC,GAAG,EAAE;MACvB;MACA7F,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACe,QAAQ,CAACtD,WAAW,EAAEhB,QAAQ,CAAC,EAAG0B,QAAQ,IAAI;QACzElB,MAAM,CAACoD,MAAM,CAACmB,EAAE,EAAErD,QAAQ,CAAC;MAC7B,CAAC,CAAC;MACF5C,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACe,QAAQ,CAACtD,WAAW,EAAEZ,SAAS,CAAC,EAAGuG,WAAW,IAAI;QAC7E5B,EAAE,GAAG4B,WAAW,CAAC5B,EAAE,CAAC;MACtB,CAAC,CAAC;MACF1C,IAAI,CAACI,KAAK,CAACkC,IAAI,CAAC,CAACE,MAAM,CAAC,GAAGE,EAAE;IAC/B;GACD,CAAC;EAEFjG,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACpB,GAAG,CAACnB,WAAW,EAAEZ,SAAS,CAAC,EAAGuG,WAAW,IAAI;IACxEtE,IAAI,GAAGsE,WAAW,CAACtE,IAAI,CAAgB;EACzC,CAAC,CAAC;EAEFR,QAAQ,CAAC+E,GAAG,CAAC5E,IAAI,EAAEK,IAAI,CAAC;EAExB,OAAOA,IAAI;AACb,CAAC;AAED,MAAMgB,kBAAkB,GAAIR,QAAyB,IAA2B;EAC9E,MAAMgE,IAAI,GAA4C,EAAE;EACxD/H,MAAM,CAACwE,GAAG,CAAC3E,OAAO,CAAC4E,SAAS,CAACV,QAAQ,CAAC7B,WAAW,EAAEvB,WAAW,CAAC,EAAG2B,WAAW,IAAI;IAC/EyF,IAAI,CAACzF,WAAW,GAAGA,WAAW;EAChC,CAAC,CAAC;EACF,QAAQyB,QAAQ,CAACiE,IAAI;IACnB,KAAK,OAAO;MAAE;QACZ,OAAO;UACL,GAAGD,IAAI;UACPE,IAAI,EAAE,MAAM;UACZ3D,MAAM,EAAE;SACT;MACH;IACA,KAAK,QAAQ;MAAE;QACb,MAAM3B,MAAM,GAAG9C,OAAO,CAAC4E,SAAS,CAACV,QAAQ,CAAC7B,WAAW,EAAEnB,MAAM,CAAC,CAACgG,IAAI,CACjE/G,MAAM,CAACwE,GAAG,CAAE7B,MAAM,KAAM;UAAEuF,YAAY,EAAEvF;QAAM,CAAE,CAAC,CAAC,EAClD3C,MAAM,CAACmI,cAAc,CACtB;QACD,OAAO;UACL,GAAGJ,IAAI;UACPE,IAAI,EAAE,MAAM;UACZ3D,MAAM,EAAE,QAAQ;UAChB,GAAG3B;SACJ;MACH;IACA,KAAK,QAAQ;MAAE;QACb,OAAO;UACL,GAAGoF,IAAI;UACPE,IAAI,EAAE,QAAQ;UACd5D,IAAI,EAAEN,QAAQ,CAACjC,GAAG;UAClByF,EAAE,EAAExD,QAAQ,CAACwD;SACd;MACH;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"OpenApi.js","names":["Context","constFalse","globalValue","Option","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","Exclude","Reference","defaultValue","Transform","contextPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","deprecated","externalDocs","servers","format","override","exclude","transform","apiCache","WeakMap","processAnnotation","ctx","f","o","getOption","isSome","value","fromApi","api","cached","get","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","components","schemas","securitySchemes","security","processAST","ast","fromAST","defs","processHttpApiSecurity","name","makeSecurityScheme","AdditionalSchemas","componentSchemas","forEach","componentSchema","middlewares","middleware","isSecurity","push","reflect","onGroup","group","assign","transformFn","onEndpoint","endpoint","errors","mergedAnnotations","payloads","successes","op","operationId","topLevel","parameters","responses","processResponseMap","map","defaultDescription","status","pipe","filter","getEmptyDecodeable","encoding","getEncoding","content","contentType","schema","processParameters","i","jsonSchema","properties","psJsonSchema","in","required","includes","hasBody","method","size","requestBody","pathSchema","payloadSchema","headersSchema","urlParamsSchema","path","replace","toLowerCase","set","meta","_tag","type","scheme","bearerFormat","getOrUndefined"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -29,8 +29,10 @@ export const make = schema => {
29
29
  * @category encoding
30
30
  * @since 1.0.0
31
31
  */
32
- export const makeWithDefs = (schema, options) => {
33
- const jsonSchema = JSONSchema.fromAST(schema.ast, {
32
+ export const makeWithDefs = (schema, options) => fromAST(schema.ast, options);
33
+ /** @internal */
34
+ export const fromAST = (ast, options) => {
35
+ const jsonSchema = JSONSchema.fromAST(ast, {
34
36
  definitions: options.defs,
35
37
  definitionPath: options.defsPath ?? "#/components/schemas/",
36
38
  target: "openApi3.1",
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiJsonSchema.js","names":["JSONSchema","Record","make","schema","defs","out","makeWithDefs","isEmptyRecord","$defs","options","jsonSchema","fromAST","ast","definitions","definitionPath","defsPath","target","topLevelReferenceStrategy"],"sources":["../../src/OpenApiJsonSchema.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AA+OvC;;;;AAIA,OAAO,MAAMC,IAAI,GAAaC,MAA8B,IAAU;EACpE,MAAMC,IAAI,GAA+B,EAAE;EAC3C,MAAMC,GAAG,GAASC,YAAY,CAACH,MAAM,EAAE;IAAEC;EAAI,CAAE,CAAC;EAChD,IAAI,CAACH,MAAM,CAACM,aAAa,CAACH,IAAI,CAAC,EAAE;IAC/BC,GAAG,CAACG,KAAK,GAAGJ,IAAI;EAClB;EACA,OAAOC,GAAG;AACZ,CAAC;AAED;;;;;;;;;;;;AAYA,OAAO,MAAMC,YAAY,GAAGA,CAAUH,MAA8B,EAAEM,OAIrE,KAAgB;EACf,MAAMC,UAAU,GAAGV,UAAU,CAACW,OAAO,CAACR,MAAM,CAACS,GAAG,EAAE;IAChDC,WAAW,EAAEJ,OAAO,CAACL,IAAI;IACzBU,cAAc,EAAEL,OAAO,CAACM,QAAQ,IAAI,uBAAuB;IAC3DC,MAAM,EAAE,YAAY;IACpBC,yBAAyB,EAAER,OAAO,CAACQ,yBAAyB,IAAI;GACjE,CAAC;EACF,OAAOP,UAAwB;AACjC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiJsonSchema.js","names":["JSONSchema","Record","make","schema","defs","out","makeWithDefs","isEmptyRecord","$defs","options","fromAST","ast","jsonSchema","definitions","definitionPath","defsPath","target","topLevelReferenceStrategy"],"sources":["../../src/OpenApiJsonSchema.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAgPvC;;;;AAIA,OAAO,MAAMC,IAAI,GAAaC,MAA8B,IAAU;EACpE,MAAMC,IAAI,GAA+B,EAAE;EAC3C,MAAMC,GAAG,GAASC,YAAY,CAACH,MAAM,EAAE;IAAEC;EAAI,CAAE,CAAC;EAChD,IAAI,CAACH,MAAM,CAACM,aAAa,CAACH,IAAI,CAAC,EAAE;IAC/BC,GAAG,CAACG,KAAK,GAAGJ,IAAI;EAClB;EACA,OAAOC,GAAG;AACZ,CAAC;AAED;;;;;;;;;;;;AAYA,OAAO,MAAMC,YAAY,GAAGA,CAAUH,MAA8B,EAAEM,OAIrE,KAAiBC,OAAO,CAACP,MAAM,CAACQ,GAAG,EAAEF,OAAO,CAAC;AAE9C;AACA,OAAO,MAAMC,OAAO,GAAGA,CAACC,GAAY,EAAEF,OAIrC,KAAgB;EACf,MAAMG,UAAU,GAAGZ,UAAU,CAACU,OAAO,CAACC,GAAG,EAAE;IACzCE,WAAW,EAAEJ,OAAO,CAACL,IAAI;IACzBU,cAAc,EAAEL,OAAO,CAACM,QAAQ,IAAI,uBAAuB;IAC3DC,MAAM,EAAE,YAAY;IACpBC,yBAAyB,EAAER,OAAO,CAACQ,yBAAyB,IAAI;GACjE,CAAC;EACF,OAAOL,UAAwB;AACjC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Runtime.js","names":["Cause","Effect","Exit","FiberRef","FiberRefs","dual","HashSet","Logger","defaultTeardown","exit","onExit","isFailure","isInterruptedOnly","cause","addPrettyLogger","refs","fiberId","loggers","getOrDefault","currentLoggers","has","defaultLogger","updateAs","fiberRef","value","pipe","remove","add","prettyLoggerDefault","makeRunMain","f","args","isEffect","effect","options","fiber","disableErrorReporting","runFork","updateRefs","disablePrettyLogger","undefined","tapErrorCause","void","logError","teardown"],"sources":["../../src/Runtime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAGnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAUvC;;;;AAIA,OAAO,MAAMC,eAAe,GAAaA,CACvCC,IAAqB,EACrBC,MAA8B,KAC5B;EACFA,MAAM,CAACR,IAAI,CAACS,SAAS,CAACF,IAAI,CAAC,IAAI,CAACT,KAAK,CAACY,iBAAiB,CAACH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAwBD,MAAMC,eAAe,GAAGA,CAACC,IAAyB,EAAEC,OAAwB,KAAI;EAC9E,MAAMC,OAAO,GAAGb,SAAS,CAACc,YAAY,CAACH,IAAI,EAAEZ,QAAQ,CAACgB,cAAc,CAAC;EACrE,IAAI,CAACb,OAAO,CAACc,GAAG,CAACH,OAAO,EAAEV,MAAM,CAACc,aAAa,CAAC,EAAE;IAC/C,OAAON,IAAI;EACb;EACA,OAAOX,SAAS,CAACkB,QAAQ,CAACP,IAAI,EAAE;IAC9BC,OAAO;IACPO,QAAQ,EAAEpB,QAAQ,CAACgB,cAAc;IACjCK,KAAK,EAAEP,OAAO,CAACQ,IAAI,CACjBnB,OAAO,CAACoB,MAAM,CAACnB,MAAM,CAACc,aAAa,CAAC,EACpCf,OAAO,CAACqB,GAAG,CAACpB,MAAM,CAACqB,mBAAmB,CAAC;GAE1C,CAAC;AACJ,CAAC;AAED;;;;AAIA,OAAO,MAAMC,WAAW,GACtBC,CAKS,IAETzB,IAAI,CAAE0B,IAAI,IAAK9B,MAAM,CAAC+B,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAACE,MAA+B,EAAEC,OAI1E,KAAI;EACH,MAAMC,KAAK,GAAGD,OAAO,EAAEE,qBAAqB,KAAK,IAAI,GACjDnC,MAAM,CAACoC,OAAO,CAACJ,MAAM,EAAE;IACvBK,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CAAC,GACAb,MAAM,CAACoC,OAAO,CACdpC,MAAM,CAACwC,aAAa,CAACR,MAAM,EAAGpB,KAAK,IAAI;IACrC,IAAIb,KAAK,CAACY,iBAAiB,CAACC,KAAK,CAAC,EAAE;MAClC,OAAOZ,MAAM,CAACyC,IAAI;IACpB;IACA,OAAOzC,MAAM,CAAC0C,QAAQ,CAAC9B,KAAK,CAAC;EAC/B,CAAC,CAAC,EACF;IACEyB,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CACF;EACH,MAAM8B,QAAQ,GAAGV,OAAO,EAAEU,QAAQ,IAAIpC,eAAe;EACrD,OAAOsB,CAAC,CAAC;IAAEK,KAAK;IAAES;EAAQ,CAAE,CAAC;AAC/B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Runtime.js","names":["Cause","Effect","Exit","FiberRef","FiberRefs","dual","HashSet","Logger","defaultTeardown","exit","onExit","isFailure","isInterruptedOnly","cause","addPrettyLogger","refs","fiberId","loggers","getOrDefault","currentLoggers","has","defaultLogger","updateAs","fiberRef","value","pipe","remove","add","prettyLoggerDefault","makeRunMain","f","args","isEffect","effect","options","fiber","disableErrorReporting","runFork","updateRefs","disablePrettyLogger","undefined","tapErrorCause","void","logError","teardown"],"sources":["../../src/Runtime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAGnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAUvC;;;;AAIA,OAAO,MAAMC,eAAe,GAAaA,CACvCC,IAAqB,EACrBC,MAA8B,KAC5B;EACFA,MAAM,CAACR,IAAI,CAACS,SAAS,CAACF,IAAI,CAAC,IAAI,CAACT,KAAK,CAACY,iBAAiB,CAACH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC;AAwED,MAAMC,eAAe,GAAGA,CAACC,IAAyB,EAAEC,OAAwB,KAAI;EAC9E,MAAMC,OAAO,GAAGb,SAAS,CAACc,YAAY,CAACH,IAAI,EAAEZ,QAAQ,CAACgB,cAAc,CAAC;EACrE,IAAI,CAACb,OAAO,CAACc,GAAG,CAACH,OAAO,EAAEV,MAAM,CAACc,aAAa,CAAC,EAAE;IAC/C,OAAON,IAAI;EACb;EACA,OAAOX,SAAS,CAACkB,QAAQ,CAACP,IAAI,EAAE;IAC9BC,OAAO;IACPO,QAAQ,EAAEpB,QAAQ,CAACgB,cAAc;IACjCK,KAAK,EAAEP,OAAO,CAACQ,IAAI,CACjBnB,OAAO,CAACoB,MAAM,CAACnB,MAAM,CAACc,aAAa,CAAC,EACpCf,OAAO,CAACqB,GAAG,CAACpB,MAAM,CAACqB,mBAAmB,CAAC;GAE1C,CAAC;AACJ,CAAC;AAED;;;;AAIA,OAAO,MAAMC,WAAW,GACtBC,CAKS,IAETzB,IAAI,CAAE0B,IAAI,IAAK9B,MAAM,CAAC+B,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAACE,MAA+B,EAAEC,OAI1E,KAAI;EACH,MAAMC,KAAK,GAAGD,OAAO,EAAEE,qBAAqB,KAAK,IAAI,GACjDnC,MAAM,CAACoC,OAAO,CAACJ,MAAM,EAAE;IACvBK,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CAAC,GACAb,MAAM,CAACoC,OAAO,CACdpC,MAAM,CAACwC,aAAa,CAACR,MAAM,EAAGpB,KAAK,IAAI;IACrC,IAAIb,KAAK,CAACY,iBAAiB,CAACC,KAAK,CAAC,EAAE;MAClC,OAAOZ,MAAM,CAACyC,IAAI;IACpB;IACA,OAAOzC,MAAM,CAAC0C,QAAQ,CAAC9B,KAAK,CAAC;EAC/B,CAAC,CAAC,EACF;IACEyB,UAAU,EAAEJ,OAAO,EAAEK,mBAAmB,KAAK,IAAI,GAAGC,SAAS,GAAG1B;GACjE,CACF;EACH,MAAM8B,QAAQ,GAAGV,OAAO,EAAEU,QAAQ,IAAIpC,eAAe;EACrD,OAAOsB,CAAC,CAAC;IAAEK,KAAK;IAAES;EAAQ,CAAE,CAAC;AAC/B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Cause from "effect/Cause";
5
+ import * as Either from "effect/Either";
6
+ import { dual } from "effect/Function";
7
+ import * as UrlParams from "./UrlParams.js";
8
+ /**
9
+ * Parses a URL string into a `URL` object, returning an `Either` type for safe
10
+ * error handling.
11
+ *
12
+ * **Details**
13
+ *
14
+ * This function converts a string into a `URL` object, enabling safe URL
15
+ * parsing with built-in error handling. If the string is invalid or fails to
16
+ * parse, this function does not throw an error; instead, it wraps the error in
17
+ * a `IllegalArgumentException` and returns it as the `Left` value of an
18
+ * `Either`. The `Right` value contains the successfully parsed `URL`.
19
+ *
20
+ * An optional `base` parameter can be provided to resolve relative URLs. If
21
+ * specified, the function interprets the input `url` as relative to this
22
+ * `base`. This is especially useful when dealing with URLs that might not be
23
+ * fully qualified.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * import { Url } from "@effect/platform"
28
+ * import { Either } from "effect"
29
+ *
30
+ * // Parse an absolute URL
31
+ * //
32
+ * // ┌─── Either<URL, IllegalArgumentException>
33
+ * // ▼
34
+ * const parsed = Url.fromString("https://example.com/path")
35
+ *
36
+ * if (Either.isRight(parsed)) {
37
+ * console.log("Parsed URL:", parsed.right.toString())
38
+ * } else {
39
+ * console.log("Error:", parsed.left.message)
40
+ * }
41
+ * // Output: Parsed URL: https://example.com/path
42
+ *
43
+ * // Parse a relative URL with a base
44
+ * const relativeParsed = Url.fromString("/relative-path", "https://example.com")
45
+ *
46
+ * if (Either.isRight(relativeParsed)) {
47
+ * console.log("Parsed relative URL:", relativeParsed.right.toString())
48
+ * } else {
49
+ * console.log("Error:", relativeParsed.left.message)
50
+ * }
51
+ * // Output: Parsed relative URL: https://example.com/relative-path
52
+ * ```
53
+ *
54
+ * @since 1.0.0
55
+ * @category Constructors
56
+ */
57
+ export const fromString = (url, base) => Either.try({
58
+ try: () => new URL(url, base),
59
+ catch: cause => new Cause.IllegalArgumentException(cause instanceof globalThis.Error ? cause.message : "Invalid input")
60
+ });
61
+ /**
62
+ * This function clones the original `URL` object and applies a callback to the
63
+ * clone, allowing multiple updates at once.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * import { Url } from "@effect/platform"
68
+ *
69
+ * const myUrl = new URL("https://example.com")
70
+ *
71
+ * const mutatedUrl = Url.mutate(myUrl, (url) => {
72
+ * url.username = "user"
73
+ * url.password = "pass"
74
+ * })
75
+ *
76
+ * console.log("Mutated:", mutatedUrl.toString())
77
+ * // Output: Mutated: https://user:pass@example.com/
78
+ * ```
79
+ *
80
+ * @since 1.0.0
81
+ * @category Modifiers
82
+ */
83
+ export const mutate = /*#__PURE__*/dual(2, (self, f) => {
84
+ const copy = new URL(self);
85
+ f(copy);
86
+ return copy;
87
+ });
88
+ /** @internal */
89
+ const immutableURLSetter = property => dual(2, (url, value) => mutate(url, url => {
90
+ url[property] = value;
91
+ }));
92
+ /**
93
+ * Updates the hash fragment of the URL.
94
+ *
95
+ * @since 1.0.0
96
+ * @category Setters
97
+ */
98
+ export const setHash = /*#__PURE__*/immutableURLSetter("hash");
99
+ /**
100
+ * Updates the host (domain and port) of the URL.
101
+ *
102
+ * @since 1.0.0
103
+ * @category Setters
104
+ */
105
+ export const setHost = /*#__PURE__*/immutableURLSetter("host");
106
+ /**
107
+ * Updates the domain of the URL without modifying the port.
108
+ *
109
+ * @since 1.0.0
110
+ * @category Setters
111
+ */
112
+ export const setHostname = /*#__PURE__*/immutableURLSetter("hostname");
113
+ /**
114
+ * Replaces the entire URL string.
115
+ *
116
+ * @since 1.0.0
117
+ * @category Setters
118
+ */
119
+ export const setHref = /*#__PURE__*/immutableURLSetter("href");
120
+ /**
121
+ * Updates the password used for authentication.
122
+ *
123
+ * @since 1.0.0
124
+ * @category Setters
125
+ */
126
+ export const setPassword = /*#__PURE__*/immutableURLSetter("password");
127
+ /**
128
+ * Updates the path of the URL.
129
+ *
130
+ * @since 1.0.0
131
+ * @category Setters
132
+ */
133
+ export const setPathname = /*#__PURE__*/immutableURLSetter("pathname");
134
+ /**
135
+ * Updates the port of the URL.
136
+ *
137
+ * @since 1.0.0
138
+ * @category Setters
139
+ */
140
+ export const setPort = /*#__PURE__*/immutableURLSetter("port");
141
+ /**
142
+ * Updates the protocol (e.g., `http`, `https`).
143
+ *
144
+ * @since 1.0.0
145
+ * @category Setters
146
+ */
147
+ export const setProtocol = /*#__PURE__*/immutableURLSetter("protocol");
148
+ /**
149
+ * Updates the query string of the URL.
150
+ *
151
+ * @since 1.0.0
152
+ * @category Setters
153
+ */
154
+ export const setSearch = /*#__PURE__*/immutableURLSetter("search");
155
+ /**
156
+ * Updates the username used for authentication.
157
+ *
158
+ * @since 1.0.0
159
+ * @category Setters
160
+ */
161
+ export const setUsername = /*#__PURE__*/immutableURLSetter("username");
162
+ /**
163
+ * Updates the query parameters of a URL.
164
+ *
165
+ * **Details**
166
+ *
167
+ * This function allows you to set or replace the query parameters of a `URL`
168
+ * object using the provided `UrlParams`. It creates a new `URL` object with the
169
+ * updated parameters, leaving the original object unchanged.
170
+ *
171
+ * @example
172
+ * ```ts
173
+ * import { Url, UrlParams } from "@effect/platform"
174
+ *
175
+ * const myUrl = new URL("https://example.com?foo=bar")
176
+ *
177
+ * // Write parameters
178
+ * const updatedUrl = Url.setUrlParams(
179
+ * myUrl,
180
+ * UrlParams.fromInput([["key", "value"]])
181
+ * )
182
+ *
183
+ * console.log(updatedUrl.toString())
184
+ * // Output: https://example.com/?key=value
185
+ * ```
186
+ *
187
+ * @since 1.0.0
188
+ * @category Setters
189
+ */
190
+ export const setUrlParams = /*#__PURE__*/dual(2, (url, searchParams) => mutate(url, url => {
191
+ url.search = UrlParams.toString(searchParams);
192
+ }));
193
+ /**
194
+ * Retrieves the query parameters from a URL.
195
+ *
196
+ * **Details**
197
+ *
198
+ * This function extracts the query parameters from a `URL` object and returns
199
+ * them as `UrlParams`. The resulting structure can be easily manipulated or
200
+ * inspected.
201
+ *
202
+ * @example
203
+ * ```ts
204
+ * import { Url } from "@effect/platform"
205
+ *
206
+ * const myUrl = new URL("https://example.com?foo=bar")
207
+ *
208
+ * // Read parameters
209
+ * const params = Url.urlParams(myUrl)
210
+ *
211
+ * console.log(params)
212
+ * // Output: [ [ 'foo', 'bar' ] ]
213
+ * ```
214
+ *
215
+ * @since 1.0.0
216
+ * @category Getters
217
+ */
218
+ export const urlParams = url => UrlParams.fromInput(url.searchParams);
219
+ /**
220
+ * Reads, modifies, and updates the query parameters of a URL.
221
+ *
222
+ * **Details**
223
+ *
224
+ * This function provides a functional way to interact with query parameters by
225
+ * reading the current parameters, applying a transformation function, and then
226
+ * writing the updated parameters back to the URL. It returns a new `URL` object
227
+ * with the modified parameters, ensuring immutability.
228
+ *
229
+ * @example
230
+ * ```ts
231
+ * import { Url, UrlParams } from "@effect/platform"
232
+ *
233
+ * const myUrl = new URL("https://example.com?foo=bar")
234
+ *
235
+ * const changedUrl = Url.modifyUrlParams(myUrl, UrlParams.append("key", "value"))
236
+ *
237
+ * console.log(changedUrl.toString())
238
+ * // Output: https://example.com/?foo=bar&key=value
239
+ * ```
240
+ *
241
+ * @since 1.0.0
242
+ * @category Modifiers
243
+ */
244
+ export const modifyUrlParams = /*#__PURE__*/dual(2, (url, f) => mutate(url, url => {
245
+ const params = f(UrlParams.fromInput(url.searchParams));
246
+ url.search = UrlParams.toString(params);
247
+ }));
248
+ //# sourceMappingURL=Url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Url.js","names":["Cause","Either","dual","UrlParams","fromString","url","base","try","URL","catch","cause","IllegalArgumentException","globalThis","Error","message","mutate","self","f","copy","immutableURLSetter","property","value","setHash","setHost","setHostname","setHref","setPassword","setPathname","setPort","setProtocol","setSearch","setUsername","setUrlParams","searchParams","search","toString","urlParams","fromInput","modifyUrlParams","params"],"sources":["../../src/Url.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -199,6 +199,10 @@ export * as Terminal from "./Terminal.js";
199
199
  * @since 1.0.0
200
200
  */
201
201
  export * as Transferable from "./Transferable.js";
202
+ /**
203
+ * @since 1.0.0
204
+ */
205
+ export * as Url from "./Url.js";
202
206
  /**
203
207
  * @since 1.0.0
204
208
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Command","CommandExecutor","Cookies","Effectify","Error","Etag","FetchHttpClient","FileSystem","Headers","HttpApi","HttpApiBuilder","HttpApiClient","HttpApiEndpoint","HttpApiError","HttpApiGroup","HttpApiMiddleware","HttpApiScalar","HttpApiSchema","HttpApiSecurity","HttpApiSwagger","HttpApp","HttpBody","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpIncomingMessage","HttpMethod","HttpMiddleware","HttpMultiplex","HttpPlatform","HttpRouter","HttpServer","HttpServerError","HttpServerRequest","HttpServerRespondable","HttpServerResponse","HttpTraceContext","KeyValueStore","Multipart","OpenApi","OpenApiJsonSchema","Path","PlatformConfigProvider","PlatformLogger","Runtime","Socket","Template","Terminal","Transferable","UrlParams","Worker","WorkerError","WorkerRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Command","CommandExecutor","Cookies","Effectify","Error","Etag","FetchHttpClient","FileSystem","Headers","HttpApi","HttpApiBuilder","HttpApiClient","HttpApiEndpoint","HttpApiError","HttpApiGroup","HttpApiMiddleware","HttpApiScalar","HttpApiSchema","HttpApiSecurity","HttpApiSwagger","HttpApp","HttpBody","HttpClient","HttpClientError","HttpClientRequest","HttpClientResponse","HttpIncomingMessage","HttpMethod","HttpMiddleware","HttpMultiplex","HttpPlatform","HttpRouter","HttpServer","HttpServerError","HttpServerRequest","HttpServerRespondable","HttpServerResponse","HttpTraceContext","KeyValueStore","Multipart","OpenApi","OpenApiJsonSchema","Path","PlatformConfigProvider","PlatformLogger","Runtime","Socket","Template","Terminal","Transferable","Url","UrlParams","Worker","WorkerError","WorkerRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.72.1",
3
+ "version": "0.73.0",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,7 +14,7 @@
14
14
  "multipasta": "^0.2.5"
15
15
  },
16
16
  "peerDependencies": {
17
- "effect": "^3.12.1"
17
+ "effect": "^3.12.3"
18
18
  },
19
19
  "publishConfig": {
20
20
  "provenance": true
@@ -279,6 +279,11 @@
279
279
  "import": "./dist/esm/Transferable.js",
280
280
  "default": "./dist/cjs/Transferable.js"
281
281
  },
282
+ "./Url": {
283
+ "types": "./dist/dts/Url.d.ts",
284
+ "import": "./dist/esm/Url.js",
285
+ "default": "./dist/cjs/Url.js"
286
+ },
282
287
  "./UrlParams": {
283
288
  "types": "./dist/dts/UrlParams.d.ts",
284
289
  "import": "./dist/esm/UrlParams.js",
@@ -452,6 +457,9 @@
452
457
  "Transferable": [
453
458
  "./dist/dts/Transferable.d.ts"
454
459
  ],
460
+ "Url": [
461
+ "./dist/dts/Url.d.ts"
462
+ ],
455
463
  "UrlParams": [
456
464
  "./dist/dts/UrlParams.d.ts"
457
465
  ],
package/src/HttpApi.ts CHANGED
@@ -15,7 +15,6 @@ import type * as HttpApiGroup from "./HttpApiGroup.js"
15
15
  import type * as HttpApiMiddleware from "./HttpApiMiddleware.js"
16
16
  import * as HttpApiSchema from "./HttpApiSchema.js"
17
17
  import type { HttpMethod } from "./HttpMethod.js"
18
- import type { PathInput } from "./HttpRouter.js"
19
18
 
20
19
  /**
21
20
  * @since 1.0.0
@@ -85,7 +84,7 @@ export interface HttpApi<
85
84
  /**
86
85
  * Prefix all endpoints in the `HttpApi`.
87
86
  */
88
- prefix(prefix: PathInput): HttpApi<Id, Groups, E, R>
87
+ prefix(prefix: HttpApiEndpoint.PathSegment): HttpApi<Id, Groups, E, R>
89
88
  /**
90
89
  * Add a middleware to a `HttpApi`. It will be applied to all endpoints in the
91
90
  * `HttpApi`.
@@ -194,7 +193,7 @@ const Proto = {
194
193
  middlewares: this.middlewares
195
194
  })
196
195
  },
197
- prefix(this: HttpApi.AnyWithProps, prefix: PathInput) {
196
+ prefix(this: HttpApi.AnyWithProps, prefix: HttpApiEndpoint.PathSegment) {
198
197
  return makeProto({
199
198
  identifier: this.identifier,
200
199
  groups: Record.map(this.groups, (group) => group.prefix(prefix)),
@@ -345,7 +344,7 @@ export const reflect = <Id extends string, Groups extends HttpApiGroup.HttpApiGr
345
344
  const emptyMap = new Map<never, never>()
346
345
 
347
346
  const extractMembers = (
348
- topAst: AST.AST,
347
+ ast: AST.AST,
349
348
  inherited: ReadonlyMap<number, {
350
349
  readonly ast: Option.Option<AST.AST>
351
350
  readonly description: Option.Option<string>
@@ -356,43 +355,40 @@ const extractMembers = (
356
355
  readonly description: Option.Option<string>
357
356
  }> => {
358
357
  const members = new Map(inherited)
359
- function process(ast: AST.AST) {
360
- if (ast._tag === "NeverKeyword") {
358
+ function process(type: AST.AST) {
359
+ if (AST.isNeverKeyword(type)) {
361
360
  return
362
361
  }
363
- ast = AST.annotations(ast, {
364
- ...HttpApiSchema.extractAnnotations(topAst.annotations),
365
- ...ast.annotations
366
- })
367
- const status = getStatus(ast)
368
- const emptyDecodeable = HttpApiSchema.getEmptyDecodeable(ast)
362
+ const annotations = HttpApiSchema.extractAnnotations(ast.annotations)
363
+ // Avoid changing the reference unless necessary
364
+ // Otherwise, deduplication of the ASTs below will not be possible
365
+ if (!Record.isEmptyRecord(annotations)) {
366
+ type = AST.annotations(type, {
367
+ ...annotations,
368
+ ...type.annotations
369
+ })
370
+ }
371
+ const status = getStatus(type)
372
+ const emptyDecodeable = HttpApiSchema.getEmptyDecodeable(type)
369
373
  const current = members.get(status)
370
374
  members.set(
371
375
  status,
372
376
  {
373
377
  description: (current ? current.description : Option.none()).pipe(
374
- Option.orElse(() => getDescriptionOrIdentifier(ast))
378
+ Option.orElse(() => getDescriptionOrIdentifier(type))
375
379
  ),
376
380
  ast: (current ? current.ast : Option.none()).pipe(
377
- Option.map((current) =>
378
- AST.Union.make(
379
- current._tag === "Union" ? [...current.types, ast] : [current, ast]
380
- )
381
- ),
381
+ // Deduplicate the ASTs
382
+ Option.map((current) => HttpApiSchema.UnionUnifyAST(current, type)),
382
383
  Option.orElse(() =>
383
- !emptyDecodeable && AST.encodedAST(ast)._tag === "VoidKeyword" ? Option.none() : Option.some(ast)
384
+ !emptyDecodeable && AST.isVoidKeyword(AST.encodedAST(type)) ? Option.none() : Option.some(type)
384
385
  )
385
386
  )
386
387
  }
387
388
  )
388
389
  }
389
- if (topAst._tag === "Union") {
390
- for (const type of topAst.types) {
391
- process(type)
392
- }
393
- } else {
394
- process(topAst)
395
- }
390
+
391
+ HttpApiSchema.extractUnionTypes(ast).forEach(process)
396
392
  return members
397
393
  }
398
394
 
@@ -445,6 +441,9 @@ const getDescriptionOrIdentifier = (ast: AST.PropertySignature | AST.AST): Optio
445
441
  }
446
442
 
447
443
  /**
444
+ * Adds additional schemas to components/schemas.
445
+ * The provided schemas must have a `identifier` annotation.
446
+ *
448
447
  * @since 1.0.0
449
448
  * @category tags
450
449
  */
@@ -997,7 +997,7 @@ export const middlewareCors = (
997
997
  */
998
998
  export const middlewareOpenApi = (
999
999
  options?: {
1000
- readonly path?: HttpRouter.PathInput | undefined
1000
+ readonly path?: HttpApiEndpoint.PathSegment | undefined
1001
1001
  } | undefined
1002
1002
  ): Layer.Layer<never, never, HttpApi.Api> =>
1003
1003
  Router.use((router) =>