Skip to content

Commit a6000aa

Browse files
committed
Remove indexing from MessagingPayload
1 parent d1e7e84 commit a6000aa

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/messaging/messaging-types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ export interface NotificationMessagePayload {
203203
export interface MessagingPayload {
204204
data?: DataMessagePayload;
205205
notification?: NotificationMessagePayload;
206-
[index: string]: DataMessagePayload | NotificationMessagePayload;
207206
}
208207

209208
/* Options that can passed along with messages */

src/messaging/messaging.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
Message, validateMessage, MessagingDevicesResponse,
2222
MessagingDeviceGroupResponse, MessagingTopicManagementResponse,
2323
MessagingPayload, MessagingOptions, MessagingTopicResponse,
24-
MessagingConditionResponse, BatchResponse, MulticastMessage,
24+
MessagingConditionResponse, BatchResponse, MulticastMessage, DataMessagePayload, NotificationMessagePayload,
2525
} from './messaging-types';
2626
import {FirebaseMessagingRequestHandler} from './messaging-api-request';
2727
import {FirebaseServiceInterface, FirebaseServiceInternalsInterface} from '../firebase-service';
@@ -758,9 +758,7 @@ export class Messaging implements FirebaseServiceInterface {
758758
);
759759
}
760760

761-
payloadKeys.forEach((payloadKey: keyof MessagingPayload) => {
762-
const value = payloadCopy[payloadKey];
763-
761+
const validatePayload = (payloadKey: string, value: DataMessagePayload | NotificationMessagePayload) => {
764762
// Validate each top-level key in the payload is an object
765763
if (!validator.isNonNullObject(value)) {
766764
throw new FirebaseMessagingError(
@@ -786,7 +784,14 @@ export class Messaging implements FirebaseServiceInterface {
786784
);
787785
}
788786
});
789-
});
787+
};
788+
789+
if (payloadCopy.data !== undefined) {
790+
validatePayload('data', payloadCopy.data);
791+
}
792+
if (payloadCopy.notification !== undefined) {
793+
validatePayload('notification', payloadCopy.notification);
794+
}
790795

791796
// Validate the data payload object does not contain blacklisted properties
792797
if ('data' in payloadCopy) {

0 commit comments

Comments
 (0)