mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-06-28 22:30:01 +00:00
Tests for chrome.gcm
This commit is contained in:
17
types/chrome-apps/index.d.ts
vendored
17
types/chrome-apps/index.d.ts
vendored
@@ -4181,16 +4181,9 @@ declare namespace chrome {
|
||||
*/
|
||||
const MAX_MESSAGE_SIZE: integer;
|
||||
|
||||
interface IGCMData {
|
||||
'collapse_key'?: never;
|
||||
'goog'?: never;
|
||||
'goog.'?: never;
|
||||
'GOOG'?: never;
|
||||
'GOOG.'?: never;
|
||||
'google'?: never;
|
||||
'GOOGLE'?: never;
|
||||
[key: string]: any;
|
||||
}
|
||||
type DisallowedKeys = 'collapse_key' | 'goog' | 'goog.' | 'GOOG' | 'GOOG.' | 'google' | 'GOOGLE';
|
||||
type IGCMDataSend = Record<Exclude<DisallowedKeys, string>, any>;
|
||||
type IGCMDataReceive = Record<string, any>;
|
||||
|
||||
interface OutgoingMessage {
|
||||
/** The ID of the server to send the message to as assigned by Google API Console. */
|
||||
@@ -4208,12 +4201,12 @@ declare namespace chrome {
|
||||
*
|
||||
* Sum of all key/value pairs should not exceed gcm.MAX_MESSAGE_SIZE.
|
||||
**/
|
||||
data: IGCMData;
|
||||
data: IGCMDataSend;
|
||||
}
|
||||
|
||||
interface IncomingMessage {
|
||||
/** The message data. */
|
||||
data: IGCMData;
|
||||
data: IGCMDataReceive;
|
||||
/**
|
||||
* Optional.
|
||||
* The sender who issued the message.
|
||||
|
||||
@@ -775,6 +775,14 @@ gcmMessage.data = {
|
||||
/*goog: 'any', should not be allowed, and it is not :) */
|
||||
test: true
|
||||
};
|
||||
const eventHandler = (message: chrome.gcm.IncomingMessage) => {
|
||||
console.log('From: ', message.from, 'collapseKey:', message.collapseKey);
|
||||
return message.data['google'];
|
||||
}
|
||||
chrome.gcm.onMessage.addListener(eventHandler);
|
||||
chrome.gcm.onMessage.removeListener(eventHandler);
|
||||
chrome.gcm.onMessagesDeleted.addListener(() => { });
|
||||
chrome.gcm.onSendError.addListener((error) => { console.error(error.detail, error.errorMessage, error.messageId); });
|
||||
|
||||
// #endregion
|
||||
|
||||
|
||||
Reference in New Issue
Block a user