@skyway-sdk/analytics-client
Version:
The official Next Generation JavaScript SDK for SkyWay
53 lines • 2.2 kB
JavaScript
;
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