@soundretouch/api 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +107 -0
  3. package/dist/index.d.ts +23 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +3 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/client/errors.d.ts +35 -0
  8. package/dist/src/client/errors.d.ts.map +1 -0
  9. package/dist/src/client/errors.js +44 -0
  10. package/dist/src/client/errors.js.map +1 -0
  11. package/dist/src/client/http.d.ts +40 -0
  12. package/dist/src/client/http.d.ts.map +1 -0
  13. package/dist/src/client/http.js +88 -0
  14. package/dist/src/client/http.js.map +1 -0
  15. package/dist/src/client/ws.d.ts +82 -0
  16. package/dist/src/client/ws.d.ts.map +1 -0
  17. package/dist/src/client/ws.js +153 -0
  18. package/dist/src/client/ws.js.map +1 -0
  19. package/dist/src/client/xml.d.ts +8 -0
  20. package/dist/src/client/xml.d.ts.map +1 -0
  21. package/dist/src/client/xml.js +18 -0
  22. package/dist/src/client/xml.js.map +1 -0
  23. package/dist/src/device/SoundTouchDevice.d.ts +457 -0
  24. package/dist/src/device/SoundTouchDevice.d.ts.map +1 -0
  25. package/dist/src/device/SoundTouchDevice.js +623 -0
  26. package/dist/src/device/SoundTouchDevice.js.map +1 -0
  27. package/dist/src/discovery/SoundTouchDiscovery.d.ts +18 -0
  28. package/dist/src/discovery/SoundTouchDiscovery.d.ts.map +1 -0
  29. package/dist/src/discovery/SoundTouchDiscovery.js +42 -0
  30. package/dist/src/discovery/SoundTouchDiscovery.js.map +1 -0
  31. package/dist/src/endpoints/audioProductLevelControls.d.ts +24 -0
  32. package/dist/src/endpoints/audioProductLevelControls.d.ts.map +1 -0
  33. package/dist/src/endpoints/audioProductLevelControls.js +44 -0
  34. package/dist/src/endpoints/audioProductLevelControls.js.map +1 -0
  35. package/dist/src/endpoints/audioProductToneControls.d.ts +24 -0
  36. package/dist/src/endpoints/audioProductToneControls.d.ts.map +1 -0
  37. package/dist/src/endpoints/audioProductToneControls.js +44 -0
  38. package/dist/src/endpoints/audioProductToneControls.js.map +1 -0
  39. package/dist/src/endpoints/audiodspcontrols.d.ts +24 -0
  40. package/dist/src/endpoints/audiodspcontrols.d.ts.map +1 -0
  41. package/dist/src/endpoints/audiodspcontrols.js +44 -0
  42. package/dist/src/endpoints/audiodspcontrols.js.map +1 -0
  43. package/dist/src/endpoints/bass.d.ts +23 -0
  44. package/dist/src/endpoints/bass.d.ts.map +1 -0
  45. package/dist/src/endpoints/bass.js +33 -0
  46. package/dist/src/endpoints/bass.js.map +1 -0
  47. package/dist/src/endpoints/bassCapabilities.d.ts +11 -0
  48. package/dist/src/endpoints/bassCapabilities.d.ts.map +1 -0
  49. package/dist/src/endpoints/bassCapabilities.js +16 -0
  50. package/dist/src/endpoints/bassCapabilities.js.map +1 -0
  51. package/dist/src/endpoints/capabilities.d.ts +11 -0
  52. package/dist/src/endpoints/capabilities.d.ts.map +1 -0
  53. package/dist/src/endpoints/capabilities.js +16 -0
  54. package/dist/src/endpoints/capabilities.js.map +1 -0
  55. package/dist/src/endpoints/info.d.ts +11 -0
  56. package/dist/src/endpoints/info.d.ts.map +1 -0
  57. package/dist/src/endpoints/info.js +16 -0
  58. package/dist/src/endpoints/info.js.map +1 -0
  59. package/dist/src/endpoints/key.d.ts +37 -0
  60. package/dist/src/endpoints/key.d.ts.map +1 -0
  61. package/dist/src/endpoints/key.js +45 -0
  62. package/dist/src/endpoints/key.js.map +1 -0
  63. package/dist/src/endpoints/name.d.ts +14 -0
  64. package/dist/src/endpoints/name.d.ts.map +1 -0
  65. package/dist/src/endpoints/name.js +23 -0
  66. package/dist/src/endpoints/name.js.map +1 -0
  67. package/dist/src/endpoints/nowPlaying.d.ts +11 -0
  68. package/dist/src/endpoints/nowPlaying.d.ts.map +1 -0
  69. package/dist/src/endpoints/nowPlaying.js +16 -0
  70. package/dist/src/endpoints/nowPlaying.js.map +1 -0
  71. package/dist/src/endpoints/presets.d.ts +11 -0
  72. package/dist/src/endpoints/presets.d.ts.map +1 -0
  73. package/dist/src/endpoints/presets.js +20 -0
  74. package/dist/src/endpoints/presets.js.map +1 -0
  75. package/dist/src/endpoints/select.d.ts +20 -0
  76. package/dist/src/endpoints/select.d.ts.map +1 -0
  77. package/dist/src/endpoints/select.js +33 -0
  78. package/dist/src/endpoints/select.js.map +1 -0
  79. package/dist/src/endpoints/sources.d.ts +11 -0
  80. package/dist/src/endpoints/sources.d.ts.map +1 -0
  81. package/dist/src/endpoints/sources.js +16 -0
  82. package/dist/src/endpoints/sources.js.map +1 -0
  83. package/dist/src/endpoints/trackInfo.d.ts +11 -0
  84. package/dist/src/endpoints/trackInfo.d.ts.map +1 -0
  85. package/dist/src/endpoints/trackInfo.js +16 -0
  86. package/dist/src/endpoints/trackInfo.js.map +1 -0
  87. package/dist/src/endpoints/volume.d.ts +21 -0
  88. package/dist/src/endpoints/volume.d.ts.map +1 -0
  89. package/dist/src/endpoints/volume.js +33 -0
  90. package/dist/src/endpoints/volume.js.map +1 -0
  91. package/dist/src/endpoints/zone.d.ts +57 -0
  92. package/dist/src/endpoints/zone.d.ts.map +1 -0
  93. package/dist/src/endpoints/zone.js +83 -0
  94. package/dist/src/endpoints/zone.js.map +1 -0
  95. package/dist/src/types/AudioDspControls.d.ts +7 -0
  96. package/dist/src/types/AudioDspControls.d.ts.map +1 -0
  97. package/dist/src/types/AudioDspControls.js +2 -0
  98. package/dist/src/types/AudioDspControls.js.map +1 -0
  99. package/dist/src/types/AudioProductLevelControls.d.ts +15 -0
  100. package/dist/src/types/AudioProductLevelControls.d.ts.map +1 -0
  101. package/dist/src/types/AudioProductLevelControls.js +2 -0
  102. package/dist/src/types/AudioProductLevelControls.js.map +1 -0
  103. package/dist/src/types/AudioProductToneControls.d.ts +15 -0
  104. package/dist/src/types/AudioProductToneControls.d.ts.map +1 -0
  105. package/dist/src/types/AudioProductToneControls.js +2 -0
  106. package/dist/src/types/AudioProductToneControls.js.map +1 -0
  107. package/dist/src/types/Bass.d.ts +6 -0
  108. package/dist/src/types/Bass.d.ts.map +1 -0
  109. package/dist/src/types/Bass.js +2 -0
  110. package/dist/src/types/Bass.js.map +1 -0
  111. package/dist/src/types/BassCapabilities.d.ts +8 -0
  112. package/dist/src/types/BassCapabilities.d.ts.map +1 -0
  113. package/dist/src/types/BassCapabilities.js +2 -0
  114. package/dist/src/types/BassCapabilities.js.map +1 -0
  115. package/dist/src/types/Capabilities.d.ts +10 -0
  116. package/dist/src/types/Capabilities.d.ts.map +1 -0
  117. package/dist/src/types/Capabilities.js +2 -0
  118. package/dist/src/types/Capabilities.js.map +1 -0
  119. package/dist/src/types/ContentItem.d.ts +5 -0
  120. package/dist/src/types/ContentItem.d.ts.map +1 -0
  121. package/dist/src/types/ContentItem.js +2 -0
  122. package/dist/src/types/ContentItem.js.map +1 -0
  123. package/dist/src/types/DeviceInfo.d.ts +22 -0
  124. package/dist/src/types/DeviceInfo.d.ts.map +1 -0
  125. package/dist/src/types/DeviceInfo.js +2 -0
  126. package/dist/src/types/DeviceInfo.js.map +1 -0
  127. package/dist/src/types/Enums.d.ts +8 -0
  128. package/dist/src/types/Enums.d.ts.map +1 -0
  129. package/dist/src/types/Enums.js +2 -0
  130. package/dist/src/types/Enums.js.map +1 -0
  131. package/dist/src/types/NowPlaying.d.ts +25 -0
  132. package/dist/src/types/NowPlaying.d.ts.map +1 -0
  133. package/dist/src/types/NowPlaying.js +2 -0
  134. package/dist/src/types/NowPlaying.js.map +1 -0
  135. package/dist/src/types/Presets.d.ts +15 -0
  136. package/dist/src/types/Presets.d.ts.map +1 -0
  137. package/dist/src/types/Presets.js +2 -0
  138. package/dist/src/types/Presets.js.map +1 -0
  139. package/dist/src/types/Recents.d.ts +14 -0
  140. package/dist/src/types/Recents.d.ts.map +1 -0
  141. package/dist/src/types/Recents.js +2 -0
  142. package/dist/src/types/Recents.js.map +1 -0
  143. package/dist/src/types/Sources.d.ts +12 -0
  144. package/dist/src/types/Sources.d.ts.map +1 -0
  145. package/dist/src/types/Sources.js +2 -0
  146. package/dist/src/types/Sources.js.map +1 -0
  147. package/dist/src/types/Updates.d.ts +37 -0
  148. package/dist/src/types/Updates.d.ts.map +1 -0
  149. package/dist/src/types/Updates.js +2 -0
  150. package/dist/src/types/Updates.js.map +1 -0
  151. package/dist/src/types/Volume.d.ts +6 -0
  152. package/dist/src/types/Volume.d.ts.map +1 -0
  153. package/dist/src/types/Volume.js +2 -0
  154. package/dist/src/types/Volume.js.map +1 -0
  155. package/dist/src/types/Zone.d.ts +22 -0
  156. package/dist/src/types/Zone.d.ts.map +1 -0
  157. package/dist/src/types/Zone.js +2 -0
  158. package/dist/src/types/Zone.js.map +1 -0
  159. package/docs/SoundTouch-Web-API.pdf +0 -0
  160. package/package.json +86 -0
