@google-cloud/pubsub 2.18.1 → 2.18.2

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 (41) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/build/src/iam.d.ts +180 -0
  3. package/build/src/iam.js +2 -172
  4. package/build/src/iam.js.map +1 -1
  5. package/build/src/index.d.ts +12 -4
  6. package/build/src/index.js +12 -4
  7. package/build/src/index.js.map +1 -1
  8. package/build/src/publisher/flow-publisher.d.ts +6 -0
  9. package/build/src/publisher/flow-publisher.js +6 -0
  10. package/build/src/publisher/flow-publisher.js.map +1 -1
  11. package/build/src/publisher/index.d.ts +35 -0
  12. package/build/src/publisher/index.js +0 -35
  13. package/build/src/publisher/index.js.map +1 -1
  14. package/build/src/pubsub.d.ts +354 -4
  15. package/build/src/pubsub.js +28 -322
  16. package/build/src/pubsub.js.map +1 -1
  17. package/build/src/schema.d.ts +9 -4
  18. package/build/src/schema.js +9 -4
  19. package/build/src/schema.js.map +1 -1
  20. package/build/src/snapshot.d.ts +87 -0
  21. package/build/src/snapshot.js +2 -79
  22. package/build/src/snapshot.js.map +1 -1
  23. package/build/src/subscriber.d.ts +6 -0
  24. package/build/src/subscriber.js +6 -0
  25. package/build/src/subscriber.js.map +1 -1
  26. package/build/src/subscription.d.ts +439 -9
  27. package/build/src/subscription.js +24 -400
  28. package/build/src/subscription.js.map +1 -1
  29. package/build/src/topic.d.ts +466 -1
  30. package/build/src/topic.js +17 -417
  31. package/build/src/topic.js.map +1 -1
  32. package/build/src/v1/publisher_client.d.ts +262 -0
  33. package/build/src/v1/publisher_client.js +6 -244
  34. package/build/src/v1/publisher_client.js.map +1 -1
  35. package/build/src/v1/schema_service_client.d.ts +165 -0
  36. package/build/src/v1/schema_service_client.js +2 -153
  37. package/build/src/v1/schema_service_client.js.map +1 -1
  38. package/build/src/v1/subscriber_client.d.ts +566 -0
  39. package/build/src/v1/subscriber_client.js +6 -534
  40. package/build/src/v1/subscriber_client.js.map +1 -1
  41. package/package.json +2 -2
@@ -30,13 +30,17 @@ const util_1 = require("./util");
30
30
  * @param {PublishOptions} [options] Publisher configuration object.
31
31
  *
32
32
  * @example
33
+ * ```
33
34
  * const {PubSub} = require('@google-cloud/pubsub');
34
35
  * const pubsub = new PubSub();
35
36
  *
36
37
  * const topic = pubsub.topic('my-topic');
37
38
  *
38
- * @example <caption>To enable message ordering, set `enableMessageOrdering` to true. Please note that this does not persist to an actual topic.</caption>
39
+ * ```
40
+ * @example To enable message ordering, set `enableMessageOrdering` to true. Please note that this does not persist to an actual topic.
41
+ * ```
39
42
  * const topic = pubsub.topic('ordered-topic', {enableMessageOrdering: true});
43
+ * ```
40
44
  */
