@typespec/http-server-js 0.58.0-alpha.13-dev.2 → 0.58.0-alpha.13-dev.4

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 (34) hide show
  1. package/.testignore +0 -4
  2. package/dist/src/common/enum.d.ts.map +1 -1
  3. package/dist/src/common/enum.js +2 -1
  4. package/dist/src/common/enum.js.map +1 -1
  5. package/dist/src/common/serialization/index.d.ts +2 -2
  6. package/dist/src/common/serialization/index.d.ts.map +1 -1
  7. package/dist/src/common/serialization/index.js +5 -1
  8. package/dist/src/common/serialization/index.js.map +1 -1
  9. package/dist/src/common/serialization/json.d.ts.map +1 -1
  10. package/dist/src/common/serialization/json.js +20 -6
  11. package/dist/src/common/serialization/json.js.map +1 -1
  12. package/dist/src/http/server/index.d.ts.map +1 -1
  13. package/dist/src/http/server/index.js +75 -1
  14. package/dist/src/http/server/index.js.map +1 -1
  15. package/dist/src/http/server/router.d.ts.map +1 -1
  16. package/dist/src/http/server/router.js +35 -43
  17. package/dist/src/http/server/router.js.map +1 -1
  18. package/dist/src/lib.d.ts +10 -1
  19. package/dist/src/lib.d.ts.map +1 -1
  20. package/dist/src/lib.js +6 -0
  21. package/dist/src/lib.js.map +1 -1
  22. package/dist/src/util/differentiate.d.ts +25 -2
  23. package/dist/src/util/differentiate.d.ts.map +1 -1
  24. package/dist/src/util/differentiate.js +25 -33
  25. package/dist/src/util/differentiate.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/common/enum.ts +2 -1
  28. package/src/common/serialization/index.ts +9 -3
  29. package/src/common/serialization/json.ts +25 -8
  30. package/src/http/server/index.ts +83 -1
  31. package/src/http/server/router.ts +45 -58
  32. package/src/lib.ts +6 -0
  33. package/src/util/differentiate.ts +58 -23
  34. package/temp/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/http/server/router.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,kCAAkC;AAGlC,OAAO,EAKL,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAU,YAAY,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAU,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,GAAgB,EAAE,OAAoB,EAAE,eAAuB;IACxF,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEhD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;IAEH,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;IAEH,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,MAAM,EAAE,CAAC,4BAA4B,CAAC;QACtC,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IAEH,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC;AAED;;;;;;;GAOG;AACH,QAAQ,CAAC,CAAC,oBAAoB,CAC5B,GAAgB,EAChB,OAAoB,EACpB,SAAoB,EACpB,MAAc;IAEd,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC;IAE3E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAE7F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEjE,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAExC,MAAM,eAAe,GACnB,SAAS,CAAC,IAAI,KAAK,WAAW;YAC5B,CAAC,CAAC,+BAA+B,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC;YACzD,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAE3D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAClB,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,EAAE,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,SAAU,CAAC;SAC/D,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAClB,MAAM,EAAE,CAAC,eAAe,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,aAAa,CAAC;QAC1F,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;IAEH,MAAM,oBAAoB,UAAU,IAAI,CAAC;IACzC,MAAM,OAAO,CAAC;IACd,MAAM,mFAAmF,CAAC;IAC1F,MAAM,MAAM,CAAC;IACb,MAAM,qFAAqF,CAAC;IAC5F,MAAM,MAAM,CAAC;IACb,MAAM,kDAAkD,CAAC;IACzD,MAAM,oDAAoD,CAAC;IAC3D,MAAM,OAAO,CAAC;IACd,MAAM,iFAAiF,CAAC;IAExF,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC;QACT,MAAM,OAAO,CAAC;QACd,MAAM,uHAAuH,CAAC;QAC9H,MAAM,MAAM,CAAC;QACb,MAAM,+GAA+G,CAAC;QACtH,MAAM,MAAM,CAAC;QACb,MAAM,kHAAkH,CAAC;QACzH,MAAM,4FAA4F,CAAC;QACnG,MAAM,MAAM,CAAC;QACb,MAAM,8CAA8C,CAAC;QACrD,MAAM,+CAA+C,CAAC;QACtD,MAAM,+DAA+D,CAAC;QACtE,MAAM,OAAO,CAAC;QACd,MAAM,mGAAmG,CAAC;IAC5G,CAAC;IAED,MAAM,GAAG,CAAC;IACV,MAAM,EAAE,CAAC;IAET,MAAM,yBAAyB,UAAU,GAAG,CAAC;IAE7C,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,UAAU,GAAG,CAAC;IAClE,CAAC;IAED,MAAM,4BAA4B,CAAC;IACnC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,UAAU,gBAAgB,CAAC;IACjF,CAAC;IACD,MAAM,WAAW,CAAC;IAClB,MAAM,MAAM,UAAU,IAAI,CAAC;IAE3B,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,CAAC,GAAG;QAC7D,mBAAmB;QACnB,kBAAkB;QAClB,iBAAiB;KAClB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAElB,6BAA6B;IAC7B,MAAM,WAAW,iBAAiB,6CAA6C,CAAC;IAChF,MAAM,oCAAoC,CAAC;IAC3C,MAAM,2DAA2D,CAAC;IAClE,MAAM,oCAAoC,CAAC;IAC3C,MAAM,OAAO,CAAC;IACd,MAAM,EAAE,CAAC;IACT,MAAM,WAAW,gBAAgB,0DAA0D,CAAC;IAC5F,MAAM,oCAAoC,CAAC;IAC3C,MAAM,iEAAiE,CAAC;IACxE,MAAM,kDAAkD,CAAC;IACzD,MAAM,OAAO,CAAC;IACd,MAAM,EAAE,CAAC;IACT,MAAM,WAAW,eAAe,kDAAkD,CAAC;IACnF,MAAM,oCAAoC,CAAC;IAC3C,MAAM,2DAA2D,CAAC;IAClE,MAAM,iDAAiD,CAAC;IACxD,MAAM,OAAO,CAAC;IACd,MAAM,EAAE,CAAC;IAET,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAElD,MAAM,WAAW,aAAa,iCAAiC,CAAC;IAChE,MAAM,EAAE,CAAC;IACT,MAAM,WAAW,aAAa,MAAM,CAAC;IAErC,mCAAmC;IACnC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,OAAO,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,8BAA8B,CAAC;QAC9F,MAAM,UAAU,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC,UAAU,GAAG,UAAU,IAAI,CAAC;QACpF,MAAM,SAAS,aAAa,GAAG,CAAC;QAChC,MAAM,UAAU,aAAa,CAAC,SAAS,IAAI,CAAC;QAC5C,MAAM,UAAU,aAAa,CAAC,SAAS,IAAI,CAAC;QAC5C,MAAM,mBAAmB,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,GAAG,CAAC;QAC/E,MAAM,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,eAAe,CAAC;IACtB,MAAM,EAAE,CAAC;IAET,mCAAmC;IACnC,MAAM,yCAAyC,UAAU,6EAA6E,CAAC;IACvI,MAAM,6EAA6E,CAAC;IACpF,MAAM,8BAA8B,CAAC;IACrC,MAAM,EAAE,CAAC;IAET,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzF,MAAM,EAAE,CAAC;IAET,MAAM,sDAAsD,CAAC;IAC7D,MAAM,OAAO,CAAC;IACd,MAAM,EAAE,CAAC;IAET,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAElD,MAAM,WAAW,aAAa,MAAM,CAAC;IACrC,MAAM,0BAA0B,iBAAiB,GAAG,CAAC;IACrD,MAAM,yBAAyB,gBAAgB,GAAG,CAAC;IACnD,MAAM,wBAAwB,eAAe,GAAG,CAAC;IACjD,MAAM,MAAM,CAAC;IAEb,MAAM,YAAY,CAAC;IACnB,MAAM,mCAAmC,CAAC;IAC1C,MAAM,yDAAyD,aAAa,KAAK,CAAC;IAClF,MAAM,8DAA8D,eAAe,YAAY,CAAC;IAChG,MAAM,QAAQ,CAAC;IAEf,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,6DAA6D,CAAC;QACpE,MAAM,yDAAyD,aAAa,KAAK,CAAC;QAClF,MAAM,sBAAsB,CAAC;QAC7B,MAAM,+CAA+C,CAAC;QACtD,MAAM,gBAAgB,aAAa,GAAG,CAAC;QACvC,MAAM,qDAAqD,CAAC;QAC5D,MAAM,aAAa,CAAC;QACpB,MAAM,kBAAkB,CAAC;QACzB,MAAM,kBAAkB,CAAC;QACzB,MAAM,wBAAwB,eAAe,YAAY,CAAC;QAC1D,MAAM,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,CAAC;IACZ,MAAM,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,QAAQ,CAAC,CAAC,gBAAgB,CACxB,GAAgB,EAChB,aAAqB,EACrB,SAAoB,EACpB,QAAmD,EACnD,MAAc;IAEd,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAEtE,MAAM,eAAe,GAAG,qCAAqC,CAAC;IAE9D,MAAM,0BAA0B,CAAC;IACjC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,YAAY;QACZ,MAAM,YAAY,eAAe,QAAQ,CAAC;IAC5C,CAAC;IACD,MAAM,GAAG,CAAC;IAEV,IAAI,aAAa,EAAE,CAAC;QAClB,YAAY;QACZ,MAAM,QAAQ,CAAC;QACf,MAAM,YAAY,eAAe,QAAQ,CAAC;QAC1C,MAAM,GAAG,CAAC;QACV,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,4BAA4B,WAAW,MAAM,CAAC;QACpD,MAAM,uBAAuB,IAAI,CAAC,MAAM,IAAI,CAAC;QAC7C,KAAK,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAChF,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;QAChD,MAAM,UAAU,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QAErC,MAAM,QAAQ,CAAC;QACf,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACpE,MAAM,OAAO,GAAG,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC;QAC1D,MAAM,SAAS,OAAO,uBAAuB,CAAC;QAC9C,MAAM,KAAK,OAAO,MAAM,OAAO,2BAA2B,OAAO,GAAG,CAAC;QACrE,MAAM,WAAW,SAAS,oBAAoB,OAAO,IAAI,CAAC;QAC1D,MAAM,uBAAuB,OAAO,IAAI,CAAC;QACzC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,WAAW,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC;YACrD,CAAC;QACH,CAAC;QACD,KAAK,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAEhF,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,0BAA0B,CAClC,GAAgB,EAChB,aAAqB,EACrB,UAA2C,EAC3C,QAAmD;IAEnD,MAAM,2BAA2B,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAE,CAAC;YACrD,MAAM,aAAa,GAAG,WAAW,CAC/B,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CACxE,CAAC;YAEF,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEzD,MAAM,UAAU,GACd,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxF,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;YACtD,MAAM,cAAc,aAAa,IAAI,aAAa,SAAS,iBAAiB,GAAG,UAAU,IAAI,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChF,MAAM,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;YACtD,KAAK,CAAC,CAAC,MAAM,CACX,MAAM,CACJ,kCAAkC,CAAC,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CACvF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,YAAY,CAAC;IACnB,MAAM,sDAAsD,CAAC;IAE7D,MAAM,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,kCAAkC,CAC1C,GAAgB,EAChB,aAAqB,EACrB,UAA4B,EAC5B,KAAa,EACb,QAAmD;IAEnD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEzD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,oBAAoB,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CACnE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,CAClF,EAAE,KAAK,CAAC,IAAI,CAAC;QAEd,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpE,MAAM,IAAI,kBAAkB,CAC1B,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE;gBAC5B,IAAI,EAAE,wBAAwB;gBAC9B,MAAM,EAAE,aAAa,CAAC,SAAS;aAChC,CAAC,CAAC;QACL,CAAC;QAED,gBAAgB,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAEjD,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAElD,MAAM,SAAS,eAAe,wEAAwE,CAAC;IAEvG,MAAM,WAAW,eAAe,KAAK,CAAC;IAEtC,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAE,CAAC;QACrD,MAAM,aAAa,GAAG,WAAW,CAC/B,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CACxE,CAAC;QAEF,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEzD,MAAM,UAAU,GACd,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAC7B,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACxF,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;QAEvE,MAAM,UAAU,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC;QACpD,MAAM,cAAc,aAAa,IAAI,aAAa,SAAS,iBAAiB,GAAG,UAAU,IAAI,CAAC;IAChG,CAAC;IAED,MAAM,YAAY,CAAC;IACnB,MAAM,sDAAsD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,8BAA8B,KAAK,8BAA8B,eAAe,QAAQ,CAAC;IAC1K,MAAM,GAAG,CAAC;AACZ,CAAC;AAmED;;GAEG;AACH,SAAS,eAAe,CAAC,GAAgB,EAAE,OAAoB;IAC7D,yDAAyD;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,SAAS;QACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAClD,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC;YACrE,QAAQ;SACA,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,iFAAiF;IAEjF,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEnC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,QAAQ,CACvC,IAAI,EACJ,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,KAAK,QAAQ,CAClD,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE3C,oCAAoC;IAEpC,KAAK,EAAE,KAAK,MAAM,YAAY,IAAI,OAAO,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAW,CAAC;QAEnD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAE3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;gBACpC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;gBACjD,SAAS,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACtC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CACjB;QACE,IAAI;QACJ,aAAa,CACX,MAAM,CAAC,GAAG,CAAC,SAAS,YAAY,CAAC,KAAK;YACpC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,QAAuC,CAAC;YAExE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,GAAG,KAAK;oBACR,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;iBACnD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH;KACO,CACb,CAAC;IAEF,IAAI,IAA0C,CAAC;IAE/C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,UAAU,GAAY,EAAE,CAAC;QAC/B,KAAK,MAAM,kBAAkB,IAAI,aAAa,EAAE,CAAC;YAC/C,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,kBAAkB,CAAC,QAG9C,CAAC;YAEF,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE3D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,EAAE,CAAC;YAChB,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,UAAU,EAAE,YAAY;QACxB,IAAI;QACJ,KAAK;KACN,CAAC;IAEF,SAAS,YAAY,CAAC,CAAS,EAAE,CAAS;QACxC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAgB,EAAE,SAAwB;IAClE,8EAA8E;IAC9E,8EAA8E;IAC9E,gFAAgF;IAChF,OAAO;IACP,EAAE;IACF,YAAY;IACZ,YAAY;IACZ,0BAA0B;IAC1B,sDAAsD;IACtD,kGAAkG;IAElG,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAC/C,CAAC,CAAC,EAAE,EAAE,CACJ;QACE,CAAC,CAAC,KAAK,CAAC,IAAI;QACZ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;KAChE,CACb,CACF,CAAC;IAEF,IAAI,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC;IAEvC,OAAO,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,8BAA8B;QAC9B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,iEAAiE;YACjE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjC,MAAM;QACR,CAAC;QAED,uDAAuD;QACvD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,8BAA8B;QAC9B,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAEvE,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,2FAA2F;YAC3F,mDAAmD;YACnD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAgB;aACvB,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,6BAA6B;QAC7B,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;QAEvF,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAE;SAC3C,CAAC,CAAC;QAEH,2BAA2B;QAC3B,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/http/server/router.ts"],"names":[],"mappings":"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"}
