@trapi/swagger 0.2.3 → 0.2.7

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 (39) hide show
  1. package/README.MD +4 -815
  2. package/dist/config/utils/validator.d.ts.map +1 -1
  3. package/dist/config/utils/validator.js +6 -3
  4. package/dist/config/utils/validator.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/metadata.d.ts +4 -0
  10. package/dist/metadata.d.ts.map +1 -0
  11. package/dist/metadata.js +13 -0
  12. package/dist/metadata.js.map +1 -0
  13. package/dist/specification/abstract.js +46 -43
  14. package/dist/specification/abstract.js.map +1 -1
  15. package/dist/specification/type.d.ts +10 -8
  16. package/dist/specification/type.d.ts.map +1 -1
  17. package/dist/specification/type.js +6 -6
  18. package/dist/specification/type.js.map +1 -1
  19. package/dist/specification/utils.d.ts.map +1 -1
  20. package/dist/specification/utils.js +3 -3
  21. package/dist/specification/utils.js.map +1 -1
  22. package/dist/specification/v2/index.js +7 -20
  23. package/dist/specification/v2/index.js.map +1 -1
  24. package/dist/specification/v3/index.js +7 -22
  25. package/dist/specification/v3/index.js.map +1 -1
  26. package/dist/utils.d.ts +9 -0
  27. package/dist/utils.d.ts.map +1 -0
  28. package/dist/utils.js +31 -0
  29. package/dist/utils.js.map +1 -0
  30. package/package.json +9 -6
  31. package/src/config/utils/validator.ts +8 -3
  32. package/src/index.ts +1 -0
  33. package/src/metadata.ts +24 -0
  34. package/src/specification/type.ts +11 -9
  35. package/src/specification/utils.ts +6 -6
  36. package/src/specification/v2/index.ts +2 -2
  37. package/src/specification/v3/index.ts +2 -2
  38. package/src/utils.ts +28 -0
  39. package/test/unit/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/specification/v3/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/specification/v3/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6BAAwB;AACxB,0DAA8E;AAC9E,8CAAgF;AAGhF,oCAAwE;AACxE,0CAAkD;AAElD,MAAa,qBAAsB,SAAQ,gCAAmE;IACnG,cAAc;QACjB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAEM,KAAK;QACR,IAAG,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC;SACpB;QAED,IAAI,IAAI,GAAyB;YAC7B,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;YAClC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;YACtB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;YACxB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;YAC5B,IAAI,EAAE,EAAE;SACX,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;YAChC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;SAC3E;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,eAAe;QACnB,MAAM,UAAU,GAAG;YACf,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,eAAe,EAAE,EAAE;SACtB,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;YACjC,UAAU,CAAC,eAAe,GAAG,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;SACpH;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,4BAA4B,CAAC,mBAAsD;QAC9F,MAAM,QAAQ,GAA8C,EAAE,CAAC;QAE/D,iCAAiC;QACjC,KAAI,MAAM,IAAI,IAAI,mBAAmB,EAAE;YACnC,MAAM,kBAAkB,GAAsC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAExF,QAAQ,kBAAkB,CAAC,IAAI,EAAE;gBAC7B,KAAK,MAAM;oBACP,QAAQ,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;oBACpC,MAAM;gBACV,KAAK,QAAQ;oBACT,QAAQ,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;oBACpC,MAAM;gBACV,KAAK,QAAQ;oBACT,QAAQ,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;oBACpC,MAAM;aACb;SACJ;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,UAAU;QACd,MAAM,KAAK,GAAqG,EAAE,CAAC;QAEnH,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC3C,2DAA2D;YAC3D,UAAU,CAAC,OAAO;iBACb,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;iBAChC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACd,IAAI,IAAI,GAAG,IAAA,4BAAoB,EAAC,IAAA,gCAAwB,EAAC,IAAI,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC1G,IAAI,GAAG,IAAA,wCAAuB,EAAC,IAAI,CAAC,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,WAAW,CAAC,cAAsB,EAAE,MAAc,EAAE,UAAe;QACvE,MAAM,UAAU,GAA8B,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QACxH,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAC5C,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACpC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAE9B,+FAA+F;QAC/F,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC;QAEtE,IAAI,MAAM,CAAC,UAAU,EAAE;YACnB,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;SAC7C;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAiB,CAAC;SAClD;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAEtE,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE;YACR,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;SAC7E;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;SACzG;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE;aAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;SAC1E;QAED,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAEO,4BAA4B,CAAC,UAAuB;QACxD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAuD,EAAE,CAAC;QAC1E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACjD,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAO,CAAC;YAC/C,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACjC;SACJ;QACD,OAAO;YACH,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC7B,OAAO,EAAE;gBACL,qBAAqB,EAAE;oBACnB,MAAM,kBACF,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,IAGnB,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAC3D;iBACJ;aACJ;SACJ,CAAC;IACN,CAAC;IAEO,gBAAgB,CAAC,SAAoB;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAEjD,OAAO;YACH,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,OAAO,EAAE;gBACL,kBAAkB,EAAE,SAAS;aAChC;SACJ,CAAC;IACN,CAAC;IAEO,cAAc,CAAC,SAAoB;QACvC,MAAM,SAAS,GAA8B;YACzC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC;SAC9C,CAAC;QAEF,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAEtD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,cAAc,CAAC,cAAsB,EAAE,MAAc;QAC3D,MAAM,gBAAgB,GAAiD,EAAE,CAAC;QAE1E,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAa,EAAE,EAAE;;YACvC,MAAM,IAAI,GAAY,MAAA,GAAG,CAAC,MAAM,mCAAI,SAAS,CAAC;YAC9C,gBAAgB;YAChB,gBAAgB,CAAC,IAAI,CAAC,GAAG;gBACrB,WAAW,EAAE,GAAG,CAAC,WAAW;aAC/B,CAAC;YAEF,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAChD,MAAM,UAAU,GAAY,kBAAkB,CAAC;gBAC/C,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG;oBAC7B,CAAC,UAAU,CAAC,EAAE;wBACV,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAA2B;qBAC1C;iBAC9B,CAAC;gBAEF,IAAI,GAAG,CAAC,QAAQ,EAAE;oBACd,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG;wBACrD,OAAO,EAAE;4BACL,KAAK,EAAE,GAAG,CAAC,QAAQ;yBACtB;qBACJ,CAAC;iBACL;aACJ;YAED,IAAI,GAAG,CAAC,OAAO,EAAE;gBACb,MAAM,OAAO,GAA+C,EAAE,CAAC;gBAC/D,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,EAAE;oBACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;wBAC3B,MAAM,EAAE,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,OAAO,CAA2B;wBAClF,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW;qBACvC,CAAC;iBACL;qBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,qBAAqB,EAAE;oBACvD,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAc,EAAE,EAAE;wBAC9C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;4BACjB,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAA2B;4BAChE,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBAC1B,CAAC;oBACN,CAAC,CAAC,CAAC;iBACN;gBAED,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;aAChD;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;YAC7C,SAAS,EAAE,gBAAgB;SAC9B,CAAC;IACN,CAAC;IAEO,cAAc,CAAC,MAAiB;QACpC,MAAM,SAAS,GAA+B;YAC1C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,EAAE,EAAE,MAAM,CAAC,EAAmC;YAC9C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,SAAS;aACpB;SACJ,CAAC;QAEF,IAAI,MAAM,CAAC,UAAU,EAAE;YACnB,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;SAC/B;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,aAAa,CAAC,MAAM,EAAE;YACtB,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;SAClD;QAED,IACI,IAAA,+BAAc,EAAC,aAAa,EAAE,MAAM,CAAC;YACrC,aAAa,CAAC,IAAI,EACpB;YACE,SAAS,CAAC,MAAM,GAAG,aAAuC,CAAC;YAC3D,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAChC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;SACpC;aAAM;YACH,IAAI,aAAa,CAAC,IAAI,EAAE;gBACpB,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAA8B,CAAC;aACxE;YACD,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;YAC7C,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;SAC9C;QAED,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEnD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,0BAA0B,CAC9B,SAAgE,EAChE,eAA0B;QAE1B,IACI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;YAChF,OAAO,eAAe,CAAC,OAAO,KAAK,WAAW,EAChD;YACE,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/I;aAAM;YACH,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;YACxB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC/C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC9B,CAAC,WAAW,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAA2B;aACxE,CAAC,CACL,CAAC;SACL;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,YAAY;QAChB,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,wBAAwB,CAAC,CAAC;QAClE,IAAI,IAAI,GAAY,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1E,OAAO;YACH;gBACI,GAAG,EAAE,IAAI;aACZ;SACJ,CAAC;IACN,CAAC;IAEO,WAAW;QACf,MAAM,MAAM,GAA+C,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACrD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAE7D,IAAI,aAAa,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnF,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG;oBAC5B,WAAW,EAAE,aAAa,CAAC,WAAW;oBACtC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;oBAC1D,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBACrF,IAAI,EAAE,QAAQ;iBACjB,CAAC;gBAEF,IAAI,aAAa,CAAC,oBAAoB,EAAE;oBACpC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;iBAChH;gBAED,IAAI,aAAa,CAAC,OAAO,EAAE;oBACvB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;iBACjE;aACJ;iBAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAEvE,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE;oBACtB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG;wBAC5B,WAAW,EAAE,aAAa,CAAC,WAAW;wBACtC,IAAI,EAAE,aAAa,CAAC,OAAO;wBAC3B,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;qBACtD,CAAC;oBACF,IAAI,aAAa,CAAC,WAAW,KAAK,SAAS,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE;wBAC9G,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC;qBAChF;iBACJ;qBAAM;oBACH,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG;wBAC5B,WAAW,EAAE,aAAa,CAAC,WAAW;wBACtC,KAAK,EAAE;4BACH;gCACI,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;6BACjE;4BACD;gCACI,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;6BACjE;yBACJ;qBACJ,CAAC;iBACL;aACJ;iBAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,UAAU,EAAE;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,aAAa,CAAC,MAAkC,CAAC;gBAChE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;qBACnD,MAAM,CAAC,GAAG,CAAC,EAAE;oBACV,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,CAAC;gBAC3E,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBACjB,uCACO,GAAG,KACN,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,IAC5C;gBACN,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEX,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,iDACrB,WAAsC,KAC1C,OAAO,EAAE,aAAa,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,EACrD,OAAO,EAAE,aAAa,CAAC,OAAO,EAC9B,MAAM,EAAE,MAAM,IAAI,WAAW,CAAC,MAAM,EACpC,WAAW,EAAE,aAAa,CAAC,WAAW,KACnC,UAAU,CAChB,CAAC;aACL;YAED,IAAI,aAAa,CAAC,UAAU,EAAE;gBAC1B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;aACnD;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,iCAAiC,CAAC,IAA+B;QACvE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,CAAC;IAES,eAAe,CAAI,UAAsB;QAC/C,MAAM,MAAM,GAAuD,EAAE,CAAC;QAEtE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAA2B,CAAC;YACjF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAkC,CAAC;YAC3D,WAAW,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC/C,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YACvC,WAAW,CAAC,MAAM,GAAG,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC;YAElD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;gBACnB,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;aAC1C;YAED,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACrB,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;aACjC;YAED,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,yBAAyB,CAAC,QAA2B;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;YAClB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;SAC9H;aAAM;YACH,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,6DAA6D,eAAe,EAAE,CAAC,CAAC;SACnG;IACL,CAAC;IAES,8BAA8B,CAAC,aAAqC;QAC1E,OAAO;YACH,IAAI,EAAE,wBAAwB,aAAa,CAAC,OAAO,EAAE;SACxD,CAAC;IACN,CAAC;CACJ;AAhbD,sDAgbC"}
