@waku/sds 0.0.6-ced989a.0 → 0.0.6-e1212cc.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 (32) hide show
  1. package/bundle/index.js +22879 -5883
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/message_channel/command_queue.d.ts +1 -1
  6. package/dist/message_channel/events.d.ts +3 -85
  7. package/dist/message_channel/events.js +1 -137
  8. package/dist/message_channel/events.js.map +1 -1
  9. package/dist/message_channel/index.d.ts +1 -0
  10. package/dist/message_channel/index.js +1 -0
  11. package/dist/message_channel/index.js.map +1 -1
  12. package/dist/message_channel/mem_local_history.d.ts +7 -7
  13. package/dist/message_channel/mem_local_history.js +18 -32
  14. package/dist/message_channel/mem_local_history.js.map +1 -1
  15. package/dist/message_channel/message.d.ts +83 -0
  16. package/dist/message_channel/message.js +139 -0
  17. package/dist/message_channel/message.js.map +1 -0
  18. package/dist/message_channel/message_channel.d.ts +4 -3
  19. package/dist/message_channel/message_channel.js +7 -7
  20. package/dist/message_channel/message_channel.js.map +1 -1
  21. package/package.json +1 -1
  22. package/src/index.ts +2 -1
  23. package/src/message_channel/command_queue.ts +1 -1
  24. package/src/message_channel/events.ts +3 -175
  25. package/src/message_channel/index.ts +13 -0
  26. package/src/message_channel/mem_local_history.ts +37 -43
  27. package/src/message_channel/message.ts +175 -0
  28. package/src/message_channel/message_channel.ts +13 -15
  29. package/dist/message_channel/sorted_array_base.d.ts +0 -50
  30. package/dist/message_channel/sorted_array_base.js +0 -199
  31. package/dist/message_channel/sorted_array_base.js.map +0 -1
  32. package/src/message_channel/sorted_array_base.ts +0 -306