package/dist/src/lib.d.ts CHANGED
@@ -56,8 +56,11 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
56
56
  "unknown-encoding": {
57
57
  readonly default: import("@typespec/compiler").CallableMessage<["encoding", "target", "type"]>;
58
58
  };
59
+ "unrecognized-media-type": {
60
+ readonly default: import("@typespec/compiler").CallableMessage<["mediaType", "type"]>;
61
+ };
59
62
  }, JsEmitterOptions, never>;
60
- declare const reportDiagnostic: <C extends "unrecognized-intrinsic" | "unrecognized-scalar" | "unrecognized-encoding" | "http-emit-disabled" | "no-services-in-program" | "undifferentiable-route" | "undifferentiable-scalar" | "undifferentiable-model" | "unrepresentable-numeric-constant" | "undifferentiable-union-variant" | "unspeakable-status-code" | "name-conflict" | "dynamic-request-content-type" | "openapi3-document-not-generated" | "unknown-encoding", M extends keyof {
63
+ declare const reportDiagnostic: <C extends "unrecognized-intrinsic" | "unrecognized-scalar" | "unrecognized-encoding" | "http-emit-disabled" | "no-services-in-program" | "undifferentiable-route" | "undifferentiable-scalar" | "undifferentiable-model" | "unrepresentable-numeric-constant" | "undifferentiable-union-variant" | "unspeakable-status-code" | "name-conflict" | "dynamic-request-content-type" | "openapi3-document-not-generated" | "unknown-encoding" | "unrecognized-media-type", M extends keyof {
61
64
  "unrecognized-intrinsic": {
62
65
  readonly default: import("@typespec/compiler").CallableMessage<["intrinsic"]>;
63
66
  };
@@ -104,6 +107,9 @@ declare const reportDiagnostic: <C extends "unrecognized-intrinsic" | "unrecogni
104
107
  "unknown-encoding": {
105
108
  readonly default: import("@typespec/compiler").CallableMessage<["encoding", "target", "type"]>;
106
109
  };
110
+ "unrecognized-media-type": {
111
+ readonly default: import("@typespec/compiler").CallableMessage<["mediaType", "type"]>;
112
+ };
107
113
  }[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
108
114
  "unrecognized-intrinsic": {
109
115
  readonly default: import("@typespec/compiler").CallableMessage<["intrinsic"]>;
@@ -151,6 +157,9 @@ declare const reportDiagnostic: <C extends "unrecognized-intrinsic" | "unrecogni
151
157
  "unknown-encoding": {
152
158
  readonly default: import("@typespec/compiler").CallableMessage<["encoding", "target", "type"]>;
153
159
  };
160
+ "unrecognized-media-type": {
161
+ readonly default: import("@typespec/compiler").CallableMessage<["mediaType", "type"]>;
162
+ };
154
163
  }, C, M>) => void;
155
164
  export { reportDiagnostic };
156
165
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B;;uHAEmH;IACnH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;iGAC6F;IAC7F,wBAAwB,EAAE,OAAO,CAAC;IAClC,uFAAuF;IACvF,WAAW,EAAE,OAAO,CAAC;CACtB;AA6BD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA0Gf,CAAC;AAEH,QAAA,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAS,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B;;uHAEmH;IACnH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;iGAC6F;IAC7F,wBAAwB,EAAE,OAAO,CAAC;IAClC,uFAAuF;IACvF,WAAW,EAAE,OAAO,CAAC;CACtB;AA6BD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAgHf,CAAC;AAEH,QAAA,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAS,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
package/dist/src/lib.js CHANGED
@@ -125,6 +125,12 @@ export const $lib = createTypeSpecLibrary({
125
125
  default: paramMessage `Unknown encoding '${"encoding"}' to type '${"target"}' for type '${"type"}'.`,
126
126
  },
127
127
  },
128
+ "unrecognized-media-type": {
129
+ severity: "error",
130
+ messages: {
131
+ default: paramMessage `unrecognized media (MIME) type '${"mediaType"}' for type '${"type"}'.`,
132
+ },
133
+ },
128
134
  },
