@yorkie-js/react 0.7.7 → 0.7.9
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/README.md +1 -1
- package/dist/yorkie-js-react.d.ts +131 -6
- package/dist/yorkie-js-react.es.js +394 -88
- package/dist/yorkie-js-react.es.js.map +1 -1
- package/dist/yorkie-js-react.js +394 -88
- package/dist/yorkie-js-react.js.map +1 -1
- package/package.json +3 -3
package/dist/yorkie-js-react.js
CHANGED
|
@@ -362,7 +362,7 @@
|
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
364
|
const IMPLICIT$3 = 2;
|
|
365
|
-
const unsafeLocal = Symbol.for("reflect unsafe local");
|
|
365
|
+
const unsafeLocal = /* @__PURE__ */ Symbol.for("reflect unsafe local");
|
|
366
366
|
function unsafeOneofCase(target, oneof) {
|
|
367
367
|
const c = target[oneof.localName].case;
|
|
368
368
|
if (c === void 0) {
|
|
@@ -588,7 +588,7 @@
|
|
|
588
588
|
}
|
|
589
589
|
return ret;
|
|
590
590
|
}
|
|
591
|
-
const tokenZeroMessageField = Symbol();
|
|
591
|
+
const tokenZeroMessageField = /* @__PURE__ */ Symbol();
|
|
592
592
|
const messagePrototypes = /* @__PURE__ */ new WeakMap();
|
|
593
593
|
function createZeroMessage(desc) {
|
|
594
594
|
let msg;
|
|
@@ -690,7 +690,7 @@
|
|
|
690
690
|
function isFieldError(arg) {
|
|
691
691
|
return arg instanceof Error && errorNames.includes(arg.name) && "field" in arg && typeof arg.field == "function";
|
|
692
692
|
}
|
|
693
|
-
const symbol = Symbol.for("@bufbuild/protobuf/text-encoding");
|
|
693
|
+
const symbol = /* @__PURE__ */ Symbol.for("@bufbuild/protobuf/text-encoding");
|
|
694
694
|
function getTextEncoding() {
|
|
695
695
|
if (globalThis[symbol] == void 0) {
|
|
696
696
|
const te = new globalThis.TextEncoder();
|
|
@@ -4058,7 +4058,7 @@
|
|
|
4058
4058
|
msg.set(field, scalarValue);
|
|
4059
4059
|
}
|
|
4060
4060
|
}
|
|
4061
|
-
const tokenIgnoredUnknownEnum = Symbol();
|
|
4061
|
+
const tokenIgnoredUnknownEnum = /* @__PURE__ */ Symbol();
|
|
4062
4062
|
function readEnum(desc, json, ignoreUnknownFields, nullAsZeroValue) {
|
|
4063
4063
|
if (json === null) {
|
|
4064
4064
|
if (desc.typeName == "google.protobuf.NullValue") {
|
|
@@ -4084,7 +4084,7 @@
|
|
|
4084
4084
|
}
|
|
4085
4085
|
throw new Error(`cannot decode ${desc} from JSON: ${formatVal(json)}`);
|
|
4086
4086
|
}
|
|
4087
|
-
const tokenNull = Symbol();
|
|
4087
|
+
const tokenNull = /* @__PURE__ */ Symbol();
|
|
4088
4088
|
function scalarFromJson(field, json, nullAsZeroValue) {
|
|
4089
4089
|
if (json === null) {
|
|
4090
4090
|
if (nullAsZeroValue) {
|
|
@@ -5792,41 +5792,41 @@
|
|
|
5792
5792
|
}
|
|
5793
5793
|
};
|
|
5794
5794
|
}
|
|
5795
|
-
const file_src_api_yorkie_v1_resources = /* @__PURE__ */ fileDesc("CiFzcmMvYXBpL3lvcmtpZS92MS9yZXNvdXJjZXMucHJvdG8SCXlvcmtpZS52MSKuAQoIU25hcHNob3QSJAoEcm9vdBgBIAEoCzIWLnlvcmtpZS52MS5KU09ORWxlbWVudBI1CglwcmVzZW5jZXMYAiADKAsyIi55b3JraWUudjEuU25hcHNob3QuUHJlc2VuY2VzRW50cnkaRQoOUHJlc2VuY2VzRW50cnkSCwoDa2V5GAEgASgJEiIKBXZhbHVlGAIgASgLMhMueW9ya2llLnYxLlByZXNlbmNlOgI4ASL7AQoKQ2hhbmdlUGFjaxIUCgxkb2N1bWVudF9rZXkYASABKAkSKQoKY2hlY2twb2ludBgCIAEoCzIVLnlvcmtpZS52MS5DaGVja3BvaW50EhAKCHNuYXBzaG90GAMgASgMEiIKB2NoYW5nZXMYBCADKAsyES55b3JraWUudjEuQ2hhbmdlEjAKEW1pbl9zeW5jZWRfdGlja2V0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSEgoKaXNfcmVtb3ZlZBgGIAEoCBIwCg52ZXJzaW9uX3ZlY3RvchgHIAEoCzIYLnlvcmtpZS52MS5WZXJzaW9uVmVjdG9yIpgBCgZDaGFuZ2USHwoCaWQYASABKAsyEy55b3JraWUudjEuQ2hhbmdlSUQSDwoHbWVzc2FnZRgCIAEoCRIoCgpvcGVyYXRpb25zGAMgAygLMhQueW9ya2llLnYxLk9wZXJhdGlvbhIyCg9wcmVzZW5jZV9jaGFuZ2UYBCABKAsyGS55b3JraWUudjEuUHJlc2VuY2VDaGFuZ2UihwEKCENoYW5nZUlEEhIKCmNsaWVudF9zZXEYASABKA0SEgoKc2VydmVyX3NlcRgCIAEoAxIPCgdsYW1wb3J0GAMgASgDEhAKCGFjdG9yX2lkGAQgASgMEjAKDnZlcnNpb25fdmVjdG9yGAUgASgLMhgueW9ya2llLnYxLlZlcnNpb25WZWN0b3IidAoNVmVyc2lvblZlY3RvchI0CgZ2ZWN0b3IYASADKAsyJC55b3JraWUudjEuVmVyc2lvblZlY3Rvci5WZWN0b3JFbnRyeRotCgtWZWN0b3JFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAM6AjgBItkaCglPcGVyYXRpb24SJwoDc2V0GAEgASgLMhgueW9ya2llLnYxLk9wZXJhdGlvbi5TZXRIABInCgNhZGQYAiABKAsyGC55b3JraWUudjEuT3BlcmF0aW9uLkFkZEgAEikKBG1vdmUYAyABKAsyGS55b3JraWUudjEuT3BlcmF0aW9uLk1vdmVIABItCgZyZW1vdmUYBCABKAsyGy55b3JraWUudjEuT3BlcmF0aW9uLlJlbW92ZUgAEikKBGVkaXQYBSABKAsyGS55b3JraWUudjEuT3BlcmF0aW9uLkVkaXRIABIrCgVzdHlsZRgHIAEoCzIaLnlvcmtpZS52MS5PcGVyYXRpb24uU3R5bGVIABIxCghpbmNyZWFzZRgIIAEoCzIdLnlvcmtpZS52MS5PcGVyYXRpb24uSW5jcmVhc2VIABIyCgl0cmVlX2VkaXQYCSABKAsyHS55b3JraWUudjEuT3BlcmF0aW9uLlRyZWVFZGl0SAASNAoKdHJlZV9zdHlsZRgKIAEoCzIeLnlvcmtpZS52MS5PcGVyYXRpb24uVHJlZVN0eWxlSAASMgoJYXJyYXlfc2V0GAsgASgLMh0ueW9ya2llLnYxLk9wZXJhdGlvbi5BcnJheVNldEgAGp0BCgNTZXQSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBILCgNrZXkYAiABKAkSKwoFdmFsdWUYAyABKAsyHC55b3JraWUudjEuSlNPTkVsZW1lbnRTaW1wbGUSKgoLZXhlY3V0ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBrAAQoDQWRkEjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSLgoPcHJldl9jcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKwoFdmFsdWUYAyABKAsyHC55b3JraWUudjEuSlNPTkVsZW1lbnRTaW1wbGUSKgoLZXhlY3V0ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBq/AQoETW92ZRIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Ei4KD3ByZXZfY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCmNyZWF0ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIqCgtleGVjdXRlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0GpEBCgZSZW1vdmUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKgoLZXhlY3V0ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBrZAwoERWRpdBIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiQKBGZyb20YAiABKAsyFi55b3JraWUudjEuVGV4dE5vZGVQb3MSIgoCdG8YAyABKAsyFi55b3JraWUudjEuVGV4dE5vZGVQb3MSUwoXY3JlYXRlZF9hdF9tYXBfYnlfYWN0b3IYBCADKAsyMi55b3JraWUudjEuT3BlcmF0aW9uLkVkaXQuQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5Eg8KB2NvbnRlbnQYBSABKAkSKgoLZXhlY3V0ZWRfYXQYBiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBI9CgphdHRyaWJ1dGVzGAcgAygLMikueW9ya2llLnYxLk9wZXJhdGlvbi5FZGl0LkF0dHJpYnV0ZXNFbnRyeRpRChhDcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSCwoDa2V5GAEgASgJEiQKBXZhbHVlGAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQ6AjgBGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGukDCgVTdHlsZRIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiQKBGZyb20YAiABKAsyFi55b3JraWUudjEuVGV4dE5vZGVQb3MSIgoCdG8YAyABKAsyFi55b3JraWUudjEuVGV4dE5vZGVQb3MSPgoKYXR0cmlidXRlcxgEIAMoCzIqLnlvcmtpZS52MS5PcGVyYXRpb24uU3R5bGUuQXR0cmlidXRlc0VudHJ5EioKC2V4ZWN1dGVkX2F0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSVAoXY3JlYXRlZF9hdF9tYXBfYnlfYWN0b3IYBiADKAsyMy55b3JraWUudjEuT3BlcmF0aW9uLlN0eWxlLkNyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRIcChRhdHRyaWJ1dGVzX3RvX3JlbW92ZRgHIAMoCRoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARpRChhDcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSCwoDa2V5GAEgASgJEiQKBXZhbHVlGAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQ6AjgBGqQBCghJbmNyZWFzZRIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EisKBXZhbHVlGAIgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSDQoFYWN0b3IYBCABKAkakwMKCFRyZWVFZGl0EjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSIAoEZnJvbRgCIAEoCzISLnlvcmtpZS52MS5UcmVlUG9zEh4KAnRvGAMgASgLMhIueW9ya2llLnYxLlRyZWVQb3MSVwoXY3JlYXRlZF9hdF9tYXBfYnlfYWN0b3IYBCADKAsyNi55b3JraWUudjEuT3BlcmF0aW9uLlRyZWVFZGl0LkNyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRImCghjb250ZW50cxgFIAMoCzIULnlvcmtpZS52MS5UcmVlTm9kZXMSEwoLc3BsaXRfbGV2ZWwYByABKAUSKgoLZXhlY3V0ZWRfYXQYBiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBpRChhDcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSCwoDa2V5GAEgASgJEiQKBXZhbHVlGAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQ6AjgBGu0DCglUcmVlU3R5bGUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIgCgRmcm9tGAIgASgLMhIueW9ya2llLnYxLlRyZWVQb3MSHgoCdG8YAyABKAsyEi55b3JraWUudjEuVHJlZVBvcxJCCgphdHRyaWJ1dGVzGAQgAygLMi4ueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlU3R5bGUuQXR0cmlidXRlc0VudHJ5EioKC2V4ZWN1dGVkX2F0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSHAoUYXR0cmlidXRlc190b19yZW1vdmUYBiADKAkSWAoXY3JlYXRlZF9hdF9tYXBfYnlfYWN0b3IYByADKAsyNy55b3JraWUudjEuT3BlcmF0aW9uLlRyZWVTdHlsZS5DcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARrAAQoIQXJyYXlTZXQSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKwoFdmFsdWUYAyABKAsyHC55b3JraWUudjEuSlNPTkVsZW1lbnRTaW1wbGUSKgoLZXhlY3V0ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldEIGCgRib2R5IsUBChFKU09ORWxlbWVudFNpbXBsZRIpCgpjcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSIgoEdHlwZRgEIAEoDjIULnlvcmtpZS52MS5WYWx1ZVR5cGUSDQoFdmFsdWUYBSABKAwinwsKC0pTT05FbGVtZW50EjgKC2pzb25fb2JqZWN0GAEgASgLMiEueW9ya2llLnYxLkpTT05FbGVtZW50LkpTT05PYmplY3RIABI2Cgpqc29uX2FycmF5GAIgASgLMiAueW9ya2llLnYxLkpTT05FbGVtZW50LkpTT05BcnJheUgAEjUKCXByaW1pdGl2ZRgDIAEoCzIgLnlvcmtpZS52MS5KU09ORWxlbWVudC5QcmltaXRpdmVIABIrCgR0ZXh0GAUgASgLMhsueW9ya2llLnYxLkpTT05FbGVtZW50LlRleHRIABIxCgdjb3VudGVyGAYgASgLMh4ueW9ya2llLnYxLkpTT05FbGVtZW50LkNvdW50ZXJIABIrCgR0cmVlGAcgASgLMhsueW9ya2llLnYxLkpTT05FbGVtZW50LlRyZWVIABquAQoKSlNPTk9iamVjdBIhCgVub2RlcxgBIAMoCzISLnlvcmtpZS52MS5SSFROb2RlEikKCmNyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBqtAQoJSlNPTkFycmF5EiEKBW5vZGVzGAEgAygLMhIueW9ya2llLnYxLlJHQU5vZGUSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Gr0BCglQcmltaXRpdmUSIgoEdHlwZRgBIAEoDjIULnlvcmtpZS52MS5WYWx1ZVR5cGUSDQoFdmFsdWUYAiABKAwSKQoKY3JlYXRlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0GqkBCgRUZXh0EiIKBW5vZGVzGAEgAygLMhMueW9ya2llLnYxLlRleHROb2RlEikKCmNyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBrYAQoHQ291bnRlchIiCgR0eXBlGAEgASgOMhQueW9ya2llLnYxLlZhbHVlVHlwZRINCgV2YWx1ZRgCIAEoDBIpCgpjcmVhdGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSFQoNaGxsX3JlZ2lzdGVycxgHIAEoDEoECAYQBxqpAQoEVHJlZRIiCgVub2RlcxgBIAMoCzITLnlvcmtpZS52MS5UcmVlTm9kZRIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXRCBgoEYm9keSI/CgdSSFROb2RlEgsKA2tleRgBIAEoCRInCgdlbGVtZW50GAIgASgLMhYueW9ya2llLnYxLkpTT05FbGVtZW50Iu4BCgdSR0FOb2RlEiAKBG5leHQYASABKAsyEi55b3JraWUudjEuUkdBTm9kZRInCgdlbGVtZW50GAIgASgLMhYueW9ya2llLnYxLkpTT05FbGVtZW50EjIKE3Bvc2l0aW9uX2NyZWF0ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIwChFwb3NpdGlvbl9tb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EjIKE3Bvc2l0aW9uX3JlbW92ZWRfYXQYBSABKAsyFS55b3JraWUudjEuVGltZVRpY2tldCJYCghOb2RlQXR0chINCgV2YWx1ZRgBIAEoCRIpCgp1cGRhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSEgoKaXNfcmVtb3ZlZBgDIAEoCCKUAgoIVGV4dE5vZGUSIQoCaWQYASABKAsyFS55b3JraWUudjEuVGV4dE5vZGVJRBINCgV2YWx1ZRgCIAEoCRIpCgpyZW1vdmVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKgoLaW5zX3ByZXZfaWQYBCABKAsyFS55b3JraWUudjEuVGV4dE5vZGVJRBI3CgphdHRyaWJ1dGVzGAUgAygLMiMueW9ya2llLnYxLlRleHROb2RlLkF0dHJpYnV0ZXNFbnRyeRpGCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEiIKBXZhbHVlGAIgASgLMhMueW9ya2llLnYxLk5vZGVBdHRyOgI4ASJHCgpUZXh0Tm9kZUlEEikKCmNyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIOCgZvZmZzZXQYAiABKAUiswMKCFRyZWVOb2RlEiEKAmlkGAEgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQSDAoEdHlwZRgCIAEoCRINCgV2YWx1ZRgDIAEoCRIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKgoLaW5zX3ByZXZfaWQYBSABKAsyFS55b3JraWUudjEuVHJlZU5vZGVJRBIqCgtpbnNfbmV4dF9pZBgGIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEg0KBWRlcHRoGAcgASgFEjcKCmF0dHJpYnV0ZXMYCCADKAsyIy55b3JraWUudjEuVHJlZU5vZGUuQXR0cmlidXRlc0VudHJ5EioKC21lcmdlZF9mcm9tGAkgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQSKAoJbWVyZ2VkX2F0GAogASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQaRgoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5Ob2RlQXR0cjoCOAEiMQoJVHJlZU5vZGVzEiQKB2NvbnRlbnQYASADKAsyEy55b3JraWUudjEuVHJlZU5vZGUiRwoKVHJlZU5vZGVJRBIpCgpjcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSDgoGb2Zmc2V0GAIgASgFImMKB1RyZWVQb3MSKAoJcGFyZW50X2lkGAEgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQSLgoPbGVmdF9zaWJsaW5nX2lkGAIgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQiawoEVXNlchIKCgJpZBgBIAEoCRIVCg1hdXRoX3Byb3ZpZGVyGAIgASgJEhAKCHVzZXJuYW1lGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIokBCgZNZW1iZXISCgoCaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIPCgd1c2VyX2lkGAMgASgJEhAKCHVzZXJuYW1lGAQgASgJEgwKBHJvbGUYBSABKAkSLgoKaW52aXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi6QYKB1Byb2plY3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRISCgpwdWJsaWNfa2V5GAMgASgJEhIKCnNlY3JldF9rZXkYBCABKAkSGAoQYXV0aF93ZWJob29rX3VybBgFIAEoCRIcChRhdXRoX3dlYmhvb2tfbWV0aG9kcxgGIAMoCRIgChhhdXRoX3dlYmhvb2tfbWF4X3JldHJpZXMYESABKAQSJgoeYXV0aF93ZWJob29rX21pbl93YWl0X2ludGVydmFsGBIgASgJEiYKHmF1dGhfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgTIAEoCRIkChxhdXRoX3dlYmhvb2tfcmVxdWVzdF90aW1lb3V0GBQgASgJEhkKEWV2ZW50X3dlYmhvb2tfdXJsGAcgASgJEhwKFGV2ZW50X3dlYmhvb2tfZXZlbnRzGAggAygJEiEKGWV2ZW50X3dlYmhvb2tfbWF4X3JldHJpZXMYFSABKAQSJwofZXZlbnRfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgWIAEoCRInCh9ldmVudF93ZWJob29rX21heF93YWl0X2ludGVydmFsGBcgASgJEiUKHWV2ZW50X3dlYmhvb2tfcmVxdWVzdF90aW1lb3V0GBggASgJEiMKG2NsaWVudF9kZWFjdGl2YXRlX3RocmVzaG9sZBgJIAEoCRIaChJzbmFwc2hvdF90aHJlc2hvbGQYGSABKAMSGQoRc25hcHNob3RfaW50ZXJ2YWwYGiABKAMSJAocbWF4X3N1YnNjcmliZXJzX3Blcl9kb2N1bWVudBgKIAEoBRIkChxtYXhfYXR0YWNobWVudHNfcGVyX2RvY3VtZW50GAsgASgFEh0KFW1heF9zaXplX3Blcl9kb2N1bWVudBgPIAEoBRIYChByZW1vdmVfb25fZGV0YWNoGBAgASgIEh0KFWF1dG9fcmV2aXNpb25fZW5hYmxlZBgbIAEoCBIXCg9hbGxvd2VkX29yaWdpbnMYDiADKAkSLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiLwoLTWV0cmljUG9pbnQSEQoJdGltZXN0YW1wGAEgASgDEg0KBXZhbHVlGAIgASgFIqMMChZVcGRhdGFibGVQcm9qZWN0RmllbGRzEioKBG5hbWUYASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSNgoQYXV0aF93ZWJob29rX3VybBgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJSChRhdXRoX3dlYmhvb2tfbWV0aG9kcxgDIAEoCzI0LnlvcmtpZS52MS5VcGRhdGFibGVQcm9qZWN0RmllbGRzLkF1dGhXZWJob29rTWV0aG9kcxI+ChhhdXRoX3dlYmhvb2tfbWF4X3JldHJpZXMYDCABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWUSRAoeYXV0aF93ZWJob29rX21pbl93YWl0X2ludGVydmFsGA0gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEkQKHmF1dGhfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgOIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJCChxhdXRoX3dlYmhvb2tfcmVxdWVzdF90aW1lb3V0GA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjcKEWV2ZW50X3dlYmhvb2tfdXJsGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlElIKFGV2ZW50X3dlYmhvb2tfZXZlbnRzGAUgASgLMjQueW9ya2llLnYxLlVwZGF0YWJsZVByb2plY3RGaWVsZHMuRXZlbnRXZWJob29rRXZlbnRzEj8KGWV2ZW50X3dlYmhvb2tfbWF4X3JldHJpZXMYECABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWUSRQofZXZlbnRfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJFCh9ldmVudF93ZWJob29rX21heF93YWl0X2ludGVydmFsGBIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEkMKHWV2ZW50X3dlYmhvb2tfcmVxdWVzdF90aW1lb3V0GBMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjcKEnNuYXBzaG90X3RocmVzaG9sZBgUIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlEjYKEXNuYXBzaG90X2ludGVydmFsGBUgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWUSQQobY2xpZW50X2RlYWN0aXZhdGVfdGhyZXNob2xkGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEkEKHG1heF9zdWJzY3JpYmVyc19wZXJfZG9jdW1lbnQYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZRJBChxtYXhfYXR0YWNobWVudHNfcGVyX2RvY3VtZW50GAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUSOgoVbWF4X3NpemVfcGVyX2RvY3VtZW50GAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUSNAoQcmVtb3ZlX29uX2RldGFjaBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSOQoVYXV0b19yZXZpc2lvbl9lbmFibGVkGBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZRJJCg9hbGxvd2VkX29yaWdpbnMYCSABKAsyMC55b3JraWUudjEuVXBkYXRhYmxlUHJvamVjdEZpZWxkcy5BbGxvd2VkT3JpZ2lucxolChJBdXRoV2ViaG9va01ldGhvZHMSDwoHbWV0aG9kcxgBIAMoCRokChJFdmVudFdlYmhvb2tFdmVudHMSDgoGZXZlbnRzGAEgAygJGiEKDkFsbG93ZWRPcmlnaW5zEg8KB29yaWdpbnMYASADKAkipwMKD0RvY3VtZW50U3VtbWFyeRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEcm9vdBgDIAEoCRIYChBhdHRhY2hlZF9jbGllbnRzGAcgASgFEikKDWRvY3VtZW50X3NpemUYCCABKAsyEi55b3JraWUudjEuRG9jU2l6ZRISCgpzY2hlbWFfa2V5GAkgASgJEjwKCXByZXNlbmNlcxgKIAMoCzIpLnlvcmtpZS52MS5Eb2N1bWVudFN1bW1hcnkuUHJlc2VuY2VzRW50cnkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLYWNjZXNzZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGkUKDlByZXNlbmNlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5QcmVzZW5jZToCOAEi2gEKDlByZXNlbmNlQ2hhbmdlEjIKBHR5cGUYASABKA4yJC55b3JraWUudjEuUHJlc2VuY2VDaGFuZ2UuQ2hhbmdlVHlwZRIlCghwcmVzZW5jZRgCIAEoCzITLnlvcmtpZS52MS5QcmVzZW5jZSJtCgpDaGFuZ2VUeXBlEhsKF0NIQU5HRV9UWVBFX1VOU1BFQ0lGSUVEEAASEwoPQ0hBTkdFX1RZUEVfUFVUEAESFgoSQ0hBTkdFX1RZUEVfREVMRVRFEAISFQoRQ0hBTkdFX1RZUEVfQ0xFQVIQAyJkCghQcmVzZW5jZRIrCgRkYXRhGAEgAygLMh0ueW9ya2llLnYxLlByZXNlbmNlLkRhdGFFbnRyeRorCglEYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0Cg5DaGFubmVsU3VtbWFyeRILCgNrZXkYASABKAkSFQoNc2Vzc2lvbl9jb3VudBgCIAEoBSI0CgpDaGVja3BvaW50EhIKCnNlcnZlcl9zZXEYASABKAMSEgoKY2xpZW50X3NlcRgCIAEoDSJhCgtUZXh0Tm9kZVBvcxIpCgpjcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSDgoGb2Zmc2V0GAIgASgFEhcKD3JlbGF0aXZlX29mZnNldBgDIAEoBSJCCgpUaW1lVGlja2V0Eg8KB2xhbXBvcnQYASABKAMSEQoJZGVsaW1pdGVyGAIgASgNEhAKCGFjdG9yX2lkGAMgASgMIi4KDERvY0V2ZW50Qm9keRINCgV0b3BpYxgBIAEoCRIPCgdwYXlsb2FkGAIgASgMImsKCERvY0V2ZW50EiUKBHR5cGUYASABKA4yFy55b3JraWUudjEuRG9jRXZlbnRUeXBlEhEKCXB1Ymxpc2hlchgCIAEoCRIlCgRib2R5GAMgASgLMhcueW9ya2llLnYxLkRvY0V2ZW50Qm9keSLWAQoMQ2hhbm5lbEV2ZW50EioKBHR5cGUYASABKA4yHC55b3JraWUudjEuQ2hhbm5lbEV2ZW50LlR5cGUSEQoJcHVibGlzaGVyGAIgASgJEhUKDXNlc3Npb25fY291bnQYAyABKAMSCwoDc2VxGAQgASgDEg0KBXRvcGljGAUgASgJEg8KB3BheWxvYWQYBiABKAwiQwoEVHlwZRIUChBUWVBFX1VOU1BFQ0lGSUVEEAASEQoNVFlQRV9QUkVTRU5DRRABEhIKDlRZUEVfQlJPQURDQVNUEAIiJgoIRGF0YVNpemUSDAoEZGF0YRgBIAEoBRIMCgRtZXRhGAIgASgFIk0KB0RvY1NpemUSIQoEbGl2ZRgBIAEoCzITLnlvcmtpZS52MS5EYXRhU2l6ZRIfCgJnYxgCIAEoCzITLnlvcmtpZS52MS5EYXRhU2l6ZSKRAQoGU2NoZW1hEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHdmVyc2lvbhgDIAEoBRIMCgRib2R5GAQgASgJEh4KBXJ1bGVzGAUgAygLMg8ueW9ya2llLnYxLlJ1bGUSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiUAoMVHJlZU5vZGVSdWxlEhEKCW5vZGVfdHlwZRgBIAEoCRIPCgdjb250ZW50GAIgASgJEg0KBW1hcmtzGAMgASgJEg0KBWdyb3VwGAQgASgJIk8KBFJ1bGUSDAoEcGF0aBgBIAEoCRIMCgR0eXBlGAIgASgJEisKCnRyZWVfbm9kZXMYAyADKAsyFy55b3JraWUudjEuVHJlZU5vZGVSdWxlIoMBCg9SZXZpc2lvblN1bW1hcnkSCgoCaWQYASABKAkSDQoFbGFiZWwYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEAoIc25hcHNob3QYBCABKAkSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAq/AIKCVZhbHVlVHlwZRITCg9WQUxVRV9UWVBFX05VTEwQABIWChJWQUxVRV9UWVBFX0JPT0xFQU4QARIWChJWQUxVRV9UWVBFX0lOVEVHRVIQAhITCg9WQUxVRV9UWVBFX0xPTkcQAxIVChFWQUxVRV9UWVBFX0RPVUJMRRAEEhUKEVZBTFVFX1RZUEVfU1RSSU5HEAUSFAoQVkFMVUVfVFlQRV9CWVRFUxAGEhMKD1ZBTFVFX1RZUEVfREFURRAHEhoKFlZBTFVFX1RZUEVfSlNPTl9PQkpFQ1QQCBIZChVWQUxVRV9UWVBFX0pTT05fQVJSQVkQCRITCg9WQUxVRV9UWVBFX1RFWFQQChIaChZWQUxVRV9UWVBFX0lOVEVHRVJfQ05UEAsSFwoTVkFMVUVfVFlQRV9MT05HX0NOVBAMEhMKD1ZBTFVFX1RZUEVfVFJFRRANEiAKHFZBTFVFX1RZUEVfSU5URUdFUl9ERURVUF9DTlQQDiIECA8QDyqmAQoMRG9jRXZlbnRUeXBlEiMKH0RPQ19FVkVOVF9UWVBFX0RPQ1VNRU5UX0NIQU5HRUQQABIjCh9ET0NfRVZFTlRfVFlQRV9ET0NVTUVOVF9XQVRDSEVEEAESJQohRE9DX0VWRU5UX1RZUEVfRE9DVU1FTlRfVU5XQVRDSEVEEAISJQohRE9DX0VWRU5UX1RZUEVfRE9DVU1FTlRfQlJPQURDQVNUEANCRQoRZGV2LnlvcmtpZS5hcGkudjFQAVouZ2l0aHViLmNvbS95b3JraWUtdGVhbS95b3JraWUvYXBpL3lvcmtpZS92MTt2MWIGcHJvdG8z", [file_google_protobuf_timestamp, file_google_protobuf_wrappers]);
|
|
5796
|
-
const SnapshotSchema = /* @__PURE__ */ messageDesc(
|
|
5797
|
-
const ChangePackSchema = /* @__PURE__ */ messageDesc(
|
|
5798
|
-
const ChangeSchema = /* @__PURE__ */ messageDesc(
|
|
5799
|
-
const ChangeIDSchema = /* @__PURE__ */ messageDesc(
|
|
5800
|
-
const VersionVectorSchema = /* @__PURE__ */ messageDesc(
|
|
5801
|
-
const OperationSchema = /* @__PURE__ */ messageDesc(
|
|
5802
|
-
const Operation_SetSchema = /* @__PURE__ */ messageDesc(
|
|
5803
|
-
const Operation_AddSchema = /* @__PURE__ */ messageDesc(
|
|
5804
|
-
const Operation_MoveSchema = /* @__PURE__ */ messageDesc(
|
|
5805
|
-
const Operation_RemoveSchema = /* @__PURE__ */ messageDesc(
|
|
5806
|
-
const Operation_EditSchema = /* @__PURE__ */ messageDesc(
|
|
5807
|
-
const Operation_StyleSchema = /* @__PURE__ */ messageDesc(
|
|
5808
|
-
const Operation_IncreaseSchema = /* @__PURE__ */ messageDesc(
|
|
5809
|
-
const Operation_TreeEditSchema = /* @__PURE__ */ messageDesc(
|
|
5810
|
-
const Operation_TreeStyleSchema = /* @__PURE__ */ messageDesc(
|
|
5811
|
-
const Operation_ArraySetSchema = /* @__PURE__ */ messageDesc(
|
|
5812
|
-
const JSONElementSimpleSchema = /* @__PURE__ */ messageDesc(
|
|
5813
|
-
const JSONElementSchema = /* @__PURE__ */ messageDesc(
|
|
5814
|
-
const JSONElement_JSONObjectSchema = /* @__PURE__ */ messageDesc(
|
|
5815
|
-
const JSONElement_JSONArraySchema = /* @__PURE__ */ messageDesc(
|
|
5816
|
-
const JSONElement_PrimitiveSchema = /* @__PURE__ */ messageDesc(
|
|
5817
|
-
const JSONElement_TextSchema = /* @__PURE__ */ messageDesc(
|
|
5818
|
-
const JSONElement_CounterSchema = /* @__PURE__ */ messageDesc(
|
|
5819
|
-
const JSONElement_TreeSchema = /* @__PURE__ */ messageDesc(
|
|
5820
|
-
const RHTNodeSchema = /* @__PURE__ */ messageDesc(
|
|
5821
|
-
const RGANodeSchema = /* @__PURE__ */ messageDesc(
|
|
5822
|
-
const NodeAttrSchema = /* @__PURE__ */ messageDesc(
|
|
5823
|
-
const TextNodeSchema = /* @__PURE__ */ messageDesc(
|
|
5824
|
-
const TextNodeIDSchema = /* @__PURE__ */ messageDesc(
|
|
5825
|
-
const TreeNodeSchema = /* @__PURE__ */ messageDesc(
|
|
5826
|
-
const TreeNodesSchema = /* @__PURE__ */ messageDesc(
|
|
5827
|
-
const TreeNodeIDSchema = /* @__PURE__ */ messageDesc(
|
|
5828
|
-
const TreePosSchema = /* @__PURE__ */ messageDesc(
|
|
5829
|
-
const PresenceChangeSchema = /* @__PURE__ */ messageDesc(
|
|
5795
|
+
const file_yorkie_v1_resources = /* @__PURE__ */ fileDesc("Chl5b3JraWUvdjEvcmVzb3VyY2VzLnByb3RvEgl5b3JraWUudjEirgEKCFNuYXBzaG90EiQKBHJvb3QYASABKAsyFi55b3JraWUudjEuSlNPTkVsZW1lbnQSNQoJcHJlc2VuY2VzGAIgAygLMiIueW9ya2llLnYxLlNuYXBzaG90LlByZXNlbmNlc0VudHJ5GkUKDlByZXNlbmNlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5QcmVzZW5jZToCOAEi+wEKCkNoYW5nZVBhY2sSFAoMZG9jdW1lbnRfa2V5GAEgASgJEikKCmNoZWNrcG9pbnQYAiABKAsyFS55b3JraWUudjEuQ2hlY2twb2ludBIQCghzbmFwc2hvdBgDIAEoDBIiCgdjaGFuZ2VzGAQgAygLMhEueW9ya2llLnYxLkNoYW5nZRIwChFtaW5fc3luY2VkX3RpY2tldBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhIKCmlzX3JlbW92ZWQYBiABKAgSMAoOdmVyc2lvbl92ZWN0b3IYByABKAsyGC55b3JraWUudjEuVmVyc2lvblZlY3RvciKYAQoGQ2hhbmdlEh8KAmlkGAEgASgLMhMueW9ya2llLnYxLkNoYW5nZUlEEg8KB21lc3NhZ2UYAiABKAkSKAoKb3BlcmF0aW9ucxgDIAMoCzIULnlvcmtpZS52MS5PcGVyYXRpb24SMgoPcHJlc2VuY2VfY2hhbmdlGAQgASgLMhkueW9ya2llLnYxLlByZXNlbmNlQ2hhbmdlIocBCghDaGFuZ2VJRBISCgpjbGllbnRfc2VxGAEgASgNEhIKCnNlcnZlcl9zZXEYAiABKAMSDwoHbGFtcG9ydBgDIAEoAxIQCghhY3Rvcl9pZBgEIAEoDBIwCg52ZXJzaW9uX3ZlY3RvchgFIAEoCzIYLnlvcmtpZS52MS5WZXJzaW9uVmVjdG9yInQKDVZlcnNpb25WZWN0b3ISNAoGdmVjdG9yGAEgAygLMiQueW9ya2llLnYxLlZlcnNpb25WZWN0b3IuVmVjdG9yRW50cnkaLQoLVmVjdG9yRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ASLZGgoJT3BlcmF0aW9uEicKA3NldBgBIAEoCzIYLnlvcmtpZS52MS5PcGVyYXRpb24uU2V0SAASJwoDYWRkGAIgASgLMhgueW9ya2llLnYxLk9wZXJhdGlvbi5BZGRIABIpCgRtb3ZlGAMgASgLMhkueW9ya2llLnYxLk9wZXJhdGlvbi5Nb3ZlSAASLQoGcmVtb3ZlGAQgASgLMhsueW9ya2llLnYxLk9wZXJhdGlvbi5SZW1vdmVIABIpCgRlZGl0GAUgASgLMhkueW9ya2llLnYxLk9wZXJhdGlvbi5FZGl0SAASKwoFc3R5bGUYByABKAsyGi55b3JraWUudjEuT3BlcmF0aW9uLlN0eWxlSAASMQoIaW5jcmVhc2UYCCABKAsyHS55b3JraWUudjEuT3BlcmF0aW9uLkluY3JlYXNlSAASMgoJdHJlZV9lZGl0GAkgASgLMh0ueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlRWRpdEgAEjQKCnRyZWVfc3R5bGUYCiABKAsyHi55b3JraWUudjEuT3BlcmF0aW9uLlRyZWVTdHlsZUgAEjIKCWFycmF5X3NldBgLIAEoCzIdLnlvcmtpZS52MS5PcGVyYXRpb24uQXJyYXlTZXRIABqdAQoDU2V0EjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSCwoDa2V5GAIgASgJEisKBXZhbHVlGAMgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQawAEKA0FkZBIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Ei4KD3ByZXZfY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EisKBXZhbHVlGAMgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQavwEKBE1vdmUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIuCg9wcmV2X2NyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpjcmVhdGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKgoLZXhlY3V0ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBqRAQoGUmVtb3ZlEjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EioKC2V4ZWN1dGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQa2QMKBEVkaXQSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIkCgRmcm9tGAIgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zEiIKAnRvGAMgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zElMKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAQgAygLMjIueW9ya2llLnYxLk9wZXJhdGlvbi5FZGl0LkNyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRIPCgdjb250ZW50GAUgASgJEioKC2V4ZWN1dGVkX2F0GAYgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSPQoKYXR0cmlidXRlcxgHIAMoCzIpLnlvcmtpZS52MS5PcGVyYXRpb24uRWRpdC5BdHRyaWJ1dGVzRW50cnkaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARrpAwoFU3R5bGUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIkCgRmcm9tGAIgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zEiIKAnRvGAMgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zEj4KCmF0dHJpYnV0ZXMYBCADKAsyKi55b3JraWUudjEuT3BlcmF0aW9uLlN0eWxlLkF0dHJpYnV0ZXNFbnRyeRIqCgtleGVjdXRlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0ElQKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAYgAygLMjMueW9ya2llLnYxLk9wZXJhdGlvbi5TdHlsZS5DcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSHAoUYXR0cmlidXRlc190b19yZW1vdmUYByADKAkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARqkAQoISW5jcmVhc2USMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIrCgV2YWx1ZRgCIAEoCzIcLnlvcmtpZS52MS5KU09ORWxlbWVudFNpbXBsZRIqCgtleGVjdXRlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Eg0KBWFjdG9yGAQgASgJGpMDCghUcmVlRWRpdBIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiAKBGZyb20YAiABKAsyEi55b3JraWUudjEuVHJlZVBvcxIeCgJ0bxgDIAEoCzISLnlvcmtpZS52MS5UcmVlUG9zElcKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAQgAygLMjYueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlRWRpdC5DcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSJgoIY29udGVudHMYBSADKAsyFC55b3JraWUudjEuVHJlZU5vZGVzEhMKC3NwbGl0X2xldmVsGAcgASgFEioKC2V4ZWN1dGVkX2F0GAYgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARrtAwoJVHJlZVN0eWxlEjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSIAoEZnJvbRgCIAEoCzISLnlvcmtpZS52MS5UcmVlUG9zEh4KAnRvGAMgASgLMhIueW9ya2llLnYxLlRyZWVQb3MSQgoKYXR0cmlidXRlcxgEIAMoCzIuLnlvcmtpZS52MS5PcGVyYXRpb24uVHJlZVN0eWxlLkF0dHJpYnV0ZXNFbnRyeRIqCgtleGVjdXRlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhwKFGF0dHJpYnV0ZXNfdG9fcmVtb3ZlGAYgAygJElgKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAcgAygLMjcueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlU3R5bGUuQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5GjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGlEKGENyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRILCgNrZXkYASABKAkSJAoFdmFsdWUYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldDoCOAEawAEKCEFycmF5U2V0EjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EisKBXZhbHVlGAMgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXRCBgoEYm9keSLFAQoRSlNPTkVsZW1lbnRTaW1wbGUSKQoKY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiIKBHR5cGUYBCABKA4yFC55b3JraWUudjEuVmFsdWVUeXBlEg0KBXZhbHVlGAUgASgMIp8LCgtKU09ORWxlbWVudBI4Cgtqc29uX29iamVjdBgBIAEoCzIhLnlvcmtpZS52MS5KU09ORWxlbWVudC5KU09OT2JqZWN0SAASNgoKanNvbl9hcnJheRgCIAEoCzIgLnlvcmtpZS52MS5KU09ORWxlbWVudC5KU09OQXJyYXlIABI1CglwcmltaXRpdmUYAyABKAsyIC55b3JraWUudjEuSlNPTkVsZW1lbnQuUHJpbWl0aXZlSAASKwoEdGV4dBgFIAEoCzIbLnlvcmtpZS52MS5KU09ORWxlbWVudC5UZXh0SAASMQoHY291bnRlchgGIAEoCzIeLnlvcmtpZS52MS5KU09ORWxlbWVudC5Db3VudGVySAASKwoEdHJlZRgHIAEoCzIbLnlvcmtpZS52MS5KU09ORWxlbWVudC5UcmVlSAAargEKCkpTT05PYmplY3QSIQoFbm9kZXMYASADKAsyEi55b3JraWUudjEuUkhUTm9kZRIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQarQEKCUpTT05BcnJheRIhCgVub2RlcxgBIAMoCzISLnlvcmtpZS52MS5SR0FOb2RlEikKCmNyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBq9AQoJUHJpbWl0aXZlEiIKBHR5cGUYASABKA4yFC55b3JraWUudjEuVmFsdWVUeXBlEg0KBXZhbHVlGAIgASgMEikKCmNyZWF0ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBSABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBqpAQoEVGV4dBIiCgVub2RlcxgBIAMoCzITLnlvcmtpZS52MS5UZXh0Tm9kZRIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQa2AEKB0NvdW50ZXISIgoEdHlwZRgBIAEoDjIULnlvcmtpZS52MS5WYWx1ZVR5cGUSDQoFdmFsdWUYAiABKAwSKQoKY3JlYXRlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhUKDWhsbF9yZWdpc3RlcnMYByABKAxKBAgGEAcaqQEKBFRyZWUSIgoFbm9kZXMYASADKAsyEy55b3JraWUudjEuVHJlZU5vZGUSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0QgYKBGJvZHkiPwoHUkhUTm9kZRILCgNrZXkYASABKAkSJwoHZWxlbWVudBgCIAEoCzIWLnlvcmtpZS52MS5KU09ORWxlbWVudCLuAQoHUkdBTm9kZRIgCgRuZXh0GAEgASgLMhIueW9ya2llLnYxLlJHQU5vZGUSJwoHZWxlbWVudBgCIAEoCzIWLnlvcmtpZS52MS5KU09ORWxlbWVudBIyChNwb3NpdGlvbl9jcmVhdGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSMAoRcG9zaXRpb25fbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIyChNwb3NpdGlvbl9yZW1vdmVkX2F0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQiWAoITm9kZUF0dHISDQoFdmFsdWUYASABKAkSKQoKdXBkYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhIKCmlzX3JlbW92ZWQYAyABKAgilAIKCFRleHROb2RlEiEKAmlkGAEgASgLMhUueW9ya2llLnYxLlRleHROb2RlSUQSDQoFdmFsdWUYAiABKAkSKQoKcmVtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EioKC2luc19wcmV2X2lkGAQgASgLMhUueW9ya2llLnYxLlRleHROb2RlSUQSNwoKYXR0cmlidXRlcxgFIAMoCzIjLnlvcmtpZS52MS5UZXh0Tm9kZS5BdHRyaWJ1dGVzRW50cnkaRgoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5Ob2RlQXR0cjoCOAEiRwoKVGV4dE5vZGVJRBIpCgpjcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSDgoGb2Zmc2V0GAIgASgFIrMDCghUcmVlTm9kZRIhCgJpZBgBIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEgwKBHR5cGUYAiABKAkSDQoFdmFsdWUYAyABKAkSKQoKcmVtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EioKC2luc19wcmV2X2lkGAUgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQSKgoLaW5zX25leHRfaWQYBiABKAsyFS55b3JraWUudjEuVHJlZU5vZGVJRBINCgVkZXB0aBgHIAEoBRI3CgphdHRyaWJ1dGVzGAggAygLMiMueW9ya2llLnYxLlRyZWVOb2RlLkF0dHJpYnV0ZXNFbnRyeRIqCgttZXJnZWRfZnJvbRgJIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEigKCW1lcmdlZF9hdBgKIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0GkYKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSIgoFdmFsdWUYAiABKAsyEy55b3JraWUudjEuTm9kZUF0dHI6AjgBIjEKCVRyZWVOb2RlcxIkCgdjb250ZW50GAEgAygLMhMueW9ya2llLnYxLlRyZWVOb2RlIkcKClRyZWVOb2RlSUQSKQoKY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Eg4KBm9mZnNldBgCIAEoBSJjCgdUcmVlUG9zEigKCXBhcmVudF9pZBgBIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEi4KD2xlZnRfc2libGluZ19pZBgCIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEImsKBFVzZXISCgoCaWQYASABKAkSFQoNYXV0aF9wcm92aWRlchgCIAEoCRIQCgh1c2VybmFtZRgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKJAQoGTWVtYmVyEgoKAmlkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDwoHdXNlcl9pZBgDIAEoCRIQCgh1c2VybmFtZRgEIAEoCRIMCgRyb2xlGAUgASgJEi4KCmludml0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIukGCgdQcm9qZWN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEgoKcHVibGljX2tleRgDIAEoCRISCgpzZWNyZXRfa2V5GAQgASgJEhgKEGF1dGhfd2ViaG9va191cmwYBSABKAkSHAoUYXV0aF93ZWJob29rX21ldGhvZHMYBiADKAkSIAoYYXV0aF93ZWJob29rX21heF9yZXRyaWVzGBEgASgEEiYKHmF1dGhfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgSIAEoCRImCh5hdXRoX3dlYmhvb2tfbWF4X3dhaXRfaW50ZXJ2YWwYEyABKAkSJAocYXV0aF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgUIAEoCRIZChFldmVudF93ZWJob29rX3VybBgHIAEoCRIcChRldmVudF93ZWJob29rX2V2ZW50cxgIIAMoCRIhChlldmVudF93ZWJob29rX21heF9yZXRyaWVzGBUgASgEEicKH2V2ZW50X3dlYmhvb2tfbWluX3dhaXRfaW50ZXJ2YWwYFiABKAkSJwofZXZlbnRfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgXIAEoCRIlCh1ldmVudF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgYIAEoCRIjChtjbGllbnRfZGVhY3RpdmF0ZV90aHJlc2hvbGQYCSABKAkSGgoSc25hcHNob3RfdGhyZXNob2xkGBkgASgDEhkKEXNuYXBzaG90X2ludGVydmFsGBogASgDEiQKHG1heF9zdWJzY3JpYmVyc19wZXJfZG9jdW1lbnQYCiABKAUSJAocbWF4X2F0dGFjaG1lbnRzX3Blcl9kb2N1bWVudBgLIAEoBRIdChVtYXhfc2l6ZV9wZXJfZG9jdW1lbnQYDyABKAUSGAoQcmVtb3ZlX29uX2RldGFjaBgQIAEoCBIdChVhdXRvX3JldmlzaW9uX2VuYWJsZWQYGyABKAgSFwoPYWxsb3dlZF9vcmlnaW5zGA4gAygJEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIi8KC01ldHJpY1BvaW50EhEKCXRpbWVzdGFtcBgBIAEoAxINCgV2YWx1ZRgCIAEoBSKjDAoWVXBkYXRhYmxlUHJvamVjdEZpZWxkcxIqCgRuYW1lGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjYKEGF1dGhfd2ViaG9va191cmwYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSUgoUYXV0aF93ZWJob29rX21ldGhvZHMYAyABKAsyNC55b3JraWUudjEuVXBkYXRhYmxlUHJvamVjdEZpZWxkcy5BdXRoV2ViaG9va01ldGhvZHMSPgoYYXV0aF93ZWJob29rX21heF9yZXRyaWVzGAwgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlEkQKHmF1dGhfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgNIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJECh5hdXRoX3dlYmhvb2tfbWF4X3dhaXRfaW50ZXJ2YWwYDiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSQgocYXV0aF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgPIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRI3ChFldmVudF93ZWJob29rX3VybBgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJSChRldmVudF93ZWJob29rX2V2ZW50cxgFIAEoCzI0LnlvcmtpZS52MS5VcGRhdGFibGVQcm9qZWN0RmllbGRzLkV2ZW50V2ViaG9va0V2ZW50cxI/ChlldmVudF93ZWJob29rX21heF9yZXRyaWVzGBAgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlEkUKH2V2ZW50X3dlYmhvb2tfbWluX3dhaXRfaW50ZXJ2YWwYESABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSRQofZXZlbnRfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgSIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJDCh1ldmVudF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgTIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRI3ChJzbmFwc2hvdF90aHJlc2hvbGQYFCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZRI2ChFzbmFwc2hvdF9pbnRlcnZhbBgVIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlEkEKG2NsaWVudF9kZWFjdGl2YXRlX3RocmVzaG9sZBgGIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJBChxtYXhfc3Vic2NyaWJlcnNfcGVyX2RvY3VtZW50GAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUSQQocbWF4X2F0dGFjaG1lbnRzX3Blcl9kb2N1bWVudBgIIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjoKFW1heF9zaXplX3Blcl9kb2N1bWVudBgKIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjQKEHJlbW92ZV9vbl9kZXRhY2gYCyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlEjkKFWF1dG9fcmV2aXNpb25fZW5hYmxlZBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSSQoPYWxsb3dlZF9vcmlnaW5zGAkgASgLMjAueW9ya2llLnYxLlVwZGF0YWJsZVByb2plY3RGaWVsZHMuQWxsb3dlZE9yaWdpbnMaJQoSQXV0aFdlYmhvb2tNZXRob2RzEg8KB21ldGhvZHMYASADKAkaJAoSRXZlbnRXZWJob29rRXZlbnRzEg4KBmV2ZW50cxgBIAMoCRohCg5BbGxvd2VkT3JpZ2lucxIPCgdvcmlnaW5zGAEgAygJIqcDCg9Eb2N1bWVudFN1bW1hcnkSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBHJvb3QYAyABKAkSGAoQYXR0YWNoZWRfY2xpZW50cxgHIAEoBRIpCg1kb2N1bWVudF9zaXplGAggASgLMhIueW9ya2llLnYxLkRvY1NpemUSEgoKc2NoZW1hX2tleRgJIAEoCRI8CglwcmVzZW5jZXMYCiADKAsyKS55b3JraWUudjEuRG9jdW1lbnRTdW1tYXJ5LlByZXNlbmNlc0VudHJ5Ei4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2FjY2Vzc2VkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBpFCg5QcmVzZW5jZXNFbnRyeRILCgNrZXkYASABKAkSIgoFdmFsdWUYAiABKAsyEy55b3JraWUudjEuUHJlc2VuY2U6AjgBItoBCg5QcmVzZW5jZUNoYW5nZRIyCgR0eXBlGAEgASgOMiQueW9ya2llLnYxLlByZXNlbmNlQ2hhbmdlLkNoYW5nZVR5cGUSJQoIcHJlc2VuY2UYAiABKAsyEy55b3JraWUudjEuUHJlc2VuY2UibQoKQ2hhbmdlVHlwZRIbChdDSEFOR0VfVFlQRV9VTlNQRUNJRklFRBAAEhMKD0NIQU5HRV9UWVBFX1BVVBABEhYKEkNIQU5HRV9UWVBFX0RFTEVURRACEhUKEUNIQU5HRV9UWVBFX0NMRUFSEAMiZAoIUHJlc2VuY2USKwoEZGF0YRgBIAMoCzIdLnlvcmtpZS52MS5QcmVzZW5jZS5EYXRhRW50cnkaKwoJRGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiNAoOQ2hhbm5lbFN1bW1hcnkSCwoDa2V5GAEgASgJEhUKDXNlc3Npb25fY291bnQYAiABKAUiNAoKQ2hlY2twb2ludBISCgpzZXJ2ZXJfc2VxGAEgASgDEhIKCmNsaWVudF9zZXEYAiABKA0iYQoLVGV4dE5vZGVQb3MSKQoKY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Eg4KBm9mZnNldBgCIAEoBRIXCg9yZWxhdGl2ZV9vZmZzZXQYAyABKAUiQgoKVGltZVRpY2tldBIPCgdsYW1wb3J0GAEgASgDEhEKCWRlbGltaXRlchgCIAEoDRIQCghhY3Rvcl9pZBgDIAEoDCIuCgxEb2NFdmVudEJvZHkSDQoFdG9waWMYASABKAkSDwoHcGF5bG9hZBgCIAEoDCJrCghEb2NFdmVudBIlCgR0eXBlGAEgASgOMhcueW9ya2llLnYxLkRvY0V2ZW50VHlwZRIRCglwdWJsaXNoZXIYAiABKAkSJQoEYm9keRgDIAEoCzIXLnlvcmtpZS52MS5Eb2NFdmVudEJvZHki1gEKDENoYW5uZWxFdmVudBIqCgR0eXBlGAEgASgOMhwueW9ya2llLnYxLkNoYW5uZWxFdmVudC5UeXBlEhEKCXB1Ymxpc2hlchgCIAEoCRIVCg1zZXNzaW9uX2NvdW50GAMgASgDEgsKA3NlcRgEIAEoAxINCgV0b3BpYxgFIAEoCRIPCgdwYXlsb2FkGAYgASgMIkMKBFR5cGUSFAoQVFlQRV9VTlNQRUNJRklFRBAAEhEKDVRZUEVfUFJFU0VOQ0UQARISCg5UWVBFX0JST0FEQ0FTVBACIiYKCERhdGFTaXplEgwKBGRhdGEYASABKAUSDAoEbWV0YRgCIAEoBSJNCgdEb2NTaXplEiEKBGxpdmUYASABKAsyEy55b3JraWUudjEuRGF0YVNpemUSHwoCZ2MYAiABKAsyEy55b3JraWUudjEuRGF0YVNpemUikQEKBlNjaGVtYRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAUSDAoEYm9keRgEIAEoCRIeCgVydWxlcxgFIAMoCzIPLnlvcmtpZS52MS5SdWxlEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIlAKDFRyZWVOb2RlUnVsZRIRCglub2RlX3R5cGUYASABKAkSDwoHY29udGVudBgCIAEoCRINCgVtYXJrcxgDIAEoCRINCgVncm91cBgEIAEoCSJPCgRSdWxlEgwKBHBhdGgYASABKAkSDAoEdHlwZRgCIAEoCRIrCgp0cmVlX25vZGVzGAMgAygLMhcueW9ya2llLnYxLlRyZWVOb2RlUnVsZSKDAQoPUmV2aXNpb25TdW1tYXJ5EgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhAKCHNuYXBzaG90GAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKvwCCglWYWx1ZVR5cGUSEwoPVkFMVUVfVFlQRV9OVUxMEAASFgoSVkFMVUVfVFlQRV9CT09MRUFOEAESFgoSVkFMVUVfVFlQRV9JTlRFR0VSEAISEwoPVkFMVUVfVFlQRV9MT05HEAMSFQoRVkFMVUVfVFlQRV9ET1VCTEUQBBIVChFWQUxVRV9UWVBFX1NUUklORxAFEhQKEFZBTFVFX1RZUEVfQllURVMQBhITCg9WQUxVRV9UWVBFX0RBVEUQBxIaChZWQUxVRV9UWVBFX0pTT05fT0JKRUNUEAgSGQoVVkFMVUVfVFlQRV9KU09OX0FSUkFZEAkSEwoPVkFMVUVfVFlQRV9URVhUEAoSGgoWVkFMVUVfVFlQRV9JTlRFR0VSX0NOVBALEhcKE1ZBTFVFX1RZUEVfTE9OR19DTlQQDBITCg9WQUxVRV9UWVBFX1RSRUUQDRIgChxWQUxVRV9UWVBFX0lOVEVHRVJfREVEVVBfQ05UEA4iBAgPEA8qpgEKDERvY0V2ZW50VHlwZRIjCh9ET0NfRVZFTlRfVFlQRV9ET0NVTUVOVF9DSEFOR0VEEAASIwofRE9DX0VWRU5UX1RZUEVfRE9DVU1FTlRfV0FUQ0hFRBABEiUKIURPQ19FVkVOVF9UWVBFX0RPQ1VNRU5UX1VOV0FUQ0hFRBACEiUKIURPQ19FVkVOVF9UWVBFX0RPQ1VNRU5UX0JST0FEQ0FTVBADQkUKEWRldi55b3JraWUuYXBpLnYxUAFaLmdpdGh1Yi5jb20veW9ya2llLXRlYW0veW9ya2llL2FwaS95b3JraWUvdjE7djFiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_wrappers]);
|
|
5796
|
+
const SnapshotSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 0);
|
|
5797
|
+
const ChangePackSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 1);
|
|
5798
|
+
const ChangeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 2);
|
|
5799
|
+
const ChangeIDSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 3);
|
|
5800
|
+
const VersionVectorSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 4);
|
|
5801
|
+
const OperationSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5);
|
|
5802
|
+
const Operation_SetSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 0);
|
|
5803
|
+
const Operation_AddSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 1);
|
|
5804
|
+
const Operation_MoveSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 2);
|
|
5805
|
+
const Operation_RemoveSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 3);
|
|
5806
|
+
const Operation_EditSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 4);
|
|
5807
|
+
const Operation_StyleSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 5);
|
|
5808
|
+
const Operation_IncreaseSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 6);
|
|
5809
|
+
const Operation_TreeEditSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 7);
|
|
5810
|
+
const Operation_TreeStyleSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 8);
|
|
5811
|
+
const Operation_ArraySetSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 9);
|
|
5812
|
+
const JSONElementSimpleSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 6);
|
|
5813
|
+
const JSONElementSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7);
|
|
5814
|
+
const JSONElement_JSONObjectSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 0);
|
|
5815
|
+
const JSONElement_JSONArraySchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 1);
|
|
5816
|
+
const JSONElement_PrimitiveSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 2);
|
|
5817
|
+
const JSONElement_TextSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 3);
|
|
5818
|
+
const JSONElement_CounterSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 4);
|
|
5819
|
+
const JSONElement_TreeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 5);
|
|
5820
|
+
const RHTNodeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 8);
|
|
5821
|
+
const RGANodeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 9);
|
|
5822
|
+
const NodeAttrSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 10);
|
|
5823
|
+
const TextNodeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 11);
|
|
5824
|
+
const TextNodeIDSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 12);
|
|
5825
|
+
const TreeNodeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 13);
|
|
5826
|
+
const TreeNodesSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 14);
|
|
5827
|
+
const TreeNodeIDSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 15);
|
|
5828
|
+
const TreePosSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 16);
|
|
5829
|
+
const PresenceChangeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 23);
|
|
5830
5830
|
var PresenceChange_ChangeType = /* @__PURE__ */ ((PresenceChange_ChangeType2) => {
|
|
5831
5831
|
PresenceChange_ChangeType2[PresenceChange_ChangeType2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
5832
5832
|
PresenceChange_ChangeType2[PresenceChange_ChangeType2["PUT"] = 1] = "PUT";
|
|
@@ -5834,10 +5834,10 @@
|
|
|
5834
5834
|
PresenceChange_ChangeType2[PresenceChange_ChangeType2["CLEAR"] = 3] = "CLEAR";
|
|
5835
5835
|
return PresenceChange_ChangeType2;
|
|
5836
5836
|
})(PresenceChange_ChangeType || {});
|
|
5837
|
-
const PresenceSchema = /* @__PURE__ */ messageDesc(
|
|
5838
|
-
const CheckpointSchema = /* @__PURE__ */ messageDesc(
|
|
5839
|
-
const TextNodePosSchema = /* @__PURE__ */ messageDesc(
|
|
5840
|
-
const TimeTicketSchema = /* @__PURE__ */ messageDesc(
|
|
5837
|
+
const PresenceSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 24);
|
|
5838
|
+
const CheckpointSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 26);
|
|
5839
|
+
const TextNodePosSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 27);
|
|
5840
|
+
const TimeTicketSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 28);
|
|
5841
5841
|
var ChannelEvent_Type = /* @__PURE__ */ ((ChannelEvent_Type2) => {
|
|
5842
5842
|
ChannelEvent_Type2[ChannelEvent_Type2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
5843
5843
|
ChannelEvent_Type2[ChannelEvent_Type2["PRESENCE"] = 1] = "PRESENCE";
|
|
@@ -5869,8 +5869,8 @@
|
|
|
5869
5869
|
DocEventType2[DocEventType2["DOCUMENT_BROADCAST"] = 3] = "DOCUMENT_BROADCAST";
|
|
5870
5870
|
return DocEventType2;
|
|
5871
5871
|
})(DocEventType$1 || {});
|
|
5872
|
-
const
|
|
5873
|
-
const YorkieService = /* @__PURE__ */ serviceDesc(
|
|
5872
|
+
const file_yorkie_v1_yorkie = /* @__PURE__ */ fileDesc("ChZ5b3JraWUvdjEveW9ya2llLnByb3RvEgl5b3JraWUudjEingEKFUFjdGl2YXRlQ2xpZW50UmVxdWVzdBISCgpjbGllbnRfa2V5GAEgASgJEkAKCG1ldGFkYXRhGAIgAygLMi4ueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVxdWVzdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIrChZBY3RpdmF0ZUNsaWVudFJlc3BvbnNlEhEKCWNsaWVudF9pZBgBIAEoCSJBChdEZWFjdGl2YXRlQ2xpZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLc3luY2hyb25vdXMYAiABKAgiGgoYRGVhY3RpdmF0ZUNsaWVudFJlc3BvbnNlImoKFUF0dGFjaERvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxISCgpzY2hlbWFfa2V5GAMgASgJIp8BChZBdHRhY2hEb2N1bWVudFJlc3BvbnNlEhMKC2RvY3VtZW50X2lkGAEgASgJEioKC2NoYW5nZV9wYWNrGAIgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSHQoVbWF4X3NpemVfcGVyX2RvY3VtZW50GAMgASgFEiUKDHNjaGVtYV9ydWxlcxgEIAMoCzIPLnlvcmtpZS52MS5SdWxlIosBChVEZXRhY2hEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSHgoWcmVtb3ZlX2lmX25vdF9hdHRhY2hlZBgEIAEoCCJEChZEZXRhY2hEb2N1bWVudFJlc3BvbnNlEioKC2NoYW5nZV9wYWNrGAIgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2siUwoMV2F0Y2hSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRIwCglyZXNvdXJjZXMYAiADKAsyHS55b3JraWUudjEuUmVzb3VyY2VEZXNjcmlwdG9yIoQBChJSZXNvdXJjZURlc2NyaXB0b3ISMQoIZG9jdW1lbnQYASABKAsyHS55b3JraWUudjEuRG9jdW1lbnREZXNjcmlwdG9ySAASLwoHY2hhbm5lbBgCIAEoCzIcLnlvcmtpZS52MS5DaGFubmVsRGVzY3JpcHRvckgAQgoKCHJlc291cmNlIikKEkRvY3VtZW50RGVzY3JpcHRvchITCgtkb2N1bWVudF9pZBgBIAEoCSIoChFDaGFubmVsRGVzY3JpcHRvchITCgtjaGFubmVsX2tleRgBIAEoCSJ5Cg1XYXRjaFJlc3BvbnNlEjgKDmluaXRpYWxpemF0aW9uGAEgASgLMh4ueW9ya2llLnYxLldhdGNoSW5pdGlhbGl6YXRpb25IABImCgVldmVudBgCIAEoCzIVLnlvcmtpZS52MS5XYXRjaEV2ZW50SABCBgoEYm9keSJGChNXYXRjaEluaXRpYWxpemF0aW9uEi8KDnJlc291cmNlX2luaXRzGAEgAygLMhcueW9ya2llLnYxLlJlc291cmNlSW5pdCJ4CgxSZXNvdXJjZUluaXQSMAoNZG9jdW1lbnRfaW5pdBgBIAEoCzIXLnlvcmtpZS52MS5Eb2N1bWVudEluaXRIABIuCgxjaGFubmVsX2luaXQYAiABKAsyFi55b3JraWUudjEuQ2hhbm5lbEluaXRIAEIGCgRpbml0IjcKDERvY3VtZW50SW5pdBITCgtkb2N1bWVudF9pZBgBIAEoCRISCgpjbGllbnRfaWRzGAIgAygJIkYKC0NoYW5uZWxJbml0EhMKC2NoYW5uZWxfa2V5GAEgASgJEhUKDXNlc3Npb25fY291bnQYAiABKAMSCwoDc2VxGAMgASgDInsKCldhdGNoRXZlbnQSLQoJZG9jX2V2ZW50GAEgASgLMhgueW9ya2llLnYxLkRvY1dhdGNoRXZlbnRIABI1Cg1jaGFubmVsX2V2ZW50GAIgASgLMhwueW9ya2llLnYxLkNoYW5uZWxXYXRjaEV2ZW50SABCBwoFZXZlbnQiSAoNRG9jV2F0Y2hFdmVudBITCgtkb2N1bWVudF9pZBgBIAEoCRIiCgVldmVudBgCIAEoCzITLnlvcmtpZS52MS5Eb2NFdmVudCJQChFDaGFubmVsV2F0Y2hFdmVudBITCgtjaGFubmVsX2tleRgBIAEoCRImCgVldmVudBgCIAEoCzIXLnlvcmtpZS52MS5DaGFubmVsRXZlbnQiPgoUV2F0Y2hEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJIrYBChVXYXRjaERvY3VtZW50UmVzcG9uc2USSQoOaW5pdGlhbGl6YXRpb24YASABKAsyLy55b3JraWUudjEuV2F0Y2hEb2N1bWVudFJlc3BvbnNlLkluaXRpYWxpemF0aW9uSAASJAoFZXZlbnQYAiABKAsyEy55b3JraWUudjEuRG9jRXZlbnRIABokCg5Jbml0aWFsaXphdGlvbhISCgpjbGllbnRfaWRzGAEgAygJQgYKBGJvZHkiPQoTV2F0Y2hDaGFubmVsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkigwEKFFdhdGNoQ2hhbm5lbFJlc3BvbnNlEjkKC2luaXRpYWxpemVkGAEgASgLMiIueW9ya2llLnYxLldhdGNoQ2hhbm5lbEluaXRpYWxpemVkSAASKAoFZXZlbnQYAiABKAsyFy55b3JraWUudjEuQ2hhbm5lbEV2ZW50SABCBgoEYm9keSI9ChdXYXRjaENoYW5uZWxJbml0aWFsaXplZBIVCg1zZXNzaW9uX2NvdW50GAEgASgDEgsKA3NlcRgCIAEoAyJrChVSZW1vdmVEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2siRAoWUmVtb3ZlRG9jdW1lbnRSZXNwb25zZRIqCgtjaGFuZ2VfcGFjaxgBIAEoCzIVLnlvcmtpZS52MS5DaGFuZ2VQYWNrIn8KFlB1c2hQdWxsQ2hhbmdlc1JlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSEQoJcHVzaF9vbmx5GAQgASgIIkUKF1B1c2hQdWxsQ2hhbmdlc1Jlc3BvbnNlEioKC2NoYW5nZV9wYWNrGAEgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2siYwoVQ3JlYXRlUmV2aXNpb25SZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRINCgVsYWJlbBgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCSJGChZDcmVhdGVSZXZpc2lvblJlc3BvbnNlEiwKCHJldmlzaW9uGAEgASgLMhoueW9ya2llLnYxLlJldmlzaW9uU3VtbWFyeSJRChJHZXRSZXZpc2lvblJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEhMKC3JldmlzaW9uX2lkGAMgASgJIkMKE0dldFJldmlzaW9uUmVzcG9uc2USLAoIcmV2aXNpb24YASABKAsyGi55b3JraWUudjEuUmV2aXNpb25TdW1tYXJ5InUKFExpc3RSZXZpc2lvbnNSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRIRCglwYWdlX3NpemUYAyABKAUSDgoGb2Zmc2V0GAQgASgFEhIKCmlzX2ZvcndhcmQYBSABKAgiRgoVTGlzdFJldmlzaW9uc1Jlc3BvbnNlEi0KCXJldmlzaW9ucxgBIAMoCzIaLnlvcmtpZS52MS5SZXZpc2lvblN1bW1hcnkiVQoWUmVzdG9yZVJldmlzaW9uUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSEwoLcmV2aXNpb25faWQYBCABKAkiGQoXUmVzdG9yZVJldmlzaW9uUmVzcG9uc2UiPgoUQXR0YWNoQ2hhbm5lbFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJIkIKFUF0dGFjaENoYW5uZWxSZXNwb25zZRISCgpzZXNzaW9uX2lkGAEgASgJEhUKDXNlc3Npb25fY291bnQYAiABKAMiUgoURGV0YWNoQ2hhbm5lbFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJEhIKCnNlc3Npb25faWQYAyABKAkiLgoVRGV0YWNoQ2hhbm5lbFJlc3BvbnNlEhUKDXNlc3Npb25fY291bnQYASABKAMiUwoVUmVmcmVzaENoYW5uZWxSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtjaGFubmVsX2tleRgCIAEoCRISCgpzZXNzaW9uX2lkGAMgASgJIi8KFlJlZnJlc2hDaGFubmVsUmVzcG9uc2USFQoNc2Vzc2lvbl9jb3VudBgBIAEoAyIpChJQZWVrQ2hhbm5lbFJlcXVlc3QSEwoLY2hhbm5lbF9rZXkYASABKAkiLAoTUGVla0NoYW5uZWxSZXNwb25zZRIVCg1zZXNzaW9uX2NvdW50GAEgASgDIloKEEJyb2FkY2FzdFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJEg0KBXRvcGljGAMgASgJEg8KB3BheWxvYWQYBCABKAwiEwoRQnJvYWRjYXN0UmVzcG9uc2UylQwKDVlvcmtpZVNlcnZpY2USVwoOQWN0aXZhdGVDbGllbnQSIC55b3JraWUudjEuQWN0aXZhdGVDbGllbnRSZXF1ZXN0GiEueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVzcG9uc2UiABJdChBEZWFjdGl2YXRlQ2xpZW50EiIueW9ya2llLnYxLkRlYWN0aXZhdGVDbGllbnRSZXF1ZXN0GiMueW9ya2llLnYxLkRlYWN0aXZhdGVDbGllbnRSZXNwb25zZSIAElcKDkF0dGFjaERvY3VtZW50EiAueW9ya2llLnYxLkF0dGFjaERvY3VtZW50UmVxdWVzdBohLnlvcmtpZS52MS5BdHRhY2hEb2N1bWVudFJlc3BvbnNlIgASVwoORGV0YWNoRG9jdW1lbnQSIC55b3JraWUudjEuRGV0YWNoRG9jdW1lbnRSZXF1ZXN0GiEueW9ya2llLnYxLkRldGFjaERvY3VtZW50UmVzcG9uc2UiABJXCg5SZW1vdmVEb2N1bWVudBIgLnlvcmtpZS52MS5SZW1vdmVEb2N1bWVudFJlcXVlc3QaIS55b3JraWUudjEuUmVtb3ZlRG9jdW1lbnRSZXNwb25zZSIAEloKD1B1c2hQdWxsQ2hhbmdlcxIhLnlvcmtpZS52MS5QdXNoUHVsbENoYW5nZXNSZXF1ZXN0GiIueW9ya2llLnYxLlB1c2hQdWxsQ2hhbmdlc1Jlc3BvbnNlIgASPgoFV2F0Y2gSFy55b3JraWUudjEuV2F0Y2hSZXF1ZXN0GhgueW9ya2llLnYxLldhdGNoUmVzcG9uc2UiADABElYKDVdhdGNoRG9jdW1lbnQSHy55b3JraWUudjEuV2F0Y2hEb2N1bWVudFJlcXVlc3QaIC55b3JraWUudjEuV2F0Y2hEb2N1bWVudFJlc3BvbnNlIgAwARJTCgxXYXRjaENoYW5uZWwSHi55b3JraWUudjEuV2F0Y2hDaGFubmVsUmVxdWVzdBofLnlvcmtpZS52MS5XYXRjaENoYW5uZWxSZXNwb25zZSIAMAESVwoOQ3JlYXRlUmV2aXNpb24SIC55b3JraWUudjEuQ3JlYXRlUmV2aXNpb25SZXF1ZXN0GiEueW9ya2llLnYxLkNyZWF0ZVJldmlzaW9uUmVzcG9uc2UiABJOCgtHZXRSZXZpc2lvbhIdLnlvcmtpZS52MS5HZXRSZXZpc2lvblJlcXVlc3QaHi55b3JraWUudjEuR2V0UmV2aXNpb25SZXNwb25zZSIAElQKDUxpc3RSZXZpc2lvbnMSHy55b3JraWUudjEuTGlzdFJldmlzaW9uc1JlcXVlc3QaIC55b3JraWUudjEuTGlzdFJldmlzaW9uc1Jlc3BvbnNlIgASWgoPUmVzdG9yZVJldmlzaW9uEiEueW9ya2llLnYxLlJlc3RvcmVSZXZpc2lvblJlcXVlc3QaIi55b3JraWUudjEuUmVzdG9yZVJldmlzaW9uUmVzcG9uc2UiABJUCg1BdHRhY2hDaGFubmVsEh8ueW9ya2llLnYxLkF0dGFjaENoYW5uZWxSZXF1ZXN0GiAueW9ya2llLnYxLkF0dGFjaENoYW5uZWxSZXNwb25zZSIAElQKDURldGFjaENoYW5uZWwSHy55b3JraWUudjEuRGV0YWNoQ2hhbm5lbFJlcXVlc3QaIC55b3JraWUudjEuRGV0YWNoQ2hhbm5lbFJlc3BvbnNlIgASVwoOUmVmcmVzaENoYW5uZWwSIC55b3JraWUudjEuUmVmcmVzaENoYW5uZWxSZXF1ZXN0GiEueW9ya2llLnYxLlJlZnJlc2hDaGFubmVsUmVzcG9uc2UiABJOCgtQZWVrQ2hhbm5lbBIdLnlvcmtpZS52MS5QZWVrQ2hhbm5lbFJlcXVlc3QaHi55b3JraWUudjEuUGVla0NoYW5uZWxSZXNwb25zZSIAEkgKCUJyb2FkY2FzdBIbLnlvcmtpZS52MS5Ccm9hZGNhc3RSZXF1ZXN0GhwueW9ya2llLnYxLkJyb2FkY2FzdFJlc3BvbnNlIgBCRQoRZGV2LnlvcmtpZS5hcGkudjFQAVouZ2l0aHViLmNvbS95b3JraWUtdGVhbS95b3JraWUvYXBpL3lvcmtpZS92MTt2MWIGcHJvdG8z", [file_yorkie_v1_resources]);
|
|
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);
|
|
5876
5876
|
var Code = /* @__PURE__ */ ((Code2) => {
|
|
@@ -5905,6 +5905,8 @@
|
|
|
5905
5905
|
this.message = message;
|
|
5906
5906
|
this.toString = () => `[code=${this.code}]: ${this.message}`;
|
|
5907
5907
|
}
|
|
5908
|
+
code;
|
|
5909
|
+
message;
|
|
5908
5910
|
name = "YorkieError";
|
|
5909
5911
|
stack;
|
|
5910
5912
|
}
|
|
@@ -12534,8 +12536,10 @@
|
|
|
12534
12536
|
break;
|
|
12535
12537
|
}
|
|
12536
12538
|
if (next.parent && next.parent === toParent) {
|
|
12537
|
-
|
|
12538
|
-
|
|
12539
|
+
if (toLeft !== toParent) {
|
|
12540
|
+
collectFromLeft = next;
|
|
12541
|
+
collectFromParent = toParent;
|
|
12542
|
+
}
|
|
12539
12543
|
break;
|
|
12540
12544
|
}
|
|
12541
12545
|
current = next;
|
|
@@ -12598,6 +12602,7 @@
|
|
|
12598
12602
|
tokensToBeRemoved,
|
|
12599
12603
|
editedAt
|
|
12600
12604
|
);
|
|
12605
|
+
const mergeLevel = toBeMergedNodes.length;
|
|
12601
12606
|
const pairs = [];
|
|
12602
12607
|
for (const node of nodesToBeRemoved) {
|
|
12603
12608
|
if (node.remove(editedAt)) {
|
|
@@ -12724,7 +12729,15 @@
|
|
|
12724
12729
|
}
|
|
12725
12730
|
}
|
|
12726
12731
|
}
|
|
12727
|
-
return [
|
|
12732
|
+
return [
|
|
12733
|
+
changes,
|
|
12734
|
+
pairs,
|
|
12735
|
+
diff,
|
|
12736
|
+
nodesToBeRemoved,
|
|
12737
|
+
fromIdx,
|
|
12738
|
+
mergeLevel,
|
|
12739
|
+
preTombstoned
|
|
12740
|
+
];
|
|
12728
12741
|
}
|
|
12729
12742
|
/**
|
|
12730
12743
|
* `editT` edits the given range with the given value.
|
|
@@ -13165,11 +13178,35 @@
|
|
|
13165
13178
|
return [prev, prev.isText ? TokenType.Text : TokenType.End];
|
|
13166
13179
|
}
|
|
13167
13180
|
}
|
|
13168
|
-
function
|
|
13169
|
-
|
|
13181
|
+
function cloneAndDropPreTombstoned(node, preTombstoned) {
|
|
13182
|
+
const clone = node.deepcopy();
|
|
13183
|
+
filterChildren(clone, preTombstoned);
|
|
13184
|
+
traverseAll(clone, (n) => {
|
|
13170
13185
|
n.removedAt = void 0;
|
|
13171
|
-
n.
|
|
13186
|
+
if (n.isText) {
|
|
13187
|
+
n.visibleSize = n.value.length;
|
|
13188
|
+
n.totalSize = n.value.length;
|
|
13189
|
+
return;
|
|
13190
|
+
}
|
|
13191
|
+
let size = 0;
|
|
13192
|
+
for (const child of n._children) size += child.paddedSize();
|
|
13193
|
+
n.visibleSize = size;
|
|
13194
|
+
n.totalSize = size;
|
|
13172
13195
|
});
|
|
13196
|
+
return clone;
|
|
13197
|
+
}
|
|
13198
|
+
function filterChildren(node, preTombstoned) {
|
|
13199
|
+
const all = node._children;
|
|
13200
|
+
if (!all) return;
|
|
13201
|
+
const kept = [];
|
|
13202
|
+
for (const child of all) {
|
|
13203
|
+
if (preTombstoned.has(child.id.toIDString())) {
|
|
13204
|
+
continue;
|
|
13205
|
+
}
|
|
13206
|
+
filterChildren(child, preTombstoned);
|
|
13207
|
+
kept.push(child);
|
|
13208
|
+
}
|
|
13209
|
+
node._children = kept;
|
|
13173
13210
|
}
|
|
13174
13211
|
class TreeEditOperation extends Operation {
|
|
13175
13212
|
fromPos;
|
|
@@ -13241,7 +13278,15 @@
|
|
|
13241
13278
|
this.toPos = tree.findPos(this.toIdx);
|
|
13242
13279
|
}
|
|
13243
13280
|
}
|
|
13244
|
-
const [
|
|
13281
|
+
const [
|
|
13282
|
+
changes,
|
|
13283
|
+
pairs,
|
|
13284
|
+
diff,
|
|
13285
|
+
removedNodes,
|
|
13286
|
+
preEditFromIdx,
|
|
13287
|
+
mergeLevel,
|
|
13288
|
+
preTombstoned
|
|
13289
|
+
] = tree.edit(
|
|
13245
13290
|
[this.fromPos, this.toPos],
|
|
13246
13291
|
this.contents?.map((content) => content.deepcopy()),
|
|
13247
13292
|
this.splitLevel,
|
|
@@ -13276,7 +13321,13 @@
|
|
|
13276
13321
|
let reverseOp;
|
|
13277
13322
|
const isPureSplit = this.splitLevel > 0 && !this.contents?.length && removedNodes.length === 0;
|
|
13278
13323
|
if (this.splitLevel === 0) {
|
|
13279
|
-
reverseOp = this.toReverseOperation(
|
|
13324
|
+
reverseOp = this.toReverseOperation(
|
|
13325
|
+
tree,
|
|
13326
|
+
removedNodes,
|
|
13327
|
+
preEditFromIdx,
|
|
13328
|
+
preTombstoned,
|
|
13329
|
+
mergeLevel
|
|
13330
|
+
);
|
|
13280
13331
|
} else if (isPureSplit) {
|
|
13281
13332
|
reverseOp = this.toSplitReverseOperation(tree, preEditFromIdx);
|
|
13282
13333
|
}
|
|
@@ -13314,7 +13365,7 @@
|
|
|
13314
13365
|
* @param removedNodes - Nodes that were removed by this edit
|
|
13315
13366
|
* @param preEditFromIdx - The from index captured BEFORE the edit
|
|
13316
13367
|
*/
|
|
13317
|
-
toReverseOperation(tree, removedNodes, preEditFromIdx) {
|
|
13368
|
+
toReverseOperation(tree, removedNodes, preEditFromIdx, preTombstoned, mergeLevel) {
|
|
13318
13369
|
if (this.redoSplitLevel !== void 0 && this.redoSplitLevel > 0) {
|
|
13319
13370
|
const splitRedoFromPos = tree.findPos(preEditFromIdx);
|
|
13320
13371
|
const splitRedoOp = TreeEditOperation.create(
|
|
@@ -13333,19 +13384,36 @@
|
|
|
13333
13384
|
);
|
|
13334
13385
|
return splitRedoOp;
|
|
13335
13386
|
}
|
|
13387
|
+
if (mergeLevel && mergeLevel > 0) {
|
|
13388
|
+
const splitFromPos = tree.findPos(preEditFromIdx);
|
|
13389
|
+
const splitUndoOp = TreeEditOperation.create(
|
|
13390
|
+
this.getParentCreatedAt(),
|
|
13391
|
+
splitFromPos,
|
|
13392
|
+
splitFromPos,
|
|
13393
|
+
void 0,
|
|
13394
|
+
// no inserted content — split creates boundaries
|
|
13395
|
+
mergeLevel,
|
|
13396
|
+
// splitLevel = number of merged boundaries
|
|
13397
|
+
void 0,
|
|
13398
|
+
// executedAt assigned at undo time
|
|
13399
|
+
true,
|
|
13400
|
+
// isUndoOp
|
|
13401
|
+
preEditFromIdx,
|
|
13402
|
+
preEditFromIdx
|
|
13403
|
+
);
|
|
13404
|
+
return splitUndoOp;
|
|
13405
|
+
}
|
|
13336
13406
|
const insertedContentSize = this.contents ? this.contents.reduce((sum, node) => sum + node.paddedSize(), 0) : 0;
|
|
13337
13407
|
const maxNeededIdx = preEditFromIdx + insertedContentSize;
|
|
13338
13408
|
if (maxNeededIdx > tree.getSize()) {
|
|
13339
13409
|
return void 0;
|
|
13340
13410
|
}
|
|
13341
13411
|
const topLevelRemoved = removedNodes.filter(
|
|
13342
|
-
(node) => !node.parent || !removedNodes.includes(node.parent)
|
|
13412
|
+
(node) => !preTombstoned.has(node.id.toIDString()) && (!node.parent || !removedNodes.includes(node.parent))
|
|
13343
13413
|
);
|
|
13344
|
-
const reverseContents = topLevelRemoved.length > 0 ? topLevelRemoved.map(
|
|
13345
|
-
|
|
13346
|
-
|
|
13347
|
-
return clone;
|
|
13348
|
-
}) : void 0;
|
|
13414
|
+
const reverseContents = topLevelRemoved.length > 0 ? topLevelRemoved.map(
|
|
13415
|
+
(n) => cloneAndDropPreTombstoned(n, preTombstoned)
|
|
13416
|
+
) : void 0;
|
|
13349
13417
|
const reverseFromPos = tree.findPos(preEditFromIdx);
|
|
13350
13418
|
let reverseToPos;
|
|
13351
13419
|
if (insertedContentSize > 0) {
|
|
@@ -20159,6 +20227,11 @@
|
|
|
20159
20227
|
}
|
|
20160
20228
|
]);
|
|
20161
20229
|
}
|
|
20230
|
+
/**
|
|
20231
|
+
* `clearHistory` flushes both undo and redo stacks. This is used
|
|
20232
|
+
* after applying a snapshot or initialRoot so that setup operations
|
|
20233
|
+
* are not reachable via undo.
|
|
20234
|
+
*/
|
|
20162
20235
|
clearHistory() {
|
|
20163
20236
|
this.internalHistory.clearRedo();
|
|
20164
20237
|
this.internalHistory.clearUndo();
|
|
@@ -20618,10 +20691,7 @@
|
|
|
20618
20691
|
}
|
|
20619
20692
|
const ops = isUndo ? this.internalHistory.popUndo() : this.internalHistory.popRedo();
|
|
20620
20693
|
if (!ops) {
|
|
20621
|
-
|
|
20622
|
-
Code.ErrRefused,
|
|
20623
|
-
`There is no operation to be ${isUndo ? "undone" : "redone"}`
|
|
20624
|
-
);
|
|
20694
|
+
return;
|
|
20625
20695
|
}
|
|
20626
20696
|
this.ensureClone();
|
|
20627
20697
|
const ctx = ChangeContext.create(
|
|
@@ -20714,6 +20784,8 @@
|
|
|
20714
20784
|
syncMode;
|
|
20715
20785
|
changeEventReceived;
|
|
20716
20786
|
lastHeartbeatTime;
|
|
20787
|
+
pollInterval;
|
|
20788
|
+
pollIntervalPinned;
|
|
20717
20789
|
reconnectStreamDelay;
|
|
20718
20790
|
cancelled;
|
|
20719
20791
|
watchStream;
|
|
@@ -20721,13 +20793,15 @@
|
|
|
20721
20793
|
watchAbortController;
|
|
20722
20794
|
syncPromise;
|
|
20723
20795
|
_detaching = false;
|
|
20724
|
-
constructor(reconnectStreamDelay, resource, resourceID, syncMode) {
|
|
20796
|
+
constructor(reconnectStreamDelay, resource, resourceID, syncMode, pollInterval = 0, pollIntervalPinned = false) {
|
|
20725
20797
|
this.reconnectStreamDelay = reconnectStreamDelay;
|
|
20726
20798
|
this.resource = resource;
|
|
20727
20799
|
this.resourceID = resourceID;
|
|
20728
20800
|
this.syncMode = syncMode;
|
|
20729
20801
|
this.changeEventReceived = syncMode !== void 0 ? false : void 0;
|
|
20730
20802
|
this.lastHeartbeatTime = Date.now();
|
|
20803
|
+
this.pollInterval = pollInterval;
|
|
20804
|
+
this.pollIntervalPinned = pollIntervalPinned;
|
|
20731
20805
|
this.cancelled = false;
|
|
20732
20806
|
}
|
|
20733
20807
|
/**
|
|
@@ -20747,6 +20821,9 @@
|
|
|
20747
20821
|
if (this.syncMode === SyncMode.RealtimePushOnly) {
|
|
20748
20822
|
return this.resource.hasLocalChanges();
|
|
20749
20823
|
}
|
|
20824
|
+
if (this.syncMode === SyncMode.Polling) {
|
|
20825
|
+
return Date.now() - this.lastHeartbeatTime >= this.pollInterval;
|
|
20826
|
+
}
|
|
20750
20827
|
return this.syncMode !== SyncMode.Manual && (this.resource.hasLocalChanges() || (this.changeEventReceived ?? false));
|
|
20751
20828
|
}
|
|
20752
20829
|
/**
|
|
@@ -20760,7 +20837,8 @@
|
|
|
20760
20837
|
if (this.syncMode === SyncMode.Manual) {
|
|
20761
20838
|
return false;
|
|
20762
20839
|
}
|
|
20763
|
-
|
|
20840
|
+
const interval = this.pollInterval > 0 ? this.pollInterval : heartbeatInterval;
|
|
20841
|
+
return Date.now() - this.lastHeartbeatTime >= interval;
|
|
20764
20842
|
}
|
|
20765
20843
|
/**
|
|
20766
20844
|
* `updateHeartbeatTime` updates the last heartbeat time.
|
|
@@ -20839,6 +20917,16 @@
|
|
|
20839
20917
|
}
|
|
20840
20918
|
}
|
|
20841
20919
|
}
|
|
20920
|
+
/**
|
|
20921
|
+
* `resetCancelled` clears the cancelled flag so the watch loop can run again
|
|
20922
|
+
* after a previous cancellation (e.g., after changeSyncMode back to Realtime).
|
|
20923
|
+
* Caller must invoke `runWatchLoop` immediately after to claim the stream slot;
|
|
20924
|
+
* `doLoop`'s `if (this.watchStream)` guard prevents double-stream creation if a
|
|
20925
|
+
* delayed `onDisconnect` callback from the previously-cancelled stream races.
|
|
20926
|
+
*/
|
|
20927
|
+
resetCancelled() {
|
|
20928
|
+
this.cancelled = false;
|
|
20929
|
+
}
|
|
20842
20930
|
/**
|
|
20843
20931
|
* `cancelWatchStream` cancels the watch stream.
|
|
20844
20932
|
*/
|
|
@@ -20873,7 +20961,7 @@
|
|
|
20873
20961
|
};
|
|
20874
20962
|
}
|
|
20875
20963
|
const name$1 = "@yorkie-js/sdk";
|
|
20876
|
-
const version$1 = "0.7.
|
|
20964
|
+
const version$1 = "0.7.9";
|
|
20877
20965
|
const pkg$1 = {
|
|
20878
20966
|
name: name$1,
|
|
20879
20967
|
version: version$1
|
|
@@ -21156,8 +21244,10 @@
|
|
|
21156
21244
|
SyncMode2["Realtime"] = "realtime";
|
|
21157
21245
|
SyncMode2["RealtimePushOnly"] = "realtime-pushonly";
|
|
21158
21246
|
SyncMode2["RealtimeSyncOff"] = "realtime-syncoff";
|
|
21247
|
+
SyncMode2["Polling"] = "polling";
|
|
21159
21248
|
return SyncMode2;
|
|
21160
21249
|
})(SyncMode || {});
|
|
21250
|
+
const DefaultPollingIntervalMs = 3e3;
|
|
21161
21251
|
const DefaultClientOptions = {
|
|
21162
21252
|
rpcAddr: "https://api.yorkie.dev",
|
|
21163
21253
|
syncLoopDuration: 50,
|
|
@@ -21353,6 +21443,14 @@
|
|
|
21353
21443
|
doc.setActor(this.id);
|
|
21354
21444
|
doc.update((_, p) => p.set(opts.initialPresence || {}));
|
|
21355
21445
|
const syncMode = opts.syncMode ?? "realtime";
|
|
21446
|
+
if (opts.documentPollInterval !== void 0 && opts.documentPollInterval <= 0) {
|
|
21447
|
+
throw new YorkieError(
|
|
21448
|
+
Code.ErrInvalidArgument,
|
|
21449
|
+
"documentPollInterval must be greater than 0"
|
|
21450
|
+
);
|
|
21451
|
+
}
|
|
21452
|
+
const pollIntervalPinned = opts.documentPollInterval !== void 0;
|
|
21453
|
+
const pollInterval = pollIntervalPinned ? opts.documentPollInterval : syncMode === "polling" ? DefaultPollingIntervalMs : 0;
|
|
21356
21454
|
return this.enqueueTask(async () => {
|
|
21357
21455
|
try {
|
|
21358
21456
|
const res = await this.rpcClient.attachDocument(
|
|
@@ -21382,10 +21480,12 @@
|
|
|
21382
21480
|
this.reconnectStreamDelay,
|
|
21383
21481
|
doc,
|
|
21384
21482
|
res.documentId,
|
|
21385
|
-
syncMode
|
|
21483
|
+
syncMode,
|
|
21484
|
+
pollInterval,
|
|
21485
|
+
pollIntervalPinned
|
|
21386
21486
|
)
|
|
21387
21487
|
);
|
|
21388
|
-
if (syncMode !== "manual") {
|
|
21488
|
+
if (syncMode !== "manual" && syncMode !== "polling") {
|
|
21389
21489
|
await this.runWatchLoop(doc.getKey());
|
|
21390
21490
|
}
|
|
21391
21491
|
logger.info(`[AD] c:"${this.getKey()}" attaches d:"${doc.getKey()}"`);
|
|
@@ -21401,6 +21501,7 @@
|
|
|
21401
21501
|
}
|
|
21402
21502
|
});
|
|
21403
21503
|
}
|
|
21504
|
+
doc.clearHistory();
|
|
21404
21505
|
return doc;
|
|
21405
21506
|
} catch (err) {
|
|
21406
21507
|
logger.error(`[AD] c:"${this.getKey()}" err :`, err);
|
|
@@ -21511,12 +21612,23 @@
|
|
|
21511
21612
|
channel.setSessionID(res.sessionId);
|
|
21512
21613
|
channel.updateSessionCount(Number(res.sessionCount), 0);
|
|
21513
21614
|
channel.applyStatus(ChannelStatus.Attached);
|
|
21514
|
-
const syncMode = opts.
|
|
21615
|
+
const syncMode = opts.syncMode ?? "realtime";
|
|
21616
|
+
this.assertValidChannelSyncMode(syncMode);
|
|
21617
|
+
if (opts.channelHeartbeatInterval !== void 0 && opts.channelHeartbeatInterval <= 0) {
|
|
21618
|
+
throw new YorkieError(
|
|
21619
|
+
Code.ErrInvalidArgument,
|
|
21620
|
+
"channelHeartbeatInterval must be greater than 0"
|
|
21621
|
+
);
|
|
21622
|
+
}
|
|
21623
|
+
const pollIntervalPinned = opts.channelHeartbeatInterval !== void 0;
|
|
21624
|
+
const pollInterval = pollIntervalPinned ? opts.channelHeartbeatInterval : syncMode === "polling" ? DefaultPollingIntervalMs : this.channelHeartbeatInterval;
|
|
21515
21625
|
const attachment = new Attachment(
|
|
21516
21626
|
this.reconnectStreamDelay,
|
|
21517
21627
|
channel,
|
|
21518
21628
|
res.sessionId,
|
|
21519
|
-
syncMode
|
|
21629
|
+
syncMode,
|
|
21630
|
+
pollInterval,
|
|
21631
|
+
pollIntervalPinned
|
|
21520
21632
|
);
|
|
21521
21633
|
channel.subscribe("local-broadcast", (event) => {
|
|
21522
21634
|
const { topic, payload, options } = event;
|
|
@@ -21592,9 +21704,17 @@
|
|
|
21592
21704
|
return this.enqueueTask(task);
|
|
21593
21705
|
}
|
|
21594
21706
|
/**
|
|
21595
|
-
* `changeSyncMode` changes the synchronization mode of the given
|
|
21707
|
+
* `changeSyncMode` changes the synchronization mode of the given resource.
|
|
21596
21708
|
*/
|
|
21597
|
-
async changeSyncMode(
|
|
21709
|
+
async changeSyncMode(resource, syncMode) {
|
|
21710
|
+
return this.enqueueTask(async () => {
|
|
21711
|
+
if (resource instanceof Channel) {
|
|
21712
|
+
return this.changeChannelSyncMode(resource, syncMode);
|
|
21713
|
+
}
|
|
21714
|
+
return this.changeDocumentSyncMode(resource, syncMode);
|
|
21715
|
+
});
|
|
21716
|
+
}
|
|
21717
|
+
async changeDocumentSyncMode(doc, syncMode) {
|
|
21598
21718
|
if (!this.isActive()) {
|
|
21599
21719
|
throw new YorkieError(
|
|
21600
21720
|
Code.ErrClientNotActivated,
|
|
@@ -21612,19 +21732,66 @@
|
|
|
21612
21732
|
if (prevSyncMode === syncMode) {
|
|
21613
21733
|
return doc;
|
|
21614
21734
|
}
|
|
21615
|
-
|
|
21616
|
-
if (syncMode === "manual") {
|
|
21735
|
+
if (syncMode === "manual" || syncMode === "polling") {
|
|
21617
21736
|
attachment.cancelWatchStream();
|
|
21618
|
-
return doc;
|
|
21619
21737
|
}
|
|
21738
|
+
attachment.changeSyncMode(syncMode);
|
|
21620
21739
|
if (syncMode === "realtime") {
|
|
21621
21740
|
attachment.changeEventReceived = true;
|
|
21622
21741
|
}
|
|
21623
|
-
if (
|
|
21742
|
+
if (!attachment.pollIntervalPinned) {
|
|
21743
|
+
attachment.pollInterval = syncMode === "polling" ? DefaultPollingIntervalMs : 0;
|
|
21744
|
+
}
|
|
21745
|
+
if ((prevSyncMode === "manual" || prevSyncMode === "polling") && syncMode !== "manual" && syncMode !== "polling") {
|
|
21746
|
+
attachment.resetCancelled();
|
|
21624
21747
|
await this.runWatchLoop(doc.getKey());
|
|
21625
21748
|
}
|
|
21626
21749
|
return doc;
|
|
21627
21750
|
}
|
|
21751
|
+
/**
|
|
21752
|
+
* `assertValidChannelSyncMode` rejects sync modes that are not valid for
|
|
21753
|
+
* channels. `RealtimePushOnly` and `RealtimeSyncOff` are document-only.
|
|
21754
|
+
*/
|
|
21755
|
+
assertValidChannelSyncMode(syncMode) {
|
|
21756
|
+
if (syncMode !== "manual" && syncMode !== "realtime" && syncMode !== "polling") {
|
|
21757
|
+
throw new YorkieError(
|
|
21758
|
+
Code.ErrInvalidArgument,
|
|
21759
|
+
`invalid channel sync mode: ${syncMode}`
|
|
21760
|
+
);
|
|
21761
|
+
}
|
|
21762
|
+
}
|
|
21763
|
+
async changeChannelSyncMode(channel, syncMode) {
|
|
21764
|
+
if (!this.isActive()) {
|
|
21765
|
+
throw new YorkieError(
|
|
21766
|
+
Code.ErrClientNotActivated,
|
|
21767
|
+
`${this.key} is not active`
|
|
21768
|
+
);
|
|
21769
|
+
}
|
|
21770
|
+
const attachment = this.attachmentMap.get(channel.getKey());
|
|
21771
|
+
if (!attachment) {
|
|
21772
|
+
throw new YorkieError(
|
|
21773
|
+
Code.ErrNotAttached,
|
|
21774
|
+
`${channel.getKey()} is not attached`
|
|
21775
|
+
);
|
|
21776
|
+
}
|
|
21777
|
+
const prevSyncMode = attachment.syncMode;
|
|
21778
|
+
if (prevSyncMode === syncMode) {
|
|
21779
|
+
return channel;
|
|
21780
|
+
}
|
|
21781
|
+
this.assertValidChannelSyncMode(syncMode);
|
|
21782
|
+
if (prevSyncMode === "realtime") {
|
|
21783
|
+
attachment.cancelWatchStream();
|
|
21784
|
+
}
|
|
21785
|
+
attachment.changeSyncMode(syncMode);
|
|
21786
|
+
if (!attachment.pollIntervalPinned) {
|
|
21787
|
+
attachment.pollInterval = syncMode === "polling" ? DefaultPollingIntervalMs : syncMode === "realtime" ? this.channelHeartbeatInterval : 0;
|
|
21788
|
+
}
|
|
21789
|
+
if (syncMode === "realtime") {
|
|
21790
|
+
attachment.resetCancelled();
|
|
21791
|
+
await this.runWatchLoop(channel.getKey());
|
|
21792
|
+
}
|
|
21793
|
+
return channel;
|
|
21794
|
+
}
|
|
21628
21795
|
/**
|
|
21629
21796
|
* `sync` implementation that handles both Document and Channel.
|
|
21630
21797
|
*/
|
|
@@ -21945,6 +22112,36 @@
|
|
|
21945
22112
|
};
|
|
21946
22113
|
return this.enqueueTask(task);
|
|
21947
22114
|
}
|
|
22115
|
+
/**
|
|
22116
|
+
* `peekChannel` reads the current session count of a channel without
|
|
22117
|
+
* creating a session on the server. Use this when the caller only needs
|
|
22118
|
+
* to display the count (e.g. "N people writing") without contributing to
|
|
22119
|
+
* it and without receiving broadcasts.
|
|
22120
|
+
*
|
|
22121
|
+
* Unlike `attach({ readOnly: true })`, this does not occupy a `Session`
|
|
22122
|
+
* entry on the server, does not generate heartbeat RPCs, and does not
|
|
22123
|
+
* subscribe to channel events. Polling is the caller's responsibility.
|
|
22124
|
+
*/
|
|
22125
|
+
async peekChannel(channelKey) {
|
|
22126
|
+
if (!this.isActive()) {
|
|
22127
|
+
throw new YorkieError(
|
|
22128
|
+
Code.ErrClientNotActivated,
|
|
22129
|
+
`${this.key} is not active`
|
|
22130
|
+
);
|
|
22131
|
+
}
|
|
22132
|
+
return this.enqueueTask(async () => {
|
|
22133
|
+
const firstKeyPath = channelKey.split(".")[0];
|
|
22134
|
+
const res = await this.rpcClient.peekChannel(
|
|
22135
|
+
{ channelKey },
|
|
22136
|
+
{
|
|
22137
|
+
headers: {
|
|
22138
|
+
"x-shard-key": `${this.apiKey}/${firstKeyPath}`
|
|
22139
|
+
}
|
|
22140
|
+
}
|
|
22141
|
+
);
|
|
22142
|
+
return Number(res.sessionCount);
|
|
22143
|
+
});
|
|
22144
|
+
}
|
|
21948
22145
|
/**
|
|
21949
22146
|
* `broadcast` broadcasts the given payload to the given topic.
|
|
21950
22147
|
*/
|
|
@@ -22439,7 +22636,15 @@
|
|
|
22439
22636
|
}
|
|
22440
22637
|
}
|
|
22441
22638
|
);
|
|
22442
|
-
resource.
|
|
22639
|
+
const prevCount = resource.getSessionCount();
|
|
22640
|
+
if (resource.updateSessionCount(Number(res.sessionCount), 0)) {
|
|
22641
|
+
if (resource.getSessionCount() !== prevCount) {
|
|
22642
|
+
resource.publish({
|
|
22643
|
+
type: ChannelEventType.PresenceChanged,
|
|
22644
|
+
count: resource.getSessionCount()
|
|
22645
|
+
});
|
|
22646
|
+
}
|
|
22647
|
+
}
|
|
22443
22648
|
attachment.updateHeartbeatTime();
|
|
22444
22649
|
logger.debug(
|
|
22445
22650
|
`[RP] c:"${this.getKey()}" refreshes p:"${resource.getKey()}" mode:${attachment.syncMode}`
|
|
@@ -22469,6 +22674,7 @@
|
|
|
22469
22674
|
return doc;
|
|
22470
22675
|
}
|
|
22471
22676
|
doc.applyChangePack(respPack);
|
|
22677
|
+
attachment.updateHeartbeatTime();
|
|
22472
22678
|
attachment.resource.publish([
|
|
22473
22679
|
{
|
|
22474
22680
|
type: DocEventType.SyncStatusChanged,
|
|
@@ -22794,7 +23000,7 @@
|
|
|
22794
23000
|
};
|
|
22795
23001
|
}
|
|
22796
23002
|
const name = "@yorkie-js/react";
|
|
22797
|
-
const version = "0.7.
|
|
23003
|
+
const version = "0.7.9";
|
|
22798
23004
|
const pkg = {
|
|
22799
23005
|
name,
|
|
22800
23006
|
version
|
|
@@ -22984,7 +23190,7 @@
|
|
|
22984
23190
|
valueB
|
|
22985
23191
|
);
|
|
22986
23192
|
}
|
|
22987
|
-
function useYorkieDocument(client, clientLoading, clientError, docKey, initialRoot, initialPresence, enableDevtools, docStore) {
|
|
23193
|
+
function useYorkieDocument(client, clientLoading, clientError, docKey, initialRoot, initialPresence, enableDevtools, syncMode, documentPollInterval, docStore) {
|
|
22988
23194
|
const initialRootRef = react.useRef(initialRoot);
|
|
22989
23195
|
const initialPresenceRef = react.useRef(initialPresence);
|
|
22990
23196
|
const [didMount, setDidMount] = react.useState(false);
|
|
@@ -23042,7 +23248,9 @@
|
|
|
23042
23248
|
try {
|
|
23043
23249
|
await client?.attach(newDoc, {
|
|
23044
23250
|
initialRoot: initialRootRef.current,
|
|
23045
|
-
initialPresence: initialPresenceRef.current
|
|
23251
|
+
initialPresence: initialPresenceRef.current,
|
|
23252
|
+
syncMode,
|
|
23253
|
+
documentPollInterval
|
|
23046
23254
|
});
|
|
23047
23255
|
const update = (callback) => {
|
|
23048
23256
|
try {
|
|
@@ -23082,7 +23290,16 @@
|
|
|
23082
23290
|
unsub();
|
|
23083
23291
|
}
|
|
23084
23292
|
};
|
|
23085
|
-
}, [
|
|
23293
|
+
}, [
|
|
23294
|
+
client,
|
|
23295
|
+
clientLoading,
|
|
23296
|
+
clientError,
|
|
23297
|
+
docKey,
|
|
23298
|
+
docStore,
|
|
23299
|
+
didMount,
|
|
23300
|
+
syncMode,
|
|
23301
|
+
documentPollInterval
|
|
23302
|
+
]);
|
|
23086
23303
|
}
|
|
23087
23304
|
const DocumentContext = react.createContext(void 0);
|
|
23088
23305
|
const DocumentProvider = ({
|
|
@@ -23090,6 +23307,8 @@
|
|
|
23090
23307
|
initialRoot = {},
|
|
23091
23308
|
initialPresence = {},
|
|
23092
23309
|
enableDevtools = false,
|
|
23310
|
+
syncMode,
|
|
23311
|
+
documentPollInterval,
|
|
23093
23312
|
children
|
|
23094
23313
|
}) => {
|
|
23095
23314
|
const { client, loading: clientLoading, error: clientError } = useYorkie();
|
|
@@ -23115,6 +23334,8 @@
|
|
|
23115
23334
|
initialRoot,
|
|
23116
23335
|
initialPresence,
|
|
23117
23336
|
enableDevtools,
|
|
23337
|
+
syncMode,
|
|
23338
|
+
documentPollInterval,
|
|
23118
23339
|
documentStore
|
|
23119
23340
|
);
|
|
23120
23341
|
return /* @__PURE__ */ jsxRuntime.jsx(DocumentContext.Provider, { value: documentStore, children });
|
|
@@ -23232,6 +23453,8 @@
|
|
|
23232
23453
|
opts?.initialRoot ?? {},
|
|
23233
23454
|
opts?.initialPresence ?? {},
|
|
23234
23455
|
opts?.enableDevtools ?? false,
|
|
23456
|
+
opts?.syncMode,
|
|
23457
|
+
opts?.documentPollInterval,
|
|
23235
23458
|
documentStore
|
|
23236
23459
|
);
|
|
23237
23460
|
const documentState = useSelector(documentStore);
|
|
@@ -23250,7 +23473,7 @@
|
|
|
23250
23473
|
const ChannelContext = react.createContext(
|
|
23251
23474
|
void 0
|
|
23252
23475
|
);
|
|
23253
|
-
function useYorkieChannel(client, clientLoading, clientError, channelKey,
|
|
23476
|
+
function useYorkieChannel(client, clientLoading, clientError, channelKey, syncMode, channelHeartbeatInterval, channelStore) {
|
|
23254
23477
|
const channelRef = react.useRef(void 0);
|
|
23255
23478
|
const [didMount, setDidMount] = react.useState(false);
|
|
23256
23479
|
react.useEffect(() => {
|
|
@@ -23279,7 +23502,7 @@
|
|
|
23279
23502
|
}));
|
|
23280
23503
|
try {
|
|
23281
23504
|
const newChannel = new Channel(channelKey);
|
|
23282
|
-
await client.attach(newChannel, {
|
|
23505
|
+
await client.attach(newChannel, { syncMode, channelHeartbeatInterval });
|
|
23283
23506
|
channelRef.current = newChannel;
|
|
23284
23507
|
unsubscribe = newChannel.subscribe(() => {
|
|
23285
23508
|
channelStore.setState((state) => ({
|
|
@@ -23317,12 +23540,22 @@
|
|
|
23317
23540
|
}
|
|
23318
23541
|
detachChannel();
|
|
23319
23542
|
};
|
|
23320
|
-
}, [
|
|
23543
|
+
}, [
|
|
23544
|
+
client,
|
|
23545
|
+
clientLoading,
|
|
23546
|
+
clientError,
|
|
23547
|
+
channelKey,
|
|
23548
|
+
syncMode,
|
|
23549
|
+
channelHeartbeatInterval,
|
|
23550
|
+
didMount
|
|
23551
|
+
]);
|
|
23321
23552
|
}
|
|
23322
23553
|
const ChannelProvider = ({
|
|
23323
23554
|
children,
|
|
23324
23555
|
channelKey,
|
|
23325
|
-
|
|
23556
|
+
syncMode,
|
|
23557
|
+
isRealtime,
|
|
23558
|
+
channelHeartbeatInterval
|
|
23326
23559
|
}) => {
|
|
23327
23560
|
const { client, loading: clientLoading, error: clientError } = useYorkie();
|
|
23328
23561
|
const channelStoreRef = react.useRef(
|
|
@@ -23337,12 +23570,14 @@
|
|
|
23337
23570
|
});
|
|
23338
23571
|
}
|
|
23339
23572
|
const channelStore = channelStoreRef.current;
|
|
23573
|
+
const resolvedSyncMode = syncMode ?? (isRealtime === false ? SyncMode.Manual : SyncMode.Realtime);
|
|
23340
23574
|
useYorkieChannel(
|
|
23341
23575
|
client,
|
|
23342
23576
|
clientLoading,
|
|
23343
23577
|
clientError,
|
|
23344
23578
|
channelKey,
|
|
23345
|
-
|
|
23579
|
+
resolvedSyncMode,
|
|
23580
|
+
channelHeartbeatInterval,
|
|
23346
23581
|
channelStore
|
|
23347
23582
|
);
|
|
23348
23583
|
return /* @__PURE__ */ jsxRuntime.jsx(ChannelContext.Provider, { value: channelStore, children });
|
|
@@ -23365,9 +23600,79 @@
|
|
|
23365
23600
|
const channelStore = useChannelStore("useChannelSessionCount");
|
|
23366
23601
|
return useSelector(channelStore, (state) => state.sessionCount);
|
|
23367
23602
|
};
|
|
23603
|
+
function usePeekChannel(channelKey, opts = {}) {
|
|
23604
|
+
const { client, loading: clientLoading, error: clientError } = useYorkie();
|
|
23605
|
+
const { pollInterval, enabled = true } = opts;
|
|
23606
|
+
const [sessionCount, setSessionCount] = react.useState(0);
|
|
23607
|
+
const [loading, setLoading] = react.useState(true);
|
|
23608
|
+
const [error, setError] = react.useState(clientError);
|
|
23609
|
+
const channelKeyRef = react.useRef(channelKey);
|
|
23610
|
+
channelKeyRef.current = channelKey;
|
|
23611
|
+
const mountedRef = react.useRef(true);
|
|
23612
|
+
react.useEffect(() => {
|
|
23613
|
+
mountedRef.current = true;
|
|
23614
|
+
return () => {
|
|
23615
|
+
mountedRef.current = false;
|
|
23616
|
+
};
|
|
23617
|
+
}, []);
|
|
23618
|
+
const peekOnce = react.useCallback(async () => {
|
|
23619
|
+
if (!client || !client.isActive()) return;
|
|
23620
|
+
if (mountedRef.current) setLoading(true);
|
|
23621
|
+
try {
|
|
23622
|
+
const count = await client.peekChannel(channelKeyRef.current);
|
|
23623
|
+
if (!mountedRef.current) return;
|
|
23624
|
+
setSessionCount(count);
|
|
23625
|
+
setError(void 0);
|
|
23626
|
+
} catch (e) {
|
|
23627
|
+
if (!mountedRef.current) return;
|
|
23628
|
+
setError(e instanceof Error ? e : new Error(String(e)));
|
|
23629
|
+
} finally {
|
|
23630
|
+
if (mountedRef.current) setLoading(false);
|
|
23631
|
+
}
|
|
23632
|
+
}, [client]);
|
|
23633
|
+
react.useEffect(() => {
|
|
23634
|
+
if (clientError) {
|
|
23635
|
+
setError(clientError);
|
|
23636
|
+
setLoading(false);
|
|
23637
|
+
return;
|
|
23638
|
+
}
|
|
23639
|
+
setLoading(true);
|
|
23640
|
+
if (!enabled) {
|
|
23641
|
+
setLoading(false);
|
|
23642
|
+
return;
|
|
23643
|
+
}
|
|
23644
|
+
if (clientLoading || !client) return;
|
|
23645
|
+
let cancelled = false;
|
|
23646
|
+
let timer;
|
|
23647
|
+
const run = async () => {
|
|
23648
|
+
if (cancelled || !client.isActive()) return;
|
|
23649
|
+
try {
|
|
23650
|
+
const count = await client.peekChannel(channelKey);
|
|
23651
|
+
if (cancelled) return;
|
|
23652
|
+
setSessionCount(count);
|
|
23653
|
+
setError(void 0);
|
|
23654
|
+
} catch (e) {
|
|
23655
|
+
if (cancelled) return;
|
|
23656
|
+
setError(e instanceof Error ? e : new Error(String(e)));
|
|
23657
|
+
} finally {
|
|
23658
|
+
if (!cancelled) setLoading(false);
|
|
23659
|
+
}
|
|
23660
|
+
if (!cancelled && pollInterval !== void 0 && pollInterval > 0) {
|
|
23661
|
+
timer = setTimeout(run, pollInterval);
|
|
23662
|
+
}
|
|
23663
|
+
};
|
|
23664
|
+
run();
|
|
23665
|
+
return () => {
|
|
23666
|
+
cancelled = true;
|
|
23667
|
+
if (timer) clearTimeout(timer);
|
|
23668
|
+
};
|
|
23669
|
+
}, [client, clientLoading, clientError, channelKey, pollInterval, enabled]);
|
|
23670
|
+
return { sessionCount, loading, error, refetch: peekOnce };
|
|
23671
|
+
}
|
|
23368
23672
|
exports2.ChannelProvider = ChannelProvider;
|
|
23369
23673
|
exports2.Counter = Counter;
|
|
23370
23674
|
exports2.DocumentProvider = DocumentProvider;
|
|
23675
|
+
exports2.SyncMode = SyncMode;
|
|
23371
23676
|
exports2.Text = Text;
|
|
23372
23677
|
exports2.Tree = Tree;
|
|
23373
23678
|
exports2.YorkieProvider = YorkieProvider;
|
|
@@ -23377,6 +23682,7 @@
|
|
|
23377
23682
|
exports2.useChannelSessionCount = useChannelSessionCount;
|
|
23378
23683
|
exports2.useConnection = useConnection;
|
|
23379
23684
|
exports2.useDocument = useDocument;
|
|
23685
|
+
exports2.usePeekChannel = usePeekChannel;
|
|
23380
23686
|
exports2.usePresences = usePresences;
|
|
23381
23687
|
exports2.useRevisions = useRevisions;
|
|
23382
23688
|
exports2.useRoot = useRoot;
|