mockrtc 0.1.0 → 0.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 (68) hide show
  1. package/README.md +2 -2
  2. package/dist/client/mockrtc-admin-request-builder.d.ts +21 -0
  3. package/dist/client/mockrtc-admin-request-builder.js +171 -0
  4. package/dist/client/mockrtc-admin-request-builder.js.map +1 -0
  5. package/dist/client/mockrtc-client.d.ts +5 -1
  6. package/dist/client/mockrtc-client.js +20 -16
  7. package/dist/client/mockrtc-client.js.map +1 -1
  8. package/dist/client/mockrtc-remote-peer.d.ts +3 -2
  9. package/dist/client/mockrtc-remote-peer.js.map +1 -1
  10. package/dist/handling/handler-step-definitions.d.ts +3 -2
  11. package/dist/handling/handler-step-definitions.js.map +1 -1
  12. package/dist/handling/handler-steps.js +1 -1
  13. package/dist/handling/handler-steps.js.map +1 -1
  14. package/dist/main-browser.d.ts +2 -0
  15. package/dist/main-browser.js +5 -1
  16. package/dist/main-browser.js.map +1 -1
  17. package/dist/main.d.ts +5 -4
  18. package/dist/main.js +5 -1
  19. package/dist/main.js.map +1 -1
  20. package/dist/mockrtc-peer.d.ts +37 -6
  21. package/dist/mockrtc.d.ts +138 -1
  22. package/dist/mockrtc.js +1 -0
  23. package/dist/mockrtc.js.map +1 -1
  24. package/dist/server/mockrtc-admin-plugin.d.ts +2 -2
  25. package/dist/server/mockrtc-admin-plugin.js +147 -2
  26. package/dist/server/mockrtc-admin-plugin.js.map +1 -1
  27. package/dist/server/mockrtc-server-peer.d.ts +8 -2
  28. package/dist/server/mockrtc-server-peer.js +106 -5
  29. package/dist/server/mockrtc-server-peer.js.map +1 -1
  30. package/dist/server/mockrtc-server.d.ts +11 -3
  31. package/dist/server/mockrtc-server.js +44 -6
  32. package/dist/server/mockrtc-server.js.map +1 -1
  33. package/dist/webrtc/datachannel-stream.d.ts +2 -0
  34. package/dist/webrtc/datachannel-stream.js +12 -0
  35. package/dist/webrtc/datachannel-stream.js.map +1 -1
  36. package/dist/webrtc/mediatrack-stream.d.ts +4 -0
  37. package/dist/webrtc/mediatrack-stream.js +13 -1
  38. package/dist/webrtc/mediatrack-stream.js.map +1 -1
  39. package/dist/webrtc/mockrtc-connection.d.ts +1 -1
  40. package/dist/webrtc/mockrtc-connection.js +77 -60
  41. package/dist/webrtc/mockrtc-connection.js.map +1 -1
  42. package/dist/webrtc/rtc-connection.d.ts +23 -4
  43. package/dist/webrtc/rtc-connection.js +45 -6
  44. package/dist/webrtc/rtc-connection.js.map +1 -1
  45. package/dist/webrtc-hooks.js +4 -2
  46. package/dist/webrtc-hooks.js.map +1 -1
  47. package/package.json +12 -6
  48. package/src/client/mockrtc-admin-request-builder.ts +184 -0
  49. package/src/client/mockrtc-client.ts +26 -22
  50. package/src/client/mockrtc-remote-peer.ts +9 -8
  51. package/src/handling/handler-step-definitions.ts +6 -4
  52. package/src/handling/handler-steps.ts +6 -5
  53. package/src/main-browser.ts +4 -0
  54. package/src/main.ts +18 -4
  55. package/src/mockrtc-peer.ts +41 -6
  56. package/src/mockrtc.ts +163 -1
  57. package/src/server/mockrtc-admin-plugin.ts +159 -6
  58. package/src/server/mockrtc-server-peer.ts +183 -6
  59. package/src/server/mockrtc-server.ts +75 -14
  60. package/src/webrtc/datachannel-stream.ts +16 -0
  61. package/src/webrtc/mediatrack-stream.ts +16 -3
  62. package/src/webrtc/mockrtc-connection.ts +21 -6
  63. package/src/webrtc/rtc-connection.ts +79 -14
  64. package/src/webrtc-hooks.ts +7 -4
  65. package/test/integration/events.spec.ts +536 -0
  66. package/test/integration/matching.spec.ts +68 -0
  67. package/test/integration/proxy.spec.ts +66 -1
  68. package/test/test-setup.ts +19 -0
