From 5bcbba710154f7f0c96ff513048a21247ef7594d Mon Sep 17 00:00:00 2001 From: Yourim Cha <81357083+chacha912@users.noreply.github.com> Date: Fri, 25 Aug 2023 19:48:34 +0900 Subject: [PATCH] Bump up Yorkie to 0.4.6 (#133) Co-authored-by: Youngteac Hong --- .env | 2 +- docker/docker-compose.yml | 11 +- package-lock.json | 14 +- package.json | 5 +- src/api/converter.ts | 4 +- src/api/yorkie/v1/admin.proto | 1 + src/api/yorkie/v1/admin_grpc_web_pb.js | 2 +- src/api/yorkie/v1/admin_pb.d.ts | 4 + src/api/yorkie/v1/admin_pb.js | 40 +- src/api/yorkie/v1/resources.proto | 65 +- src/api/yorkie/v1/resources_pb.d.ts | 208 +++- src/api/yorkie/v1/resources_pb.js | 1509 +++++++++++++++++------- src/features/projects/Overview.tsx | 24 +- 13 files changed, 1349 insertions(+), 540 deletions(-) diff --git a/.env b/.env index 9763f95..6ba39b1 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ # Common Environment Variables -REACT_APP_JS_SDK_VERSION=0.4.3 +REACT_APP_JS_SDK_VERSION=0.4.6 diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 97d6440..45a5d1d 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -17,17 +17,14 @@ services: # If you're using Mac or Windows, this special domain name("host.docker.internal" which makes containers able to connect to the host) # is supported by default. # But if you're using Linux and want an envoy container to communicate with the host, - # it may help to define "host.docker.internal" in extra_hosts. + # it may help to define "host.docker.internal" in extra_hosts. # (Actually, other hostnames are available, but in that case you should update clusters[].host configurations of envoy.yaml) extra_hosts: - - "host.docker.internal:host-gateway" + - 'host.docker.internal:host-gateway' yorkie: - image: 'yorkieteam/yorkie:0.4.3' + image: 'yorkieteam/yorkie:0.4.6' container_name: 'yorkie' - command: [ - 'server', - '--enable-pprof', - ] + command: ['server', '--enable-pprof'] restart: always ports: - '11101:11101' diff --git a/package-lock.json b/package-lock.json index 86b0b3c..042091b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ "react-scripts": "5.0.0", "sass": "^1.55.0", "typescript": "~4.1.5", - "yorkie-js-sdk": "^0.4.3" + "yorkie-js-sdk": "^0.4.6" }, "devDependencies": { "@types/google-protobuf": "^3.15.6", @@ -16647,9 +16647,9 @@ } }, "node_modules/yorkie-js-sdk": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/yorkie-js-sdk/-/yorkie-js-sdk-0.4.3.tgz", - "integrity": "sha512-EEnp0Up9AzxVK2VbYA3NJcYn/S1HD70IRbQwJd1wQjFys987600heEKYLTG1u1420wqy5ZOXUvheVn0KHwrldg==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/yorkie-js-sdk/-/yorkie-js-sdk-0.4.6.tgz", + "integrity": "sha512-wy5bWi397Ud/7e0zcE/5le/yg8wyz5FgsmBEVSeB8CXAu7sJhPQsQF/jdxbFZf+tym8PxfzFGkyIn+Lpsaf7og==", "dependencies": { "@types/google-protobuf": "^3.15.5", "@types/long": "^4.0.1", @@ -28577,9 +28577,9 @@ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" }, "yorkie-js-sdk": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/yorkie-js-sdk/-/yorkie-js-sdk-0.4.3.tgz", - "integrity": "sha512-EEnp0Up9AzxVK2VbYA3NJcYn/S1HD70IRbQwJd1wQjFys987600heEKYLTG1u1420wqy5ZOXUvheVn0KHwrldg==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/yorkie-js-sdk/-/yorkie-js-sdk-0.4.6.tgz", + "integrity": "sha512-wy5bWi397Ud/7e0zcE/5le/yg8wyz5FgsmBEVSeB8CXAu7sJhPQsQF/jdxbFZf+tym8PxfzFGkyIn+Lpsaf7og==", "requires": { "@types/google-protobuf": "^3.15.5", "@types/long": "^4.0.1", diff --git a/package.json b/package.json index 5611776..0fcc8e6 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "react-scripts": "5.0.0", "sass": "^1.55.0", "typescript": "~4.1.5", - "yorkie-js-sdk": "^0.4.3" + "yorkie-js-sdk": "^0.4.6" }, "husky": { "hooks": { @@ -102,7 +102,8 @@ "jsx", "svg", "gnb", - "resize" + "resize", + "indexable" ], "skipIfMatch": [ "TODO\\(.+\\):", diff --git a/src/api/converter.ts b/src/api/converter.ts index b150388..48f0fad 100644 --- a/src/api/converter.ts +++ b/src/api/converter.ts @@ -16,7 +16,7 @@ import { Timestamp as PbTimestamp } from 'google-protobuf/google/protobuf/timestamp_pb'; import { User, Project, DocumentSummary, AuthWebhookMethod } from './types'; -import { Change, converter } from 'yorkie-js-sdk'; +import { Change, converter, Indexable } from 'yorkie-js-sdk'; import { User as PbUser, Project as PbProject, @@ -80,6 +80,6 @@ export function fromDocumentSummaries(pbDocumentSummaries: Array): Array { +export function fromChanges(pbChanges: Array): Array> { return converter.fromChanges(pbChanges); } diff --git a/src/api/yorkie/v1/admin.proto b/src/api/yorkie/v1/admin.proto index 945317f..ee6eadd 100644 --- a/src/api/yorkie/v1/admin.proto +++ b/src/api/yorkie/v1/admin.proto @@ -97,6 +97,7 @@ message ListDocumentsRequest { string previous_id = 2; int32 page_size = 3; bool is_forward = 4; + bool include_snapshot = 5; } message ListDocumentsResponse { diff --git a/src/api/yorkie/v1/admin_grpc_web_pb.js b/src/api/yorkie/v1/admin_grpc_web_pb.js index 9945a62..de205a8 100644 --- a/src/api/yorkie/v1/admin_grpc_web_pb.js +++ b/src/api/yorkie/v1/admin_grpc_web_pb.js @@ -7,7 +7,7 @@ // Code generated by protoc-gen-grpc-web. DO NOT EDIT. // versions: // protoc-gen-grpc-web v1.4.2 -// protoc v3.20.3 +// protoc v4.23.2 // source: yorkie/v1/admin.proto diff --git a/src/api/yorkie/v1/admin_pb.d.ts b/src/api/yorkie/v1/admin_pb.d.ts index 5046bea..891458f 100644 --- a/src/api/yorkie/v1/admin_pb.d.ts +++ b/src/api/yorkie/v1/admin_pb.d.ts @@ -252,6 +252,9 @@ export class ListDocumentsRequest extends jspb.Message { getIsForward(): boolean; setIsForward(value: boolean): ListDocumentsRequest; + getIncludeSnapshot(): boolean; + setIncludeSnapshot(value: boolean): ListDocumentsRequest; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): ListDocumentsRequest.AsObject; static toObject(includeInstance: boolean, msg: ListDocumentsRequest): ListDocumentsRequest.AsObject; @@ -266,6 +269,7 @@ export namespace ListDocumentsRequest { previousId: string, pageSize: number, isForward: boolean, + includeSnapshot: boolean, } } diff --git a/src/api/yorkie/v1/admin_pb.js b/src/api/yorkie/v1/admin_pb.js index 7bfe404..176385e 100644 --- a/src/api/yorkie/v1/admin_pb.js +++ b/src/api/yorkie/v1/admin_pb.js @@ -13,7 +13,13 @@ var jspb = require('google-protobuf'); var goog = jspb; -var global = (function() { return this || window || global || self || Function('return this')(); }).call(null); +var global = + (typeof globalThis !== 'undefined' && globalThis) || + (typeof window !== 'undefined' && window) || + (typeof global !== 'undefined' && global) || + (typeof self !== 'undefined' && self) || + (function () { return this; }).call(null) || + Function('return this')(); var yorkie_v1_resources_pb = require('../../yorkie/v1/resources_pb.js'); goog.object.extend(proto, yorkie_v1_resources_pb); @@ -2336,7 +2342,8 @@ proto.yorkie.v1.ListDocumentsRequest.toObject = function(includeInstance, msg) { projectName: jspb.Message.getFieldWithDefault(msg, 1, ""), previousId: jspb.Message.getFieldWithDefault(msg, 2, ""), pageSize: jspb.Message.getFieldWithDefault(msg, 3, 0), - isForward: jspb.Message.getBooleanFieldWithDefault(msg, 4, false) + isForward: jspb.Message.getBooleanFieldWithDefault(msg, 4, false), + includeSnapshot: jspb.Message.getBooleanFieldWithDefault(msg, 5, false) }; if (includeInstance) { @@ -2389,6 +2396,10 @@ proto.yorkie.v1.ListDocumentsRequest.deserializeBinaryFromReader = function(msg, var value = /** @type {boolean} */ (reader.readBool()); msg.setIsForward(value); break; + case 5: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setIncludeSnapshot(value); + break; default: reader.skipField(); break; @@ -2446,6 +2457,13 @@ proto.yorkie.v1.ListDocumentsRequest.serializeBinaryToWriter = function(message, f ); } + f = message.getIncludeSnapshot(); + if (f) { + writer.writeBool( + 5, + f + ); + } }; @@ -2521,6 +2539,24 @@ proto.yorkie.v1.ListDocumentsRequest.prototype.setIsForward = function(value) { }; +/** + * optional bool include_snapshot = 5; + * @return {boolean} + */ +proto.yorkie.v1.ListDocumentsRequest.prototype.getIncludeSnapshot = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.yorkie.v1.ListDocumentsRequest} returns this + */ +proto.yorkie.v1.ListDocumentsRequest.prototype.setIncludeSnapshot = function(value) { + return jspb.Message.setProto3BooleanField(this, 5, value); +}; + + /** * List of repeated fields within this message type. diff --git a/src/api/yorkie/v1/resources.proto b/src/api/yorkie/v1/resources.proto index 0955ea0..281b590 100644 --- a/src/api/yorkie/v1/resources.proto +++ b/src/api/yorkie/v1/resources.proto @@ -25,6 +25,14 @@ option go_package = ".;v1"; option java_multiple_files = true; option java_package = "dev.yorkie.api.v1"; +///////////////////////////////////////// +// Messages for Snapshot // +///////////////////////////////////////// +message Snapshot { + JSONElement root = 1; + map presences = 2; +} + ///////////////////////////////////////// // Messages for ChangePack // ///////////////////////////////////////// @@ -44,6 +52,7 @@ message Change { ChangeID id = 1; string message = 2; repeated Operation operations = 3; + PresenceChange presence_change = 4; } message ChangeID { @@ -86,6 +95,10 @@ message Operation { TimeTicket executed_at = 6; map attributes = 7; } + // NOTE(hackerwins): Select Operation is not used in the current version. + // In the previous version, it was used to represent selection of Text. + // However, it has been replaced by Presence now. It is retained for backward + // compatibility purposes. message Select { TimeTicket parent_created_at = 1; TextNodePos from = 2; @@ -108,8 +121,9 @@ message Operation { TimeTicket parent_created_at = 1; TreePos from = 2; TreePos to = 3; - repeated TreeNode content = 4; - TimeTicket executed_at = 5; + map created_at_map_by_actor = 4; + repeated TreeNodes contents = 5; + TimeTicket executed_at = 6; } message TreeStyle { TimeTicket parent_created_at = 1; @@ -224,20 +238,30 @@ message TextNodeID { } message TreeNode { - TreePos pos = 1; + TreeNodeID id = 1; string type = 2; string value = 3; TimeTicket removed_at = 4; - TreePos ins_prev_pos = 5; - int32 depth = 6; - map attributes = 7; + TreeNodeID ins_prev_id = 5; + TreeNodeID ins_next_id = 6; + int32 depth = 7; + map attributes = 8; } -message TreePos { +message TreeNodes { + repeated TreeNode content = 1; +} + +message TreeNodeID { TimeTicket created_at = 1; int32 offset = 2; } +message TreePos { + TreeNodeID parent_id = 1; + TreeNodeID left_sibling_id = 2; +} + ///////////////////////////////////////// // Messages for Common // ///////////////////////////////////////// @@ -280,14 +304,19 @@ message DocumentSummary { google.protobuf.Timestamp updated_at = 6; } -message Presence { - int32 clock = 1; - map data = 2; +message PresenceChange { + enum ChangeType { + CHANGE_TYPE_UNSPECIFIED = 0; + CHANGE_TYPE_PUT = 1; + CHANGE_TYPE_DELETE = 2; + CHANGE_TYPE_CLEAR = 3; + } + ChangeType type = 1; + Presence presence = 2; } -message Client { - bytes id = 1; - Presence presence = 2; +message Presence { + map data = 1; } message Checkpoint { @@ -325,14 +354,12 @@ enum ValueType { } enum DocEventType { - DOC_EVENT_TYPE_DOCUMENTS_CHANGED = 0; - DOC_EVENT_TYPE_DOCUMENTS_WATCHED = 1; - DOC_EVENT_TYPE_DOCUMENTS_UNWATCHED = 2; - DOC_EVENT_TYPE_PRESENCE_CHANGED = 3; + DOC_EVENT_TYPE_DOCUMENT_CHANGED = 0; + DOC_EVENT_TYPE_DOCUMENT_WATCHED = 1; + DOC_EVENT_TYPE_DOCUMENT_UNWATCHED = 2; } message DocEvent { DocEventType type = 1; - Client publisher = 2; - string document_id = 3; + string publisher = 2; } diff --git a/src/api/yorkie/v1/resources_pb.d.ts b/src/api/yorkie/v1/resources_pb.d.ts index 462992d..6fe0970 100644 --- a/src/api/yorkie/v1/resources_pb.d.ts +++ b/src/api/yorkie/v1/resources_pb.d.ts @@ -4,6 +4,30 @@ import * as google_protobuf_timestamp_pb from 'google-protobuf/google/protobuf/t import * as google_protobuf_wrappers_pb from 'google-protobuf/google/protobuf/wrappers_pb'; +export class Snapshot extends jspb.Message { + getRoot(): JSONElement | undefined; + setRoot(value?: JSONElement): Snapshot; + hasRoot(): boolean; + clearRoot(): Snapshot; + + getPresencesMap(): jspb.Map; + clearPresencesMap(): Snapshot; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): Snapshot.AsObject; + static toObject(includeInstance: boolean, msg: Snapshot): Snapshot.AsObject; + static serializeBinaryToWriter(message: Snapshot, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): Snapshot; + static deserializeBinaryFromReader(message: Snapshot, reader: jspb.BinaryReader): Snapshot; +} + +export namespace Snapshot { + export type AsObject = { + root?: JSONElement.AsObject, + presencesMap: Array<[string, Presence.AsObject]>, + } +} + export class ChangePack extends jspb.Message { getDocumentKey(): string; setDocumentKey(value: string): ChangePack; @@ -64,6 +88,11 @@ export class Change extends jspb.Message { clearOperationsList(): Change; addOperations(value?: Operation, index?: number): Operation; + getPresenceChange(): PresenceChange | undefined; + setPresenceChange(value?: PresenceChange): Change; + hasPresenceChange(): boolean; + clearPresenceChange(): Change; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): Change.AsObject; static toObject(includeInstance: boolean, msg: Change): Change.AsObject; @@ -77,6 +106,7 @@ export namespace Change { id?: ChangeID.AsObject, message: string, operationsList: Array, + presenceChange?: PresenceChange.AsObject, } } @@ -517,10 +547,13 @@ export namespace Operation { hasTo(): boolean; clearTo(): TreeEdit; - getContentList(): Array; - setContentList(value: Array): TreeEdit; - clearContentList(): TreeEdit; - addContent(value?: TreeNode, index?: number): TreeNode; + getCreatedAtMapByActorMap(): jspb.Map; + clearCreatedAtMapByActorMap(): TreeEdit; + + getContentsList(): Array; + setContentsList(value: Array): TreeEdit; + clearContentsList(): TreeEdit; + addContents(value?: TreeNodes, index?: number): TreeNodes; getExecutedAt(): TimeTicket | undefined; setExecutedAt(value?: TimeTicket): TreeEdit; @@ -540,7 +573,8 @@ export namespace Operation { parentCreatedAt?: TimeTicket.AsObject, from?: TreePos.AsObject, to?: TreePos.AsObject, - contentList: Array, + createdAtMapByActorMap: Array<[string, TimeTicket.AsObject]>, + contentsList: Array, executedAt?: TimeTicket.AsObject, } } @@ -1089,10 +1123,10 @@ export namespace TextNodeID { } export class TreeNode extends jspb.Message { - getPos(): TreePos | undefined; - setPos(value?: TreePos): TreeNode; - hasPos(): boolean; - clearPos(): TreeNode; + getId(): TreeNodeID | undefined; + setId(value?: TreeNodeID): TreeNode; + hasId(): boolean; + clearId(): TreeNode; getType(): string; setType(value: string): TreeNode; @@ -1105,10 +1139,15 @@ export class TreeNode extends jspb.Message { hasRemovedAt(): boolean; clearRemovedAt(): TreeNode; - getInsPrevPos(): TreePos | undefined; - setInsPrevPos(value?: TreePos): TreeNode; - hasInsPrevPos(): boolean; - clearInsPrevPos(): TreeNode; + getInsPrevId(): TreeNodeID | undefined; + setInsPrevId(value?: TreeNodeID): TreeNode; + hasInsPrevId(): boolean; + clearInsPrevId(): TreeNode; + + getInsNextId(): TreeNodeID | undefined; + setInsNextId(value?: TreeNodeID): TreeNode; + hasInsNextId(): boolean; + clearInsNextId(): TreeNode; getDepth(): number; setDepth(value: number): TreeNode; @@ -1126,24 +1165,71 @@ export class TreeNode extends jspb.Message { export namespace TreeNode { export type AsObject = { - pos?: TreePos.AsObject, + id?: TreeNodeID.AsObject, type: string, value: string, removedAt?: TimeTicket.AsObject, - insPrevPos?: TreePos.AsObject, + insPrevId?: TreeNodeID.AsObject, + insNextId?: TreeNodeID.AsObject, depth: number, attributesMap: Array<[string, NodeAttr.AsObject]>, } } -export class TreePos extends jspb.Message { +export class TreeNodes extends jspb.Message { + getContentList(): Array; + setContentList(value: Array): TreeNodes; + clearContentList(): TreeNodes; + addContent(value?: TreeNode, index?: number): TreeNode; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): TreeNodes.AsObject; + static toObject(includeInstance: boolean, msg: TreeNodes): TreeNodes.AsObject; + static serializeBinaryToWriter(message: TreeNodes, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): TreeNodes; + static deserializeBinaryFromReader(message: TreeNodes, reader: jspb.BinaryReader): TreeNodes; +} + +export namespace TreeNodes { + export type AsObject = { + contentList: Array, + } +} + +export class TreeNodeID extends jspb.Message { getCreatedAt(): TimeTicket | undefined; - setCreatedAt(value?: TimeTicket): TreePos; + setCreatedAt(value?: TimeTicket): TreeNodeID; hasCreatedAt(): boolean; - clearCreatedAt(): TreePos; + clearCreatedAt(): TreeNodeID; getOffset(): number; - setOffset(value: number): TreePos; + setOffset(value: number): TreeNodeID; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): TreeNodeID.AsObject; + static toObject(includeInstance: boolean, msg: TreeNodeID): TreeNodeID.AsObject; + static serializeBinaryToWriter(message: TreeNodeID, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): TreeNodeID; + static deserializeBinaryFromReader(message: TreeNodeID, reader: jspb.BinaryReader): TreeNodeID; +} + +export namespace TreeNodeID { + export type AsObject = { + createdAt?: TimeTicket.AsObject, + offset: number, + } +} + +export class TreePos extends jspb.Message { + getParentId(): TreeNodeID | undefined; + setParentId(value?: TreeNodeID): TreePos; + hasParentId(): boolean; + clearParentId(): TreePos; + + getLeftSiblingId(): TreeNodeID | undefined; + setLeftSiblingId(value?: TreeNodeID): TreePos; + hasLeftSiblingId(): boolean; + clearLeftSiblingId(): TreePos; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): TreePos.AsObject; @@ -1155,8 +1241,8 @@ export class TreePos extends jspb.Message { export namespace TreePos { export type AsObject = { - createdAt?: TimeTicket.AsObject, - offset: number, + parentId?: TreeNodeID.AsObject, + leftSiblingId?: TreeNodeID.AsObject, } } @@ -1347,10 +1433,38 @@ export namespace DocumentSummary { } } -export class Presence extends jspb.Message { - getClock(): number; - setClock(value: number): Presence; +export class PresenceChange extends jspb.Message { + getType(): PresenceChange.ChangeType; + setType(value: PresenceChange.ChangeType): PresenceChange; + + getPresence(): Presence | undefined; + setPresence(value?: Presence): PresenceChange; + hasPresence(): boolean; + clearPresence(): PresenceChange; + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): PresenceChange.AsObject; + static toObject(includeInstance: boolean, msg: PresenceChange): PresenceChange.AsObject; + static serializeBinaryToWriter(message: PresenceChange, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): PresenceChange; + static deserializeBinaryFromReader(message: PresenceChange, reader: jspb.BinaryReader): PresenceChange; +} + +export namespace PresenceChange { + export type AsObject = { + type: PresenceChange.ChangeType, + presence?: Presence.AsObject, + } + + export enum ChangeType { + CHANGE_TYPE_UNSPECIFIED = 0, + CHANGE_TYPE_PUT = 1, + CHANGE_TYPE_DELETE = 2, + CHANGE_TYPE_CLEAR = 3, + } +} + +export class Presence extends jspb.Message { getDataMap(): jspb.Map; clearDataMap(): Presence; @@ -1364,37 +1478,10 @@ export class Presence extends jspb.Message { export namespace Presence { export type AsObject = { - clock: number, dataMap: Array<[string, string]>, } } -export class Client extends jspb.Message { - getId(): Uint8Array | string; - getId_asU8(): Uint8Array; - getId_asB64(): string; - setId(value: Uint8Array | string): Client; - - getPresence(): Presence | undefined; - setPresence(value?: Presence): Client; - hasPresence(): boolean; - clearPresence(): Client; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): Client.AsObject; - static toObject(includeInstance: boolean, msg: Client): Client.AsObject; - static serializeBinaryToWriter(message: Client, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): Client; - static deserializeBinaryFromReader(message: Client, reader: jspb.BinaryReader): Client; -} - -export namespace Client { - export type AsObject = { - id: Uint8Array | string, - presence?: Presence.AsObject, - } -} - export class Checkpoint extends jspb.Message { getServerSeq(): string; setServerSeq(value: string): Checkpoint; @@ -1477,13 +1564,8 @@ export class DocEvent extends jspb.Message { getType(): DocEventType; setType(value: DocEventType): DocEvent; - getPublisher(): Client | undefined; - setPublisher(value?: Client): DocEvent; - hasPublisher(): boolean; - clearPublisher(): DocEvent; - - getDocumentId(): string; - setDocumentId(value: string): DocEvent; + getPublisher(): string; + setPublisher(value: string): DocEvent; serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): DocEvent.AsObject; @@ -1496,8 +1578,7 @@ export class DocEvent extends jspb.Message { export namespace DocEvent { export type AsObject = { type: DocEventType, - publisher?: Client.AsObject, - documentId: string, + publisher: string, } } @@ -1518,8 +1599,7 @@ export enum ValueType { VALUE_TYPE_TREE = 13, } export enum DocEventType { - DOC_EVENT_TYPE_DOCUMENTS_CHANGED = 0, - DOC_EVENT_TYPE_DOCUMENTS_WATCHED = 1, - DOC_EVENT_TYPE_DOCUMENTS_UNWATCHED = 2, - DOC_EVENT_TYPE_PRESENCE_CHANGED = 3, + DOC_EVENT_TYPE_DOCUMENT_CHANGED = 0, + DOC_EVENT_TYPE_DOCUMENT_WATCHED = 1, + DOC_EVENT_TYPE_DOCUMENT_UNWATCHED = 2, } diff --git a/src/api/yorkie/v1/resources_pb.js b/src/api/yorkie/v1/resources_pb.js index e4c2815..21abcd5 100644 --- a/src/api/yorkie/v1/resources_pb.js +++ b/src/api/yorkie/v1/resources_pb.js @@ -13,7 +13,13 @@ var jspb = require('google-protobuf'); var goog = jspb; -var global = (function() { return this || window || global || self || Function('return this')(); }).call(null); +var global = + (typeof globalThis !== 'undefined' && globalThis) || + (typeof window !== 'undefined' && window) || + (typeof global !== 'undefined' && global) || + (typeof self !== 'undefined' && self) || + (function () { return this; }).call(null) || + Function('return this')(); var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js'); goog.object.extend(proto, google_protobuf_timestamp_pb); @@ -23,7 +29,6 @@ goog.exportSymbol('proto.yorkie.v1.Change', null, global); goog.exportSymbol('proto.yorkie.v1.ChangeID', null, global); goog.exportSymbol('proto.yorkie.v1.ChangePack', null, global); goog.exportSymbol('proto.yorkie.v1.Checkpoint', null, global); -goog.exportSymbol('proto.yorkie.v1.Client', null, global); goog.exportSymbol('proto.yorkie.v1.DocEvent', null, global); goog.exportSymbol('proto.yorkie.v1.DocEventType', null, global); goog.exportSymbol('proto.yorkie.v1.DocumentSummary', null, global); @@ -50,19 +55,45 @@ goog.exportSymbol('proto.yorkie.v1.Operation.Style', null, global); goog.exportSymbol('proto.yorkie.v1.Operation.TreeEdit', null, global); goog.exportSymbol('proto.yorkie.v1.Operation.TreeStyle', null, global); goog.exportSymbol('proto.yorkie.v1.Presence', null, global); +goog.exportSymbol('proto.yorkie.v1.PresenceChange', null, global); +goog.exportSymbol('proto.yorkie.v1.PresenceChange.ChangeType', null, global); goog.exportSymbol('proto.yorkie.v1.Project', null, global); goog.exportSymbol('proto.yorkie.v1.RGANode', null, global); goog.exportSymbol('proto.yorkie.v1.RHTNode', null, global); +goog.exportSymbol('proto.yorkie.v1.Snapshot', null, global); goog.exportSymbol('proto.yorkie.v1.TextNode', null, global); goog.exportSymbol('proto.yorkie.v1.TextNodeID', null, global); goog.exportSymbol('proto.yorkie.v1.TextNodePos', null, global); goog.exportSymbol('proto.yorkie.v1.TimeTicket', null, global); goog.exportSymbol('proto.yorkie.v1.TreeNode', null, global); +goog.exportSymbol('proto.yorkie.v1.TreeNodeID', null, global); +goog.exportSymbol('proto.yorkie.v1.TreeNodes', null, global); goog.exportSymbol('proto.yorkie.v1.TreePos', null, global); goog.exportSymbol('proto.yorkie.v1.UpdatableProjectFields', null, global); goog.exportSymbol('proto.yorkie.v1.UpdatableProjectFields.AuthWebhookMethods', null, global); goog.exportSymbol('proto.yorkie.v1.User', null, global); goog.exportSymbol('proto.yorkie.v1.ValueType', null, global); +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.yorkie.v1.Snapshot = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.yorkie.v1.Snapshot, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.yorkie.v1.Snapshot.displayName = 'proto.yorkie.v1.Snapshot'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -651,6 +682,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.yorkie.v1.TreeNode.displayName = 'proto.yorkie.v1.TreeNode'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.yorkie.v1.TreeNodes = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.yorkie.v1.TreeNodes.repeatedFields_, null); +}; +goog.inherits(proto.yorkie.v1.TreeNodes, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.yorkie.v1.TreeNodes.displayName = 'proto.yorkie.v1.TreeNodes'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.yorkie.v1.TreeNodeID = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.yorkie.v1.TreeNodeID, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.yorkie.v1.TreeNodeID.displayName = 'proto.yorkie.v1.TreeNodeID'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -787,16 +860,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.yorkie.v1.Presence = function(opt_data) { +proto.yorkie.v1.PresenceChange = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.yorkie.v1.Presence, jspb.Message); +goog.inherits(proto.yorkie.v1.PresenceChange, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.yorkie.v1.Presence.displayName = 'proto.yorkie.v1.Presence'; + proto.yorkie.v1.PresenceChange.displayName = 'proto.yorkie.v1.PresenceChange'; } /** * Generated by JsPbCodeGenerator. @@ -808,16 +881,16 @@ if (goog.DEBUG && !COMPILED) { * @extends {jspb.Message} * @constructor */ -proto.yorkie.v1.Client = function(opt_data) { +proto.yorkie.v1.Presence = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.yorkie.v1.Client, jspb.Message); +goog.inherits(proto.yorkie.v1.Presence, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.yorkie.v1.Client.displayName = 'proto.yorkie.v1.Client'; + proto.yorkie.v1.Presence.displayName = 'proto.yorkie.v1.Presence'; } /** * Generated by JsPbCodeGenerator. @@ -904,6 +977,191 @@ if (goog.DEBUG && !COMPILED) { proto.yorkie.v1.DocEvent.displayName = 'proto.yorkie.v1.DocEvent'; } + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.yorkie.v1.Snapshot.prototype.toObject = function(opt_includeInstance) { + return proto.yorkie.v1.Snapshot.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.yorkie.v1.Snapshot} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.yorkie.v1.Snapshot.toObject = function(includeInstance, msg) { + var f, obj = { + root: (f = msg.getRoot()) && proto.yorkie.v1.JSONElement.toObject(includeInstance, f), + presencesMap: (f = msg.getPresencesMap()) ? f.toObject(includeInstance, proto.yorkie.v1.Presence.toObject) : [] + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.yorkie.v1.Snapshot} + */ +proto.yorkie.v1.Snapshot.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.yorkie.v1.Snapshot; + return proto.yorkie.v1.Snapshot.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.yorkie.v1.Snapshot} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.yorkie.v1.Snapshot} + */ +proto.yorkie.v1.Snapshot.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.yorkie.v1.JSONElement; + reader.readMessage(value,proto.yorkie.v1.JSONElement.deserializeBinaryFromReader); + msg.setRoot(value); + break; + case 2: + var value = msg.getPresencesMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.yorkie.v1.Presence.deserializeBinaryFromReader, "", new proto.yorkie.v1.Presence()); + }); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.yorkie.v1.Snapshot.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.yorkie.v1.Snapshot.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.yorkie.v1.Snapshot} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.yorkie.v1.Snapshot.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getRoot(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.yorkie.v1.JSONElement.serializeBinaryToWriter + ); + } + f = message.getPresencesMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.yorkie.v1.Presence.serializeBinaryToWriter); + } +}; + + +/** + * optional JSONElement root = 1; + * @return {?proto.yorkie.v1.JSONElement} + */ +proto.yorkie.v1.Snapshot.prototype.getRoot = function() { + return /** @type{?proto.yorkie.v1.JSONElement} */ ( + jspb.Message.getWrapperField(this, proto.yorkie.v1.JSONElement, 1)); +}; + + +/** + * @param {?proto.yorkie.v1.JSONElement|undefined} value + * @return {!proto.yorkie.v1.Snapshot} returns this +*/ +proto.yorkie.v1.Snapshot.prototype.setRoot = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.yorkie.v1.Snapshot} returns this + */ +proto.yorkie.v1.Snapshot.prototype.clearRoot = function() { + return this.setRoot(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.yorkie.v1.Snapshot.prototype.hasRoot = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * map presences = 2; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} + */ +proto.yorkie.v1.Snapshot.prototype.getPresencesMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 2, opt_noLazyCreate, + proto.yorkie.v1.Presence)); +}; + + +/** + * Clears values from the map. The map will be non-null. + * @return {!proto.yorkie.v1.Snapshot} returns this + */ +proto.yorkie.v1.Snapshot.prototype.clearPresencesMap = function() { + this.getPresencesMap().clear(); + return this; +}; + + + /** * List of repeated fields within this message type. * @private {!Array} @@ -1321,7 +1579,8 @@ proto.yorkie.v1.Change.toObject = function(includeInstance, msg) { id: (f = msg.getId()) && proto.yorkie.v1.ChangeID.toObject(includeInstance, f), message: jspb.Message.getFieldWithDefault(msg, 2, ""), operationsList: jspb.Message.toObjectList(msg.getOperationsList(), - proto.yorkie.v1.Operation.toObject, includeInstance) + proto.yorkie.v1.Operation.toObject, includeInstance), + presenceChange: (f = msg.getPresenceChange()) && proto.yorkie.v1.PresenceChange.toObject(includeInstance, f) }; if (includeInstance) { @@ -1372,6 +1631,11 @@ proto.yorkie.v1.Change.deserializeBinaryFromReader = function(msg, reader) { reader.readMessage(value,proto.yorkie.v1.Operation.deserializeBinaryFromReader); msg.addOperations(value); break; + case 4: + var value = new proto.yorkie.v1.PresenceChange; + reader.readMessage(value,proto.yorkie.v1.PresenceChange.deserializeBinaryFromReader); + msg.setPresenceChange(value); + break; default: reader.skipField(); break; @@ -1424,6 +1688,14 @@ proto.yorkie.v1.Change.serializeBinaryToWriter = function(message, writer) { proto.yorkie.v1.Operation.serializeBinaryToWriter ); } + f = message.getPresenceChange(); + if (f != null) { + writer.writeMessage( + 4, + f, + proto.yorkie.v1.PresenceChange.serializeBinaryToWriter + ); + } }; @@ -1520,6 +1792,43 @@ proto.yorkie.v1.Change.prototype.clearOperationsList = function() { }; +/** + * optional PresenceChange presence_change = 4; + * @return {?proto.yorkie.v1.PresenceChange} + */ +proto.yorkie.v1.Change.prototype.getPresenceChange = function() { + return /** @type{?proto.yorkie.v1.PresenceChange} */ ( + jspb.Message.getWrapperField(this, proto.yorkie.v1.PresenceChange, 4)); +}; + + +/** + * @param {?proto.yorkie.v1.PresenceChange|undefined} value + * @return {!proto.yorkie.v1.Change} returns this +*/ +proto.yorkie.v1.Change.prototype.setPresenceChange = function(value) { + return jspb.Message.setWrapperField(this, 4, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.yorkie.v1.Change} returns this + */ +proto.yorkie.v1.Change.prototype.clearPresenceChange = function() { + return this.setPresenceChange(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.yorkie.v1.Change.prototype.hasPresenceChange = function() { + return jspb.Message.getField(this, 4) != null; +}; + + @@ -3502,7 +3811,8 @@ proto.yorkie.v1.Operation.Edit.prototype.getCreatedAtMapByActorMap = function(op */ proto.yorkie.v1.Operation.Edit.prototype.clearCreatedAtMapByActorMap = function() { this.getCreatedAtMapByActorMap().clear(); - return this;}; + return this; +}; /** @@ -3579,7 +3889,8 @@ proto.yorkie.v1.Operation.Edit.prototype.getAttributesMap = function(opt_noLazyC */ proto.yorkie.v1.Operation.Edit.prototype.clearAttributesMap = function() { this.getAttributesMap().clear(); - return this;}; + return this; +}; @@ -4183,7 +4494,8 @@ proto.yorkie.v1.Operation.Style.prototype.getAttributesMap = function(opt_noLazy */ proto.yorkie.v1.Operation.Style.prototype.clearAttributesMap = function() { this.getAttributesMap().clear(); - return this;}; + return this; +}; /** @@ -4482,7 +4794,7 @@ proto.yorkie.v1.Operation.Increase.prototype.hasExecutedAt = function() { * @private {!Array} * @const */ -proto.yorkie.v1.Operation.TreeEdit.repeatedFields_ = [4]; +proto.yorkie.v1.Operation.TreeEdit.repeatedFields_ = [5]; @@ -4518,8 +4830,9 @@ proto.yorkie.v1.Operation.TreeEdit.toObject = function(includeInstance, msg) { parentCreatedAt: (f = msg.getParentCreatedAt()) && proto.yorkie.v1.TimeTicket.toObject(includeInstance, f), from: (f = msg.getFrom()) && proto.yorkie.v1.TreePos.toObject(includeInstance, f), to: (f = msg.getTo()) && proto.yorkie.v1.TreePos.toObject(includeInstance, f), - contentList: jspb.Message.toObjectList(msg.getContentList(), - proto.yorkie.v1.TreeNode.toObject, includeInstance), + createdAtMapByActorMap: (f = msg.getCreatedAtMapByActorMap()) ? f.toObject(includeInstance, proto.yorkie.v1.TimeTicket.toObject) : [], + contentsList: jspb.Message.toObjectList(msg.getContentsList(), + proto.yorkie.v1.TreeNodes.toObject, includeInstance), executedAt: (f = msg.getExecutedAt()) && proto.yorkie.v1.TimeTicket.toObject(includeInstance, f) }; @@ -4573,11 +4886,17 @@ proto.yorkie.v1.Operation.TreeEdit.deserializeBinaryFromReader = function(msg, r msg.setTo(value); break; case 4: - var value = new proto.yorkie.v1.TreeNode; - reader.readMessage(value,proto.yorkie.v1.TreeNode.deserializeBinaryFromReader); - msg.addContent(value); + var value = msg.getCreatedAtMapByActorMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.yorkie.v1.TimeTicket.deserializeBinaryFromReader, "", new proto.yorkie.v1.TimeTicket()); + }); break; case 5: + var value = new proto.yorkie.v1.TreeNodes; + reader.readMessage(value,proto.yorkie.v1.TreeNodes.deserializeBinaryFromReader); + msg.addContents(value); + break; + case 6: var value = new proto.yorkie.v1.TimeTicket; reader.readMessage(value,proto.yorkie.v1.TimeTicket.deserializeBinaryFromReader); msg.setExecutedAt(value); @@ -4635,18 +4954,22 @@ proto.yorkie.v1.Operation.TreeEdit.serializeBinaryToWriter = function(message, w proto.yorkie.v1.TreePos.serializeBinaryToWriter ); } - f = message.getContentList(); - if (f.length > 0) { - writer.writeRepeatedMessage( - 4, + f = message.getCreatedAtMapByActorMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(4, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.yorkie.v1.TimeTicket.serializeBinaryToWriter); + } + f = message.getContentsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 5, f, - proto.yorkie.v1.TreeNode.serializeBinaryToWriter + proto.yorkie.v1.TreeNodes.serializeBinaryToWriter ); } f = message.getExecutedAt(); if (f != null) { writer.writeMessage( - 5, + 6, f, proto.yorkie.v1.TimeTicket.serializeBinaryToWriter ); @@ -4766,31 +5089,54 @@ proto.yorkie.v1.Operation.TreeEdit.prototype.hasTo = function() { /** - * repeated TreeNode content = 4; - * @return {!Array} + * map created_at_map_by_actor = 4; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} */ -proto.yorkie.v1.Operation.TreeEdit.prototype.getContentList = function() { - return /** @type{!Array} */ ( - jspb.Message.getRepeatedWrapperField(this, proto.yorkie.v1.TreeNode, 4)); +proto.yorkie.v1.Operation.TreeEdit.prototype.getCreatedAtMapByActorMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 4, opt_noLazyCreate, + proto.yorkie.v1.TimeTicket)); }; /** - * @param {!Array} value + * Clears values from the map. The map will be non-null. + * @return {!proto.yorkie.v1.Operation.TreeEdit} returns this + */ +proto.yorkie.v1.Operation.TreeEdit.prototype.clearCreatedAtMapByActorMap = function() { + this.getCreatedAtMapByActorMap().clear(); + return this; +}; + + +/** + * repeated TreeNodes contents = 5; + * @return {!Array} + */ +proto.yorkie.v1.Operation.TreeEdit.prototype.getContentsList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.yorkie.v1.TreeNodes, 5)); +}; + + +/** + * @param {!Array} value * @return {!proto.yorkie.v1.Operation.TreeEdit} returns this */ -proto.yorkie.v1.Operation.TreeEdit.prototype.setContentList = function(value) { - return jspb.Message.setRepeatedWrapperField(this, 4, value); +proto.yorkie.v1.Operation.TreeEdit.prototype.setContentsList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 5, value); }; /** - * @param {!proto.yorkie.v1.TreeNode=} opt_value + * @param {!proto.yorkie.v1.TreeNodes=} opt_value * @param {number=} opt_index - * @return {!proto.yorkie.v1.TreeNode} + * @return {!proto.yorkie.v1.TreeNodes} */ -proto.yorkie.v1.Operation.TreeEdit.prototype.addContent = function(opt_value, opt_index) { - return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.yorkie.v1.TreeNode, opt_index); +proto.yorkie.v1.Operation.TreeEdit.prototype.addContents = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.yorkie.v1.TreeNodes, opt_index); }; @@ -4798,18 +5144,18 @@ proto.yorkie.v1.Operation.TreeEdit.prototype.addContent = function(opt_value, op * Clears the list making it empty but non-null. * @return {!proto.yorkie.v1.Operation.TreeEdit} returns this */ -proto.yorkie.v1.Operation.TreeEdit.prototype.clearContentList = function() { - return this.setContentList([]); +proto.yorkie.v1.Operation.TreeEdit.prototype.clearContentsList = function() { + return this.setContentsList([]); }; /** - * optional TimeTicket executed_at = 5; + * optional TimeTicket executed_at = 6; * @return {?proto.yorkie.v1.TimeTicket} */ proto.yorkie.v1.Operation.TreeEdit.prototype.getExecutedAt = function() { return /** @type{?proto.yorkie.v1.TimeTicket} */ ( - jspb.Message.getWrapperField(this, proto.yorkie.v1.TimeTicket, 5)); + jspb.Message.getWrapperField(this, proto.yorkie.v1.TimeTicket, 6)); }; @@ -4818,7 +5164,7 @@ proto.yorkie.v1.Operation.TreeEdit.prototype.getExecutedAt = function() { * @return {!proto.yorkie.v1.Operation.TreeEdit} returns this */ proto.yorkie.v1.Operation.TreeEdit.prototype.setExecutedAt = function(value) { - return jspb.Message.setWrapperField(this, 5, value); + return jspb.Message.setWrapperField(this, 6, value); }; @@ -4836,7 +5182,7 @@ proto.yorkie.v1.Operation.TreeEdit.prototype.clearExecutedAt = function() { * @return {boolean} */ proto.yorkie.v1.Operation.TreeEdit.prototype.hasExecutedAt = function() { - return jspb.Message.getField(this, 5) != null; + return jspb.Message.getField(this, 6) != null; }; @@ -5137,7 +5483,8 @@ proto.yorkie.v1.Operation.TreeStyle.prototype.getAttributesMap = function(opt_no */ proto.yorkie.v1.Operation.TreeStyle.prototype.clearAttributesMap = function() { this.getAttributesMap().clear(); - return this;}; + return this; +}; /** @@ -9123,7 +9470,8 @@ proto.yorkie.v1.TextNode.prototype.getAttributesMap = function(opt_noLazyCreate) */ proto.yorkie.v1.TextNode.prototype.clearAttributesMap = function() { this.getAttributesMap().clear(); - return this;}; + return this; +}; @@ -9339,12 +9687,13 @@ proto.yorkie.v1.TreeNode.prototype.toObject = function(opt_includeInstance) { */ proto.yorkie.v1.TreeNode.toObject = function(includeInstance, msg) { var f, obj = { - pos: (f = msg.getPos()) && proto.yorkie.v1.TreePos.toObject(includeInstance, f), + id: (f = msg.getId()) && proto.yorkie.v1.TreeNodeID.toObject(includeInstance, f), type: jspb.Message.getFieldWithDefault(msg, 2, ""), value: jspb.Message.getFieldWithDefault(msg, 3, ""), removedAt: (f = msg.getRemovedAt()) && proto.yorkie.v1.TimeTicket.toObject(includeInstance, f), - insPrevPos: (f = msg.getInsPrevPos()) && proto.yorkie.v1.TreePos.toObject(includeInstance, f), - depth: jspb.Message.getFieldWithDefault(msg, 6, 0), + insPrevId: (f = msg.getInsPrevId()) && proto.yorkie.v1.TreeNodeID.toObject(includeInstance, f), + insNextId: (f = msg.getInsNextId()) && proto.yorkie.v1.TreeNodeID.toObject(includeInstance, f), + depth: jspb.Message.getFieldWithDefault(msg, 7, 0), attributesMap: (f = msg.getAttributesMap()) ? f.toObject(includeInstance, proto.yorkie.v1.NodeAttr.toObject) : [] }; @@ -9383,9 +9732,9 @@ proto.yorkie.v1.TreeNode.deserializeBinaryFromReader = function(msg, reader) { var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.yorkie.v1.TreePos; - reader.readMessage(value,proto.yorkie.v1.TreePos.deserializeBinaryFromReader); - msg.setPos(value); + var value = new proto.yorkie.v1.TreeNodeID; + reader.readMessage(value,proto.yorkie.v1.TreeNodeID.deserializeBinaryFromReader); + msg.setId(value); break; case 2: var value = /** @type {string} */ (reader.readString()); @@ -9401,15 +9750,20 @@ proto.yorkie.v1.TreeNode.deserializeBinaryFromReader = function(msg, reader) { msg.setRemovedAt(value); break; case 5: - var value = new proto.yorkie.v1.TreePos; - reader.readMessage(value,proto.yorkie.v1.TreePos.deserializeBinaryFromReader); - msg.setInsPrevPos(value); + var value = new proto.yorkie.v1.TreeNodeID; + reader.readMessage(value,proto.yorkie.v1.TreeNodeID.deserializeBinaryFromReader); + msg.setInsPrevId(value); break; case 6: + var value = new proto.yorkie.v1.TreeNodeID; + reader.readMessage(value,proto.yorkie.v1.TreeNodeID.deserializeBinaryFromReader); + msg.setInsNextId(value); + break; + case 7: var value = /** @type {number} */ (reader.readInt32()); msg.setDepth(value); break; - case 7: + case 8: var value = msg.getAttributesMap(); reader.readMessage(value, function(message, reader) { jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.yorkie.v1.NodeAttr.deserializeBinaryFromReader, "", new proto.yorkie.v1.NodeAttr()); @@ -9444,12 +9798,12 @@ proto.yorkie.v1.TreeNode.prototype.serializeBinary = function() { */ proto.yorkie.v1.TreeNode.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getPos(); + f = message.getId(); if (f != null) { writer.writeMessage( 1, f, - proto.yorkie.v1.TreePos.serializeBinaryToWriter + proto.yorkie.v1.TreeNodeID.serializeBinaryToWriter ); } f = message.getType(); @@ -9474,43 +9828,51 @@ proto.yorkie.v1.TreeNode.serializeBinaryToWriter = function(message, writer) { proto.yorkie.v1.TimeTicket.serializeBinaryToWriter ); } - f = message.getInsPrevPos(); + f = message.getInsPrevId(); if (f != null) { writer.writeMessage( 5, f, - proto.yorkie.v1.TreePos.serializeBinaryToWriter + proto.yorkie.v1.TreeNodeID.serializeBinaryToWriter + ); + } + f = message.getInsNextId(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.yorkie.v1.TreeNodeID.serializeBinaryToWriter ); } f = message.getDepth(); if (f !== 0) { writer.writeInt32( - 6, + 7, f ); } f = message.getAttributesMap(true); if (f && f.getLength() > 0) { - f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.yorkie.v1.NodeAttr.serializeBinaryToWriter); + f.serializeBinary(8, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.yorkie.v1.NodeAttr.serializeBinaryToWriter); } }; /** - * optional TreePos pos = 1; - * @return {?proto.yorkie.v1.TreePos} + * optional TreeNodeID id = 1; + * @return {?proto.yorkie.v1.TreeNodeID} */ -proto.yorkie.v1.TreeNode.prototype.getPos = function() { - return /** @type{?proto.yorkie.v1.TreePos} */ ( - jspb.Message.getWrapperField(this, proto.yorkie.v1.TreePos, 1)); +proto.yorkie.v1.TreeNode.prototype.getId = function() { + return /** @type{?proto.yorkie.v1.TreeNodeID} */ ( + jspb.Message.getWrapperField(this, proto.yorkie.v1.TreeNodeID, 1)); }; /** - * @param {?proto.yorkie.v1.TreePos|undefined} value + * @param {?proto.yorkie.v1.TreeNodeID|undefined} value * @return {!proto.yorkie.v1.TreeNode} returns this */ -proto.yorkie.v1.TreeNode.prototype.setPos = function(value) { +proto.yorkie.v1.TreeNode.prototype.setId = function(value) { return jspb.Message.setWrapperField(this, 1, value); }; @@ -9519,8 +9881,8 @@ proto.yorkie.v1.TreeNode.prototype.setPos = function(value) { * Clears the message field making it undefined. * @return {!proto.yorkie.v1.TreeNode} returns this */ -proto.yorkie.v1.TreeNode.prototype.clearPos = function() { - return this.setPos(undefined); +proto.yorkie.v1.TreeNode.prototype.clearId = function() { + return this.setId(undefined); }; @@ -9528,7 +9890,7 @@ proto.yorkie.v1.TreeNode.prototype.clearPos = function() { * Returns whether this field is set. * @return {boolean} */ -proto.yorkie.v1.TreeNode.prototype.hasPos = function() { +proto.yorkie.v1.TreeNode.prototype.hasId = function() { return jspb.Message.getField(this, 1) != null; }; @@ -9607,20 +9969,20 @@ proto.yorkie.v1.TreeNode.prototype.hasRemovedAt = function() { /** - * optional TreePos ins_prev_pos = 5; - * @return {?proto.yorkie.v1.TreePos} + * optional TreeNodeID ins_prev_id = 5; + * @return {?proto.yorkie.v1.TreeNodeID} */ -proto.yorkie.v1.TreeNode.prototype.getInsPrevPos = function() { - return /** @type{?proto.yorkie.v1.TreePos} */ ( - jspb.Message.getWrapperField(this, proto.yorkie.v1.TreePos, 5)); +proto.yorkie.v1.TreeNode.prototype.getInsPrevId = function() { + return /** @type{?proto.yorkie.v1.TreeNodeID} */ ( + jspb.Message.getWrapperField(this, proto.yorkie.v1.TreeNodeID, 5)); }; /** - * @param {?proto.yorkie.v1.TreePos|undefined} value + * @param {?proto.yorkie.v1.TreeNodeID|undefined} value * @return {!proto.yorkie.v1.TreeNode} returns this */ -proto.yorkie.v1.TreeNode.prototype.setInsPrevPos = function(value) { +proto.yorkie.v1.TreeNode.prototype.setInsPrevId = function(value) { return jspb.Message.setWrapperField(this, 5, value); }; @@ -9629,8 +9991,8 @@ proto.yorkie.v1.TreeNode.prototype.setInsPrevPos = function(value) { * Clears the message field making it undefined. * @return {!proto.yorkie.v1.TreeNode} returns this */ -proto.yorkie.v1.TreeNode.prototype.clearInsPrevPos = function() { - return this.setInsPrevPos(undefined); +proto.yorkie.v1.TreeNode.prototype.clearInsPrevId = function() { + return this.setInsPrevId(undefined); }; @@ -9638,17 +10000,54 @@ proto.yorkie.v1.TreeNode.prototype.clearInsPrevPos = function() { * Returns whether this field is set. * @return {boolean} */ -proto.yorkie.v1.TreeNode.prototype.hasInsPrevPos = function() { +proto.yorkie.v1.TreeNode.prototype.hasInsPrevId = function() { return jspb.Message.getField(this, 5) != null; }; /** - * optional int32 depth = 6; + * optional TreeNodeID ins_next_id = 6; + * @return {?proto.yorkie.v1.TreeNodeID} + */ +proto.yorkie.v1.TreeNode.prototype.getInsNextId = function() { + return /** @type{?proto.yorkie.v1.TreeNodeID} */ ( + jspb.Message.getWrapperField(this, proto.yorkie.v1.TreeNodeID, 6)); +}; + + +/** + * @param {?proto.yorkie.v1.TreeNodeID|undefined} value + * @return {!proto.yorkie.v1.TreeNode} returns this +*/ +proto.yorkie.v1.TreeNode.prototype.setInsNextId = function(value) { + return jspb.Message.setWrapperField(this, 6, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.yorkie.v1.TreeNode} returns this + */ +proto.yorkie.v1.TreeNode.prototype.clearInsNextId = function() { + return this.setInsNextId(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.yorkie.v1.TreeNode.prototype.hasInsNextId = function() { + return jspb.Message.getField(this, 6) != null; +}; + + +/** + * optional int32 depth = 7; * @return {number} */ proto.yorkie.v1.TreeNode.prototype.getDepth = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0)); + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0)); }; @@ -9657,19 +10056,19 @@ proto.yorkie.v1.TreeNode.prototype.getDepth = function() { * @return {!proto.yorkie.v1.TreeNode} returns this */ proto.yorkie.v1.TreeNode.prototype.setDepth = function(value) { - return jspb.Message.setProto3IntField(this, 6, value); + return jspb.Message.setProto3IntField(this, 7, value); }; /** - * map attributes = 7; + * map attributes = 8; * @param {boolean=} opt_noLazyCreate Do not create the map if * empty, instead returning `undefined` * @return {!jspb.Map} */ proto.yorkie.v1.TreeNode.prototype.getAttributesMap = function(opt_noLazyCreate) { return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 7, opt_noLazyCreate, + jspb.Message.getMapField(this, 8, opt_noLazyCreate, proto.yorkie.v1.NodeAttr)); }; @@ -9680,9 +10079,17 @@ proto.yorkie.v1.TreeNode.prototype.getAttributesMap = function(opt_noLazyCreate) */ proto.yorkie.v1.TreeNode.prototype.clearAttributesMap = function() { this.getAttributesMap().clear(); - return this;}; + return this; +}; + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.yorkie.v1.TreeNodes.repeatedFields_ = [1]; @@ -9699,8 +10106,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.yorkie.v1.TreePos.prototype.toObject = function(opt_includeInstance) { - return proto.yorkie.v1.TreePos.toObject(opt_includeInstance, this); +proto.yorkie.v1.TreeNodes.prototype.toObject = function(opt_includeInstance) { + return proto.yorkie.v1.TreeNodes.toObject(opt_includeInstance, this); }; @@ -9709,14 +10116,14 @@ proto.yorkie.v1.TreePos.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.yorkie.v1.TreePos} msg The msg instance to transform. + * @param {!proto.yorkie.v1.TreeNodes} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.yorkie.v1.TreePos.toObject = function(includeInstance, msg) { +proto.yorkie.v1.TreeNodes.toObject = function(includeInstance, msg) { var f, obj = { - createdAt: (f = msg.getCreatedAt()) && proto.yorkie.v1.TimeTicket.toObject(includeInstance, f), - offset: jspb.Message.getFieldWithDefault(msg, 2, 0) + contentList: jspb.Message.toObjectList(msg.getContentList(), + proto.yorkie.v1.TreeNode.toObject, includeInstance) }; if (includeInstance) { @@ -9730,23 +10137,23 @@ proto.yorkie.v1.TreePos.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.yorkie.v1.TreePos} + * @return {!proto.yorkie.v1.TreeNodes} */ -proto.yorkie.v1.TreePos.deserializeBinary = function(bytes) { +proto.yorkie.v1.TreeNodes.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.yorkie.v1.TreePos; - return proto.yorkie.v1.TreePos.deserializeBinaryFromReader(msg, reader); + var msg = new proto.yorkie.v1.TreeNodes; + return proto.yorkie.v1.TreeNodes.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.yorkie.v1.TreePos} msg The message object to deserialize into. + * @param {!proto.yorkie.v1.TreeNodes} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.yorkie.v1.TreePos} + * @return {!proto.yorkie.v1.TreeNodes} */ -proto.yorkie.v1.TreePos.deserializeBinaryFromReader = function(msg, reader) { +proto.yorkie.v1.TreeNodes.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9754,13 +10161,9 @@ proto.yorkie.v1.TreePos.deserializeBinaryFromReader = function(msg, reader) { var field = reader.getFieldNumber(); switch (field) { case 1: - var value = new proto.yorkie.v1.TimeTicket; - reader.readMessage(value,proto.yorkie.v1.TimeTicket.deserializeBinaryFromReader); - msg.setCreatedAt(value); - break; - case 2: - var value = /** @type {number} */ (reader.readInt32()); - msg.setOffset(value); + var value = new proto.yorkie.v1.TreeNode; + reader.readMessage(value,proto.yorkie.v1.TreeNode.deserializeBinaryFromReader); + msg.addContent(value); break; default: reader.skipField(); @@ -9775,9 +10178,9 @@ proto.yorkie.v1.TreePos.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.yorkie.v1.TreePos.prototype.serializeBinary = function() { +proto.yorkie.v1.TreeNodes.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.yorkie.v1.TreePos.serializeBinaryToWriter(this, writer); + proto.yorkie.v1.TreeNodes.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9785,82 +10188,58 @@ proto.yorkie.v1.TreePos.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.yorkie.v1.TreePos} message + * @param {!proto.yorkie.v1.TreeNodes} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.yorkie.v1.TreePos.serializeBinaryToWriter = function(message, writer) { +proto.yorkie.v1.TreeNodes.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getCreatedAt(); - if (f != null) { - writer.writeMessage( + f = message.getContentList(); + if (f.length > 0) { + writer.writeRepeatedMessage( 1, f, - proto.yorkie.v1.TimeTicket.serializeBinaryToWriter - ); - } - f = message.getOffset(); - if (f !== 0) { - writer.writeInt32( - 2, - f + proto.yorkie.v1.TreeNode.serializeBinaryToWriter ); } }; /** - * optional TimeTicket created_at = 1; - * @return {?proto.yorkie.v1.TimeTicket} + * repeated TreeNode content = 1; + * @return {!Array} */ -proto.yorkie.v1.TreePos.prototype.getCreatedAt = function() { - return /** @type{?proto.yorkie.v1.TimeTicket} */ ( - jspb.Message.getWrapperField(this, proto.yorkie.v1.TimeTicket, 1)); +proto.yorkie.v1.TreeNodes.prototype.getContentList = function() { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.yorkie.v1.TreeNode, 1)); }; /** - * @param {?proto.yorkie.v1.TimeTicket|undefined} value - * @return {!proto.yorkie.v1.TreePos} returns this + * @param {!Array} value + * @return {!proto.yorkie.v1.TreeNodes} returns this */ -proto.yorkie.v1.TreePos.prototype.setCreatedAt = function(value) { - return jspb.Message.setWrapperField(this, 1, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.yorkie.v1.TreePos} returns this - */ -proto.yorkie.v1.TreePos.prototype.clearCreatedAt = function() { - return this.setCreatedAt(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.yorkie.v1.TreePos.prototype.hasCreatedAt = function() { - return jspb.Message.getField(this, 1) != null; +proto.yorkie.v1.TreeNodes.prototype.setContentList = function(value) { + return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** - * optional int32 offset = 2; - * @return {number} + * @param {!proto.yorkie.v1.TreeNode=} opt_value + * @param {number=} opt_index + * @return {!proto.yorkie.v1.TreeNode} */ -proto.yorkie.v1.TreePos.prototype.getOffset = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +proto.yorkie.v1.TreeNodes.prototype.addContent = function(opt_value, opt_index) { + return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.yorkie.v1.TreeNode, opt_index); }; /** - * @param {number} value - * @return {!proto.yorkie.v1.TreePos} returns this + * Clears the list making it empty but non-null. + * @return {!proto.yorkie.v1.TreeNodes} returns this */ -proto.yorkie.v1.TreePos.prototype.setOffset = function(value) { - return jspb.Message.setProto3IntField(this, 2, value); +proto.yorkie.v1.TreeNodes.prototype.clearContentList = function() { + return this.setContentList([]); }; @@ -9880,8 +10259,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.yorkie.v1.User.prototype.toObject = function(opt_includeInstance) { - return proto.yorkie.v1.User.toObject(opt_includeInstance, this); +proto.yorkie.v1.TreeNodeID.prototype.toObject = function(opt_includeInstance) { + return proto.yorkie.v1.TreeNodeID.toObject(opt_includeInstance, this); }; @@ -9890,15 +10269,14 @@ proto.yorkie.v1.User.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.yorkie.v1.User} msg The msg instance to transform. + * @param {!proto.yorkie.v1.TreeNodeID} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.yorkie.v1.User.toObject = function(includeInstance, msg) { +proto.yorkie.v1.TreeNodeID.toObject = function(includeInstance, msg) { var f, obj = { - id: jspb.Message.getFieldWithDefault(msg, 1, ""), - username: jspb.Message.getFieldWithDefault(msg, 2, ""), - createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f) + createdAt: (f = msg.getCreatedAt()) && proto.yorkie.v1.TimeTicket.toObject(includeInstance, f), + offset: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { @@ -9912,23 +10290,23 @@ proto.yorkie.v1.User.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.yorkie.v1.User} + * @return {!proto.yorkie.v1.TreeNodeID} */ -proto.yorkie.v1.User.deserializeBinary = function(bytes) { +proto.yorkie.v1.TreeNodeID.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.yorkie.v1.User; - return proto.yorkie.v1.User.deserializeBinaryFromReader(msg, reader); + var msg = new proto.yorkie.v1.TreeNodeID; + return proto.yorkie.v1.TreeNodeID.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.yorkie.v1.User} msg The message object to deserialize into. + * @param {!proto.yorkie.v1.TreeNodeID} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.yorkie.v1.User} + * @return {!proto.yorkie.v1.TreeNodeID} */ -proto.yorkie.v1.User.deserializeBinaryFromReader = function(msg, reader) { +proto.yorkie.v1.TreeNodeID.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -9936,17 +10314,13 @@ proto.yorkie.v1.User.deserializeBinaryFromReader = function(msg, reader) { var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setId(value); + var value = new proto.yorkie.v1.TimeTicket; + reader.readMessage(value,proto.yorkie.v1.TimeTicket.deserializeBinaryFromReader); + msg.setCreatedAt(value); break; case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setUsername(value); - break; - case 3: - var value = new google_protobuf_timestamp_pb.Timestamp; - reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); - msg.setCreatedAt(value); + var value = /** @type {number} */ (reader.readInt32()); + msg.setOffset(value); break; default: reader.skipField(); @@ -9961,9 +10335,9 @@ proto.yorkie.v1.User.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.yorkie.v1.User.prototype.serializeBinary = function() { +proto.yorkie.v1.TreeNodeID.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.yorkie.v1.User.serializeBinaryToWriter(this, writer); + proto.yorkie.v1.TreeNodeID.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -9971,41 +10345,429 @@ proto.yorkie.v1.User.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.yorkie.v1.User} message + * @param {!proto.yorkie.v1.TreeNodeID} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.yorkie.v1.User.serializeBinaryToWriter = function(message, writer) { +proto.yorkie.v1.TreeNodeID.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId(); - if (f.length > 0) { - writer.writeString( + f = message.getCreatedAt(); + if (f != null) { + writer.writeMessage( 1, - f + f, + proto.yorkie.v1.TimeTicket.serializeBinaryToWriter ); } - f = message.getUsername(); - if (f.length > 0) { - writer.writeString( + f = message.getOffset(); + if (f !== 0) { + writer.writeInt32( 2, f ); } - f = message.getCreatedAt(); - if (f != null) { - writer.writeMessage( - 3, - f, - google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter - ); - } }; /** - * optional string id = 1; - * @return {string} - */ + * optional TimeTicket created_at = 1; + * @return {?proto.yorkie.v1.TimeTicket} + */ +proto.yorkie.v1.TreeNodeID.prototype.getCreatedAt = function() { + return /** @type{?proto.yorkie.v1.TimeTicket} */ ( + jspb.Message.getWrapperField(this, proto.yorkie.v1.TimeTicket, 1)); +}; + + +/** + * @param {?proto.yorkie.v1.TimeTicket|undefined} value + * @return {!proto.yorkie.v1.TreeNodeID} returns this +*/ +proto.yorkie.v1.TreeNodeID.prototype.setCreatedAt = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.yorkie.v1.TreeNodeID} returns this + */ +proto.yorkie.v1.TreeNodeID.prototype.clearCreatedAt = function() { + return this.setCreatedAt(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.yorkie.v1.TreeNodeID.prototype.hasCreatedAt = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional int32 offset = 2; + * @return {number} + */ +proto.yorkie.v1.TreeNodeID.prototype.getOffset = function() { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + + +/** + * @param {number} value + * @return {!proto.yorkie.v1.TreeNodeID} returns this + */ +proto.yorkie.v1.TreeNodeID.prototype.setOffset = function(value) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.yorkie.v1.TreePos.prototype.toObject = function(opt_includeInstance) { + return proto.yorkie.v1.TreePos.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.yorkie.v1.TreePos} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.yorkie.v1.TreePos.toObject = function(includeInstance, msg) { + var f, obj = { + parentId: (f = msg.getParentId()) && proto.yorkie.v1.TreeNodeID.toObject(includeInstance, f), + leftSiblingId: (f = msg.getLeftSiblingId()) && proto.yorkie.v1.TreeNodeID.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.yorkie.v1.TreePos} + */ +proto.yorkie.v1.TreePos.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.yorkie.v1.TreePos; + return proto.yorkie.v1.TreePos.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.yorkie.v1.TreePos} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.yorkie.v1.TreePos} + */ +proto.yorkie.v1.TreePos.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.yorkie.v1.TreeNodeID; + reader.readMessage(value,proto.yorkie.v1.TreeNodeID.deserializeBinaryFromReader); + msg.setParentId(value); + break; + case 2: + var value = new proto.yorkie.v1.TreeNodeID; + reader.readMessage(value,proto.yorkie.v1.TreeNodeID.deserializeBinaryFromReader); + msg.setLeftSiblingId(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.yorkie.v1.TreePos.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.yorkie.v1.TreePos.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.yorkie.v1.TreePos} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.yorkie.v1.TreePos.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getParentId(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.yorkie.v1.TreeNodeID.serializeBinaryToWriter + ); + } + f = message.getLeftSiblingId(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.yorkie.v1.TreeNodeID.serializeBinaryToWriter + ); + } +}; + + +/** + * optional TreeNodeID parent_id = 1; + * @return {?proto.yorkie.v1.TreeNodeID} + */ +proto.yorkie.v1.TreePos.prototype.getParentId = function() { + return /** @type{?proto.yorkie.v1.TreeNodeID} */ ( + jspb.Message.getWrapperField(this, proto.yorkie.v1.TreeNodeID, 1)); +}; + + +/** + * @param {?proto.yorkie.v1.TreeNodeID|undefined} value + * @return {!proto.yorkie.v1.TreePos} returns this +*/ +proto.yorkie.v1.TreePos.prototype.setParentId = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.yorkie.v1.TreePos} returns this + */ +proto.yorkie.v1.TreePos.prototype.clearParentId = function() { + return this.setParentId(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.yorkie.v1.TreePos.prototype.hasParentId = function() { + return jspb.Message.getField(this, 1) != null; +}; + + +/** + * optional TreeNodeID left_sibling_id = 2; + * @return {?proto.yorkie.v1.TreeNodeID} + */ +proto.yorkie.v1.TreePos.prototype.getLeftSiblingId = function() { + return /** @type{?proto.yorkie.v1.TreeNodeID} */ ( + jspb.Message.getWrapperField(this, proto.yorkie.v1.TreeNodeID, 2)); +}; + + +/** + * @param {?proto.yorkie.v1.TreeNodeID|undefined} value + * @return {!proto.yorkie.v1.TreePos} returns this +*/ +proto.yorkie.v1.TreePos.prototype.setLeftSiblingId = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.yorkie.v1.TreePos} returns this + */ +proto.yorkie.v1.TreePos.prototype.clearLeftSiblingId = function() { + return this.setLeftSiblingId(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.yorkie.v1.TreePos.prototype.hasLeftSiblingId = function() { + return jspb.Message.getField(this, 2) != null; +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.yorkie.v1.User.prototype.toObject = function(opt_includeInstance) { + return proto.yorkie.v1.User.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.yorkie.v1.User} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.yorkie.v1.User.toObject = function(includeInstance, msg) { + var f, obj = { + id: jspb.Message.getFieldWithDefault(msg, 1, ""), + username: jspb.Message.getFieldWithDefault(msg, 2, ""), + createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.yorkie.v1.User} + */ +proto.yorkie.v1.User.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.yorkie.v1.User; + return proto.yorkie.v1.User.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.yorkie.v1.User} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.yorkie.v1.User} + */ +proto.yorkie.v1.User.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setId(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.setUsername(value); + break; + case 3: + var value = new google_protobuf_timestamp_pb.Timestamp; + reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader); + msg.setCreatedAt(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.yorkie.v1.User.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.yorkie.v1.User.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.yorkie.v1.User} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.yorkie.v1.User.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getId(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getUsername(); + if (f.length > 0) { + writer.writeString( + 2, + f + ); + } + f = message.getCreatedAt(); + if (f != null) { + writer.writeMessage( + 3, + f, + google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter + ); + } +}; + + +/** + * optional string id = 1; + * @return {string} + */ proto.yorkie.v1.User.prototype.getId = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; @@ -11332,8 +12094,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.yorkie.v1.Presence.prototype.toObject = function(opt_includeInstance) { - return proto.yorkie.v1.Presence.toObject(opt_includeInstance, this); +proto.yorkie.v1.PresenceChange.prototype.toObject = function(opt_includeInstance) { + return proto.yorkie.v1.PresenceChange.toObject(opt_includeInstance, this); }; @@ -11342,14 +12104,14 @@ proto.yorkie.v1.Presence.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.yorkie.v1.Presence} msg The msg instance to transform. + * @param {!proto.yorkie.v1.PresenceChange} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.yorkie.v1.Presence.toObject = function(includeInstance, msg) { +proto.yorkie.v1.PresenceChange.toObject = function(includeInstance, msg) { var f, obj = { - clock: jspb.Message.getFieldWithDefault(msg, 1, 0), - dataMap: (f = msg.getDataMap()) ? f.toObject(includeInstance, undefined) : [] + type: jspb.Message.getFieldWithDefault(msg, 1, 0), + presence: (f = msg.getPresence()) && proto.yorkie.v1.Presence.toObject(includeInstance, f) }; if (includeInstance) { @@ -11363,23 +12125,23 @@ proto.yorkie.v1.Presence.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.yorkie.v1.Presence} + * @return {!proto.yorkie.v1.PresenceChange} */ -proto.yorkie.v1.Presence.deserializeBinary = function(bytes) { +proto.yorkie.v1.PresenceChange.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.yorkie.v1.Presence; - return proto.yorkie.v1.Presence.deserializeBinaryFromReader(msg, reader); + var msg = new proto.yorkie.v1.PresenceChange; + return proto.yorkie.v1.PresenceChange.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.yorkie.v1.Presence} msg The message object to deserialize into. + * @param {!proto.yorkie.v1.PresenceChange} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.yorkie.v1.Presence} + * @return {!proto.yorkie.v1.PresenceChange} */ -proto.yorkie.v1.Presence.deserializeBinaryFromReader = function(msg, reader) { +proto.yorkie.v1.PresenceChange.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11387,14 +12149,13 @@ proto.yorkie.v1.Presence.deserializeBinaryFromReader = function(msg, reader) { var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {number} */ (reader.readInt32()); - msg.setClock(value); + var value = /** @type {!proto.yorkie.v1.PresenceChange.ChangeType} */ (reader.readEnum()); + msg.setType(value); break; case 2: - var value = msg.getDataMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); - }); + var value = new proto.yorkie.v1.Presence; + reader.readMessage(value,proto.yorkie.v1.Presence.deserializeBinaryFromReader); + msg.setPresence(value); break; default: reader.skipField(); @@ -11409,9 +12170,9 @@ proto.yorkie.v1.Presence.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.yorkie.v1.Presence.prototype.serializeBinary = function() { +proto.yorkie.v1.PresenceChange.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.yorkie.v1.Presence.serializeBinaryToWriter(this, writer); + proto.yorkie.v1.PresenceChange.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11419,64 +12180,93 @@ proto.yorkie.v1.Presence.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.yorkie.v1.Presence} message + * @param {!proto.yorkie.v1.PresenceChange} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.yorkie.v1.Presence.serializeBinaryToWriter = function(message, writer) { +proto.yorkie.v1.PresenceChange.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getClock(); - if (f !== 0) { - writer.writeInt32( + f = message.getType(); + if (f !== 0.0) { + writer.writeEnum( 1, f ); } - f = message.getDataMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); + f = message.getPresence(); + if (f != null) { + writer.writeMessage( + 2, + f, + proto.yorkie.v1.Presence.serializeBinaryToWriter + ); } }; /** - * optional int32 clock = 1; - * @return {number} + * @enum {number} */ -proto.yorkie.v1.Presence.prototype.getClock = function() { - return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); +proto.yorkie.v1.PresenceChange.ChangeType = { + CHANGE_TYPE_UNSPECIFIED: 0, + CHANGE_TYPE_PUT: 1, + CHANGE_TYPE_DELETE: 2, + CHANGE_TYPE_CLEAR: 3 +}; + +/** + * optional ChangeType type = 1; + * @return {!proto.yorkie.v1.PresenceChange.ChangeType} + */ +proto.yorkie.v1.PresenceChange.prototype.getType = function() { + return /** @type {!proto.yorkie.v1.PresenceChange.ChangeType} */ (jspb.Message.getFieldWithDefault(this, 1, 0)); }; /** - * @param {number} value - * @return {!proto.yorkie.v1.Presence} returns this + * @param {!proto.yorkie.v1.PresenceChange.ChangeType} value + * @return {!proto.yorkie.v1.PresenceChange} returns this */ -proto.yorkie.v1.Presence.prototype.setClock = function(value) { - return jspb.Message.setProto3IntField(this, 1, value); +proto.yorkie.v1.PresenceChange.prototype.setType = function(value) { + return jspb.Message.setProto3EnumField(this, 1, value); }; /** - * map data = 2; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} + * optional Presence presence = 2; + * @return {?proto.yorkie.v1.Presence} */ -proto.yorkie.v1.Presence.prototype.getDataMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 2, opt_noLazyCreate, - null)); +proto.yorkie.v1.PresenceChange.prototype.getPresence = function() { + return /** @type{?proto.yorkie.v1.Presence} */ ( + jspb.Message.getWrapperField(this, proto.yorkie.v1.Presence, 2)); }; /** - * Clears values from the map. The map will be non-null. - * @return {!proto.yorkie.v1.Presence} returns this + * @param {?proto.yorkie.v1.Presence|undefined} value + * @return {!proto.yorkie.v1.PresenceChange} returns this +*/ +proto.yorkie.v1.PresenceChange.prototype.setPresence = function(value) { + return jspb.Message.setWrapperField(this, 2, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.yorkie.v1.PresenceChange} returns this */ -proto.yorkie.v1.Presence.prototype.clearDataMap = function() { - this.getDataMap().clear(); - return this;}; +proto.yorkie.v1.PresenceChange.prototype.clearPresence = function() { + return this.setPresence(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.yorkie.v1.PresenceChange.prototype.hasPresence = function() { + return jspb.Message.getField(this, 2) != null; +}; @@ -11495,8 +12285,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.yorkie.v1.Client.prototype.toObject = function(opt_includeInstance) { - return proto.yorkie.v1.Client.toObject(opt_includeInstance, this); +proto.yorkie.v1.Presence.prototype.toObject = function(opt_includeInstance) { + return proto.yorkie.v1.Presence.toObject(opt_includeInstance, this); }; @@ -11505,14 +12295,13 @@ proto.yorkie.v1.Client.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.yorkie.v1.Client} msg The msg instance to transform. + * @param {!proto.yorkie.v1.Presence} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.yorkie.v1.Client.toObject = function(includeInstance, msg) { +proto.yorkie.v1.Presence.toObject = function(includeInstance, msg) { var f, obj = { - id: msg.getId_asB64(), - presence: (f = msg.getPresence()) && proto.yorkie.v1.Presence.toObject(includeInstance, f) + dataMap: (f = msg.getDataMap()) ? f.toObject(includeInstance, undefined) : [] }; if (includeInstance) { @@ -11526,23 +12315,23 @@ proto.yorkie.v1.Client.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.yorkie.v1.Client} + * @return {!proto.yorkie.v1.Presence} */ -proto.yorkie.v1.Client.deserializeBinary = function(bytes) { +proto.yorkie.v1.Presence.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.yorkie.v1.Client; - return proto.yorkie.v1.Client.deserializeBinaryFromReader(msg, reader); + var msg = new proto.yorkie.v1.Presence; + return proto.yorkie.v1.Presence.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.yorkie.v1.Client} msg The message object to deserialize into. + * @param {!proto.yorkie.v1.Presence} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.yorkie.v1.Client} + * @return {!proto.yorkie.v1.Presence} */ -proto.yorkie.v1.Client.deserializeBinaryFromReader = function(msg, reader) { +proto.yorkie.v1.Presence.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -11550,13 +12339,10 @@ proto.yorkie.v1.Client.deserializeBinaryFromReader = function(msg, reader) { var field = reader.getFieldNumber(); switch (field) { case 1: - var value = /** @type {!Uint8Array} */ (reader.readBytes()); - msg.setId(value); - break; - case 2: - var value = new proto.yorkie.v1.Presence; - reader.readMessage(value,proto.yorkie.v1.Presence.deserializeBinaryFromReader); - msg.setPresence(value); + var value = msg.getDataMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); + }); break; default: reader.skipField(); @@ -11571,9 +12357,9 @@ proto.yorkie.v1.Client.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.yorkie.v1.Client.prototype.serializeBinary = function() { +proto.yorkie.v1.Presence.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.yorkie.v1.Client.serializeBinaryToWriter(this, writer); + proto.yorkie.v1.Presence.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -11581,106 +12367,39 @@ proto.yorkie.v1.Client.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.yorkie.v1.Client} message + * @param {!proto.yorkie.v1.Presence} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.yorkie.v1.Client.serializeBinaryToWriter = function(message, writer) { +proto.yorkie.v1.Presence.serializeBinaryToWriter = function(message, writer) { var f = undefined; - f = message.getId_asU8(); - if (f.length > 0) { - writer.writeBytes( - 1, - f - ); - } - f = message.getPresence(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.yorkie.v1.Presence.serializeBinaryToWriter - ); + f = message.getDataMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); } }; /** - * optional bytes id = 1; - * @return {string} - */ -proto.yorkie.v1.Client.prototype.getId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * optional bytes id = 1; - * This is a type-conversion wrapper around `getId()` - * @return {string} - */ -proto.yorkie.v1.Client.prototype.getId_asB64 = function() { - return /** @type {string} */ (jspb.Message.bytesAsB64( - this.getId())); -}; - - -/** - * optional bytes id = 1; - * Note that Uint8Array is not supported on all browsers. - * @see http://caniuse.com/Uint8Array - * This is a type-conversion wrapper around `getId()` - * @return {!Uint8Array} - */ -proto.yorkie.v1.Client.prototype.getId_asU8 = function() { - return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( - this.getId())); -}; - - -/** - * @param {!(string|Uint8Array)} value - * @return {!proto.yorkie.v1.Client} returns this - */ -proto.yorkie.v1.Client.prototype.setId = function(value) { - return jspb.Message.setProto3BytesField(this, 1, value); -}; - - -/** - * optional Presence presence = 2; - * @return {?proto.yorkie.v1.Presence} - */ -proto.yorkie.v1.Client.prototype.getPresence = function() { - return /** @type{?proto.yorkie.v1.Presence} */ ( - jspb.Message.getWrapperField(this, proto.yorkie.v1.Presence, 2)); -}; - - -/** - * @param {?proto.yorkie.v1.Presence|undefined} value - * @return {!proto.yorkie.v1.Client} returns this -*/ -proto.yorkie.v1.Client.prototype.setPresence = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.yorkie.v1.Client} returns this + * map data = 1; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} */ -proto.yorkie.v1.Client.prototype.clearPresence = function() { - return this.setPresence(undefined); +proto.yorkie.v1.Presence.prototype.getDataMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 1, opt_noLazyCreate, + null)); }; /** - * Returns whether this field is set. - * @return {boolean} + * Clears values from the map. The map will be non-null. + * @return {!proto.yorkie.v1.Presence} returns this */ -proto.yorkie.v1.Client.prototype.hasPresence = function() { - return jspb.Message.getField(this, 2) != null; +proto.yorkie.v1.Presence.prototype.clearDataMap = function() { + this.getDataMap().clear(); + return this; }; @@ -12302,8 +13021,7 @@ proto.yorkie.v1.DocEvent.prototype.toObject = function(opt_includeInstance) { proto.yorkie.v1.DocEvent.toObject = function(includeInstance, msg) { var f, obj = { type: jspb.Message.getFieldWithDefault(msg, 1, 0), - publisher: (f = msg.getPublisher()) && proto.yorkie.v1.Client.toObject(includeInstance, f), - documentId: jspb.Message.getFieldWithDefault(msg, 3, "") + publisher: jspb.Message.getFieldWithDefault(msg, 2, "") }; if (includeInstance) { @@ -12345,13 +13063,8 @@ proto.yorkie.v1.DocEvent.deserializeBinaryFromReader = function(msg, reader) { msg.setType(value); break; case 2: - var value = new proto.yorkie.v1.Client; - reader.readMessage(value,proto.yorkie.v1.Client.deserializeBinaryFromReader); - msg.setPublisher(value); - break; - case 3: var value = /** @type {string} */ (reader.readString()); - msg.setDocumentId(value); + msg.setPublisher(value); break; default: reader.skipField(); @@ -12390,17 +13103,9 @@ proto.yorkie.v1.DocEvent.serializeBinaryToWriter = function(message, writer) { ); } f = message.getPublisher(); - if (f != null) { - writer.writeMessage( - 2, - f, - proto.yorkie.v1.Client.serializeBinaryToWriter - ); - } - f = message.getDocumentId(); if (f.length > 0) { writer.writeString( - 3, + 2, f ); } @@ -12426,48 +13131,11 @@ proto.yorkie.v1.DocEvent.prototype.setType = function(value) { /** - * optional Client publisher = 2; - * @return {?proto.yorkie.v1.Client} - */ -proto.yorkie.v1.DocEvent.prototype.getPublisher = function() { - return /** @type{?proto.yorkie.v1.Client} */ ( - jspb.Message.getWrapperField(this, proto.yorkie.v1.Client, 2)); -}; - - -/** - * @param {?proto.yorkie.v1.Client|undefined} value - * @return {!proto.yorkie.v1.DocEvent} returns this -*/ -proto.yorkie.v1.DocEvent.prototype.setPublisher = function(value) { - return jspb.Message.setWrapperField(this, 2, value); -}; - - -/** - * Clears the message field making it undefined. - * @return {!proto.yorkie.v1.DocEvent} returns this - */ -proto.yorkie.v1.DocEvent.prototype.clearPublisher = function() { - return this.setPublisher(undefined); -}; - - -/** - * Returns whether this field is set. - * @return {boolean} - */ -proto.yorkie.v1.DocEvent.prototype.hasPublisher = function() { - return jspb.Message.getField(this, 2) != null; -}; - - -/** - * optional string document_id = 3; + * optional string publisher = 2; * @return {string} */ -proto.yorkie.v1.DocEvent.prototype.getDocumentId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +proto.yorkie.v1.DocEvent.prototype.getPublisher = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; @@ -12475,8 +13143,8 @@ proto.yorkie.v1.DocEvent.prototype.getDocumentId = function() { * @param {string} value * @return {!proto.yorkie.v1.DocEvent} returns this */ -proto.yorkie.v1.DocEvent.prototype.setDocumentId = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); +proto.yorkie.v1.DocEvent.prototype.setPublisher = function(value) { + return jspb.Message.setProto3StringField(this, 2, value); }; @@ -12504,10 +13172,9 @@ proto.yorkie.v1.ValueType = { * @enum {number} */ proto.yorkie.v1.DocEventType = { - DOC_EVENT_TYPE_DOCUMENTS_CHANGED: 0, - DOC_EVENT_TYPE_DOCUMENTS_WATCHED: 1, - DOC_EVENT_TYPE_DOCUMENTS_UNWATCHED: 2, - DOC_EVENT_TYPE_PRESENCE_CHANGED: 3 + DOC_EVENT_TYPE_DOCUMENT_CHANGED: 0, + DOC_EVENT_TYPE_DOCUMENT_WATCHED: 1, + DOC_EVENT_TYPE_DOCUMENT_UNWATCHED: 2 }; goog.object.extend(exports, proto.yorkie.v1); diff --git a/src/features/projects/Overview.tsx b/src/features/projects/Overview.tsx index d0686ac..0841dd7 100644 --- a/src/features/projects/Overview.tsx +++ b/src/features/projects/Overview.tsx @@ -33,16 +33,14 @@ async function main() { apiKey: '${project?.publicKey}', }); await client.activate(); - client.subscribe((event) => { - if (event.type === 'peers-changed') { - const peers = client.getPeersByDocKey(doc.getKey()); - // Add element to HTML as shown below: - //
There are currently peers!
- document.getElementById('peersCount').innerHTML = peers.length; - } - }); const doc = new yorkie.Document('my-first-document'); + doc.subscribe('presence', (event) => { + const peers = doc.getPresences(); + // Add element to HTML as shown below: + //
There are currently peers!
+ document.getElementById('peersCount').innerHTML = peers.length; + }) await client.attach(doc); } main();`, @@ -56,14 +54,12 @@ main();`, apiKey: '${project?.publicKey}', }); await client.activate(); - client.subscribe((event) => { - if (event.type === 'peers-changed') { - const peers = client.getPeersByDocKey(doc.getKey()); - document.getElementById('peersCount').innerHTML = peers.length; - } - }); const doc = new yorkie.Document('my-first-document'); + doc.subscribe('presence', (event) => { + const peers = doc.getPresences(); + document.getElementById('peersCount').innerHTML = peers.length; + }) await client.attach(doc); } main();