UNPKG

@sovpro/heos-lib

Version:

A Node.js library for HEOS device interaction

39 lines (34 loc) 1.02 kB
const getPayload = data => data.payload const getMessage = data => data.message const getItems = data => ({ count: parseInt (data.message.count, 10) , items: data.payload , options: data.options }) function matchingProps (props, case_sensitive = true) { const keys = Object.keys (props) return ( item => keys.every ( k => props[k] instanceof RegExp ? props[k].test (item[k]) : case_sensitive ? item[k] === props[k] : item[k].toLowerCase () === props[k].toLowerCase () ) ) } function makeBrowseSourceShortcut (source_name) { return async function (range) { const _range = typeof range === 'object' ? range.range : range const music_sources = await this.getMusicSources () const music_source = music_sources.find (matchingProps ({name: source_name}, false)) return this.browseSource (music_source.sid, _range) } } module.exports = { getMessage , getPayload , getItems , matchingProps , makeBrowseSourceShortcut }