@@ -1 +1 @@
1
- {"version":3,"file":"message_channel.js","sourceRoot":"","sources":["../../src/message_channel/message_channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAkC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAEL,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EAEb,mBAAmB,EAInB,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAE1C,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAuBnD,MAAM,OAAO,cAAe,SAAQ,iBAAuC;IACzD,SAAS,CAAY;IACrB,QAAQ,CAAW;IAC3B,gBAAgB,CAAS;IACzB,MAAM,CAAqB;IAC3B,cAAc,CAAmB;IACjC,YAAY,CAAyB;IACrC,cAAc,CAAsC;IACpD,YAAY,CAAgB;IAC5B,YAAY,CAAyB;IAC5B,iBAAiB,CAAS;IAC1B,qBAAqB,CAAS;IAC9B,mCAAmC,CAAU;IAEtD,KAAK,GAAW,EAAE,CAAC;IACnB,QAAQ,GAAa;QAC3B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EACnB,MAAoC,EACrB,EAAE;YACjB,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,CAAC;QACD,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EACtB,MAAuC,EACxB,EAAE;YACjB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAC5B,MAA6C,EAC9B,EAAE;YACjB,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5E,CAAC;KACF,CAAC;IAEF,YACE,SAAoB,EACpB,QAAkB,EAClB,UAAiC,EAAE,EACnC,eAA8B,IAAI,eAAe,EAAE;QAEnD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB;YACpB,OAAO,CAAC,iBAAiB,IAAI,2BAA2B,CAAC;QAC3D,4FAA4F;QAC5F,IAAI,CAAC,qBAAqB;YACxB,OAAO,CAAC,qBAAqB,IAAI,+BAA+B,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,mCAAmC;YACtC,OAAO,CAAC,mCAAmC,CAAC;IAChD,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,OAAmB;QAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,KAAK,CAAC,YAAY;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,KAAK,CAAC,mBAAmB,CAC9B,OAAmB,EACnB,QAGE;QAEF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,MAAM,EAAE;gBACN,OAAO;gBACP,QAAQ;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,4BAA4B,CACvC,OAAmB,EACnB,QAA0D;QAE1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,OAAO,CAAC,aAAa;YAC9B,MAAM,EAAE;gBACN,OAAO;gBACP,QAAQ;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,mBAAmB,CAAC,OAAgB;QACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE;gBACN,OAAO;aACR;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,mBAAmB;QACxB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAIpD,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE;YAC/B,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,QAAQ,EACb,0BAA0B,EAC1B,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAChD,CAAC;YACF,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CACtD,CAAC,mBAAmB,EAAE,EAAE,CACtB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CACrB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,KAAK,mBAAmB,CAAC,SAAS,CAC/D,CACJ,CAAC;YACF,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9D,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,kBAAkB,EAAE;wBACzD,MAAM,EAAE,OAAO,CAAC,SAAS;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,CAAC;YACD,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,QAAQ,EACb,OAAO,CAAC,SAAS,EACjB,yBAAyB,EACzB,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAC9C,CAAC;YAEF,uFAAuF;YACvF,iHAAiH;YACjH,IAAI,IAAI,CAAC,mCAAmC,EAAE,CAAC;gBAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9D,IACE,YAAY;oBACZ,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC,mCAAmC,EACpE,CAAC;oBACD,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,0BAA0B,EAAE;wBACjE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;qBACxC,CAAC,CAAC;oBACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,mBAAmB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACzC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC9B,OAAO;aACR,CAAC;QACJ,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,KAAK,EAAkB,EAAE,OAAO,EAAE,IAAI,GAAG,EAAgB,EAAE,CAC1E,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAE7B,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,gBAAgB,EAAE;YACvD,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;SAC5B,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,kEAAkE;IAC3D,mBAAmB;QAIxB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAI/B,CAAC,EAAE,cAAc,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,OAAO;oBACL,cAAc;oBACd,oBAAoB,EAAE,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC;iBAC3D,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC9C,oBAAoB;aACrB,CAAC;QACJ,CAAC,EACD;YACE,cAAc,EAAE,IAAI,KAAK,EAAkB;YAC3C,oBAAoB,EAAE,IAAI,KAAK,EAAkB;SAClD,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,uBAAuB,CAClC,QAAqD;QAErD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,WAAW;QAC7B,wCAAwC;QACxC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EACjD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY;aACd,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;aAC9B,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE;YACpC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;QACtC,CAAC,CAAC,EACJ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EACrB,SAAS,CACV,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,EAAE;oBAClD,MAAM,EAAE,OAAO;iBAChB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CACP,uDAAuD,EACvD,KAAK,CACN,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,OAAgB;QAC3C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,WAAW,GACf,OAAO,CAAC,OAAO;YACf,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,QAAQ,EACb,gCAAgC,EAChC,OAAO,CAAC,SAAS,CAClB,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;QAChE,IAAI,oBAAoB,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,qDAAqD;QACrD,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,KAAK,CACP,IAAI,CAAC,QAAQ,EACb,kFAAkF,EAClF,OAAO,CACR,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,cAAc,EAAE;gBACrD,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;gBACxD,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CACtD,CAAC,mBAAmB,EAAE,EAAE,CACtB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CACrB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,KAAK,mBAAmB,CAAC,SAAS,CAC/D,CACJ,CAAC;QAEF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,QAAQ,EACb,OAAO,CAAC,SAAS,EACjB,yBAAyB,EACzB,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAC9C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,kBAAkB,EAAE;oBACzD,MAAM,EAAE,OAAO,CAAC,SAAS;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAoB,IAAa;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,OAAO,CAAC,IAAI,CAAC,MAA2B,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,WAAW,EAAE;gBAC3B,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;aAC9D,CAAC,CACH,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE;gBAChD,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,KAAQ,EACR,SAA2B;QAE3B,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,4BAA4B,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAAmB,EACnB,QAGE;QAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAEvD,gDAAgD;QAChD,gEAAgE;QAChE,8DAA8D;QAE9D,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACpC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAC1C,CAAC;QAEF,qBAAqB;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;YAC1D,OAAO,GAAG,IAAI,cAAc,CAC1B,SAAS,EACT,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY;iBACd,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;iBAC9B,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE;gBACpC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;YACtC,CAAC,CAAC,EACJ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EACrB,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC3D,6EAA6E;gBAC7E,6BAA6B;gBAC7B,IAAI,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC7C,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,cAAc,EAAE;wBACrD,MAAM,EAAE,OAAO;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;gBACvE,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,OAAmB,EACnB,QAA0D;QAE1D,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAClC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,EACpC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,EAAE,EACF,SAAS,EACT,SAAS,EACT,OAAO,CACR,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CACP,6DAA6D,EAC7D,KAAK,CACN,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,uDAAuD;IAC/C,cAAc,CACpB,OAAuB,EACvB,aAA0B;QAE1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,iDAAiD;YACjD,qDAAqD;YACrD,sCAAsC;YACtC,uDAAuD;YACvD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACnD,CAAC;QAED,wCAAwC;QACxC,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CACjD,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CACnD,CAAC;QAEF,0DAA0D;QAC1D,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mGAAmG;IACnG,8EAA8E;IAC9E,yDAAyD;IACjD,eAAe,CAAC,eAAwB;QAC9C,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,QAAQ,EACb,4CAA4C,EAC5C,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CACxD,CAAC;QACF,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,QAAQ,EACb,0BAA0B,EAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAC5C,CAAC;QACF,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;YACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAC9C,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE;gBACjC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAAC;gBAC3D,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,sBAAsB,EAAE;oBAC7D,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACf,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,SAAS,CACrD,eAAe,CAAC,WAAW,EAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CACpB,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3D,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,oFAAoF;YACpF,8EAA8E;YAC9E,6DAA6D;YAC7D,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAChD,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,QAAQ,EACb,+BAA+B,EAC/B,OAAO,CAAC,SAAS,EACjB,KAAK,CACN,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,8BAA8B,EAAE;oBACrE,MAAM,EAAE;wBACN,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK;qBACN;iBACF,CAAC,CAAC;gBACH,gEAAgE;gBAChE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,iDAAiD;YACjD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,sBAAsB,EAAE;gBAC7D,MAAM,EAAE,OAAO,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"message_channel.js","sourceRoot":"","sources":["../../src/message_channel/message_channel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@waku/sds","version":"0.0.6-ced989a.0","description":"Scalable Data Sync implementation for the browser. Based on https://github.com/vacp2p/rfc-index/blob/main/vac/raw/sds.md","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"typesVersions":{"*":{"*":["*","dist/*","dist/*/index"]}},"type":"module","author":"Waku Team","homepage":"https://github.com/waku-org/js-waku/tree/master/packages/scalable-data-sync#readme","repository":{"type":"git","url":"https://github.com/waku-org/js-waku.git"},"bugs":{"url":"https://github.com/waku-org/js-waku/issues"},"license":"MIT OR Apache-2.0","keywords":["waku","decentralized","secure","communication","web3","ethereum","dapps","privacy"],"scripts":{"build":"run-s build:**","build:esm":"tsc","build:bundle":"rollup --config rollup.config.js","fix":"run-s fix:*","fix:lint":"eslint src *.js --fix","check":"run-s check:*","check:lint":"eslint src *.js","check:spelling":"cspell \"{README.md,src/**/*.ts}\"","check:tsc":"tsc -p tsconfig.dev.json","prepublish":"npm run build","reset-hard":"git clean -dfx -e .idea && git reset --hard && npm i && npm run build","test":"NODE_ENV=test run-s test:*","test:node":"NODE_ENV=test TS_NODE_PROJECT=./tsconfig.dev.json mocha","test:browser":"NODE_ENV=test karma start karma.conf.cjs"},"engines":{"node":">=22"},"dependencies":{"@libp2p/interface":"2.10.4","@noble/hashes":"^1.7.1","@waku/proto":"0.0.13-ced989a.0","@waku/utils":"0.0.26-ced989a.0","chai":"^5.1.2"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.3","@waku/build-utils":"*","allure-commandline":"^2.27.0","allure-mocha":"^2.9.2","cspell":"^8.6.1","fast-check":"^3.19.0","mocha-multi-reporters":"^1.5.1","npm-run-all":"^4.1.5","rollup":"^4.12.0"},"files":["dist","bundle","src/**/*.ts","!**/*.spec.*","!**/*.json","CHANGELOG.md","LICENSE","README.md"]}
1
+ {"name":"@waku/sds","version":"0.0.6-e1212cc.0","description":"Scalable Data Sync implementation for the browser. Based on https://github.com/vacp2p/rfc-index/blob/main/vac/raw/sds.md","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"typesVersions":{"*":{"*":["*","dist/*","dist/*/index"]}},"type":"module","author":"Waku Team","homepage":"https://github.com/waku-org/js-waku/tree/master/packages/scalable-data-sync#readme","repository":{"type":"git","url":"https://github.com/waku-org/js-waku.git"},"bugs":{"url":"https://github.com/waku-org/js-waku/issues"},"license":"MIT OR Apache-2.0","keywords":["waku","decentralized","secure","communication","web3","ethereum","dapps","privacy"],"scripts":{"build":"run-s build:**","build:esm":"tsc","build:bundle":"rollup --config rollup.config.js","fix":"run-s fix:*","fix:lint":"eslint src *.js --fix","check":"run-s check:*","check:lint":"eslint src *.js","check:spelling":"cspell \"{README.md,src/**/*.ts}\"","check:tsc":"tsc -p tsconfig.dev.json","prepublish":"npm run build","reset-hard":"git clean -dfx -e .idea && git reset --hard && npm i && npm run build","test":"NODE_ENV=test run-s test:*","test:node":"NODE_ENV=test TS_NODE_PROJECT=./tsconfig.dev.json mocha","test:browser":"NODE_ENV=test karma start karma.conf.cjs"},"engines":{"node":">=22"},"dependencies":{"@libp2p/interface":"2.10.4","@noble/hashes":"^1.7.1","@waku/proto":"0.0.13-e1212cc.0","@waku/utils":"0.0.26-e1212cc.0","chai":"^5.1.2","lodash":"^4.17.21"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.3","@waku/build-utils":"*","allure-commandline":"^2.27.0","allure-mocha":"^2.9.2","cspell":"^8.6.1","fast-check":"^3.19.0","mocha-multi-reporters":"^1.5.1","npm-run-all":"^4.1.5","rollup":"^4.12.0"},"files":["dist","bundle","src/**/*.ts","!**/*.spec.*","!**/*.json","CHANGELOG.md","LICENSE","README.md"]}
package/src/index.ts CHANGED
@@ -14,7 +14,8 @@ export {
14
14
  type HistoryEntry,
15
15
  type ChannelId,
16
16
  type MessageChannelEvents,
17
- type SenderId
17
+ type SenderId,
18
+ type MessageId
18
19
  } from "./message_channel/index.js";
19
20
 
20
21
  export { BloomFilter };
@@ -1,4 +1,4 @@
1
- import { ContentMessage, EphemeralMessage, Message } from "./events.js";
1
+ import { ContentMessage, EphemeralMessage, Message } from "./message.js";
2
2
 
3
3
  export enum Command {
4
4
  Send = "send",
@@ -1,4 +1,4 @@
1
- import { proto_sds_message } from "@waku/proto";
1
+ import { HistoryEntry, Message, MessageId } from "./message.js";
2
2
 
3
3
  export enum MessageChannelEvent {
4
4
  OutMessageSent = "sds:out:message-sent",
@@ -9,182 +9,10 @@ export enum MessageChannelEvent {
9
9
  InMessageMissing = "sds:in:message-missing",
10
10
  OutSyncSent = "sds:out:sync-sent",
11
11
  InSyncReceived = "sds:in:sync-received",
12
- InMessageIrretrievablyLost = "sds:in:message-irretrievably-lost",
12
+ InMessageLost = "sds:in:message-irretrievably-lost",
13
13
  ErrorTask = "sds:error-task"
14
14
  }
15
15
 
16
- export type MessageId = string;
17
- export type HistoryEntry = proto_sds_message.HistoryEntry;
18
- export type ChannelId = string;
19
- export type SenderId = string;
20
-
21
- export class Message implements proto_sds_message.SdsMessage {
22
- public constructor(
23
- public messageId: string,
24
- public channelId: string,
25
- public senderId: string,
26
- public causalHistory: proto_sds_message.HistoryEntry[],
27
- public lamportTimestamp?: number | undefined,
28
- public bloomFilter?: Uint8Array<ArrayBufferLike> | undefined,
29
- public content?: Uint8Array<ArrayBufferLike> | undefined,
30
- /**
31
- * Not encoded, set after it is sent, used to include in follow-up messages
32
- */
33
- public retrievalHint?: Uint8Array | undefined
34
- ) {}
35
-
36
- public encode(): Uint8Array {
37
- return proto_sds_message.SdsMessage.encode(this);
38
- }
39
-
40
- public static decode(data: Uint8Array): Message {
41
- const {
42
- messageId,
43
- channelId,
44
- senderId,
45
- causalHistory,
46
- lamportTimestamp,
47
- bloomFilter,
48
- content
49
- } = proto_sds_message.SdsMessage.decode(data);
50
- return new Message(
51
- messageId,
52
- channelId,
53
- senderId,
54
- causalHistory,
55
- lamportTimestamp,
56
- bloomFilter,
57
- content
58
- );
59
- }
60
- }
61
-
62
- export class SyncMessage extends Message {
63
- public constructor(
64
- public messageId: string,
65
- public channelId: string,
66
- public senderId: string,
67
- public causalHistory: proto_sds_message.HistoryEntry[],
68
- public lamportTimestamp: number,
69
- public bloomFilter: Uint8Array<ArrayBufferLike> | undefined,
70
- public content: undefined,
71
- /**
72
- * Not encoded, set after it is sent, used to include in follow-up messages
73
- */
74
- public retrievalHint?: Uint8Array | undefined
75
- ) {
76
- super(
77
- messageId,
78
- channelId,
79
- senderId,
80
- causalHistory,
81
- lamportTimestamp,
82
- bloomFilter,
83
- content,
84
- retrievalHint
85
- );
86
- }
87
- }
88
-
89
- export function isSyncMessage(
90
- message: Message | ContentMessage | SyncMessage | EphemeralMessage
91
- ): message is SyncMessage {
92
- return Boolean(
93
- "lamportTimestamp" in message &&
94
- typeof message.lamportTimestamp === "number" &&
95
- (message.content === undefined || message.content.length === 0)
96
- );
97
- }
98
-
99
- export class EphemeralMessage extends Message {
100
- public constructor(
101
- public messageId: string,
102
- public channelId: string,
103
- public senderId: string,
104
- public causalHistory: proto_sds_message.HistoryEntry[],
105
- public lamportTimestamp: undefined,
106
- public bloomFilter: Uint8Array<ArrayBufferLike> | undefined,
107
- public content: Uint8Array<ArrayBufferLike>,
108
- /**
109
- * Not encoded, set after it is sent, used to include in follow-up messages
110
- */
111
- public retrievalHint?: Uint8Array | undefined
112
- ) {
113
- if (!content || !content.length) {
114
- throw Error("Ephemeral Message must have content");
115
- }
116
- super(
117
- messageId,
118
- channelId,
119
- senderId,
120
- causalHistory,
121
- lamportTimestamp,
122
- bloomFilter,
123
- content,
124
- retrievalHint
125
- );
126
- }
127
- }
128
-
129
- export function isEphemeralMessage(
130
- message: Message | ContentMessage | SyncMessage | EphemeralMessage
131
- ): message is EphemeralMessage {
132
- return Boolean(
133
- message.lamportTimestamp === undefined &&
134
- "content" in message &&
135
- message.content &&
136
- message.content.length
137
- );
138
- }
139
-
140
- export class ContentMessage extends Message {
141
- public constructor(
142
- public messageId: string,
143
- public channelId: string,
144
- public senderId: string,
145
- public causalHistory: proto_sds_message.HistoryEntry[],
146
- public lamportTimestamp: number,
147
- public bloomFilter: Uint8Array<ArrayBufferLike> | undefined,
148
- public content: Uint8Array<ArrayBufferLike>,
149
- /**
150
- * Not encoded, set after it is sent, used to include in follow-up messages
151
- */
152
- public retrievalHint?: Uint8Array | undefined
153
- ) {
154
- if (!content.length) {
155
- throw Error("Content Message must have content");
156
- }
157
- super(
158
- messageId,
159
- channelId,
160
- senderId,
161
- causalHistory,
162
- lamportTimestamp,
163
- bloomFilter,
164
- content,
165
- retrievalHint
166
- );
167
- }
168
-
169
- public static compare(a: ContentMessage, b: ContentMessage): number {
170
- if (a.lamportTimestamp !== b.lamportTimestamp) {
171
- return a.lamportTimestamp - b.lamportTimestamp;
172
- }
173
- return a.messageId.localeCompare(b.messageId);
174
- }
175
- }
176
-
177
- export function isContentMessage(
178
- message: Message | ContentMessage
179
- ): message is ContentMessage {
180
- return Boolean(
181
- "lamportTimestamp" in message &&
182
- typeof message.lamportTimestamp === "number" &&
183
- message.content &&
184
- message.content.length
185
- );
186
- }
187
-
188
16
  export type MessageChannelEvents = {
189
17
  [MessageChannelEvent.OutMessageSent]: CustomEvent<Message>;
190
18
  [MessageChannelEvent.InMessageDelivered]: CustomEvent<MessageId>;
@@ -195,7 +23,7 @@ export type MessageChannelEvents = {
195
23
  count: number;
196
24
  }>;
197
25
  [MessageChannelEvent.InMessageMissing]: CustomEvent<HistoryEntry[]>;
198
- [MessageChannelEvent.InMessageIrretrievablyLost]: CustomEvent<HistoryEntry[]>;
26
+ [MessageChannelEvent.InMessageLost]: CustomEvent<HistoryEntry[]>;
199
27
  [MessageChannelEvent.OutSyncSent]: CustomEvent<Message>;
200
28
  [MessageChannelEvent.InSyncReceived]: CustomEvent<Message>;
201
29
  [MessageChannelEvent.ErrorTask]: CustomEvent<any>;
@@ -1,3 +1,16 @@
1
1
  export * from "./command_queue.js";
2
2
  export * from "./events.js";
3
3
  export * from "./message_channel.js";
4
+ export {
5
+ ChannelId,
6
+ ContentMessage,
7
+ EphemeralMessage,
8
+ HistoryEntry,
9
+ Message,
10
+ MessageId,
11
+ SenderId,
12
+ SyncMessage,
13
+ isContentMessage,
14
+ isEphemeralMessage,
15
+ isSyncMessage
16
+ } from "./message.js";
@@ -1,5 +1,6 @@
1
- import { ContentMessage } from "./events.js";
2
- import { SortedArrayBase } from "./sorted_array_base.js";
1
+ import _ from "lodash";
2
+
3
+ import { ContentMessage, isContentMessage } from "./message.js";
3
4
 
4
5
  /**
5
6
  * In-Memory implementation of a local store of messages.
@@ -10,63 +11,56 @@ import { SortedArrayBase } from "./sorted_array_base.js";
10
11
  *
11
12
  * Only stores content message: `message.lamportTimestamp` and `message.content` are present.
12
13
  */
13
- export class MemLocalHistory extends SortedArrayBase<ContentMessage> {
14
- protected getCompareFn(): (a: ContentMessage, b: ContentMessage) => number {
15
- return ContentMessage.compare;
14
+ export class MemLocalHistory {
15
+ private items: ContentMessage[] = [];
16
+
17
+ public get length(): number {
18
+ return this.items.length;
16
19
  }
17
20
 
18
21
  public push(...items: ContentMessage[]): number {
19
22
  for (const item of items) {
20
- this.validateAndAddMessage(item);
23
+ this.validateMessage(item);
21
24
  }
22
- this.sort();
25
+
26
+ // Add new items and ensure uniqueness by messageId using sortedUniqBy
27
+ // The valueOf() method on ContentMessage enables native < operator sorting
28
+ this.items = _.sortedUniqBy([...this.items, ...items], "messageId");
29
+
23
30
  return this.items.length;
24
31
  }
25
32
 
26
- public unshift(...items: ContentMessage[]): number {
27
- for (const item of items) {
28
- this.validateMessage(item);
29
- }
30
- const result = this.items.unshift(...items);
31
- this.sort();
32
- return result;
33
+ public some(
34
+ predicate: (
35
+ value: ContentMessage,
36
+ index: number,
37
+ array: ContentMessage[]
38
+ ) => unknown,
39
+ thisArg?: any
40
+ ): boolean {
41
+ return this.items.some(predicate, thisArg);
42
+ }
43
+
44
+ public slice(start?: number, end?: number): ContentMessage[] {
45
+ return this.items.slice(start, end);
33
46
  }
34
47
 
35
- public fill(
36
- value: ContentMessage,
37
- start?: number,
38
- end?: number
39
- ): ContentMessage[] {
40
- this.validateMessage(value);
41
- this.items.fill(value, start, end);
42
- this.sort();
43
- return this.items;
48
+ public find(
49
+ predicate: (
50
+ value: ContentMessage,
51
+ index: number,
52
+ obj: ContentMessage[]
53
+ ) => unknown,
54
+ thisArg?: any
55
+ ): ContentMessage | undefined {
56
+ return this.items.find(predicate, thisArg);
44
57
  }
45
58
 
46
59
  private validateMessage(message: ContentMessage): void {
47
- if (
48
- !message.lamportTimestamp ||
49
- !message.content ||
50
- !message.content.length ||
51
- !message.messageId
52
- ) {
60
+ if (!isContentMessage(message)) {
53
61
  throw new Error(
54
62
  "Message must have lamportTimestamp and content defined, sync and ephemeral messages cannot be stored"
55
63
  );
56
64
  }
57
65
  }
58
-
59
- private validateAndAddMessage(newMessage: ContentMessage): void {
60
- this.validateMessage(newMessage);
61
-
62
- // Check if the entry is already present
63
- const existingHistoryEntry = this.items.find(
64
- ({ messageId }) => newMessage.messageId === messageId
65
- );
66
-
67
- // If history entry is already present, no need to re-add
68
- if (!existingHistoryEntry) {
69
- this.items.push(newMessage);
70
- }
71
- }
72
66
  }
@@ -0,0 +1,175 @@
1
+ import { proto_sds_message } from "@waku/proto";
2
+
3
+ export type MessageId = string;
4
+ export type HistoryEntry = proto_sds_message.HistoryEntry;
5
+ export type ChannelId = string;
6
+ export type SenderId = string;
7
+
8
+ export class Message implements proto_sds_message.SdsMessage {
9
+ public constructor(
10
+ public messageId: string,
11
+ public channelId: string,
12
+ public senderId: string,
13
+ public causalHistory: proto_sds_message.HistoryEntry[],
14
+ public lamportTimestamp?: number | undefined,
15
+ public bloomFilter?: Uint8Array<ArrayBufferLike> | undefined,
16
+ public content?: Uint8Array<ArrayBufferLike> | undefined,
17
+ /**
18
+ * Not encoded, set after it is sent, used to include in follow-up messages
19
+ */
20
+ public retrievalHint?: Uint8Array | undefined
21
+ ) {}
22
+
23
+ public encode(): Uint8Array {
24
+ return proto_sds_message.SdsMessage.encode(this);
25
+ }
26
+
27
+ public static decode(data: Uint8Array): Message {
28
+ const {
29
+ messageId,
30
+ channelId,
31
+ senderId,
32
+ causalHistory,
33
+ lamportTimestamp,
34
+ bloomFilter,
35
+ content
36
+ } = proto_sds_message.SdsMessage.decode(data);
37
+ return new Message(
38
+ messageId,
39
+ channelId,
40
+ senderId,
41
+ causalHistory,
42
+ lamportTimestamp,
43
+ bloomFilter,
44
+ content
45
+ );
46
+ }
47
+ }
48
+
49
+ export class SyncMessage extends Message {
50
+ public constructor(
51
+ public messageId: string,
52
+ public channelId: string,
53
+ public senderId: string,
54
+ public causalHistory: proto_sds_message.HistoryEntry[],
55
+ public lamportTimestamp: number,
56
+ public bloomFilter: Uint8Array<ArrayBufferLike> | undefined,
57
+ public content: undefined,
58
+ /**
59
+ * Not encoded, set after it is sent, used to include in follow-up messages
60
+ */
61
+ public retrievalHint?: Uint8Array | undefined
62
+ ) {
63
+ super(
64
+ messageId,
65
+ channelId,
66
+ senderId,
67
+ causalHistory,
68
+ lamportTimestamp,
69
+ bloomFilter,
70
+ content,
71
+ retrievalHint
72
+ );
73
+ }
74
+ }
75
+
76
+ export function isSyncMessage(
77
+ message: Message | ContentMessage | SyncMessage | EphemeralMessage
78
+ ): message is SyncMessage {
79
+ return Boolean(
80
+ "lamportTimestamp" in message &&
81
+ typeof message.lamportTimestamp === "number" &&
82
+ (message.content === undefined || message.content.length === 0)
83
+ );
84
+ }
85
+
86
+ export class EphemeralMessage extends Message {
87
+ public constructor(
88
+ public messageId: string,
89
+ public channelId: string,
90
+ public senderId: string,
91
+ public causalHistory: proto_sds_message.HistoryEntry[],
92
+ public lamportTimestamp: undefined,
93
+ public bloomFilter: Uint8Array<ArrayBufferLike> | undefined,
94
+ public content: Uint8Array<ArrayBufferLike>,
95
+ /**
96
+ * Not encoded, set after it is sent, used to include in follow-up messages
97
+ */
98
+ public retrievalHint?: Uint8Array | undefined
99
+ ) {
100
+ if (!content || !content.length) {
101
+ throw Error("Ephemeral Message must have content");
102
+ }
103
+ super(
104
+ messageId,
105
+ channelId,
106
+ senderId,
107
+ causalHistory,
108
+ lamportTimestamp,
109
+ bloomFilter,
110
+ content,
111
+ retrievalHint
112
+ );
113
+ }
114
+ }
115
+
116
+ export function isEphemeralMessage(
117
+ message: Message | ContentMessage | SyncMessage | EphemeralMessage
118
+ ): message is EphemeralMessage {
119
+ return Boolean(
120
+ message.lamportTimestamp === undefined &&
121
+ "content" in message &&
122
+ message.content &&
123
+ message.content.length
124
+ );
125
+ }
126
+
127
+ export class ContentMessage extends Message {
128
+ public constructor(
129
+ public messageId: string,
130
+ public channelId: string,
131
+ public senderId: string,
132
+ public causalHistory: proto_sds_message.HistoryEntry[],
133
+ public lamportTimestamp: number,
134
+ public bloomFilter: Uint8Array<ArrayBufferLike> | undefined,
135
+ public content: Uint8Array<ArrayBufferLike>,
136
+ /**
137
+ * Not encoded, set after it is sent, used to include in follow-up messages
138
+ */
139
+ public retrievalHint?: Uint8Array | undefined
140
+ ) {
141
+ if (!content.length) {
142
+ throw Error("Content Message must have content");
143
+ }
144
+ super(
145
+ messageId,
146
+ channelId,
147
+ senderId,
148
+ causalHistory,
149
+ lamportTimestamp,
150
+ bloomFilter,
151
+ content,
152
+ retrievalHint
153
+ );
154
+ }
155
+
156
+ // `valueOf` is used by comparison operands such as `<`
157
+ public valueOf(): string {
158
+ // Create a sortable string representation that matches the compare logic
159
+ // Pad lamportTimestamp to ensure proper lexicographic ordering
160
+ // Use 16 digits to handle up to Number.MAX_SAFE_INTEGER (9007199254740991)
161
+ const paddedTimestamp = this.lamportTimestamp.toString().padStart(16, "0");
162
+ return `${paddedTimestamp}_${this.messageId}`;
163
+ }
164
+ }
165
+
166
+ export function isContentMessage(
167
+ message: Message | ContentMessage
168
+ ): message is ContentMessage {
169
+ return Boolean(
170
+ "lamportTimestamp" in message &&
171
+ typeof message.lamportTimestamp === "number" &&
172
+ message.content &&
173
+ message.content.length
174
+ );
175
+ }
@@ -6,22 +6,21 @@ import { Logger } from "@waku/utils";
6
6
  import { DefaultBloomFilter } from "../bloom_filter/bloom.js";
7
7
 
8
8
  import { Command, Handlers, ParamsByAction, Task } from "./command_queue.js";
9
+ import { MessageChannelEvent, MessageChannelEvents } from "./events.js";
10
+ import { MemLocalHistory } from "./mem_local_history.js";
9
11
  import {
10
- type ChannelId,
12
+ ChannelId,
11
13
  ContentMessage,
12
14
  EphemeralMessage,
13
- type HistoryEntry,
15
+ HistoryEntry,
14
16
  isContentMessage,
15
17
  isEphemeralMessage,
16
18
  isSyncMessage,
17
19
  Message,
18
- MessageChannelEvent,
19
- MessageChannelEvents,
20
- type MessageId,
21
- type SenderId,
20
+ MessageId,
21
+ SenderId,
22
22
  SyncMessage
23
- } from "./events.js";
24
- import { MemLocalHistory } from "./mem_local_history.js";
23
+ } from "./message.js";
25
24
 
26
25
  export const DEFAULT_BLOOM_FILTER_OPTIONS = {
27
26
  capacity: 10000,
@@ -42,7 +41,7 @@ export interface MessageChannelOptions {
42
41
  *
43
42
  * @default undefined because it is coupled to processTask calls frequency
44
43
  */
45
- timeoutToMarkMessageIrretrievableMs?: number;
44
+ timeoutForLostMessagesMs?: number;
46
45
  /**
47
46
  * How many possible acks does it take to consider it a definitive ack.
48
47
  */
@@ -66,7 +65,7 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
66
65
  private timeReceived: Map<MessageId, number>;
67
66
  private readonly causalHistorySize: number;
68
67
  private readonly possibleAcksThreshold: number;
69
- private readonly timeoutToMarkMessageIrretrievableMs?: number;
68
+ private readonly timeoutForLostMessagesMs?: number;
70
69
 
71
70
  private tasks: Task[] = [];
72
71
  private handlers: Handlers = {
@@ -108,8 +107,7 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
108
107
  this.possibleAcksThreshold =
109
108
  options.possibleAcksThreshold ?? DEFAULT_POSSIBLE_ACKS_THRESHOLD;
110
109
  this.timeReceived = new Map();
111
- this.timeoutToMarkMessageIrretrievableMs =
112
- options.timeoutToMarkMessageIrretrievableMs;
110
+ this.timeoutForLostMessagesMs = options.timeoutForLostMessagesMs;
113
111
  }
114
112
 
115
113
  public static getMessageId(payload: Uint8Array): MessageId {
@@ -289,13 +287,13 @@ export class MessageChannel extends TypedEventEmitter<MessageChannelEvents> {
289
287
 
290
288
  // Optionally, if a message has not been received after a predetermined amount of time,
291
289
  // its dependencies are marked as irretrievably lost (implicitly by removing it from the buffer without delivery)
292
- if (this.timeoutToMarkMessageIrretrievableMs) {
290
+ if (this.timeoutForLostMessagesMs) {
293
291
  const timeReceived = this.timeReceived.get(message.messageId);
294
292
  if (
295
293
  timeReceived &&
296
- Date.now() - timeReceived > this.timeoutToMarkMessageIrretrievableMs
294
+ Date.now() - timeReceived > this.timeoutForLostMessagesMs
297
295
  ) {
298
- this.safeSendEvent(MessageChannelEvent.InMessageIrretrievablyLost, {
296
+ this.safeSendEvent(MessageChannelEvent.InMessageLost, {
299
297
  detail: Array.from(missingDependencies)
300
298
  });
301
299
  return { buffer, missing };