UNPKG

@skyway-sdk/analytics-client

Version:

The official Next Generation JavaScript SDK for SkyWay

53 lines 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isAcknowledgePayload = exports.isOpenServerEventPayload = exports.isRecord = void 0; function isRecord(arg) { if (typeof arg !== 'object') return false; if (arg === null) return false; if (Array.isArray(arg)) return false; return true; } exports.isRecord = isRecord; function isOpenServerEventPayload(payload) { if (!payload || typeof payload !== 'object') return false; if (!payload.statsRequest || typeof payload.statsRequest !== 'object') return false; if (!payload.statsRequest.intervalSec || typeof payload.statsRequest.intervalSec !== 'number') return false; if (!payload.statsRequest.types || !Array.isArray(payload.statsRequest.types)) return false; for (const statsRequestType of payload.statsRequest.types) { if (!statsRequestType.type || typeof statsRequestType.type !== 'string') return false; if (!statsRequestType.properties || !isRecord(statsRequestType.properties)) return false; for (const key of Object.keys(statsRequestType.properties)) { if (!('normalization' in statsRequestType.properties[key]) || typeof statsRequestType.properties[key].normalization !== 'boolean') return false; if (!statsRequestType.properties[key].outputKey || typeof statsRequestType.properties[key].outputKey !== 'string') return false; } } return true; } exports.isOpenServerEventPayload = isOpenServerEventPayload; const AcknowledgeReason = ['invalidPayload', 'unexpected']; function isAcknowledgePayload(payload) { if (!payload || typeof payload !== 'object') return false; if (typeof payload.eventId !== 'string') return false; if (typeof payload.ok !== 'boolean') return false; if (typeof payload.reason !== 'undefined' && (typeof payload.reason !== 'string' || !AcknowledgeReason.includes(payload.reason))) return false; return true; } exports.isAcknowledgePayload = isAcknowledgePayload; //# sourceMappingURL=payloadTypes.js.map