dcodeindra-baileyspro 2.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2534 -0
  3. package/WAProto/Adv/Adv.d.ts +518 -0
  4. package/WAProto/Adv/Adv.js +1734 -0
  5. package/WAProto/Adv/Adv.proto +36 -0
  6. package/WAProto/BotMetadata/BotMetadata.d.ts +5745 -0
  7. package/WAProto/BotMetadata/BotMetadata.js +16291 -0
  8. package/WAProto/BotMetadata/BotMetadata.proto +463 -0
  9. package/WAProto/Cert/Cert.d.ts +497 -0
  10. package/WAProto/Cert/Cert.js +1503 -0
  11. package/WAProto/Cert/Cert.proto +28 -0
  12. package/WAProto/ChatLockSettings/ChatLockSettings.d.ts +391 -0
  13. package/WAProto/ChatLockSettings/ChatLockSettings.js +1155 -0
  14. package/WAProto/ChatLockSettings/ChatLockSettings.proto +7 -0
  15. package/WAProto/CompanionReg/CompanionReg.d.ts +1055 -0
  16. package/WAProto/CompanionReg/CompanionReg.js +3532 -0
  17. package/WAProto/CompanionReg/CompanionReg.proto +89 -0
  18. package/WAProto/DeviceCapabilities/DeviceCapabilities.d.ts +187 -0
  19. package/WAProto/DeviceCapabilities/DeviceCapabilities.js +520 -0
  20. package/WAProto/DeviceCapabilities/DeviceCapabilities.proto +14 -0
  21. package/WAProto/E2E/E2E.d.ts +28417 -0
  22. package/WAProto/E2E/E2E.js +98438 -0
  23. package/WAProto/E2E/E2E.proto +2289 -0
  24. package/WAProto/Ephemeral/Ephemeral.d.ts +95 -0
  25. package/WAProto/Ephemeral/Ephemeral.js +269 -0
  26. package/WAProto/Ephemeral/Ephemeral.proto +6 -0
  27. package/WAProto/HistorySync/HistorySync.d.ts +40728 -0
  28. package/WAProto/HistorySync/HistorySync.js +142980 -0
  29. package/WAProto/HistorySync/HistorySync.proto +207 -0
  30. package/WAProto/LidMigrationSyncPayload/LidMigrationSyncPayload.d.ts +189 -0
  31. package/WAProto/LidMigrationSyncPayload/LidMigrationSyncPayload.js +585 -0
  32. package/WAProto/LidMigrationSyncPayload/LidMigrationSyncPayload.proto +11 -0
  33. package/WAProto/MdStorageChatRowOpaqueData/MdStorageChatRowOpaqueData.d.ts +461 -0
  34. package/WAProto/MdStorageChatRowOpaqueData/MdStorageChatRowOpaqueData.js +1559 -0
  35. package/WAProto/MdStorageChatRowOpaqueData/MdStorageChatRowOpaqueData.proto +37 -0
  36. package/WAProto/MdStorageMsgRowOpaqueData/MdStorageMsgRowOpaqueData.d.ts +29294 -0
  37. package/WAProto/MdStorageMsgRowOpaqueData/MdStorageMsgRowOpaqueData.js +101732 -0
  38. package/WAProto/MdStorageMsgRowOpaqueData/MdStorageMsgRowOpaqueData.proto +76 -0
  39. package/WAProto/MmsRetry/MmsRetry.d.ts +200 -0
  40. package/WAProto/MmsRetry/MmsRetry.js +586 -0
  41. package/WAProto/MmsRetry/MmsRetry.proto +17 -0
  42. package/WAProto/Protocol/Protocol.d.ts +218 -0
  43. package/WAProto/Protocol/Protocol.js +701 -0
  44. package/WAProto/Protocol/Protocol.proto +20 -0
  45. package/WAProto/Reporting/Reporting.d.ts +301 -0
  46. package/WAProto/Reporting/Reporting.js +989 -0
  47. package/WAProto/Reporting/Reporting.proto +19 -0
  48. package/WAProto/ServerSync/ServerSync.d.ts +1050 -0
  49. package/WAProto/ServerSync/ServerSync.js +3176 -0
  50. package/WAProto/ServerSync/ServerSync.proto +59 -0
  51. package/WAProto/SignalLocalStorageProtocol/SignalLocalStorageProtocol.d.ts +1507 -0
  52. package/WAProto/SignalLocalStorageProtocol/SignalLocalStorageProtocol.js +4756 -0
  53. package/WAProto/SignalLocalStorageProtocol/SignalLocalStorageProtocol.proto +88 -0
  54. package/WAProto/SignalWhisperTextProtocol/SignalWhisperTextProtocol.d.ts +617 -0
  55. package/WAProto/SignalWhisperTextProtocol/SignalWhisperTextProtocol.js +1940 -0
  56. package/WAProto/SignalWhisperTextProtocol/SignalWhisperTextProtocol.proto +38 -0
  57. package/WAProto/StatusAttributions/StatusAttributions.d.ts +636 -0
  58. package/WAProto/StatusAttributions/StatusAttributions.js +2037 -0
  59. package/WAProto/StatusAttributions/StatusAttributions.proto +61 -0
  60. package/WAProto/SyncAction/SyncAction.d.ts +7227 -0
  61. package/WAProto/SyncAction/SyncAction.js +22271 -0
  62. package/WAProto/SyncAction/SyncAction.proto +423 -0
  63. package/WAProto/UserPassword/UserPassword.d.ts +298 -0
  64. package/WAProto/UserPassword/UserPassword.js +898 -0
  65. package/WAProto/UserPassword/UserPassword.proto +27 -0
  66. package/WAProto/VnameCert/VnameCert.d.ts +658 -0
  67. package/WAProto/VnameCert/VnameCert.js +2225 -0
  68. package/WAProto/VnameCert/VnameCert.proto +60 -0
  69. package/WAProto/Wa6/Wa6.d.ts +1613 -0
  70. package/WAProto/Wa6/Wa6.js +6299 -0
  71. package/WAProto/Wa6/Wa6.proto +229 -0
  72. package/WAProto/Web/Web.d.ts +31718 -0
  73. package/WAProto/Web/Web.js +113402 -0
  74. package/WAProto/Web/Web.proto +545 -0
  75. package/WAProto/index.d.ts +49 -0
  76. package/WAProto/index.js +28 -0
  77. package/WASignalGroup/GroupProtocol.js +1771 -0
  78. package/WASignalGroup/ciphertext_message.js +10 -0
  79. package/WASignalGroup/group_cipher.js +103 -0
  80. package/WASignalGroup/group_session_builder.js +39 -0
  81. package/WASignalGroup/index.js +5 -0
  82. package/WASignalGroup/keyhelper.js +17 -0
  83. package/WASignalGroup/protobufs.js +2 -0
  84. package/WASignalGroup/queue_job.js +64 -0
  85. package/WASignalGroup/sender_chain_key.js +38 -0
  86. package/WASignalGroup/sender_key_distribution_message.js +68 -0
  87. package/WASignalGroup/sender_key_message.js +79 -0
  88. package/WASignalGroup/sender_key_name.js +59 -0
  89. package/WASignalGroup/sender_key_record.js +47 -0
  90. package/WASignalGroup/sender_key_state.js +110 -0
  91. package/WASignalGroup/sender_message_key.js +30 -0
  92. package/check-node-version.js +10 -0
  93. package/lib/Defaults/baileys-version.json +3 -0
  94. package/lib/Defaults/index.d.ts +51 -0
  95. package/lib/Defaults/index.js +108 -0
  96. package/lib/Defaults/phonenumber-mcc.json +223 -0
  97. package/lib/Signal/Group/ciphertext-message.d.ts +9 -0
  98. package/lib/Signal/Group/ciphertext-message.js +19 -0
  99. package/lib/Signal/Group/group-session-builder.d.ts +17 -0
  100. package/lib/Signal/Group/group-session-builder.js +72 -0
  101. package/lib/Signal/Group/group_cipher.d.ts +19 -0
  102. package/lib/Signal/Group/group_cipher.js +99 -0
  103. package/lib/Signal/Group/index.d.ts +11 -0
  104. package/lib/Signal/Group/index.js +61 -0
  105. package/lib/Signal/Group/keyhelper.d.ts +16 -0
  106. package/lib/Signal/Group/keyhelper.js +66 -0
  107. package/lib/Signal/Group/queue-job.d.ts +1 -0
  108. package/lib/Signal/Group/queue-job.js +64 -0
  109. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  110. package/lib/Signal/Group/sender-chain-key.js +39 -0
  111. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  112. package/lib/Signal/Group/sender-key-distribution-message.js +71 -0
  113. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  114. package/lib/Signal/Group/sender-key-message.js +73 -0
  115. package/lib/Signal/Group/sender-key-name.d.ts +19 -0
  116. package/lib/Signal/Group/sender-key-name.js +59 -0
  117. package/lib/Signal/Group/sender-key-record.d.ts +32 -0
  118. package/lib/Signal/Group/sender-key-record.js +53 -0
  119. package/lib/Signal/Group/sender-key-record.ts +77 -0
  120. package/lib/Signal/Group/sender-key-state.d.ts +44 -0
  121. package/lib/Signal/Group/sender-key-state.js +104 -0
  122. package/lib/Signal/Group/sender-message-key.d.ts +11 -0
  123. package/lib/Signal/Group/sender-message-key.js +33 -0
  124. package/lib/Signal/libsignal.d.ts +3 -0
  125. package/lib/Signal/libsignal.js +153 -0
  126. package/lib/Socket/Client/index.d.ts +2 -0
  127. package/lib/Socket/Client/index.js +18 -0
  128. package/lib/Socket/Client/types.d.ts +15 -0
  129. package/lib/Socket/Client/types.js +14 -0
  130. package/lib/Socket/Client/websocket.d.ts +12 -0
  131. package/lib/Socket/Client/websocket.js +57 -0
  132. package/lib/Socket/business.d.ts +181 -0
  133. package/lib/Socket/business.js +259 -0
  134. package/lib/Socket/chats.d.ts +95 -0
  135. package/lib/Socket/chats.js +906 -0
  136. package/lib/Socket/community.d.ts +131 -0
  137. package/lib/Socket/community.js +369 -0
  138. package/lib/Socket/groups.d.ts +122 -0
  139. package/lib/Socket/groups.js +360 -0
  140. package/lib/Socket/index.d.ts +183 -0
  141. package/lib/Socket/index.js +10 -0
  142. package/lib/Socket/messages-recv.d.ts +170 -0
  143. package/lib/Socket/messages-recv.js +1074 -0
  144. package/lib/Socket/messages-send.d.ts +161 -0
  145. package/lib/Socket/messages-send.js +982 -0
  146. package/lib/Socket/newsletter.d.ts +140 -0
  147. package/lib/Socket/newsletter.js +242 -0
  148. package/lib/Socket/socket.d.ts +43 -0
  149. package/lib/Socket/socket.js +749 -0
  150. package/lib/Socket/usync.d.ts +36 -0
  151. package/lib/Socket/usync.js +71 -0
  152. package/lib/Store/index.d.ts +4 -0
  153. package/lib/Store/index.js +20 -0
  154. package/lib/Store/make-cache-manager-store.d.ts +13 -0
  155. package/lib/Store/make-cache-manager-store.js +77 -0
  156. package/lib/Store/make-in-memory-store.d.ts +117 -0
  157. package/lib/Store/make-in-memory-store.js +420 -0
  158. package/lib/Store/make-ordered-dictionary.d.ts +12 -0
  159. package/lib/Store/make-ordered-dictionary.js +83 -0
  160. package/lib/Store/object-repository.d.ts +10 -0
  161. package/lib/Store/object-repository.js +28 -0
  162. package/lib/Types/Auth.d.ts +103 -0
  163. package/lib/Types/Auth.js +2 -0
  164. package/lib/Types/Call.d.ts +13 -0
  165. package/lib/Types/Call.js +2 -0
  166. package/lib/Types/Chat.d.ts +115 -0
  167. package/lib/Types/Chat.js +6 -0
  168. package/lib/Types/Contact.d.ts +35 -0
  169. package/lib/Types/Contact.js +2 -0
  170. package/lib/Types/Events.d.ts +208 -0
  171. package/lib/Types/Events.js +2 -0
  172. package/lib/Types/GroupMetadata.d.ts +81 -0
  173. package/lib/Types/GroupMetadata.js +2 -0
  174. package/lib/Types/Label.d.ts +46 -0
  175. package/lib/Types/Label.js +28 -0
  176. package/lib/Types/LabelAssociation.d.ts +29 -0
  177. package/lib/Types/LabelAssociation.js +10 -0
  178. package/lib/Types/Message.d.ts +480 -0
  179. package/lib/Types/Message.js +9 -0
  180. package/lib/Types/MexUpdates.d.ts +9 -0
  181. package/lib/Types/MexUpdates.js +18 -0
  182. package/lib/Types/Newsletter.d.ts +92 -0
  183. package/lib/Types/Newsletter.js +33 -0
  184. package/lib/Types/Product.d.ts +78 -0
  185. package/lib/Types/Product.js +2 -0
  186. package/lib/Types/Signal.d.ts +57 -0
  187. package/lib/Types/Signal.js +2 -0
  188. package/lib/Types/Socket.d.ts +116 -0
  189. package/lib/Types/Socket.js +2 -0
  190. package/lib/Types/State.d.ts +27 -0
  191. package/lib/Types/State.js +2 -0
  192. package/lib/Types/USync.d.ts +25 -0
  193. package/lib/Types/USync.js +2 -0
  194. package/lib/Types/index.d.ts +70 -0
  195. package/lib/Types/index.js +42 -0
  196. package/lib/Utils/auth-utils.d.ts +18 -0
  197. package/lib/Utils/auth-utils.js +198 -0
  198. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  199. package/lib/Utils/baileys-event-stream.js +64 -0
  200. package/lib/Utils/business.d.ts +22 -0
  201. package/lib/Utils/business.js +243 -0
  202. package/lib/Utils/chat-utils.d.ts +72 -0
  203. package/lib/Utils/chat-utils.js +762 -0
  204. package/lib/Utils/crypto.d.ts +40 -0
  205. package/lib/Utils/crypto.js +150 -0
  206. package/lib/Utils/decode-wa-message.d.ts +252 -0
  207. package/lib/Utils/decode-wa-message.js +232 -0
  208. package/lib/Utils/event-buffer.d.ts +35 -0
  209. package/lib/Utils/event-buffer.js +539 -0
  210. package/lib/Utils/generics.d.ts +96 -0
  211. package/lib/Utils/generics.js +553 -0
  212. package/lib/Utils/history.d.ts +29 -0
  213. package/lib/Utils/history.js +109 -0
  214. package/lib/Utils/index.d.ts +19 -0
  215. package/lib/Utils/index.js +35 -0
  216. package/lib/Utils/link-preview.d.ts +21 -0
  217. package/lib/Utils/link-preview.js +112 -0
  218. package/lib/Utils/logger.d.ts +11 -0
  219. package/lib/Utils/logger.js +7 -0
  220. package/lib/Utils/lt-hash.d.ts +12 -0
  221. package/lib/Utils/lt-hash.js +53 -0
  222. package/lib/Utils/make-mutex.d.ts +7 -0
  223. package/lib/Utils/make-mutex.js +45 -0
  224. package/lib/Utils/messages-media.d.ts +104 -0
  225. package/lib/Utils/messages-media.js +751 -0
  226. package/lib/Utils/messages.d.ts +80 -0
  227. package/lib/Utils/messages.js +1741 -0
  228. package/lib/Utils/noise-handler.d.ts +19 -0
  229. package/lib/Utils/noise-handler.js +150 -0
  230. package/lib/Utils/process-message.d.ts +41 -0
  231. package/lib/Utils/process-message.js +391 -0
  232. package/lib/Utils/signal.d.ts +33 -0
  233. package/lib/Utils/signal.js +154 -0
  234. package/lib/Utils/use-mongo-file-auth-state.d.ts +5 -0
  235. package/lib/Utils/use-mongo-file-auth-state.js +75 -0
  236. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -0
  237. package/lib/Utils/use-multi-file-auth-state.js +123 -0
  238. package/lib/Utils/use-single-file-auth-state.d.ts +12 -0
  239. package/lib/Utils/use-single-file-auth-state.js +75 -0
  240. package/lib/Utils/validate-connection.d.ts +10 -0
  241. package/lib/Utils/validate-connection.js +174 -0
  242. package/lib/WABinary/constants.d.ts +27 -0
  243. package/lib/WABinary/constants.js +45 -0
  244. package/lib/WABinary/decode.d.ts +6 -0
  245. package/lib/WABinary/decode.js +255 -0
  246. package/lib/WABinary/encode.d.ts +2 -0
  247. package/lib/WABinary/encode.js +243 -0
  248. package/lib/WABinary/generic-utils.d.ts +16 -0
  249. package/lib/WABinary/generic-utils.js +125 -0
  250. package/lib/WABinary/index.d.ts +5 -0
  251. package/lib/WABinary/index.js +21 -0
  252. package/lib/WABinary/jid-utils.d.ts +34 -0
  253. package/lib/WABinary/jid-utils.js +73 -0
  254. package/lib/WABinary/types.d.ts +18 -0
  255. package/lib/WABinary/types.js +2 -0
  256. package/lib/WAM/BinaryInfo.d.ts +16 -0
  257. package/lib/WAM/BinaryInfo.js +14 -0
  258. package/lib/WAM/constants.d.ts +39 -0
  259. package/lib/WAM/constants.js +15362 -0
  260. package/lib/WAM/encode.d.ts +2 -0
  261. package/lib/WAM/encode.js +156 -0
  262. package/lib/WAM/index.d.ts +3 -0
  263. package/lib/WAM/index.js +19 -0
  264. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +25 -0
  265. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +60 -0
  266. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  267. package/lib/WAUSync/Protocols/USyncContactProtocol.js +32 -0
  268. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  269. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +58 -0
  270. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  271. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +31 -0
  272. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +8 -0
  273. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +26 -0
  274. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  275. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  276. package/lib/WAUSync/Protocols/index.d.ts +6 -0
  277. package/lib/WAUSync/Protocols/index.js +22 -0
  278. package/lib/WAUSync/USyncQuery.d.ts +28 -0
  279. package/lib/WAUSync/USyncQuery.js +88 -0
  280. package/lib/WAUSync/USyncUser.d.ts +12 -0
  281. package/lib/WAUSync/USyncUser.js +27 -0
  282. package/lib/WAUSync/index.d.ts +3 -0
  283. package/lib/WAUSync/index.js +19 -0
  284. package/lib/index.d.ts +13 -0
  285. package/lib/index.js +45 -0
  286. package/package.json +63 -0
