1 | 'use strict';
|
2 |
|
3 |
|
4 |
|
5 | var FeedMessage = exports.FeedMessage = {};
|
6 |
|
7 | FeedMessage.read = function (pbf, end) {
|
8 | return pbf.readFields(FeedMessage._readField, {header: null, entity: []}, end);
|
9 | };
|
10 | FeedMessage._readField = function (tag, obj, pbf) {
|
11 | if (tag === 1) obj.header = FeedHeader.read(pbf, pbf.readVarint() + pbf.pos);
|
12 | else if (tag === 2) obj.entity.push(FeedEntity.read(pbf, pbf.readVarint() + pbf.pos));
|
13 | };
|
14 | FeedMessage.write = function (obj, pbf) {
|
15 | if (obj.header) pbf.writeMessage(1, FeedHeader.write, obj.header);
|
16 | if (obj.entity) for (var i = 0; i < obj.entity.length; i++) pbf.writeMessage(2, FeedEntity.write, obj.entity[i]);
|
17 | };
|
18 |
|
19 |
|
20 |
|
21 | var FeedHeader = exports.FeedHeader = {};
|
22 |
|
23 | FeedHeader.read = function (pbf, end) {
|
24 | return pbf.readFields(FeedHeader._readField, {gtfs_realtime_version: "", incrementality: {"value":0,"options":{}}, timestamp: 0}, end);
|
25 | };
|
26 | FeedHeader._readField = function (tag, obj, pbf) {
|
27 | if (tag === 1) obj.gtfs_realtime_version = pbf.readString();
|
28 | else if (tag === 2) obj.incrementality = pbf.readVarint();
|
29 | else if (tag === 3) obj.timestamp = pbf.readVarint();
|
30 | };
|
31 | FeedHeader.write = function (obj, pbf) {
|
32 | if (obj.gtfs_realtime_version) pbf.writeStringField(1, obj.gtfs_realtime_version);
|
33 | if (obj.incrementality != undefined && obj.incrementality !== {"value":0,"options":{}}) pbf.writeVarintField(2, obj.incrementality);
|
34 | if (obj.timestamp) pbf.writeVarintField(3, obj.timestamp);
|
35 | };
|
36 |
|
37 | FeedHeader.Incrementality = {
|
38 | "FULL_DATASET": {
|
39 | "value": 0,
|
40 | "options": {}
|
41 | },
|
42 | "DIFFERENTIAL": {
|
43 | "value": 1,
|
44 | "options": {}
|
45 | }
|
46 | };
|
47 |
|
48 |
|
49 |
|
50 | var FeedEntity = exports.FeedEntity = {};
|
51 |
|
52 | FeedEntity.read = function (pbf, end) {
|
53 | return pbf.readFields(FeedEntity._readField, {id: "", is_deleted: false, trip_update: null, vehicle: null, alert: null}, end);
|
54 | };
|
55 | FeedEntity._readField = function (tag, obj, pbf) {
|
56 | if (tag === 1) obj.id = pbf.readString();
|
57 | else if (tag === 2) obj.is_deleted = pbf.readBoolean();
|
58 | else if (tag === 3) obj.trip_update = TripUpdate.read(pbf, pbf.readVarint() + pbf.pos);
|
59 | else if (tag === 4) obj.vehicle = VehiclePosition.read(pbf, pbf.readVarint() + pbf.pos);
|
60 | else if (tag === 5) obj.alert = Alert.read(pbf, pbf.readVarint() + pbf.pos);
|
61 | };
|
62 | FeedEntity.write = function (obj, pbf) {
|
63 | if (obj.id) pbf.writeStringField(1, obj.id);
|
64 | if (obj.is_deleted) pbf.writeBooleanField(2, obj.is_deleted);
|
65 | if (obj.trip_update) pbf.writeMessage(3, TripUpdate.write, obj.trip_update);
|
66 | if (obj.vehicle) pbf.writeMessage(4, VehiclePosition.write, obj.vehicle);
|
67 | if (obj.alert) pbf.writeMessage(5, Alert.write, obj.alert);
|
68 | };
|
69 |
|
70 |
|
71 |
|
72 | var TripUpdate = exports.TripUpdate = {};
|
73 |
|
74 | TripUpdate.read = function (pbf, end) {
|
75 | return pbf.readFields(TripUpdate._readField, {trip: null, vehicle: null, stop_time_update: [], timestamp: 0, delay: 0}, end);
|
76 | };
|
77 | TripUpdate._readField = function (tag, obj, pbf) {
|
78 | if (tag === 1) obj.trip = TripDescriptor.read(pbf, pbf.readVarint() + pbf.pos);
|
79 | else if (tag === 3) obj.vehicle = VehicleDescriptor.read(pbf, pbf.readVarint() + pbf.pos);
|
80 | else if (tag === 2) obj.stop_time_update.push(TripUpdate.StopTimeUpdate.read(pbf, pbf.readVarint() + pbf.pos));
|
81 | else if (tag === 4) obj.timestamp = pbf.readVarint();
|
82 | else if (tag === 5) obj.delay = pbf.readVarint(true);
|
83 | };
|
84 | TripUpdate.write = function (obj, pbf) {
|
85 | if (obj.trip) pbf.writeMessage(1, TripDescriptor.write, obj.trip);
|
86 | if (obj.vehicle) pbf.writeMessage(3, VehicleDescriptor.write, obj.vehicle);
|
87 | if (obj.stop_time_update) for (var i = 0; i < obj.stop_time_update.length; i++) pbf.writeMessage(2, TripUpdate.StopTimeUpdate.write, obj.stop_time_update[i]);
|
88 | if (obj.timestamp) pbf.writeVarintField(4, obj.timestamp);
|
89 | if (obj.delay) pbf.writeVarintField(5, obj.delay);
|
90 | };
|
91 |
|
92 |
|
93 |
|
94 | TripUpdate.StopTimeEvent = {};
|
95 |
|
96 | TripUpdate.StopTimeEvent.read = function (pbf, end) {
|
97 | return pbf.readFields(TripUpdate.StopTimeEvent._readField, {delay: 0, time: 0, uncertainty: 0}, end);
|
98 | };
|
99 | TripUpdate.StopTimeEvent._readField = function (tag, obj, pbf) {
|
100 | if (tag === 1) obj.delay = pbf.readVarint(true);
|
101 | else if (tag === 2) obj.time = pbf.readVarint(true);
|
102 | else if (tag === 3) obj.uncertainty = pbf.readVarint(true);
|
103 | };
|
104 | TripUpdate.StopTimeEvent.write = function (obj, pbf) {
|
105 | if (obj.delay) pbf.writeVarintField(1, obj.delay);
|
106 | if (obj.time) pbf.writeVarintField(2, obj.time);
|
107 | if (obj.uncertainty) pbf.writeVarintField(3, obj.uncertainty);
|
108 | };
|
109 |
|
110 |
|
111 |
|
112 | TripUpdate.StopTimeUpdate = {};
|
113 |
|
114 | TripUpdate.StopTimeUpdate.read = function (pbf, end) {
|
115 | return pbf.readFields(TripUpdate.StopTimeUpdate._readField, {stop_sequence: 0, stop_id: "", arrival: null, departure: null, schedule_relationship: {"value":0,"options":{}}}, end);
|
116 | };
|
117 | TripUpdate.StopTimeUpdate._readField = function (tag, obj, pbf) {
|
118 | if (tag === 1) obj.stop_sequence = pbf.readVarint();
|
119 | else if (tag === 4) obj.stop_id = pbf.readString();
|
120 | else if (tag === 2) obj.arrival = TripUpdate.StopTimeEvent.read(pbf, pbf.readVarint() + pbf.pos);
|
121 | else if (tag === 3) obj.departure = TripUpdate.StopTimeEvent.read(pbf, pbf.readVarint() + pbf.pos);
|
122 | else if (tag === 5) obj.schedule_relationship = pbf.readVarint();
|
123 | };
|
124 | TripUpdate.StopTimeUpdate.write = function (obj, pbf) {
|
125 | if (obj.stop_sequence) pbf.writeVarintField(1, obj.stop_sequence);
|
126 | if (obj.stop_id) pbf.writeStringField(4, obj.stop_id);
|
127 | if (obj.arrival) pbf.writeMessage(2, TripUpdate.StopTimeEvent.write, obj.arrival);
|
128 | if (obj.departure) pbf.writeMessage(3, TripUpdate.StopTimeEvent.write, obj.departure);
|
129 | if (obj.schedule_relationship != undefined && obj.schedule_relationship !== {"value":0,"options":{}}) pbf.writeVarintField(5, obj.schedule_relationship);
|
130 | };
|
131 |
|
132 | TripUpdate.StopTimeUpdate.ScheduleRelationship = {
|
133 | "SCHEDULED": {
|
134 | "value": 0,
|
135 | "options": {}
|
136 | },
|
137 | "SKIPPED": {
|
138 | "value": 1,
|
139 | "options": {}
|
140 | },
|
141 | "NO_DATA": {
|
142 | "value": 2,
|
143 | "options": {}
|
144 | }
|
145 | };
|
146 |
|
147 |
|
148 |
|
149 | var VehiclePosition = exports.VehiclePosition = {};
|
150 |
|
151 | VehiclePosition.read = function (pbf, end) {
|
152 | return pbf.readFields(VehiclePosition._readField, {trip: null, vehicle: null, position: null, current_stop_sequence: 0, stop_id: "", current_status: {"value":2,"options":{}}, timestamp: 0, congestion_level: 0, occupancy_status: 0}, end);
|
153 | };
|
154 | VehiclePosition._readField = function (tag, obj, pbf) {
|
155 | if (tag === 1) obj.trip = TripDescriptor.read(pbf, pbf.readVarint() + pbf.pos);
|
156 | else if (tag === 8) obj.vehicle = VehicleDescriptor.read(pbf, pbf.readVarint() + pbf.pos);
|
157 | else if (tag === 2) obj.position = Position.read(pbf, pbf.readVarint() + pbf.pos);
|
158 | else if (tag === 3) obj.current_stop_sequence = pbf.readVarint();
|
159 | else if (tag === 7) obj.stop_id = pbf.readString();
|
160 | else if (tag === 4) obj.current_status = pbf.readVarint();
|
161 | else if (tag === 5) obj.timestamp = pbf.readVarint();
|
162 | else if (tag === 6) obj.congestion_level = pbf.readVarint();
|
163 | else if (tag === 9) obj.occupancy_status = pbf.readVarint();
|
164 | };
|
165 | VehiclePosition.write = function (obj, pbf) {
|
166 | if (obj.trip) pbf.writeMessage(1, TripDescriptor.write, obj.trip);
|
167 | if (obj.vehicle) pbf.writeMessage(8, VehicleDescriptor.write, obj.vehicle);
|
168 | if (obj.position) pbf.writeMessage(2, Position.write, obj.position);
|
169 | if (obj.current_stop_sequence) pbf.writeVarintField(3, obj.current_stop_sequence);
|
170 | if (obj.stop_id) pbf.writeStringField(7, obj.stop_id);
|
171 | if (obj.current_status != undefined && obj.current_status !== {"value":2,"options":{}}) pbf.writeVarintField(4, obj.current_status);
|
172 | if (obj.timestamp) pbf.writeVarintField(5, obj.timestamp);
|
173 | if (obj.congestion_level) pbf.writeVarintField(6, obj.congestion_level);
|
174 | if (obj.occupancy_status) pbf.writeVarintField(9, obj.occupancy_status);
|
175 | };
|
176 |
|
177 | VehiclePosition.VehicleStopStatus = {
|
178 | "INCOMING_AT": {
|
179 | "value": 0,
|
180 | "options": {}
|
181 | },
|
182 | "STOPPED_AT": {
|
183 | "value": 1,
|
184 | "options": {}
|
185 | },
|
186 | "IN_TRANSIT_TO": {
|
187 | "value": 2,
|
188 | "options": {}
|
189 | }
|
190 | };
|
191 |
|
192 | VehiclePosition.CongestionLevel = {
|
193 | "UNKNOWN_CONGESTION_LEVEL": {
|
194 | "value": 0,
|
195 | "options": {}
|
196 | },
|
197 | "RUNNING_SMOOTHLY": {
|
198 | "value": 1,
|
199 | "options": {}
|
200 | },
|
201 | "STOP_AND_GO": {
|
202 | "value": 2,
|
203 | "options": {}
|
204 | },
|
205 | "CONGESTION": {
|
206 | "value": 3,
|
207 | "options": {}
|
208 | },
|
209 | "SEVERE_CONGESTION": {
|
210 | "value": 4,
|
211 | "options": {}
|
212 | }
|
213 | };
|
214 |
|
215 | VehiclePosition.OccupancyStatus = {
|
216 | "EMPTY": {
|
217 | "value": 0,
|
218 | "options": {}
|
219 | },
|
220 | "MANY_SEATS_AVAILABLE": {
|
221 | "value": 1,
|
222 | "options": {}
|
223 | },
|
224 | "FEW_SEATS_AVAILABLE": {
|
225 | "value": 2,
|
226 | "options": {}
|
227 | },
|
228 | "STANDING_ROOM_ONLY": {
|
229 | "value": 3,
|
230 | "options": {}
|
231 | },
|
232 | "CRUSHED_STANDING_ROOM_ONLY": {
|
233 | "value": 4,
|
234 | "options": {}
|
235 | },
|
236 | "FULL": {
|
237 | "value": 5,
|
238 | "options": {}
|
239 | },
|
240 | "NOT_ACCEPTING_PASSENGERS": {
|
241 | "value": 6,
|
242 | "options": {}
|
243 | }
|
244 | };
|
245 |
|
246 |
|
247 |
|
248 | var Alert = exports.Alert = {};
|
249 |
|
250 | Alert.read = function (pbf, end) {
|
251 | return pbf.readFields(Alert._readField, {active_period: [], informed_entity: [], cause: {"value":1,"options":{}}, effect: {"value":8,"options":{}}, url: null, header_text: null, description_text: null}, end);
|
252 | };
|
253 | Alert._readField = function (tag, obj, pbf) {
|
254 | if (tag === 1) obj.active_period.push(TimeRange.read(pbf, pbf.readVarint() + pbf.pos));
|
255 | else if (tag === 5) obj.informed_entity.push(EntitySelector.read(pbf, pbf.readVarint() + pbf.pos));
|
256 | else if (tag === 6) obj.cause = pbf.readVarint();
|
257 | else if (tag === 7) obj.effect = pbf.readVarint();
|
258 | else if (tag === 8) obj.url = TranslatedString.read(pbf, pbf.readVarint() + pbf.pos);
|
259 | else if (tag === 10) obj.header_text = TranslatedString.read(pbf, pbf.readVarint() + pbf.pos);
|
260 | else if (tag === 11) obj.description_text = TranslatedString.read(pbf, pbf.readVarint() + pbf.pos);
|
261 | };
|
262 | Alert.write = function (obj, pbf) {
|
263 | if (obj.active_period) for (var i = 0; i < obj.active_period.length; i++) pbf.writeMessage(1, TimeRange.write, obj.active_period[i]);
|
264 | if (obj.informed_entity) for (i = 0; i < obj.informed_entity.length; i++) pbf.writeMessage(5, EntitySelector.write, obj.informed_entity[i]);
|
265 | if (obj.cause != undefined && obj.cause !== {"value":1,"options":{}}) pbf.writeVarintField(6, obj.cause);
|
266 | if (obj.effect != undefined && obj.effect !== {"value":8,"options":{}}) pbf.writeVarintField(7, obj.effect);
|
267 | if (obj.url) pbf.writeMessage(8, TranslatedString.write, obj.url);
|
268 | if (obj.header_text) pbf.writeMessage(10, TranslatedString.write, obj.header_text);
|
269 | if (obj.description_text) pbf.writeMessage(11, TranslatedString.write, obj.description_text);
|
270 | };
|
271 |
|
272 | Alert.Cause = {
|
273 | "UNKNOWN_CAUSE": {
|
274 | "value": 1,
|
275 | "options": {}
|
276 | },
|
277 | "OTHER_CAUSE": {
|
278 | "value": 2,
|
279 | "options": {}
|
280 | },
|
281 | "TECHNICAL_PROBLEM": {
|
282 | "value": 3,
|
283 | "options": {}
|
284 | },
|
285 | "STRIKE": {
|
286 | "value": 4,
|
287 | "options": {}
|
288 | },
|
289 | "DEMONSTRATION": {
|
290 | "value": 5,
|
291 | "options": {}
|
292 | },
|
293 | "ACCIDENT": {
|
294 | "value": 6,
|
295 | "options": {}
|
296 | },
|
297 | "HOLIDAY": {
|
298 | "value": 7,
|
299 | "options": {}
|
300 | },
|
301 | "WEATHER": {
|
302 | "value": 8,
|
303 | "options": {}
|
304 | },
|
305 | "MAINTENANCE": {
|
306 | "value": 9,
|
307 | "options": {}
|
308 | },
|
309 | "CONSTRUCTION": {
|
310 | "value": 10,
|
311 | "options": {}
|
312 | },
|
313 | "POLICE_ACTIVITY": {
|
314 | "value": 11,
|
315 | "options": {}
|
316 | },
|
317 | "MEDICAL_EMERGENCY": {
|
318 | "value": 12,
|
319 | "options": {}
|
320 | }
|
321 | };
|
322 |
|
323 | Alert.Effect = {
|
324 | "NO_SERVICE": {
|
325 | "value": 1,
|
326 | "options": {}
|
327 | },
|
328 | "REDUCED_SERVICE": {
|
329 | "value": 2,
|
330 | "options": {}
|
331 | },
|
332 | "SIGNIFICANT_DELAYS": {
|
333 | "value": 3,
|
334 | "options": {}
|
335 | },
|
336 | "DETOUR": {
|
337 | "value": 4,
|
338 | "options": {}
|
339 | },
|
340 | "ADDITIONAL_SERVICE": {
|
341 | "value": 5,
|
342 | "options": {}
|
343 | },
|
344 | "MODIFIED_SERVICE": {
|
345 | "value": 6,
|
346 | "options": {}
|
347 | },
|
348 | "OTHER_EFFECT": {
|
349 | "value": 7,
|
350 | "options": {}
|
351 | },
|
352 | "UNKNOWN_EFFECT": {
|
353 | "value": 8,
|
354 | "options": {}
|
355 | },
|
356 | "STOP_MOVED": {
|
357 | "value": 9,
|
358 | "options": {}
|
359 | }
|
360 | };
|
361 |
|
362 |
|
363 |
|
364 | var TimeRange = exports.TimeRange = {};
|
365 |
|
366 | TimeRange.read = function (pbf, end) {
|
367 | return pbf.readFields(TimeRange._readField, {start: 0, end: 0}, end);
|
368 | };
|
369 | TimeRange._readField = function (tag, obj, pbf) {
|
370 | if (tag === 1) obj.start = pbf.readVarint();
|
371 | else if (tag === 2) obj.end = pbf.readVarint();
|
372 | };
|
373 | TimeRange.write = function (obj, pbf) {
|
374 | if (obj.start) pbf.writeVarintField(1, obj.start);
|
375 | if (obj.end) pbf.writeVarintField(2, obj.end);
|
376 | };
|
377 |
|
378 |
|
379 |
|
380 | var Position = exports.Position = {};
|
381 |
|
382 | Position.read = function (pbf, end) {
|
383 | return pbf.readFields(Position._readField, {latitude: 0, longitude: 0, bearing: 0, odometer: 0, speed: 0}, end);
|
384 | };
|
385 | Position._readField = function (tag, obj, pbf) {
|
386 | if (tag === 1) obj.latitude = pbf.readFloat();
|
387 | else if (tag === 2) obj.longitude = pbf.readFloat();
|
388 | else if (tag === 3) obj.bearing = pbf.readFloat();
|
389 | else if (tag === 4) obj.odometer = pbf.readDouble();
|
390 | else if (tag === 5) obj.speed = pbf.readFloat();
|
391 | };
|
392 | Position.write = function (obj, pbf) {
|
393 | if (obj.latitude) pbf.writeFloatField(1, obj.latitude);
|
394 | if (obj.longitude) pbf.writeFloatField(2, obj.longitude);
|
395 | if (obj.bearing) pbf.writeFloatField(3, obj.bearing);
|
396 | if (obj.odometer) pbf.writeDoubleField(4, obj.odometer);
|
397 | if (obj.speed) pbf.writeFloatField(5, obj.speed);
|
398 | };
|
399 |
|
400 |
|
401 |
|
402 | var TripDescriptor = exports.TripDescriptor = {};
|
403 |
|
404 | TripDescriptor.read = function (pbf, end) {
|
405 | return pbf.readFields(TripDescriptor._readField, {trip_id: "", route_id: "", direction_id: 0, start_time: "", start_date: "", schedule_relationship: 0}, end);
|
406 | };
|
407 | TripDescriptor._readField = function (tag, obj, pbf) {
|
408 | if (tag === 1) obj.trip_id = pbf.readString();
|
409 | else if (tag === 5) obj.route_id = pbf.readString();
|
410 | else if (tag === 6) obj.direction_id = pbf.readVarint();
|
411 | else if (tag === 2) obj.start_time = pbf.readString();
|
412 | else if (tag === 3) obj.start_date = pbf.readString();
|
413 | else if (tag === 4) obj.schedule_relationship = pbf.readVarint();
|
414 | };
|
415 | TripDescriptor.write = function (obj, pbf) {
|
416 | if (obj.trip_id) pbf.writeStringField(1, obj.trip_id);
|
417 | if (obj.route_id) pbf.writeStringField(5, obj.route_id);
|
418 | if (obj.direction_id) pbf.writeVarintField(6, obj.direction_id);
|
419 | if (obj.start_time) pbf.writeStringField(2, obj.start_time);
|
420 | if (obj.start_date) pbf.writeStringField(3, obj.start_date);
|
421 | if (obj.schedule_relationship) pbf.writeVarintField(4, obj.schedule_relationship);
|
422 | };
|
423 |
|
424 | TripDescriptor.ScheduleRelationship = {
|
425 | "SCHEDULED": {
|
426 | "value": 0,
|
427 | "options": {}
|
428 | },
|
429 | "ADDED": {
|
430 | "value": 1,
|
431 | "options": {}
|
432 | },
|
433 | "UNSCHEDULED": {
|
434 | "value": 2,
|
435 | "options": {}
|
436 | },
|
437 | "CANCELED": {
|
438 | "value": 3,
|
439 | "options": {}
|
440 | }
|
441 | };
|
442 |
|
443 |
|
444 |
|
445 | var VehicleDescriptor = exports.VehicleDescriptor = {};
|
446 |
|
447 | VehicleDescriptor.read = function (pbf, end) {
|
448 | return pbf.readFields(VehicleDescriptor._readField, {id: "", label: "", license_plate: ""}, end);
|
449 | };
|
450 | VehicleDescriptor._readField = function (tag, obj, pbf) {
|
451 | if (tag === 1) obj.id = pbf.readString();
|
452 | else if (tag === 2) obj.label = pbf.readString();
|
453 | else if (tag === 3) obj.license_plate = pbf.readString();
|
454 | };
|
455 | VehicleDescriptor.write = function (obj, pbf) {
|
456 | if (obj.id) pbf.writeStringField(1, obj.id);
|
457 | if (obj.label) pbf.writeStringField(2, obj.label);
|
458 | if (obj.license_plate) pbf.writeStringField(3, obj.license_plate);
|
459 | };
|
460 |
|
461 |
|
462 |
|
463 | var EntitySelector = exports.EntitySelector = {};
|
464 |
|
465 | EntitySelector.read = function (pbf, end) {
|
466 | return pbf.readFields(EntitySelector._readField, {agency_id: "", route_id: "", route_type: 0, trip: null, stop_id: ""}, end);
|
467 | };
|
468 | EntitySelector._readField = function (tag, obj, pbf) {
|
469 | if (tag === 1) obj.agency_id = pbf.readString();
|
470 | else if (tag === 2) obj.route_id = pbf.readString();
|
471 | else if (tag === 3) obj.route_type = pbf.readVarint(true);
|
472 | else if (tag === 4) obj.trip = TripDescriptor.read(pbf, pbf.readVarint() + pbf.pos);
|
473 | else if (tag === 5) obj.stop_id = pbf.readString();
|
474 | };
|
475 | EntitySelector.write = function (obj, pbf) {
|
476 | if (obj.agency_id) pbf.writeStringField(1, obj.agency_id);
|
477 | if (obj.route_id) pbf.writeStringField(2, obj.route_id);
|
478 | if (obj.route_type) pbf.writeVarintField(3, obj.route_type);
|
479 | if (obj.trip) pbf.writeMessage(4, TripDescriptor.write, obj.trip);
|
480 | if (obj.stop_id) pbf.writeStringField(5, obj.stop_id);
|
481 | };
|
482 |
|
483 |
|
484 |
|
485 | var TranslatedString = exports.TranslatedString = {};
|
486 |
|
487 | TranslatedString.read = function (pbf, end) {
|
488 | return pbf.readFields(TranslatedString._readField, {translation: []}, end);
|
489 | };
|
490 | TranslatedString._readField = function (tag, obj, pbf) {
|
491 | if (tag === 1) obj.translation.push(TranslatedString.Translation.read(pbf, pbf.readVarint() + pbf.pos));
|
492 | };
|
493 | TranslatedString.write = function (obj, pbf) {
|
494 | if (obj.translation) for (var i = 0; i < obj.translation.length; i++) pbf.writeMessage(1, TranslatedString.Translation.write, obj.translation[i]);
|
495 | };
|
496 |
|
497 |
|
498 |
|
499 | TranslatedString.Translation = {};
|
500 |
|
501 | TranslatedString.Translation.read = function (pbf, end) {
|
502 | return pbf.readFields(TranslatedString.Translation._readField, {text: "", language: ""}, end);
|
503 | };
|
504 | TranslatedString.Translation._readField = function (tag, obj, pbf) {
|
505 | if (tag === 1) obj.text = pbf.readString();
|
506 | else if (tag === 2) obj.language = pbf.readString();
|
507 | };
|
508 | TranslatedString.Translation.write = function (obj, pbf) {
|
509 | if (obj.text) pbf.writeStringField(1, obj.text);
|
510 | if (obj.language) pbf.writeStringField(2, obj.language);
|
511 | };
|