soundtouch-api
Version:
SoundTouch API using TypeScript
29 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.infoFromElement = void 0;
var component_1 = require("./component");
var network_info_1 = require("./network-info");
var utils_1 = require("./utils");
function infoFromElement(element) {
if (!element.hasAttributes(['deviceID'])
|| !element.hasChildren(['name', 'type', 'components', 'networkInfo'])) {
return undefined;
}
var deviceId = element.getAttribute('deviceID');
var name = element.getText('name');
var type = element.getText('type');
var components = element.getChild('components');
var networkInfo = element.getList('networkInfo');
if (!deviceId || !name || !type || !components || !networkInfo) {
return undefined;
}
return {
deviceId: deviceId,
name: name,
type: type,
components: (0, utils_1.compactMap)(components.getList('component'), component_1.componentFromElement),
networkInfo: (0, utils_1.compactMap)(networkInfo, network_info_1.networkInfoFromElement)
};
}
exports.infoFromElement = infoFromElement;
//# sourceMappingURL=info.js.map