mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-08-20 12:00:53 +08:00
add node-gcm type definition file
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
/// <reference path="node-gcm.d.ts" />
|
||||
|
||||
import gcm = require('node-gcm');
|
||||
|
||||
// Create a message
|
||||
// ... with default values
|
||||
var message = new gcm.Message();
|
||||
|
||||
// ... or some given values
|
||||
var message = new gcm.Message({
|
||||
collapseKey: 'demo',
|
||||
delayWhileIdle: true,
|
||||
timeToLive: 3,
|
||||
data: {
|
||||
key1: 'message1',
|
||||
key2: 'message2'
|
||||
}
|
||||
});
|
||||
|
||||
// Change the message data
|
||||
// ... as key-value
|
||||
message.addData('key1','message1');
|
||||
message.addData('key2','message2');
|
||||
|
||||
// ... or as a data object (overwrites previous data object)
|
||||
message.addData({
|
||||
key1: 'message1',
|
||||
key2: 'message2'
|
||||
});
|
||||
|
||||
// Change the message variables
|
||||
message.collapseKey = 'demo';
|
||||
message.delayWhileIdle = true;
|
||||
message.timeToLive = 3;
|
||||
message.dryRun = true;
|
||||
|
||||
// Set up the sender with you API key
|
||||
var sender = new gcm.Sender('insert Google Server API Key here');
|
||||
|
||||
// Add the registration IDs of the devices you want to send to
|
||||
var registrationIds: string[] = [];
|
||||
registrationIds.push('regId1');
|
||||
registrationIds.push('regId2');
|
||||
|
||||
// Send the message
|
||||
// ... trying only once
|
||||
sender.sendNoRetry(message, registrationIds, (err, result) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
} else {
|
||||
console.log(result);
|
||||
}
|
||||
});
|
||||
|
||||
// ... or retrying
|
||||
sender.send(message, registrationIds, (err, result) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
} else {
|
||||
console.log(result);
|
||||
}
|
||||
});
|
||||
|
||||
// ... or retrying a specific number of times (10)
|
||||
sender.send(message, registrationIds, 10, (err, result) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
} else {
|
||||
console.log(result);
|
||||
}
|
||||
});
|
||||
|
||||
Vendored
+62
@@ -0,0 +1,62 @@
|
||||
// Type definitions for node-gcm 0.9.15
|
||||
// Project: https://www.npmjs.org/package/node-gcm
|
||||
// Definitions by: Hiroki Horiuchi <https://github.com/horiuchi>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module "node-gcm" {
|
||||
|
||||
export interface IMessageOptions {
|
||||
collapseKey?: string;
|
||||
delayWhileIdle?: boolean;
|
||||
timeToLive?: number;
|
||||
dryRun?: boolean;
|
||||
}
|
||||
|
||||
export class Message {
|
||||
constructor(options?: IMessageOptions);
|
||||
collapseKey: string;
|
||||
delayWhileIdle: boolean;
|
||||
timeToLive: number;
|
||||
dryRun: boolean;
|
||||
|
||||
addData(key: string, value: string): void;
|
||||
addData(data: any): void;
|
||||
}
|
||||
|
||||
|
||||
export interface ISenderOptions {
|
||||
proxy?: any;
|
||||
maxSockets?: number;
|
||||
timeout?: number;
|
||||
}
|
||||
export interface ISenderSendOptions {
|
||||
retries?: number;
|
||||
backoff?: number;
|
||||
}
|
||||
|
||||
export class Sender {
|
||||
constructor(key: string, options?: ISenderOptions);
|
||||
key: string;
|
||||
options: ISenderOptions;
|
||||
|
||||
send(message: Message, registrationIds: string|string[], callback: (err: any, resJson: IResponseBody) => void): void;
|
||||
send(message: Message, registrationIds: string|string[], retries: number, callback: (err: any, resJson: IResponseBody) => void): void;
|
||||
send(message: Message, registrationIds: string|string[], options: ISenderSendOptions, callback: (err: any, resJson: IResponseBody) => void): void;
|
||||
sendNoRetry(message: Message, registrationIds: string|string[], callback: (err: any, resJson: IResponseBody) => void): void;
|
||||
}
|
||||
|
||||
|
||||
export interface IResponseBody {
|
||||
success: number;
|
||||
failure: number;
|
||||
canonical_ids: number;
|
||||
multicast_id?: number;
|
||||
results?: {
|
||||
message_id?: string;
|
||||
registration_id?: string;
|
||||
error?: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user