UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

69 lines (54 loc) 2.11 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getOperation = getOperation; exports.validateParams = validateParams; exports.getURL = getURL; exports.isAuthSupported = isAuthSupported; exports.getRequestTimeout = getRequestTimeout; exports.prepareParams = prepareParams; exports.handleResponse = handleResponse; var _flow_interfaces = require("../../flow_interfaces"); var _operations = _interopRequireDefault(require("../../constants/operations")); var _utils = _interopRequireDefault(require("../../utils")); function getOperation() { return _operations["default"].PNHeartbeatOperation; } function validateParams(modules) { var config = modules.config; if (!config.subscribeKey) return 'Missing Subscribe Key'; } function getURL(modules, incomingParams) { var config = modules.config; var _incomingParams$chann = incomingParams.channels, channels = _incomingParams$chann === void 0 ? [] : _incomingParams$chann; var stringifiedChannels = channels.length > 0 ? channels.join(',') : ','; return "/v2/presence/sub-key/".concat(config.subscribeKey, "/channel/").concat(_utils["default"].encodeString(stringifiedChannels), "/heartbeat"); } function isAuthSupported() { return true; } function getRequestTimeout(_ref) { var config = _ref.config; return config.getTransactionTimeout(); } function prepareParams(modules, incomingParams) { var _incomingParams$chann2 = incomingParams.channelGroups, channelGroups = _incomingParams$chann2 === void 0 ? [] : _incomingParams$chann2, _incomingParams$state = incomingParams.state, state = _incomingParams$state === void 0 ? {} : _incomingParams$state; var config = modules.config; var params = {}; if (channelGroups.length > 0) { params['channel-group'] = channelGroups.join(','); } params.state = JSON.stringify(state); params.heartbeat = config.getPresenceTimeout(); return params; } function handleResponse() { return {}; } //# sourceMappingURL=heartbeat.js.map