129
135
  });
130
136
  const { reportDiagnostic } = $lib;
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ export interface Switch {
67
67
  */
68
68
  export interface Verbatim {
69
69
  kind: "verbatim";
70
- body: Iterable<string>;
70
+ body: Iterable<string> | (() => Iterable<string>);
71
71
  }
72
72
  /**
73
73
  * A case in a switch statement.
@@ -206,6 +206,29 @@ export declare function differentiateTypes(ctx: JsContext, module: Module, cases
206
206
  * An integer range, inclusive.
207
207
  */
208
208
  type IntegerRange = [number, number];
209
+ /**
210
+ * Optional paramters for model differentiation.
211
+ */
212
+ interface DifferentiateModelOptions {
213
+ /**
214
+ * A function that converts a model property reference over the subject to a string.
215
+ *
216
+ * Default: `(prop) => prop.name`
217
+ */
218
+ renderPropertyName?: (prop: ModelProperty) => string;
219
+ /**
220
+ * A filter function that determines which properties to consider for differentiation.
221
+ *
222
+ * Default: `() => true`
223
+ */
224
+ filter?: (prop: ModelProperty) => boolean;
225
+ /**
226
+ * The default case to use if no other cases match.
227
+ *
228
+ * Default: undefined.
229
+ */
230
+ else?: CodeTree | undefined;
231
+ }
209
232
  /**
210
233
  * Differentiate a set of model types based on their properties. This function returns a CodeTree that will test an input
211
234
  * "subject" and determine which of the cases it matches, executing the corresponding code block.
@@ -215,7 +238,7 @@ type IntegerRange = [number, number];
215
238
  * @param renderPropertyName - A function that converts a model property reference over the subject to a string.
216
239
  * @returns a CodeTree to use with `writeCodeTree`
217
240
  */
218
- export declare function differentiateModelTypes(ctx: JsContext, module: Module, models: Set<Model>, renderPropertyName?: (prop: ModelProperty) => string): CodeTree;
241
+ export declare function differentiateModelTypes(ctx: JsContext, module: Module, models: Set<Model>, options?: DifferentiateModelOptions): CodeTree;
219
242
  /**
220
243
  * Options for the `writeCodeTree` function.
221
244
  */
@@ -1 +1 @@
1
- {"version":3,"file":"differentiate.d.ts","sourceRoot":"","sources":["../../../src/util/differentiate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"differentiate.d.ts","sourceRoot":"","sources":["../../../src/util/differentiate.ts"],"names":[],"mappings":"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"}
@@ -112,7 +112,7 @@ export function differentiateTypes(ctx, module, cases, renderPropertyName = PROP
112
112
  const scalars = categories.Scalar ?? [];
113
113
  const intrinsics = categories.Intrinsic ?? [];
114
114
  if (literals.length + scalars.length + intrinsics.length === 0) {
115
- return differentiateModelTypes(ctx, module, select(models, cases), renderPropertyName);
115
+ return differentiateModelTypes(ctx, module, select(models, cases), { renderPropertyName });
116
116
  }
117
117
  else {
118
118
  const branches = [];
@@ -226,7 +226,7 @@ export function differentiateTypes(ctx, module, cases, renderPropertyName = PROP
226
226
  kind: "if-chain",
227
227
  branches,
228
228
  else: models.length > 0
229
- ? differentiateModelTypes(ctx, module, select(models, cases), renderPropertyName)
229
+ ? differentiateModelTypes(ctx, module, select(models, cases), { renderPropertyName })
230
230
  : undefined,
231
231
  };
232
232
  }
@@ -288,18 +288,13 @@ function getIntegerRange(ctx, module, property) {
288
288
  function overlaps(range, other) {
289
289
  return range[0] <= other[1] && range[1] >= other[0];
290
290
  }
291
- /**
292
- * Differentiate a set of model types based on their properties. This function returns a CodeTree that will test an input
293
- * "subject" and determine which of the cases it matches, executing the corresponding code block.
294
- *
295
- * @param ctx - The emitter context.
296
- * @param models - A map of models to differentiate to their respective code blocks.
297
- * @param renderPropertyName - A function that converts a model property reference over the subject to a string.
298
- * @returns a CodeTree to use with `writeCodeTree`
299
- */
300
- export function differentiateModelTypes(ctx, module, models, renderPropertyName = PROPERTY_ID) {
301
- // Horrible n^2 operation to get the unique properties of all models in the map, but hopefully n is small, so it should
302
- // be okay until you have a lot of models to differentiate.
291
+ const DEFAULT_DIFFERENTIATE_OPTIONS = {
292
+ renderPropertyName: PROPERTY_ID,
293
+ filter: () => true,
294
+ else: undefined,
295
+ };
296
+ export function differentiateModelTypes(ctx, module, models, _options = {}) {
297
+ const options = { ...DEFAULT_DIFFERENTIATE_OPTIONS, ..._options };
303
298
  const uniqueProps = new Map();
304
299
  // Map of property names to maps of literal values that identify a model.
305
300
  const propertyLiterals = new Map();
@@ -309,14 +304,14 @@ export function differentiateModelTypes(ctx, module, models, renderPropertyName
309
304
  const uniqueRanges = new Map();
310
305
  for (const model of models) {
311
306
  const props = new Set();
312
- for (const prop of getAllProperties(model)) {
307
+ for (const prop of getAllProperties(model).filter(options.filter)) {
313
308
  // Don't consider optional properties for differentiation.
314
309
  if (prop.optional)
315
310
  continue;
316
311
  // Ignore properties that have no parseable name.
317
312
  if (isUnspeakable(prop.name))
318
313
  continue;
319
- const renderedPropName = renderPropertyName(prop);
314
+ const renderedPropName = options.renderPropertyName(prop);
320
315
  // CASE - literal value
321
316
  if (isLiteralValueType(prop.type)) {
322
317
  let literals = propertyLiterals.get(renderedPropName);
@@ -387,7 +382,7 @@ export function differentiateModelTypes(ctx, module, models, renderPropertyName
387
382
  uniqueProps.set(model, props);
388
383
  }
389
384
  const branches = [];
390
- let defaultCase = undefined;
385
+ let defaultCase = options.else;
391
386
  for (const [model, unique] of uniqueProps) {
392
387
  const literals = uniqueLiterals.get(model);
393
388
  const ranges = uniqueRanges.get(model);
@@ -397,28 +392,25 @@ export function differentiateModelTypes(ctx, module, models, renderPropertyName
397
392
  code: "undifferentiable-model",
398
393
  target: model,
399
394
  });
400
- return {
401
- kind: "result",
402
- type: defaultCase,
403
- };
395
+ return defaultCase;
404
396
  }
405
397
  else {
406
398
  // Allow a single default case. This covers more APIs that have a single model that is not differentiated by a
407
399
  // unique property, in which case we can make it the `else` case.
408
- defaultCase = model;
400
+ defaultCase = { kind: "result", type: model };
409
401
  continue;
410
402
  }
411
403
  }
412
404
  if (literals && literals.size > 0) {
413
405
  // A literal property value exists that can differentiate this model.
414
406
  const firstUniqueLiteral = literals.values().next().value;
415
- const property = [...model.properties.values()].find((p) => renderPropertyName(p) === firstUniqueLiteral);
407
+ const property = [...model.properties.values()].find((p) => options.renderPropertyName(p) === firstUniqueLiteral);
416
408
  branches.push({
417
409
  condition: {
418
410
  kind: "binary-op",
419
411
  left: {
420
412
  kind: "binary-op",
421
- left: { kind: "literal", value: renderPropertyName(property) },
413
+ left: { kind: "literal", value: options.renderPropertyName(property) },
422
414
  operator: "in",
423
415
  right: SUBJECT,
424
416
  },
@@ -439,14 +431,14 @@ export function differentiateModelTypes(ctx, module, models, renderPropertyName
439
431
  else if (ranges && ranges.size > 0) {
440
432
  // A range property value exists that can differentiate this model.
441
433
  const firstUniqueRange = ranges.values().next().value;
442
- const property = [...model.properties.values()].find((p) => renderPropertyName(p) === firstUniqueRange);
434
+ const property = [...model.properties.values()].find((p) => options.renderPropertyName(p) === firstUniqueRange);
443
435
  const range = [...propertyRanges.get(firstUniqueRange).entries()].find(([range, candidate]) => candidate === model)[0];
444
436
  branches.push({
445
437
  condition: {
446
438
  kind: "binary-op",
447
439
  left: {
448
440
  kind: "binary-op",
449
- left: { kind: "literal", value: renderPropertyName(property) },
441
+ left: { kind: "literal", value: options.renderPropertyName(property) },
450
442
  operator: "in",
451
443
  right: SUBJECT,
452
444
  },
@@ -476,12 +468,7 @@ export function differentiateModelTypes(ctx, module, models, renderPropertyName
476
468
  return {
477
469
  kind: "if-chain",
478
470
  branches,
479
- else: defaultCase
480
- ? {
481
- kind: "result",
482
- type: defaultCase,
483
- }
484
- : undefined,
471
+ else: defaultCase,
485
472
  };
486
473
  }
487
474
  /**
@@ -532,7 +519,12 @@ export function* writeCodeTree(ctx, tree, options) {
532
519
  break;
533
520
  }
534
521
  case "verbatim":
535
- yield* tree.body;
522
+ if (typeof tree.body === "function") {
523
+ yield* tree.body();
524
+ }
525
+ else {
526
+ yield* tree.body;
527
+ }
536
528
  break;
537
529
  default:
538
530
  throw new UnreachableError("writeCodeTree for " + tree.kind, {
@@ -1 +1 @@
1
- {"version":3,"file":"differentiate.js","sourceRoot":"","sources":["../../../src/util/differentiate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"differentiate.js","sourceRoot":"","sources":["../../../src/util/differentiate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/http-server-js",
3
- "version": "0.58.0-alpha.13-dev.2",
3
+ "version": "0.58.0-alpha.13-dev.4",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec HTTP server code generator for JavaScript",
6
6
  "homepage": "https://github.com/microsoft/typespec",
@@ -21,7 +21,8 @@ export function* emitEnum(ctx: JsContext, enum_: Enum): Iterable<string> {
21
21
 
22
22
  for (const member of enum_.members.values()) {
23
23
  const nameCase = parseCase(member.name);
24
- yield ` ${nameCase.pascalCase} = ${JSON.stringify(member.value)},`;
24
+ const value = member.value ?? member.name;
25
+ yield ` ${nameCase.pascalCase} = ${JSON.stringify(value)},`;
25
26
  }
26
27
 
27
28
  yield `}`;
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation
2
2
  // Licensed under the MIT license.
3
3
 
4
- import { Model, NoTarget, Scalar, Type, Union } from "@typespec/compiler";
4
+ import { Enum, Model, NoTarget, Scalar, Type, Union } from "@typespec/compiler";
5
5
  import { $ } from "@typespec/compiler/experimental/typekit";
6
6
  import { JsContext, Module, completePendingDeclarations } from "../../ctx.js";
7
7
  import { UnimplementedError } from "../../util/error.js";
@@ -10,10 +10,16 @@ import { createOrGetModuleForNamespace } from "../namespace.js";
10
10
  import { emitTypeReference } from "../reference.js";
11
11
  import { emitJsonSerialization, requiresJsonSerialization } from "./json.js";
12
12
 
13
- export type SerializableType = Model | Scalar | Union;
13
+ export type SerializableType = Model | Scalar | Union | Enum;
14
14
 
15
15
  export function isSerializableType(t: Type): t is SerializableType {
16
- return t.kind === "Model" || t.kind === "Scalar" || t.kind === "Union" || t.kind === "Intrinsic";
16
+ return (
17
+ t.kind === "Model" ||
18
+ t.kind === "Scalar" ||
19
+ t.kind === "Union" ||
20
+ t.kind === "Intrinsic" ||
21
+ t.kind === "Enum"
22
+ );
17
23
  }
18
24
 
19
25
  export type SerializationContentType = "application/json";
@@ -28,7 +28,12 @@ import { keywordSafe } from "../../util/keywords.js";
28
28
  import { getFullyQualifiedTypeName } from "../../util/name.js";
29
29
  import { emitTypeReference, escapeUnsafeChars } from "../reference.js";
30
30
  import { Encoder, JS_SCALAR_UNKNOWN, JsScalar, getJsScalar } from "../scalar.js";
31
- import { SerializableType, SerializationContext, requireSerialization } from "./index.js";
31
+ import {
32
+ SerializableType,
33
+ SerializationContext,
34
+ isSerializableType,
35
+ requireSerialization,
36
+ } from "./index.js";
32
37
 
33
38
  /**
34
39
  * Memoization cache for requiresJsonSerialization.
@@ -84,6 +89,8 @@ export function requiresJsonSerialization(
84
89
  case "ModelProperty":
85
90
  requiresSerialization = requiresJsonSerialization(ctx, module, type.type);
86
91
  break;
92
+ case "Enum":
93
+ requiresSerialization = false;
87
94
  }
88
95
 
89
96
  _REQUIRES_JSON_SERIALIZATION.set(type, requiresSerialization);
@@ -114,12 +121,7 @@ function isHttpMetadata(ctx: JsContext, property: ModelProperty): boolean {
114
121
  }
115
122
 
116
123
  function isSerializable(type: Type): type is SerializableType | ModelProperty {
117
- return (
118
- type.kind === "Model" ||
119
- type.kind === "Scalar" ||
120
- type.kind === "Union" ||
121
- type.kind === "ModelProperty"
122
- );
124
+ return type.kind === "ModelProperty" || isSerializableType(type);
123
125
  }
124
126
 
125
127
  export function* emitJsonSerialization(
@@ -211,6 +213,14 @@ function* emitToJson(
211
213
 
212
214
  return;
213
215
  }
216
+ case "Enum": {
217
+ yield `return input;`;
218
+ return;
219
+ }
220
+ default: {
221
+ void (type satisfies never);
222
+ throw new UnimplementedError(`emitToJson: ${(type as Type).kind}`);
223
+ }
214
224
  }
215
225
  }
216
226
 
@@ -300,7 +310,6 @@ function transposeExpressionToJson(
300
310
  case "Boolean":
301
311
  return literalToExpr(type);
302
312
  case "Interface":
303
- case "Enum":
304
313
  case "EnumMember":
305
314
  case "TemplateParameter":
306
315
  case "Namespace":
@@ -444,6 +453,14 @@ function* emitFromJson(
444
453
 
445
454
  return;
446
455
  }
456
+ case "Enum": {
457
+ yield `return input;`;
458
+ return;
459
+ }
460
+ default: {
461
+ void (type satisfies never);
462
+ throw new UnimplementedError(`emitFromJson: ${(type as Type).kind}`);
463
+ }
447
464
  }
448
465
  }
449
466