@@ -0,0 +1,3176 @@
1
+ /*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
2
+ "use strict";
3
+ var $protobuf = require("protobufjs/minimal");
4
+ // Common aliases
5
+ var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
6
+ // Exported root namespace
7
+ var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});
8
+ $root.ServerSync = (function() {
9
+ /**
10
+ * Namespace ServerSync.
11
+ * @exports ServerSync
12
+ * @namespace
13
+ */
14
+ var ServerSync = {};
15
+ ServerSync.SyncdPatch = (function() {
16
+ /**
17
+ * Properties of a SyncdPatch.
18
+ * @memberof ServerSync
19
+ * @interface ISyncdPatch
20
+ * @property {ServerSync.ISyncdVersion|null} [version] SyncdPatch version
21
+ * @property {Array.<ServerSync.ISyncdMutation>|null} [mutations] SyncdPatch mutations
22
+ * @property {ServerSync.IExternalBlobReference|null} [externalMutations] SyncdPatch externalMutations
23
+ * @property {Uint8Array|null} [snapshotMac] SyncdPatch snapshotMac
24
+ * @property {Uint8Array|null} [patchMac] SyncdPatch patchMac
25
+ * @property {ServerSync.IKeyId|null} [keyId] SyncdPatch keyId
26
+ * @property {ServerSync.IExitCode|null} [exitCode] SyncdPatch exitCode
27
+ * @property {number|null} [deviceIndex] SyncdPatch deviceIndex
28
+ * @property {Uint8Array|null} [clientDebugData] SyncdPatch clientDebugData
29
+ */
30
+ /**
31
+ * Constructs a new SyncdPatch.
32
+ * @memberof ServerSync
33
+ * @classdesc Represents a SyncdPatch.
34
+ * @implements ISyncdPatch
35
+ * @constructor
36
+ * @param {ServerSync.ISyncdPatch=} [properties] Properties to set
37
+ */
38
+ function SyncdPatch(properties) {
39
+ this.mutations = [];
40
+ if (properties)
41
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
42
+ if (properties[keys[i]] != null)
43
+ this[keys[i]] = properties[keys[i]];
44
+ }
45
+ /**
46
+ * SyncdPatch version.
47
+ * @member {ServerSync.ISyncdVersion|null|undefined} version
48
+ * @memberof ServerSync.SyncdPatch
49
+ * @instance
50
+ */
51
+ SyncdPatch.prototype.version = null;
52
+ /**
53
+ * SyncdPatch mutations.
54
+ * @member {Array.<ServerSync.ISyncdMutation>} mutations
55
+ * @memberof ServerSync.SyncdPatch
56
+ * @instance
57
+ */
58
+ SyncdPatch.prototype.mutations = $util.emptyArray;
59
+ /**
60
+ * SyncdPatch externalMutations.
61
+ * @member {ServerSync.IExternalBlobReference|null|undefined} externalMutations
62
+ * @memberof ServerSync.SyncdPatch
63
+ * @instance
64
+ */
65
+ SyncdPatch.prototype.externalMutations = null;
66
+ /**
67
+ * SyncdPatch snapshotMac.
68
+ * @member {Uint8Array|null|undefined} snapshotMac
69
+ * @memberof ServerSync.SyncdPatch
70
+ * @instance
71
+ */
72
+ SyncdPatch.prototype.snapshotMac = null;
73
+ /**
74
+ * SyncdPatch patchMac.
75
+ * @member {Uint8Array|null|undefined} patchMac
76
+ * @memberof ServerSync.SyncdPatch
77
+ * @instance
78
+ */
79
+ SyncdPatch.prototype.patchMac = null;
80
+ /**
81
+ * SyncdPatch keyId.
82
+ * @member {ServerSync.IKeyId|null|undefined} keyId
83
+ * @memberof ServerSync.SyncdPatch
84
+ * @instance
85
+ */
86
+ SyncdPatch.prototype.keyId = null;
87
+ /**
88
+ * SyncdPatch exitCode.
89
+ * @member {ServerSync.IExitCode|null|undefined} exitCode
90
+ * @memberof ServerSync.SyncdPatch
91
+ * @instance
92
+ */
93
+ SyncdPatch.prototype.exitCode = null;
94
+ /**
95
+ * SyncdPatch deviceIndex.
96
+ * @member {number|null|undefined} deviceIndex
97
+ * @memberof ServerSync.SyncdPatch
98
+ * @instance
99
+ */
100
+ SyncdPatch.prototype.deviceIndex = null;
101
+ /**
102
+ * SyncdPatch clientDebugData.
103
+ * @member {Uint8Array|null|undefined} clientDebugData
104
+ * @memberof ServerSync.SyncdPatch
105
+ * @instance
106
+ */
107
+ SyncdPatch.prototype.clientDebugData = null;
108
+ // OneOf field names bound to virtual getters and setters
109
+ var $oneOfFields;
110
+ /**
111
+ * SyncdPatch _version.
112
+ * @member {"version"|undefined} _version
113
+ * @memberof ServerSync.SyncdPatch
114
+ * @instance
115
+ */
116
+ Object.defineProperty(SyncdPatch.prototype, "_version", {
117
+ get: $util.oneOfGetter($oneOfFields = ["version"]),
118
+ set: $util.oneOfSetter($oneOfFields)
119
+ });
120
+ /**
121
+ * SyncdPatch _externalMutations.
122
+ * @member {"externalMutations"|undefined} _externalMutations
123
+ * @memberof ServerSync.SyncdPatch
124
+ * @instance
125
+ */
126
+ Object.defineProperty(SyncdPatch.prototype, "_externalMutations", {
127
+ get: $util.oneOfGetter($oneOfFields = ["externalMutations"]),
128
+ set: $util.oneOfSetter($oneOfFields)
129
+ });
130
+ /**
131
+ * SyncdPatch _snapshotMac.
132
+ * @member {"snapshotMac"|undefined} _snapshotMac
133
+ * @memberof ServerSync.SyncdPatch
134
+ * @instance
135
+ */
136
+ Object.defineProperty(SyncdPatch.prototype, "_snapshotMac", {
137
+ get: $util.oneOfGetter($oneOfFields = ["snapshotMac"]),
138
+ set: $util.oneOfSetter($oneOfFields)
139
+ });
140
+ /**
141
+ * SyncdPatch _patchMac.
142
+ * @member {"patchMac"|undefined} _patchMac
143
+ * @memberof ServerSync.SyncdPatch
144
+ * @instance
145
+ */
146
+ Object.defineProperty(SyncdPatch.prototype, "_patchMac", {
147
+ get: $util.oneOfGetter($oneOfFields = ["patchMac"]),
148
+ set: $util.oneOfSetter($oneOfFields)
149
+ });
150
+ /**
151
+ * SyncdPatch _keyId.
152
+ * @member {"keyId"|undefined} _keyId
153
+ * @memberof ServerSync.SyncdPatch
154
+ * @instance
155
+ */
156
+ Object.defineProperty(SyncdPatch.prototype, "_keyId", {
157
+ get: $util.oneOfGetter($oneOfFields = ["keyId"]),
158
+ set: $util.oneOfSetter($oneOfFields)
159
+ });
160
+ /**
161
+ * SyncdPatch _exitCode.
162
+ * @member {"exitCode"|undefined} _exitCode
163
+ * @memberof ServerSync.SyncdPatch
164
+ * @instance
165
+ */
166
+ Object.defineProperty(SyncdPatch.prototype, "_exitCode", {
167
+ get: $util.oneOfGetter($oneOfFields = ["exitCode"]),
168
+ set: $util.oneOfSetter($oneOfFields)
169
+ });
170
+ /**
171
+ * SyncdPatch _deviceIndex.
172
+ * @member {"deviceIndex"|undefined} _deviceIndex
173
+ * @memberof ServerSync.SyncdPatch
174
+ * @instance
175
+ */
176
+ Object.defineProperty(SyncdPatch.prototype, "_deviceIndex", {
177
+ get: $util.oneOfGetter($oneOfFields = ["deviceIndex"]),
178
+ set: $util.oneOfSetter($oneOfFields)
179
+ });
180
+ /**
181
+ * SyncdPatch _clientDebugData.
182
+ * @member {"clientDebugData"|undefined} _clientDebugData
183
+ * @memberof ServerSync.SyncdPatch
184
+ * @instance
185
+ */
186
+ Object.defineProperty(SyncdPatch.prototype, "_clientDebugData", {
187
+ get: $util.oneOfGetter($oneOfFields = ["clientDebugData"]),
188
+ set: $util.oneOfSetter($oneOfFields)
189
+ });
190
+ /**
191
+ * Creates a new SyncdPatch instance using the specified properties.
192
+ * @function create
193
+ * @memberof ServerSync.SyncdPatch
194
+ * @static
195
+ * @param {ServerSync.ISyncdPatch=} [properties] Properties to set
196
+ * @returns {ServerSync.SyncdPatch} SyncdPatch instance
197
+ */
198
+ SyncdPatch.create = function create(properties) {
199
+ return new SyncdPatch(properties);
200
+ };
201
+ /**
202
+ * Encodes the specified SyncdPatch message. Does not implicitly {@link ServerSync.SyncdPatch.verify|verify} messages.
203
+ * @function encode
204
+ * @memberof ServerSync.SyncdPatch
205
+ * @static
206
+ * @param {ServerSync.ISyncdPatch} message SyncdPatch message or plain object to encode
207
+ * @param {$protobuf.Writer} [writer] Writer to encode to
208
+ * @returns {$protobuf.Writer} Writer
209
+ */
210
+ SyncdPatch.encode = function encode(message, writer) {
211
+ if (!writer)
212
+ writer = $Writer.create();
213
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
214
+ $root.ServerSync.SyncdVersion.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
215
+ if (message.mutations != null && message.mutations.length)
216
+ for (var i = 0; i < message.mutations.length; ++i)
217
+ $root.ServerSync.SyncdMutation.encode(message.mutations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
218
+ if (message.externalMutations != null && Object.hasOwnProperty.call(message, "externalMutations"))
219
+ $root.ServerSync.ExternalBlobReference.encode(message.externalMutations, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
220
+ if (message.snapshotMac != null && Object.hasOwnProperty.call(message, "snapshotMac"))
221
+ writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.snapshotMac);
222
+ if (message.patchMac != null && Object.hasOwnProperty.call(message, "patchMac"))
223
+ writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.patchMac);
224
+ if (message.keyId != null && Object.hasOwnProperty.call(message, "keyId"))
225
+ $root.ServerSync.KeyId.encode(message.keyId, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
226
+ if (message.exitCode != null && Object.hasOwnProperty.call(message, "exitCode"))
227
+ $root.ServerSync.ExitCode.encode(message.exitCode, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
228
+ if (message.deviceIndex != null && Object.hasOwnProperty.call(message, "deviceIndex"))
229
+ writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.deviceIndex);
230
+ if (message.clientDebugData != null && Object.hasOwnProperty.call(message, "clientDebugData"))
231
+ writer.uint32(/* id 9, wireType 2 =*/74).bytes(message.clientDebugData);
232
+ return writer;
233
+ };
234
+ /**
235
+ * Encodes the specified SyncdPatch message, length delimited. Does not implicitly {@link ServerSync.SyncdPatch.verify|verify} messages.
236
+ * @function encodeDelimited
237
+ * @memberof ServerSync.SyncdPatch
238
+ * @static
239
+ * @param {ServerSync.ISyncdPatch} message SyncdPatch message or plain object to encode
240
+ * @param {$protobuf.Writer} [writer] Writer to encode to
241
+ * @returns {$protobuf.Writer} Writer
242
+ */
243
+ SyncdPatch.encodeDelimited = function encodeDelimited(message, writer) {
244
+ return this.encode(message, writer).ldelim();
245
+ };
246
+ /**
247
+ * Decodes a SyncdPatch message from the specified reader or buffer.
248
+ * @function decode
249
+ * @memberof ServerSync.SyncdPatch
250
+ * @static
251
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
252
+ * @param {number} [length] Message length if known beforehand
253
+ * @returns {ServerSync.SyncdPatch} SyncdPatch
254
+ * @throws {Error} If the payload is not a reader or valid buffer
255
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
256
+ */
257
+ SyncdPatch.decode = function decode(reader, length, error) {
258
+ if (!(reader instanceof $Reader))
259
+ reader = $Reader.create(reader);
260
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.SyncdPatch();
261
+ while (reader.pos < end) {
262
+ var tag = reader.uint32();
263
+ if (tag === error)
264
+ break;
265
+ switch (tag >>> 3) {
266
+ case 1: {
267
+ message.version = $root.ServerSync.SyncdVersion.decode(reader, reader.uint32());
268
+ break;
269
+ }
270
+ case 2: {
271
+ if (!(message.mutations && message.mutations.length))
272
+ message.mutations = [];
273
+ message.mutations.push($root.ServerSync.SyncdMutation.decode(reader, reader.uint32()));
274
+ break;
275
+ }
276
+ case 3: {
277
+ message.externalMutations = $root.ServerSync.ExternalBlobReference.decode(reader, reader.uint32());
278
+ break;
279
+ }
280
+ case 4: {
281
+ message.snapshotMac = reader.bytes();
282
+ break;
283
+ }
284
+ case 5: {
285
+ message.patchMac = reader.bytes();
286
+ break;
287
+ }
288
+ case 6: {
289
+ message.keyId = $root.ServerSync.KeyId.decode(reader, reader.uint32());
290
+ break;
291
+ }
292
+ case 7: {
293
+ message.exitCode = $root.ServerSync.ExitCode.decode(reader, reader.uint32());
294
+ break;
295
+ }
296
+ case 8: {
297
+ message.deviceIndex = reader.uint32();
298
+ break;
299
+ }
300
+ case 9: {
301
+ message.clientDebugData = reader.bytes();
302
+ break;
303
+ }
304
+ default:
305
+ reader.skipType(tag & 7);
306
+ break;
307
+ }
308
+ }
309
+ return message;
310
+ };
311
+ /**
312
+ * Decodes a SyncdPatch message from the specified reader or buffer, length delimited.
313
+ * @function decodeDelimited
314
+ * @memberof ServerSync.SyncdPatch
315
+ * @static
316
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
317
+ * @returns {ServerSync.SyncdPatch} SyncdPatch
318
+ * @throws {Error} If the payload is not a reader or valid buffer
319
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
320
+ */
321
+ SyncdPatch.decodeDelimited = function decodeDelimited(reader) {
322
+ if (!(reader instanceof $Reader))
323
+ reader = new $Reader(reader);
324
+ return this.decode(reader, reader.uint32());
325
+ };
326
+ /**
327
+ * Verifies a SyncdPatch message.
328
+ * @function verify
329
+ * @memberof ServerSync.SyncdPatch
330
+ * @static
331
+ * @param {Object.<string,*>} message Plain object to verify
332
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
333
+ */
334
+ SyncdPatch.verify = function verify(message) {
335
+ if (typeof message !== "object" || message === null)
336
+ return "object expected";
337
+ var properties = {};
338
+ if (message.version != null && message.hasOwnProperty("version")) {
339
+ properties._version = 1;
340
+ {
341
+ var error = $root.ServerSync.SyncdVersion.verify(message.version);
342
+ if (error)
343
+ return "version." + error;
344
+ }
345
+ }
346
+ if (message.mutations != null && message.hasOwnProperty("mutations")) {
347
+ if (!Array.isArray(message.mutations))
348
+ return "mutations: array expected";
349
+ for (var i = 0; i < message.mutations.length; ++i) {
350
+ var error = $root.ServerSync.SyncdMutation.verify(message.mutations[i]);
351
+ if (error)
352
+ return "mutations." + error;
353
+ }
354
+ }
355
+ if (message.externalMutations != null && message.hasOwnProperty("externalMutations")) {
356
+ properties._externalMutations = 1;
357
+ {
358
+ var error = $root.ServerSync.ExternalBlobReference.verify(message.externalMutations);
359
+ if (error)
360
+ return "externalMutations." + error;
361
+ }
362
+ }
363
+ if (message.snapshotMac != null && message.hasOwnProperty("snapshotMac")) {
364
+ properties._snapshotMac = 1;
365
+ if (!(message.snapshotMac && typeof message.snapshotMac.length === "number" || $util.isString(message.snapshotMac)))
366
+ return "snapshotMac: buffer expected";
367
+ }
368
+ if (message.patchMac != null && message.hasOwnProperty("patchMac")) {
369
+ properties._patchMac = 1;
370
+ if (!(message.patchMac && typeof message.patchMac.length === "number" || $util.isString(message.patchMac)))
371
+ return "patchMac: buffer expected";
372
+ }
373
+ if (message.keyId != null && message.hasOwnProperty("keyId")) {
374
+ properties._keyId = 1;
375
+ {
376
+ var error = $root.ServerSync.KeyId.verify(message.keyId);
377
+ if (error)
378
+ return "keyId." + error;
379
+ }
380
+ }
381
+ if (message.exitCode != null && message.hasOwnProperty("exitCode")) {
382
+ properties._exitCode = 1;
383
+ {
384
+ var error = $root.ServerSync.ExitCode.verify(message.exitCode);
385
+ if (error)
386
+ return "exitCode." + error;
387
+ }
388
+ }
389
+ if (message.deviceIndex != null && message.hasOwnProperty("deviceIndex")) {
390
+ properties._deviceIndex = 1;
391
+ if (!$util.isInteger(message.deviceIndex))
392
+ return "deviceIndex: integer expected";
393
+ }
394
+ if (message.clientDebugData != null && message.hasOwnProperty("clientDebugData")) {
395
+ properties._clientDebugData = 1;
396
+ if (!(message.clientDebugData && typeof message.clientDebugData.length === "number" || $util.isString(message.clientDebugData)))
397
+ return "clientDebugData: buffer expected";
398
+ }
399
+ return null;
400
+ };
401
+ /**
402
+ * Creates a SyncdPatch message from a plain object. Also converts values to their respective internal types.
403
+ * @function fromObject
404
+ * @memberof ServerSync.SyncdPatch
405
+ * @static
406
+ * @param {Object.<string,*>} object Plain object
407
+ * @returns {ServerSync.SyncdPatch} SyncdPatch
408
+ */
409
+ SyncdPatch.fromObject = function fromObject(object) {
410
+ if (object instanceof $root.ServerSync.SyncdPatch)
411
+ return object;
412
+ var message = new $root.ServerSync.SyncdPatch();
413
+ if (object.version != null) {
414
+ if (typeof object.version !== "object")
415
+ throw TypeError(".ServerSync.SyncdPatch.version: object expected");
416
+ message.version = $root.ServerSync.SyncdVersion.fromObject(object.version);
417
+ }
418
+ if (object.mutations) {
419
+ if (!Array.isArray(object.mutations))
420
+ throw TypeError(".ServerSync.SyncdPatch.mutations: array expected");
421
+ message.mutations = [];
422
+ for (var i = 0; i < object.mutations.length; ++i) {
423
+ if (typeof object.mutations[i] !== "object")
424
+ throw TypeError(".ServerSync.SyncdPatch.mutations: object expected");
425
+ message.mutations[i] = $root.ServerSync.SyncdMutation.fromObject(object.mutations[i]);
426
+ }
427
+ }
428
+ if (object.externalMutations != null) {
429
+ if (typeof object.externalMutations !== "object")
430
+ throw TypeError(".ServerSync.SyncdPatch.externalMutations: object expected");
431
+ message.externalMutations = $root.ServerSync.ExternalBlobReference.fromObject(object.externalMutations);
432
+ }
433
+ if (object.snapshotMac != null)
434
+ if (typeof object.snapshotMac === "string")
435
+ $util.base64.decode(object.snapshotMac, message.snapshotMac = $util.newBuffer($util.base64.length(object.snapshotMac)), 0);
436
+ else if (object.snapshotMac.length >= 0)
437
+ message.snapshotMac = object.snapshotMac;
438
+ if (object.patchMac != null)
439
+ if (typeof object.patchMac === "string")
440
+ $util.base64.decode(object.patchMac, message.patchMac = $util.newBuffer($util.base64.length(object.patchMac)), 0);
441
+ else if (object.patchMac.length >= 0)
442
+ message.patchMac = object.patchMac;
443
+ if (object.keyId != null) {
444
+ if (typeof object.keyId !== "object")
445
+ throw TypeError(".ServerSync.SyncdPatch.keyId: object expected");
446
+ message.keyId = $root.ServerSync.KeyId.fromObject(object.keyId);
447
+ }
448
+ if (object.exitCode != null) {
449
+ if (typeof object.exitCode !== "object")
450
+ throw TypeError(".ServerSync.SyncdPatch.exitCode: object expected");
451
+ message.exitCode = $root.ServerSync.ExitCode.fromObject(object.exitCode);
452
+ }
453
+ if (object.deviceIndex != null)
454
+ message.deviceIndex = object.deviceIndex >>> 0;
455
+ if (object.clientDebugData != null)
456
+ if (typeof object.clientDebugData === "string")
457
+ $util.base64.decode(object.clientDebugData, message.clientDebugData = $util.newBuffer($util.base64.length(object.clientDebugData)), 0);
458
+ else if (object.clientDebugData.length >= 0)
459
+ message.clientDebugData = object.clientDebugData;
460
+ return message;
461
+ };
462
+ /**
463
+ * Creates a plain object from a SyncdPatch message. Also converts values to other types if specified.
464
+ * @function toObject
465
+ * @memberof ServerSync.SyncdPatch
466
+ * @static
467
+ * @param {ServerSync.SyncdPatch} message SyncdPatch
468
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
469
+ * @returns {Object.<string,*>} Plain object
470
+ */
471
+ SyncdPatch.toObject = function toObject(message, options) {
472
+ if (!options)
473
+ options = {};
474
+ var object = {};
475
+ if (options.arrays || options.defaults)
476
+ object.mutations = [];
477
+ if (message.version != null && message.hasOwnProperty("version")) {
478
+ object.version = $root.ServerSync.SyncdVersion.toObject(message.version, options);
479
+ if (options.oneofs)
480
+ object._version = "version";
481
+ }
482
+ if (message.mutations && message.mutations.length) {
483
+ object.mutations = [];
484
+ for (var j = 0; j < message.mutations.length; ++j)
485
+ object.mutations[j] = $root.ServerSync.SyncdMutation.toObject(message.mutations[j], options);
486
+ }
487
+ if (message.externalMutations != null && message.hasOwnProperty("externalMutations")) {
488
+ object.externalMutations = $root.ServerSync.ExternalBlobReference.toObject(message.externalMutations, options);
489
+ if (options.oneofs)
490
+ object._externalMutations = "externalMutations";
491
+ }
492
+ if (message.snapshotMac != null && message.hasOwnProperty("snapshotMac")) {
493
+ object.snapshotMac = options.bytes === String ? $util.base64.encode(message.snapshotMac, 0, message.snapshotMac.length) : options.bytes === Array ? Array.prototype.slice.call(message.snapshotMac) : message.snapshotMac;
494
+ if (options.oneofs)
495
+ object._snapshotMac = "snapshotMac";
496
+ }
497
+ if (message.patchMac != null && message.hasOwnProperty("patchMac")) {
498
+ object.patchMac = options.bytes === String ? $util.base64.encode(message.patchMac, 0, message.patchMac.length) : options.bytes === Array ? Array.prototype.slice.call(message.patchMac) : message.patchMac;
499
+ if (options.oneofs)
500
+ object._patchMac = "patchMac";
501
+ }
502
+ if (message.keyId != null && message.hasOwnProperty("keyId")) {
503
+ object.keyId = $root.ServerSync.KeyId.toObject(message.keyId, options);
504
+ if (options.oneofs)
505
+ object._keyId = "keyId";
506
+ }
507
+ if (message.exitCode != null && message.hasOwnProperty("exitCode")) {
508
+ object.exitCode = $root.ServerSync.ExitCode.toObject(message.exitCode, options);
509
+ if (options.oneofs)
510
+ object._exitCode = "exitCode";
511
+ }
512
+ if (message.deviceIndex != null && message.hasOwnProperty("deviceIndex")) {
513
+ object.deviceIndex = message.deviceIndex;
514
+ if (options.oneofs)
515
+ object._deviceIndex = "deviceIndex";
516
+ }
517
+ if (message.clientDebugData != null && message.hasOwnProperty("clientDebugData")) {
518
+ object.clientDebugData = options.bytes === String ? $util.base64.encode(message.clientDebugData, 0, message.clientDebugData.length) : options.bytes === Array ? Array.prototype.slice.call(message.clientDebugData) : message.clientDebugData;
519
+ if (options.oneofs)
520
+ object._clientDebugData = "clientDebugData";
521
+ }
522
+ return object;
523
+ };
524
+ /**
525
+ * Converts this SyncdPatch to JSON.
526
+ * @function toJSON
527
+ * @memberof ServerSync.SyncdPatch
528
+ * @instance
529
+ * @returns {Object.<string,*>} JSON object
530
+ */
531
+ SyncdPatch.prototype.toJSON = function toJSON() {
532
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
533
+ };
534
+ /**
535
+ * Gets the default type url for SyncdPatch
536
+ * @function getTypeUrl
537
+ * @memberof ServerSync.SyncdPatch
538
+ * @static
539
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
540
+ * @returns {string} The default type url
541
+ */
542
+ SyncdPatch.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
543
+ if (typeUrlPrefix === undefined) {
544
+ typeUrlPrefix = "type.googleapis.com";
545
+ }
546
+ return typeUrlPrefix + "/ServerSync.SyncdPatch";
547
+ };
548
+ return SyncdPatch;
549
+ })();
550
+ ServerSync.SyncdMutation = (function() {
551
+ /**
552
+ * Properties of a SyncdMutation.
553
+ * @memberof ServerSync
554
+ * @interface ISyncdMutation
555
+ * @property {ServerSync.SyncdMutation.SyncdOperation|null} [operation] SyncdMutation operation
556
+ * @property {ServerSync.ISyncdRecord|null} [record] SyncdMutation record
557
+ */
558
+ /**
559
+ * Constructs a new SyncdMutation.
560
+ * @memberof ServerSync
561
+ * @classdesc Represents a SyncdMutation.
562
+ * @implements ISyncdMutation
563
+ * @constructor
564
+ * @param {ServerSync.ISyncdMutation=} [properties] Properties to set
565
+ */
566
+ function SyncdMutation(properties) {
567
+ if (properties)
568
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
569
+ if (properties[keys[i]] != null)
570
+ this[keys[i]] = properties[keys[i]];
571
+ }
572
+ /**
573
+ * SyncdMutation operation.
574
+ * @member {ServerSync.SyncdMutation.SyncdOperation|null|undefined} operation
575
+ * @memberof ServerSync.SyncdMutation
576
+ * @instance
577
+ */
578
+ SyncdMutation.prototype.operation = null;
579
+ /**
580
+ * SyncdMutation record.
581
+ * @member {ServerSync.ISyncdRecord|null|undefined} record
582
+ * @memberof ServerSync.SyncdMutation
583
+ * @instance
584
+ */
585
+ SyncdMutation.prototype.record = null;
586
+ // OneOf field names bound to virtual getters and setters
587
+ var $oneOfFields;
588
+ /**
589
+ * SyncdMutation _operation.
590
+ * @member {"operation"|undefined} _operation
591
+ * @memberof ServerSync.SyncdMutation
592
+ * @instance
593
+ */
594
+ Object.defineProperty(SyncdMutation.prototype, "_operation", {
595
+ get: $util.oneOfGetter($oneOfFields = ["operation"]),
596
+ set: $util.oneOfSetter($oneOfFields)
597
+ });
598
+ /**
599
+ * SyncdMutation _record.
600
+ * @member {"record"|undefined} _record
601
+ * @memberof ServerSync.SyncdMutation
602
+ * @instance
603
+ */
604
+ Object.defineProperty(SyncdMutation.prototype, "_record", {
605
+ get: $util.oneOfGetter($oneOfFields = ["record"]),
606
+ set: $util.oneOfSetter($oneOfFields)
607
+ });
608
+ /**
609
+ * Creates a new SyncdMutation instance using the specified properties.
610
+ * @function create
611
+ * @memberof ServerSync.SyncdMutation
612
+ * @static
613
+ * @param {ServerSync.ISyncdMutation=} [properties] Properties to set
614
+ * @returns {ServerSync.SyncdMutation} SyncdMutation instance
615
+ */
616
+ SyncdMutation.create = function create(properties) {
617
+ return new SyncdMutation(properties);
618
+ };
619
+ /**
620
+ * Encodes the specified SyncdMutation message. Does not implicitly {@link ServerSync.SyncdMutation.verify|verify} messages.
621
+ * @function encode
622
+ * @memberof ServerSync.SyncdMutation
623
+ * @static
624
+ * @param {ServerSync.ISyncdMutation} message SyncdMutation message or plain object to encode
625
+ * @param {$protobuf.Writer} [writer] Writer to encode to
626
+ * @returns {$protobuf.Writer} Writer
627
+ */
628
+ SyncdMutation.encode = function encode(message, writer) {
629
+ if (!writer)
630
+ writer = $Writer.create();
631
+ if (message.operation != null && Object.hasOwnProperty.call(message, "operation"))
632
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.operation);
633
+ if (message.record != null && Object.hasOwnProperty.call(message, "record"))
634
+ $root.ServerSync.SyncdRecord.encode(message.record, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
635
+ return writer;
636
+ };
637
+ /**
638
+ * Encodes the specified SyncdMutation message, length delimited. Does not implicitly {@link ServerSync.SyncdMutation.verify|verify} messages.
639
+ * @function encodeDelimited
640
+ * @memberof ServerSync.SyncdMutation
641
+ * @static
642
+ * @param {ServerSync.ISyncdMutation} message SyncdMutation message or plain object to encode
643
+ * @param {$protobuf.Writer} [writer] Writer to encode to
644
+ * @returns {$protobuf.Writer} Writer
645
+ */
646
+ SyncdMutation.encodeDelimited = function encodeDelimited(message, writer) {
647
+ return this.encode(message, writer).ldelim();
648
+ };
649
+ /**
650
+ * Decodes a SyncdMutation message from the specified reader or buffer.
651
+ * @function decode
652
+ * @memberof ServerSync.SyncdMutation
653
+ * @static
654
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
655
+ * @param {number} [length] Message length if known beforehand
656
+ * @returns {ServerSync.SyncdMutation} SyncdMutation
657
+ * @throws {Error} If the payload is not a reader or valid buffer
658
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
659
+ */
660
+ SyncdMutation.decode = function decode(reader, length, error) {
661
+ if (!(reader instanceof $Reader))
662
+ reader = $Reader.create(reader);
663
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.SyncdMutation();
664
+ while (reader.pos < end) {
665
+ var tag = reader.uint32();
666
+ if (tag === error)
667
+ break;
668
+ switch (tag >>> 3) {
669
+ case 1: {
670
+ message.operation = reader.int32();
671
+ break;
672
+ }
673
+ case 2: {
674
+ message.record = $root.ServerSync.SyncdRecord.decode(reader, reader.uint32());
675
+ break;
676
+ }
677
+ default:
678
+ reader.skipType(tag & 7);
679
+ break;
680
+ }
681
+ }
682
+ return message;
683
+ };
684
+ /**
685
+ * Decodes a SyncdMutation message from the specified reader or buffer, length delimited.
686
+ * @function decodeDelimited
687
+ * @memberof ServerSync.SyncdMutation
688
+ * @static
689
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
690
+ * @returns {ServerSync.SyncdMutation} SyncdMutation
691
+ * @throws {Error} If the payload is not a reader or valid buffer
692
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
693
+ */
694
+ SyncdMutation.decodeDelimited = function decodeDelimited(reader) {
695
+ if (!(reader instanceof $Reader))
696
+ reader = new $Reader(reader);
697
+ return this.decode(reader, reader.uint32());
698
+ };
699
+ /**
700
+ * Verifies a SyncdMutation message.
701
+ * @function verify
702
+ * @memberof ServerSync.SyncdMutation
703
+ * @static
704
+ * @param {Object.<string,*>} message Plain object to verify
705
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
706
+ */
707
+ SyncdMutation.verify = function verify(message) {
708
+ if (typeof message !== "object" || message === null)
709
+ return "object expected";
710
+ var properties = {};
711
+ if (message.operation != null && message.hasOwnProperty("operation")) {
712
+ properties._operation = 1;
713
+ switch (message.operation) {
714
+ default:
715
+ return "operation: enum value expected";
716
+ case 0:
717
+ case 1:
718
+ break;
719
+ }
720
+ }
721
+ if (message.record != null && message.hasOwnProperty("record")) {
722
+ properties._record = 1;
723
+ {
724
+ var error = $root.ServerSync.SyncdRecord.verify(message.record);
725
+ if (error)
726
+ return "record." + error;
727
+ }
728
+ }
729
+ return null;
730
+ };
731
+ /**
732
+ * Creates a SyncdMutation message from a plain object. Also converts values to their respective internal types.
733
+ * @function fromObject
734
+ * @memberof ServerSync.SyncdMutation
735
+ * @static
736
+ * @param {Object.<string,*>} object Plain object
737
+ * @returns {ServerSync.SyncdMutation} SyncdMutation
738
+ */
739
+ SyncdMutation.fromObject = function fromObject(object) {
740
+ if (object instanceof $root.ServerSync.SyncdMutation)
741
+ return object;
742
+ var message = new $root.ServerSync.SyncdMutation();
743
+ switch (object.operation) {
744
+ default:
745
+ if (typeof object.operation === "number") {
746
+ message.operation = object.operation;
747
+ break;
748
+ }
749
+ break;
750
+ case "SET":
751
+ case 0:
752
+ message.operation = 0;
753
+ break;
754
+ case "REMOVE":
755
+ case 1:
756
+ message.operation = 1;
757
+ break;
758
+ }
759
+ if (object.record != null) {
760
+ if (typeof object.record !== "object")
761
+ throw TypeError(".ServerSync.SyncdMutation.record: object expected");
762
+ message.record = $root.ServerSync.SyncdRecord.fromObject(object.record);
763
+ }
764
+ return message;
765
+ };
766
+ /**
767
+ * Creates a plain object from a SyncdMutation message. Also converts values to other types if specified.
768
+ * @function toObject
769
+ * @memberof ServerSync.SyncdMutation
770
+ * @static
771
+ * @param {ServerSync.SyncdMutation} message SyncdMutation
772
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
773
+ * @returns {Object.<string,*>} Plain object
774
+ */
775
+ SyncdMutation.toObject = function toObject(message, options) {
776
+ if (!options)
777
+ options = {};
778
+ var object = {};
779
+ if (message.operation != null && message.hasOwnProperty("operation")) {
780
+ object.operation = options.enums === String ? $root.ServerSync.SyncdMutation.SyncdOperation[message.operation] === undefined ? message.operation : $root.ServerSync.SyncdMutation.SyncdOperation[message.operation] : message.operation;
781
+ if (options.oneofs)
782
+ object._operation = "operation";
783
+ }
784
+ if (message.record != null && message.hasOwnProperty("record")) {
785
+ object.record = $root.ServerSync.SyncdRecord.toObject(message.record, options);
786
+ if (options.oneofs)
787
+ object._record = "record";
788
+ }
789
+ return object;
790
+ };
791
+ /**
792
+ * Converts this SyncdMutation to JSON.
793
+ * @function toJSON
794
+ * @memberof ServerSync.SyncdMutation
795
+ * @instance
796
+ * @returns {Object.<string,*>} JSON object
797
+ */
798
+ SyncdMutation.prototype.toJSON = function toJSON() {
799
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
800
+ };
801
+ /**
802
+ * Gets the default type url for SyncdMutation
803
+ * @function getTypeUrl
804
+ * @memberof ServerSync.SyncdMutation
805
+ * @static
806
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
807
+ * @returns {string} The default type url
808
+ */
809
+ SyncdMutation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
810
+ if (typeUrlPrefix === undefined) {
811
+ typeUrlPrefix = "type.googleapis.com";
812
+ }
813
+ return typeUrlPrefix + "/ServerSync.SyncdMutation";
814
+ };
815
+ /**
816
+ * SyncdOperation enum.
817
+ * @name ServerSync.SyncdMutation.SyncdOperation
818
+ * @enum {number}
819
+ * @property {number} SET=0 SET value
820
+ * @property {number} REMOVE=1 REMOVE value
821
+ */
822
+ SyncdMutation.SyncdOperation = (function() {
823
+ var valuesById = {}, values = Object.create(valuesById);
824
+ values[valuesById[0] = "SET"] = 0;
825
+ values[valuesById[1] = "REMOVE"] = 1;
826
+ return values;
827
+ })();
828
+ return SyncdMutation;
829
+ })();
830
+ ServerSync.SyncdMutations = (function() {
831
+ /**
832
+ * Properties of a SyncdMutations.
833
+ * @memberof ServerSync
834
+ * @interface ISyncdMutations
835
+ * @property {Array.<ServerSync.ISyncdMutation>|null} [mutations] SyncdMutations mutations
836
+ */
837
+ /**
838
+ * Constructs a new SyncdMutations.
839
+ * @memberof ServerSync
840
+ * @classdesc Represents a SyncdMutations.
841
+ * @implements ISyncdMutations
842
+ * @constructor
843
+ * @param {ServerSync.ISyncdMutations=} [properties] Properties to set
844
+ */
845
+ function SyncdMutations(properties) {
846
+ this.mutations = [];
847
+ if (properties)
848
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
849
+ if (properties[keys[i]] != null)
850
+ this[keys[i]] = properties[keys[i]];
851
+ }
852
+ /**
853
+ * SyncdMutations mutations.
854
+ * @member {Array.<ServerSync.ISyncdMutation>} mutations
855
+ * @memberof ServerSync.SyncdMutations
856
+ * @instance
857
+ */
858
+ SyncdMutations.prototype.mutations = $util.emptyArray;
859
+ /**
860
+ * Creates a new SyncdMutations instance using the specified properties.
861
+ * @function create
862
+ * @memberof ServerSync.SyncdMutations
863
+ * @static
864
+ * @param {ServerSync.ISyncdMutations=} [properties] Properties to set
865
+ * @returns {ServerSync.SyncdMutations} SyncdMutations instance
866
+ */
867
+ SyncdMutations.create = function create(properties) {
868
+ return new SyncdMutations(properties);
869
+ };
870
+ /**
871
+ * Encodes the specified SyncdMutations message. Does not implicitly {@link ServerSync.SyncdMutations.verify|verify} messages.
872
+ * @function encode
873
+ * @memberof ServerSync.SyncdMutations
874
+ * @static
875
+ * @param {ServerSync.ISyncdMutations} message SyncdMutations message or plain object to encode
876
+ * @param {$protobuf.Writer} [writer] Writer to encode to
877
+ * @returns {$protobuf.Writer} Writer
878
+ */
879
+ SyncdMutations.encode = function encode(message, writer) {
880
+ if (!writer)
881
+ writer = $Writer.create();
882
+ if (message.mutations != null && message.mutations.length)
883
+ for (var i = 0; i < message.mutations.length; ++i)
884
+ $root.ServerSync.SyncdMutation.encode(message.mutations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
885
+ return writer;
886
+ };
887
+ /**
888
+ * Encodes the specified SyncdMutations message, length delimited. Does not implicitly {@link ServerSync.SyncdMutations.verify|verify} messages.
889
+ * @function encodeDelimited
890
+ * @memberof ServerSync.SyncdMutations
891
+ * @static
892
+ * @param {ServerSync.ISyncdMutations} message SyncdMutations message or plain object to encode
893
+ * @param {$protobuf.Writer} [writer] Writer to encode to
894
+ * @returns {$protobuf.Writer} Writer
895
+ */
896
+ SyncdMutations.encodeDelimited = function encodeDelimited(message, writer) {
897
+ return this.encode(message, writer).ldelim();
898
+ };
899
+ /**
900
+ * Decodes a SyncdMutations message from the specified reader or buffer.
901
+ * @function decode
902
+ * @memberof ServerSync.SyncdMutations
903
+ * @static
904
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
905
+ * @param {number} [length] Message length if known beforehand
906
+ * @returns {ServerSync.SyncdMutations} SyncdMutations
907
+ * @throws {Error} If the payload is not a reader or valid buffer
908
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
909
+ */
910
+ SyncdMutations.decode = function decode(reader, length, error) {
911
+ if (!(reader instanceof $Reader))
912
+ reader = $Reader.create(reader);
913
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.SyncdMutations();
914
+ while (reader.pos < end) {
915
+ var tag = reader.uint32();
916
+ if (tag === error)
917
+ break;
918
+ switch (tag >>> 3) {
919
+ case 1: {
920
+ if (!(message.mutations && message.mutations.length))
921
+ message.mutations = [];
922
+ message.mutations.push($root.ServerSync.SyncdMutation.decode(reader, reader.uint32()));
923
+ break;
924
+ }
925
+ default:
926
+ reader.skipType(tag & 7);
927
+ break;
928
+ }
929
+ }
930
+ return message;
931
+ };
932
+ /**
933
+ * Decodes a SyncdMutations message from the specified reader or buffer, length delimited.
934
+ * @function decodeDelimited
935
+ * @memberof ServerSync.SyncdMutations
936
+ * @static
937
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
938
+ * @returns {ServerSync.SyncdMutations} SyncdMutations
939
+ * @throws {Error} If the payload is not a reader or valid buffer
940
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
941
+ */
942
+ SyncdMutations.decodeDelimited = function decodeDelimited(reader) {
943
+ if (!(reader instanceof $Reader))
944
+ reader = new $Reader(reader);
945
+ return this.decode(reader, reader.uint32());
946
+ };
947
+ /**
948
+ * Verifies a SyncdMutations message.
949
+ * @function verify
950
+ * @memberof ServerSync.SyncdMutations
951
+ * @static
952
+ * @param {Object.<string,*>} message Plain object to verify
953
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
954
+ */
955
+ SyncdMutations.verify = function verify(message) {
956
+ if (typeof message !== "object" || message === null)
957
+ return "object expected";
958
+ if (message.mutations != null && message.hasOwnProperty("mutations")) {
959
+ if (!Array.isArray(message.mutations))
960
+ return "mutations: array expected";
961
+ for (var i = 0; i < message.mutations.length; ++i) {
962
+ var error = $root.ServerSync.SyncdMutation.verify(message.mutations[i]);
963
+ if (error)
964
+ return "mutations." + error;
965
+ }
966
+ }
967
+ return null;
968
+ };
969
+ /**
970
+ * Creates a SyncdMutations message from a plain object. Also converts values to their respective internal types.
971
+ * @function fromObject
972
+ * @memberof ServerSync.SyncdMutations
973
+ * @static
974
+ * @param {Object.<string,*>} object Plain object
975
+ * @returns {ServerSync.SyncdMutations} SyncdMutations
976
+ */
977
+ SyncdMutations.fromObject = function fromObject(object) {
978
+ if (object instanceof $root.ServerSync.SyncdMutations)
979
+ return object;
980
+ var message = new $root.ServerSync.SyncdMutations();
981
+ if (object.mutations) {
982
+ if (!Array.isArray(object.mutations))
983
+ throw TypeError(".ServerSync.SyncdMutations.mutations: array expected");
984
+ message.mutations = [];
985
+ for (var i = 0; i < object.mutations.length; ++i) {
986
+ if (typeof object.mutations[i] !== "object")
987
+ throw TypeError(".ServerSync.SyncdMutations.mutations: object expected");
988
+ message.mutations[i] = $root.ServerSync.SyncdMutation.fromObject(object.mutations[i]);
989
+ }
990
+ }
991
+ return message;
992
+ };
993
+ /**
994
+ * Creates a plain object from a SyncdMutations message. Also converts values to other types if specified.
995
+ * @function toObject
996
+ * @memberof ServerSync.SyncdMutations
997
+ * @static
998
+ * @param {ServerSync.SyncdMutations} message SyncdMutations
999
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
1000
+ * @returns {Object.<string,*>} Plain object
1001
+ */
1002
+ SyncdMutations.toObject = function toObject(message, options) {
1003
+ if (!options)
1004
+ options = {};
1005
+ var object = {};
1006
+ if (options.arrays || options.defaults)
1007
+ object.mutations = [];
1008
+ if (message.mutations && message.mutations.length) {
1009
+ object.mutations = [];
1010
+ for (var j = 0; j < message.mutations.length; ++j)
1011
+ object.mutations[j] = $root.ServerSync.SyncdMutation.toObject(message.mutations[j], options);
1012
+ }
1013
+ return object;
1014
+ };
1015
+ /**
1016
+ * Converts this SyncdMutations to JSON.
1017
+ * @function toJSON
1018
+ * @memberof ServerSync.SyncdMutations
1019
+ * @instance
1020
+ * @returns {Object.<string,*>} JSON object
1021
+ */
1022
+ SyncdMutations.prototype.toJSON = function toJSON() {
1023
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
1024
+ };
1025
+ /**
1026
+ * Gets the default type url for SyncdMutations
1027
+ * @function getTypeUrl
1028
+ * @memberof ServerSync.SyncdMutations
1029
+ * @static
1030
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1031
+ * @returns {string} The default type url
1032
+ */
1033
+ SyncdMutations.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
1034
+ if (typeUrlPrefix === undefined) {
1035
+ typeUrlPrefix = "type.googleapis.com";
1036
+ }
1037
+ return typeUrlPrefix + "/ServerSync.SyncdMutations";
1038
+ };
1039
+ return SyncdMutations;
1040
+ })();
1041
+ ServerSync.SyncdSnapshot = (function() {
1042
+ /**
1043
+ * Properties of a SyncdSnapshot.
1044
+ * @memberof ServerSync
1045
+ * @interface ISyncdSnapshot
1046
+ * @property {ServerSync.ISyncdVersion|null} [version] SyncdSnapshot version
1047
+ * @property {Array.<ServerSync.ISyncdRecord>|null} [records] SyncdSnapshot records
1048
+ * @property {Uint8Array|null} [mac] SyncdSnapshot mac
1049
+ * @property {ServerSync.IKeyId|null} [keyId] SyncdSnapshot keyId
1050
+ */
1051
+ /**
1052
+ * Constructs a new SyncdSnapshot.
1053
+ * @memberof ServerSync
1054
+ * @classdesc Represents a SyncdSnapshot.
1055
+ * @implements ISyncdSnapshot
1056
+ * @constructor
1057
+ * @param {ServerSync.ISyncdSnapshot=} [properties] Properties to set
1058
+ */
1059
+ function SyncdSnapshot(properties) {
1060
+ this.records = [];
1061
+ if (properties)
1062
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
1063
+ if (properties[keys[i]] != null)
1064
+ this[keys[i]] = properties[keys[i]];
1065
+ }
1066
+ /**
1067
+ * SyncdSnapshot version.
1068
+ * @member {ServerSync.ISyncdVersion|null|undefined} version
1069
+ * @memberof ServerSync.SyncdSnapshot
1070
+ * @instance
1071
+ */
1072
+ SyncdSnapshot.prototype.version = null;
1073
+ /**
1074
+ * SyncdSnapshot records.
1075
+ * @member {Array.<ServerSync.ISyncdRecord>} records
1076
+ * @memberof ServerSync.SyncdSnapshot
1077
+ * @instance
1078
+ */
1079
+ SyncdSnapshot.prototype.records = $util.emptyArray;
1080
+ /**
1081
+ * SyncdSnapshot mac.
1082
+ * @member {Uint8Array|null|undefined} mac
1083
+ * @memberof ServerSync.SyncdSnapshot
1084
+ * @instance
1085
+ */
1086
+ SyncdSnapshot.prototype.mac = null;
1087
+ /**
1088
+ * SyncdSnapshot keyId.
1089
+ * @member {ServerSync.IKeyId|null|undefined} keyId
1090
+ * @memberof ServerSync.SyncdSnapshot
1091
+ * @instance
1092
+ */
1093
+ SyncdSnapshot.prototype.keyId = null;
1094
+ // OneOf field names bound to virtual getters and setters
1095
+ var $oneOfFields;
1096
+ /**
1097
+ * SyncdSnapshot _version.
1098
+ * @member {"version"|undefined} _version
1099
+ * @memberof ServerSync.SyncdSnapshot
1100
+ * @instance
1101
+ */
1102
+ Object.defineProperty(SyncdSnapshot.prototype, "_version", {
1103
+ get: $util.oneOfGetter($oneOfFields = ["version"]),
1104
+ set: $util.oneOfSetter($oneOfFields)
1105
+ });
1106
+ /**
1107
+ * SyncdSnapshot _mac.
1108
+ * @member {"mac"|undefined} _mac
1109
+ * @memberof ServerSync.SyncdSnapshot
1110
+ * @instance
1111
+ */
1112
+ Object.defineProperty(SyncdSnapshot.prototype, "_mac", {
1113
+ get: $util.oneOfGetter($oneOfFields = ["mac"]),
1114
+ set: $util.oneOfSetter($oneOfFields)
1115
+ });
1116
+ /**
1117
+ * SyncdSnapshot _keyId.
1118
+ * @member {"keyId"|undefined} _keyId
1119
+ * @memberof ServerSync.SyncdSnapshot
1120
+ * @instance
1121
+ */
1122
+ Object.defineProperty(SyncdSnapshot.prototype, "_keyId", {
1123
+ get: $util.oneOfGetter($oneOfFields = ["keyId"]),
1124
+ set: $util.oneOfSetter($oneOfFields)
1125
+ });
1126
+ /**
1127
+ * Creates a new SyncdSnapshot instance using the specified properties.
1128
+ * @function create
1129
+ * @memberof ServerSync.SyncdSnapshot
1130
+ * @static
1131
+ * @param {ServerSync.ISyncdSnapshot=} [properties] Properties to set
1132
+ * @returns {ServerSync.SyncdSnapshot} SyncdSnapshot instance
1133
+ */
1134
+ SyncdSnapshot.create = function create(properties) {
1135
+ return new SyncdSnapshot(properties);
1136
+ };
1137
+ /**
1138
+ * Encodes the specified SyncdSnapshot message. Does not implicitly {@link ServerSync.SyncdSnapshot.verify|verify} messages.
1139
+ * @function encode
1140
+ * @memberof ServerSync.SyncdSnapshot
1141
+ * @static
1142
+ * @param {ServerSync.ISyncdSnapshot} message SyncdSnapshot message or plain object to encode
1143
+ * @param {$protobuf.Writer} [writer] Writer to encode to
1144
+ * @returns {$protobuf.Writer} Writer
1145
+ */
1146
+ SyncdSnapshot.encode = function encode(message, writer) {
1147
+ if (!writer)
1148
+ writer = $Writer.create();
1149
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
1150
+ $root.ServerSync.SyncdVersion.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
1151
+ if (message.records != null && message.records.length)
1152
+ for (var i = 0; i < message.records.length; ++i)
1153
+ $root.ServerSync.SyncdRecord.encode(message.records[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
1154
+ if (message.mac != null && Object.hasOwnProperty.call(message, "mac"))
1155
+ writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.mac);
1156
+ if (message.keyId != null && Object.hasOwnProperty.call(message, "keyId"))
1157
+ $root.ServerSync.KeyId.encode(message.keyId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
1158
+ return writer;
1159
+ };
1160
+ /**
1161
+ * Encodes the specified SyncdSnapshot message, length delimited. Does not implicitly {@link ServerSync.SyncdSnapshot.verify|verify} messages.
1162
+ * @function encodeDelimited
1163
+ * @memberof ServerSync.SyncdSnapshot
1164
+ * @static
1165
+ * @param {ServerSync.ISyncdSnapshot} message SyncdSnapshot message or plain object to encode
1166
+ * @param {$protobuf.Writer} [writer] Writer to encode to
1167
+ * @returns {$protobuf.Writer} Writer
1168
+ */
1169
+ SyncdSnapshot.encodeDelimited = function encodeDelimited(message, writer) {
1170
+ return this.encode(message, writer).ldelim();
1171
+ };
1172
+ /**
1173
+ * Decodes a SyncdSnapshot message from the specified reader or buffer.
1174
+ * @function decode
1175
+ * @memberof ServerSync.SyncdSnapshot
1176
+ * @static
1177
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1178
+ * @param {number} [length] Message length if known beforehand
1179
+ * @returns {ServerSync.SyncdSnapshot} SyncdSnapshot
1180
+ * @throws {Error} If the payload is not a reader or valid buffer
1181
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1182
+ */
1183
+ SyncdSnapshot.decode = function decode(reader, length, error) {
1184
+ if (!(reader instanceof $Reader))
1185
+ reader = $Reader.create(reader);
1186
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.SyncdSnapshot();
1187
+ while (reader.pos < end) {
1188
+ var tag = reader.uint32();
1189
+ if (tag === error)
1190
+ break;
1191
+ switch (tag >>> 3) {
1192
+ case 1: {
1193
+ message.version = $root.ServerSync.SyncdVersion.decode(reader, reader.uint32());
1194
+ break;
1195
+ }
1196
+ case 2: {
1197
+ if (!(message.records && message.records.length))
1198
+ message.records = [];
1199
+ message.records.push($root.ServerSync.SyncdRecord.decode(reader, reader.uint32()));
1200
+ break;
1201
+ }
1202
+ case 3: {
1203
+ message.mac = reader.bytes();
1204
+ break;
1205
+ }
1206
+ case 4: {
1207
+ message.keyId = $root.ServerSync.KeyId.decode(reader, reader.uint32());
1208
+ break;
1209
+ }
1210
+ default:
1211
+ reader.skipType(tag & 7);
1212
+ break;
1213
+ }
1214
+ }
1215
+ return message;
1216
+ };
1217
+ /**
1218
+ * Decodes a SyncdSnapshot message from the specified reader or buffer, length delimited.
1219
+ * @function decodeDelimited
1220
+ * @memberof ServerSync.SyncdSnapshot
1221
+ * @static
1222
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1223
+ * @returns {ServerSync.SyncdSnapshot} SyncdSnapshot
1224
+ * @throws {Error} If the payload is not a reader or valid buffer
1225
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1226
+ */
1227
+ SyncdSnapshot.decodeDelimited = function decodeDelimited(reader) {
1228
+ if (!(reader instanceof $Reader))
1229
+ reader = new $Reader(reader);
1230
+ return this.decode(reader, reader.uint32());
1231
+ };
1232
+ /**
1233
+ * Verifies a SyncdSnapshot message.
1234
+ * @function verify
1235
+ * @memberof ServerSync.SyncdSnapshot
1236
+ * @static
1237
+ * @param {Object.<string,*>} message Plain object to verify
1238
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
1239
+ */
1240
+ SyncdSnapshot.verify = function verify(message) {
1241
+ if (typeof message !== "object" || message === null)
1242
+ return "object expected";
1243
+ var properties = {};
1244
+ if (message.version != null && message.hasOwnProperty("version")) {
1245
+ properties._version = 1;
1246
+ {
1247
+ var error = $root.ServerSync.SyncdVersion.verify(message.version);
1248
+ if (error)
1249
+ return "version." + error;
1250
+ }
1251
+ }
1252
+ if (message.records != null && message.hasOwnProperty("records")) {
1253
+ if (!Array.isArray(message.records))
1254
+ return "records: array expected";
1255
+ for (var i = 0; i < message.records.length; ++i) {
1256
+ var error = $root.ServerSync.SyncdRecord.verify(message.records[i]);
1257
+ if (error)
1258
+ return "records." + error;
1259
+ }
1260
+ }
1261
+ if (message.mac != null && message.hasOwnProperty("mac")) {
1262
+ properties._mac = 1;
1263
+ if (!(message.mac && typeof message.mac.length === "number" || $util.isString(message.mac)))
1264
+ return "mac: buffer expected";
1265
+ }
1266
+ if (message.keyId != null && message.hasOwnProperty("keyId")) {
1267
+ properties._keyId = 1;
1268
+ {
1269
+ var error = $root.ServerSync.KeyId.verify(message.keyId);
1270
+ if (error)
1271
+ return "keyId." + error;
1272
+ }
1273
+ }
1274
+ return null;
1275
+ };
1276
+ /**
1277
+ * Creates a SyncdSnapshot message from a plain object. Also converts values to their respective internal types.
1278
+ * @function fromObject
1279
+ * @memberof ServerSync.SyncdSnapshot
1280
+ * @static
1281
+ * @param {Object.<string,*>} object Plain object
1282
+ * @returns {ServerSync.SyncdSnapshot} SyncdSnapshot
1283
+ */
1284
+ SyncdSnapshot.fromObject = function fromObject(object) {
1285
+ if (object instanceof $root.ServerSync.SyncdSnapshot)
1286
+ return object;
1287
+ var message = new $root.ServerSync.SyncdSnapshot();
1288
+ if (object.version != null) {
1289
+ if (typeof object.version !== "object")
1290
+ throw TypeError(".ServerSync.SyncdSnapshot.version: object expected");
1291
+ message.version = $root.ServerSync.SyncdVersion.fromObject(object.version);
1292
+ }
1293
+ if (object.records) {
1294
+ if (!Array.isArray(object.records))
1295
+ throw TypeError(".ServerSync.SyncdSnapshot.records: array expected");
1296
+ message.records = [];
1297
+ for (var i = 0; i < object.records.length; ++i) {
1298
+ if (typeof object.records[i] !== "object")
1299
+ throw TypeError(".ServerSync.SyncdSnapshot.records: object expected");
1300
+ message.records[i] = $root.ServerSync.SyncdRecord.fromObject(object.records[i]);
1301
+ }
1302
+ }
1303
+ if (object.mac != null)
1304
+ if (typeof object.mac === "string")
1305
+ $util.base64.decode(object.mac, message.mac = $util.newBuffer($util.base64.length(object.mac)), 0);
1306
+ else if (object.mac.length >= 0)
1307
+ message.mac = object.mac;
1308
+ if (object.keyId != null) {
1309
+ if (typeof object.keyId !== "object")
1310
+ throw TypeError(".ServerSync.SyncdSnapshot.keyId: object expected");
1311
+ message.keyId = $root.ServerSync.KeyId.fromObject(object.keyId);
1312
+ }
1313
+ return message;
1314
+ };
1315
+ /**
1316
+ * Creates a plain object from a SyncdSnapshot message. Also converts values to other types if specified.
1317
+ * @function toObject
1318
+ * @memberof ServerSync.SyncdSnapshot
1319
+ * @static
1320
+ * @param {ServerSync.SyncdSnapshot} message SyncdSnapshot
1321
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
1322
+ * @returns {Object.<string,*>} Plain object
1323
+ */
1324
+ SyncdSnapshot.toObject = function toObject(message, options) {
1325
+ if (!options)
1326
+ options = {};
1327
+ var object = {};
1328
+ if (options.arrays || options.defaults)
1329
+ object.records = [];
1330
+ if (message.version != null && message.hasOwnProperty("version")) {
1331
+ object.version = $root.ServerSync.SyncdVersion.toObject(message.version, options);
1332
+ if (options.oneofs)
1333
+ object._version = "version";
1334
+ }
1335
+ if (message.records && message.records.length) {
1336
+ object.records = [];
1337
+ for (var j = 0; j < message.records.length; ++j)
1338
+ object.records[j] = $root.ServerSync.SyncdRecord.toObject(message.records[j], options);
1339
+ }
1340
+ if (message.mac != null && message.hasOwnProperty("mac")) {
1341
+ object.mac = options.bytes === String ? $util.base64.encode(message.mac, 0, message.mac.length) : options.bytes === Array ? Array.prototype.slice.call(message.mac) : message.mac;
1342
+ if (options.oneofs)
1343
+ object._mac = "mac";
1344
+ }
1345
+ if (message.keyId != null && message.hasOwnProperty("keyId")) {
1346
+ object.keyId = $root.ServerSync.KeyId.toObject(message.keyId, options);
1347
+ if (options.oneofs)
1348
+ object._keyId = "keyId";
1349
+ }
1350
+ return object;
1351
+ };
1352
+ /**
1353
+ * Converts this SyncdSnapshot to JSON.
1354
+ * @function toJSON
1355
+ * @memberof ServerSync.SyncdSnapshot
1356
+ * @instance
1357
+ * @returns {Object.<string,*>} JSON object
1358
+ */
1359
+ SyncdSnapshot.prototype.toJSON = function toJSON() {
1360
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
1361
+ };
1362
+ /**
1363
+ * Gets the default type url for SyncdSnapshot
1364
+ * @function getTypeUrl
1365
+ * @memberof ServerSync.SyncdSnapshot
1366
+ * @static
1367
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1368
+ * @returns {string} The default type url
1369
+ */
1370
+ SyncdSnapshot.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
1371
+ if (typeUrlPrefix === undefined) {
1372
+ typeUrlPrefix = "type.googleapis.com";
1373
+ }
1374
+ return typeUrlPrefix + "/ServerSync.SyncdSnapshot";
1375
+ };
1376
+ return SyncdSnapshot;
1377
+ })();
1378
+ ServerSync.ExternalBlobReference = (function() {
1379
+ /**
1380
+ * Properties of an ExternalBlobReference.
1381
+ * @memberof ServerSync
1382
+ * @interface IExternalBlobReference
1383
+ * @property {Uint8Array|null} [mediaKey] ExternalBlobReference mediaKey
1384
+ * @property {string|null} [directPath] ExternalBlobReference directPath
1385
+ * @property {string|null} [handle] ExternalBlobReference handle
1386
+ * @property {number|Long|null} [fileSizeBytes] ExternalBlobReference fileSizeBytes
1387
+ * @property {Uint8Array|null} [fileSha256] ExternalBlobReference fileSha256
1388
+ * @property {Uint8Array|null} [fileEncSha256] ExternalBlobReference fileEncSha256
1389
+ */
1390
+ /**
1391
+ * Constructs a new ExternalBlobReference.
1392
+ * @memberof ServerSync
1393
+ * @classdesc Represents an ExternalBlobReference.
1394
+ * @implements IExternalBlobReference
1395
+ * @constructor
1396
+ * @param {ServerSync.IExternalBlobReference=} [properties] Properties to set
1397
+ */
1398
+ function ExternalBlobReference(properties) {
1399
+ if (properties)
1400
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
1401
+ if (properties[keys[i]] != null)
1402
+ this[keys[i]] = properties[keys[i]];
1403
+ }
1404
+ /**
1405
+ * ExternalBlobReference mediaKey.
1406
+ * @member {Uint8Array|null|undefined} mediaKey
1407
+ * @memberof ServerSync.ExternalBlobReference
1408
+ * @instance
1409
+ */
1410
+ ExternalBlobReference.prototype.mediaKey = null;
1411
+ /**
1412
+ * ExternalBlobReference directPath.
1413
+ * @member {string|null|undefined} directPath
1414
+ * @memberof ServerSync.ExternalBlobReference
1415
+ * @instance
1416
+ */
1417
+ ExternalBlobReference.prototype.directPath = null;
1418
+ /**
1419
+ * ExternalBlobReference handle.
1420
+ * @member {string|null|undefined} handle
1421
+ * @memberof ServerSync.ExternalBlobReference
1422
+ * @instance
1423
+ */
1424
+ ExternalBlobReference.prototype.handle = null;
1425
+ /**
1426
+ * ExternalBlobReference fileSizeBytes.
1427
+ * @member {number|Long|null|undefined} fileSizeBytes
1428
+ * @memberof ServerSync.ExternalBlobReference
1429
+ * @instance
1430
+ */
1431
+ ExternalBlobReference.prototype.fileSizeBytes = null;
1432
+ /**
1433
+ * ExternalBlobReference fileSha256.
1434
+ * @member {Uint8Array|null|undefined} fileSha256
1435
+ * @memberof ServerSync.ExternalBlobReference
1436
+ * @instance
1437
+ */
1438
+ ExternalBlobReference.prototype.fileSha256 = null;
1439
+ /**
1440
+ * ExternalBlobReference fileEncSha256.
1441
+ * @member {Uint8Array|null|undefined} fileEncSha256
1442
+ * @memberof ServerSync.ExternalBlobReference
1443
+ * @instance
1444
+ */
1445
+ ExternalBlobReference.prototype.fileEncSha256 = null;
1446
+ // OneOf field names bound to virtual getters and setters
1447
+ var $oneOfFields;
1448
+ /**
1449
+ * ExternalBlobReference _mediaKey.
1450
+ * @member {"mediaKey"|undefined} _mediaKey
1451
+ * @memberof ServerSync.ExternalBlobReference
1452
+ * @instance
1453
+ */
1454
+ Object.defineProperty(ExternalBlobReference.prototype, "_mediaKey", {
1455
+ get: $util.oneOfGetter($oneOfFields = ["mediaKey"]),
1456
+ set: $util.oneOfSetter($oneOfFields)
1457
+ });
1458
+ /**
1459
+ * ExternalBlobReference _directPath.
1460
+ * @member {"directPath"|undefined} _directPath
1461
+ * @memberof ServerSync.ExternalBlobReference
1462
+ * @instance
1463
+ */
1464
+ Object.defineProperty(ExternalBlobReference.prototype, "_directPath", {
1465
+ get: $util.oneOfGetter($oneOfFields = ["directPath"]),
1466
+ set: $util.oneOfSetter($oneOfFields)
1467
+ });
1468
+ /**
1469
+ * ExternalBlobReference _handle.
1470
+ * @member {"handle"|undefined} _handle
1471
+ * @memberof ServerSync.ExternalBlobReference
1472
+ * @instance
1473
+ */
1474
+ Object.defineProperty(ExternalBlobReference.prototype, "_handle", {
1475
+ get: $util.oneOfGetter($oneOfFields = ["handle"]),
1476
+ set: $util.oneOfSetter($oneOfFields)
1477
+ });
1478
+ /**
1479
+ * ExternalBlobReference _fileSizeBytes.
1480
+ * @member {"fileSizeBytes"|undefined} _fileSizeBytes
1481
+ * @memberof ServerSync.ExternalBlobReference
1482
+ * @instance
1483
+ */
1484
+ Object.defineProperty(ExternalBlobReference.prototype, "_fileSizeBytes", {
1485
+ get: $util.oneOfGetter($oneOfFields = ["fileSizeBytes"]),
1486
+ set: $util.oneOfSetter($oneOfFields)
1487
+ });
1488
+ /**
1489
+ * ExternalBlobReference _fileSha256.
1490
+ * @member {"fileSha256"|undefined} _fileSha256
1491
+ * @memberof ServerSync.ExternalBlobReference
1492
+ * @instance
1493
+ */
1494
+ Object.defineProperty(ExternalBlobReference.prototype, "_fileSha256", {
1495
+ get: $util.oneOfGetter($oneOfFields = ["fileSha256"]),
1496
+ set: $util.oneOfSetter($oneOfFields)
1497
+ });
1498
+ /**
1499
+ * ExternalBlobReference _fileEncSha256.
1500
+ * @member {"fileEncSha256"|undefined} _fileEncSha256
1501
+ * @memberof ServerSync.ExternalBlobReference
1502
+ * @instance
1503
+ */
1504
+ Object.defineProperty(ExternalBlobReference.prototype, "_fileEncSha256", {
1505
+ get: $util.oneOfGetter($oneOfFields = ["fileEncSha256"]),
1506
+ set: $util.oneOfSetter($oneOfFields)
1507
+ });
1508
+ /**
1509
+ * Creates a new ExternalBlobReference instance using the specified properties.
1510
+ * @function create
1511
+ * @memberof ServerSync.ExternalBlobReference
1512
+ * @static
1513
+ * @param {ServerSync.IExternalBlobReference=} [properties] Properties to set
1514
+ * @returns {ServerSync.ExternalBlobReference} ExternalBlobReference instance
1515
+ */
1516
+ ExternalBlobReference.create = function create(properties) {
1517
+ return new ExternalBlobReference(properties);
1518
+ };
1519
+ /**
1520
+ * Encodes the specified ExternalBlobReference message. Does not implicitly {@link ServerSync.ExternalBlobReference.verify|verify} messages.
1521
+ * @function encode
1522
+ * @memberof ServerSync.ExternalBlobReference
1523
+ * @static
1524
+ * @param {ServerSync.IExternalBlobReference} message ExternalBlobReference message or plain object to encode
1525
+ * @param {$protobuf.Writer} [writer] Writer to encode to
1526
+ * @returns {$protobuf.Writer} Writer
1527
+ */
1528
+ ExternalBlobReference.encode = function encode(message, writer) {
1529
+ if (!writer)
1530
+ writer = $Writer.create();
1531
+ if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey"))
1532
+ writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.mediaKey);
1533
+ if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath"))
1534
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.directPath);
1535
+ if (message.handle != null && Object.hasOwnProperty.call(message, "handle"))
1536
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.handle);
1537
+ if (message.fileSizeBytes != null && Object.hasOwnProperty.call(message, "fileSizeBytes"))
1538
+ writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.fileSizeBytes);
1539
+ if (message.fileSha256 != null && Object.hasOwnProperty.call(message, "fileSha256"))
1540
+ writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.fileSha256);
1541
+ if (message.fileEncSha256 != null && Object.hasOwnProperty.call(message, "fileEncSha256"))
1542
+ writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.fileEncSha256);
1543
+ return writer;
1544
+ };
1545
+ /**
1546
+ * Encodes the specified ExternalBlobReference message, length delimited. Does not implicitly {@link ServerSync.ExternalBlobReference.verify|verify} messages.
1547
+ * @function encodeDelimited
1548
+ * @memberof ServerSync.ExternalBlobReference
1549
+ * @static
1550
+ * @param {ServerSync.IExternalBlobReference} message ExternalBlobReference message or plain object to encode
1551
+ * @param {$protobuf.Writer} [writer] Writer to encode to
1552
+ * @returns {$protobuf.Writer} Writer
1553
+ */
1554
+ ExternalBlobReference.encodeDelimited = function encodeDelimited(message, writer) {
1555
+ return this.encode(message, writer).ldelim();
1556
+ };
1557
+ /**
1558
+ * Decodes an ExternalBlobReference message from the specified reader or buffer.
1559
+ * @function decode
1560
+ * @memberof ServerSync.ExternalBlobReference
1561
+ * @static
1562
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1563
+ * @param {number} [length] Message length if known beforehand
1564
+ * @returns {ServerSync.ExternalBlobReference} ExternalBlobReference
1565
+ * @throws {Error} If the payload is not a reader or valid buffer
1566
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1567
+ */
1568
+ ExternalBlobReference.decode = function decode(reader, length, error) {
1569
+ if (!(reader instanceof $Reader))
1570
+ reader = $Reader.create(reader);
1571
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.ExternalBlobReference();
1572
+ while (reader.pos < end) {
1573
+ var tag = reader.uint32();
1574
+ if (tag === error)
1575
+ break;
1576
+ switch (tag >>> 3) {
1577
+ case 1: {
1578
+ message.mediaKey = reader.bytes();
1579
+ break;
1580
+ }
1581
+ case 2: {
1582
+ message.directPath = reader.string();
1583
+ break;
1584
+ }
1585
+ case 3: {
1586
+ message.handle = reader.string();
1587
+ break;
1588
+ }
1589
+ case 4: {
1590
+ message.fileSizeBytes = reader.uint64();
1591
+ break;
1592
+ }
1593
+ case 5: {
1594
+ message.fileSha256 = reader.bytes();
1595
+ break;
1596
+ }
1597
+ case 6: {
1598
+ message.fileEncSha256 = reader.bytes();
1599
+ break;
1600
+ }
1601
+ default:
1602
+ reader.skipType(tag & 7);
1603
+ break;
1604
+ }
1605
+ }
1606
+ return message;
1607
+ };
1608
+ /**
1609
+ * Decodes an ExternalBlobReference message from the specified reader or buffer, length delimited.
1610
+ * @function decodeDelimited
1611
+ * @memberof ServerSync.ExternalBlobReference
1612
+ * @static
1613
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1614
+ * @returns {ServerSync.ExternalBlobReference} ExternalBlobReference
1615
+ * @throws {Error} If the payload is not a reader or valid buffer
1616
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1617
+ */
1618
+ ExternalBlobReference.decodeDelimited = function decodeDelimited(reader) {
1619
+ if (!(reader instanceof $Reader))
1620
+ reader = new $Reader(reader);
1621
+ return this.decode(reader, reader.uint32());
1622
+ };
1623
+ /**
1624
+ * Verifies an ExternalBlobReference message.
1625
+ * @function verify
1626
+ * @memberof ServerSync.ExternalBlobReference
1627
+ * @static
1628
+ * @param {Object.<string,*>} message Plain object to verify
1629
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
1630
+ */
1631
+ ExternalBlobReference.verify = function verify(message) {
1632
+ if (typeof message !== "object" || message === null)
1633
+ return "object expected";
1634
+ var properties = {};
1635
+ if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) {
1636
+ properties._mediaKey = 1;
1637
+ if (!(message.mediaKey && typeof message.mediaKey.length === "number" || $util.isString(message.mediaKey)))
1638
+ return "mediaKey: buffer expected";
1639
+ }
1640
+ if (message.directPath != null && message.hasOwnProperty("directPath")) {
1641
+ properties._directPath = 1;
1642
+ if (!$util.isString(message.directPath))
1643
+ return "directPath: string expected";
1644
+ }
1645
+ if (message.handle != null && message.hasOwnProperty("handle")) {
1646
+ properties._handle = 1;
1647
+ if (!$util.isString(message.handle))
1648
+ return "handle: string expected";
1649
+ }
1650
+ if (message.fileSizeBytes != null && message.hasOwnProperty("fileSizeBytes")) {
1651
+ properties._fileSizeBytes = 1;
1652
+ if (!$util.isInteger(message.fileSizeBytes) && !(message.fileSizeBytes && $util.isInteger(message.fileSizeBytes.low) && $util.isInteger(message.fileSizeBytes.high)))
1653
+ return "fileSizeBytes: integer|Long expected";
1654
+ }
1655
+ if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) {
1656
+ properties._fileSha256 = 1;
1657
+ if (!(message.fileSha256 && typeof message.fileSha256.length === "number" || $util.isString(message.fileSha256)))
1658
+ return "fileSha256: buffer expected";
1659
+ }
1660
+ if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) {
1661
+ properties._fileEncSha256 = 1;
1662
+ if (!(message.fileEncSha256 && typeof message.fileEncSha256.length === "number" || $util.isString(message.fileEncSha256)))
1663
+ return "fileEncSha256: buffer expected";
1664
+ }
1665
+ return null;
1666
+ };
1667
+ /**
1668
+ * Creates an ExternalBlobReference message from a plain object. Also converts values to their respective internal types.
1669
+ * @function fromObject
1670
+ * @memberof ServerSync.ExternalBlobReference
1671
+ * @static
1672
+ * @param {Object.<string,*>} object Plain object
1673
+ * @returns {ServerSync.ExternalBlobReference} ExternalBlobReference
1674
+ */
1675
+ ExternalBlobReference.fromObject = function fromObject(object) {
1676
+ if (object instanceof $root.ServerSync.ExternalBlobReference)
1677
+ return object;
1678
+ var message = new $root.ServerSync.ExternalBlobReference();
1679
+ if (object.mediaKey != null)
1680
+ if (typeof object.mediaKey === "string")
1681
+ $util.base64.decode(object.mediaKey, message.mediaKey = $util.newBuffer($util.base64.length(object.mediaKey)), 0);
1682
+ else if (object.mediaKey.length >= 0)
1683
+ message.mediaKey = object.mediaKey;
1684
+ if (object.directPath != null)
1685
+ message.directPath = String(object.directPath);
1686
+ if (object.handle != null)
1687
+ message.handle = String(object.handle);
1688
+ if (object.fileSizeBytes != null)
1689
+ if ($util.Long)
1690
+ (message.fileSizeBytes = $util.Long.fromValue(object.fileSizeBytes)).unsigned = true;
1691
+ else if (typeof object.fileSizeBytes === "string")
1692
+ message.fileSizeBytes = parseInt(object.fileSizeBytes, 10);
1693
+ else if (typeof object.fileSizeBytes === "number")
1694
+ message.fileSizeBytes = object.fileSizeBytes;
1695
+ else if (typeof object.fileSizeBytes === "object")
1696
+ message.fileSizeBytes = new $util.LongBits(object.fileSizeBytes.low >>> 0, object.fileSizeBytes.high >>> 0).toNumber(true);
1697
+ if (object.fileSha256 != null)
1698
+ if (typeof object.fileSha256 === "string")
1699
+ $util.base64.decode(object.fileSha256, message.fileSha256 = $util.newBuffer($util.base64.length(object.fileSha256)), 0);
1700
+ else if (object.fileSha256.length >= 0)
1701
+ message.fileSha256 = object.fileSha256;
1702
+ if (object.fileEncSha256 != null)
1703
+ if (typeof object.fileEncSha256 === "string")
1704
+ $util.base64.decode(object.fileEncSha256, message.fileEncSha256 = $util.newBuffer($util.base64.length(object.fileEncSha256)), 0);
1705
+ else if (object.fileEncSha256.length >= 0)
1706
+ message.fileEncSha256 = object.fileEncSha256;
1707
+ return message;
1708
+ };
1709
+ /**
1710
+ * Creates a plain object from an ExternalBlobReference message. Also converts values to other types if specified.
1711
+ * @function toObject
1712
+ * @memberof ServerSync.ExternalBlobReference
1713
+ * @static
1714
+ * @param {ServerSync.ExternalBlobReference} message ExternalBlobReference
1715
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
1716
+ * @returns {Object.<string,*>} Plain object
1717
+ */
1718
+ ExternalBlobReference.toObject = function toObject(message, options) {
1719
+ if (!options)
1720
+ options = {};
1721
+ var object = {};
1722
+ if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) {
1723
+ object.mediaKey = options.bytes === String ? $util.base64.encode(message.mediaKey, 0, message.mediaKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.mediaKey) : message.mediaKey;
1724
+ if (options.oneofs)
1725
+ object._mediaKey = "mediaKey";
1726
+ }
1727
+ if (message.directPath != null && message.hasOwnProperty("directPath")) {
1728
+ object.directPath = message.directPath;
1729
+ if (options.oneofs)
1730
+ object._directPath = "directPath";
1731
+ }
1732
+ if (message.handle != null && message.hasOwnProperty("handle")) {
1733
+ object.handle = message.handle;
1734
+ if (options.oneofs)
1735
+ object._handle = "handle";
1736
+ }
1737
+ if (message.fileSizeBytes != null && message.hasOwnProperty("fileSizeBytes")) {
1738
+ if (typeof message.fileSizeBytes === "number")
1739
+ object.fileSizeBytes = options.longs === String ? String(message.fileSizeBytes) : message.fileSizeBytes;
1740
+ else
1741
+ object.fileSizeBytes = options.longs === String ? $util.Long.prototype.toString.call(message.fileSizeBytes) : options.longs === Number ? new $util.LongBits(message.fileSizeBytes.low >>> 0, message.fileSizeBytes.high >>> 0).toNumber(true) : message.fileSizeBytes;
1742
+ if (options.oneofs)
1743
+ object._fileSizeBytes = "fileSizeBytes";
1744
+ }
1745
+ if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) {
1746
+ object.fileSha256 = options.bytes === String ? $util.base64.encode(message.fileSha256, 0, message.fileSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileSha256) : message.fileSha256;
1747
+ if (options.oneofs)
1748
+ object._fileSha256 = "fileSha256";
1749
+ }
1750
+ if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) {
1751
+ object.fileEncSha256 = options.bytes === String ? $util.base64.encode(message.fileEncSha256, 0, message.fileEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileEncSha256) : message.fileEncSha256;
1752
+ if (options.oneofs)
1753
+ object._fileEncSha256 = "fileEncSha256";
1754
+ }
1755
+ return object;
1756
+ };
1757
+ /**
1758
+ * Converts this ExternalBlobReference to JSON.
1759
+ * @function toJSON
1760
+ * @memberof ServerSync.ExternalBlobReference
1761
+ * @instance
1762
+ * @returns {Object.<string,*>} JSON object
1763
+ */
1764
+ ExternalBlobReference.prototype.toJSON = function toJSON() {
1765
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
1766
+ };
1767
+ /**
1768
+ * Gets the default type url for ExternalBlobReference
1769
+ * @function getTypeUrl
1770
+ * @memberof ServerSync.ExternalBlobReference
1771
+ * @static
1772
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1773
+ * @returns {string} The default type url
1774
+ */
1775
+ ExternalBlobReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
1776
+ if (typeUrlPrefix === undefined) {
1777
+ typeUrlPrefix = "type.googleapis.com";
1778
+ }
1779
+ return typeUrlPrefix + "/ServerSync.ExternalBlobReference";
1780
+ };
1781
+ return ExternalBlobReference;
1782
+ })();
1783
+ ServerSync.SyncdRecord = (function() {
1784
+ /**
1785
+ * Properties of a SyncdRecord.
1786
+ * @memberof ServerSync
1787
+ * @interface ISyncdRecord
1788
+ * @property {ServerSync.ISyncdIndex|null} [index] SyncdRecord index
1789
+ * @property {ServerSync.ISyncdValue|null} [value] SyncdRecord value
1790
+ * @property {ServerSync.IKeyId|null} [keyId] SyncdRecord keyId
1791
+ */
1792
+ /**
1793
+ * Constructs a new SyncdRecord.
1794
+ * @memberof ServerSync
1795
+ * @classdesc Represents a SyncdRecord.
1796
+ * @implements ISyncdRecord
1797
+ * @constructor
1798
+ * @param {ServerSync.ISyncdRecord=} [properties] Properties to set
1799
+ */
1800
+ function SyncdRecord(properties) {
1801
+ if (properties)
1802
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
1803
+ if (properties[keys[i]] != null)
1804
+ this[keys[i]] = properties[keys[i]];
1805
+ }
1806
+ /**
1807
+ * SyncdRecord index.
1808
+ * @member {ServerSync.ISyncdIndex|null|undefined} index
1809
+ * @memberof ServerSync.SyncdRecord
1810
+ * @instance
1811
+ */
1812
+ SyncdRecord.prototype.index = null;
1813
+ /**
1814
+ * SyncdRecord value.
1815
+ * @member {ServerSync.ISyncdValue|null|undefined} value
1816
+ * @memberof ServerSync.SyncdRecord
1817
+ * @instance
1818
+ */
1819
+ SyncdRecord.prototype.value = null;
1820
+ /**
1821
+ * SyncdRecord keyId.
1822
+ * @member {ServerSync.IKeyId|null|undefined} keyId
1823
+ * @memberof ServerSync.SyncdRecord
1824
+ * @instance
1825
+ */
1826
+ SyncdRecord.prototype.keyId = null;
1827
+ // OneOf field names bound to virtual getters and setters
1828
+ var $oneOfFields;
1829
+ /**
1830
+ * SyncdRecord _index.
1831
+ * @member {"index"|undefined} _index
1832
+ * @memberof ServerSync.SyncdRecord
1833
+ * @instance
1834
+ */
1835
+ Object.defineProperty(SyncdRecord.prototype, "_index", {
1836
+ get: $util.oneOfGetter($oneOfFields = ["index"]),
1837
+ set: $util.oneOfSetter($oneOfFields)
1838
+ });
1839
+ /**
1840
+ * SyncdRecord _value.
1841
+ * @member {"value"|undefined} _value
1842
+ * @memberof ServerSync.SyncdRecord
1843
+ * @instance
1844
+ */
1845
+ Object.defineProperty(SyncdRecord.prototype, "_value", {
1846
+ get: $util.oneOfGetter($oneOfFields = ["value"]),
1847
+ set: $util.oneOfSetter($oneOfFields)
1848
+ });
1849
+ /**
1850
+ * SyncdRecord _keyId.
1851
+ * @member {"keyId"|undefined} _keyId
1852
+ * @memberof ServerSync.SyncdRecord
1853
+ * @instance
1854
+ */
1855
+ Object.defineProperty(SyncdRecord.prototype, "_keyId", {
1856
+ get: $util.oneOfGetter($oneOfFields = ["keyId"]),
1857
+ set: $util.oneOfSetter($oneOfFields)
1858
+ });
1859
+ /**
1860
+ * Creates a new SyncdRecord instance using the specified properties.
1861
+ * @function create
1862
+ * @memberof ServerSync.SyncdRecord
1863
+ * @static
1864
+ * @param {ServerSync.ISyncdRecord=} [properties] Properties to set
1865
+ * @returns {ServerSync.SyncdRecord} SyncdRecord instance
1866
+ */
1867
+ SyncdRecord.create = function create(properties) {
1868
+ return new SyncdRecord(properties);
1869
+ };
1870
+ /**
1871
+ * Encodes the specified SyncdRecord message. Does not implicitly {@link ServerSync.SyncdRecord.verify|verify} messages.
1872
+ * @function encode
1873
+ * @memberof ServerSync.SyncdRecord
1874
+ * @static
1875
+ * @param {ServerSync.ISyncdRecord} message SyncdRecord message or plain object to encode
1876
+ * @param {$protobuf.Writer} [writer] Writer to encode to
1877
+ * @returns {$protobuf.Writer} Writer
1878
+ */
1879
+ SyncdRecord.encode = function encode(message, writer) {
1880
+ if (!writer)
1881
+ writer = $Writer.create();
1882
+ if (message.index != null && Object.hasOwnProperty.call(message, "index"))
1883
+ $root.ServerSync.SyncdIndex.encode(message.index, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
1884
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
1885
+ $root.ServerSync.SyncdValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
1886
+ if (message.keyId != null && Object.hasOwnProperty.call(message, "keyId"))
1887
+ $root.ServerSync.KeyId.encode(message.keyId, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
1888
+ return writer;
1889
+ };
1890
+ /**
1891
+ * Encodes the specified SyncdRecord message, length delimited. Does not implicitly {@link ServerSync.SyncdRecord.verify|verify} messages.
1892
+ * @function encodeDelimited
1893
+ * @memberof ServerSync.SyncdRecord
1894
+ * @static
1895
+ * @param {ServerSync.ISyncdRecord} message SyncdRecord message or plain object to encode
1896
+ * @param {$protobuf.Writer} [writer] Writer to encode to
1897
+ * @returns {$protobuf.Writer} Writer
1898
+ */
1899
+ SyncdRecord.encodeDelimited = function encodeDelimited(message, writer) {
1900
+ return this.encode(message, writer).ldelim();
1901
+ };
1902
+ /**
1903
+ * Decodes a SyncdRecord message from the specified reader or buffer.
1904
+ * @function decode
1905
+ * @memberof ServerSync.SyncdRecord
1906
+ * @static
1907
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1908
+ * @param {number} [length] Message length if known beforehand
1909
+ * @returns {ServerSync.SyncdRecord} SyncdRecord
1910
+ * @throws {Error} If the payload is not a reader or valid buffer
1911
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1912
+ */
1913
+ SyncdRecord.decode = function decode(reader, length, error) {
1914
+ if (!(reader instanceof $Reader))
1915
+ reader = $Reader.create(reader);
1916
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.SyncdRecord();
1917
+ while (reader.pos < end) {
1918
+ var tag = reader.uint32();
1919
+ if (tag === error)
1920
+ break;
1921
+ switch (tag >>> 3) {
1922
+ case 1: {
1923
+ message.index = $root.ServerSync.SyncdIndex.decode(reader, reader.uint32());
1924
+ break;
1925
+ }
1926
+ case 2: {
1927
+ message.value = $root.ServerSync.SyncdValue.decode(reader, reader.uint32());
1928
+ break;
1929
+ }
1930
+ case 3: {
1931
+ message.keyId = $root.ServerSync.KeyId.decode(reader, reader.uint32());
1932
+ break;
1933
+ }
1934
+ default:
1935
+ reader.skipType(tag & 7);
1936
+ break;
1937
+ }
1938
+ }
1939
+ return message;
1940
+ };
1941
+ /**
1942
+ * Decodes a SyncdRecord message from the specified reader or buffer, length delimited.
1943
+ * @function decodeDelimited
1944
+ * @memberof ServerSync.SyncdRecord
1945
+ * @static
1946
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
1947
+ * @returns {ServerSync.SyncdRecord} SyncdRecord
1948
+ * @throws {Error} If the payload is not a reader or valid buffer
1949
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1950
+ */
1951
+ SyncdRecord.decodeDelimited = function decodeDelimited(reader) {
1952
+ if (!(reader instanceof $Reader))
1953
+ reader = new $Reader(reader);
1954
+ return this.decode(reader, reader.uint32());
1955
+ };
1956
+ /**
1957
+ * Verifies a SyncdRecord message.
1958
+ * @function verify
1959
+ * @memberof ServerSync.SyncdRecord
1960
+ * @static
1961
+ * @param {Object.<string,*>} message Plain object to verify
1962
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
1963
+ */
1964
+ SyncdRecord.verify = function verify(message) {
1965
+ if (typeof message !== "object" || message === null)
1966
+ return "object expected";
1967
+ var properties = {};
1968
+ if (message.index != null && message.hasOwnProperty("index")) {
1969
+ properties._index = 1;
1970
+ {
1971
+ var error = $root.ServerSync.SyncdIndex.verify(message.index);
1972
+ if (error)
1973
+ return "index." + error;
1974
+ }
1975
+ }
1976
+ if (message.value != null && message.hasOwnProperty("value")) {
1977
+ properties._value = 1;
1978
+ {
1979
+ var error = $root.ServerSync.SyncdValue.verify(message.value);
1980
+ if (error)
1981
+ return "value." + error;
1982
+ }
1983
+ }
1984
+ if (message.keyId != null && message.hasOwnProperty("keyId")) {
1985
+ properties._keyId = 1;
1986
+ {
1987
+ var error = $root.ServerSync.KeyId.verify(message.keyId);
1988
+ if (error)
1989
+ return "keyId." + error;
1990
+ }
1991
+ }
1992
+ return null;
1993
+ };
1994
+ /**
1995
+ * Creates a SyncdRecord message from a plain object. Also converts values to their respective internal types.
1996
+ * @function fromObject
1997
+ * @memberof ServerSync.SyncdRecord
1998
+ * @static
1999
+ * @param {Object.<string,*>} object Plain object
2000
+ * @returns {ServerSync.SyncdRecord} SyncdRecord
2001
+ */
2002
+ SyncdRecord.fromObject = function fromObject(object) {
2003
+ if (object instanceof $root.ServerSync.SyncdRecord)
2004
+ return object;
2005
+ var message = new $root.ServerSync.SyncdRecord();
2006
+ if (object.index != null) {
2007
+ if (typeof object.index !== "object")
2008
+ throw TypeError(".ServerSync.SyncdRecord.index: object expected");
2009
+ message.index = $root.ServerSync.SyncdIndex.fromObject(object.index);
2010
+ }
2011
+ if (object.value != null) {
2012
+ if (typeof object.value !== "object")
2013
+ throw TypeError(".ServerSync.SyncdRecord.value: object expected");
2014
+ message.value = $root.ServerSync.SyncdValue.fromObject(object.value);
2015
+ }
2016
+ if (object.keyId != null) {
2017
+ if (typeof object.keyId !== "object")
2018
+ throw TypeError(".ServerSync.SyncdRecord.keyId: object expected");
2019
+ message.keyId = $root.ServerSync.KeyId.fromObject(object.keyId);
2020
+ }
2021
+ return message;
2022
+ };
2023
+ /**
2024
+ * Creates a plain object from a SyncdRecord message. Also converts values to other types if specified.
2025
+ * @function toObject
2026
+ * @memberof ServerSync.SyncdRecord
2027
+ * @static
2028
+ * @param {ServerSync.SyncdRecord} message SyncdRecord
2029
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
2030
+ * @returns {Object.<string,*>} Plain object
2031
+ */
2032
+ SyncdRecord.toObject = function toObject(message, options) {
2033
+ if (!options)
2034
+ options = {};
2035
+ var object = {};
2036
+ if (message.index != null && message.hasOwnProperty("index")) {
2037
+ object.index = $root.ServerSync.SyncdIndex.toObject(message.index, options);
2038
+ if (options.oneofs)
2039
+ object._index = "index";
2040
+ }
2041
+ if (message.value != null && message.hasOwnProperty("value")) {
2042
+ object.value = $root.ServerSync.SyncdValue.toObject(message.value, options);
2043
+ if (options.oneofs)
2044
+ object._value = "value";
2045
+ }
2046
+ if (message.keyId != null && message.hasOwnProperty("keyId")) {
2047
+ object.keyId = $root.ServerSync.KeyId.toObject(message.keyId, options);
2048
+ if (options.oneofs)
2049
+ object._keyId = "keyId";
2050
+ }
2051
+ return object;
2052
+ };
2053
+ /**
2054
+ * Converts this SyncdRecord to JSON.
2055
+ * @function toJSON
2056
+ * @memberof ServerSync.SyncdRecord
2057
+ * @instance
2058
+ * @returns {Object.<string,*>} JSON object
2059
+ */
2060
+ SyncdRecord.prototype.toJSON = function toJSON() {
2061
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
2062
+ };
2063
+ /**
2064
+ * Gets the default type url for SyncdRecord
2065
+ * @function getTypeUrl
2066
+ * @memberof ServerSync.SyncdRecord
2067
+ * @static
2068
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
2069
+ * @returns {string} The default type url
2070
+ */
2071
+ SyncdRecord.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
2072
+ if (typeUrlPrefix === undefined) {
2073
+ typeUrlPrefix = "type.googleapis.com";
2074
+ }
2075
+ return typeUrlPrefix + "/ServerSync.SyncdRecord";
2076
+ };
2077
+ return SyncdRecord;
2078
+ })();
2079
+ ServerSync.KeyId = (function() {
2080
+ /**
2081
+ * Properties of a KeyId.
2082
+ * @memberof ServerSync
2083
+ * @interface IKeyId
2084
+ * @property {Uint8Array|null} [id] KeyId id
2085
+ */
2086
+ /**
2087
+ * Constructs a new KeyId.
2088
+ * @memberof ServerSync
2089
+ * @classdesc Represents a KeyId.
2090
+ * @implements IKeyId
2091
+ * @constructor
2092
+ * @param {ServerSync.IKeyId=} [properties] Properties to set
2093
+ */
2094
+ function KeyId(properties) {
2095
+ if (properties)
2096
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
2097
+ if (properties[keys[i]] != null)
2098
+ this[keys[i]] = properties[keys[i]];
2099
+ }
2100
+ /**
2101
+ * KeyId id.
2102
+ * @member {Uint8Array|null|undefined} id
2103
+ * @memberof ServerSync.KeyId
2104
+ * @instance
2105
+ */
2106
+ KeyId.prototype.id = null;
2107
+ // OneOf field names bound to virtual getters and setters
2108
+ var $oneOfFields;
2109
+ /**
2110
+ * KeyId _id.
2111
+ * @member {"id"|undefined} _id
2112
+ * @memberof ServerSync.KeyId
2113
+ * @instance
2114
+ */
2115
+ Object.defineProperty(KeyId.prototype, "_id", {
2116
+ get: $util.oneOfGetter($oneOfFields = ["id"]),
2117
+ set: $util.oneOfSetter($oneOfFields)
2118
+ });
2119
+ /**
2120
+ * Creates a new KeyId instance using the specified properties.
2121
+ * @function create
2122
+ * @memberof ServerSync.KeyId
2123
+ * @static
2124
+ * @param {ServerSync.IKeyId=} [properties] Properties to set
2125
+ * @returns {ServerSync.KeyId} KeyId instance
2126
+ */
2127
+ KeyId.create = function create(properties) {
2128
+ return new KeyId(properties);
2129
+ };
2130
+ /**
2131
+ * Encodes the specified KeyId message. Does not implicitly {@link ServerSync.KeyId.verify|verify} messages.
2132
+ * @function encode
2133
+ * @memberof ServerSync.KeyId
2134
+ * @static
2135
+ * @param {ServerSync.IKeyId} message KeyId message or plain object to encode
2136
+ * @param {$protobuf.Writer} [writer] Writer to encode to
2137
+ * @returns {$protobuf.Writer} Writer
2138
+ */
2139
+ KeyId.encode = function encode(message, writer) {
2140
+ if (!writer)
2141
+ writer = $Writer.create();
2142
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
2143
+ writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id);
2144
+ return writer;
2145
+ };
2146
+ /**
2147
+ * Encodes the specified KeyId message, length delimited. Does not implicitly {@link ServerSync.KeyId.verify|verify} messages.
2148
+ * @function encodeDelimited
2149
+ * @memberof ServerSync.KeyId
2150
+ * @static
2151
+ * @param {ServerSync.IKeyId} message KeyId message or plain object to encode
2152
+ * @param {$protobuf.Writer} [writer] Writer to encode to
2153
+ * @returns {$protobuf.Writer} Writer
2154
+ */
2155
+ KeyId.encodeDelimited = function encodeDelimited(message, writer) {
2156
+ return this.encode(message, writer).ldelim();
2157
+ };
2158
+ /**
2159
+ * Decodes a KeyId message from the specified reader or buffer.
2160
+ * @function decode
2161
+ * @memberof ServerSync.KeyId
2162
+ * @static
2163
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
2164
+ * @param {number} [length] Message length if known beforehand
2165
+ * @returns {ServerSync.KeyId} KeyId
2166
+ * @throws {Error} If the payload is not a reader or valid buffer
2167
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2168
+ */
2169
+ KeyId.decode = function decode(reader, length, error) {
2170
+ if (!(reader instanceof $Reader))
2171
+ reader = $Reader.create(reader);
2172
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.KeyId();
2173
+ while (reader.pos < end) {
2174
+ var tag = reader.uint32();
2175
+ if (tag === error)
2176
+ break;
2177
+ switch (tag >>> 3) {
2178
+ case 1: {
2179
+ message.id = reader.bytes();
2180
+ break;
2181
+ }
2182
+ default:
2183
+ reader.skipType(tag & 7);
2184
+ break;
2185
+ }
2186
+ }
2187
+ return message;
2188
+ };
2189
+ /**
2190
+ * Decodes a KeyId message from the specified reader or buffer, length delimited.
2191
+ * @function decodeDelimited
2192
+ * @memberof ServerSync.KeyId
2193
+ * @static
2194
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
2195
+ * @returns {ServerSync.KeyId} KeyId
2196
+ * @throws {Error} If the payload is not a reader or valid buffer
2197
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2198
+ */
2199
+ KeyId.decodeDelimited = function decodeDelimited(reader) {
2200
+ if (!(reader instanceof $Reader))
2201
+ reader = new $Reader(reader);
2202
+ return this.decode(reader, reader.uint32());
2203
+ };
2204
+ /**
2205
+ * Verifies a KeyId message.
2206
+ * @function verify
2207
+ * @memberof ServerSync.KeyId
2208
+ * @static
2209
+ * @param {Object.<string,*>} message Plain object to verify
2210
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
2211
+ */
2212
+ KeyId.verify = function verify(message) {
2213
+ if (typeof message !== "object" || message === null)
2214
+ return "object expected";
2215
+ var properties = {};
2216
+ if (message.id != null && message.hasOwnProperty("id")) {
2217
+ properties._id = 1;
2218
+ if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id)))
2219
+ return "id: buffer expected";
2220
+ }
2221
+ return null;
2222
+ };
2223
+ /**
2224
+ * Creates a KeyId message from a plain object. Also converts values to their respective internal types.
2225
+ * @function fromObject
2226
+ * @memberof ServerSync.KeyId
2227
+ * @static
2228
+ * @param {Object.<string,*>} object Plain object
2229
+ * @returns {ServerSync.KeyId} KeyId
2230
+ */
2231
+ KeyId.fromObject = function fromObject(object) {
2232
+ if (object instanceof $root.ServerSync.KeyId)
2233
+ return object;
2234
+ var message = new $root.ServerSync.KeyId();
2235
+ if (object.id != null)
2236
+ if (typeof object.id === "string")
2237
+ $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0);
2238
+ else if (object.id.length >= 0)
2239
+ message.id = object.id;
2240
+ return message;
2241
+ };
2242
+ /**
2243
+ * Creates a plain object from a KeyId message. Also converts values to other types if specified.
2244
+ * @function toObject
2245
+ * @memberof ServerSync.KeyId
2246
+ * @static
2247
+ * @param {ServerSync.KeyId} message KeyId
2248
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
2249
+ * @returns {Object.<string,*>} Plain object
2250
+ */
2251
+ KeyId.toObject = function toObject(message, options) {
2252
+ if (!options)
2253
+ options = {};
2254
+ var object = {};
2255
+ if (message.id != null && message.hasOwnProperty("id")) {
2256
+ object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id;
2257
+ if (options.oneofs)
2258
+ object._id = "id";
2259
+ }
2260
+ return object;
2261
+ };
2262
+ /**
2263
+ * Converts this KeyId to JSON.
2264
+ * @function toJSON
2265
+ * @memberof ServerSync.KeyId
2266
+ * @instance
2267
+ * @returns {Object.<string,*>} JSON object
2268
+ */
2269
+ KeyId.prototype.toJSON = function toJSON() {
2270
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
2271
+ };
2272
+ /**
2273
+ * Gets the default type url for KeyId
2274
+ * @function getTypeUrl
2275
+ * @memberof ServerSync.KeyId
2276
+ * @static
2277
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
2278
+ * @returns {string} The default type url
2279
+ */
2280
+ KeyId.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
2281
+ if (typeUrlPrefix === undefined) {
2282
+ typeUrlPrefix = "type.googleapis.com";
2283
+ }
2284
+ return typeUrlPrefix + "/ServerSync.KeyId";
2285
+ };
2286
+ return KeyId;
2287
+ })();
2288
+ ServerSync.SyncdValue = (function() {
2289
+ /**
2290
+ * Properties of a SyncdValue.
2291
+ * @memberof ServerSync
2292
+ * @interface ISyncdValue
2293
+ * @property {Uint8Array|null} [blob] SyncdValue blob
2294
+ */
2295
+ /**
2296
+ * Constructs a new SyncdValue.
2297
+ * @memberof ServerSync
2298
+ * @classdesc Represents a SyncdValue.
2299
+ * @implements ISyncdValue
2300
+ * @constructor
2301
+ * @param {ServerSync.ISyncdValue=} [properties] Properties to set
2302
+ */
2303
+ function SyncdValue(properties) {
2304
+ if (properties)
2305
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
2306
+ if (properties[keys[i]] != null)
2307
+ this[keys[i]] = properties[keys[i]];
2308
+ }
2309
+ /**
2310
+ * SyncdValue blob.
2311
+ * @member {Uint8Array|null|undefined} blob
2312
+ * @memberof ServerSync.SyncdValue
2313
+ * @instance
2314
+ */
2315
+ SyncdValue.prototype.blob = null;
2316
+ // OneOf field names bound to virtual getters and setters
2317
+ var $oneOfFields;
2318
+ /**
2319
+ * SyncdValue _blob.
2320
+ * @member {"blob"|undefined} _blob
2321
+ * @memberof ServerSync.SyncdValue
2322
+ * @instance
2323
+ */
2324
+ Object.defineProperty(SyncdValue.prototype, "_blob", {
2325
+ get: $util.oneOfGetter($oneOfFields = ["blob"]),
2326
+ set: $util.oneOfSetter($oneOfFields)
2327
+ });
2328
+ /**
2329
+ * Creates a new SyncdValue instance using the specified properties.
2330
+ * @function create
2331
+ * @memberof ServerSync.SyncdValue
2332
+ * @static
2333
+ * @param {ServerSync.ISyncdValue=} [properties] Properties to set
2334
+ * @returns {ServerSync.SyncdValue} SyncdValue instance
2335
+ */
2336
+ SyncdValue.create = function create(properties) {
2337
+ return new SyncdValue(properties);
2338
+ };
2339
+ /**
2340
+ * Encodes the specified SyncdValue message. Does not implicitly {@link ServerSync.SyncdValue.verify|verify} messages.
2341
+ * @function encode
2342
+ * @memberof ServerSync.SyncdValue
2343
+ * @static
2344
+ * @param {ServerSync.ISyncdValue} message SyncdValue message or plain object to encode
2345
+ * @param {$protobuf.Writer} [writer] Writer to encode to
2346
+ * @returns {$protobuf.Writer} Writer
2347
+ */
2348
+ SyncdValue.encode = function encode(message, writer) {
2349
+ if (!writer)
2350
+ writer = $Writer.create();
2351
+ if (message.blob != null && Object.hasOwnProperty.call(message, "blob"))
2352
+ writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.blob);
2353
+ return writer;
2354
+ };
2355
+ /**
2356
+ * Encodes the specified SyncdValue message, length delimited. Does not implicitly {@link ServerSync.SyncdValue.verify|verify} messages.
2357
+ * @function encodeDelimited
2358
+ * @memberof ServerSync.SyncdValue
2359
+ * @static
2360
+ * @param {ServerSync.ISyncdValue} message SyncdValue message or plain object to encode
2361
+ * @param {$protobuf.Writer} [writer] Writer to encode to
2362
+ * @returns {$protobuf.Writer} Writer
2363
+ */
2364
+ SyncdValue.encodeDelimited = function encodeDelimited(message, writer) {
2365
+ return this.encode(message, writer).ldelim();
2366
+ };
2367
+ /**
2368
+ * Decodes a SyncdValue message from the specified reader or buffer.
2369
+ * @function decode
2370
+ * @memberof ServerSync.SyncdValue
2371
+ * @static
2372
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
2373
+ * @param {number} [length] Message length if known beforehand
2374
+ * @returns {ServerSync.SyncdValue} SyncdValue
2375
+ * @throws {Error} If the payload is not a reader or valid buffer
2376
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2377
+ */
2378
+ SyncdValue.decode = function decode(reader, length, error) {
2379
+ if (!(reader instanceof $Reader))
2380
+ reader = $Reader.create(reader);
2381
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.SyncdValue();
2382
+ while (reader.pos < end) {
2383
+ var tag = reader.uint32();
2384
+ if (tag === error)
2385
+ break;
2386
+ switch (tag >>> 3) {
2387
+ case 1: {
2388
+ message.blob = reader.bytes();
2389
+ break;
2390
+ }
2391
+ default:
2392
+ reader.skipType(tag & 7);
2393
+ break;
2394
+ }
2395
+ }
2396
+ return message;
2397
+ };
2398
+ /**
2399
+ * Decodes a SyncdValue message from the specified reader or buffer, length delimited.
2400
+ * @function decodeDelimited
2401
+ * @memberof ServerSync.SyncdValue
2402
+ * @static
2403
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
2404
+ * @returns {ServerSync.SyncdValue} SyncdValue
2405
+ * @throws {Error} If the payload is not a reader or valid buffer
2406
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2407
+ */
2408
+ SyncdValue.decodeDelimited = function decodeDelimited(reader) {
2409
+ if (!(reader instanceof $Reader))
2410
+ reader = new $Reader(reader);
2411
+ return this.decode(reader, reader.uint32());
2412
+ };
2413
+ /**
2414
+ * Verifies a SyncdValue message.
2415
+ * @function verify
2416
+ * @memberof ServerSync.SyncdValue
2417
+ * @static
2418
+ * @param {Object.<string,*>} message Plain object to verify
2419
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
2420
+ */
2421
+ SyncdValue.verify = function verify(message) {
2422
+ if (typeof message !== "object" || message === null)
2423
+ return "object expected";
2424
+ var properties = {};
2425
+ if (message.blob != null && message.hasOwnProperty("blob")) {
2426
+ properties._blob = 1;
2427
+ if (!(message.blob && typeof message.blob.length === "number" || $util.isString(message.blob)))
2428
+ return "blob: buffer expected";
2429
+ }
2430
+ return null;
2431
+ };
2432
+ /**
2433
+ * Creates a SyncdValue message from a plain object. Also converts values to their respective internal types.
2434
+ * @function fromObject
2435
+ * @memberof ServerSync.SyncdValue
2436
+ * @static
2437
+ * @param {Object.<string,*>} object Plain object
2438
+ * @returns {ServerSync.SyncdValue} SyncdValue
2439
+ */
2440
+ SyncdValue.fromObject = function fromObject(object) {
2441
+ if (object instanceof $root.ServerSync.SyncdValue)
2442
+ return object;
2443
+ var message = new $root.ServerSync.SyncdValue();
2444
+ if (object.blob != null)
2445
+ if (typeof object.blob === "string")
2446
+ $util.base64.decode(object.blob, message.blob = $util.newBuffer($util.base64.length(object.blob)), 0);
2447
+ else if (object.blob.length >= 0)
2448
+ message.blob = object.blob;
2449
+ return message;
2450
+ };
2451
+ /**
2452
+ * Creates a plain object from a SyncdValue message. Also converts values to other types if specified.
2453
+ * @function toObject
2454
+ * @memberof ServerSync.SyncdValue
2455
+ * @static
2456
+ * @param {ServerSync.SyncdValue} message SyncdValue
2457
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
2458
+ * @returns {Object.<string,*>} Plain object
2459
+ */
2460
+ SyncdValue.toObject = function toObject(message, options) {
2461
+ if (!options)
2462
+ options = {};
2463
+ var object = {};
2464
+ if (message.blob != null && message.hasOwnProperty("blob")) {
2465
+ object.blob = options.bytes === String ? $util.base64.encode(message.blob, 0, message.blob.length) : options.bytes === Array ? Array.prototype.slice.call(message.blob) : message.blob;
2466
+ if (options.oneofs)
2467
+ object._blob = "blob";
2468
+ }
2469
+ return object;
2470
+ };
2471
+ /**
2472
+ * Converts this SyncdValue to JSON.
2473
+ * @function toJSON
2474
+ * @memberof ServerSync.SyncdValue
2475
+ * @instance
2476
+ * @returns {Object.<string,*>} JSON object
2477
+ */
2478
+ SyncdValue.prototype.toJSON = function toJSON() {
2479
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
2480
+ };
2481
+ /**
2482
+ * Gets the default type url for SyncdValue
2483
+ * @function getTypeUrl
2484
+ * @memberof ServerSync.SyncdValue
2485
+ * @static
2486
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
2487
+ * @returns {string} The default type url
2488
+ */
2489
+ SyncdValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
2490
+ if (typeUrlPrefix === undefined) {
2491
+ typeUrlPrefix = "type.googleapis.com";
2492
+ }
2493
+ return typeUrlPrefix + "/ServerSync.SyncdValue";
2494
+ };
2495
+ return SyncdValue;
2496
+ })();
2497
+ ServerSync.SyncdIndex = (function() {
2498
+ /**
2499
+ * Properties of a SyncdIndex.
2500
+ * @memberof ServerSync
2501
+ * @interface ISyncdIndex
2502
+ * @property {Uint8Array|null} [blob] SyncdIndex blob
2503
+ */
2504
+ /**
2505
+ * Constructs a new SyncdIndex.
2506
+ * @memberof ServerSync
2507
+ * @classdesc Represents a SyncdIndex.
2508
+ * @implements ISyncdIndex
2509
+ * @constructor
2510
+ * @param {ServerSync.ISyncdIndex=} [properties] Properties to set
2511
+ */
2512
+ function SyncdIndex(properties) {
2513
+ if (properties)
2514
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
2515
+ if (properties[keys[i]] != null)
2516
+ this[keys[i]] = properties[keys[i]];
2517
+ }
2518
+ /**
2519
+ * SyncdIndex blob.
2520
+ * @member {Uint8Array|null|undefined} blob
2521
+ * @memberof ServerSync.SyncdIndex
2522
+ * @instance
2523
+ */
2524
+ SyncdIndex.prototype.blob = null;
2525
+ // OneOf field names bound to virtual getters and setters
2526
+ var $oneOfFields;
2527
+ /**
2528
+ * SyncdIndex _blob.
2529
+ * @member {"blob"|undefined} _blob
2530
+ * @memberof ServerSync.SyncdIndex
2531
+ * @instance
2532
+ */
2533
+ Object.defineProperty(SyncdIndex.prototype, "_blob", {
2534
+ get: $util.oneOfGetter($oneOfFields = ["blob"]),
2535
+ set: $util.oneOfSetter($oneOfFields)
2536
+ });
2537
+ /**
2538
+ * Creates a new SyncdIndex instance using the specified properties.
2539
+ * @function create
2540
+ * @memberof ServerSync.SyncdIndex
2541
+ * @static
2542
+ * @param {ServerSync.ISyncdIndex=} [properties] Properties to set
2543
+ * @returns {ServerSync.SyncdIndex} SyncdIndex instance
2544
+ */
2545
+ SyncdIndex.create = function create(properties) {
2546
+ return new SyncdIndex(properties);
2547
+ };
2548
+ /**
2549
+ * Encodes the specified SyncdIndex message. Does not implicitly {@link ServerSync.SyncdIndex.verify|verify} messages.
2550
+ * @function encode
2551
+ * @memberof ServerSync.SyncdIndex
2552
+ * @static
2553
+ * @param {ServerSync.ISyncdIndex} message SyncdIndex message or plain object to encode
2554
+ * @param {$protobuf.Writer} [writer] Writer to encode to
2555
+ * @returns {$protobuf.Writer} Writer
2556
+ */
2557
+ SyncdIndex.encode = function encode(message, writer) {
2558
+ if (!writer)
2559
+ writer = $Writer.create();
2560
+ if (message.blob != null && Object.hasOwnProperty.call(message, "blob"))
2561
+ writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.blob);
2562
+ return writer;
2563
+ };
2564
+ /**
2565
+ * Encodes the specified SyncdIndex message, length delimited. Does not implicitly {@link ServerSync.SyncdIndex.verify|verify} messages.
2566
+ * @function encodeDelimited
2567
+ * @memberof ServerSync.SyncdIndex
2568
+ * @static
2569
+ * @param {ServerSync.ISyncdIndex} message SyncdIndex message or plain object to encode
2570
+ * @param {$protobuf.Writer} [writer] Writer to encode to
2571
+ * @returns {$protobuf.Writer} Writer
2572
+ */
2573
+ SyncdIndex.encodeDelimited = function encodeDelimited(message, writer) {
2574
+ return this.encode(message, writer).ldelim();
2575
+ };
2576
+ /**
2577
+ * Decodes a SyncdIndex message from the specified reader or buffer.
2578
+ * @function decode
2579
+ * @memberof ServerSync.SyncdIndex
2580
+ * @static
2581
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
2582
+ * @param {number} [length] Message length if known beforehand
2583
+ * @returns {ServerSync.SyncdIndex} SyncdIndex
2584
+ * @throws {Error} If the payload is not a reader or valid buffer
2585
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2586
+ */
2587
+ SyncdIndex.decode = function decode(reader, length, error) {
2588
+ if (!(reader instanceof $Reader))
2589
+ reader = $Reader.create(reader);
2590
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.SyncdIndex();
2591
+ while (reader.pos < end) {
2592
+ var tag = reader.uint32();
2593
+ if (tag === error)
2594
+ break;
2595
+ switch (tag >>> 3) {
2596
+ case 1: {
2597
+ message.blob = reader.bytes();
2598
+ break;
2599
+ }
2600
+ default:
2601
+ reader.skipType(tag & 7);
2602
+ break;
2603
+ }
2604
+ }
2605
+ return message;
2606
+ };
2607
+ /**
2608
+ * Decodes a SyncdIndex message from the specified reader or buffer, length delimited.
2609
+ * @function decodeDelimited
2610
+ * @memberof ServerSync.SyncdIndex
2611
+ * @static
2612
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
2613
+ * @returns {ServerSync.SyncdIndex} SyncdIndex
2614
+ * @throws {Error} If the payload is not a reader or valid buffer
2615
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2616
+ */
2617
+ SyncdIndex.decodeDelimited = function decodeDelimited(reader) {
2618
+ if (!(reader instanceof $Reader))
2619
+ reader = new $Reader(reader);
2620
+ return this.decode(reader, reader.uint32());
2621
+ };
2622
+ /**
2623
+ * Verifies a SyncdIndex message.
2624
+ * @function verify
2625
+ * @memberof ServerSync.SyncdIndex
2626
+ * @static
2627
+ * @param {Object.<string,*>} message Plain object to verify
2628
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
2629
+ */
2630
+ SyncdIndex.verify = function verify(message) {
2631
+ if (typeof message !== "object" || message === null)
2632
+ return "object expected";
2633
+ var properties = {};
2634
+ if (message.blob != null && message.hasOwnProperty("blob")) {
2635
+ properties._blob = 1;
2636
+ if (!(message.blob && typeof message.blob.length === "number" || $util.isString(message.blob)))
2637
+ return "blob: buffer expected";
2638
+ }
2639
+ return null;
2640
+ };
2641
+ /**
2642
+ * Creates a SyncdIndex message from a plain object. Also converts values to their respective internal types.
2643
+ * @function fromObject
2644
+ * @memberof ServerSync.SyncdIndex
2645
+ * @static
2646
+ * @param {Object.<string,*>} object Plain object
2647
+ * @returns {ServerSync.SyncdIndex} SyncdIndex
2648
+ */
2649
+ SyncdIndex.fromObject = function fromObject(object) {
2650
+ if (object instanceof $root.ServerSync.SyncdIndex)
2651
+ return object;
2652
+ var message = new $root.ServerSync.SyncdIndex();
2653
+ if (object.blob != null)
2654
+ if (typeof object.blob === "string")
2655
+ $util.base64.decode(object.blob, message.blob = $util.newBuffer($util.base64.length(object.blob)), 0);
2656
+ else if (object.blob.length >= 0)
2657
+ message.blob = object.blob;
2658
+ return message;
2659
+ };
2660
+ /**
2661
+ * Creates a plain object from a SyncdIndex message. Also converts values to other types if specified.
2662
+ * @function toObject
2663
+ * @memberof ServerSync.SyncdIndex
2664
+ * @static
2665
+ * @param {ServerSync.SyncdIndex} message SyncdIndex
2666
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
2667
+ * @returns {Object.<string,*>} Plain object
2668
+ */
2669
+ SyncdIndex.toObject = function toObject(message, options) {
2670
+ if (!options)
2671
+ options = {};
2672
+ var object = {};
2673
+ if (message.blob != null && message.hasOwnProperty("blob")) {
2674
+ object.blob = options.bytes === String ? $util.base64.encode(message.blob, 0, message.blob.length) : options.bytes === Array ? Array.prototype.slice.call(message.blob) : message.blob;
2675
+ if (options.oneofs)
2676
+ object._blob = "blob";
2677
+ }
2678
+ return object;
2679
+ };
2680
+ /**
2681
+ * Converts this SyncdIndex to JSON.
2682
+ * @function toJSON
2683
+ * @memberof ServerSync.SyncdIndex
2684
+ * @instance
2685
+ * @returns {Object.<string,*>} JSON object
2686
+ */
2687
+ SyncdIndex.prototype.toJSON = function toJSON() {
2688
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
2689
+ };
2690
+ /**
2691
+ * Gets the default type url for SyncdIndex
2692
+ * @function getTypeUrl
2693
+ * @memberof ServerSync.SyncdIndex
2694
+ * @static
2695
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
2696
+ * @returns {string} The default type url
2697
+ */
2698
+ SyncdIndex.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
2699
+ if (typeUrlPrefix === undefined) {
2700
+ typeUrlPrefix = "type.googleapis.com";
2701
+ }
2702
+ return typeUrlPrefix + "/ServerSync.SyncdIndex";
2703
+ };
2704
+ return SyncdIndex;
2705
+ })();
2706
+ ServerSync.ExitCode = (function() {
2707
+ /**
2708
+ * Properties of an ExitCode.
2709
+ * @memberof ServerSync
2710
+ * @interface IExitCode
2711
+ * @property {number|Long|null} [code] ExitCode code
2712
+ * @property {string|null} [text] ExitCode text
2713
+ */
2714
+ /**
2715
+ * Constructs a new ExitCode.
2716
+ * @memberof ServerSync
2717
+ * @classdesc Represents an ExitCode.
2718
+ * @implements IExitCode
2719
+ * @constructor
2720
+ * @param {ServerSync.IExitCode=} [properties] Properties to set
2721
+ */
2722
+ function ExitCode(properties) {
2723
+ if (properties)
2724
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
2725
+ if (properties[keys[i]] != null)
2726
+ this[keys[i]] = properties[keys[i]];
2727
+ }
2728
+ /**
2729
+ * ExitCode code.
2730
+ * @member {number|Long|null|undefined} code
2731
+ * @memberof ServerSync.ExitCode
2732
+ * @instance
2733
+ */
2734
+ ExitCode.prototype.code = null;
2735
+ /**
2736
+ * ExitCode text.
2737
+ * @member {string|null|undefined} text
2738
+ * @memberof ServerSync.ExitCode
2739
+ * @instance
2740
+ */
2741
+ ExitCode.prototype.text = null;
2742
+ // OneOf field names bound to virtual getters and setters
2743
+ var $oneOfFields;
2744
+ /**
2745
+ * ExitCode _code.
2746
+ * @member {"code"|undefined} _code
2747
+ * @memberof ServerSync.ExitCode
2748
+ * @instance
2749
+ */
2750
+ Object.defineProperty(ExitCode.prototype, "_code", {
2751
+ get: $util.oneOfGetter($oneOfFields = ["code"]),
2752
+ set: $util.oneOfSetter($oneOfFields)
2753
+ });
2754
+ /**
2755
+ * ExitCode _text.
2756
+ * @member {"text"|undefined} _text
2757
+ * @memberof ServerSync.ExitCode
2758
+ * @instance
2759
+ */
2760
+ Object.defineProperty(ExitCode.prototype, "_text", {
2761
+ get: $util.oneOfGetter($oneOfFields = ["text"]),
2762
+ set: $util.oneOfSetter($oneOfFields)
2763
+ });
2764
+ /**
2765
+ * Creates a new ExitCode instance using the specified properties.
2766
+ * @function create
2767
+ * @memberof ServerSync.ExitCode
2768
+ * @static
2769
+ * @param {ServerSync.IExitCode=} [properties] Properties to set
2770
+ * @returns {ServerSync.ExitCode} ExitCode instance
2771
+ */
2772
+ ExitCode.create = function create(properties) {
2773
+ return new ExitCode(properties);
2774
+ };
2775
+ /**
2776
+ * Encodes the specified ExitCode message. Does not implicitly {@link ServerSync.ExitCode.verify|verify} messages.
2777
+ * @function encode
2778
+ * @memberof ServerSync.ExitCode
2779
+ * @static
2780
+ * @param {ServerSync.IExitCode} message ExitCode message or plain object to encode
2781
+ * @param {$protobuf.Writer} [writer] Writer to encode to
2782
+ * @returns {$protobuf.Writer} Writer
2783
+ */
2784
+ ExitCode.encode = function encode(message, writer) {
2785
+ if (!writer)
2786
+ writer = $Writer.create();
2787
+ if (message.code != null && Object.hasOwnProperty.call(message, "code"))
2788
+ writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.code);
2789
+ if (message.text != null && Object.hasOwnProperty.call(message, "text"))
2790
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.text);
2791
+ return writer;
2792
+ };
2793
+ /**
2794
+ * Encodes the specified ExitCode message, length delimited. Does not implicitly {@link ServerSync.ExitCode.verify|verify} messages.
2795
+ * @function encodeDelimited
2796
+ * @memberof ServerSync.ExitCode
2797
+ * @static
2798
+ * @param {ServerSync.IExitCode} message ExitCode message or plain object to encode
2799
+ * @param {$protobuf.Writer} [writer] Writer to encode to
2800
+ * @returns {$protobuf.Writer} Writer
2801
+ */
2802
+ ExitCode.encodeDelimited = function encodeDelimited(message, writer) {
2803
+ return this.encode(message, writer).ldelim();
2804
+ };
2805
+ /**
2806
+ * Decodes an ExitCode message from the specified reader or buffer.
2807
+ * @function decode
2808
+ * @memberof ServerSync.ExitCode
2809
+ * @static
2810
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
2811
+ * @param {number} [length] Message length if known beforehand
2812
+ * @returns {ServerSync.ExitCode} ExitCode
2813
+ * @throws {Error} If the payload is not a reader or valid buffer
2814
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2815
+ */
2816
+ ExitCode.decode = function decode(reader, length, error) {
2817
+ if (!(reader instanceof $Reader))
2818
+ reader = $Reader.create(reader);
2819
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.ExitCode();
2820
+ while (reader.pos < end) {
2821
+ var tag = reader.uint32();
2822
+ if (tag === error)
2823
+ break;
2824
+ switch (tag >>> 3) {
2825
+ case 1: {
2826
+ message.code = reader.uint64();
2827
+ break;
2828
+ }
2829
+ case 2: {
2830
+ message.text = reader.string();
2831
+ break;
2832
+ }
2833
+ default:
2834
+ reader.skipType(tag & 7);
2835
+ break;
2836
+ }
2837
+ }
2838
+ return message;
2839
+ };
2840
+ /**
2841
+ * Decodes an ExitCode message from the specified reader or buffer, length delimited.
2842
+ * @function decodeDelimited
2843
+ * @memberof ServerSync.ExitCode
2844
+ * @static
2845
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
2846
+ * @returns {ServerSync.ExitCode} ExitCode
2847
+ * @throws {Error} If the payload is not a reader or valid buffer
2848
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
2849
+ */
2850
+ ExitCode.decodeDelimited = function decodeDelimited(reader) {
2851
+ if (!(reader instanceof $Reader))
2852
+ reader = new $Reader(reader);
2853
+ return this.decode(reader, reader.uint32());
2854
+ };
2855
+ /**
2856
+ * Verifies an ExitCode message.
2857
+ * @function verify
2858
+ * @memberof ServerSync.ExitCode
2859
+ * @static
2860
+ * @param {Object.<string,*>} message Plain object to verify
2861
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
2862
+ */
2863
+ ExitCode.verify = function verify(message) {
2864
+ if (typeof message !== "object" || message === null)
2865
+ return "object expected";
2866
+ var properties = {};
2867
+ if (message.code != null && message.hasOwnProperty("code")) {
2868
+ properties._code = 1;
2869
+ if (!$util.isInteger(message.code) && !(message.code && $util.isInteger(message.code.low) && $util.isInteger(message.code.high)))
2870
+ return "code: integer|Long expected";
2871
+ }
2872
+ if (message.text != null && message.hasOwnProperty("text")) {
2873
+ properties._text = 1;
2874
+ if (!$util.isString(message.text))
2875
+ return "text: string expected";
2876
+ }
2877
+ return null;
2878
+ };
2879
+ /**
2880
+ * Creates an ExitCode message from a plain object. Also converts values to their respective internal types.
2881
+ * @function fromObject
2882
+ * @memberof ServerSync.ExitCode
2883
+ * @static
2884
+ * @param {Object.<string,*>} object Plain object
2885
+ * @returns {ServerSync.ExitCode} ExitCode
2886
+ */
2887
+ ExitCode.fromObject = function fromObject(object) {
2888
+ if (object instanceof $root.ServerSync.ExitCode)
2889
+ return object;
2890
+ var message = new $root.ServerSync.ExitCode();
2891
+ if (object.code != null)
2892
+ if ($util.Long)
2893
+ (message.code = $util.Long.fromValue(object.code)).unsigned = true;
2894
+ else if (typeof object.code === "string")
2895
+ message.code = parseInt(object.code, 10);
2896
+ else if (typeof object.code === "number")
2897
+ message.code = object.code;
2898
+ else if (typeof object.code === "object")
2899
+ message.code = new $util.LongBits(object.code.low >>> 0, object.code.high >>> 0).toNumber(true);
2900
+ if (object.text != null)
2901
+ message.text = String(object.text);
2902
+ return message;
2903
+ };
2904
+ /**
2905
+ * Creates a plain object from an ExitCode message. Also converts values to other types if specified.
2906
+ * @function toObject
2907
+ * @memberof ServerSync.ExitCode
2908
+ * @static
2909
+ * @param {ServerSync.ExitCode} message ExitCode
2910
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
2911
+ * @returns {Object.<string,*>} Plain object
2912
+ */
2913
+ ExitCode.toObject = function toObject(message, options) {
2914
+ if (!options)
2915
+ options = {};
2916
+ var object = {};
2917
+ if (message.code != null && message.hasOwnProperty("code")) {
2918
+ if (typeof message.code === "number")
2919
+ object.code = options.longs === String ? String(message.code) : message.code;
2920
+ else
2921
+ object.code = options.longs === String ? $util.Long.prototype.toString.call(message.code) : options.longs === Number ? new $util.LongBits(message.code.low >>> 0, message.code.high >>> 0).toNumber(true) : message.code;
2922
+ if (options.oneofs)
2923
+ object._code = "code";
2924
+ }
2925
+ if (message.text != null && message.hasOwnProperty("text")) {
2926
+ object.text = message.text;
2927
+ if (options.oneofs)
2928
+ object._text = "text";
2929
+ }
2930
+ return object;
2931
+ };
2932
+ /**
2933
+ * Converts this ExitCode to JSON.
2934
+ * @function toJSON
2935
+ * @memberof ServerSync.ExitCode
2936
+ * @instance
2937
+ * @returns {Object.<string,*>} JSON object
2938
+ */
2939
+ ExitCode.prototype.toJSON = function toJSON() {
2940
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
2941
+ };
2942
+ /**
2943
+ * Gets the default type url for ExitCode
2944
+ * @function getTypeUrl
2945
+ * @memberof ServerSync.ExitCode
2946
+ * @static
2947
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
2948
+ * @returns {string} The default type url
2949
+ */
2950
+ ExitCode.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
2951
+ if (typeUrlPrefix === undefined) {
2952
+ typeUrlPrefix = "type.googleapis.com";
2953
+ }
2954
+ return typeUrlPrefix + "/ServerSync.ExitCode";
2955
+ };
2956
+ return ExitCode;
2957
+ })();
2958
+ ServerSync.SyncdVersion = (function() {
2959
+ /**
2960
+ * Properties of a SyncdVersion.
2961
+ * @memberof ServerSync
2962
+ * @interface ISyncdVersion
2963
+ * @property {number|Long|null} [version] SyncdVersion version
2964
+ */
2965
+ /**
2966
+ * Constructs a new SyncdVersion.
2967
+ * @memberof ServerSync
2968
+ * @classdesc Represents a SyncdVersion.
2969
+ * @implements ISyncdVersion
2970
+ * @constructor
2971
+ * @param {ServerSync.ISyncdVersion=} [properties] Properties to set
2972
+ */
2973
+ function SyncdVersion(properties) {
2974
+ if (properties)
2975
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
2976
+ if (properties[keys[i]] != null)
2977
+ this[keys[i]] = properties[keys[i]];
2978
+ }
2979
+ /**
2980
+ * SyncdVersion version.
2981
+ * @member {number|Long|null|undefined} version
2982
+ * @memberof ServerSync.SyncdVersion
2983
+ * @instance
2984
+ */
2985
+ SyncdVersion.prototype.version = null;
2986
+ // OneOf field names bound to virtual getters and setters
2987
+ var $oneOfFields;
2988
+ /**
2989
+ * SyncdVersion _version.
2990
+ * @member {"version"|undefined} _version
2991
+ * @memberof ServerSync.SyncdVersion
2992
+ * @instance
2993
+ */
2994
+ Object.defineProperty(SyncdVersion.prototype, "_version", {
2995
+ get: $util.oneOfGetter($oneOfFields = ["version"]),
2996
+ set: $util.oneOfSetter($oneOfFields)
2997
+ });
2998
+ /**
2999
+ * Creates a new SyncdVersion instance using the specified properties.
3000
+ * @function create
3001
+ * @memberof ServerSync.SyncdVersion
3002
+ * @static
3003
+ * @param {ServerSync.ISyncdVersion=} [properties] Properties to set
3004
+ * @returns {ServerSync.SyncdVersion} SyncdVersion instance
3005
+ */
3006
+ SyncdVersion.create = function create(properties) {
3007
+ return new SyncdVersion(properties);
3008
+ };
3009
+ /**
3010
+ * Encodes the specified SyncdVersion message. Does not implicitly {@link ServerSync.SyncdVersion.verify|verify} messages.
3011
+ * @function encode
3012
+ * @memberof ServerSync.SyncdVersion
3013
+ * @static
3014
+ * @param {ServerSync.ISyncdVersion} message SyncdVersion message or plain object to encode
3015
+ * @param {$protobuf.Writer} [writer] Writer to encode to
3016
+ * @returns {$protobuf.Writer} Writer
3017
+ */
3018
+ SyncdVersion.encode = function encode(message, writer) {
3019
+ if (!writer)
3020
+ writer = $Writer.create();
3021
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
3022
+ writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.version);
3023
+ return writer;
3024
+ };
3025
+ /**
3026
+ * Encodes the specified SyncdVersion message, length delimited. Does not implicitly {@link ServerSync.SyncdVersion.verify|verify} messages.
3027
+ * @function encodeDelimited
3028
+ * @memberof ServerSync.SyncdVersion
3029
+ * @static
3030
+ * @param {ServerSync.ISyncdVersion} message SyncdVersion message or plain object to encode
3031
+ * @param {$protobuf.Writer} [writer] Writer to encode to
3032
+ * @returns {$protobuf.Writer} Writer
3033
+ */
3034
+ SyncdVersion.encodeDelimited = function encodeDelimited(message, writer) {
3035
+ return this.encode(message, writer).ldelim();
3036
+ };
3037
+ /**
3038
+ * Decodes a SyncdVersion message from the specified reader or buffer.
3039
+ * @function decode
3040
+ * @memberof ServerSync.SyncdVersion
3041
+ * @static
3042
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
3043
+ * @param {number} [length] Message length if known beforehand
3044
+ * @returns {ServerSync.SyncdVersion} SyncdVersion
3045
+ * @throws {Error} If the payload is not a reader or valid buffer
3046
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
3047
+ */
3048
+ SyncdVersion.decode = function decode(reader, length, error) {
3049
+ if (!(reader instanceof $Reader))
3050
+ reader = $Reader.create(reader);
3051
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.ServerSync.SyncdVersion();
3052
+ while (reader.pos < end) {
3053
+ var tag = reader.uint32();
3054
+ if (tag === error)
3055
+ break;
3056
+ switch (tag >>> 3) {
3057
+ case 1: {
3058
+ message.version = reader.uint64();
3059
+ break;
3060
+ }
3061
+ default:
3062
+ reader.skipType(tag & 7);
3063
+ break;
3064
+ }
3065
+ }
3066
+ return message;
3067
+ };
3068
+ /**
3069
+ * Decodes a SyncdVersion message from the specified reader or buffer, length delimited.
3070
+ * @function decodeDelimited
3071
+ * @memberof ServerSync.SyncdVersion
3072
+ * @static
3073
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
3074
+ * @returns {ServerSync.SyncdVersion} SyncdVersion
3075
+ * @throws {Error} If the payload is not a reader or valid buffer
3076
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
3077
+ */
3078
+ SyncdVersion.decodeDelimited = function decodeDelimited(reader) {
3079
+ if (!(reader instanceof $Reader))
3080
+ reader = new $Reader(reader);
3081
+ return this.decode(reader, reader.uint32());
3082
+ };
3083
+ /**
3084
+ * Verifies a SyncdVersion message.
3085
+ * @function verify
3086
+ * @memberof ServerSync.SyncdVersion
3087
+ * @static
3088
+ * @param {Object.<string,*>} message Plain object to verify
3089
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
3090
+ */
3091
+ SyncdVersion.verify = function verify(message) {
3092
+ if (typeof message !== "object" || message === null)
3093
+ return "object expected";
3094
+ var properties = {};
3095
+ if (message.version != null && message.hasOwnProperty("version")) {
3096
+ properties._version = 1;
3097
+ if (!$util.isInteger(message.version) && !(message.version && $util.isInteger(message.version.low) && $util.isInteger(message.version.high)))
3098
+ return "version: integer|Long expected";
3099
+ }
3100
+ return null;
3101
+ };
3102
+ /**
3103
+ * Creates a SyncdVersion message from a plain object. Also converts values to their respective internal types.
3104
+ * @function fromObject
3105
+ * @memberof ServerSync.SyncdVersion
3106
+ * @static
3107
+ * @param {Object.<string,*>} object Plain object
3108
+ * @returns {ServerSync.SyncdVersion} SyncdVersion
3109
+ */
3110
+ SyncdVersion.fromObject = function fromObject(object) {
3111
+ if (object instanceof $root.ServerSync.SyncdVersion)
3112
+ return object;
3113
+ var message = new $root.ServerSync.SyncdVersion();
3114
+ if (object.version != null)
3115
+ if ($util.Long)
3116
+ (message.version = $util.Long.fromValue(object.version)).unsigned = true;
3117
+ else if (typeof object.version === "string")
3118
+ message.version = parseInt(object.version, 10);
3119
+ else if (typeof object.version === "number")
3120
+ message.version = object.version;
3121
+ else if (typeof object.version === "object")
3122
+ message.version = new $util.LongBits(object.version.low >>> 0, object.version.high >>> 0).toNumber(true);
3123
+ return message;
3124
+ };
3125
+ /**
3126
+ * Creates a plain object from a SyncdVersion message. Also converts values to other types if specified.
3127
+ * @function toObject
3128
+ * @memberof ServerSync.SyncdVersion
3129
+ * @static
3130
+ * @param {ServerSync.SyncdVersion} message SyncdVersion
3131
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
3132
+ * @returns {Object.<string,*>} Plain object
3133
+ */
3134
+ SyncdVersion.toObject = function toObject(message, options) {
3135
+ if (!options)
3136
+ options = {};
3137
+ var object = {};
3138
+ if (message.version != null && message.hasOwnProperty("version")) {
3139
+ if (typeof message.version === "number")
3140
+ object.version = options.longs === String ? String(message.version) : message.version;
3141
+ else
3142
+ object.version = options.longs === String ? $util.Long.prototype.toString.call(message.version) : options.longs === Number ? new $util.LongBits(message.version.low >>> 0, message.version.high >>> 0).toNumber(true) : message.version;
3143
+ if (options.oneofs)
3144
+ object._version = "version";
3145
+ }
3146
+ return object;
3147
+ };
3148
+ /**
3149
+ * Converts this SyncdVersion to JSON.
3150
+ * @function toJSON
3151
+ * @memberof ServerSync.SyncdVersion
3152
+ * @instance
3153
+ * @returns {Object.<string,*>} JSON object
3154
+ */
3155
+ SyncdVersion.prototype.toJSON = function toJSON() {
3156
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
3157
+ };
3158
+ /**
3159
+ * Gets the default type url for SyncdVersion
3160
+ * @function getTypeUrl
3161
+ * @memberof ServerSync.SyncdVersion
3162
+ * @static
3163
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
3164
+ * @returns {string} The default type url
3165
+ */
3166
+ SyncdVersion.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
3167
+ if (typeUrlPrefix === undefined) {
3168
+ typeUrlPrefix = "type.googleapis.com";
3169
+ }
3170
+ return typeUrlPrefix + "/ServerSync.SyncdVersion";
3171
+ };
3172
+ return SyncdVersion;
3173
+ })();
3174
+ return ServerSync;
3175
+ })();
3176
+ module.exports = $root;