@ebarahona/loopback-transport-core 1.0.0 → 1.2.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 (105) hide show
  1. package/README.md +472 -35
  2. package/dist/client/client-proxy.d.ts +73 -42
  3. package/dist/client/client-proxy.js +71 -42
  4. package/dist/client/client-proxy.js.map +1 -1
  5. package/dist/client/index.d.ts +1 -1
  6. package/dist/client/index.js +3 -15
  7. package/dist/client/index.js.map +1 -1
  8. package/dist/context/execution-context.d.ts +58 -11
  9. package/dist/context/execution-context.js +62 -17
  10. package/dist/context/execution-context.js.map +1 -1
  11. package/dist/context/index.d.ts +2 -1
  12. package/dist/context/index.js +3 -15
  13. package/dist/context/index.js.map +1 -1
  14. package/dist/decorators/constants.d.ts +20 -10
  15. package/dist/decorators/constants.js +6 -2
  16. package/dist/decorators/constants.js.map +1 -1
  17. package/dist/decorators/event-handler.decorator.d.ts +10 -7
  18. package/dist/decorators/event-handler.decorator.js +18 -13
  19. package/dist/decorators/event-handler.decorator.js.map +1 -1
  20. package/dist/decorators/index.d.ts +5 -4
  21. package/dist/decorators/index.js +11 -18
  22. package/dist/decorators/index.js.map +1 -1
  23. package/dist/decorators/message-handler.decorator.d.ts +8 -5
  24. package/dist/decorators/message-handler.decorator.js +16 -11
  25. package/dist/decorators/message-handler.decorator.js.map +1 -1
  26. package/dist/decorators/payload.decorator.d.ts +16 -7
  27. package/dist/decorators/payload.decorator.js +16 -8
  28. package/dist/decorators/payload.decorator.js.map +1 -1
  29. package/dist/discovery/discovery.service.d.ts +143 -0
  30. package/dist/discovery/discovery.service.js +165 -0
  31. package/dist/discovery/discovery.service.js.map +1 -0
  32. package/dist/discovery/event-handler-discoverer.d.ts +19 -0
  33. package/dist/discovery/event-handler-discoverer.js +50 -0
  34. package/dist/discovery/event-handler-discoverer.js.map +1 -0
  35. package/dist/discovery/handler-discoverer.d.ts +48 -0
  36. package/dist/discovery/handler-discoverer.js +3 -0
  37. package/dist/discovery/handler-discoverer.js.map +1 -0
  38. package/dist/discovery/handler-kind.d.ts +23 -0
  39. package/dist/discovery/handler-kind.js +14 -0
  40. package/dist/discovery/handler-kind.js.map +1 -0
  41. package/dist/discovery/index.d.ts +7 -0
  42. package/dist/discovery/index.js +13 -0
  43. package/dist/discovery/index.js.map +1 -0
  44. package/dist/discovery/message-handler-discoverer.d.ts +19 -0
  45. package/dist/discovery/message-handler-discoverer.js +50 -0
  46. package/dist/discovery/message-handler-discoverer.js.map +1 -0
  47. package/dist/discovery/registered-handler.d.ts +35 -0
  48. package/dist/discovery/registered-handler.js +3 -0
  49. package/dist/discovery/registered-handler.js.map +1 -0
  50. package/dist/helpers/errors.d.ts +61 -0
  51. package/dist/helpers/errors.js +80 -0
  52. package/dist/helpers/errors.js.map +1 -0
  53. package/dist/helpers/index.d.ts +2 -0
  54. package/dist/helpers/index.js +14 -0
  55. package/dist/helpers/index.js.map +1 -0
  56. package/dist/helpers/register-server.d.ts +44 -0
  57. package/dist/helpers/register-server.js +72 -0
  58. package/dist/helpers/register-server.js.map +1 -0
  59. package/dist/index.d.ts +15 -7
  60. package/dist/index.js +33 -9
  61. package/dist/index.js.map +1 -1
  62. package/dist/interfaces/index.d.ts +4 -4
  63. package/dist/interfaces/index.js +0 -18
  64. package/dist/interfaces/index.js.map +1 -1
  65. package/dist/interfaces/message-handler.interface.d.ts +12 -6
  66. package/dist/interfaces/packet.interface.d.ts +20 -2
  67. package/dist/interfaces/transport-client.interface.d.ts +25 -13
  68. package/dist/interfaces/transport-server.interface.d.ts +36 -10
  69. package/dist/keys.d.ts +143 -46
  70. package/dist/keys.js +142 -68
  71. package/dist/keys.js.map +1 -1
  72. package/dist/registry/handler-registry.d.ts +94 -24
  73. package/dist/registry/handler-registry.js +279 -89
  74. package/dist/registry/handler-registry.js.map +1 -1
  75. package/dist/registry/index.d.ts +1 -1
  76. package/dist/registry/index.js +3 -15
  77. package/dist/registry/index.js.map +1 -1
  78. package/dist/serializers/cloudevents-serializer.d.ts +107 -0
  79. package/dist/serializers/cloudevents-serializer.js +130 -0
  80. package/dist/serializers/cloudevents-serializer.js.map +1 -0
  81. package/dist/serializers/index.d.ts +4 -1
  82. package/dist/serializers/index.js +7 -15
  83. package/dist/serializers/index.js.map +1 -1
  84. package/dist/serializers/serializer.interface.d.ts +49 -16
  85. package/dist/serializers/serializer.interface.js +41 -15
  86. package/dist/serializers/serializer.interface.js.map +1 -1
  87. package/dist/server/index.d.ts +2 -1
  88. package/dist/server/index.js +3 -15
  89. package/dist/server/index.js.map +1 -1
  90. package/dist/server/server-base.d.ts +125 -52
  91. package/dist/server/server-base.js +168 -57
  92. package/dist/server/server-base.js.map +1 -1
  93. package/dist/transport.component.d.ts +21 -8
  94. package/dist/transport.component.js +41 -18
  95. package/dist/transport.component.js.map +1 -1
  96. package/dist/transport.observer.d.ts +91 -0
  97. package/dist/transport.observer.js +297 -0
  98. package/dist/transport.observer.js.map +1 -0
  99. package/dist/utils/normalize-pattern.d.ts +11 -6
  100. package/dist/utils/normalize-pattern.js +18 -13
  101. package/dist/utils/normalize-pattern.js.map +1 -1
  102. package/package.json +58 -16
  103. package/dist/transport-booter.d.ts +0 -31
  104. package/dist/transport-booter.js +0 -117
  105. package/dist/transport-booter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"handler-registry.js","sourceRoot":"","sources":["../../src/registry/handler-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-registry.js","sourceRoot":"","sources":["../../src/registry/handler-registry.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAOwB;AACxB,mCAAkC;AAClC,kDAAiC;AACjC,+BAA8C;AAM9C,4CAAgD;AAEhD,8CAAuD;AAEvD,kCAKiB;AACjB,oCAA0C;AAE1C,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,6BAA6B,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,aAAa,GAAG,IAAI,CAAC;AAoC3B;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B;;;;OAIG;IACc,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IACtD,UAAU,GAAG,KAAK,CAAC;IAE3B;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAgB;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,6BAAsB,CAAC,CAAC;QACjE,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAoB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvD,KAAK,CACH,6CAA6C,EAC7C,kBAAkB,CAAC,MAAM,EACzB,WAAW,CAAC,MAAM,CACnB,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEtD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;YACjD,IAAI,CAAC,eAAe;gBAAE,SAAS;YAE/B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;YAC/B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACjC,mBAAmB,CAAC,GAAG,CACrB,UAAU,CAAC,EAAE,EACb,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAC7D,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,kBAAkB,CACrB,IAAI,EACJ,eAAe,EACf,UAAU,EACV,GAAG,EACH,UAAU,CAAC,EAAE,CACd,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAC9C,KAAK,CAAC,yCAAyC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,wCAAwC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,aAAa,CAAC,GAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,6BAAoB,CAC5B,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,2BAAoB,CAAC,CAAC;QAE3D,oEAAoE;QACpE,sDAAsD;QACtD,gDAAgD;QAChD,2DAA2D;QAC3D,4DAA4D;QAC5D,mDAAmD;QACnD,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC;YAClD,aAAa,GAAG,MAAM,GAAG,CAAC,GAAG,CAAU,wBAAiB,CAAC,cAAc,CAAC,CAAC;QAC3E,CAAC;QAED,mEAAmE;QACnE,mEAAmE;QACnE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACtD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,yBAAkB,CAAC,CAAC;YACvD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,KAAK,CACH,qLAAqL,EACrL,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAC1B,CAAC;gBACF,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,yEAAyE;QACzE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,6BAAoB,CAC5B,6BAA6B,IAAI,8BAA8B;oBAC7D,uCAAuC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBAC3D,yCAAyC,CAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAAE,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;YACxE,KAAK,CACH,6FAA6F,EAC7F,YAAY,CACb,CAAC;QACJ,CAAC;QAED,oDAAoD;QACpD,sEAAsE;QACtE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAQ/B,CAAC;QACJ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG;oBAAE,SAAS;gBACvE,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACnD,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC;oBACR,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI;oBAC1C,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,OAAO,EAAE,IAAA,wBAAgB,EAAC,KAAK,CAAC,OAAO,CAAC;oBACxC,YAAY,EAAE,KAAK,CAAC,YAAY;iBACjC,CAAC,CAAC;gBACH,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,SAAS,GACb,eAAe,CAAC,IAAI,KAAK,CAAC;gBACxB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBAC9C,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,WAAW,CAAC,IAAI,CACd,SAAS,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,UAAU,gBAAgB,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,YAAY,IAAI,CACvG,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GACX,4CAA4C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBACxE,uBAAuB,SAAS,IAAI;gBACpC,yBAAyB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAEpD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAI,6BAAoB,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBAC9C,MAAM,mBAAmB,GAAG,IAAI;qBAC7B,GAAG,CACF,CAAC,CAAC,EAAE,CACF,SAAS,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,UAAU,gBAAgB,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,YAAY,IAAI,CACzG;qBACA,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,KAAK,CACH,4GAA4G,EAC5G,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,SAAS,EACT,mBAAmB,CACpB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,yBAAkB,CAAC,CAAC;YACvD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,+DAA+D;gBAC/D,iEAAiE;gBACjE,SAAS;YACX,CAAC;YACD,MAAM,aAAa,GAAW,GAAG,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAkB,aAAa,CAAC,GAAG,CAAC,CAAC;YAEjE,oCAAoC;YACpC,2CAA2C;YAC3C,yEAAyE;YACzE,6DAA6D;YAC7D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;YAE/C,0CAA0C;YAC1C,KAAK,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;oBACjE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBACjD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;wBAC/B,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC5C,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,8BAAkB,EAAE,CAAC;wBACtC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC;oBACD,KAAK,CACH,iDAAiD,EACjD,OAAO,EACP,aAAa,CACd,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,+DAA+D;YAC/D,oDAAoD;YACpD,KAAK,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBACjD,IACE,KAAK,CAAC,IAAI,KAAK,8BAAkB;wBACjC,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAClC,CAAC;wBACD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;4BAC/B,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC5C,CAAC;wBACD,KAAK,CACH,iDAAiD,EACjD,OAAO,EACP,aAAa,CACd,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,WAAW;QACT,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqC,CAAC;QAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CACN,GAAG,EACH,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAC5B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,0GAA0G;IAC1G,WAAW;QACT,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAEO,CAAC,cAAc;QACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,QAAQ,CACd,SAA6B,EAC7B,OAAyC;QAEzC,OAAO,GAAG,SAAS,IAAI,GAAG,GAAG,aAAa,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAW;QAChC,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAClD,OAAO,cAAc,IAAI,CAAC;YACxB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC;YAClD,CAAC,CAAC,GAAG,CAAC;IACV,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CACxB,UAA6B,EAC7B,eAAqC,EACrC,oBAA4B,EAC5B,GAAgB,EAChB,YAAoB;QAEpB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,KAAK,8BAAkB,CAAC;QACvD,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC;QAC1C,MAAM,eAAe,GAAG,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,IAAA,wBAAgB,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpC,kDAAkD;QAClD,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,IAAI,6BAAoB,CAC5B,yCAAyC,YAAY,mBAAmB,YAAY,KAAK;gBACvF,kBAAkB,aAAa,CAAC,IAAI,SAAS;gBAC7C,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,IAAI,aAAa,CAAC,UAAU,GAAG;gBACpE,gBAAgB,aAAa,CAAC,YAAY,oBAAoB;gBAC9D,aAAa,UAAU,CAAC,IAAI,SAAS;gBACrC,GAAG,eAAe,CAAC,IAAI,IAAI,UAAU,CAAC,UAAU,GAAG;gBACnD,gBAAgB,YAAY,KAAK,CACpC,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,IAAI,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,6BAAoB,CAC5B,0CAA0C,YAAY,mBAAmB,YAAY,KAAK;gBACxF,8BAA8B;gBAC9B,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,IAAI,aAAa,CAAC,UAAU,GAAG;gBACpE,8BAA8B,aAAa,CAAC,YAAY,IAAI,CAC/D,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAmB,IAAI,CAAC,aAAa,CAChD,oBAAoB,EACpB,UAAU,CAAC,UAAU,EACrB,GAAG,CACJ,CAAC;QACF,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC;QACjC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC;QACtC,CAAC;QACD,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7C,CAAC;QAED,MAAM,KAAK,GAAkB;YAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,SAAS,EAAE,YAAY;YACvB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,eAAe;YACf,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,YAAY;YACZ,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;gBAClC,CAAC,CAAC,EAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAC;gBAC/B,CAAC,CAAC,EAAE,CAAC;YACP,OAAO;SACR,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,YAAY,SAAS,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,aAAa,IAAI,aAAa,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvE,KAAK,CACH,iFAAiF,EACjF,YAAY,EACZ,YAAY,EACZ,aAAa,CAAC,YAAY,EAC1B,KAAK,CAAC,YAAY,CACnB,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,CACH,0BAA0B,EAC1B,cAAc,EACd,YAAY,EACZ,eAAe,CAAC,IAAI,EACpB,UAAU,CAAC,UAAU,CACtB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,KAAK,CACH,6BAA6B,EAC7B,cAAc,EACd,IAAA,wBAAgB,EAAC,UAAU,CAAC,OAAO,CAAC,EACpC,eAAe,CAAC,IAAI,EACpB,UAAU,CAAC,UAAU,CACtB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,aAAa,CACnB,oBAA4B,EAC5B,UAAkB,EAClB,GAAgB;QAEhB,MAAM,OAAO,GAAmB,KAAK,EACnC,IAAa,EACb,OAAiB,EACjB,EAAE;YACF,MAAM,aAAa,GAAG,IAAI,cAAO,CAC/B,GAAG,EACH,wBAAwB,IAAA,mBAAU,GAAE,EAAE,CACvC,CAAC;YAEF,+DAA+D;YAC/D,4DAA4D;YAC5D,eAAe;YACf,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,IAAI,CAAC;oBACd,aAAa,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC;gBACH,aAAa,CAAC,IAAI,CAAC,wBAAiB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC/D,aAAa,CAAC,IAAI,CAAC,wBAAiB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAElE,MAAM,UAAU,GACd,MAAM,aAAa,CAAC,GAAG,CAAqB,oBAAoB,CAAC,CAAC;gBAEpE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;gBACtC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,IAAI,6BAAoB,CAC5B,6BAA6B,UAAU,8BAA8B,oBAAoB,GAAG,CAC7F,CAAC;gBACJ,CAAC;gBAED,6DAA6D;gBAC7D,gEAAgE;gBAChE,wBAAwB;gBACxB,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAY,EAC/B,UAAU,EACV,UAAU,EACV,aAAa,EACb,CAAC,IAAI,EAAE,OAAO,CAAC,CAChB,CAAC;gBAEF,wEAAwE;gBACxE,IAAI,IAAA,mBAAY,EAAC,MAAM,CAAC,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,MAA6B,CAAC;oBAC1C,OAAO,IAAI,iBAAU,CAAC,UAAU,CAAC,EAAE;wBACjC,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC;4BACjC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;4BACrC,KAAK,EAAE,GAAG,CAAC,EAAE;gCACX,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCACtB,OAAO,EAAE,CAAC;4BACZ,CAAC;4BACD,QAAQ,EAAE,GAAG,EAAE;gCACb,UAAU,CAAC,QAAQ,EAAE,CAAC;gCACtB,OAAO,EAAE,CAAC;4BACZ,CAAC;yBACF,CAAC,CAAC;wBACH,OAAO,GAAG,EAAE;4BACV,YAAY,CAAC,WAAW,EAAE,CAAC;4BAC3B,OAAO,EAAE,CAAC;wBACZ,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,yDAAyD;gBACzD,OAAO,EAAE,CAAC;gBACV,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;gBACV,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AA/hBY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,iBAAU,EAAC,EAAC,KAAK,EAAE,mBAAY,CAAC,SAAS,EAAC,CAAC;GAC/B,eAAe,CA+hB3B"}
@@ -1 +1 @@
1
- export * from './handler-registry';
1
+ export { HandlerRegistry } from './handler-registry';
@@ -1,18 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./handler-registry"), exports);
3
+ exports.HandlerRegistry = void 0;
4
+ var handler_registry_1 = require("./handler-registry");
5
+ Object.defineProperty(exports, "HandlerRegistry", { enumerable: true, get: function () { return handler_registry_1.HandlerRegistry; } });
18
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AAA3C,mHAAA,eAAe,OAAA"}
@@ -0,0 +1,107 @@
1
+ import type { Deserializer, Serializer, TransportPacket } from './serializer.interface';
2
+ /**
3
+ * Options for {@link CloudEventsSerializer} / {@link CloudEventsDeserializer}.
4
+ *
5
+ * @experimental
6
+ */
7
+ export interface CloudEventsSerializerOptions {
8
+ /**
9
+ * The event source URI (RFC 3986). Required.
10
+ *
11
+ * @example `/orders`
12
+ * @example `urn:example:com:orders`
13
+ */
14
+ source: string;
15
+ /**
16
+ * The CloudEvents `type` attribute prefix. The packet's pattern is
17
+ * appended, separated by a dot.
18
+ *
19
+ * @example `com.example.order` with pattern `placed` becomes
20
+ * `com.example.order.placed`.
21
+ */
22
+ typePrefix: string;
23
+ /**
24
+ * Encoding mode. `binary` puts the CloudEvents attributes in transport
25
+ * headers (suitable for Kafka, AMQP, HTTP binary content mode);
26
+ * `structured` embeds the attributes in the JSON payload itself
27
+ * (broker-agnostic, the default).
28
+ *
29
+ * @defaultValue `structured`
30
+ */
31
+ mode?: 'binary' | 'structured';
32
+ /**
33
+ * Optional generator for the CloudEvents `id` attribute.
34
+ *
35
+ * @defaultValue `crypto.randomUUID()`
36
+ */
37
+ idGenerator?: () => string;
38
+ /**
39
+ * Optional generator for the CloudEvents `time` attribute.
40
+ *
41
+ * @defaultValue `new Date().toISOString()`
42
+ */
43
+ timeGenerator?: () => string;
44
+ }
45
+ /**
46
+ * Serializes a {@link TransportPacket} into a CloudEvents 1.0 envelope
47
+ * encoded as a JSON `Buffer`.
48
+ *
49
+ * The packet's `pattern` becomes `${typePrefix}.${pattern}` in the
50
+ * CloudEvents `type` attribute. The packet's `correlationId` (if
51
+ * present) becomes the CloudEvents `id`; otherwise a UUID is generated.
52
+ *
53
+ * Structured mode (default) embeds attributes in the JSON payload and
54
+ * is broker-agnostic. Binary mode places attributes in transport
55
+ * headers and keeps the payload clean; over a Buffer-only wire the
56
+ * `{headers, body}` envelope is JSON-encoded so the inverse
57
+ * deserializer can recover the attributes.
58
+ *
59
+ * Underlying SDK errors are wrapped in {@link
60
+ * TransportSerializationError} via `cause`.
61
+ *
62
+ * @experimental
63
+ */
64
+ export declare class CloudEventsSerializer implements Serializer<TransportPacket, Buffer> {
65
+ private readonly options;
66
+ private readonly mode;
67
+ private readonly idGenerator;
68
+ private readonly timeGenerator;
69
+ constructor(options: CloudEventsSerializerOptions);
70
+ /**
71
+ * Encode a {@link TransportPacket} as a CloudEvents 1.0 JSON envelope.
72
+ *
73
+ * @param packet - The transport packet to encode.
74
+ * @returns The serialized envelope as a UTF-8 `Buffer`.
75
+ * @throws {@link TransportSerializationError} When the CloudEvents
76
+ * SDK rejects the event (invalid attributes, non-serializable
77
+ * payload, etc.). The original error is attached via `cause`.
78
+ */
79
+ serialize(packet: TransportPacket): Buffer;
80
+ }
81
+ /**
82
+ * Deserializes a CloudEvents 1.0 JSON envelope (as produced by
83
+ * {@link CloudEventsSerializer}) back into a {@link TransportPacket}.
84
+ *
85
+ * Supports both `binary` and `structured` encodings — the mode is
86
+ * detected from the envelope's content-type header by the CloudEvents
87
+ * SDK. The CloudEvent `type` attribute is restored as the packet's
88
+ * `pattern` and the CloudEvent `id` becomes the packet's
89
+ * `correlationId`.
90
+ *
91
+ * Underlying SDK errors are wrapped in {@link
92
+ * TransportSerializationError} via `cause`.
93
+ *
94
+ * @experimental
95
+ */
96
+ export declare class CloudEventsDeserializer implements Deserializer<Buffer, TransportPacket> {
97
+ /**
98
+ * Decode a CloudEvents 1.0 JSON envelope.
99
+ *
100
+ * @param buf - The wire-format envelope.
101
+ * @returns The decoded {@link TransportPacket}.
102
+ * @throws {@link TransportSerializationError} When the envelope is
103
+ * malformed, not a CloudEvent, or fails schema validation. The
104
+ * original error is attached via `cause`.
105
+ */
106
+ deserialize(buf: Buffer): TransportPacket;
107
+ }
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CloudEventsDeserializer = exports.CloudEventsSerializer = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const cloudevents_1 = require("cloudevents");
6
+ const errors_1 = require("../helpers/errors");
7
+ const utils_1 = require("../utils");
8
+ function patternToString(pattern) {
9
+ return typeof pattern === 'string' ? pattern : (0, utils_1.normalizePattern)(pattern);
10
+ }
11
+ /**
12
+ * Serializes a {@link TransportPacket} into a CloudEvents 1.0 envelope
13
+ * encoded as a JSON `Buffer`.
14
+ *
15
+ * The packet's `pattern` becomes `${typePrefix}.${pattern}` in the
16
+ * CloudEvents `type` attribute. The packet's `correlationId` (if
17
+ * present) becomes the CloudEvents `id`; otherwise a UUID is generated.
18
+ *
19
+ * Structured mode (default) embeds attributes in the JSON payload and
20
+ * is broker-agnostic. Binary mode places attributes in transport
21
+ * headers and keeps the payload clean; over a Buffer-only wire the
22
+ * `{headers, body}` envelope is JSON-encoded so the inverse
23
+ * deserializer can recover the attributes.
24
+ *
25
+ * Underlying SDK errors are wrapped in {@link
26
+ * TransportSerializationError} via `cause`.
27
+ *
28
+ * @experimental
29
+ */
30
+ class CloudEventsSerializer {
31
+ options;
32
+ mode;
33
+ idGenerator;
34
+ timeGenerator;
35
+ constructor(options) {
36
+ this.options = options;
37
+ this.mode = options.mode ?? 'structured';
38
+ this.idGenerator = options.idGenerator ?? (() => (0, crypto_1.randomUUID)());
39
+ this.timeGenerator =
40
+ options.timeGenerator ?? (() => new Date().toISOString());
41
+ }
42
+ /**
43
+ * Encode a {@link TransportPacket} as a CloudEvents 1.0 JSON envelope.
44
+ *
45
+ * @param packet - The transport packet to encode.
46
+ * @returns The serialized envelope as a UTF-8 `Buffer`.
47
+ * @throws {@link TransportSerializationError} When the CloudEvents
48
+ * SDK rejects the event (invalid attributes, non-serializable
49
+ * payload, etc.). The original error is attached via `cause`.
50
+ */
51
+ serialize(packet) {
52
+ try {
53
+ const event = new cloudevents_1.CloudEvent({
54
+ id: packet.correlationId ?? this.idGenerator(),
55
+ type: `${this.options.typePrefix}.${patternToString(packet.pattern)}`,
56
+ source: this.options.source,
57
+ time: this.timeGenerator(),
58
+ data: packet.data,
59
+ });
60
+ const message = this.mode === 'binary' ? cloudevents_1.HTTP.binary(event) : cloudevents_1.HTTP.structured(event);
61
+ const envelope = {
62
+ headers: message.headers,
63
+ body: typeof message.body === 'string'
64
+ ? message.body
65
+ : Buffer.isBuffer(message.body)
66
+ ? message.body.toString('utf-8')
67
+ : message.body,
68
+ };
69
+ return Buffer.from(JSON.stringify(envelope), 'utf-8');
70
+ }
71
+ catch (err) {
72
+ throw new errors_1.TransportSerializationError(`Failed to serialize CloudEvent: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
73
+ }
74
+ }
75
+ }
76
+ exports.CloudEventsSerializer = CloudEventsSerializer;
77
+ /**
78
+ * Deserializes a CloudEvents 1.0 JSON envelope (as produced by
79
+ * {@link CloudEventsSerializer}) back into a {@link TransportPacket}.
80
+ *
81
+ * Supports both `binary` and `structured` encodings — the mode is
82
+ * detected from the envelope's content-type header by the CloudEvents
83
+ * SDK. The CloudEvent `type` attribute is restored as the packet's
84
+ * `pattern` and the CloudEvent `id` becomes the packet's
85
+ * `correlationId`.
86
+ *
87
+ * Underlying SDK errors are wrapped in {@link
88
+ * TransportSerializationError} via `cause`.
89
+ *
90
+ * @experimental
91
+ */
92
+ class CloudEventsDeserializer {
93
+ /**
94
+ * Decode a CloudEvents 1.0 JSON envelope.
95
+ *
96
+ * @param buf - The wire-format envelope.
97
+ * @returns The decoded {@link TransportPacket}.
98
+ * @throws {@link TransportSerializationError} When the envelope is
99
+ * malformed, not a CloudEvent, or fails schema validation. The
100
+ * original error is attached via `cause`.
101
+ */
102
+ deserialize(buf) {
103
+ try {
104
+ const envelope = JSON.parse(buf.toString('utf-8'));
105
+ if (envelope === null ||
106
+ typeof envelope !== 'object' ||
107
+ typeof envelope.headers !== 'object' ||
108
+ envelope.headers === null) {
109
+ throw new Error('envelope must be a {headers, body} object');
110
+ }
111
+ const event = cloudevents_1.HTTP.toEvent(envelope);
112
+ // toEvent returns CloudEventV1<unknown> | CloudEventV1<unknown>[].
113
+ // Batch mode is not produced by this serializer; reject it
114
+ // rather than silently dropping all but the first event.
115
+ if (Array.isArray(event)) {
116
+ throw new Error('batch CloudEvents are not supported');
117
+ }
118
+ return {
119
+ pattern: event.type,
120
+ data: event.data,
121
+ correlationId: event.id,
122
+ };
123
+ }
124
+ catch (err) {
125
+ throw new errors_1.TransportSerializationError(`Failed to deserialize CloudEvent: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
126
+ }
127
+ }
128
+ }
129
+ exports.CloudEventsDeserializer = CloudEventsDeserializer;
130
+ //# sourceMappingURL=cloudevents-serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudevents-serializer.js","sourceRoot":"","sources":["../../src/serializers/cloudevents-serializer.ts"],"names":[],"mappings":"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"}
@@ -1 +1,4 @@
1
- export * from './serializer.interface';
1
+ export { JsonSerializer, JsonDeserializer } from './serializer.interface';
2
+ export type { Deserializer, Serializer, TransportPacket, } from './serializer.interface';
3
+ export { CloudEventsSerializer, CloudEventsDeserializer, } from './cloudevents-serializer';
4
+ export type { CloudEventsSerializerOptions } from './cloudevents-serializer';
@@ -1,18 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./serializer.interface"), exports);
3
+ exports.CloudEventsDeserializer = exports.CloudEventsSerializer = exports.JsonDeserializer = exports.JsonSerializer = void 0;
4
+ var serializer_interface_1 = require("./serializer.interface");
5
+ Object.defineProperty(exports, "JsonSerializer", { enumerable: true, get: function () { return serializer_interface_1.JsonSerializer; } });
6
+ Object.defineProperty(exports, "JsonDeserializer", { enumerable: true, get: function () { return serializer_interface_1.JsonDeserializer; } });
7
+ var cloudevents_serializer_1 = require("./cloudevents-serializer");
8
+ Object.defineProperty(exports, "CloudEventsSerializer", { enumerable: true, get: function () { return cloudevents_serializer_1.CloudEventsSerializer; } });
9
+ Object.defineProperty(exports, "CloudEventsDeserializer", { enumerable: true, get: function () { return cloudevents_serializer_1.CloudEventsDeserializer; } });
18
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serializers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serializers/index.ts"],"names":[],"mappings":";;;AAAA,+DAAwE;AAAhE,sHAAA,cAAc,OAAA;AAAE,wHAAA,gBAAgB,OAAA;AAMxC,mEAGkC;AAFhC,+HAAA,qBAAqB,OAAA;AACrB,iIAAA,uBAAuB,OAAA"}
@@ -1,11 +1,13 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
1
  /**
4
2
  * Serializes outgoing messages before sending to the broker.
5
3
  *
6
4
  * Supports both sync and async implementations to allow for
7
5
  * compression, encryption, schema registry lookup, protobuf/avro
8
6
  * encoding, and streaming codecs.
7
+ *
8
+ * @public
9
+ * @typeParam TInput - Type of values fed to the serializer.
10
+ * @typeParam TOutput - Type of values produced by the serializer.
9
11
  */
10
12
  export interface Serializer<TInput = unknown, TOutput = unknown> {
11
13
  serialize(value: TInput): TOutput | Promise<TOutput>;
@@ -13,18 +15,25 @@ export interface Serializer<TInput = unknown, TOutput = unknown> {
13
15
  /**
14
16
  * Deserializes incoming messages received from the broker.
15
17
  *
16
- * Supports async implementations for decompression, decryption,
17
- * schema registry lookup, and streaming codecs.
18
+ * Supports async implementations for decompression, decryption, schema
19
+ * registry lookup, and streaming codecs.
20
+ *
21
+ * @public
22
+ * @typeParam TInput - Wire format consumed by the deserializer.
23
+ * @typeParam TOutput - Decoded message shape.
18
24
  */
19
25
  export interface Deserializer<TInput = unknown, TOutput = unknown> {
20
26
  deserialize(value: TInput): TOutput | Promise<TOutput>;
21
27
  }
22
28
  /**
23
- * Transport message envelope with metadata for tracing,
24
- * correlation, retries, and distributed context propagation.
29
+ * Transport message envelope with metadata for tracing, correlation,
30
+ * retries, and distributed context propagation.
31
+ *
32
+ * Transport adapters should serialize/deserialize this envelope rather
33
+ * than raw payloads when full transport metadata is needed.
25
34
  *
26
- * Transport adapters should serialize/deserialize this envelope
27
- * rather than raw payloads when full transport metadata is needed.
35
+ * @public
36
+ * @typeParam T - The payload shape.
28
37
  */
29
38
  export interface TransportPacket<T = unknown> {
30
39
  readonly pattern: string | Record<string, unknown>;
@@ -36,27 +45,51 @@ export interface TransportPacket<T = unknown> {
36
45
  /**
37
46
  * Default JSON serializer. Converts objects to JSON strings.
38
47
  *
39
- * Wraps JSON.stringify errors into deterministic transport errors
40
- * instead of exposing raw runtime exceptions (circular refs, BigInt, etc.).
48
+ * Wraps `JSON.stringify` errors into deterministic transport errors
49
+ * instead of exposing raw runtime exceptions (circular refs, BigInt,
50
+ * etc.).
41
51
  *
42
52
  * Input: any JSON-serializable value.
43
53
  * Output: JSON string (compatible with all text-based transports).
44
54
  *
45
- * Note: Buffer/Uint8Array output for binary transports requires
46
- * a custom serializer implementation.
55
+ * Note: Buffer/Uint8Array output for binary transports requires a
56
+ * custom serializer implementation.
57
+ *
58
+ * @public
47
59
  */
48
60
  export declare class JsonSerializer implements Serializer<unknown, string> {
61
+ /**
62
+ * Serialize `value` to a JSON string.
63
+ *
64
+ * @public
65
+ * @param value - Any JSON-serializable value.
66
+ * @returns The serialized JSON payload.
67
+ * @throws TransportSerializationError When the value contains
68
+ * circular references, BigInt, or otherwise cannot be encoded.
69
+ * The original error is attached via `cause`.
70
+ */
49
71
  serialize(value: unknown): string;
50
72
  }
51
73
  /**
52
74
  * Default JSON deserializer. Parses JSON strings or Buffers to objects.
53
75
  *
54
- * Wraps JSON.parse errors into deterministic transport errors
55
- * instead of exposing raw SyntaxError from corrupted broker payloads.
76
+ * Wraps `JSON.parse` errors into deterministic transport errors instead
77
+ * of exposing raw `SyntaxError` from corrupted broker payloads.
78
+ *
79
+ * Input: string or `Buffer` (Node.js). For browser/WebSocket transports,
80
+ * use string or `Uint8Array` with a custom deserializer.
56
81
  *
57
- * Input: string or Buffer (Node.js). For browser/WebSocket transports,
58
- * use string or Uint8Array with a custom deserializer.
82
+ * @public
59
83
  */
60
84
  export declare class JsonDeserializer implements Deserializer<string | Buffer, unknown> {
85
+ /**
86
+ * Decode a JSON payload from a string or `Buffer`.
87
+ *
88
+ * @public
89
+ * @param value - The wire-format payload.
90
+ * @returns The decoded JavaScript value.
91
+ * @throws TransportSerializationError When the payload is not valid
92
+ * JSON. The original `SyntaxError` is attached via `cause`.
93
+ */
61
94
  deserialize(value: string | Buffer): unknown;
62
95
  }
@@ -1,50 +1,76 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JsonDeserializer = exports.JsonSerializer = void 0;
4
+ const errors_1 = require("../helpers/errors");
4
5
  /**
5
6
  * Default JSON serializer. Converts objects to JSON strings.
6
7
  *
7
- * Wraps JSON.stringify errors into deterministic transport errors
8
- * instead of exposing raw runtime exceptions (circular refs, BigInt, etc.).
8
+ * Wraps `JSON.stringify` errors into deterministic transport errors
9
+ * instead of exposing raw runtime exceptions (circular refs, BigInt,
10
+ * etc.).
9
11
  *
10
12
  * Input: any JSON-serializable value.
11
13
  * Output: JSON string (compatible with all text-based transports).
12
14
  *
13
- * Note: Buffer/Uint8Array output for binary transports requires
14
- * a custom serializer implementation.
15
+ * Note: Buffer/Uint8Array output for binary transports requires a
16
+ * custom serializer implementation.
17
+ *
18
+ * @public
15
19
  */
16
20
  class JsonSerializer {
21
+ /**
22
+ * Serialize `value` to a JSON string.
23
+ *
24
+ * @public
25
+ * @param value - Any JSON-serializable value.
26
+ * @returns The serialized JSON payload.
27
+ * @throws TransportSerializationError When the value contains
28
+ * circular references, BigInt, or otherwise cannot be encoded.
29
+ * The original error is attached via `cause`.
30
+ */
17
31
  serialize(value) {
32
+ let serialized;
18
33
  try {
19
- const serialized = JSON.stringify(value);
20
- if (serialized === undefined) {
21
- throw new Error('value is not JSON-serializable');
22
- }
23
- return serialized;
34
+ serialized = JSON.stringify(value);
24
35
  }
25
36
  catch (err) {
26
- throw new Error(`Failed to serialize outgoing message: ${err instanceof Error ? err.message : String(err)}`);
37
+ throw new errors_1.TransportSerializationError(`Failed to serialize outgoing message: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
38
+ }
39
+ if (serialized === undefined) {
40
+ throw new errors_1.TransportSerializationError('Failed to serialize outgoing message: value is not JSON-serializable');
27
41
  }
42
+ return serialized;
28
43
  }
29
44
  }
30
45
  exports.JsonSerializer = JsonSerializer;
31
46
  /**
32
47
  * Default JSON deserializer. Parses JSON strings or Buffers to objects.
33
48
  *
34
- * Wraps JSON.parse errors into deterministic transport errors
35
- * instead of exposing raw SyntaxError from corrupted broker payloads.
49
+ * Wraps `JSON.parse` errors into deterministic transport errors instead
50
+ * of exposing raw `SyntaxError` from corrupted broker payloads.
51
+ *
52
+ * Input: string or `Buffer` (Node.js). For browser/WebSocket transports,
53
+ * use string or `Uint8Array` with a custom deserializer.
36
54
  *
37
- * Input: string or Buffer (Node.js). For browser/WebSocket transports,
38
- * use string or Uint8Array with a custom deserializer.
55
+ * @public
39
56
  */
40
57
  class JsonDeserializer {
58
+ /**
59
+ * Decode a JSON payload from a string or `Buffer`.
60
+ *
61
+ * @public
62
+ * @param value - The wire-format payload.
63
+ * @returns The decoded JavaScript value.
64
+ * @throws TransportSerializationError When the payload is not valid
65
+ * JSON. The original `SyntaxError` is attached via `cause`.
66
+ */
41
67
  deserialize(value) {
42
68
  try {
43
69
  const str = typeof value === 'string' ? value : value.toString('utf-8');
44
70
  return JSON.parse(str);
45
71
  }
46
72
  catch (err) {
47
- throw new Error(`Failed to deserialize incoming message: ${err instanceof Error ? err.message : String(err)}`);
73
+ throw new errors_1.TransportSerializationError(`Failed to deserialize incoming message: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
48
74
  }
49
75
  }
50
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.interface.js","sourceRoot":"","sources":["../../src/serializers/serializer.interface.ts"],"names":[],"mappings":";;;AAoCA;;;;;;;;;;;GAWG;AACH,MAAa,cAAc;IACzB,SAAS,CAAC,KAAc;QACtB,IAAI;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,UAAU,KAAK,SAAS,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;aACnD;YACD,OAAO,UAAU,CAAC;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CACb,yCACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;SACH;IACH,CAAC;CACF;AAhBD,wCAgBC;AAED;;;;;;;;GAQG;AACH,MAAa,gBAAgB;IAG3B,WAAW,CAAC,KAAsB;QAChC,IAAI;YACF,MAAM,GAAG,GACP,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACxB;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CACb,2CACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;SACH;IACH,CAAC;CACF;AAhBD,4CAgBC"}
1
+ {"version":3,"file":"serializer.interface.js","sourceRoot":"","sources":["../../src/serializers/serializer.interface.ts"],"names":[],"mappings":";;;AAAA,8CAA8D;AAmD9D;;;;;;;;;;;;;;GAcG;AACH,MAAa,cAAc;IACzB;;;;;;;;;OASG;IACH,SAAS,CAAC,KAAc;QACtB,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,oCAA2B,CACnC,yCACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,EACF,EAAC,KAAK,EAAE,GAAG,EAAC,CACb,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,oCAA2B,CACnC,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA9BD,wCA8BC;AAED;;;;;;;;;;GAUG;AACH,MAAa,gBAAgB;IAI3B;;;;;;;;OAQG;IACH,WAAW,CAAC,KAAsB;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,oCAA2B,CACnC,2CACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,EACF,EAAC,KAAK,EAAE,GAAG,EAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA1BD,4CA0BC"}
@@ -1 +1,2 @@
1
- export * from './server-base';
1
+ export { ServerBase } from './server-base';
2
+ export type { HandlerResult } from './server-base';
@@ -1,18 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./server-base"), exports);
3
+ exports.ServerBase = void 0;
4
+ var server_base_1 = require("./server-base");
5
+ Object.defineProperty(exports, "ServerBase", { enumerable: true, get: function () { return server_base_1.ServerBase; } });
18
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAAjC,yGAAA,UAAU,OAAA"}