mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 19:07:08 +00:00
Add support for fromEncoded methods and Message objects
This commit is contained in:
parent
c27f7a1656
commit
3be165a66e
@ -237,3 +237,17 @@ client.stats({ limit: 50 }, function(err, statsPage) { // statsPage as Pa
|
||||
// Fetching the Ably service time
|
||||
|
||||
client.time({}, function(err, time) {}); // time is in ms since epoch
|
||||
|
||||
// Getting decoded Message objects from JSON
|
||||
var messages = Ably.Realtime.Message.fromEncodedArray([{ id: 'foo' }]);
|
||||
console.log(messages[0].id);
|
||||
|
||||
var message = Ably.Rest.Message.fromEncoded({ id: 'foo' });
|
||||
console.log(message.id);
|
||||
|
||||
// Getting decoded PresenceMessage objects from JSON
|
||||
var presenceMessages = Ably.Realtime.PresenceMessage.fromEncodedArray([{ id: 'foo' }]);
|
||||
console.log(presenceMessages[0].action);
|
||||
|
||||
var presenceMessage = Ably.Rest.PresenceMessage.fromEncoded({ id: 'foo' });
|
||||
console.log(presenceMessage.action);
|
||||
|
||||
25
ably/index.d.ts
vendored
25
ably/index.d.ts
vendored
@ -295,6 +295,8 @@ declare namespace ablyLib {
|
||||
type realtimePresenceGetCallback = (error: ErrorInfo, messages: PresenceMessage[]) => void;
|
||||
type tokenDetailsCallback = (error: ErrorInfo, Results: TokenDetails) => void;
|
||||
type tokenRequestCallback = (error: ErrorInfo, Results: TokenRequest) => void;
|
||||
type fromEncoded<T> = (JsonObject: any, channelOptions?: ChannelOptions) => T;
|
||||
type fromEncodedArray<T> = (JsonArray: any[], channelOptions?: ChannelOptions) => T[];
|
||||
|
||||
// Internal Classes
|
||||
class EventEmitter<T> {
|
||||
@ -358,8 +360,8 @@ declare namespace ablyLib {
|
||||
|
||||
class Message {
|
||||
constructor();
|
||||
fromEncoded: (JsonObject: string, channelOptions: ChannelOptions) => Message;
|
||||
fromEncodedArray: (JsonArray: string, channelOptions: ChannelOptions) => Message[];
|
||||
static fromEncoded: fromEncoded<Message>;
|
||||
static fromEncodedArray: fromEncodedArray<Message>;
|
||||
clientId: string;
|
||||
connectionId: string;
|
||||
data: any;
|
||||
@ -370,9 +372,15 @@ declare namespace ablyLib {
|
||||
timestamp: number;
|
||||
}
|
||||
|
||||
interface MessageStatic {
|
||||
fromEncoded: fromEncoded<Message>;
|
||||
fromEncodedArray: fromEncodedArray<Message>;
|
||||
}
|
||||
|
||||
class PresenceMessage {
|
||||
fromEncoded: (JsonObject: any, channelOptions?: ChannelOptions) => PresenceMessage;
|
||||
fromEncodedArray: (JsonArray: any[], channelOptions?: ChannelOptions) => PresenceMessage[];
|
||||
constructor();
|
||||
static fromEncoded: fromEncoded<PresenceMessage>;
|
||||
static fromEncodedArray: fromEncodedArray<PresenceMessage>;
|
||||
action: PresenceAction;
|
||||
clientId: string;
|
||||
connectionId: string;
|
||||
@ -382,6 +390,11 @@ declare namespace ablyLib {
|
||||
timestamp: number;
|
||||
}
|
||||
|
||||
interface PresenceMessageStatic {
|
||||
fromEncoded: fromEncoded<PresenceMessage>;
|
||||
fromEncodedArray: fromEncodedArray<PresenceMessage>;
|
||||
}
|
||||
|
||||
interface Crypto {
|
||||
generateRandomKey: (callback: (error: ErrorInfo, key: string) => void) => void;
|
||||
}
|
||||
@ -432,6 +445,8 @@ declare namespace ablyLib {
|
||||
export declare class Rest {
|
||||
constructor(options: ablyLib.ClientOptions | string);
|
||||
static Crypto: ablyLib.Crypto;
|
||||
static Message: ablyLib.MessageStatic;
|
||||
static PresenceMessage: ablyLib.PresenceMessageStatic;
|
||||
auth: ablyLib.Auth;
|
||||
channels: ablyLib.Channels<ablyLib.Channel>;
|
||||
request: (method: string, path: string, params?: any, body?: any[] | any, headers?: any, callback?: (error: ablyLib.ErrorInfo, response: ablyLib.HttpPaginatedResponse) => void) => void;
|
||||
@ -442,6 +457,8 @@ export declare class Rest {
|
||||
export declare class Realtime {
|
||||
constructor(options: ablyLib.ClientOptions | string);
|
||||
static Crypto: ablyLib.Crypto;
|
||||
static Message: ablyLib.MessageStatic;
|
||||
static PresenceMessage: ablyLib.PresenceMessageStatic;
|
||||
auth: ablyLib.Auth;
|
||||
channels: ablyLib.Channels<ablyLib.RealtimeChannel>;
|
||||
clientId: string;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user