@@ -1 +1 @@
1
- {"version":3,"file":"rtc-connection.js","sourceRoot":"","sources":["../../src/webrtc/rtc-connection.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH,mCAAoC;AACpC,mCAAsC;AACtC,qCAAqC;AACrC,oDAAoD;AAIpD,6DAAyD;AACzD,2DAAuD;AAEvD;;;;GAIG;AACH,MAAa,aAAc,SAAQ,qBAAY;IAiD3C;QACI,KAAK,EAAE,CAAC;QAhDH,OAAE,GAAG,IAAA,mBAAU,GAAE,CAAC;QAE3B,iGAAiG;QACjG,mDAAmD;QAC3C,YAAO,GACT,IAAI,eAAe,CAAC,cAAc,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAIjE,oBAAe,GAA2D,EAAE,CAAC;QAmB7E,uBAAkB,GAA0D,EAAE,CAAC;QAsQvF,eAAU,GAAmB;YAClC,SAAS,EAAE,IAAI,CAAC,EAAE;YAElB,WAAW,EAAE,CAAO,UAAwB,EAAE,EAAsC,EAAE;gBAClF,IAAI,OAAO,CAAC,SAAS,EAAE;oBACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE;wBACjD,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa;qBACzC,CAAC,CAAC;iBACN;qBAAM;oBACH,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBACrC;YACL,CAAC,CAAA;YAED,aAAa,EAAE,CAAO,MAAiC,EAAiB,EAAE;gBACtE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC,CAAA;YAED,WAAW,EAAE,CACT,KAAgC,EAChC,UAAyB,EAAE,EACO,EAAE;gBACpC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,OAAO,CAAC,SAAS,EAAE;oBACnB,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;iBACzD;qBAAM;oBACH,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBACrC;YACL,CAAC,CAAA;SACJ,CAAC;QA7QE,IAAI,CAAC,OAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,6DAA6D;YAExF,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC,CAAC,KAA4B,EAAE,EAAE;YACnD,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,6DAA6D;YAExF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,8FAA8F;QAC9F,4EAA4E;QAC5E,IAAI,CAAC,OAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1C,IAAI,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC;IA5DD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,eAAe;aACtB,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,eAAe;aACtB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;aAClC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe;aACtB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;aACnC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAID,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,kBAAkB;aACzB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,kBAAkB;aACzB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAC9B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB;aACzB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;aAC/B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IA4BD,iBAAiB,CAAC,KAAa;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAES,eAAe,CAAC,OAAoC,EAAE,OAA6B;QACzF,MAAM,aAAa,GAAG,IAAI,sCAAiB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/E,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;YACrF,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;gBACrB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aAChD;QACL,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;SAClD;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;SACnD;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,kBAAkB,CAAC,KAA4B,EAAE,OAA6B;QACpF,MAAM,WAAW,GAAG,IAAI,oCAAgB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YACpF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;gBACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aAC9C;QACL,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9B,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;SAC9C;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;SAC/C;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,oBAAoB,CAAC,WAAsC;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAE9F,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACrC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;QACvD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAQ,CAAC,CAAC;IACxG,CAAC;IAED;;;;OAIG;IACG,mBAAmB;;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAE7F,IAAI,YAAqD,CAAC;YAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,KAAK,EAAE;gBACzC,sFAAsF;gBACtF,sFAAsF;gBACtF,oFAAoF;gBACpF,2EAA2E;gBAC3E,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;aAC1E;YAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC3C,IAAI,KAAK,KAAK,UAAU;wBAAE,OAAO,EAAE,CAAC;gBACxC,CAAC,CAAC,CAAC;gBAEH,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,OAAQ,CAAC,cAAc,EAAE,KAAK,UAAU;oBAAE,OAAO,EAAE,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAE7F,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAA+B,CAAC;YACxF,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,EAAE,CAAC,CAAC,uDAAuD;YAC9E,OAAO,kBAAkB,CAAC;QAC9B,CAAC;KAAA;IAED,oBAAoB;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAEK,qBAAqB,CACvB,WAAmB,EACnB,UAAuC,EAAE;;YAEzC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAE7F,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAE7C,MAAM,oBAAoB,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAC/F,MAAM,sBAAsB,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAE/F,oBAAoB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;;gBAC3C,yCAAyC;gBACzC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,aAAa,CAAC,GAAI,CAAC;oBAAE,OAAO;gBAE3E,MAAM,GAAG,GAAG,aAAa,CAAC,GAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1C,MAAM,SAAS,GAAG,0BAA0B,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAEtE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,KAAK,OAAO;oBACxC,CAAC,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;oBAC3C,CAAC,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;gBAE/C,kFAAkF;gBAClF,MAAM,KAAK,GAAG,MAAA,MAAA,aAAa,CAAC,KAAK,0CAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;;oBACpD,KAAK,MAAC,EAAE,CAAC,EAAE,MAAX,KAAK,OAAY,EAAE,EAAC;oBACpB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;oBACtC,OAAO,KAAK,CAAC;gBACjB,CAAC,EAAE,EAA8D,CAAC,mCAAI,EAAE,CAAC;gBAEzE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;;oBAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAA,MAAA,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;oBACzD,IAAI,CAAC,IAAI,EAAE;wBACP,KAAK,CAAC,OAAO,CACT,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAChB,SAAS,CAAC,OAAO,CAAC,CACrB,CAAC;qBACL;yBAAM;wBACH,KAAK,CAAC,OAAO,CACT,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAChB,SAAS,CAAC,OAAO,CAAC,EAClB,IAAI,EACJ,OAAO,CACV,CAAC;qBACL;gBACL,CAAC,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,IAAI,YAAqD,CAAC;YAC1D,MAAM,6BAA6B,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,KAAK;gBACzE,CAAC,oBAAoB,CAAC,MAAM,CAAC;YACjC,IAAI,sBAAsB,IAAI,6BAA6B,IAAI,OAAO,CAAC,aAAa,EAAE;gBAClF,qFAAqF;gBACrF,oEAAoE;gBACpE,qFAAqF;gBACrF,qFAAqF;gBACrF,0DAA0D;gBAC1D,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;aAC1E;YAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,qBAAuC,CAAC;YACxE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC3C,IAAI,KAAK,KAAK,UAAU;wBAAE,OAAO,EAAE,CAAC;gBACxC,CAAC,CAAC,CAAC;gBAEH,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,OAAQ,CAAC,cAAc,EAAE,KAAK,UAAU;oBAAE,OAAO,EAAE,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAEjG,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAG,CAAC;YACnD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,EAAE,CAAC,CAAC,uDAAuD;YAE9E,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC1C,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC3C,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEpC,OAAO,SAAsC,CAAC;QAClD,CAAC;KAAA;IAEK,sBAAsB,CAAC,WAAmB;;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAQ,CAAC,gBAAgB,EAAG,CAAC;YAEpD,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAI,CAAC,CAAC;YAC5C,iBAAiB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAE7C,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,SAAsC,CAAC;QAClD,CAAC;KAAA;IAED,kBAAkB;QACd,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAE7F,IAAI,CAAC,EAAE,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1C,IAAI,KAAK,KAAK,WAAW;oBAAE,OAAO,EAAE,CAAC;gBACrC,IAAI,KAAK,KAAK,QAAQ,EAAE;oBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;iBACvE;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,QAAQ,EAAE;gBACnC,MAAM,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;aACvE;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAiCK,KAAK;;YACP,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,iBAAiB;YAE5C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,6DAA6D;YAElF,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,QAAQ;gBAAE,OAAO;YACzC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;KAAA;CAEJ;AA9UD,sCA8UC;AAED,SAAS,0BAA0B,CAAC,SAA4C;IAC5E,IAAI,SAAS,KAAK,UAAU;QAAE,iCAA0C;SACnE,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,CAAC,EAAE;QAC9B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC7B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC1B,SAAS,CAAC,KAAK,CAAC,CAAC,CAA8B,CAAC;KACvD;SAAM;QACH,+BAAyC;KAC5C;AACL,CAAC;AAAA,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,MAA8B,EAAE,MAA8B;IACrF,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAE1C,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAC9E,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK;aAC3B,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAI,KAAK,CACX,eAAe,WAAW,CAAC,GAAG,wCAAwC,CACzE,CAAC;SACL;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE;YACvC,MAAM,IAAI,KAAK,CACX,0BACI,WAAW,CAAC,IAChB,aACI,WAAW,CAAC,GAChB,8BAA8B,CACjC,CAAC;SACL;QAED,6FAA6F;QAC7F,8FAA8F;QAC9F,0CAA0C;QAC1C,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QACpC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QAC5C,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;QAClC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QAC5C,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;QAClC,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QACpC,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QACpC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACxC,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QAEhD,6FAA6F;QAC7F,kFAAkF;QAClF,gGAAgG;QAChG,gGAAgG;QAChG,+DAA+D;QAC/D,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"rtc-connection.js","sourceRoot":"","sources":["../../src/webrtc/rtc-connection.ts"],"names":[],"mappings":"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"}
@@ -149,7 +149,8 @@ function hookWebRTCConnection(conn, mockPeer) {
149
149
  // hasn't yet completed.
150
150
  mockOffer = mockPeer.createOffer({
151
151
  mirrorSDP: remoteDescription.sdp,
152
- addDataStream: true
152
+ addDataStream: true,
153
+ connectionMetadata: { userAgent: navigator.userAgent }
153
154
  });
154
155
  yield _setRemoteDescription((yield mockOffer).offer);
155
156
  }
@@ -161,7 +162,8 @@ function hookWebRTCConnection(conn, mockPeer) {
161
162
  setAnswer(remoteDescription),
162
163
  // Complete the internal <-> mock connection:
163
164
  mockPeer.answerOffer(realOffer, {
164
- mirrorSDP: remoteDescription.sdp
165
+ mirrorSDP: remoteDescription.sdp,
166
+ connectionMetadata: { userAgent: navigator.userAgent }
165
167
  }).then(({ answer }) => _setRemoteDescription(answer))
166
168
  ]);
167
169
  currentLocalDescription = pendingLocalDescription;
@@ -1 +1 @@
1
- {"version":3,"file":"webrtc-hooks.js","sourceRoot":"","sources":["../src/webrtc-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webrtc-hooks.js","sourceRoot":"","sources":["../src/webrtc-hooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mockrtc",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Powerful friendly WebRTC mock peer & proxy",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
@@ -22,7 +22,7 @@
22
22
  "build:src": "tsc && chmod +x ./dist/admin-bin.js",
23
23
  "build:doc": "typedoc src/main.ts",
24
24
  "prepack": "npm run build",
25
- "test": "karma start",
25
+ "test": "tsc --noEmit -p test/tsconfig.json && karma start",
26
26
  "test:dev": "CONTINUOUS_TEST=true npm run test",
27
27
  "test:dev:debug": "HEADFUL_TEST=true CONTINUOUS_TEST=true npm run test"
28
28
  },
@@ -52,7 +52,8 @@
52
52
  "@types/chai": "4.3.0",
53
53
  "@types/dom-mediacapture-transform": "0.1.2",
54
54
  "@types/dom-webcodecs": "0.1.3",
55
- "@types/mocha": "^9.1.0",
55
+ "@types/mocha": "9.1.1",
56
+ "@types/node": "16.11.38",
56
57
  "buffer": "^6.0.3",
57
58
  "chai": "^4.3.6",
58
59
  "esbuild": "^0.14.23",
@@ -66,16 +67,21 @@
66
67
  "node-dev": "^7.1.0",
67
68
  "rollup-plugin-node-polyfills": "^0.2.1",
68
69
  "ts-node": "^10.5.0",
69
- "typedoc": "^0.23.0-beta.1",
70
- "typescript": "^4.6.4",
70
+ "typedoc": "0.23.0-beta.1",
71
+ "typescript": "4.6.4",
71
72
  "util": "^0.12.4"
72
73
  },
73
74
  "dependencies": {
75
+ "@graphql-tools/utils": "^8.8.0",
76
+ "@types/lodash": "^4.14.182",
74
77
  "@types/sdp-transform": "^2.4.5",
75
78
  "graphql": "^15.8.0",
79
+ "graphql-subscriptions": "^1.2.1",
76
80
  "graphql-tag": "^2.12.6",
77
- "mockttp": "^3.0.0",
81
+ "lodash": "^4.17.21",
82
+ "mockttp": "^3.2.1",
78
83
  "node-datachannel": "^0.3.0",
84
+ "performance-now": "^2.1.0",
79
85
  "sdp-transform": "^2.14.1"
80
86
  },
81
87
  "overrides": {
@@ -0,0 +1,184 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2022 Tim Perry <tim@httptoolkit.tech>
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ import gql from 'graphql-tag';
7
+ import * as stream from 'stream';
8
+
9
+ // Long-term, it'd be great to use the 'official' export path of mockttp/pluggable-admin, but
10
+ // if we do so, then TypeScript <4.7 doesn't understand it here or downstream, so we get errors.
11
+ // We don't want to use the main-exported version to avoid bundling all of Mockttp in browsers.
12
+ // For now we have to use the direct import. We can update once TS 4.7 is widely used.
13
+ import * as BrowserPluggableAdmin from 'mockttp/dist/pluggable-admin-api/pluggable-admin.browser';
14
+ import { AdminQuery } from 'mockttp/dist/client/admin-query';
15
+
16
+ import { HandlerStepDefinition } from '../handling/handler-step-definitions';
17
+ import { MockRTCEvent, MockRTCEventData } from '../mockrtc';
18
+
19
+ /**
20
+ * This is part of Mockttp's experimental 'pluggable admin' API. This may change
21
+ * unpredictably, even in minor releases.
22
+ *
23
+ * @internal
24
+ */
25
+ export class MockRTCAdminRequestBuilder {
26
+
27
+ buildCreatePeerQuery(
28
+ handlerSteps: Array<HandlerStepDefinition>,
29
+ adminStream: stream.Duplex
30
+ ): AdminQuery<
31
+ { createPeer: { peerId: string } },
32
+ { peerId: string }
33
+ > {
34
+ return {
35
+ query: gql`
36
+ mutation CreatePeer($peerData: RTCHandlerData!) {
37
+ createPeer(data: $peerData) {
38
+ peerId
39
+ }
40
+ }
41
+ `,
42
+ variables: {
43
+ peerData: {
44
+ steps: handlerSteps.map(step =>
45
+ BrowserPluggableAdmin.Serialization.serialize(step, adminStream)
46
+ )
47
+ }
48
+ },
49
+ transformResponse: ({ createPeer }) => createPeer
50
+ };
51
+ }
52
+
53
+ buildSubscriptionRequest<E extends MockRTCEvent>(event: E): AdminQuery<MockRTCEventData[E]> | undefined {
54
+ const query = {
55
+ 'peer-connected': gql`subscription OnPeerConnected {
56
+ peerConnected {
57
+ peerId
58
+ sessionId
59
+
60
+ metadata
61
+ timingEvents
62
+
63
+ localSessionDescription { type, sdp }
64
+ remoteSessionDescription { type, sdp }
65
+ selectedLocalCandidate { address, port, protocol, type }
66
+ selectedRemoteCandidate { address, port, protocol, type }
67
+ }
68
+ }`,
69
+ 'peer-disconnected': gql`subscription OnPeerDisconnected {
70
+ peerDisconnected {
71
+ peerId
72
+ sessionId
73
+ timingEvents
74
+ }
75
+ }`,
76
+ 'external-peer-attached': gql`subscription OnExternalPeerAttached {
77
+ externalPeerAttached {
78
+ peerId
79
+ sessionId
80
+ timingEvents
81
+ externalConnection {
82
+ sessionId
83
+ localSessionDescription { type, sdp }
84
+ remoteSessionDescription { type, sdp }
85
+ selectedLocalCandidate { address, port, protocol, type }
86
+ selectedRemoteCandidate { address, port, protocol, type }
87
+ }
88
+ }
89
+ }`,
90
+ 'data-channel-opened': gql`subscription OnDataChannelOpen {
91
+ dataChannelOpened {
92
+ peerId
93
+ sessionId
94
+ channelId
95
+ channelLabel
96
+ channelProtocol
97
+
98
+ eventTimestamp
99
+ timingEvents
100
+ }
101
+ }`,
102
+ 'data-channel-message-sent': gql`subscription OnDataChannelMessageSent {
103
+ dataChannelMessageSent {
104
+ peerId
105
+ sessionId
106
+ channelId
107
+ direction
108
+ content
109
+ isBinary
110
+
111
+ eventTimestamp
112
+ timingEvents
113
+ }
114
+ }`,
115
+ 'data-channel-message-received': gql`subscription OnDataChannelMessageReceived {
116
+ dataChannelMessageReceived {
117
+ peerId
118
+ sessionId
119
+ channelId
120
+ direction
121
+ content
122
+ isBinary
123
+
124
+ eventTimestamp
125
+ timingEvents
126
+ }
127
+ }`,
128
+ 'data-channel-closed': gql`subscription OnDataChannelClose {
129
+ dataChannelClosed {
130
+ peerId
131
+ sessionId
132
+ channelId
133
+
134
+ eventTimestamp
135
+ timingEvents
136
+ }
137
+ }`,
138
+ 'media-track-opened': gql`subscription OnDataChannelClose {
139
+ mediaTrackOpened {
140
+ peerId
141
+ sessionId
142
+ trackMid
143
+ trackType
144
+ trackDirection
145
+
146
+ eventTimestamp
147
+ timingEvents
148
+ }
149
+ }`,
150
+ 'media-track-stats': gql`subscription OnDataChannelClose {
151
+ mediaTrackStats {
152
+ peerId
153
+ sessionId
154
+ trackMid
155
+ totalBytesSent
156
+ totalBytesReceived
157
+
158
+ eventTimestamp
159
+ timingEvents
160
+ }
161
+ }`,
162
+ 'media-track-closed': gql`subscription OnDataChannelClose {
163
+ mediaTrackClosed {
164
+ peerId
165
+ sessionId
166
+ trackMid
167
+
168
+ eventTimestamp
169
+ timingEvents
170
+ }
171
+ }`
172
+ }[event];
173
+
174
+ if (!query) return; // Unrecognized event, we can't subscribe to this.
175
+
176
+ return {
177
+ query,
178
+ transformResponse: (result: any) => {
179
+ if (result.content) result.content = Buffer.from(result.content, 'base64');
180
+ return result;
181
+ }
182
+ };
183
+ }
184
+ }
@@ -3,7 +3,6 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
 
6
- import gql from 'graphql-tag';
7
6
 
8
7
  // Long-term, it'd be great to use the 'official' export path of mockttp/pluggable-admin, but
9
8
  // if we do so, then TypeScript <4.7 doesn't understand it here or downstream, so we get errors.
@@ -12,13 +11,14 @@ import gql from 'graphql-tag';
12
11
  import * as BrowserPluggableAdmin from 'mockttp/dist/pluggable-admin-api/pluggable-admin.browser';
13
12
  import type { PluggableAdmin } from 'mockttp';
14
13
 
15
- import { MockRTC, MockRTCOptions, MockRTCPeerBuilder } from "../mockrtc";
14
+ import { MockRTC, MockRTCEvent, MockRTCOptions, MockRTCPeerBuilder } from "../mockrtc";
16
15
 
17
16
  import type { MockRTCAdminPlugin } from "../server/mockrtc-admin-plugin";
18
17
  import type { MockRTCPeer } from '../mockrtc-peer';
19
18
  import { MockRTCRemotePeer } from './mockrtc-remote-peer';
20
19
  import { MockRTCHandlerBuilder } from '../handling/handler-builder';
21
20
  import { HandlerStepDefinition } from '../handling/handler-step-definitions';
21
+ import { MockRTCAdminRequestBuilder } from './mockrtc-admin-request-builder';
22
22
 
23
23
  export type MockRTCClientOptions =
24
24
  PluggableAdmin.AdminClientOptions &
@@ -27,11 +27,17 @@ export type MockRTCClientOptions =
27
27
  export class MockRTCClient implements MockRTC {
28
28
 
29
29
  private adminClient: PluggableAdmin.AdminClient<{ webrtc: MockRTCAdminPlugin }>;
30
+ private requestBuilder: MockRTCAdminRequestBuilder;
30
31
 
31
32
  constructor(
32
33
  private options: MockRTCClientOptions = {}
33
34
  ) {
34
35
  this.adminClient = new BrowserPluggableAdmin.AdminClient(options);
36
+ this.requestBuilder = new MockRTCAdminRequestBuilder();
37
+ }
38
+
39
+ getMatchingPeer(): MockRTCPeer {
40
+ return new MockRTCRemotePeer('matching-peer', this.adminClient);
35
41
  }
36
42
 
37
43
  buildPeer(): MockRTCPeerBuilder {
@@ -41,26 +47,9 @@ export class MockRTCClient implements MockRTC {
41
47
  private buildPeerFromData = async (handlerSteps: HandlerStepDefinition[]): Promise<MockRTCPeer> => {
42
48
  const { adminStream } = this.adminClient;
43
49
 
44
- const peerData = await this.adminClient.sendQuery<
45
- { createPeer: { peerId: string } },
46
- { peerId: string }
47
- >({
48
- query: gql`
49
- mutation CreatePeer($peerData: RTCHandlerData!) {
50
- createPeer(data: $peerData) {
51
- peerId
52
- }
53
- }
54
- `,
55
- variables: {
56
- peerData: {
57
- steps: handlerSteps.map(step =>
58
- BrowserPluggableAdmin.Serialization.serialize(step, adminStream)
59
- )
60
- }
61
- },
62
- transformResponse: ({ createPeer }) => createPeer
63
- });
50
+ const peerData = await this.adminClient.sendQuery(
51
+ this.requestBuilder.buildCreatePeerQuery(handlerSteps, adminStream)
52
+ );
64
53
 
65
54
  const { peerId } = peerData;
66
55
 
@@ -76,4 +65,19 @@ export class MockRTCClient implements MockRTC {
76
65
  async stop(): Promise<void> {
77
66
  await this.adminClient.stop();
78
67
  }
68
+
69
+ async on(event: MockRTCEvent, callback: any): Promise<void> {
70
+ const subscriptionRequest = this.requestBuilder.buildSubscriptionRequest(event);
71
+
72
+ if (!subscriptionRequest) {
73
+ // We just return an immediately promise if we don't recognize the event, which will quietly
74
+ // succeed but never call the corresponding callback (the same as the server and most event
75
+ // sources in the same kind of situation). This is what happens when the *client* doesn't
76
+ // recognize the event. Subscribe() below handles the unknown-to-server case.
77
+ console.warn(`Ignoring subscription for event unrecognized by MockRTC client: ${event}`);
78
+ return;
79
+ }
80
+
81
+ return this.adminClient.subscribe(subscriptionRequest, callback);
82
+ }
79
83
  }
@@ -6,6 +6,7 @@
6
6
  import { gql } from 'graphql-tag';
7
7
  import * as PluggableAdmin from 'mockttp/dist/pluggable-admin-api/pluggable-admin.browser';
8
8
 
9
+ import { MockRTCSessionDescription } from '../mockrtc';
9
10
  import {
10
11
  MockRTCPeer,
11
12
  MockRTCOfferParams,
@@ -83,7 +84,7 @@ export class MockRTCRemotePeer implements MockRTCPeer {
83
84
  }
84
85
 
85
86
  async answerOffer(
86
- offer: RTCSessionDescriptionInit,
87
+ offer: MockRTCSessionDescription,
87
88
  options?: AnswerOptions
88
89
  ): Promise<MockRTCAnswerParams> {
89
90
  return this.adminClient.sendQuery<
@@ -114,7 +115,7 @@ export class MockRTCRemotePeer implements MockRTCPeer {
114
115
  }
115
116
 
116
117
  async answerExternalOffer(
117
- offer: RTCSessionDescriptionInit,
118
+ offer: MockRTCSessionDescription,
118
119
  options?: AnswerOptions
119
120
  ): Promise<MockRTCExternalAnswerParams> {
120
121
  return this.adminClient.sendQuery<
@@ -211,10 +212,10 @@ class RemoteSessionApi implements MockRTCSession {
211
212
  public readonly sessionId: string
212
213
  ) {}
213
214
 
214
- createOffer(options?: OfferOptions): Promise<RTCSessionDescriptionInit> {
215
+ createOffer(options?: OfferOptions): Promise<MockRTCSessionDescription> {
215
216
  return this.adminClient.sendQuery<
216
217
  { createOffer: SessionData },
217
- RTCSessionDescriptionInit
218
+ MockRTCSessionDescription
218
219
  >({
219
220
  query: gql`
220
221
  mutation GetPeerRTCSessionOffer($peerId: ID!, $sessionId: ID!, $options: Raw) {
@@ -231,7 +232,7 @@ class RemoteSessionApi implements MockRTCSession {
231
232
  });
232
233
  }
233
234
 
234
- completeOffer(answer: RTCSessionDescriptionInit): Promise<void> {
235
+ completeOffer(answer: MockRTCSessionDescription): Promise<void> {
235
236
  return this.adminClient.sendQuery<void>({
236
237
  query: gql`
237
238
  mutation CompletePeerRTCOffer(
@@ -251,12 +252,12 @@ class RemoteSessionApi implements MockRTCSession {
251
252
  }
252
253
 
253
254
  answerOffer(
254
- offer: RTCSessionDescriptionInit,
255
+ offer: MockRTCSessionDescription,
255
256
  options?: AnswerOptions
256
- ): Promise<RTCSessionDescriptionInit> {
257
+ ): Promise<MockRTCSessionDescription> {
257
258
  return this.adminClient.sendQuery<
258
259
  { answerOffer: SessionData },
259
- RTCSessionDescriptionInit
260
+ MockRTCSessionDescription
260
261
  >({
261
262
  query: gql`
262
263
  mutation GetPeerRTCAnswer(
@@ -5,6 +5,8 @@
5
5
 
6
6
  import * as PluggableAdmin from 'mockttp/dist/pluggable-admin-api/pluggable-admin.browser';
7
7
 
8
+ import { MockRTCSessionDescription } from '../mockrtc';
9
+
8
10
  export type Serializable = PluggableAdmin.Serialization.Serializable;
9
11
  export const { Serializable } = PluggableAdmin.Serialization;
10
12
  type ClientServerChannel = PluggableAdmin.Serialization.ClientServerChannel;
@@ -89,18 +91,18 @@ export class PeerProxyStepDefinition extends Serializable implements HandlerStep
89
91
 
90
92
  readonly type = 'peer-proxy';
91
93
 
92
- protected getAnswer: (offer: RTCSessionDescriptionInit) => Promise<RTCSessionDescriptionInit>;
94
+ protected getAnswer: (offer: MockRTCSessionDescription) => Promise<RTCSessionDescriptionInit>;
93
95
 
94
96
  constructor(
95
97
  connectionTarget:
96
98
  | RTCPeerConnection
97
- | ((offer: RTCSessionDescriptionInit) => Promise<RTCSessionDescriptionInit>)
99
+ | ((offer: MockRTCSessionDescription) => Promise<RTCSessionDescriptionInit>)
98
100
  ) {
99
101
  super();
100
102
  if (connectionTarget instanceof Function) {
101
103
  this.getAnswer = connectionTarget;
102
104
  } else {
103
- this.getAnswer = async (offer: RTCSessionDescriptionInit) => {
105
+ this.getAnswer = async (offer: MockRTCSessionDescription) => {
104
106
  await connectionTarget.setRemoteDescription(offer);
105
107
  const answer = await connectionTarget.createAnswer();
106
108
  await connectionTarget.setLocalDescription(answer);
@@ -111,7 +113,7 @@ export class PeerProxyStepDefinition extends Serializable implements HandlerStep
111
113
 
112
114
  serialize(channel: ClientServerChannel): {} {
113
115
  channel.onRequest<
114
- { offer: RTCSessionDescriptionInit },
116
+ { offer: MockRTCSessionDescription },
115
117
  { answer: RTCSessionDescriptionInit }
116
118
  >(async (msg) => {
117
119
  return { answer: await this.getAnswer(msg.offer) };
@@ -5,6 +5,7 @@
5
5
 
6
6
  import { PluggableAdmin } from 'mockttp';
7
7
 
8
+ import { MockRTCSessionDescription } from '../mockrtc';
8
9
  import type { DataChannelStream } from '../webrtc/datachannel-stream';
9
10
  import type { MediaTrackStream } from '../webrtc/mediatrack-stream';
10
11
  import type { MockRTCConnection } from '../webrtc/mockrtc-connection';
@@ -190,7 +191,7 @@ export class PeerProxyStep extends PeerProxyStepDefinition {
190
191
  );
191
192
  externalConn.setRemoteDescription(await this.getAnswer(externalOffer));
192
193
 
193
- connection.proxyTrafficTo(externalConn);
194
+ await connection.proxyTrafficTo(externalConn);
194
195
 
195
196
  // This step keeps running indefinitely, until the connection closes
196
197
  return new Promise<void>((resolve) => connection.on('connection-closed', resolve));
@@ -198,7 +199,7 @@ export class PeerProxyStep extends PeerProxyStepDefinition {
198
199
 
199
200
  serialize(channel: ClientServerChannel): {} {
200
201
  channel.onRequest<
201
- { offer: RTCSessionDescriptionInit },
202
+ { offer: MockRTCSessionDescription },
202
203
  { answer: RTCSessionDescriptionInit }
203
204
  >(async (msg) => {
204
205
  return { answer: await this.getAnswer(msg.offer) };
@@ -208,10 +209,10 @@ export class PeerProxyStep extends PeerProxyStepDefinition {
208
209
  }
209
210
 
210
211
  static deserialize(_data: {}, channel: ClientServerChannel): PeerProxyStep {
211
- return new PeerProxyStep(async (offer: RTCSessionDescriptionInit) => {
212
+ return new PeerProxyStep(async (offer: MockRTCSessionDescription) => {
212
213
  const response = await channel.request<
213
- { offer: RTCSessionDescriptionInit },
214
- { answer: RTCSessionDescriptionInit }
214
+ { offer: MockRTCSessionDescription },
215
+ { answer: MockRTCSessionDescription }
215
216
  >({ offer });
216
217
  return response.answer;
217
218
  });
@@ -9,6 +9,10 @@ import type {
9
9
  } from "./mockrtc";
10
10
  import { MockRTCClient, MockRTCClientOptions } from "./client/mockrtc-client";
11
11
 
12
+ // Export the required structures to remotely build and send rules to the admin API:
13
+ export * as HandlerStepDefinitions from "./handling/handler-step-definitions";
14
+ export { MockRTCAdminRequestBuilder } from "./client/mockrtc-admin-request-builder";
15
+
12
16
  export type {
13
17
  MockRTC,
14
18
  MockRTCOptions
package/src/main.ts CHANGED
@@ -6,7 +6,12 @@
6
6
  import {
7
7
  MockRTC,
8
8
  MockRTCOptions,
9
- MockRTCPeerBuilder
9
+ MockRTCPeerBuilder,
10
+ MockRTCEvent,
11
+ MockRTCEventData,
12
+ MockRTCSessionDescription,
13
+ SelectedRTCCandidate,
14
+ TimingEvents
10
15
  } from "./mockrtc";
11
16
 
12
17
  import { MockRTCServer } from "./server/mockrtc-server";
@@ -15,8 +20,11 @@ export { MockRTCAdminPlugin } from "./server/mockrtc-admin-plugin";
15
20
 
16
21
  import { MockRTCClient, MockRTCClientOptions } from "./client/mockrtc-client";
17
22
 
23
+ // Export the required structures to remotely build and send rules to the admin API:
24
+ export * as HandlerStepDefinitions from "./handling/handler-step-definitions";
25
+ export { MockRTCAdminRequestBuilder } from "./client/mockrtc-admin-request-builder";
26
+
18
27
  // Re-export lots of types are used in various APIs (mostly to make TypeDoc happy):
19
- export type { HandlerStepDefinition } from "./handling/handler-step-definitions";
20
28
  export type { HandlerStep } from "./handling/handler-steps";
21
29
  export type { MockRTCHandlerBuilder } from "./handling/handler-builder";
22
30
 
@@ -35,7 +43,12 @@ export type {
35
43
  MockRTCOptions,
36
44
  MockRTCClientOptions,
37
45
  MockRTCPeerBuilder,
38
- MockRTCAdminServer
46
+ MockRTCAdminServer,
47
+ MockRTCEvent,
48
+ MockRTCEventData,
49
+ MockRTCSessionDescription,
50
+ SelectedRTCCandidate,
51
+ TimingEvents
39
52
  };
40
53
 
41
54
  export type {
@@ -47,7 +60,8 @@ export type {
47
60
  MockRTCExternalOfferParams,
48
61
  MockRTCExternalAnswerParams,
49
62
  OfferOptions,
50
- AnswerOptions
63
+ AnswerOptions,
64
+ ConnectionMetadata
51
65
  } from './mockrtc-peer';
52
66
 
53
67
  export {