41
45
  class Topic {
42
46
  constructor(pubsub, name, options) {
@@ -81,6 +85,7 @@ class Topic {
81
85
  * @see [What is Cloud IAM?]{@link https://cloud.google.com/iam/}
82
86
  *
83
87
  * @example
88
+ * ```
84
89
  * const {PubSub} = require('@google-cloud/pubsub');
85
90
  * const pubsub = new PubSub();
86
91
  *
@@ -100,124 +105,25 @@ class Topic {
100
105
  * const policy = data[0];
101
106
  * const apiResponse = data[1];
102
107
  * });
108
+ * ```
103
109
  */
104
110
  this.iam = new iam_1.IAM(pubsub, this.name);
105
111
  }
106
- /**
107
- * Immediately sends all remaining queued data. This is mostly useful
108
- * if you are planning to call close() on the PubSub object that holds
109
- * the server connections.
110
- *
111
- * @param {EmptyCallback} [callback] Callback function.
112
- * @returns {Promise<EmptyResponse>}
113
- */
114
112
  flush(callback) {
115
113
  // It doesn't matter here if callback is undefined; the Publisher
116
114
  // flush() will handle it.
117
115
  this.publisher.flush(callback);
118
116
  }
119
- /**
120
- * Create a topic.
121
- *
122
- * @param {object} [gaxOpts] Request configuration options, outlined
123
- * here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
124
- * @param {CreateTopicCallback} [callback] Callback function.
125
- * @returns {Promise<CreateTopicResponse>}
126
- *
127
- * @example
128
- * const {PubSub} = require('@google-cloud/pubsub');
129
- * const pubsub = new PubSub();
130
- *
131
- * const topic = pubsub.topic('my-topic');
132
- *
133
- * topic.create((err, topic, apiResponse) => {
134
- * if (!err) {
135
- * // The topic was created successfully.
136
- * }
137
- * });
138
- *
139
- * //-
140
- * // If the callback is omitted, we'll return a Promise.
141
- * //-
142
- * topic.create().then((data) => {
143
- * const topic = data[0];
144
- * const apiResponse = data[1];
145
- * });
146
- */
147
117
  create(optsOrCallback, callback) {
148
118
  const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
149
119
  callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
150
120
  this.pubsub.createTopic(this.name, gaxOpts, callback);
151
121
  }
152
- /**
153
- * Create a subscription to this topic.
154
- *
155
- * @see [Subscriptions: create API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/create}
156
- *
157
- * @throws {Error} If subscription name is omitted.
158
- *
159
- * @param {string} name The name of the subscription.
160
- * @param {CreateSubscriptionRequest} [options] See a
161
- * [Subscription
162
- * resource](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions).
163
- * @param {CreateSubscriptionCallback} [callback] Callback function.
164
- * @returns {Promise<CreateSubscriptionResponse>}
165
- *
166
- * @example
167
- * const {PubSub} = require('@google-cloud/pubsub');
168
- * const pubsub = new PubSub();
169
- *
170
- * const topic = pubsub.topic('my-topic');
171
- * const callback = function(err, subscription, apiResponse) {};
172
- *
173
- * // Without specifying any options.
174
- * topic.createSubscription('newMessages', callback);
175
- *
176
- * // With options.
177
- * topic.createSubscription('newMessages', {
178
- * ackDeadlineSeconds: 90
179
- * }, callback);
180
- *
181
- * //-
182
- * // If the callback is omitted, we'll return a Promise.
183
- * //-
184
- * topic.createSubscription('newMessages').then((data) => {
185
- * const subscription = data[0];
186
- * const apiResponse = data[1];
187
- * });
188
- */
189
122
  createSubscription(name, optsOrCallback, callback) {
190
123
  const options = typeof optsOrCallback === 'object' ? optsOrCallback : {};
191
124
  callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
192
125
  this.pubsub.createSubscription(this, name, options, callback);
193
126
  }
194
- /**
195
- * Delete the topic. This will not delete subscriptions to this topic.
196
- *
197
- * @see [Topics: delete API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics/delete}
198
- *
199
- * @param {object} [gaxOpts] Request configuration options, outlined
200
- * here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
201
- * @param {function} [callback] The callback function.
202
- * @param {?error} callback.err An error returned while making this
203
- * request.
204
- * @param {object} callback.apiResponse Raw API response.
205
- *
206
- * @example
207
- * const {PubSub} = require('@google-cloud/pubsub');
208
- * const pubsub = new PubSub();
209
- *
210
- * const topic = pubsub.topic('my-topic');
211
- *
212
- * topic.delete((err, apiResponse) => {});
213
- *
214
- * //-
215
- * // If the callback is omitted, we'll return a Promise.
216
- * //-
217
- * topic.delete().then((data) => {
218
- * const apiResponse = data[0];
219
- * });
220
- */
221
127
  delete(optsOrCallback, callback) {
222
128
  const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
223
129
  callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
@@ -231,36 +137,6 @@ class Topic {
231
137
  gaxOpts: gaxOpts,
232
138
  }, callback);
233
139
  }
234
- /**
235
- * @typedef {array} TopicExistsResponse
236
- * @property {boolean} 0 Whether the topic exists
237
- */
238
- /**
239
- * @callback TopicExistsCallback
240
- * @param {?Error} err Request error, if any.
241
- * @param {boolean} exists Whether the topic exists.
242
- */
243
- /**
244
- * Check if a topic exists.
245
- *
246
- * @param {TopicExistsCallback} [callback] Callback function.
247
- * @returns {Promise<TopicExistsResponse>}
248
- *
249
- * @example
250
- * const {PubSub} = require('@google-cloud/pubsub');
251
- * const pubsub = new PubSub();
252
- *
253
- * const topic = pubsub.topic('my-topic');
254
- *
255
- * topic.exists((err, exists) => {});
256
- *
257
- * //-
258
- * // If the callback is omitted, we'll return a Promise.
259
- * //-
260
- * topic.exists().then((data) => {
261
- * const exists = data[0];
262
- * });
263
- */
264
140
  exists(callback) {
265
141
  this.getMetadata(err => {
266
142
  if (!err) {
@@ -274,45 +150,6 @@ class Topic {
274
150
  callback(err);
275
151
  });
276
152
  }
277
- /**
278
- * @typedef {array} GetTopicResponse
279
- * @property {Topic} 0 The {@link Topic}.
280
- * @property {object} 1 The full API response.
281
- */
282
- /**
283
- * @callback GetTopicCallback
284
- * @param {?Error} err Request error, if any.
285
- * @param {Topic} topic The {@link Topic}.
286
- * @param {object} apiResponse The full API response.
287
- */
288
- /**
289
- * Get a topic if it exists.
290
- *
291
- * @param {object} [gaxOpts] Request configuration options, outlined
292
- * here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
293
- * @param {boolean} [gaxOpts.autoCreate=false] Automatically create the topic
294
- * does not already exist.
295
- * @param {GetTopicCallback} [callback] Callback function.
296
- * @returns {Promise<GetTopicResponse>}
297
- *
298
- * @example
299
- * const {PubSub} = require('@google-cloud/pubsub');
300
- * const pubsub = new PubSub();
301
- *
302
- * const topic = pubsub.topic('my-topic');
303
- *
304
- * topic.get((err, topic, apiResponse) => {
305
- * // The `topic` data has been populated.
306
- * });
307
- *
308
- * //-
309
- * // If the callback is omitted, we'll return a Promise.
310
- * //-
311
- * topic.get().then((data) => {
312
- * const topic = data[0];
313
- * const apiResponse = data[1];
314
- * });
315
- */
316
153
  get(optsOrCallback, callback) {
317
154
  const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
318
155
  callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
@@ -330,40 +167,6 @@ class Topic {
330
167
  this.create(gaxOpts, callback);
331
168
  });
332
169
  }
333
- /**
334
- * @typedef {array} GetTopicMetadataResponse
335
- * @property {object} 0 The full API response.
336
- */
337
- /**
338
- * @callback GetTopicMetadataCallback
339
- * @param {?Error} err Request error, if any.
340
- * @param {object} apiResponse The full API response.
341
- */
342
- /**
343
- * Get the official representation of this topic from the API.
344
- *
345
- * @see [Topics: get API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics/get}
346
- *
347
- * @param {object} [gaxOpts] Request configuration options, outlined
348
- * here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
349
- * @param {GetTopicMetadataCallback} [callback] Callback function.
350
- * @returns {Promise<GetTopicMetadataResponse>}
351
- *
352
- * @example
353
- * const {PubSub} = require('@google-cloud/pubsub');
354
- * const pubsub = new PubSub();
355
- *
356
- * const topic = pubsub.topic('my-topic');
357
- *
358
- * topic.getMetadata((err, apiResponse) => {});
359
- *
360
- * //-
361
- * // If the callback is omitted, we'll return a Promise.
362
- * //-
363
- * topic.getMetadata().then((data) => {
364
- * const apiResponse = data[0];
365
- * });
366
- */
367
170
  getMetadata(optsOrCallback, callback) {
368
171
  const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
369
172
  callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
@@ -382,42 +185,6 @@ class Topic {
382
185
  callback(err, apiResponse);
383
186
  });
384
187
  }
385
- /**
386
- * Get a list of the subscriptions registered to this topic. You may
387
- * optionally provide a query object as the first argument to customize the
388
- * response.
389
- *
390
- * Your provided callback will be invoked with an error object if an API error
391
- * occurred or an array of {module:pubsub/subscription} objects.
392
- *
393
- * @see [Subscriptions: list API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics.subscriptions/list}
394
- *
395
- * @param {GetSubscriptionsRequest} [query] Query object for listing subscriptions.
396
- * @param {GetSubscriptionsCallback} [callback] Callback function.
397
- * @returns {Promise<GetSubscriptionsResponse>}
398
- *
399
- * @example
400
- * const {PubSub} = require('@google-cloud/pubsub');
401
- * const pubsub = new PubSub();
402
- *
403
- * const topic = pubsub.topic('my-topic');
404
- *
405
- * topic.getSubscriptions((err, subscriptions) => {
406
- * // subscriptions is an array of `Subscription` objects.
407
- * });
408
- *
409
- * // Customize the query.
410
- * topic.getSubscriptions({
411
- * pageSize: 3
412
- * }, callback);
413
- *
414
- * //-
415
- * // If the callback is omitted, we'll return a Promise.
416
- * //-
417
- * topic.getSubscriptions().then((data) => {
418
- * const subscriptions = data[0];
419
- * });
420
- */
421
188
  getSubscriptions(optsOrCallback, callback) {
422
189
  const options = typeof optsOrCallback === 'object' ? optsOrCallback : {};
423
190
  callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
@@ -442,93 +209,11 @@ class Topic {
442
209
  callback(err, subscriptions, ...args);
443
210
  });
444
211
  }
445
- /**
446
- * Publish the provided message.
447
- *
448
- * @deprecated Please use {@link Topic#publishMessage}.
449
- *
450
- * @throws {TypeError} If data is not a Buffer object.
451
- * @throws {TypeError} If any value in `attributes` object is not a string.
452
- *
453
- * @param {buffer} data The message data. This must come in the form of a
454
- * Buffer object.
455
- * @param {object.<string, string>} [attributes] Attributes for this message.
456
- * @param {PublishCallback} [callback] Callback function.
457
- * @returns {Promise<PublishResponse>}
458
- *
459
- * @example
460
- * const {PubSub} = require('@google-cloud/pubsub');
461
- * const pubsub = new PubSub();
462
- *
463
- * const topic = pubsub.topic('my-topic');
464
- * const data = Buffer.from('Hello, world!');
465
- *
466
- * const callback = (err, messageId) => {
467
- * if (err) {
468
- * // Error handling omitted.
469
- * }
470
- * };
471
- *
472
- * topic.publish(data, callback);
473
- *
474
- * @example <caption>Optionally you can provide an object containing attributes for the message. Note that all values in the object must be strings.</caption>
475
- * const attributes = {
476
- * key: 'value'
477
- * };
478
- *
479
- * topic.publish(data, attributes, callback);
480
- *
481
- * @example <caption>If the callback is omitted, we'll return a Promise.</caption>
482
- * topic.publish(data).then((messageId) => {});
483
- */
484
212
  publish(data, attrsOrCb, callback) {
485
213
  const attributes = typeof attrsOrCb === 'object' ? attrsOrCb : {};
486
214
  callback = typeof attrsOrCb === 'function' ? attrsOrCb : callback;
487
215
  return this.publishMessage({ data, attributes }, callback);
488
216
  }
489
- /**
490
- * Publish the provided JSON. It should be noted that all messages published
491
- * are done so in the form of a Buffer. This is simply a convenience method
492
- * that will transform JSON into a Buffer before publishing.
493
- * {@link Subscription} objects will always return message data in the form of
494
- * a Buffer, so any JSON published will require manual deserialization.
495
- *
496
- * @deprecated Please use the `json` option via {@link Topic#publishMessage}.
497
- *
498
- * @throws {Error} If non-object data is provided.
499
- *
500
- * @param {object} json The JSON data to publish.
501
- * @param {object} [attributes] Attributes for this message.
502
- * @param {PublishCallback} [callback] Callback function.
503
- * @returns {Promise<PublishResponse>}
504
- *
505
- * @example
506
- * const {PubSub} = require('@google-cloud/pubsub');
507
- * const pubsub = new PubSub();
508
- * const topic = pubsub.topic('my-topic');
509
- *
510
- * const data = {
511
- * foo: 'bar'
512
- * };
513
- *
514
- * const callback = (err, messageId) => {
515
- * if (err) {
516
- * // Error handling omitted.
517
- * }
518
- * };
519
- *
520
- * topic.publishJSON(data, callback);
521
- *
522
- * @example <caption>Optionally you can provide an object containing attributes for the message. Note that all values in the object must be strings.</caption>
523
- * const attributes = {
524
- * key: 'value'
525
- * };
526
- *
527
- * topic.publishJSON(data, attributes, callback);
528
- *
529
- * @example <caption>If the callback is omitted, we'll return a Promise.</caption>
530
- * topic.publishJSON(data).then((messageId) => {});
531
- */
532
217
  publishJSON(json, attrsOrCb, callback) {
533
218
  if (!json || typeof json !== 'object') {
534
219
  throw new Error('First parameter should be an object.');
@@ -537,57 +222,6 @@ class Topic {
537
222
  callback = typeof attrsOrCb === 'function' ? attrsOrCb : callback;
538
223
  return this.publishMessage({ json, attributes }, callback);
539
224
  }
540
- /**
541
- * @typedef {object} MessageOptions
542
- * @property {buffer} [data] The message data.
543
- * @property {object} [json] Convenience property to publish JSON data. This
544
- * will transform the provided JSON into a Buffer before publishing.
545
- * {@link Subscription} objects will always return message data in the
546
- * form of a Buffer, so any JSON published will require manual
547
- * deserialization.
548
- * @property {object.<string, string>} [attributes] Attributes for this
549
- * message.
550
- * @property {string} [orderingKey] A message ordering key.
551
- */
552
- /**
553
- * Publish the provided message.
554
- *
555
- * @throws {TypeError} If data is not a Buffer object.
556
- * @throws {TypeError} If any value in `attributes` object is not a string.
557
- *
558
- * @param {MessageOptions} message Message object.
559
- * @param {PublishCallback} [callback] Callback function.
560
- * @returns {Promise<PublishResponse>}
561
- *
562
- * @example
563
- * const {PubSub} = require('@google-cloud/pubsub');
564
- * const pubsub = new PubSub();
565
- * const topic = pubsub.topic('my-topic');
566
- *
567
- * const data = Buffer.from('Hello, world!');
568
- *
569
- * const callback = (err, messageId) => {
570
- * if (err) {
571
- * // Error handling omitted.
572
- * }
573
- * };
574
- *
575
- * topic.publishMessage({data}, callback);
576
- *
577
- * @example <caption>Publish JSON message data.</caption>
578
- * const json = {foo: 'bar'};
579
- *
580
- * topic.publishMessage({json}, callback);
581
- *
582
- * @example <caption>To publish messages in order (this is still experimental), make sure message ordering is enabled and provide an ordering key</caption>
583
- * const topic = pubsub.topic('ordered-topic', {messageOrdering: true});
584
- * const orderingKey = 'my-key';
585
- *
586
- * topic.publishMessage({data, orderingKey}, callback);
587
- *
588
- * @example <caption>If the callback is omitted, we'll return a Promise.</caption>
589
- * const [messageId] = await topic.publishMessage({data});
590
- */
591
225
  publishMessage(message, callback) {
592
226
  // Make a copy to ensure that any changes we make to it will not
593
227
  // propagate up to the user's data.
@@ -623,6 +257,7 @@ class Topic {
623
257
  * @param {string} orderingKey The ordering key in question.
624
258
  *
625
259
  * @example
260
+ * ```
626
261
  * const {PubSub} = require('@google-cloud/pubsub');
627
262
  * const pubsub = new PubSub();
628
263
  * const topic = pubsub.topic('my-topic', {messageOrdering: true});
@@ -635,54 +270,11 @@ class Topic {
635
270
  * topic.resumePublishing(orderingKey);
636
271
  * }
637
272
  * });
273
+ * ```
638
274
  */
639
275
  resumePublishing(orderingKey) {
640
276
  this.publisher.resumePublishing(orderingKey);
641
277
  }
642
- /**
643
- * @typedef {array} SetTopicMetadataResponse
644
- * @property {object} 0 The full API response.
645
- */
646
- /**
647
- * @callback SetTopicMetadataCallback
648
- * @param {?Error} err Request error, if any.
649
- * @param {object} apiResponse The full API response.
650
- */
651
- /**
652
- * Updates the topic.
653
- *
654
- * @see [UpdateTopicRequest API Documentation]{@link https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#google.pubsub.v1.UpdateTopicRequest}
655
- *
656
- * @param {object} metadata The fields to update. This should be structured
657
- * like a {@link
658
- * https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic|Topic
659
- * object}.
660
- * @param {object} [gaxOpts] Request configuration options, outlined
661
- * here: https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html.
662
- * @param {SetTopicMetadataCallback} [callback] Callback function.
663
- * @returns {Promise<SetTopicMetadataResponse>}
664
- *
665
- * @example
666
- * const {PubSub} = require('@google-cloud/pubsub');
667
- * const pubsub = new PubSub();
668
- *
669
- * const topic = pubsub.topic('my-topic');
670
- * const metadata = {
671
- * labels: {foo: 'bar'}
672
- * };
673
- *
674
- * topic.setMetadata(metadata, err => {
675
- * if (err) {
676
- * // Error handling omitted.
677
- * }
678
- * });
679
- *
680
- * @example <caption>If the callback is omitted, we'll return a
681
- * Promise.</caption>
682
- * topic.setMetadata(metadata).then((data) => {
683
- * const apiResponse = data[0];
684
- * });
685
- */
686
278
  setMetadata(options, optsOrCallback, callback) {
687
279
  const gaxOpts = typeof optsOrCallback === 'object' ? optsOrCallback : {};
688
280
  callback = typeof optsOrCallback === 'function' ? optsOrCallback : callback;
@@ -702,6 +294,7 @@ class Topic {
702
294
  * @param {PublishOptions} options The publisher options.
703
295
  *
704
296
  * @example
297
+ * ```
705
298
  * const {PubSub} = require('@google-cloud/pubsub');
706
299
  * const pubsub = new PubSub();
707
300
  *
@@ -712,6 +305,7 @@ class Topic {
712
305
  * maxMilliseconds: 10
713
306
  * }
714
307
  * });
308
+ * ```
715
309
  */
716
310
  setPublishOptions(options) {
717
311
  this.publisher.setOptions(options);
@@ -721,6 +315,7 @@ class Topic {
721
315
  * back into {@link Topic#setPublishOptions}.
722
316
  *
723
317
  * @example
318
+ * ```
724
319
  * const {PubSub} = require('@google-cloud/pubsub');
725
320
  * const pubsub = new PubSub();
726
321
  *
@@ -729,6 +324,7 @@ class Topic {
729
324
  * const defaults = topic.getPublishOptionDefaults();
730
325
  * defaults.batching.maxMilliseconds = 10;
731
326
  * topic.setPublishOptions(defaults);
327
+ * ```
732
328
  */
733
329
  getPublishOptionDefaults() {
734
330
  // Generally I'd leave this as a static, but it'll be easier for users to
@@ -747,6 +343,7 @@ class Topic {
747
343
  * @return {Subscription}
748
344
  *
749
345
  * @example
346
+ * ```
750
347
  * const {PubSub} = require('@google-cloud/pubsub');
751
348
  * const pubsub = new PubSub();
752
349
  *
@@ -762,6 +359,7 @@ class Topic {
762
359
  * // message.attributes = Attributes of the message.
763
360
  * // message.publishTime = Timestamp when Pub/Sub received the message.
764
361
  * });
362
+ * ```
765
363
  */
766
364
  subscription(name, options) {
767
365
  options = options || {};
@@ -795,6 +393,7 @@ exports.Topic = Topic;
795
393
  * @returns {ReadableStream} A readable stream of {@link Subscription} instances.
796
394
  *
797
395
  * @example
396
+ * ```
798
397
  * const {PubSub} = require('@google-cloud/pubsub');
799
398
  * const pubsub = new PubSub();
800
399
  *
@@ -817,6 +416,7 @@ exports.Topic = Topic;
817
416
  * .on('data', function(subscription) {
818
417
  * this.end();
819
418
  * });
419
+ * ```
820
420
  */
821
421
  /*! Developer Documentation
822
422
  *
@@ -1 +1 @@
1
- {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/topic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/topic.ts"],"names":[],"mappings":"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"}