@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":"HttpApi.js","names":["Context","Option","pipeArguments","Predicate","Record","AST","HttpApiDecodeError","HttpApiSchema","TypeId","Symbol","for","isHttpApi","u","hasProperty","Api","Tag","Proto","pipe","arguments","add","group","makeProto","identifier","groups","set","errorSchema","annotations","middlewares","addHttpApi","api","newGroups","key","newGroup","annotateContext","empty","merge","Set","UnionUnify","addError","schema","status","prefix","map","middleware","tag","failure","annotate","value","context","options","HttpApi","Object","setPrototypeOf","make","Map","reflect","self","apiErrors","extractMembers","ast","getStatusErrorAST","values","groupErrors","groupAnnotations","onGroup","mergedAnnotations","endpoints","endpoint","predicate","errors","onEndpoint","payloads","payloadSchema","_tag","extractPayloads","emptyMap","successes","successSchema","getStatusSuccessAST","topAst","inherited","getStatus","members","process","extractAnnotations","emptyDecodeable","getEmptyDecodeable","current","get","description","none","orElse","getDescriptionOrIdentifier","Union","types","encodedAST","some","type","encoding","getEncoding","contentType","getMultipart","undefined","to","fromNullable","DescriptionAnnotationId","IdentifierAnnotationId","AdditionalSchemas"],"sources":["../../src/HttpApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApi.js","names":["Context","Option","pipeArguments","Predicate","Record","AST","HttpApiDecodeError","HttpApiSchema","TypeId","Symbol","for","isHttpApi","u","hasProperty","Api","Tag","Proto","pipe","arguments","add","group","makeProto","identifier","groups","set","errorSchema","annotations","middlewares","addHttpApi","api","newGroups","key","newGroup","annotateContext","empty","merge","Set","UnionUnify","addError","schema","status","prefix","map","middleware","tag","failure","annotate","value","context","options","HttpApi","Object","setPrototypeOf","make","Map","reflect","self","apiErrors","extractMembers","ast","getStatusErrorAST","values","groupErrors","groupAnnotations","onGroup","mergedAnnotations","endpoints","endpoint","predicate","errors","onEndpoint","payloads","payloadSchema","_tag","extractPayloads","emptyMap","successes","successSchema","getStatusSuccessAST","inherited","getStatus","members","process","type","isNeverKeyword","extractAnnotations","isEmptyRecord","emptyDecodeable","getEmptyDecodeable","current","get","description","none","orElse","getDescriptionOrIdentifier","UnionUnifyAST","isVoidKeyword","encodedAST","some","extractUnionTypes","forEach","topAst","encoding","getEncoding","contentType","getMultipart","undefined","Union","types","to","fromNullable","DescriptionAnnotationId","IdentifierAnnotationId","AdditionalSchemas"],"sources":["../../src/HttpApi.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAAwBC,aAAa,QAAQ,iBAAiB;AAC9D,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,GAAG,MAAM,kBAAkB;AAGvC,SAASC,kBAAkB,QAAQ,mBAAmB;AAGtD,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAGnD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAQ3E;;;;AAIA,OAAO,MAAMC,SAAS,GAAIC,CAAU,IAAuBT,SAAS,CAACU,WAAW,CAACD,CAAC,EAAEJ,MAAM,CAAC;AA2E3F;;;;AAIA,OAAM,MAAOM,GAAI,sBAAQd,OAAO,CAACe,GAAG,CAAC,8BAA8B,CAAC,EAMjE;AAsBH,MAAMC,KAAK,GAAG;EACZ,CAACR,MAAM,GAAGA,MAAM;EAChBS,IAAIA,CAAA;IACF,OAAOf,aAAa,CAAC,IAAI,EAAEgB,SAAS,CAAC;EACvC,CAAC;EACDC,GAAGA,CAEDC,KAA6C;IAE7C,OAAOC,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,MAAM,EAAEnB,MAAM,CAACoB,GAAG,CAAC,IAAI,CAACD,MAAM,EAAEH,KAAK,CAACE,UAAU,EAAEF,KAAK,CAAC;MACxDK,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDC,UAAUA,CAERC,GAAyB;IAEzB,MAAMC,SAAS,GAAG;MAAE,GAAG,IAAI,CAACP;IAAM,CAAE;IACpC,KAAK,MAAMQ,GAAG,IAAIF,GAAG,CAACN,MAAM,EAAE;MAC5B,MAAMS,QAAQ,GAAoDH,GAAG,CAACN,MAAM,CAACQ,GAAG,CAAC,CAACE,eAAe,CAACjC,OAAO,CAACkC,KAAK,EAAE,CAAC;MAClHF,QAAQ,CAACN,WAAW,GAAG1B,OAAO,CAACmC,KAAK,CAACN,GAAG,CAACH,WAAW,EAAEM,QAAQ,CAACN,WAAW,CAAC;MAC3EM,QAAQ,CAACL,WAAW,GAAG,IAAIS,GAAG,CAAC,CAAC,GAAGP,GAAG,CAACF,WAAW,EAAE,GAAGK,QAAQ,CAACL,WAAW,CAAC,CAAC;MAC7EG,SAAS,CAACC,GAAG,CAAC,GAAGC,QAAe;IAClC;IACA,OAAOX,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,MAAM,EAAEO,SAAS;MACjBL,WAAW,EAAElB,aAAa,CAAC8B,UAAU,CAAC,IAAI,CAACZ,WAAW,EAAEI,GAAG,CAACJ,WAAW,CAAC;MACxEC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDW,QAAQA,CAENC,MAAyB,EACzBb,WAA0C;IAE1C,OAAOL,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBE,WAAW,EAAElB,aAAa,CAAC8B,UAAU,CACnC,IAAI,CAACZ,WAAW,EAChBC,WAAW,EAAEc,MAAM,GACfD,MAAM,CAACb,WAAW,CAACnB,aAAa,CAACmB,WAAW,CAAC;QAAEc,MAAM,EAAEd,WAAW,CAACc;MAAM,CAAE,CAAC,CAAC,GAC7ED,MAAM,CACX;MACDb,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDc,MAAMA,CAA6BA,MAAmC;IACpE,OAAOpB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,MAAM,EAAEnB,MAAM,CAACsC,GAAG,CAAC,IAAI,CAACnB,MAAM,EAAGH,KAAK,IAAKA,KAAK,CAACqB,MAAM,CAACA,MAAM,CAAC,CAAC;MAChEhB,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDgB,UAAUA,CAA6BC,GAAkC;IACvE,OAAOvB,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBE,WAAW,EAAElB,aAAa,CAAC8B,UAAU,CAAC,IAAI,CAACZ,WAAW,EAAEmB,GAAG,CAACC,OAAO,CAAC;MACpEnB,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAIS,GAAG,CAAC,CAAC,GAAG,IAAI,CAACT,WAAW,EAAEiB,GAAG,CAAC;KAChD,CAAC;EACJ,CAAC;EACDE,QAAQA,CAA6BF,GAA0B,EAAEG,KAAU;IACzE,OAAO1B,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBE,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE1B,OAAO,CAACmB,GAAG,CAAC,IAAI,CAACO,WAAW,EAAEkB,GAAG,EAAEG,KAAK,CAAC;MACtDpB,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ,CAAC;EACDM,eAAeA,CAA6Be,OAA6B;IACvE,OAAO3B,SAAS,CAAC;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBE,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE1B,OAAO,CAACmC,KAAK,CAAC,IAAI,CAACT,WAAW,EAAEsB,OAAO,CAAC;MACrDrB,WAAW,EAAE,IAAI,CAACA;KACnB,CAAC;EACJ;CACD;AAED,MAAMN,SAAS,GACb4B,OAMC,IAC4B;EAC7B,SAASC,OAAOA,CAAA,GAAI;EACpBC,MAAM,CAACC,cAAc,CAACF,OAAO,EAAElC,KAAK,CAAC;EACrCkC,OAAO,CAAC3B,MAAM,GAAG0B,OAAO,CAAC1B,MAAM;EAC/B2B,OAAO,CAACzB,WAAW,GAAGwB,OAAO,CAACxB,WAAW;EACzCyB,OAAO,CAACxB,WAAW,GAAGuB,OAAO,CAACvB,WAAW;EACzCwB,OAAO,CAACvB,WAAW,GAAGsB,OAAO,CAACtB,WAAW;EACzC,OAAOuB,OAAc;AACvB,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAMG,IAAI,GAA6B/B,UAAc,IAC1DD,SAAS,CAAC;EACRC,UAAU;EACVC,MAAM,EAAE,IAAI+B,GAAG,EAAS;EACxB7B,WAAW,EAAEnB,kBAAkB;EAC/BoB,WAAW,EAAE1B,OAAO,CAACkC,KAAK,EAAE;EAC5BP,WAAW,EAAE,IAAIS,GAAG;CACrB,CAAC;AAEJ;;;;;;;;;AASA,OAAO,MAAMmB,OAAO,GAAGA,CACrBC,IAAmC,EACnCP,OA2BC,KACC;EACF,MAAMQ,SAAS,GAAGC,cAAc,CAACF,IAAI,CAAC/B,WAAW,CAACkC,GAAG,EAAE,IAAIL,GAAG,EAAE,EAAE/C,aAAa,CAACqD,iBAAiB,CAAC;EAClG,MAAMrC,MAAM,GAAG4B,MAAM,CAACU,MAAM,CAACL,IAAI,CAACjC,MAAM,CAAyD;EACjG,KAAK,MAAMH,KAAK,IAAIG,MAAM,EAAE;IAC1B,MAAMuC,WAAW,GAAGJ,cAAc,CAACtC,KAAK,CAACK,WAAW,CAACkC,GAAG,EAAEF,SAAS,EAAElD,aAAa,CAACqD,iBAAiB,CAAC;IACrG,MAAMG,gBAAgB,GAAG/D,OAAO,CAACmC,KAAK,CAACqB,IAAI,CAAC9B,WAAW,EAAEN,KAAK,CAACM,WAAW,CAAC;IAC3EuB,OAAO,CAACe,OAAO,CAAC;MACd5C,KAAK;MACL6C,iBAAiB,EAAEF;KACpB,CAAC;IACF,MAAMG,SAAS,GAAGf,MAAM,CAACU,MAAM,CAACzC,KAAK,CAAC8C,SAAS,CAAkE;IACjH,KAAK,MAAMC,QAAQ,IAAID,SAAS,EAAE;MAChC,IACEjB,OAAO,CAACmB,SAAS,IAAI,CAACnB,OAAO,CAACmB,SAAS,CAAC;QACtCD,QAAQ;QACR/C;OACM,CAAC,EACT;MAEF,MAAMiD,MAAM,GAAGX,cAAc,CAACS,QAAQ,CAAC1C,WAAW,CAACkC,GAAG,EAAEG,WAAW,EAAEvD,aAAa,CAACqD,iBAAiB,CAAC;MACrGX,OAAO,CAACqB,UAAU,CAAC;QACjBlD,KAAK;QACL+C,QAAQ;QACRxB,UAAU,EAAE,IAAIP,GAAG,CAAC,CAAC,GAAGhB,KAAK,CAACO,WAAW,EAAE,GAAGwC,QAAQ,CAACxC,WAAW,CAAC,CAAC;QACpEsC,iBAAiB,EAAEjE,OAAO,CAACmC,KAAK,CAAC4B,gBAAgB,EAAEI,QAAQ,CAACzC,WAAW,CAAC;QACxE6C,QAAQ,EAAEJ,QAAQ,CAACK,aAAa,CAACC,IAAI,KAAK,MAAM,GAAGC,eAAe,CAACP,QAAQ,CAACK,aAAa,CAACzB,KAAK,CAACY,GAAG,CAAC,GAAGgB,QAAQ;QAC/GC,SAAS,EAAElB,cAAc,CAACS,QAAQ,CAACU,aAAa,CAAClB,GAAG,EAAE,IAAIL,GAAG,EAAE,EAAE/C,aAAa,CAACuE,mBAAmB,CAAC;QACnGT;OACD,CAAC;IACJ;EACF;AACF,CAAC;AAED;AAEA,MAAMM,QAAQ,gBAAG,IAAIrB,GAAG,EAAgB;AAExC,MAAMI,cAAc,GAAGA,CACrBC,GAAY,EACZoB,SAGE,EACFC,SAAmC,KAIhC;EACH,MAAMC,OAAO,GAAG,IAAI3B,GAAG,CAACyB,SAAS,CAAC;EAClC,SAASG,OAAOA,CAACC,IAAa;IAC5B,IAAI9E,GAAG,CAAC+E,cAAc,CAACD,IAAI,CAAC,EAAE;MAC5B;IACF;IACA,MAAMzD,WAAW,GAAGnB,aAAa,CAAC8E,kBAAkB,CAAC1B,GAAG,CAACjC,WAAW,CAAC;IACrE;IACA;IACA,IAAI,CAACtB,MAAM,CAACkF,aAAa,CAAC5D,WAAW,CAAC,EAAE;MACtCyD,IAAI,GAAG9E,GAAG,CAACqB,WAAW,CAACyD,IAAI,EAAE;QAC3B,GAAGzD,WAAW;QACd,GAAGyD,IAAI,CAACzD;OACT,CAAC;IACJ;IACA,MAAMc,MAAM,GAAGwC,SAAS,CAACG,IAAI,CAAC;IAC9B,MAAMI,eAAe,GAAGhF,aAAa,CAACiF,kBAAkB,CAACL,IAAI,CAAC;IAC9D,MAAMM,OAAO,GAAGR,OAAO,CAACS,GAAG,CAAClD,MAAM,CAAC;IACnCyC,OAAO,CAACzD,GAAG,CACTgB,MAAM,EACN;MACEmD,WAAW,EAAE,CAACF,OAAO,GAAGA,OAAO,CAACE,WAAW,GAAG1F,MAAM,CAAC2F,IAAI,EAAE,EAAE3E,IAAI,CAC/DhB,MAAM,CAAC4F,MAAM,CAAC,MAAMC,0BAA0B,CAACX,IAAI,CAAC,CAAC,CACtD;MACDxB,GAAG,EAAE,CAAC8B,OAAO,GAAGA,OAAO,CAAC9B,GAAG,GAAG1D,MAAM,CAAC2F,IAAI,EAAE,EAAE3E,IAAI;MAC/C;MACAhB,MAAM,CAACyC,GAAG,CAAE+C,OAAO,IAAKlF,aAAa,CAACwF,aAAa,CAACN,OAAO,EAAEN,IAAI,CAAC,CAAC,EACnElF,MAAM,CAAC4F,MAAM,CAAC,MACZ,CAACN,eAAe,IAAIlF,GAAG,CAAC2F,aAAa,CAAC3F,GAAG,CAAC4F,UAAU,CAACd,IAAI,CAAC,CAAC,GAAGlF,MAAM,CAAC2F,IAAI,EAAE,GAAG3F,MAAM,CAACiG,IAAI,CAACf,IAAI,CAAC,CAChG;KAEJ,CACF;EACH;EAEA5E,aAAa,CAAC4F,iBAAiB,CAACxC,GAAG,CAAC,CAACyC,OAAO,CAAClB,OAAO,CAAC;EACrD,OAAOD,OAAO;AAChB,CAAC;AAED,MAAMP,eAAe,GAAI2B,MAAe,IAGnC;EACH,MAAMpB,OAAO,GAAG,IAAI3B,GAAG,EAGnB;EACJ,SAAS4B,OAAOA,CAACvB,GAAY;IAC3B,IAAIA,GAAG,CAACc,IAAI,KAAK,cAAc,EAAE;MAC/B;IACF;IACAd,GAAG,GAAGtD,GAAG,CAACqB,WAAW,CAACiC,GAAG,EAAE;MACzB,GAAGpD,aAAa,CAAC8E,kBAAkB,CAACgB,MAAM,CAAC3E,WAAW,CAAC;MACvD,GAAGiC,GAAG,CAACjC;KACR,CAAC;IACF,MAAM4E,QAAQ,GAAG/F,aAAa,CAACgG,WAAW,CAAC5C,GAAG,CAAC;IAC/C,MAAM6C,WAAW,GAAGjG,aAAa,CAACkG,YAAY,CAAC9C,GAAG,CAAC,GAAG,qBAAqB,GAAG2C,QAAQ,CAACE,WAAW;IAClG,MAAMf,OAAO,GAAGR,OAAO,CAACS,GAAG,CAACc,WAAW,CAAC;IACxC,IAAIf,OAAO,KAAKiB,SAAS,EAAE;MACzBzB,OAAO,CAACzD,GAAG,CAACgF,WAAW,EAAE;QACvBF,QAAQ;QACR3C;OACD,CAAC;IACJ,CAAC,MAAM;MACL8B,OAAO,CAAC9B,GAAG,GAAGtD,GAAG,CAACsG,KAAK,CAACtD,IAAI,CAAC,CAACoC,OAAO,CAAC9B,GAAG,EAAEA,GAAG,CAAC,CAAC;IAClD;EACF;EACA,IAAI0C,MAAM,CAAC5B,IAAI,KAAK,OAAO,EAAE;IAC3B,KAAK,MAAMU,IAAI,IAAIkB,MAAM,CAACO,KAAK,EAAE;MAC/B1B,OAAO,CAACC,IAAI,CAAC;IACf;EACF,CAAC,MAAM;IACLD,OAAO,CAACmB,MAAM,CAAC;EACjB;EACA,OAAOpB,OAAO;AAChB,CAAC;AAED,MAAMa,0BAA0B,GAAInC,GAAoC,IAA2B;EACjG,MAAMjC,WAAW,GAAG,IAAI,IAAIiC,GAAG,GAC7B;IACE,GAAGA,GAAG,CAACkD,EAAE,CAACnF,WAAW;IACrB,GAAGiC,GAAG,CAACjC;GACR,GACDiC,GAAG,CAACjC,WAAW;EACjB,OAAOzB,MAAM,CAAC6G,YAAY,CAACpF,WAAW,CAACrB,GAAG,CAAC0G,uBAAuB,CAAC,IAAIrF,WAAW,CAACrB,GAAG,CAAC2G,sBAAsB,CAAQ,CAAC;AACxH,CAAC;AAED;;;;;;;AAOA,OAAM,MAAOC,iBAAkB,sBAAQjH,OAAO,CAACe,GAAG,CAAC,4CAA4C,CAAC,EAG7F","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiEndpoint.js","names":["Context","Option","pipeArguments","Predicate","Schema","HttpApiSchema","HttpRouter","TypeId","Symbol","for","isHttpApiEndpoint","u","hasProperty","Proto","pipe","arguments","addSuccess","schema","annotations","status","makeProto","successSchema","NoContent","UnionUnify","addError","errorSchema","setPayload","payloadSchema","some","setPath","pathSchema","setUrlParams","urlParamsSchema","setHeaders","headersSchema","prefix","path","prefixPath","middleware","failure","middlewares","Set","annotate","tag","value","add","annotateContext","context","merge","options","Object","assign","create","make","method","name","args","length","none","Never","empty","segments","schemas","obj","i","key","getParam","ast","String","Struct","get","post","put","patch","del"],"sources":["../../src/HttpApiEndpoint.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiEndpoint.js","names":["Context","Option","pipeArguments","Predicate","Schema","HttpApiSchema","HttpRouter","TypeId","Symbol","for","isHttpApiEndpoint","u","hasProperty","Proto","pipe","arguments","addSuccess","schema","annotations","status","makeProto","successSchema","NoContent","UnionUnify","addError","errorSchema","setPayload","payloadSchema","some","setPath","pathSchema","setUrlParams","urlParamsSchema","setHeaders","headersSchema","prefix","path","prefixPath","middleware","failure","middlewares","Set","annotate","tag","value","add","annotateContext","context","merge","options","Object","assign","create","make","method","name","args","length","none","Never","empty","segments","schemas","obj","i","key","getParam","ast","String","Struct","get","post","put","patch","del"],"sources":["../../src/HttpApiEndpoint.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiGroup.js","names":["Context","pipeArguments","Predicate","Record","Schema","HttpApiSchema","TypeId","Symbol","for","isHttpApiGroup","u","hasProperty","Proto","add","endpoint","makeProto","identifier","topLevel","endpoints","name","errorSchema","annotations","middlewares","addError","schema","UnionUnify","status","prefix","map","middleware","failure","Set","middlewareEndpoints","annotateContext","context","merge","annotate","tag","value","annotateEndpointsContext","annotateEndpoints","pipe","arguments","options","HttpApiGroup","Object","setPrototypeOf","assign","make","empty","Never"],"sources":["../../src/HttpApiGroup.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiGroup.js","names":["Context","pipeArguments","Predicate","Record","Schema","HttpApiSchema","TypeId","Symbol","for","isHttpApiGroup","u","hasProperty","Proto","add","endpoint","makeProto","identifier","topLevel","endpoints","name","errorSchema","annotations","middlewares","addError","schema","UnionUnify","status","prefix","map","middleware","failure","Set","middlewareEndpoints","annotateContext","context","merge","annotate","tag","value","annotateEndpointsContext","annotateEndpoints","pipe","arguments","options","HttpApiGroup","Object","setPrototypeOf","assign","make","empty","Never"],"sources":["../../src/HttpApiGroup.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -144,11 +144,38 @@ export const getStatusErrorAST = ast => getStatus(ast, 500);
144
144
  */