@@ -0,0 +1,9 @@
1
+ import { CompilerOptions } from 'typescript';
2
+ import { Config as MetadataConfig } from "@trapi/metadata";
3
+ import { Specification } from "./specification";
4
+ import { SwaggerDocFormatData, SwaggerDocFormatType } from "trapi/src/type";
5
+ export declare function generateDocumentation(config: {
6
+ metadata: MetadataConfig;
7
+ swagger: Specification.Config;
8
+ }, tsConfig?: CompilerOptions | boolean): Promise<Record<SwaggerDocFormatType, SwaggerDocFormatData>>;
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAC,MAAM,IAAI,cAAc,EAA0B,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAsB,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAC,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAE1E,wBAAsB,qBAAqB,CACvC,MAAM,EAAE;IACJ,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC,MAAM,CAAA;CAChC,EACD,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,GACrC,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAS7D"}
package/dist/utils.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2021.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
+ return new (P || (P = Promise))(function (resolve, reject) {
11
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
15
+ });
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generateDocumentation = void 0;
19
+ const metadata_1 = require("@trapi/metadata");
20
+ const specification_1 = require("./specification");
21
+ function generateDocumentation(config, tsConfig) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const metadataGenerator = (0, metadata_1.createMetadataGenerator)(config.metadata, tsConfig);
24
+ const metadata = metadataGenerator.generate();
25
+ const specGenerator = (0, specification_1.createSpecGenerator)(metadata, config.swagger);
26
+ specGenerator.build();
27
+ return yield specGenerator.save();
28
+ });
29
+ }
30
+ exports.generateDocumentation = generateDocumentation;
31
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;AAGH,8CAAkF;AAClF,mDAAmE;AAGnE,SAAsB,qBAAqB,CACvC,MAGC,EACD,QAAoC;;QAEpC,MAAM,iBAAiB,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE7E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAE9C,MAAM,aAAa,GAAG,IAAA,mCAAmB,EAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEpE,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;CAAA;AAfD,sDAeC"}
package/package.json CHANGED
@@ -2,11 +2,11 @@
2
2
  "name": "@trapi/swagger",
