@yorkie-js/react 0.7.11 → 0.7.12
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.
- package/dist/yorkie-js-react.d.ts +38 -1
- package/dist/yorkie-js-react.es.js +131 -17
- package/dist/yorkie-js-react.es.js.map +1 -1
- package/dist/yorkie-js-react.js +130 -16
- package/dist/yorkie-js-react.js.map +1 -1
- package/package.json +3 -3
package/dist/yorkie-js-react.js
CHANGED
|
@@ -5869,7 +5869,7 @@
|
|
|
5869
5869
|
DocEventType2[DocEventType2["DOCUMENT_BROADCAST"] = 3] = "DOCUMENT_BROADCAST";
|
|
5870
5870
|
return DocEventType2;
|
|
5871
5871
|
})(DocEventType$1 || {});
|
|
5872
|
-
const file_yorkie_v1_yorkie = /* @__PURE__ */ fileDesc("
|
|
5872
|
+
const file_yorkie_v1_yorkie = /* @__PURE__ */ fileDesc("ChZ5b3JraWUvdjEveW9ya2llLnByb3RvEgl5b3JraWUudjEingEKFUFjdGl2YXRlQ2xpZW50UmVxdWVzdBISCgpjbGllbnRfa2V5GAEgASgJEkAKCG1ldGFkYXRhGAIgAygLMi4ueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVxdWVzdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIrChZBY3RpdmF0ZUNsaWVudFJlc3BvbnNlEhEKCWNsaWVudF9pZBgBIAEoCSJBChdEZWFjdGl2YXRlQ2xpZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLc3luY2hyb25vdXMYAiABKAgiGgoYRGVhY3RpdmF0ZUNsaWVudFJlc3BvbnNlIpgBChVBdHRhY2hEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEioKC2NoYW5nZV9wYWNrGAIgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSEgoKc2NoZW1hX2tleRgDIAEoCRISCgpkaXNhYmxlX2djGAQgASgIEhgKEGRpc2FibGVfcHJlc2VuY2UYBSABKAgiuQEKFkF0dGFjaERvY3VtZW50UmVzcG9uc2USEwoLZG9jdW1lbnRfaWQYASABKAkSKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxIdChVtYXhfc2l6ZV9wZXJfZG9jdW1lbnQYAyABKAUSJQoMc2NoZW1hX3J1bGVzGAQgAygLMg8ueW9ya2llLnYxLlJ1bGUSGAoQZGlzYWJsZV9wcmVzZW5jZRgFIAEoCCKLAQoVRGV0YWNoRG9jdW1lbnRSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRIqCgtjaGFuZ2VfcGFjaxgDIAEoCzIVLnlvcmtpZS52MS5DaGFuZ2VQYWNrEh4KFnJlbW92ZV9pZl9ub3RfYXR0YWNoZWQYBCABKAgiRAoWRGV0YWNoRG9jdW1lbnRSZXNwb25zZRIqCgtjaGFuZ2VfcGFjaxgCIAEoCzIVLnlvcmtpZS52MS5DaGFuZ2VQYWNrIlMKDFdhdGNoUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSMAoJcmVzb3VyY2VzGAIgAygLMh0ueW9ya2llLnYxLlJlc291cmNlRGVzY3JpcHRvciKEAQoSUmVzb3VyY2VEZXNjcmlwdG9yEjEKCGRvY3VtZW50GAEgASgLMh0ueW9ya2llLnYxLkRvY3VtZW50RGVzY3JpcHRvckgAEi8KB2NoYW5uZWwYAiABKAsyHC55b3JraWUudjEuQ2hhbm5lbERlc2NyaXB0b3JIAEIKCghyZXNvdXJjZSIpChJEb2N1bWVudERlc2NyaXB0b3ISEwoLZG9jdW1lbnRfaWQYASABKAkiKAoRQ2hhbm5lbERlc2NyaXB0b3ISEwoLY2hhbm5lbF9rZXkYASABKAkieQoNV2F0Y2hSZXNwb25zZRI4Cg5pbml0aWFsaXphdGlvbhgBIAEoCzIeLnlvcmtpZS52MS5XYXRjaEluaXRpYWxpemF0aW9uSAASJgoFZXZlbnQYAiABKAsyFS55b3JraWUudjEuV2F0Y2hFdmVudEgAQgYKBGJvZHkiRgoTV2F0Y2hJbml0aWFsaXphdGlvbhIvCg5yZXNvdXJjZV9pbml0cxgBIAMoCzIXLnlvcmtpZS52MS5SZXNvdXJjZUluaXQieAoMUmVzb3VyY2VJbml0EjAKDWRvY3VtZW50X2luaXQYASABKAsyFy55b3JraWUudjEuRG9jdW1lbnRJbml0SAASLgoMY2hhbm5lbF9pbml0GAIgASgLMhYueW9ya2llLnYxLkNoYW5uZWxJbml0SABCBgoEaW5pdCI3CgxEb2N1bWVudEluaXQSEwoLZG9jdW1lbnRfaWQYASABKAkSEgoKY2xpZW50X2lkcxgCIAMoCSJGCgtDaGFubmVsSW5pdBITCgtjaGFubmVsX2tleRgBIAEoCRIVCg1zZXNzaW9uX2NvdW50GAIgASgDEgsKA3NlcRgDIAEoAyJ7CgpXYXRjaEV2ZW50Ei0KCWRvY19ldmVudBgBIAEoCzIYLnlvcmtpZS52MS5Eb2NXYXRjaEV2ZW50SAASNQoNY2hhbm5lbF9ldmVudBgCIAEoCzIcLnlvcmtpZS52MS5DaGFubmVsV2F0Y2hFdmVudEgAQgcKBWV2ZW50IkgKDURvY1dhdGNoRXZlbnQSEwoLZG9jdW1lbnRfaWQYASABKAkSIgoFZXZlbnQYAiABKAsyEy55b3JraWUudjEuRG9jRXZlbnQiUAoRQ2hhbm5lbFdhdGNoRXZlbnQSEwoLY2hhbm5lbF9rZXkYASABKAkSJgoFZXZlbnQYAiABKAsyFy55b3JraWUudjEuQ2hhbm5lbEV2ZW50Ij4KFFdhdGNoRG9jdW1lbnRSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCSK2AQoVV2F0Y2hEb2N1bWVudFJlc3BvbnNlEkkKDmluaXRpYWxpemF0aW9uGAEgASgLMi8ueW9ya2llLnYxLldhdGNoRG9jdW1lbnRSZXNwb25zZS5Jbml0aWFsaXphdGlvbkgAEiQKBWV2ZW50GAIgASgLMhMueW9ya2llLnYxLkRvY0V2ZW50SAAaJAoOSW5pdGlhbGl6YXRpb24SEgoKY2xpZW50X2lkcxgBIAMoCUIGCgRib2R5Ij0KE1dhdGNoQ2hhbm5lbFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJIoMBChRXYXRjaENoYW5uZWxSZXNwb25zZRI5Cgtpbml0aWFsaXplZBgBIAEoCzIiLnlvcmtpZS52MS5XYXRjaENoYW5uZWxJbml0aWFsaXplZEgAEigKBWV2ZW50GAIgASgLMhcueW9ya2llLnYxLkNoYW5uZWxFdmVudEgAQgYKBGJvZHkiPQoXV2F0Y2hDaGFubmVsSW5pdGlhbGl6ZWQSFQoNc2Vzc2lvbl9jb3VudBgBIAEoAxILCgNzZXEYAiABKAMiawoVUmVtb3ZlRG9jdW1lbnRSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRIqCgtjaGFuZ2VfcGFjaxgDIAEoCzIVLnlvcmtpZS52MS5DaGFuZ2VQYWNrIkQKFlJlbW92ZURvY3VtZW50UmVzcG9uc2USKgoLY2hhbmdlX3BhY2sYASABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjayKTAQoWUHVzaFB1bGxDaGFuZ2VzUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSKgoLY2hhbmdlX3BhY2sYAyABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxIRCglwdXNoX29ubHkYBCABKAgSEgoKZGlzYWJsZV9nYxgFIAEoCCJFChdQdXNoUHVsbENoYW5nZXNSZXNwb25zZRIqCgtjaGFuZ2VfcGFjaxgBIAEoCzIVLnlvcmtpZS52MS5DaGFuZ2VQYWNrImMKFUNyZWF0ZVJldmlzaW9uUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSDQoFbGFiZWwYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkiRgoWQ3JlYXRlUmV2aXNpb25SZXNwb25zZRIsCghyZXZpc2lvbhgBIAEoCzIaLnlvcmtpZS52MS5SZXZpc2lvblN1bW1hcnkiUQoSR2V0UmV2aXNpb25SZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRITCgtyZXZpc2lvbl9pZBgDIAEoCSJDChNHZXRSZXZpc2lvblJlc3BvbnNlEiwKCHJldmlzaW9uGAEgASgLMhoueW9ya2llLnYxLlJldmlzaW9uU3VtbWFyeSJ1ChRMaXN0UmV2aXNpb25zUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSEQoJcGFnZV9zaXplGAMgASgFEg4KBm9mZnNldBgEIAEoBRISCgppc19mb3J3YXJkGAUgASgIIkYKFUxpc3RSZXZpc2lvbnNSZXNwb25zZRItCglyZXZpc2lvbnMYASADKAsyGi55b3JraWUudjEuUmV2aXNpb25TdW1tYXJ5IlUKFlJlc3RvcmVSZXZpc2lvblJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEhMKC3JldmlzaW9uX2lkGAQgASgJIhkKF1Jlc3RvcmVSZXZpc2lvblJlc3BvbnNlIj4KFEF0dGFjaENoYW5uZWxSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtjaGFubmVsX2tleRgCIAEoCSJCChVBdHRhY2hDaGFubmVsUmVzcG9uc2USEgoKc2Vzc2lvbl9pZBgBIAEoCRIVCg1zZXNzaW9uX2NvdW50GAIgASgDIlIKFERldGFjaENoYW5uZWxSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtjaGFubmVsX2tleRgCIAEoCRISCgpzZXNzaW9uX2lkGAMgASgJIi4KFURldGFjaENoYW5uZWxSZXNwb25zZRIVCg1zZXNzaW9uX2NvdW50GAEgASgDItoBChVSZWZyZXNoQ2hhbm5lbFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJEhIKCnNlc3Npb25faWQYAyABKAkSEgoKY2xpZW50X2tleRgEIAEoCRJACghtZXRhZGF0YRgFIAMoCzIuLnlvcmtpZS52MS5SZWZyZXNoQ2hhbm5lbFJlcXVlc3QuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiVgoWUmVmcmVzaENoYW5uZWxSZXNwb25zZRIVCg1zZXNzaW9uX2NvdW50GAEgASgDEhEKCWNsaWVudF9pZBgCIAEoCRISCgpzZXNzaW9uX2lkGAMgASgJIikKElBlZWtDaGFubmVsUmVxdWVzdBITCgtjaGFubmVsX2tleRgBIAEoCSIsChNQZWVrQ2hhbm5lbFJlc3BvbnNlEhUKDXNlc3Npb25fY291bnQYASABKAMiWgoQQnJvYWRjYXN0UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkSDQoFdG9waWMYAyABKAkSDwoHcGF5bG9hZBgEIAEoDCITChFCcm9hZGNhc3RSZXNwb25zZTKVDAoNWW9ya2llU2VydmljZRJXCg5BY3RpdmF0ZUNsaWVudBIgLnlvcmtpZS52MS5BY3RpdmF0ZUNsaWVudFJlcXVlc3QaIS55b3JraWUudjEuQWN0aXZhdGVDbGllbnRSZXNwb25zZSIAEl0KEERlYWN0aXZhdGVDbGllbnQSIi55b3JraWUudjEuRGVhY3RpdmF0ZUNsaWVudFJlcXVlc3QaIy55b3JraWUudjEuRGVhY3RpdmF0ZUNsaWVudFJlc3BvbnNlIgASVwoOQXR0YWNoRG9jdW1lbnQSIC55b3JraWUudjEuQXR0YWNoRG9jdW1lbnRSZXF1ZXN0GiEueW9ya2llLnYxLkF0dGFjaERvY3VtZW50UmVzcG9uc2UiABJXCg5EZXRhY2hEb2N1bWVudBIgLnlvcmtpZS52MS5EZXRhY2hEb2N1bWVudFJlcXVlc3QaIS55b3JraWUudjEuRGV0YWNoRG9jdW1lbnRSZXNwb25zZSIAElcKDlJlbW92ZURvY3VtZW50EiAueW9ya2llLnYxLlJlbW92ZURvY3VtZW50UmVxdWVzdBohLnlvcmtpZS52MS5SZW1vdmVEb2N1bWVudFJlc3BvbnNlIgASWgoPUHVzaFB1bGxDaGFuZ2VzEiEueW9ya2llLnYxLlB1c2hQdWxsQ2hhbmdlc1JlcXVlc3QaIi55b3JraWUudjEuUHVzaFB1bGxDaGFuZ2VzUmVzcG9uc2UiABI+CgVXYXRjaBIXLnlvcmtpZS52MS5XYXRjaFJlcXVlc3QaGC55b3JraWUudjEuV2F0Y2hSZXNwb25zZSIAMAESVgoNV2F0Y2hEb2N1bWVudBIfLnlvcmtpZS52MS5XYXRjaERvY3VtZW50UmVxdWVzdBogLnlvcmtpZS52MS5XYXRjaERvY3VtZW50UmVzcG9uc2UiADABElMKDFdhdGNoQ2hhbm5lbBIeLnlvcmtpZS52MS5XYXRjaENoYW5uZWxSZXF1ZXN0Gh8ueW9ya2llLnYxLldhdGNoQ2hhbm5lbFJlc3BvbnNlIgAwARJXCg5DcmVhdGVSZXZpc2lvbhIgLnlvcmtpZS52MS5DcmVhdGVSZXZpc2lvblJlcXVlc3QaIS55b3JraWUudjEuQ3JlYXRlUmV2aXNpb25SZXNwb25zZSIAEk4KC0dldFJldmlzaW9uEh0ueW9ya2llLnYxLkdldFJldmlzaW9uUmVxdWVzdBoeLnlvcmtpZS52MS5HZXRSZXZpc2lvblJlc3BvbnNlIgASVAoNTGlzdFJldmlzaW9ucxIfLnlvcmtpZS52MS5MaXN0UmV2aXNpb25zUmVxdWVzdBogLnlvcmtpZS52MS5MaXN0UmV2aXNpb25zUmVzcG9uc2UiABJaCg9SZXN0b3JlUmV2aXNpb24SIS55b3JraWUudjEuUmVzdG9yZVJldmlzaW9uUmVxdWVzdBoiLnlvcmtpZS52MS5SZXN0b3JlUmV2aXNpb25SZXNwb25zZSIAElQKDUF0dGFjaENoYW5uZWwSHy55b3JraWUudjEuQXR0YWNoQ2hhbm5lbFJlcXVlc3QaIC55b3JraWUudjEuQXR0YWNoQ2hhbm5lbFJlc3BvbnNlIgASVAoNRGV0YWNoQ2hhbm5lbBIfLnlvcmtpZS52MS5EZXRhY2hDaGFubmVsUmVxdWVzdBogLnlvcmtpZS52MS5EZXRhY2hDaGFubmVsUmVzcG9uc2UiABJXCg5SZWZyZXNoQ2hhbm5lbBIgLnlvcmtpZS52MS5SZWZyZXNoQ2hhbm5lbFJlcXVlc3QaIS55b3JraWUudjEuUmVmcmVzaENoYW5uZWxSZXNwb25zZSIAEk4KC1BlZWtDaGFubmVsEh0ueW9ya2llLnYxLlBlZWtDaGFubmVsUmVxdWVzdBoeLnlvcmtpZS52MS5QZWVrQ2hhbm5lbFJlc3BvbnNlIgASSAoJQnJvYWRjYXN0EhsueW9ya2llLnYxLkJyb2FkY2FzdFJlcXVlc3QaHC55b3JraWUudjEuQnJvYWRjYXN0UmVzcG9uc2UiAEJFChFkZXYueW9ya2llLmFwaS52MVABWi5naXRodWIuY29tL3lvcmtpZS10ZWFtL3lvcmtpZS9hcGkveW9ya2llL3YxO3YxYgZwcm90bzM", [file_yorkie_v1_resources]);
|
|
5873
5873
|
const YorkieService = /* @__PURE__ */ serviceDesc(file_yorkie_v1_yorkie, 0);
|
|
5874
5874
|
const file_google_rpc_error_details = /* @__PURE__ */ fileDesc("Ch5nb29nbGUvcnBjL2Vycm9yX2RldGFpbHMucHJvdG8SCmdvb2dsZS5ycGMikwEKCUVycm9ySW5mbxIOCgZyZWFzb24YASABKAkSDgoGZG9tYWluGAIgASgJEjUKCG1ldGFkYXRhGAMgAygLMiMuZ29vZ2xlLnJwYy5FcnJvckluZm8uTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiOwoJUmV0cnlJbmZvEi4KC3JldHJ5X2RlbGF5GAEgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIjIKCURlYnVnSW5mbxIVCg1zdGFja19lbnRyaWVzGAEgAygJEg4KBmRldGFpbBgCIAEoCSKPAwoMUXVvdGFGYWlsdXJlEjYKCnZpb2xhdGlvbnMYASADKAsyIi5nb29nbGUucnBjLlF1b3RhRmFpbHVyZS5WaW9sYXRpb24axgIKCVZpb2xhdGlvbhIPCgdzdWJqZWN0GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhMKC2FwaV9zZXJ2aWNlGAMgASgJEhQKDHF1b3RhX21ldHJpYxgEIAEoCRIQCghxdW90YV9pZBgFIAEoCRJRChBxdW90YV9kaW1lbnNpb25zGAYgAygLMjcuZ29vZ2xlLnJwYy5RdW90YUZhaWx1cmUuVmlvbGF0aW9uLlF1b3RhRGltZW5zaW9uc0VudHJ5EhMKC3F1b3RhX3ZhbHVlGAcgASgDEh8KEmZ1dHVyZV9xdW90YV92YWx1ZRgIIAEoA0gAiAEBGjYKFFF1b3RhRGltZW5zaW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCFQoTX2Z1dHVyZV9xdW90YV92YWx1ZSKVAQoTUHJlY29uZGl0aW9uRmFpbHVyZRI9Cgp2aW9sYXRpb25zGAEgAygLMikuZ29vZ2xlLnJwYy5QcmVjb25kaXRpb25GYWlsdXJlLlZpb2xhdGlvbho/CglWaW9sYXRpb24SDAoEdHlwZRgBIAEoCRIPCgdzdWJqZWN0GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIswBCgpCYWRSZXF1ZXN0Ej8KEGZpZWxkX3Zpb2xhdGlvbnMYASADKAsyJS5nb29nbGUucnBjLkJhZFJlcXVlc3QuRmllbGRWaW9sYXRpb24afQoORmllbGRWaW9sYXRpb24SDQoFZmllbGQYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSDgoGcmVhc29uGAMgASgJEjcKEWxvY2FsaXplZF9tZXNzYWdlGAQgASgLMhwuZ29vZ2xlLnJwYy5Mb2NhbGl6ZWRNZXNzYWdlIjcKC1JlcXVlc3RJbmZvEhIKCnJlcXVlc3RfaWQYASABKAkSFAoMc2VydmluZ19kYXRhGAIgASgJImAKDFJlc291cmNlSW5mbxIVCg1yZXNvdXJjZV90eXBlGAEgASgJEhUKDXJlc291cmNlX25hbWUYAiABKAkSDQoFb3duZXIYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkiVgoESGVscBIkCgVsaW5rcxgBIAMoCzIVLmdvb2dsZS5ycGMuSGVscC5MaW5rGigKBExpbmsSEwoLZGVzY3JpcHRpb24YASABKAkSCwoDdXJsGAIgASgJIjMKEExvY2FsaXplZE1lc3NhZ2USDgoGbG9jYWxlGAEgASgJEg8KB21lc3NhZ2UYAiABKAlCbAoOY29tLmdvb2dsZS5ycGNCEUVycm9yRGV0YWlsc1Byb3RvUAFaP2dvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvcnBjL2VycmRldGFpbHM7ZXJyZGV0YWlsc6ICA1JQQ2IGcHJvdG8z", [file_google_protobuf_duration]);
|
|
5875
5875
|
const ErrorInfoSchema = /* @__PURE__ */ messageDesc(file_google_rpc_error_details, 0);
|
|
@@ -17027,6 +17027,25 @@
|
|
|
17027
17027
|
setPresenceChange(presenceChange) {
|
|
17028
17028
|
this.presenceChange = presenceChange;
|
|
17029
17029
|
}
|
|
17030
|
+
/**
|
|
17031
|
+
* `hasPresenceChange` returns whether a presence change was registered
|
|
17032
|
+
* during this context. Used by `Document.update` to detect a presence
|
|
17033
|
+
* emit when the document was attached with `disablePresence: true`.
|
|
17034
|
+
*/
|
|
17035
|
+
hasPresenceChange() {
|
|
17036
|
+
return this.presenceChange !== void 0;
|
|
17037
|
+
}
|
|
17038
|
+
/**
|
|
17039
|
+
* `dropPresenceChange` clears any presence change registered during
|
|
17040
|
+
* this context. Used by `Document.update` to silently drop presence
|
|
17041
|
+
* emits on documents attached with `disablePresence: true`. After
|
|
17042
|
+
* dropping, the change carries only its operations (if any); when
|
|
17043
|
+
* the context was presence-only the resulting `hasChange()` returns
|
|
17044
|
+
* false and no `Change` is enqueued.
|
|
17045
|
+
*/
|
|
17046
|
+
dropPresenceChange() {
|
|
17047
|
+
this.presenceChange = void 0;
|
|
17048
|
+
}
|
|
17030
17049
|
/**
|
|
17031
17050
|
* `setReversePresence` registers the previous presence to undo presence updates.
|
|
17032
17051
|
*/
|
|
@@ -17050,6 +17069,16 @@
|
|
|
17050
17069
|
}
|
|
17051
17070
|
return reversePresence;
|
|
17052
17071
|
}
|
|
17072
|
+
/**
|
|
17073
|
+
* `clearReversePresence` discards any reverse-presence keys recorded
|
|
17074
|
+
* during this context. Used by `Document.update` alongside
|
|
17075
|
+
* `dropPresenceChange` for documents attached with
|
|
17076
|
+
* `disablePresence: true`, so the dropped presence emit does not push
|
|
17077
|
+
* a no-op undo entry onto the history stack.
|
|
17078
|
+
*/
|
|
17079
|
+
clearReversePresence() {
|
|
17080
|
+
this.reversePresenceKeys.clear();
|
|
17081
|
+
}
|
|
17053
17082
|
/**
|
|
17054
17083
|
* `issueTimeTicket` creates a time ticket to be used to create a new operation.
|
|
17055
17084
|
*/
|
|
@@ -20101,6 +20130,17 @@
|
|
|
20101
20130
|
// remote actors' version vectors into changeID, keeping each subsequent
|
|
20102
20131
|
// local Change's VV at O(1) for high-fan-out Counter workloads.
|
|
20103
20132
|
disableGC;
|
|
20133
|
+
// `disablePresence`, when true, declares that this document does not use
|
|
20134
|
+
// presence. The client sets it from the local option on construction and
|
|
20135
|
+
// overwrites it from the server-fixated value in the attach response. While
|
|
20136
|
+
// true, `Document.update`'s `presence.set` calls are silently dropped on
|
|
20137
|
+
// the way out (server enforcement is authoritative for the wire side).
|
|
20138
|
+
disablePresence;
|
|
20139
|
+
// `presenceDropWarned` ensures the silent-drop warning emitted by
|
|
20140
|
+
// `Document.update` for opt-in documents fires only once per document
|
|
20141
|
+
// lifetime. Otherwise long-lived counter-only documents would spam the
|
|
20142
|
+
// console on every well-meaning `presence.set` call.
|
|
20143
|
+
presenceDropWarned;
|
|
20104
20144
|
/**
|
|
20105
20145
|
* `history` is exposed to the user to manage undo/redo operations.
|
|
20106
20146
|
*/
|
|
@@ -20115,6 +20155,8 @@
|
|
|
20115
20155
|
this.checkpoint = InitialCheckpoint;
|
|
20116
20156
|
this.localChanges = [];
|
|
20117
20157
|
this.disableGC = false;
|
|
20158
|
+
this.disablePresence = !!opts?.disablePresence;
|
|
20159
|
+
this.presenceDropWarned = false;
|
|
20118
20160
|
this.root = CRDTRoot.create();
|
|
20119
20161
|
this.presences = /* @__PURE__ */ new Map();
|
|
20120
20162
|
this.onlineClients = /* @__PURE__ */ new Set();
|
|
@@ -20162,6 +20204,16 @@
|
|
|
20162
20204
|
} finally {
|
|
20163
20205
|
this.isUpdating = false;
|
|
20164
20206
|
}
|
|
20207
|
+
if (this.disablePresence && ctx.hasPresenceChange()) {
|
|
20208
|
+
ctx.dropPresenceChange();
|
|
20209
|
+
ctx.clearReversePresence();
|
|
20210
|
+
if (!this.presenceDropWarned) {
|
|
20211
|
+
this.presenceDropWarned = true;
|
|
20212
|
+
logger.warn(
|
|
20213
|
+
`[Document] "${this.key}" was attached with disablePresence=true; presence updates from Document.update are silently dropped.`
|
|
20214
|
+
);
|
|
20215
|
+
}
|
|
20216
|
+
}
|
|
20165
20217
|
const rules = this.getSchemaRules();
|
|
20166
20218
|
if (!ctx.isPresenceOnlyChange() && rules.length) {
|
|
20167
20219
|
const result = validateYorkieRuleset(this.clone?.root.getObject(), rules);
|
|
@@ -20531,6 +20583,24 @@
|
|
|
20531
20583
|
setDisableGC(disableGC) {
|
|
20532
20584
|
this.disableGC = disableGC;
|
|
20533
20585
|
}
|
|
20586
|
+
/**
|
|
20587
|
+
* `setDisablePresence` records the server-fixated presence-disabled state
|
|
20588
|
+
* of this document. The client calls this on attach (before
|
|
20589
|
+
* `applyChangePack`) so any subsequent `Document.update` invocation sees
|
|
20590
|
+
* the gating state already settled. Flipping the flag at runtime is
|
|
20591
|
+
* supported: the next `update` honours the new value.
|
|
20592
|
+
*/
|
|
20593
|
+
setDisablePresence(disablePresence) {
|
|
20594
|
+
this.disablePresence = disablePresence;
|
|
20595
|
+
}
|
|
20596
|
+
/**
|
|
20597
|
+
* `isPresenceDisabled` returns the current presence-disabled state of
|
|
20598
|
+
* this document. Reflects the server-fixated value once attached;
|
|
20599
|
+
* before attach it reflects the local construction option.
|
|
20600
|
+
*/
|
|
20601
|
+
isPresenceDisabled() {
|
|
20602
|
+
return this.disablePresence;
|
|
20603
|
+
}
|
|
20534
20604
|
/**
|
|
20535
20605
|
* `isEnableDevtools` returns whether devtools is enabled or not.
|
|
20536
20606
|
*/
|
|
@@ -21268,6 +21338,14 @@
|
|
|
21268
21338
|
* omit the response VersionVector. Documents only.
|
|
21269
21339
|
*/
|
|
21270
21340
|
disableGC;
|
|
21341
|
+
/**
|
|
21342
|
+
* `disablePresence` mirrors the server-fixated value returned by the
|
|
21343
|
+
* attach response. `pushPullChanges` does **not** read this — the
|
|
21344
|
+
* `disable_presence` wire field is request-only (set on the first
|
|
21345
|
+
* attach, ignored thereafter on the server side). Carried here for
|
|
21346
|
+
* devtools / debugging visibility. Documents only.
|
|
21347
|
+
*/
|
|
21348
|
+
disablePresence;
|
|
21271
21349
|
/**
|
|
21272
21350
|
* `unsubscribeLocalBroadcast` is set by `attachChannel` when it forwards
|
|
21273
21351
|
* a Channel's `local-broadcast` events to the RPC client, and consumed
|
|
@@ -21283,7 +21361,7 @@
|
|
|
21283
21361
|
watchAbortController;
|
|
21284
21362
|
syncPromise;
|
|
21285
21363
|
_detaching = false;
|
|
21286
|
-
constructor(reconnectStreamDelay, resource, resourceID = "", syncMode, pollInterval = 0, pollIntervalPinned = false, disableGC = false) {
|
|
21364
|
+
constructor(reconnectStreamDelay, resource, resourceID = "", syncMode, pollInterval = 0, pollIntervalPinned = false, disableGC = false, disablePresence = false) {
|
|
21287
21365
|
this.reconnectStreamDelay = reconnectStreamDelay;
|
|
21288
21366
|
this.resource = resource;
|
|
21289
21367
|
this.resourceID = resourceID;
|
|
@@ -21293,6 +21371,7 @@
|
|
|
21293
21371
|
this.pollInterval = pollInterval;
|
|
21294
21372
|
this.pollIntervalPinned = pollIntervalPinned;
|
|
21295
21373
|
this.disableGC = disableGC;
|
|
21374
|
+
this.disablePresence = disablePresence;
|
|
21296
21375
|
this.cancelled = false;
|
|
21297
21376
|
}
|
|
21298
21377
|
/**
|
|
@@ -21452,7 +21531,7 @@
|
|
|
21452
21531
|
};
|
|
21453
21532
|
}
|
|
21454
21533
|
const name$1 = "@yorkie-js/sdk";
|
|
21455
|
-
const version$1 = "0.7.
|
|
21534
|
+
const version$1 = "0.7.12";
|
|
21456
21535
|
const pkg$1 = {
|
|
21457
21536
|
name: name$1,
|
|
21458
21537
|
version: version$1
|
|
@@ -21753,7 +21832,8 @@
|
|
|
21753
21832
|
syncLoopDuration: 50,
|
|
21754
21833
|
retrySyncLoopDelay: 1e3,
|
|
21755
21834
|
reconnectStreamDelay: 1e3,
|
|
21756
|
-
channelHeartbeatInterval: DefaultChannelHeartbeatMs
|
|
21835
|
+
channelHeartbeatInterval: DefaultChannelHeartbeatMs,
|
|
21836
|
+
deactivateOnUnload: true
|
|
21757
21837
|
};
|
|
21758
21838
|
const DefaultBroadcastOptions = {
|
|
21759
21839
|
maxRetries: Infinity,
|
|
@@ -21773,6 +21853,7 @@
|
|
|
21773
21853
|
reconnectStreamDelay;
|
|
21774
21854
|
retrySyncLoopDelay;
|
|
21775
21855
|
channelHeartbeatInterval;
|
|
21856
|
+
deactivateOnUnload;
|
|
21776
21857
|
rpcClient;
|
|
21777
21858
|
setAuthToken;
|
|
21778
21859
|
taskQueue;
|
|
@@ -21806,6 +21887,7 @@
|
|
|
21806
21887
|
this.reconnectStreamDelay = opts.reconnectStreamDelay ?? DefaultClientOptions.reconnectStreamDelay;
|
|
21807
21888
|
this.retrySyncLoopDelay = opts.retrySyncLoopDelay ?? DefaultClientOptions.retrySyncLoopDelay;
|
|
21808
21889
|
this.channelHeartbeatInterval = opts.channelHeartbeatInterval ?? DefaultClientOptions.channelHeartbeatInterval;
|
|
21890
|
+
this.deactivateOnUnload = opts.deactivateOnUnload ?? DefaultClientOptions.deactivateOnUnload;
|
|
21809
21891
|
const { authInterceptor, setToken } = createAuthInterceptor(this.apiKey);
|
|
21810
21892
|
this.setAuthToken = setToken;
|
|
21811
21893
|
const transportOptions = {
|
|
@@ -21884,9 +21966,14 @@
|
|
|
21884
21966
|
this.deactivating = false;
|
|
21885
21967
|
this.runSyncLoop();
|
|
21886
21968
|
logger.info(`[AC] c:"${this.getKey()}" activated, id:"${this.id}"`);
|
|
21887
|
-
if (typeof window !== "undefined") {
|
|
21888
|
-
window.addEventListener("beforeunload",
|
|
21889
|
-
|
|
21969
|
+
if (typeof window !== "undefined" && this.deactivateOnUnload) {
|
|
21970
|
+
window.addEventListener("beforeunload", () => {
|
|
21971
|
+
void this.deactivate({ keepalive: true }).catch((err) => {
|
|
21972
|
+
logger.debug(
|
|
21973
|
+
`[DC] c:"${this.getKey()}" beforeunload deactivate failed:`,
|
|
21974
|
+
err
|
|
21975
|
+
);
|
|
21976
|
+
});
|
|
21890
21977
|
});
|
|
21891
21978
|
}
|
|
21892
21979
|
} catch (err) {
|
|
@@ -21974,7 +22061,10 @@
|
|
|
21974
22061
|
);
|
|
21975
22062
|
}
|
|
21976
22063
|
doc.setActor(this.id);
|
|
21977
|
-
|
|
22064
|
+
const resolvedDisablePresence = opts.disablePresence ?? doc.isPresenceDisabled() ?? false;
|
|
22065
|
+
if (!resolvedDisablePresence) {
|
|
22066
|
+
doc.update((_, p) => p.set(opts.initialPresence || {}));
|
|
22067
|
+
}
|
|
21978
22068
|
const syncMode = opts.syncMode ?? "realtime";
|
|
21979
22069
|
if (opts.documentPollInterval !== void 0 && opts.documentPollInterval <= 0) {
|
|
21980
22070
|
throw new YorkieError(
|
|
@@ -21991,7 +22081,8 @@
|
|
|
21991
22081
|
clientId: this.id,
|
|
21992
22082
|
changePack: converter.toChangePack(doc.createChangePack()),
|
|
21993
22083
|
schemaKey: opts.schema,
|
|
21994
|
-
disableGc: opts.disableGC ?? false
|
|
22084
|
+
disableGc: opts.disableGC ?? false,
|
|
22085
|
+
disablePresence: resolvedDisablePresence
|
|
21995
22086
|
},
|
|
21996
22087
|
{ headers: { "x-shard-key": `${this.apiKey}/${doc.getKey()}` } }
|
|
21997
22088
|
);
|
|
@@ -22004,6 +22095,7 @@
|
|
|
22004
22095
|
}
|
|
22005
22096
|
const pack = converter.fromChangePack(res.changePack);
|
|
22006
22097
|
doc.setDisableGC(opts.disableGC ?? false);
|
|
22098
|
+
doc.setDisablePresence(res.disablePresence);
|
|
22007
22099
|
doc.applyChangePack(pack);
|
|
22008
22100
|
if (doc.getStatus() === DocStatus.Removed) {
|
|
22009
22101
|
return doc;
|
|
@@ -22018,7 +22110,8 @@
|
|
|
22018
22110
|
syncMode,
|
|
22019
22111
|
pollInterval,
|
|
22020
22112
|
pollIntervalPinned,
|
|
22021
|
-
opts.disableGC ?? false
|
|
22113
|
+
opts.disableGC ?? false,
|
|
22114
|
+
res.disablePresence
|
|
22022
22115
|
)
|
|
22023
22116
|
);
|
|
22024
22117
|
if (syncMode !== "manual" && syncMode !== "polling") {
|
|
@@ -23536,7 +23629,7 @@
|
|
|
23536
23629
|
};
|
|
23537
23630
|
}
|
|
23538
23631
|
const name = "@yorkie-js/react";
|
|
23539
|
-
const version = "0.7.
|
|
23632
|
+
const version = "0.7.12";
|
|
23540
23633
|
const pkg = {
|
|
23541
23634
|
name,
|
|
23542
23635
|
version
|
|
@@ -23577,7 +23670,7 @@
|
|
|
23577
23670
|
}
|
|
23578
23671
|
activateClient();
|
|
23579
23672
|
return () => {
|
|
23580
|
-
if (activate && client?.isActive()) {
|
|
23673
|
+
if (activate && client?.isActive() && opts.deactivateOnUnload !== false) {
|
|
23581
23674
|
client.deactivate({ keepalive: true });
|
|
23582
23675
|
}
|
|
23583
23676
|
};
|
|
@@ -23725,7 +23818,7 @@
|
|
|
23725
23818
|
valueB
|
|
23726
23819
|
);
|
|
23727
23820
|
}
|
|
23728
|
-
function useYorkieDocument(client, clientLoading, clientError, docKey, initialRoot, initialPresence, enableDevtools, syncMode, documentPollInterval, disableGC, docStore) {
|
|
23821
|
+
function useYorkieDocument(client, clientLoading, clientError, docKey, initialRoot, initialPresence, enableDevtools, syncMode, documentPollInterval, disableGC, disablePresence, docStore) {
|
|
23729
23822
|
const initialRootRef = react.useRef(initialRoot);
|
|
23730
23823
|
const initialPresenceRef = react.useRef(initialPresence);
|
|
23731
23824
|
const [didMount, setDidMount] = react.useState(false);
|
|
@@ -23753,7 +23846,10 @@
|
|
|
23753
23846
|
loading: true,
|
|
23754
23847
|
error: void 0
|
|
23755
23848
|
}));
|
|
23756
|
-
const newDoc = new Document(docKey, {
|
|
23849
|
+
const newDoc = new Document(docKey, {
|
|
23850
|
+
enableDevtools,
|
|
23851
|
+
disablePresence
|
|
23852
|
+
});
|
|
23757
23853
|
const unsubs = [];
|
|
23758
23854
|
unsubs.push(
|
|
23759
23855
|
newDoc.subscribe(() => {
|
|
@@ -23786,7 +23882,8 @@
|
|
|
23786
23882
|
initialPresence: initialPresenceRef.current,
|
|
23787
23883
|
syncMode,
|
|
23788
23884
|
documentPollInterval,
|
|
23789
|
-
disableGC
|
|
23885
|
+
disableGC,
|
|
23886
|
+
disablePresence
|
|
23790
23887
|
});
|
|
23791
23888
|
const update = (callback) => {
|
|
23792
23889
|
try {
|
|
@@ -23835,7 +23932,8 @@
|
|
|
23835
23932
|
didMount,
|
|
23836
23933
|
syncMode,
|
|
23837
23934
|
documentPollInterval,
|
|
23838
|
-
disableGC
|
|
23935
|
+
disableGC,
|
|
23936
|
+
disablePresence
|
|
23839
23937
|
]);
|
|
23840
23938
|
}
|
|
23841
23939
|
const DocumentContext = react.createContext(void 0);
|
|
@@ -23847,6 +23945,7 @@
|
|
|
23847
23945
|
syncMode,
|
|
23848
23946
|
documentPollInterval,
|
|
23849
23947
|
disableGC,
|
|
23948
|
+
disablePresence,
|
|
23850
23949
|
children
|
|
23851
23950
|
}) => {
|
|
23852
23951
|
const { client, loading: clientLoading, error: clientError } = useYorkie();
|
|
@@ -23875,6 +23974,7 @@
|
|
|
23875
23974
|
syncMode,
|
|
23876
23975
|
documentPollInterval,
|
|
23877
23976
|
disableGC,
|
|
23977
|
+
disablePresence,
|
|
23878
23978
|
documentStore
|
|
23879
23979
|
);
|
|
23880
23980
|
return /* @__PURE__ */ jsxRuntime.jsx(DocumentContext.Provider, { value: documentStore, children });
|
|
@@ -23950,6 +24050,17 @@
|
|
|
23950
24050
|
);
|
|
23951
24051
|
return { createRevision, listRevisions, getRevision, restoreRevision };
|
|
23952
24052
|
};
|
|
24053
|
+
const useRemoveDocument = () => {
|
|
24054
|
+
const { client } = useYorkie();
|
|
24055
|
+
const documentStore = useDocumentStore("useRemoveDocument");
|
|
24056
|
+
const doc = useSelector(documentStore, (store) => store.doc);
|
|
24057
|
+
return react.useCallback(async () => {
|
|
24058
|
+
if (!client || !doc) {
|
|
24059
|
+
throw new Error("Client or document is not ready");
|
|
24060
|
+
}
|
|
24061
|
+
await client.remove(doc);
|
|
24062
|
+
}, [client, doc]);
|
|
24063
|
+
};
|
|
23953
24064
|
const useDocumentStore = (hookName) => {
|
|
23954
24065
|
const documentStore = react.useContext(DocumentContext);
|
|
23955
24066
|
if (!documentStore) {
|
|
@@ -23995,6 +24106,7 @@
|
|
|
23995
24106
|
opts?.syncMode,
|
|
23996
24107
|
opts?.documentPollInterval,
|
|
23997
24108
|
opts?.disableGC,
|
|
24109
|
+
opts?.disablePresence,
|
|
23998
24110
|
documentStore
|
|
23999
24111
|
);
|
|
24000
24112
|
const documentState = useSelector(documentStore);
|
|
@@ -24261,8 +24373,10 @@
|
|
|
24261
24373
|
exports2.useDocument = useDocument;
|
|
24262
24374
|
exports2.usePeekChannel = usePeekChannel;
|
|
24263
24375
|
exports2.usePresences = usePresences;
|
|
24376
|
+
exports2.useRemoveDocument = useRemoveDocument;
|
|
24264
24377
|
exports2.useRevisions = useRevisions;
|
|
24265
24378
|
exports2.useRoot = useRoot;
|
|
24379
|
+
exports2.useYorkie = useYorkie;
|
|
24266
24380
|
exports2.useYorkieDoc = useYorkieDoc;
|
|
24267
24381
|
Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
|
|
24268
24382
|
}));
|