Skip to content

Commit a50e328

Browse files
Addressing the review comments
1 parent 7222aad commit a50e328

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

spec/v2/providers/pubsub.spec.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { expect } from "chai";
2+
import { EventContext } from "../../../src/v1/cloud-functions";
23

34
import { CloudEvent } from "../../../src/v2/core";
45
import * as options from "../../../src/v2/options";
@@ -190,10 +191,16 @@ describe("onMessagePublished", () => {
190191
data,
191192
};
192193

193-
let destructuredMessage: pubsub.Message<any>;
194-
let context: any;
194+
type PubSubCloudEvent = CloudEvent<pubsub.MessagePublishedData> & {
195+
message: pubsub.Message<{ hello: "world" }>;
196+
context: EventContext;
197+
};
198+
199+
let destructuredMessage: pubsub.Message<{ hello: "world" }>;
200+
let context: EventContext;
195201
const func = pubsub.onMessagePublished("topic", (e) => {
196-
({ message: destructuredMessage, context } = e as any);
202+
const pubsubEvent = e as PubSubCloudEvent;
203+
({ message: destructuredMessage, context } = pubsubEvent);
197204
});
198205

199206
await func(event);

src/v2/providers/pubsub.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ export function onMessagePublished<T = any>(
306306
};
307307
messagePublishedData.message = new Message(messagePublishedData.message);
308308
const event = raw as CloudEvent<MessagePublishedData<T>>;
309-
attachPubSubContext(event, topic);
309+
addV1Compatibility(event, topic);
310310
return wrapTraceContext(withInit(handler))(event);
311311
};
312312

@@ -358,14 +358,12 @@ export function onMessagePublished<T = any>(
358358
}
359359

360360
/**
361-
* @internal
362-
*
363-
* Adds a v1-style context to the event.
361+
* Adds v1-style `context` and `message` properties to the event.
364362
*
365363
* @param event - The event to add the context to.
366364
* @param topic - The topic the event is for.
367365
*/
368-
function attachPubSubContext<T>(event: CloudEvent<MessagePublishedData<T>>, topic: string) {
366+
function addV1Compatibility<T>(event: CloudEvent<MessagePublishedData<T>>, topic: string) {
369367
if ("context" in event && event.context) {
370368
throw new Error("Unexpected context in event.");
371369
}
@@ -374,7 +372,7 @@ function attachPubSubContext<T>(event: CloudEvent<MessagePublishedData<T>>, topi
374372
const resource: Resource = {
375373

376374
service: "pubsub.googleapis.com",
377-
name: resourceName ?? "",
375+
name: resourceName,
378376

379377
};
380378

@@ -390,21 +388,15 @@ function attachPubSubContext<T>(event: CloudEvent<MessagePublishedData<T>>, topi
390388
Object.defineProperty(event, "context", {
391389

392390
get: () => context,
393-
enumerable: false,
394-
configurable: false,
395391

396392
});
397393

398394
Object.defineProperty(event, "message", {
399395
get: () => (event.data as MessagePublishedData<T>).message,
400-
enumerable: false,
401-
configurable: false,
402396
});
403397
}
404398

405399
/**
406-
* @internal
407-
*
408400
* Extracts the resource name from the event source.
409401
*
410402
* @param event - The event to extract the resource name from.

0 commit comments

Comments
 (0)