@@ -0,0 +1,16 @@
1
+ import createDebug from 'debug';
2
+ const log = createDebug('soundretouch:endpoints:nowplaying');
3
+ /**
4
+ * Gets info about the currently playing media.
5
+ *
6
+ * GET /now_playing
7
+ *
8
+ * @returns Promise<NowPlaying> A promise that resolves to the now playing payload as returned by the device.
9
+ */
10
+ export async function fetchNowPlaying(client) {
11
+ log('GET /now_playing');
12
+ const data = await client.getXml('/now_playing');
13
+ log('response %O', data.nowPlaying ?? {});
14
+ return data.nowPlaying ?? {};
15
+ }
16
+ //# sourceMappingURL=nowPlaying.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nowPlaying.js","sourceRoot":"","sources":["../../../src/endpoints/nowPlaying.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAA;AAK/B,MAAM,GAAG,GAAG,WAAW,CAAC,mCAAmC,CAAC,CAAA;AAM5D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAkB;IACpD,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAEvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAqB,cAAc,CAAC,CAAA;IACpE,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IAEzC,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE,CAAA;AAChC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { HttpClient } from '../client/http';
2
+ import { Presets } from '../types/Presets';
3
+ /**
4
+ * Gets the list of current presets from the device.
5
+ *
6
+ * GET /presets
7
+ *
8
+ * @returns Promise<Presets> A promise that resolves to the presets payload as returned by the device.
9
+ */
10
+ export declare function fetchPresets(client: HttpClient): Promise<Presets>;
11
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/endpoints/presets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAU,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAUlD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAYvE"}
@@ -0,0 +1,20 @@
1
+ import createDebug from 'debug';
2
+ const log = createDebug('soundretouch:endpoints:presets');
3
+ /**
4
+ * Gets the list of current presets from the device.
5
+ *
6
+ * GET /presets
7
+ *
8
+ * @returns Promise<Presets> A promise that resolves to the presets payload as returned by the device.
9
+ */
10
+ export async function fetchPresets(client) {
11
+ log('GET /presets');
12
+ const data = await client.getXml('/presets');
13
+ log('response %O', data.presets ?? {});
14
+ const preset = data.presets?.preset;
15
+ if (Array.isArray(preset)) {
16
+ return preset;
17
+ }
18
+ return preset ? [preset] : [];
19
+ }
20
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/endpoints/presets.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAA;AAK/B,MAAM,GAAG,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAA;AAQzD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAkB;IACjD,GAAG,CAAC,cAAc,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAkB,UAAU,CAAC,CAAA;IAC7D,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAA;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACjC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { HttpClient } from '../client/http';
2
+ import { ContentItem } from '../types/ContentItem';
3
+ /**
4
+ * Selects a content source on the device using the /select endpoint.
5
+ *
6
+ * Use the /sources endpoint to discover which sources are available for a device.
7
+ * The available sources vary by product and SoundTouch account.
8
+ *
9
+ * POST /select
10
+ *
11
+ * @param item ContentItem describing the source and optional source account.
12
+ * @returns A promise that resolves when the device accepts the selection.
13
+ *
14
+ * @example
15
+ * await device.select({ source: 'AUX', sourceAccount: 'AUX' })
16
+ * await device.select({ source: 'BLUETOOTH' })
17
+ * await device.select({ source: 'PRODUCT', sourceAccount: 'TV' })
18
+ */
19
+ export declare function selectSource(client: HttpClient, item: ContentItem): Promise<void>;
20
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/endpoints/select.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAclD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvF"}
@@ -0,0 +1,33 @@
1
+ import createDebug from 'debug';
2
+ const log = createDebug('soundretouch:endpoints:select');
3
+ function escapeXml(value) {
4
+ return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&apos;');
5
+ }
6
+ function buildContentItemXml(item) {
7
+ const source = `source="${escapeXml(item.source)}"`;
8
+ const account = item.sourceAccount ? ` sourceAccount="${escapeXml(item.sourceAccount)}"` : '';
9
+ return `<ContentItem ${source}${account}></ContentItem>`;
10
+ }
11
+ /**
12
+ * Selects a content source on the device using the /select endpoint.
13
+ *
14
+ * Use the /sources endpoint to discover which sources are available for a device.
15
+ * The available sources vary by product and SoundTouch account.
16
+ *
17
+ * POST /select
18
+ *
19
+ * @param item ContentItem describing the source and optional source account.
20
+ * @returns A promise that resolves when the device accepts the selection.
21
+ *
22
+ * @example
23
+ * await device.select({ source: 'AUX', sourceAccount: 'AUX' })
24
+ * await device.select({ source: 'BLUETOOTH' })
25
+ * await device.select({ source: 'PRODUCT', sourceAccount: 'TV' })
26
+ */
27
+ export async function selectSource(client, item) {
28
+ const body = buildContentItemXml(item);
29
+ log('POST /select');
30
+ log('payload %s', body);
31
+ await client.post('/select', body);
32
+ }
33
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/endpoints/select.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAA;AAK/B,MAAM,GAAG,GAAG,WAAW,CAAC,+BAA+B,CAAC,CAAA;AAExD,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AACnI,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAiB;IAC1C,MAAM,MAAM,GAAG,WAAW,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7F,OAAO,gBAAgB,MAAM,GAAG,OAAO,iBAAiB,CAAA;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAkB,EAAE,IAAiB;IACpE,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACtC,GAAG,CAAC,cAAc,CAAC,CAAA;IACnB,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAEvB,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { HttpClient } from '../client/http';
2
+ import { Sources } from '../types/Sources';
3
+ /**
4
+ * Fetches the list of available content sources from the device.
5
+ *
6
+ * GET /sources
7
+ *
8
+ * @returns Promise<Sources> A promise that resolves to the sources payload as returned by the device.
9
+ */
10
+ export declare function fetchSources(client: HttpClient): Promise<Sources>;
11
+ //# sourceMappingURL=sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/endpoints/sources.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAQ1C;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvE"}
@@ -0,0 +1,16 @@
1
+ import createDebug from 'debug';
2
+ const log = createDebug('soundretouch:endpoints:sources');
3
+ /**
4
+ * Fetches the list of available content sources from the device.
5
+ *
6
+ * GET /sources
7
+ *
8
+ * @returns Promise<Sources> A promise that resolves to the sources payload as returned by the device.
9
+ */
10
+ export async function fetchSources(client) {
11
+ log('GET /sources');
12
+ const data = await client.getXml('/sources');
13
+ log('response %O', data.sources ?? {});
14
+ return data.sources ?? {};
15
+ }
16
+ //# sourceMappingURL=sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/endpoints/sources.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAA;AAK/B,MAAM,GAAG,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAA;AAMzD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAkB;IACjD,GAAG,CAAC,cAAc,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAkB,UAAU,CAAC,CAAA;IAC7D,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAEtC,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;AAC7B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { HttpClient } from '../client/http';
2
+ import { NowPlaying } from '../types/NowPlaying';
3
+ /**
4
+ * Gets track information for the currently playing media.
5
+ *
6
+ * GET /trackInfo
7
+ *
8
+ * @returns Promise<NowPlaying> A promise that resolves to the now playing payload as returned by the device.
9
+ */
10
+ export declare function fetchTrackInfo(client: HttpClient): Promise<NowPlaying>;
11
+ //# sourceMappingURL=trackInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackInfo.d.ts","sourceRoot":"","sources":["../../../src/endpoints/trackInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAQhD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAM5E"}
@@ -0,0 +1,16 @@
1
+ import createDebug from 'debug';
2
+ const log = createDebug('soundretouch:endpoints:trackinfo');
3
+ /**
4
+ * Gets track information for the currently playing media.
5
+ *
6
+ * GET /trackInfo
7
+ *
8
+ * @returns Promise<NowPlaying> A promise that resolves to the now playing payload as returned by the device.
9
+ */
10
+ export async function fetchTrackInfo(client) {
11
+ log('GET /trackInfo');
12
+ const data = await client.getXml('/trackInfo');
13
+ log('response %O', data.nowPlaying ?? {});
14
+ return data.nowPlaying ?? {};
15
+ }
16
+ //# sourceMappingURL=trackInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackInfo.js","sourceRoot":"","sources":["../../../src/endpoints/trackInfo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAA;AAK/B,MAAM,GAAG,GAAG,WAAW,CAAC,kCAAkC,CAAC,CAAA;AAM3D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAkB;IACnD,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAErB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAoB,YAAY,CAAC,CAAA;IACjE,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IACzC,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE,CAAA;AAChC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { HttpClient } from '../client/http';
2
+ import { Volume } from '../types/Volume';
3
+ export declare function fetchVolume(client: HttpClient): Promise<Volume>;
4
+ /**
5
+ * Sets the volume level and mute state for the device. Volume ranges between 0 and 100 inclusive.
6
+ *
7
+ * POST /volume
8
+ *
9
+ * The muteenabled setting is applied first, if present. The system will be unmuted if the
10
+ * volume value is larger than the current volume setting.
11
+ *
12
+ * @param value Volume value to set.
13
+ * @param muteenabled Optional mute state to set before applying the volume value.
14
+ * @returns A promise that resolves when the device accepts the volume value.
15
+ *
16
+ * @example
17
+ * await device.setVolume(25)
18
+ * await device.setVolume(10, true)
19
+ */
20
+ export declare function setVolume(client: HttpClient, value: number, muteenabled?: boolean): Promise<void>;
21
+ //# sourceMappingURL=volume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volume.d.ts","sourceRoot":"","sources":["../../../src/endpoints/volume.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAQxC,wBAAsB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAOrE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CASvG"}
@@ -0,0 +1,33 @@
1
+ import createDebug from 'debug';
2
+ const log = createDebug('soundretouch:endpoints:volume');
3
+ export async function fetchVolume(client) {
4
+ log('GET /volume');
5
+ const data = await client.getXml('/volume');
6
+ log('response %O', data.volume ?? {});
7
+ return data.volume ?? {};
8
+ }
9
+ /**
10
+ * Sets the volume level and mute state for the device. Volume ranges between 0 and 100 inclusive.
11
+ *
12
+ * POST /volume
13
+ *
14
+ * The muteenabled setting is applied first, if present. The system will be unmuted if the
15
+ * volume value is larger than the current volume setting.
16
+ *
17
+ * @param value Volume value to set.
18
+ * @param muteenabled Optional mute state to set before applying the volume value.
19
+ * @returns A promise that resolves when the device accepts the volume value.
20
+ *
21
+ * @example
22
+ * await device.setVolume(25)
23
+ * await device.setVolume(10, true)
24
+ */
25
+ export async function setVolume(client, value, muteenabled) {
26
+ const normalized = Math.max(0, Math.min(100, Math.round(value)));
27
+ const muteXml = typeof muteenabled === 'boolean' ? `<muteenabled>${muteenabled}</muteenabled>` : '';
28
+ const body = `<volume>${normalized}${muteXml}</volume>`;
29
+ log('POST /volume');
30
+ log('payload %s', body);
31
+ await client.post('/volume', body);
32
+ }
33
+ //# sourceMappingURL=volume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volume.js","sourceRoot":"","sources":["../../../src/endpoints/volume.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAA;AAK/B,MAAM,GAAG,GAAG,WAAW,CAAC,+BAA+B,CAAC,CAAA;AAMxD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAkB;IAChD,GAAG,CAAC,aAAa,CAAC,CAAA;IAElB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAiB,SAAS,CAAC,CAAA;IAC3D,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAErC,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAA;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAkB,EAAE,KAAa,EAAE,WAAqB;IACpF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,WAAW,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAA;IACnG,MAAM,IAAI,GAAG,WAAW,UAAU,GAAG,OAAO,WAAW,CAAA;IAEvD,GAAG,CAAC,cAAc,CAAC,CAAA;IACnB,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAEvB,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { HttpClient } from '../client/http';
2
+ import { Zone, ZoneConfig, ZoneSlaveConfig } from '../types/Zone';
3
+ /**
4
+ * Gets the current multi-room zone state from the device.
5
+ *
6
+ * GET /getZone
7
+ *
8
+ * @returns Promise<Zone> A promise that resolves to the zone payload as returned by the device.
9
+ */
10
+ export declare function fetchZone(client: HttpClient): Promise<Zone>;
11
+ /**
12
+ * Creates or updates a multi-room zone.
13
+ *
14
+ * POST /setZone
15
+ *
16
+ * @param config Zone configuration including master, sender IP, and member list.
17
+ * @returns A promise that resolves when the device accepts the zone configuration.
18
+ *
19
+ * @example
20
+ * await device.setZone({
21
+ * master: '00A040123456',
22
+ * senderIPAddress: '192.168.1.10',
23
+ * members: [{ ipaddress: '192.168.1.10', macAddress: '00A040123456' }],
24
+ * })
25
+ */
26
+ export declare function setZone(client: HttpClient, config: ZoneConfig): Promise<void>;
27
+ /**
28
+ * Adds one or more slaves to a "play everywhere" zone.
29
+ *
30
+ * POST /addZoneSlave
31
+ *
32
+ * @param config Zone slave configuration including master and member list.
33
+ * @returns A promise that resolves when the device accepts the zone update.
34
+ *
35
+ * @example
36
+ * await device.addZoneSlave({
37
+ * master: '00A040123456',
38
+ * members: [{ ipaddress: '192.168.1.11', macAddress: '00A040654321' }],
39
+ * })
40
+ */
41
+ export declare function addZoneSlave(client: HttpClient, config: ZoneSlaveConfig): Promise<void>;
42
+ /**
43
+ * Removes one or more slaves from a "play everywhere" zone.
44
+ *
45
+ * POST /removeZoneSlave
46
+ *
47
+ * @param config Zone slave configuration including master and member list.
48
+ * @returns A promise that resolves when the device accepts the zone update.
49
+ *
50
+ * @example
51
+ * await device.removeZoneSlave({
52
+ * master: '00A040123456',
53
+ * members: [{ ipaddress: '192.168.1.11', macAddress: '00A040654321' }],
54
+ * })
55
+ */
56
+ export declare function removeZoneSlave(client: HttpClient, config: ZoneSlaveConfig): Promise<void>;
57
+ //# sourceMappingURL=zone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zone.d.ts","sourceRoot":"","sources":["../../../src/endpoints/zone.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAoB,eAAe,EAAE,MAAM,eAAe,CAAA;AAYnF;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ7F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhG"}
@@ -0,0 +1,83 @@
1
+ import createDebug from 'debug';
2
+ const log = createDebug('soundretouch:endpoints:zone');
3
+ function buildZoneMembersXml(members) {
4
+ return members.map((member) => `<member ipaddress="${member.ipaddress}">${member.macAddress}</member>`).join('');
5
+ }
6
+ /**
7
+ * Gets the current multi-room zone state from the device.
8
+ *
9
+ * GET /getZone
10
+ *
11
+ * @returns Promise<Zone> A promise that resolves to the zone payload as returned by the device.
12
+ */
13
+ export async function fetchZone(client) {
14
+ log('GET /getZone');
15
+ const data = await client.getXml('/getZone');
16
+ log('response %O', data.zone ?? {});
17
+ return data.zone ?? {};
18
+ }
19
+ /**
20
+ * Creates or updates a multi-room zone.
21
+ *
22
+ * POST /setZone
23
+ *
24
+ * @param config Zone configuration including master, sender IP, and member list.
25
+ * @returns A promise that resolves when the device accepts the zone configuration.
26
+ *
27
+ * @example
28
+ * await device.setZone({
29
+ * master: '00A040123456',
30
+ * senderIPAddress: '192.168.1.10',
31
+ * members: [{ ipaddress: '192.168.1.10', macAddress: '00A040123456' }],
32
+ * })
33
+ */
34
+ export async function setZone(client, config) {
35
+ const membersXml = buildZoneMembersXml(config.members);
36
+ const body = `<zone master="${config.master}" senderIPAddress="${config.senderIPAddress}">${membersXml}</zone>`;
37
+ log('POST /setZone');
38
+ log('payload %s', body);
39
+ await client.post('/setZone', body);
40
+ }
41
+ /**
42
+ * Adds one or more slaves to a "play everywhere" zone.
43
+ *
44
+ * POST /addZoneSlave
45
+ *
46
+ * @param config Zone slave configuration including master and member list.
47
+ * @returns A promise that resolves when the device accepts the zone update.
48
+ *
49
+ * @example
50
+ * await device.addZoneSlave({
51
+ * master: '00A040123456',
52
+ * members: [{ ipaddress: '192.168.1.11', macAddress: '00A040654321' }],
53
+ * })
54
+ */
55
+ export async function addZoneSlave(client, config) {
56
+ const membersXml = buildZoneMembersXml(config.members);
57
+ const body = `<zone master="${config.master}">${membersXml}</zone>`;
58
+ log('POST /addZoneSlave');
59
+ log('payload %s', body);
60
+ await client.post('/addZoneSlave', body);
61
+ }
62
+ /**
63
+ * Removes one or more slaves from a "play everywhere" zone.
64
+ *
65
+ * POST /removeZoneSlave
66
+ *
67
+ * @param config Zone slave configuration including master and member list.
68
+ * @returns A promise that resolves when the device accepts the zone update.
69
+ *
70
+ * @example
71
+ * await device.removeZoneSlave({
72
+ * master: '00A040123456',
73
+ * members: [{ ipaddress: '192.168.1.11', macAddress: '00A040654321' }],
74
+ * })
75
+ */
76
+ export async function removeZoneSlave(client, config) {
77
+ const membersXml = buildZoneMembersXml(config.members);
78
+ const body = `<zone master="${config.master}">${membersXml}</zone>`;
79
+ log('POST /removeZoneSlave');
80
+ log('payload %s', body);
81
+ await client.post('/removeZoneSlave', body);
82
+ }
83
+ //# sourceMappingURL=zone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zone.js","sourceRoot":"","sources":["../../../src/endpoints/zone.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAA;AAK/B,MAAM,GAAG,GAAG,WAAW,CAAC,6BAA6B,CAAC,CAAA;AAMtD,SAAS,mBAAmB,CAAC,OAA2B;IACpD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,UAAU,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACpH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAkB;IAC9C,GAAG,CAAC,cAAc,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAe,UAAU,CAAC,CAAA;IAC1D,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAEnC,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;AAC1B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAkB,EAAE,MAAkB;IAChE,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtD,MAAM,IAAI,GAAG,iBAAiB,MAAM,CAAC,MAAM,sBAAsB,MAAM,CAAC,eAAe,KAAK,UAAU,SAAS,CAAA;IAE/G,GAAG,CAAC,eAAe,CAAC,CAAA;IACpB,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAEvB,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAkB,EAAE,MAAuB;IAC1E,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtD,MAAM,IAAI,GAAG,iBAAiB,MAAM,CAAC,MAAM,KAAK,UAAU,SAAS,CAAA;IAEnE,GAAG,CAAC,oBAAoB,CAAC,CAAA;IACzB,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAEvB,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;AAC5C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAkB,EAAE,MAAuB;IAC7E,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtD,MAAM,IAAI,GAAG,iBAAiB,MAAM,CAAC,MAAM,KAAK,UAAU,SAAS,CAAA;IAEnE,GAAG,CAAC,uBAAuB,CAAC,CAAA;IAC5B,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAEvB,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;AAC/C,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { AudioMode } from './Enums';
2
+ export type AudioDspControls = {
3
+ audiomode?: AudioMode;
4
+ videosyncaudiodelay?: number;
5
+ supportedaudiomodes?: string;
6
+ };
7
+ //# sourceMappingURL=AudioDspControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioDspControls.d.ts","sourceRoot":"","sources":["../../../src/types/AudioDspControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,MAAM,MAAM,gBAAgB,GAAG;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AudioDspControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioDspControls.js","sourceRoot":"","sources":["../../../src/types/AudioDspControls.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export type LevelControl = {
2
+ value?: number;
3
+ minValue?: number;
4
+ maxValue?: number;
5
+ step?: number;
6
+ };
7
+ export type AudioProductLevelControls = {
8
+ frontCenterSpeakerLevel?: LevelControl;
9
+ rearSurroundSpeakersLevel?: LevelControl;
10
+ };
11
+ export type AudioProductLevelControlsUpdate = {
12
+ frontCenterSpeakerLevel?: number;
13
+ rearSurroundSpeakersLevel?: number;
14
+ };
15
+ //# sourceMappingURL=AudioProductLevelControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioProductLevelControls.d.ts","sourceRoot":"","sources":["../../../src/types/AudioProductLevelControls.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,uBAAuB,CAAC,EAAE,YAAY,CAAA;IACtC,yBAAyB,CAAC,EAAE,YAAY,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC1C,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACrC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AudioProductLevelControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioProductLevelControls.js","sourceRoot":"","sources":["../../../src/types/AudioProductLevelControls.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export type ToneControl = {
2
+ value?: number;
3
+ minValue?: number;
4
+ maxValue?: number;
5
+ step?: number;
6
+ };
7
+ export type AudioProductToneControls = {
8
+ bass?: ToneControl;
9
+ treble?: ToneControl;
10
+ };
11
+ export type AudioProductToneControlsUpdate = {
12
+ bass?: number;
13
+ treble?: number;
14
+ };
15
+ //# sourceMappingURL=AudioProductToneControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioProductToneControls.d.ts","sourceRoot":"","sources":["../../../src/types/AudioProductToneControls.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACnC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AudioProductToneControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioProductToneControls.js","sourceRoot":"","sources":["../../../src/types/AudioProductToneControls.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export type Bass = {
2
+ deviceID?: string;
3
+ targetbass?: number;
4
+ actualbass?: number;
5
+ };
6
+ //# sourceMappingURL=Bass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bass.d.ts","sourceRoot":"","sources":["../../../src/types/Bass.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Bass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bass.js","sourceRoot":"","sources":["../../../src/types/Bass.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export type BassCapabilities = {
2
+ deviceID?: string;
3
+ bassAvailable?: boolean;
4
+ bassMin?: number;
5
+ bassMax?: number;
6
+ bassDefault?: number;
7
+ };
8
+ //# sourceMappingURL=BassCapabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BassCapabilities.d.ts","sourceRoot":"","sources":["../../../src/types/BassCapabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BassCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BassCapabilities.js","sourceRoot":"","sources":["../../../src/types/BassCapabilities.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export type Capability = {
2
+ name?: string;
3
+ url?: string;
4
+ info?: string;
5
+ };
6
+ export type Capabilities = {
7
+ deviceID?: string;
8
+ capability?: Capability | Capability[];
9
+ };
10
+ //# sourceMappingURL=Capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/types/Capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;CACzC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Capabilities.js","sourceRoot":"","sources":["../../../src/types/Capabilities.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export type ContentItem = {
2
+ source: string;
3
+ sourceAccount?: string;
4
+ };
5
+ //# sourceMappingURL=ContentItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentItem.d.ts","sourceRoot":"","sources":["../../../src/types/ContentItem.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ContentItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentItem.js","sourceRoot":"","sources":["../../../src/types/ContentItem.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ export type DeviceInfo = {
2
+ deviceID?: string;
3
+ name?: string;
4
+ type?: string;
5
+ margeAccountUUID?: string;
6
+ components?: {
7
+ component?: DeviceInfoComponent | DeviceInfoComponent[];
8
+ };
9
+ margeURL?: string;
10
+ networkInfo?: DeviceNetworkInfo | DeviceNetworkInfo[];
11
+ };
12
+ export type DeviceInfoComponent = {
13
+ componentCategory?: string;
14
+ softwareVersion?: string;
15
+ serialNumber?: string;
16
+ };
17
+ export type DeviceNetworkInfo = {
18
+ type?: string;
19
+ macAddress?: string;
20
+ ipAddress?: string;
21
+ };
22
+ //# sourceMappingURL=DeviceInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceInfo.d.ts","sourceRoot":"","sources":["../../../src/types/DeviceInfo.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAA;KAC1D,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeviceInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceInfo.js","sourceRoot":"","sources":["../../../src/types/DeviceInfo.ts"],"names":[],"mappings":""}