3
3
  "author": {
4
4
  "name": "Peter Placzek",
5
- "email": "tadashi@animesu.net",
6
- "url": "https:/github.com/Tada5hi"
5
+ "email": "contact@tada5hi.net",
6
+ "url": "https://github.com/tada5hi"
7
7
  },
8
8
  "license": "MIT",
9
- "version": "0.2.3",
9
+ "version": "0.2.7",
10
10
  "description": "Generate Swagger files from a decorator APIs.",
11
11
  "keywords": [
12
12
  "typescript",
@@ -39,8 +39,8 @@
39
39
  "rimraf": "^3.0.2"
40
40
  },
41
41
  "dependencies": {
42
- "@trapi/metadata": "^0.1.1",
43
- "@trapi/metadata-utils": "^0.0.3",
42
+ "@trapi/metadata": "^0.1.3",
43
+ "@trapi/metadata-utils": "^0.0.4",
44
44
  "typescript": "^4.4.3",
45
45
  "yamljs": "^0.3.0"
46
46
  },
@@ -55,6 +55,9 @@
55
55
  "engines": {
56
56
  "node": ">=6.0.0"
57
57
  },
58
+ "publishConfig": {
59
+ "access": "public"
60
+ },
58
61
  "engineStrict": true,
59
- "gitHead": "91fda58914c6ec3337fada8afa4b3f0cbe331a1e"
62
+ "gitHead": "a9444b0aec81434532e3064abb9b253b8dc0bbf0"
60
63
  }
