UNPKG

soundtouch-api

Version:
44 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.roleFromElement = exports.groupFromElement = void 0; var utils_1 = require("./utils"); function groupFromElement(element) { if (!element.hasAttribute('id') || !element.hasChildren(['name', 'masterDeviceId', 'roles', 'status'])) { return undefined; } var roles = element.getChild('roles'); var id = element.getAttribute('id'); var name = element.getText('name'); var masterDeviceId = element.getText('masterDeviceId'); var status = element.getText('status'); if (!roles || !id || !name || !masterDeviceId || !status) { return undefined; } return { id: id, name: name, masterDeviceId: masterDeviceId, status: status, roles: (0, utils_1.compactMap)(roles.getList('groupRole'), roleFromElement) }; } exports.groupFromElement = groupFromElement; function roleFromElement(element) { if (!element.hasChildren(['deviceId', 'role', 'ipAddress'])) { return undefined; } var deviceId = element.getText('deviceId'); var ipAddress = element.getText('ipAddress'); var role = element.getText('role'); if (!deviceId || !ipAddress || !role) { return undefined; } return { deviceId: deviceId, ipAddress: ipAddress, location: role, }; } exports.roleFromElement = roleFromElement; //# sourceMappingURL=group.js.map