soundtouch-api
Version:
SoundTouch API using TypeScript
39 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sourceFromElement = exports.sourcesFromElement = void 0;
var utils_1 = require("./utils");
function sourcesFromElement(element) {
if (!element.hasAttribute('deviceID')) {
return undefined;
}
var deviceId = element.getAttribute('deviceID');
if (!deviceId) {
return undefined;
}
return {
deviceId: deviceId,
items: (0, utils_1.compactMap)(element.getList('sourceItem'), sourceFromElement)
};
}
exports.sourcesFromElement = sourcesFromElement;
function sourceFromElement(element) {
if (!element.hasAttributes(['source', 'status'])) {
return undefined;
}
var name = element.getText();
var source = element.getAttribute('source');
var status = element.getAttribute('status');
if (!source || !status || !name) {
return undefined;
}
return {
source: source,
name: name,
sourceAccount: element.getAttribute('sourceAccount') || '',
status: status,
isLocal: element.getAttribute('isLocal') === 'true',
isMultiRoomAllowed: element.getAttribute('multiroomallowed') === 'true'
};
}
exports.sourceFromElement = sourceFromElement;
//# sourceMappingURL=source.js.map