UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

50 lines (46 loc) 1.33 kB
import { Entity } from './entity'; /** * First-class objects which provides access to the channel app context object-specific APIs. */ export class ChannelMetadata extends Entity { /** * Retrieve entity type. * * There is four types: * - Channel * - ChannelGroups * - ChannelMetadata * - UserMetadata * * @return One of known entity types. * * @internal */ override get entityType(): 'Channel' | 'ChannelGroups' | 'ChannelMetadata' | 'UserMetadata' { return 'ChannelMetadata'; } /** * Get unique channel metadata object identifier. * * @returns Channel metadata identifier. */ get id(): string { return this._nameOrId; } /** * Names for an object to be used in subscription. * * Provided strings will be used with multiplexed subscribe REST API calls. * * @param _receivePresenceEvents - Whether presence events should be observed or not. * * @returns List of names with multiplexed subscribe REST API calls (may include additional names to receive presence * updates). * * @internal */ override subscriptionNames(_receivePresenceEvents?: boolean): string[] { if (process.env.SUBSCRIBE_MODULE !== 'disabled') return [this.id]; else throw new Error('Unsubscription error: subscription module disabled'); } }