@@ -59,7 +59,12 @@ export function useConfigValidator() : SchemaOf<Specification.Config> {
59
59
 
60
60
  outputDirectory: string().optional().default(undefined),
61
61
  outputFileName: string().optional().default(undefined),
62
- outputFormat: (string().oneOf([Specification.Specification.VERSION_2, Specification.Specification.VERSION_3]).optional().default(Specification.Specification.VERSION_2)) as SchemaOf<Specification.Specification>,
62
+
63
+ specification: (string().oneOf([
64
+ Specification.SpecificationOption.V2,
65
+ Specification.SpecificationOption.V3
66
+ ]).optional().default(Specification.SpecificationOption.V2)) as SchemaOf<Specification.SpecificationOption>,
67
+ specificationExtra: mixed().optional().default(undefined),
63
68
 
64
69
  host: string().optional().default(undefined),
65
70
  version: string().optional().default(undefined),
@@ -68,7 +73,7 @@ export function useConfigValidator() : SchemaOf<Specification.Config> {
68
73
  license: string().optional().default(undefined),
69
74
  basePath: string().optional().default(undefined),
70
75
  securityDefinitions: securityDefinitionsValidator,
71
- spec: mixed().optional().default(undefined),
76
+
72
77
  consumes: array().of(string()).optional().default(undefined),
73
78
  produces: array().of(string()).optional().default(undefined),
74
79
  collectionFormat: string().optional().default(undefined)
@@ -83,7 +88,7 @@ export function extendSwaggerConfig(workingDir: string, conf: Specification.Conf
83
88
  conf.name = conf.name || getPackageJsonStringValue(workingDir, 'name');
84
89
  conf.description = conf.description || getPackageJsonStringValue(workingDir, 'description');
85
90
  conf.license = conf.license || getPackageJsonStringValue(workingDir, 'license', 'MIT');
86
- conf.outputFormat = Specification.Specification[conf.outputFormat] || Specification.Specification.VERSION_2;
91
+ conf.specification = Specification.SpecificationOption[conf.specification] || Specification.SpecificationOption.V2;
87
92
 
88
93
  return conf;
89
94
  }
package/src/index.ts CHANGED
@@ -6,5 +6,6 @@
6
6
  */
7
7
 
8
8
  export * from './config';
9
+ export * from './metadata';
9
10
  export * from './specification';
10
11
  export * from './type';
@@ -0,0 +1,24 @@
1
+ /*
2
+ * Copyright (c) 2021.
3
+ * Author Peter Placzek (tada5hi)
4
+ * For the full copyright and license information,
5
+ * view the LICENSE file that was distributed with this source code.
6
+ */
7
+
8
+ import {
9
+ generateMetadata,
10
+ createMetadataGenerator,
11
+ GeneratorOutput as MetadataGeneratorOutput,
12
+ Config as MetadataConfig,
13
+ Cache as MetadataCache
14
+ } from "@trapi/metadata";
15
+
16
+ type MetadataCacheConfig = MetadataCache.Config;
17
+
18
+ export {
19
+ generateMetadata,
20
+ createMetadataGenerator,
21
+ MetadataGeneratorOutput,
22
+ MetadataCacheConfig,
23
+ MetadataConfig
24
+ }
@@ -198,11 +198,6 @@ export namespace Specification {
198
198
  */
199
199
  outputFileName?: string;
200
200
 
201
- /**
202
- * Inform if the generated spec will be in swagger 2.0 format or i open api 3.0
203
- */
204
- outputFormat?: Specification;
205
-
206
201
  /**
207
202
  * API host, expressTemplate.g. localhost:3000 or https://myapi.com
208
203
  */
@@ -233,11 +228,18 @@ export namespace Specification {
233
228
  */
234
229
  basePath?: string;
235
230
 
231
+ /**
232
+ * Inform if the generated spec will be in swagger 2.0 format or regarding the open api 3.0 specification.
233
+ *
234
+ * Default: V2
235
+ */
236
+ specification?: SpecificationOption;
237
+
236
238
  /**
237
239
  * Extend generated swagger spec with this object
238
240
  * Note that generated properties will always take precedence over what get specified here
239
241
  */
240
- spec?: Record<string, any>;
242
+ specificationExtra?: Record<string, any>;
241
243
 
242
244
  /**
243
245
  * Security Definitions Object
@@ -264,9 +266,9 @@ export namespace Specification {
264
266
  collectionFormat?: string;
265
267
  }
266
268
 
267
- export enum Specification {
268
- VERSION_2 = "VERSION_2",
269
- VERSION_3 = "VERSION_3"
269
+ export enum SpecificationOption {
270
+ V2 = "V2",
271
+ V3 = "V3"
270
272
  }
271
273
 
272
274
  export interface SecurityDefinitions {
@@ -8,9 +8,9 @@
8
8
  // todo: implement character in regex matching
9
9
  import {GeneratorOutput, MetadataGenerator} from "@trapi/metadata";
10
10
  import {Specification} from "./type";
11
+ import {AbstractSpecGenerator} from "./abstract";
11
12
  import {Version2SpecGenerator} from "./v2";
12
13
  import {Version3SpecGenerator} from "./v3";
13
- import {AbstractSpecGenerator} from "./abstract";
14
14
 
15
15
  export function removeRepeatingCharacter(str: string, character: string) : string {
16
16
  return str.replace('/([^:]\$)\/+/g', "$1");
@@ -28,17 +28,17 @@ export function createSpecGenerator(
28
28
  metadata: GeneratorOutput | MetadataGenerator,
29
29
  config: Specification.Config = {}
30
30
  ) {
31
- const data : GeneratorOutput = metadata instanceof MetadataGenerator ? metadata.generate() : metadata;
31
+ const data: GeneratorOutput = metadata instanceof MetadataGenerator ? metadata.generate() : metadata;
32
32
 
33
- const outputFormat : Specification.Specification = config.outputFormat || Specification.Specification.VERSION_2;
33
+ const outputFormat: Specification.SpecificationOption = config.specification || Specification.SpecificationOption.V2;
34
34
 
35
- let specGenerator : AbstractSpecGenerator<any, any>;
35
+ let specGenerator: AbstractSpecGenerator<any, any>;
36
36
 
37
37
  switch (outputFormat) {
38
- case Specification.Specification.VERSION_2:
38
+ case Specification.SpecificationOption.V2:
39
39
  specGenerator = new Version2SpecGenerator(data, config);
40
40
  break;
41
- case Specification.Specification.VERSION_3:
41
+ case Specification.SpecificationOption.V3:
42
42
  specGenerator = new Version3SpecGenerator(data, config);
43
43
  break;
44
44
  }
@@ -54,8 +54,8 @@ export class Version2SpecGenerator extends AbstractSpecGenerator<SpecificationV2
54
54
  spec.host = host;
55
55
  }
56
56
 
57
- if (this.config.spec) {
58
- spec = require('merge').recursive(spec, this.config.spec);
57
+ if (this.config.specificationExtra) {
58
+ spec = require('merge').recursive(spec, this.config.specificationExtra);
59
59
  }
60
60
 
61
61
  this.spec = spec;
@@ -32,8 +32,8 @@ export class Version3SpecGenerator extends AbstractSpecGenerator<SpecificationV3
32
32
  tags: [],
33
33
  };
34
34
 
35
- if (this.config.spec) {
36
- spec = require('merge').recursive(spec, this.config.spec);
35
+ if (this.config.specificationExtra) {
36
+ spec = require('merge').recursive(spec, this.config.specificationExtra);
37
37
  }
38
38
 
39
39
  return spec;
package/src/utils.ts ADDED
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Copyright (c) 2021.
3
+ * Author Peter Placzek (tada5hi)
4
+ * For the full copyright and license information,
5
+ * view the LICENSE file that was distributed with this source code.
6
+ */
7
+
8
+ import {CompilerOptions} from 'typescript';
9
+ import {Config as MetadataConfig, createMetadataGenerator} from "@trapi/metadata";
10
+ import {createSpecGenerator, Specification} from "./specification";
11
+ import {SwaggerDocFormatData, SwaggerDocFormatType} from "trapi/src/type";
12
+
13
+ export async function generateDocumentation(
14
+ config: {
15
+ metadata: MetadataConfig,
16
+ swagger: Specification.Config
17
+ },
18
+ tsConfig?: CompilerOptions | boolean
19
+ ): Promise<Record<SwaggerDocFormatType, SwaggerDocFormatData>> {
20
+ const metadataGenerator = createMetadataGenerator(config.metadata, tsConfig);
21
+
22
+ const metadata = metadataGenerator.generate();
23
+
24
+ const specGenerator = createSpecGenerator(metadata, config.swagger);
25
+
26
+ specGenerator.build();
27
+ return await specGenerator.save();
28
+ }
@@ -15,6 +15,7 @@ const metadata : GeneratorOutput = require('../data/metadata.json');
15
15
  const specGenerator = createSpecGenerator(metadata, {
16
16
  host: 'http://localhost:3000/'
17
17
  });
18
+
18
19
  const spec = specGenerator.getSwaggerSpec();
19
20
 
20
21
  describe(`generating swagger spec from metadata`, () => {