145
145
  export const getStatusError = self => getStatusErrorAST(self.ast);
146
146
  /**
147
- * @since 1.0.0
147
+ * Extracts all individual types from a union type recursively.
148
+ *
149
+ * **Details**
150
+ *
151
+ * This function traverses an AST and collects all the types within a union,
152
+ * even if they are nested. It ensures that every type in a union (including
153
+ * deeply nested unions) is included in the resulting array. The returned array
154
+ * contains each type as an individual AST node, preserving the order in which
155
+ * they appear.
156
+ *
157
+ * @internal
148
158
  */
149
- export const UnionUnify = (self, that) => {
150
- return Schema.make(AST.Union.make(Array.from(new Set([...(self.ast._tag === "Union" ? self.ast.types : [self.ast]), ...(that.ast._tag === "Union" ? that.ast.types : [that.ast])]))));
159
+ export const extractUnionTypes = ast => {
160
+ function process(ast) {
161
+ if (AST.isUnion(ast)) {
162
+ for (const type of ast.types) {
163
+ process(type);
164
+ }
165
+ } else {
166
+ out.push(ast);
167
+ }
168
+ }
169
+ const out = [];
170
+ process(ast);
171
+ return out;
151
172
  };
173
+ /** @internal */
174
+ export const UnionUnifyAST = (self, that) => AST.Union.make(Array.from(new Set([...extractUnionTypes(self), ...extractUnionTypes(that)])));
175
+ /**
176
+ * @since 1.0.0
177
+ */
178
+ export const UnionUnify = (self, that) => Schema.make(UnionUnifyAST(self.ast, that.ast));
152
179
  /**
153
180
  * @since 1.0.0
154
181
  * @category path params
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiSchema.js","names":["Effect","Effectable","constant","constVoid","dual","globalValue","hasProperty","Schema","AST","Struct","AnnotationMultipart","Symbol","for","AnnotationStatus","AnnotationEmptyDecodeable","AnnotationEncoding","AnnotationParam","extractAnnotations","ast","result","mergedAnnotations","_tag","to","annotations","getAnnotation","key","getStatus","defaultStatus","getEmptyDecodeable","getMultipart","encodingJson","kind","contentType","getEncoding","getParam","omit","status","undefined","isVoid","from","f","getStatusSuccessAST","getStatusSuccess","self","getStatusErrorAST","getStatusError","UnionUnify","that","make","Union","Array","Set","types","param","name","schema","Empty","Void","asEmpty","options","transform","typeSchema","decode","encode","Created","Accepted","NoContent","MultipartTypeId","Multipart","defaultContentType","encoding","withEncoding","jsonSchema","type","format","Text","String","Uint8Array","Uint8ArrayFromSelf","astCache","WeakMap","deunionize","schemas","has","add","get","astType","memberSchema","set","EmptyError","symbol","tag","StructuralClass","commit","fail","prototype","Object","assign","TypeId","pipe","defineProperty","declare","u","identifier","title"],"sources":["../../src/HttpApiSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiSchema.js","names":["Effect","Effectable","constant","constVoid","dual","globalValue","hasProperty","Schema","AST","Struct","AnnotationMultipart","Symbol","for","AnnotationStatus","AnnotationEmptyDecodeable","AnnotationEncoding","AnnotationParam","extractAnnotations","ast","result","mergedAnnotations","_tag","to","annotations","getAnnotation","key","getStatus","defaultStatus","getEmptyDecodeable","getMultipart","encodingJson","kind","contentType","getEncoding","getParam","omit","status","undefined","isVoid","from","f","getStatusSuccessAST","getStatusSuccess","self","getStatusErrorAST","getStatusError","extractUnionTypes","process","isUnion","type","types","out","push","UnionUnifyAST","that","Union","make","Array","Set","UnionUnify","param","name","schema","Empty","Void","asEmpty","options","transform","typeSchema","decode","encode","Created","Accepted","NoContent","MultipartTypeId","Multipart","defaultContentType","encoding","withEncoding","jsonSchema","format","Text","String","Uint8Array","Uint8ArrayFromSelf","astCache","WeakMap","deunionize","schemas","has","add","get","astType","memberSchema","set","EmptyError","symbol","tag","StructuralClass","commit","fail","prototype","Object","assign","TypeId","pipe","defineProperty","declare","u","identifier","title"],"sources":["../../src/HttpApiSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -37,6 +37,8 @@ export const bearer = /*#__PURE__*/Object.assign( /*#__PURE__*/Object.create(Pro
37
37
  * To set the correct cookie in a handler, you can use
38
38
  * `HttpApiBuilder.securitySetCookie`.
39
39
  *
40
+ * The default value for `in` is "header".
41
+ *
40
42
  * @since 1.0.0
41
43
  * @category constructors
42
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiSecurity.js","names":["Context","dual","pipeArguments","TypeId","Symbol","for","Proto","pipe","arguments","bearer","Object","assign","create","_tag","annotations","empty","apiKey","options","key","in","basic","annotateContext","self","context","merge","annotate","tag","value","add"],"sources":["../../src/HttpApiSecurity.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAAwBC,aAAa,QAAQ,iBAAiB;AAI9D;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAwEnF,MAAMC,KAAK,GAAG;EACZ,CAACH,MAAM,GAAGA,MAAM;EAChBI,IAAIA,CAAA;IACF,OAAOL,aAAa,CAAC,IAAI,EAAEM,SAAS,CAAC;EACvC;CACD;AAED;;;;;;;;;AASA,OAAO,MAAMC,MAAM,gBAAWC,MAAM,CAACC,MAAM,eAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAChEO,IAAI,EAAE,QAAQ;EACdC,WAAW,eAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEF;;;;;;;;;;;;AAYA,OAAO,MAAMC,MAAM,GAAIC,OAGtB,IACCP,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClCO,IAAI,EAAE,QAAQ;EACdK,GAAG,EAAED,OAAO,CAACC,GAAG;EAChBC,EAAE,EAAEF,OAAO,CAACE,EAAE,IAAI,QAAQ;EAC1BL,WAAW,EAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEJ;;;;AAIA,OAAO,MAAMK,KAAK,gBAAUV,MAAM,CAACC,MAAM,eAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAC9DO,IAAI,EAAE,OAAO;EACbC,WAAW,eAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEF;;;;AAIA,OAAO,MAAMM,eAAe,gBAWxBpB,IAAI,CACN,CAAC,EACD,CAA+BqB,IAAO,EAAEC,OAA2B,KACjEb,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClC,GAAGgB,IAAI;EACPR,WAAW,EAAEd,OAAO,CAACwB,KAAK,CAACF,IAAI,CAACR,WAAW,EAAES,OAAO;CACrD,CAAC,CACL;AAED;;;;AAIA,OAAO,MAAME,QAAQ,gBAWjBxB,IAAI,CACN,CAAC,EACD,CAAkCqB,IAAO,EAAEI,GAAsB,EAAEC,KAAQ,KACzEjB,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClC,GAAGgB,IAAI;EACPR,WAAW,EAAEd,OAAO,CAAC4B,GAAG,CAACN,IAAI,CAACR,WAAW,EAAEY,GAAG,EAAEC,KAAK;CACtD,CAAC,CACL","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiSecurity.js","names":["Context","dual","pipeArguments","TypeId","Symbol","for","Proto","pipe","arguments","bearer","Object","assign","create","_tag","annotations","empty","apiKey","options","key","in","basic","annotateContext","self","context","merge","annotate","tag","value","add"],"sources":["../../src/HttpApiSecurity.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAAwBC,aAAa,QAAQ,iBAAiB;AAI9D;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAwEnF,MAAMC,KAAK,GAAG;EACZ,CAACH,MAAM,GAAGA,MAAM;EAChBI,IAAIA,CAAA;IACF,OAAOL,aAAa,CAAC,IAAI,EAAEM,SAAS,CAAC;EACvC;CACD;AAED;;;;;;;;;AASA,OAAO,MAAMC,MAAM,gBAAWC,MAAM,CAACC,MAAM,eAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAChEO,IAAI,EAAE,QAAQ;EACdC,WAAW,eAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;AAcA,OAAO,MAAMC,MAAM,GAAIC,OAGtB,IACCP,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClCO,IAAI,EAAE,QAAQ;EACdK,GAAG,EAAED,OAAO,CAACC,GAAG;EAChBC,EAAE,EAAEF,OAAO,CAACE,EAAE,IAAI,QAAQ;EAC1BL,WAAW,EAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEJ;;;;AAIA,OAAO,MAAMK,KAAK,gBAAUV,MAAM,CAACC,MAAM,eAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAC9DO,IAAI,EAAE,OAAO;EACbC,WAAW,eAAEd,OAAO,CAACe,KAAK;CAC3B,CAAC;AAEF;;;;AAIA,OAAO,MAAMM,eAAe,gBAWxBpB,IAAI,CACN,CAAC,EACD,CAA+BqB,IAAO,EAAEC,OAA2B,KACjEb,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClC,GAAGgB,IAAI;EACPR,WAAW,EAAEd,OAAO,CAACwB,KAAK,CAACF,IAAI,CAACR,WAAW,EAAES,OAAO;CACrD,CAAC,CACL;AAED;;;;AAIA,OAAO,MAAME,QAAQ,gBAWjBxB,IAAI,CACN,CAAC,EACD,CAAkCqB,IAAO,EAAEI,GAAsB,EAAEC,KAAQ,KACzEjB,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACN,KAAK,CAAC,EAAE;EAClC,GAAGgB,IAAI;EACPR,WAAW,EAAEd,OAAO,CAAC4B,GAAG,CAACN,IAAI,CAACR,WAAW,EAAEY,GAAG,EAAEC,KAAK;CACtD,CAAC,CACL","ignoreList":[]}
@@ -1,11 +1,7 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
1
  import * as Context from "effect/Context";
5
2
  import { constFalse } from "effect/Function";
6
3
  import { globalValue } from "effect/GlobalValue";
7
4
  import * as Option from "effect/Option";
8
- import * as Schema from "effect/Schema";
9
5
  import * as HttpApi from "./HttpApi.js";
10
6
  import * as HttpApiMiddleware from "./HttpApiMiddleware.js";
11
7
  import * as HttpApiSchema from "./HttpApiSchema.js";
@@ -102,6 +98,7 @@ export const annotations = /*#__PURE__*/contextPartial({
102
98
  description: Description,
103
99
  license: License,
104
100
  summary: Summary,
101
+ deprecated: Deprecated,
105
102
  externalDocs: ExternalDocs,
106
103
  servers: Servers,
107
104
  format: Format,
@@ -111,14 +108,59 @@ export const annotations = /*#__PURE__*/contextPartial({
111
108
  });
112
109
  const apiCache = /*#__PURE__*/globalValue("@effect/platform/OpenApi/apiCache", () => new WeakMap());
113
110
  /**
111
+ * This function checks if a given tag exists within the provided context. If
112
+ * the tag is present, it retrieves the associated value and applies the given
113
+ * callback function to it. If the tag is not found, the function does nothing.
114
+ */
115
+ function processAnnotation(ctx, tag, f) {
116
+ const o = Context.getOption(ctx, tag);
117
+ if (Option.isSome(o)) {
118
+ f(o.value);
119
+ }
120
+ }
121
+ /**
122
+ * Converts an `HttpApi` instance into an OpenAPI Specification object.
123
+ *
124
+ * **Details**
125
+ *
126
+ * This function takes an `HttpApi` instance, which defines a structured API,
127
+ * and generates an OpenAPI Specification (`OpenAPISpec`). The resulting spec
128
+ * adheres to the OpenAPI 3.1.0 standard and includes detailed metadata such as
129
+ * paths, operations, security schemes, and components. The function processes
130
+ * the API's annotations, middleware, groups, and endpoints to build a complete
131
+ * and accurate representation of the API in OpenAPI format.
132
+ *
133
+ * The function also deduplicates schemas, applies transformations, and
134
+ * integrates annotations like descriptions, summaries, external documentation,
135
+ * and overrides. Cached results are used for better performance when the same
136
+ * `HttpApi` instance is processed multiple times.
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * import { HttpApi, HttpApiEndpoint, HttpApiGroup, OpenApi } from "@effect/platform"
141
+ * import { Schema } from "effect"
142
+ *
143
+ * const api = HttpApi.make("api").add(
144
+ * HttpApiGroup.make("group").add(
145
+ * HttpApiEndpoint.get("get", "/items")
146
+ * .addSuccess(Schema.Array(Schema.String))
147
+ * )
148
+ * )
149
+ *
150
+ * const spec = OpenApi.fromApi(api)
151
+ *
152
+ * // console.log(JSON.stringify(spec, null, 2))
153
+ * // Output: OpenAPI specification in JSON format
154
+ * ```
155
+ *
114
156
  * @category constructors
115
157
  * @since 1.0.0
116
158
  */
117
- export const fromApi = self => {
118
- if (apiCache.has(self)) {
119
- return apiCache.get(self);
159
+ export const fromApi = api => {
160
+ const cached = apiCache.get(api);
161
+ if (cached !== undefined) {
162
+ return cached;
120
163
  }
121
- const api = self;
122
164
  const jsonSchemaDefs = {};
123
165
  let spec = {
124
166
  openapi: "3.1.0",
@@ -127,49 +169,45 @@ export const fromApi = self => {
127
169
  version: Context.getOrElse(api.annotations, Version, () => "0.0.1")
128
170
  },
129
171
  paths: {},
130
- tags: [],
131
172
  components: {
132
173
  schemas: jsonSchemaDefs,
133
174
  securitySchemes: {}
134
175
  },
135
- security: []
176
+ security: [],
177
+ tags: []
136
178
  };
137
- function makeJsonSchemaOrRef(schema) {
138
- return JsonSchema.makeWithDefs(schema, {
179
+ function processAST(ast) {
180
+ return JsonSchema.fromAST(ast, {
139
181
  defs: jsonSchemaDefs
140
182
  });
141
183
  }
142
- function registerSecurity(name, security) {
143
- if (spec.components.securitySchemes[name]) {
184
+ function processHttpApiSecurity(name, security) {
185
+ if (spec.components.securitySchemes[name] !== undefined) {
144
186
  return;
145
187
  }
146
- const scheme = makeSecurityScheme(security);
147
- spec.components.securitySchemes[name] = scheme;
188
+ spec.components.securitySchemes[name] = makeSecurityScheme(security);
148
189
  }
149
- Option.map(Context.getOption(api.annotations, HttpApi.AdditionalSchemas), componentSchemas => {
150
- componentSchemas.forEach(componentSchema => makeJsonSchemaOrRef(componentSchema));
190
+ processAnnotation(api.annotations, HttpApi.AdditionalSchemas, componentSchemas => {
191
+ componentSchemas.forEach(componentSchema => processAST(componentSchema.ast));
151
192
  });
152
- Option.map(Context.getOption(api.annotations, Description), description => {
193
+ processAnnotation(api.annotations, Description, description => {
153
194
  spec.info.description = description;
154
195
  });
155
- Option.map(Context.getOption(api.annotations, License), license => {
196
+ processAnnotation(api.annotations, License, license => {
156
197
  spec.info.license = license;
157
198
  });
158
- Option.map(Context.getOption(api.annotations, Summary), summary => {
199
+ processAnnotation(api.annotations, Summary, summary => {
159
200
  spec.info.summary = summary;
160
201
  });
161
- Option.map(Context.getOption(api.annotations, Servers), servers => {
162
- spec.servers = servers;
163
- });
164
- Option.map(Context.getOption(api.annotations, Override), override => {
165
- Object.assign(spec, override);
202
+ processAnnotation(api.annotations, Servers, servers => {
203
+ spec.servers = [...servers];
166
204
  });
167
205
  api.middlewares.forEach(middleware => {
168
206
  if (!HttpApiMiddleware.isSecurity(middleware)) {
169
207
  return;
170
208
  }
171
209
  for (const [name, security] of Object.entries(middleware.security)) {
172
- registerSecurity(name, security);
210
+ processHttpApiSecurity(name, security);
173
211
  spec.security.push({
174
212
  [name]: []
175
213
  });
@@ -185,17 +223,17 @@ export const fromApi = self => {
185
223
  let tag = {
186
224
  name: Context.getOrElse(group.annotations, Title, () => group.identifier)
187
225
  };
188
- Option.map(Context.getOption(group.annotations, Description), description => {
226
+ processAnnotation(group.annotations, Description, description => {
189
227
  tag.description = description;
190
228
  });
191
- Option.map(Context.getOption(group.annotations, ExternalDocs), externalDocs => {
229
+ processAnnotation(group.annotations, ExternalDocs, externalDocs => {
192
230
  tag.externalDocs = externalDocs;
193
231
  });
194
- Option.map(Context.getOption(group.annotations, Override), override => {
232
+ processAnnotation(group.annotations, Override, override => {
195
233
  Object.assign(tag, override);
196
234
  });
197
- Option.map(Context.getOption(group.annotations, Transform), fn => {
198
- tag = fn(tag);
235
+ processAnnotation(group.annotations, Transform, transformFn => {
236
+ tag = transformFn(tag);
199
237
  });
200
238
  spec.tags.push(tag);
201
239
  },
@@ -211,8 +249,6 @@ export const fromApi = self => {
211
249
  if (Context.get(mergedAnnotations, Exclude)) {
212
250
  return;
213
251
  }
214
- const path = endpoint.path.replace(/:(\w+)[^/]*/g, "{$1}");
215
- const method = endpoint.method.toLowerCase();
216
252
  let op = {
217
253
  tags: [Context.getOrElse(group.annotations, Title, () => group.identifier)],
218
254
  operationId: Context.getOrElse(endpoint.annotations, Identifier, () => group.topLevel ? endpoint.name : `${group.identifier}.${endpoint.name}`),
@@ -220,16 +256,53 @@ export const fromApi = self => {
220
256
  security: [],
221
257
  responses: {}
222
258
  };
223
- Option.map(Context.getOption(endpoint.annotations, Description), description => {
259
+ function processResponseMap(map, defaultDescription) {
260
+ for (const [status, {
261
+ ast,
262
+ description
263
+ }] of map) {
264
+ if (op.responses[status]) continue;
265
+ op.responses[status] = {
266
+ description: Option.getOrElse(description, defaultDescription)
267
+ };
268
+ ast.pipe(Option.filter(ast => !HttpApiSchema.getEmptyDecodeable(ast)), Option.map(ast => {
269
+ const encoding = HttpApiSchema.getEncoding(ast);
270
+ op.responses[status].content = {
271
+ [encoding.contentType]: {
272
+ schema: processAST(ast)
273
+ }
274
+ };
275
+ }));
276
+ }
277
+ }
278
+ function processParameters(schema, i) {
279
+ if (Option.isSome(schema)) {
280
+ const jsonSchema = processAST(schema.value.ast);
281
+ if ("properties" in jsonSchema) {
282
+ Object.entries(jsonSchema.properties).forEach(([name, psJsonSchema]) => {
283
+ op.parameters.push({
284
+ name,
285
+ in: i,
286
+ schema: psJsonSchema,
287
+ required: jsonSchema.required.includes(name),
288
+ ...(psJsonSchema.description !== undefined ? {
289
+ description: psJsonSchema.description
290
+ } : undefined)
291
+ });
292
+ });
293
+ }
294
+ }
295
+ }
296
+ processAnnotation(endpoint.annotations, Description, description => {
224
297
  op.description = description;
225
298
  });
226
- Option.map(Context.getOption(endpoint.annotations, Summary), summary => {
299
+ processAnnotation(endpoint.annotations, Summary, summary => {
227
300
  op.summary = summary;
228
301
  });
229
- Option.map(Context.getOption(endpoint.annotations, Deprecated), deprecated => {
302
+ processAnnotation(endpoint.annotations, Deprecated, deprecated => {
230
303
  op.deprecated = deprecated;
231
304
  });
232
- Option.map(Context.getOption(endpoint.annotations, ExternalDocs), externalDocs => {
305
+ processAnnotation(endpoint.annotations, ExternalDocs, externalDocs => {
233
306
  op.externalDocs = externalDocs;
234
307
  });
235
308
  middleware.forEach(middleware => {
@@ -237,19 +310,20 @@ export const fromApi = self => {
237
310
  return;
238
311
  }
239
312
  for (const [name, security] of Object.entries(middleware.security)) {
240
- registerSecurity(name, security);
313
+ processHttpApiSecurity(name, security);
241
314
  op.security.push({
242
315
  [name]: []
243
316
  });
244
317
  }
245
318
  });
246
- if (payloads.size > 0) {
319
+ const hasBody = HttpMethod.hasBody(endpoint.method);
320
+ if (hasBody && payloads.size > 0) {
247
321
  const content = {};
248
322
  payloads.forEach(({
249
323
  ast
250
324
  }, contentType) => {
251
325
  content[contentType] = {
252
- schema: makeJsonSchemaOrRef(Schema.make(ast))
326
+ schema: processAST(ast)
253
327
  };
254
328
  });
255
329
  op.requestBody = {
@@ -257,123 +331,40 @@ export const fromApi = self => {
257
331
  required: true
258
332
  };
259
333
  }
260
- for (const [status, {
261
- ast,
262
- description
263
- }] of successes) {
264
- if (op.responses[status]) continue;
265
- op.responses[status] = {
266
- description: Option.getOrElse(description, () => "Success")
267
- };
268
- ast.pipe(Option.filter(ast => !HttpApiSchema.getEmptyDecodeable(ast)), Option.map(ast => {
269
- op.responses[status].content = {
270
- "application/json": {
271
- schema: makeJsonSchemaOrRef(Schema.make(ast))
272
- }
273
- };
274
- }));
275
- }
276
- if (Option.isSome(endpoint.pathSchema)) {
277
- const schema = makeJsonSchemaOrRef(endpoint.pathSchema.value);
278
- if ("properties" in schema) {
279
- Object.entries(schema.properties).forEach(([name, jsonSchema]) => {
280
- op.parameters.push({
281
- name,
282
- in: "path",
283
- schema: jsonSchema,
284
- required: schema.required.includes(name),
285
- ...(jsonSchema.description ? {
286
- description: jsonSchema.description
287
- } : {})
288
- });
289
- });
290
- }
291
- }
292
- if (!HttpMethod.hasBody(endpoint.method) && Option.isSome(endpoint.payloadSchema)) {
293
- const schema = makeJsonSchemaOrRef(endpoint.payloadSchema.value);
294
- if ("properties" in schema) {
295
- Object.entries(schema.properties).forEach(([name, jsonSchema]) => {
296
- op.parameters.push({
297
- name,
298
- in: "query",
299
- schema: jsonSchema,
300
- required: schema.required.includes(name),
301
- ...(jsonSchema.description ? {
302
- description: jsonSchema.description
303
- } : {})
304
- });
305
- });
306
- }
307
- }
308
- if (Option.isSome(endpoint.headersSchema)) {
309
- const schema = makeJsonSchemaOrRef(endpoint.headersSchema.value);
310
- if ("properties" in schema) {
311
- Object.entries(schema.properties).forEach(([name, jsonSchema]) => {
312
- op.parameters.push({
313
- name,
314
- in: "header",
315
- schema: jsonSchema,
316
- required: schema.required.includes(name),
317
- ...(jsonSchema.description ? {
318
- description: jsonSchema.description
319
- } : {})
320
- });
321
- });
322
- }
323
- }
324
- if (Option.isSome(endpoint.urlParamsSchema)) {
325
- const schema = makeJsonSchemaOrRef(endpoint.urlParamsSchema.value);
326
- if ("properties" in schema) {
327
- Object.entries(schema.properties).forEach(([name, jsonSchema]) => {
328
- op.parameters.push({
329
- name,
330
- in: "query",
331
- schema: jsonSchema,
332
- required: schema.required.includes(name),
333
- ...(jsonSchema.description ? {
334
- description: jsonSchema.description
335
- } : {})
336
- });
337
- });
338
- }
339
- }
340
- for (const [status, {
341
- ast,
342
- description
343
- }] of errors) {
344
- if (op.responses[status]) continue;
345
- op.responses[status] = {
346
- description: Option.getOrElse(description, () => "Error")
347
- };
348
- ast.pipe(Option.filter(ast => !HttpApiSchema.getEmptyDecodeable(ast)), Option.map(ast => {
349
- op.responses[status].content = {
350
- "application/json": {
351
- schema: makeJsonSchemaOrRef(Schema.make(ast))
352
- }
353
- };
354
- }));
334
+ processParameters(endpoint.pathSchema, "path");
335
+ if (!hasBody) {
336
+ processParameters(endpoint.payloadSchema, "query");
355
337
  }
338
+ processParameters(endpoint.headersSchema, "header");
339
+ processParameters(endpoint.urlParamsSchema, "query");
340
+ processResponseMap(successes, () => "Success");
341
+ processResponseMap(errors, () => "Error");
342
+ const path = endpoint.path.replace(/:(\w+)[^/]*/g, "{$1}");
343
+ const method = endpoint.method.toLowerCase();
356
344
  if (!spec.paths[path]) {
357
345
  spec.paths[path] = {};
358
346
  }
359
- Option.map(Context.getOption(endpoint.annotations, Override), override => {
347
+ processAnnotation(endpoint.annotations, Override, override => {
360
348
  Object.assign(op, override);
361
349
  });
362
- Option.map(Context.getOption(endpoint.annotations, Transform), transformFn => {
350
+ processAnnotation(endpoint.annotations, Transform, transformFn => {
363
351
  op = transformFn(op);
364
352
  });
365
353
  spec.paths[path][method] = op;
366
354
  }
367
355
  });
368
- Option.map(Context.getOption(api.annotations, Transform), transformFn => {
356
+ processAnnotation(api.annotations, Override, override => {
357
+ Object.assign(spec, override);
358
+ });
359
+ processAnnotation(api.annotations, Transform, transformFn => {
369
360
  spec = transformFn(spec);
370
361
  });
371
- apiCache.set(self, spec);
362
+ apiCache.set(api, spec);
372
363
  return spec;
373
364
  };
374
365
  const makeSecurityScheme = security => {
375
366
  const meta = {};
376
- Option.map(Context.getOption(security.annotations, Description), description => {
367
+ processAnnotation(security.annotations, Description, description => {
377
368
  meta.description = description;
378
369
  });
379
370
  switch (security._tag) {