spotted-ts 0.1.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 (750) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/LICENSE +201 -0
  3. package/README.md +354 -0
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +261 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +261 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +553 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +549 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/pagination.d.mts +50 -0
  37. package/core/pagination.d.mts.map +1 -0
  38. package/core/pagination.d.ts +50 -0
  39. package/core/pagination.d.ts.map +1 -0
  40. package/core/pagination.js +104 -0
  41. package/core/pagination.js.map +1 -0
  42. package/core/pagination.mjs +98 -0
  43. package/core/pagination.mjs.map +1 -0
  44. package/core/resource.d.mts +6 -0
  45. package/core/resource.d.mts.map +1 -0
  46. package/core/resource.d.ts +6 -0
  47. package/core/resource.d.ts.map +1 -0
  48. package/core/resource.js +11 -0
  49. package/core/resource.js.map +1 -0
  50. package/core/resource.mjs +7 -0
  51. package/core/resource.mjs.map +1 -0
  52. package/core/uploads.d.mts +3 -0
  53. package/core/uploads.d.mts.map +1 -0
  54. package/core/uploads.d.ts +3 -0
  55. package/core/uploads.d.ts.map +1 -0
  56. package/core/uploads.js +6 -0
  57. package/core/uploads.js.map +1 -0
  58. package/core/uploads.mjs +2 -0
  59. package/core/uploads.mjs.map +1 -0
  60. package/error.d.mts +2 -0
  61. package/error.d.mts.map +1 -0
  62. package/error.d.ts +2 -0
  63. package/error.d.ts.map +1 -0
  64. package/error.js +6 -0
  65. package/error.js.map +1 -0
  66. package/error.mjs +2 -0
  67. package/error.mjs.map +1 -0
  68. package/index.d.mts +7 -0
  69. package/index.d.mts.map +1 -0
  70. package/index.d.ts +7 -0
  71. package/index.d.ts.map +1 -0
  72. package/index.js +32 -0
  73. package/index.js.map +1 -0
  74. package/index.mjs +8 -0
  75. package/index.mjs.map +1 -0
  76. package/internal/builtin-types.d.mts +73 -0
  77. package/internal/builtin-types.d.mts.map +1 -0
  78. package/internal/builtin-types.d.ts +73 -0
  79. package/internal/builtin-types.d.ts.map +1 -0
  80. package/internal/builtin-types.js +4 -0
  81. package/internal/builtin-types.js.map +1 -0
  82. package/internal/builtin-types.mjs +3 -0
  83. package/internal/builtin-types.mjs.map +1 -0
  84. package/internal/detect-platform.d.mts +15 -0
  85. package/internal/detect-platform.d.mts.map +1 -0
  86. package/internal/detect-platform.d.ts +15 -0
  87. package/internal/detect-platform.d.ts.map +1 -0
  88. package/internal/detect-platform.js +162 -0
  89. package/internal/detect-platform.js.map +1 -0
  90. package/internal/detect-platform.mjs +157 -0
  91. package/internal/detect-platform.mjs.map +1 -0
  92. package/internal/errors.d.mts +3 -0
  93. package/internal/errors.d.mts.map +1 -0
  94. package/internal/errors.d.ts +3 -0
  95. package/internal/errors.d.ts.map +1 -0
  96. package/internal/errors.js +41 -0
  97. package/internal/errors.js.map +1 -0
  98. package/internal/errors.mjs +36 -0
  99. package/internal/errors.mjs.map +1 -0
  100. package/internal/headers.d.mts +20 -0
  101. package/internal/headers.d.mts.map +1 -0
  102. package/internal/headers.d.ts +20 -0
  103. package/internal/headers.d.ts.map +1 -0
  104. package/internal/headers.js +79 -0
  105. package/internal/headers.js.map +1 -0
  106. package/internal/headers.mjs +74 -0
  107. package/internal/headers.mjs.map +1 -0
  108. package/internal/parse.d.mts +12 -0
  109. package/internal/parse.d.mts.map +1 -0
  110. package/internal/parse.d.ts +12 -0
  111. package/internal/parse.d.ts.map +1 -0
  112. package/internal/parse.js +35 -0
  113. package/internal/parse.js.map +1 -0
  114. package/internal/parse.mjs +32 -0
  115. package/internal/parse.mjs.map +1 -0
  116. package/internal/qs/formats.d.mts +7 -0
  117. package/internal/qs/formats.d.mts.map +1 -0
  118. package/internal/qs/formats.d.ts +7 -0
  119. package/internal/qs/formats.d.ts.map +1 -0
  120. package/internal/qs/formats.js +13 -0
  121. package/internal/qs/formats.js.map +1 -0
  122. package/internal/qs/formats.mjs +9 -0
  123. package/internal/qs/formats.mjs.map +1 -0
  124. package/internal/qs/index.d.mts +10 -0
  125. package/internal/qs/index.d.mts.map +1 -0
  126. package/internal/qs/index.d.ts +10 -0
  127. package/internal/qs/index.d.ts.map +1 -0
  128. package/internal/qs/index.js +14 -0
  129. package/internal/qs/index.js.map +1 -0
  130. package/internal/qs/index.mjs +10 -0
  131. package/internal/qs/index.mjs.map +1 -0
  132. package/internal/qs/stringify.d.mts +3 -0
  133. package/internal/qs/stringify.d.mts.map +1 -0
  134. package/internal/qs/stringify.d.ts +3 -0
  135. package/internal/qs/stringify.d.ts.map +1 -0
  136. package/internal/qs/stringify.js +277 -0
  137. package/internal/qs/stringify.js.map +1 -0
  138. package/internal/qs/stringify.mjs +274 -0
  139. package/internal/qs/stringify.mjs.map +1 -0
  140. package/internal/qs/types.d.mts +57 -0
  141. package/internal/qs/types.d.mts.map +1 -0
  142. package/internal/qs/types.d.ts +57 -0
  143. package/internal/qs/types.d.ts.map +1 -0
  144. package/internal/qs/types.js +3 -0
  145. package/internal/qs/types.js.map +1 -0
  146. package/internal/qs/types.mjs +2 -0
  147. package/internal/qs/types.mjs.map +1 -0
  148. package/internal/qs/utils.d.mts +15 -0
  149. package/internal/qs/utils.d.mts.map +1 -0
  150. package/internal/qs/utils.d.ts +15 -0
  151. package/internal/qs/utils.d.ts.map +1 -0
  152. package/internal/qs/utils.js +230 -0
  153. package/internal/qs/utils.js.map +1 -0
  154. package/internal/qs/utils.mjs +217 -0
  155. package/internal/qs/utils.mjs.map +1 -0
  156. package/internal/request-options.d.mts +75 -0
  157. package/internal/request-options.d.mts.map +1 -0
  158. package/internal/request-options.d.ts +75 -0
  159. package/internal/request-options.d.ts.map +1 -0
  160. package/internal/request-options.js +14 -0
  161. package/internal/request-options.js.map +1 -0
  162. package/internal/request-options.mjs +10 -0
  163. package/internal/request-options.mjs.map +1 -0
  164. package/internal/shim-types.d.mts +17 -0
  165. package/internal/shim-types.d.mts.map +1 -0
  166. package/internal/shim-types.d.ts +17 -0
  167. package/internal/shim-types.d.ts.map +1 -0
  168. package/internal/shim-types.js +4 -0
  169. package/internal/shim-types.js.map +1 -0
  170. package/internal/shim-types.mjs +3 -0
  171. package/internal/shim-types.mjs.map +1 -0
  172. package/internal/shims.d.mts +20 -0
  173. package/internal/shims.d.mts.map +1 -0
  174. package/internal/shims.d.ts +20 -0
  175. package/internal/shims.d.ts.map +1 -0
  176. package/internal/shims.js +92 -0
  177. package/internal/shims.js.map +1 -0
  178. package/internal/shims.mjs +85 -0
  179. package/internal/shims.mjs.map +1 -0
  180. package/internal/to-file.d.mts +45 -0
  181. package/internal/to-file.d.mts.map +1 -0
  182. package/internal/to-file.d.ts +45 -0
  183. package/internal/to-file.d.ts.map +1 -0
  184. package/internal/to-file.js +91 -0
  185. package/internal/to-file.js.map +1 -0
  186. package/internal/to-file.mjs +88 -0
  187. package/internal/to-file.mjs.map +1 -0
  188. package/internal/tslib.js +81 -0
  189. package/internal/tslib.mjs +17 -0
  190. package/internal/types.d.mts +69 -0
  191. package/internal/types.d.mts.map +1 -0
  192. package/internal/types.d.ts +69 -0
  193. package/internal/types.d.ts.map +1 -0
  194. package/internal/types.js +4 -0
  195. package/internal/types.js.map +1 -0
  196. package/internal/types.mjs +3 -0
  197. package/internal/types.mjs.map +1 -0
  198. package/internal/uploads.d.mts +42 -0
  199. package/internal/uploads.d.mts.map +1 -0
  200. package/internal/uploads.d.ts +42 -0
  201. package/internal/uploads.d.ts.map +1 -0
  202. package/internal/uploads.js +141 -0
  203. package/internal/uploads.js.map +1 -0
  204. package/internal/uploads.mjs +131 -0
  205. package/internal/uploads.mjs.map +1 -0
  206. package/internal/utils/base64.d.mts +3 -0
  207. package/internal/utils/base64.d.mts.map +1 -0
  208. package/internal/utils/base64.d.ts +3 -0
  209. package/internal/utils/base64.d.ts.map +1 -0
  210. package/internal/utils/base64.js +38 -0
  211. package/internal/utils/base64.js.map +1 -0
  212. package/internal/utils/base64.mjs +33 -0
  213. package/internal/utils/base64.mjs.map +1 -0
  214. package/internal/utils/bytes.d.mts +4 -0
  215. package/internal/utils/bytes.d.mts.map +1 -0
  216. package/internal/utils/bytes.d.ts +4 -0
  217. package/internal/utils/bytes.d.ts.map +1 -0
  218. package/internal/utils/bytes.js +31 -0
  219. package/internal/utils/bytes.js.map +1 -0
  220. package/internal/utils/bytes.mjs +26 -0
  221. package/internal/utils/bytes.mjs.map +1 -0
  222. package/internal/utils/env.d.mts +9 -0
  223. package/internal/utils/env.d.mts.map +1 -0
  224. package/internal/utils/env.d.ts +9 -0
  225. package/internal/utils/env.d.ts.map +1 -0
  226. package/internal/utils/env.js +22 -0
  227. package/internal/utils/env.js.map +1 -0
  228. package/internal/utils/env.mjs +18 -0
  229. package/internal/utils/env.mjs.map +1 -0
  230. package/internal/utils/log.d.mts +37 -0
  231. package/internal/utils/log.d.mts.map +1 -0
  232. package/internal/utils/log.d.ts +37 -0
  233. package/internal/utils/log.d.ts.map +1 -0
  234. package/internal/utils/log.js +85 -0
  235. package/internal/utils/log.js.map +1 -0
  236. package/internal/utils/log.mjs +79 -0
  237. package/internal/utils/log.mjs.map +1 -0
  238. package/internal/utils/path.d.mts +15 -0
  239. package/internal/utils/path.d.mts.map +1 -0
  240. package/internal/utils/path.d.ts +15 -0
  241. package/internal/utils/path.d.ts.map +1 -0
  242. package/internal/utils/path.js +79 -0
  243. package/internal/utils/path.js.map +1 -0
  244. package/internal/utils/path.mjs +74 -0
  245. package/internal/utils/path.mjs.map +1 -0
  246. package/internal/utils/sleep.d.mts +2 -0
  247. package/internal/utils/sleep.d.mts.map +1 -0
  248. package/internal/utils/sleep.d.ts +2 -0
  249. package/internal/utils/sleep.d.ts.map +1 -0
  250. package/internal/utils/sleep.js +7 -0
  251. package/internal/utils/sleep.js.map +1 -0
  252. package/internal/utils/sleep.mjs +3 -0
  253. package/internal/utils/sleep.mjs.map +1 -0
  254. package/internal/utils/uuid.d.mts +5 -0
  255. package/internal/utils/uuid.d.mts.map +1 -0
  256. package/internal/utils/uuid.d.ts +5 -0
  257. package/internal/utils/uuid.d.ts.map +1 -0
  258. package/internal/utils/uuid.js +19 -0
  259. package/internal/utils/uuid.js.map +1 -0
  260. package/internal/utils/uuid.mjs +15 -0
  261. package/internal/utils/uuid.mjs.map +1 -0
  262. package/internal/utils/values.d.mts +18 -0
  263. package/internal/utils/values.d.mts.map +1 -0
  264. package/internal/utils/values.d.ts +18 -0
  265. package/internal/utils/values.d.ts.map +1 -0
  266. package/internal/utils/values.js +112 -0
  267. package/internal/utils/values.js.map +1 -0
  268. package/internal/utils/values.mjs +94 -0
  269. package/internal/utils/values.mjs.map +1 -0
  270. package/internal/utils.d.mts +7 -0
  271. package/internal/utils.d.mts.map +1 -0
  272. package/internal/utils.d.ts +7 -0
  273. package/internal/utils.d.ts.map +1 -0
  274. package/internal/utils.js +11 -0
  275. package/internal/utils.js.map +1 -0
  276. package/internal/utils.mjs +8 -0
  277. package/internal/utils.mjs.map +1 -0
  278. package/package.json +148 -0
  279. package/pagination.d.mts +2 -0
  280. package/pagination.d.mts.map +1 -0
  281. package/pagination.d.ts +2 -0
  282. package/pagination.d.ts.map +1 -0
  283. package/pagination.js +6 -0
  284. package/pagination.js.map +1 -0
  285. package/pagination.mjs +2 -0
  286. package/pagination.mjs.map +1 -0
  287. package/resource.d.mts +2 -0
  288. package/resource.d.mts.map +1 -0
  289. package/resource.d.ts +2 -0
  290. package/resource.d.ts.map +1 -0
  291. package/resource.js +6 -0
  292. package/resource.js.map +1 -0
  293. package/resource.mjs +2 -0
  294. package/resource.mjs.map +1 -0
  295. package/resources/albums.d.mts +333 -0
  296. package/resources/albums.d.mts.map +1 -0
  297. package/resources/albums.d.ts +333 -0
  298. package/resources/albums.d.ts.map +1 -0
  299. package/resources/albums.js +34 -0
  300. package/resources/albums.js.map +1 -0
  301. package/resources/albums.mjs +30 -0
  302. package/resources/albums.mjs.map +1 -0
  303. package/resources/artists.d.mts +166 -0
  304. package/resources/artists.d.mts.map +1 -0
  305. package/resources/artists.d.ts +166 -0
  306. package/resources/artists.d.ts.map +1 -0
  307. package/resources/artists.js +48 -0
  308. package/resources/artists.js.map +1 -0
  309. package/resources/artists.mjs +44 -0
  310. package/resources/artists.mjs.map +1 -0
  311. package/resources/audio-analysis.d.mts +365 -0
  312. package/resources/audio-analysis.d.mts.map +1 -0
  313. package/resources/audio-analysis.d.ts +365 -0
  314. package/resources/audio-analysis.d.ts.map +1 -0
  315. package/resources/audio-analysis.js +20 -0
  316. package/resources/audio-analysis.js.map +1 -0
  317. package/resources/audio-analysis.mjs +16 -0
  318. package/resources/audio-analysis.mjs.map +1 -0
  319. package/resources/audio-features.d.mts +253 -0
  320. package/resources/audio-features.d.mts.map +1 -0
  321. package/resources/audio-features.d.ts +253 -0
  322. package/resources/audio-features.d.ts.map +1 -0
  323. package/resources/audio-features.js +27 -0
  324. package/resources/audio-features.js.map +1 -0
  325. package/resources/audio-features.mjs +23 -0
  326. package/resources/audio-features.mjs.map +1 -0
  327. package/resources/audiobooks.d.mts +259 -0
  328. package/resources/audiobooks.d.mts.map +1 -0
  329. package/resources/audiobooks.d.ts +259 -0
  330. package/resources/audiobooks.d.ts.map +1 -0
  331. package/resources/audiobooks.js +37 -0
  332. package/resources/audiobooks.js.map +1 -0
  333. package/resources/audiobooks.mjs +33 -0
  334. package/resources/audiobooks.mjs.map +1 -0
  335. package/resources/browse/browse.d.mts +165 -0
  336. package/resources/browse/browse.d.mts.map +1 -0
  337. package/resources/browse/browse.d.ts +165 -0
  338. package/resources/browse/browse.d.ts.map +1 -0
  339. package/resources/browse/browse.js +33 -0
  340. package/resources/browse/browse.js.map +1 -0
  341. package/resources/browse/browse.mjs +28 -0
  342. package/resources/browse/browse.mjs.map +1 -0
  343. package/resources/browse/categories.d.mts +151 -0
  344. package/resources/browse/categories.d.mts.map +1 -0
  345. package/resources/browse/categories.d.ts +151 -0
  346. package/resources/browse/categories.d.ts.map +1 -0
  347. package/resources/browse/categories.js +32 -0
  348. package/resources/browse/categories.js.map +1 -0
  349. package/resources/browse/categories.mjs +28 -0
  350. package/resources/browse/categories.mjs.map +1 -0
  351. package/resources/browse/index.d.mts +3 -0
  352. package/resources/browse/index.d.mts.map +1 -0
  353. package/resources/browse/index.d.ts +3 -0
  354. package/resources/browse/index.d.ts.map +1 -0
  355. package/resources/browse/index.js +9 -0
  356. package/resources/browse/index.js.map +1 -0
  357. package/resources/browse/index.mjs +4 -0
  358. package/resources/browse/index.mjs.map +1 -0
  359. package/resources/browse.d.mts +2 -0
  360. package/resources/browse.d.mts.map +1 -0
  361. package/resources/browse.d.ts +2 -0
  362. package/resources/browse.d.ts.map +1 -0
  363. package/resources/browse.js +6 -0
  364. package/resources/browse.js.map +1 -0
  365. package/resources/browse.mjs +3 -0
  366. package/resources/browse.mjs.map +1 -0
  367. package/resources/chapters.d.mts +251 -0
  368. package/resources/chapters.d.mts.map +1 -0
  369. package/resources/chapters.d.ts +251 -0
  370. package/resources/chapters.d.ts.map +1 -0
  371. package/resources/chapters.js +26 -0
  372. package/resources/chapters.js.map +1 -0
  373. package/resources/chapters.mjs +22 -0
  374. package/resources/chapters.mjs.map +1 -0
  375. package/resources/episodes.d.mts +56 -0
  376. package/resources/episodes.d.mts.map +1 -0
  377. package/resources/episodes.d.ts +56 -0
  378. package/resources/episodes.d.ts.map +1 -0
  379. package/resources/episodes.js +23 -0
  380. package/resources/episodes.js.map +1 -0
  381. package/resources/episodes.mjs +19 -0
  382. package/resources/episodes.mjs.map +1 -0
  383. package/resources/index.d.mts +18 -0
  384. package/resources/index.d.mts.map +1 -0
  385. package/resources/index.d.ts +18 -0
  386. package/resources/index.d.ts.map +1 -0
  387. package/resources/index.js +39 -0
  388. package/resources/index.js.map +1 -0
  389. package/resources/index.mjs +19 -0
  390. package/resources/index.mjs.map +1 -0
  391. package/resources/markets.d.mts +16 -0
  392. package/resources/markets.d.mts.map +1 -0
  393. package/resources/markets.d.ts +16 -0
  394. package/resources/markets.d.ts.map +1 -0
  395. package/resources/markets.js +15 -0
  396. package/resources/markets.js.map +1 -0
  397. package/resources/markets.mjs +11 -0
  398. package/resources/markets.mjs.map +1 -0
  399. package/resources/me/albums.d.mts +250 -0
  400. package/resources/me/albums.d.mts.map +1 -0
  401. package/resources/me/albums.d.ts +250 -0
  402. package/resources/me/albums.d.ts.map +1 -0
  403. package/resources/me/albums.js +70 -0
  404. package/resources/me/albums.js.map +1 -0
  405. package/resources/me/albums.mjs +66 -0
  406. package/resources/me/albums.mjs.map +1 -0
  407. package/resources/me/audiobooks.d.mts +153 -0
  408. package/resources/me/audiobooks.d.mts.map +1 -0
  409. package/resources/me/audiobooks.d.ts +153 -0
  410. package/resources/me/audiobooks.d.ts.map +1 -0
  411. package/resources/me/audiobooks.js +79 -0
  412. package/resources/me/audiobooks.js.map +1 -0
  413. package/resources/me/audiobooks.mjs +75 -0
  414. package/resources/me/audiobooks.mjs.map +1 -0
  415. package/resources/me/episodes.d.mts +132 -0
  416. package/resources/me/episodes.d.mts.map +1 -0
  417. package/resources/me/episodes.d.ts +132 -0
  418. package/resources/me/episodes.d.ts.map +1 -0
  419. package/resources/me/episodes.js +81 -0
  420. package/resources/me/episodes.js.map +1 -0
  421. package/resources/me/episodes.mjs +77 -0
  422. package/resources/me/episodes.mjs.map +1 -0
  423. package/resources/me/following.d.mts +147 -0
  424. package/resources/me/following.d.mts.map +1 -0
  425. package/resources/me/following.d.ts +147 -0
  426. package/resources/me/following.d.ts.map +1 -0
  427. package/resources/me/following.js +70 -0
  428. package/resources/me/following.js.map +1 -0
  429. package/resources/me/following.mjs +66 -0
  430. package/resources/me/following.mjs.map +1 -0
  431. package/resources/me/index.d.mts +11 -0
  432. package/resources/me/index.d.mts.map +1 -0
  433. package/resources/me/index.d.ts +11 -0
  434. package/resources/me/index.d.ts.map +1 -0
  435. package/resources/me/index.js +25 -0
  436. package/resources/me/index.js.map +1 -0
  437. package/resources/me/index.mjs +12 -0
  438. package/resources/me/index.mjs.map +1 -0
  439. package/resources/me/me.d.mts +143 -0
  440. package/resources/me/me.d.mts.map +1 -0
  441. package/resources/me/me.d.ts +143 -0
  442. package/resources/me/me.d.ts.map +1 -0
  443. package/resources/me/me.js +61 -0
  444. package/resources/me/me.js.map +1 -0
  445. package/resources/me/me.mjs +56 -0
  446. package/resources/me/me.mjs.map +1 -0
  447. package/resources/me/player/index.d.mts +3 -0
  448. package/resources/me/player/index.d.mts.map +1 -0
  449. package/resources/me/player/index.d.ts +3 -0
  450. package/resources/me/player/index.d.ts.map +1 -0
  451. package/resources/me/player/index.js +9 -0
  452. package/resources/me/player/index.js.map +1 -0
  453. package/resources/me/player/index.mjs +4 -0
  454. package/resources/me/player/index.mjs.map +1 -0
  455. package/resources/me/player/player.d.mts +595 -0
  456. package/resources/me/player/player.d.mts.map +1 -0
  457. package/resources/me/player/player.d.ts +595 -0
  458. package/resources/me/player/player.d.ts.map +1 -0
  459. package/resources/me/player/player.js +236 -0
  460. package/resources/me/player/player.js.map +1 -0
  461. package/resources/me/player/player.mjs +231 -0
  462. package/resources/me/player/player.mjs.map +1 -0
  463. package/resources/me/player/queue.d.mts +53 -0
  464. package/resources/me/player/queue.d.mts.map +1 -0
  465. package/resources/me/player/queue.d.ts +53 -0
  466. package/resources/me/player/queue.d.ts.map +1 -0
  467. package/resources/me/player/queue.js +41 -0
  468. package/resources/me/player/queue.js.map +1 -0
  469. package/resources/me/player/queue.mjs +37 -0
  470. package/resources/me/player/queue.mjs.map +1 -0
  471. package/resources/me/player.d.mts +2 -0
  472. package/resources/me/player.d.mts.map +1 -0
  473. package/resources/me/player.d.ts +2 -0
  474. package/resources/me/player.d.ts.map +1 -0
  475. package/resources/me/player.js +6 -0
  476. package/resources/me/player.js.map +1 -0
  477. package/resources/me/player.mjs +3 -0
  478. package/resources/me/player.mjs.map +1 -0
  479. package/resources/me/playlists.d.mts +35 -0
  480. package/resources/me/playlists.d.mts.map +1 -0
  481. package/resources/me/playlists.d.ts +35 -0
  482. package/resources/me/playlists.d.ts.map +1 -0
  483. package/resources/me/playlists.js +27 -0
  484. package/resources/me/playlists.js.map +1 -0
  485. package/resources/me/playlists.mjs +23 -0
  486. package/resources/me/playlists.mjs.map +1 -0
  487. package/resources/me/shows.d.mts +109 -0
  488. package/resources/me/shows.d.mts.map +1 -0
  489. package/resources/me/shows.d.ts +109 -0
  490. package/resources/me/shows.d.ts.map +1 -0
  491. package/resources/me/shows.js +70 -0
  492. package/resources/me/shows.js.map +1 -0
  493. package/resources/me/shows.mjs +66 -0
  494. package/resources/me/shows.mjs.map +1 -0
  495. package/resources/me/top.d.mts +72 -0
  496. package/resources/me/top.d.mts.map +1 -0
  497. package/resources/me/top.d.ts +72 -0
  498. package/resources/me/top.d.ts.map +1 -0
  499. package/resources/me/top.js +44 -0
  500. package/resources/me/top.js.map +1 -0
  501. package/resources/me/top.mjs +40 -0
  502. package/resources/me/top.mjs.map +1 -0
  503. package/resources/me/tracks.d.mts +151 -0
  504. package/resources/me/tracks.d.mts.map +1 -0
  505. package/resources/me/tracks.d.ts +151 -0
  506. package/resources/me/tracks.d.ts.map +1 -0
  507. package/resources/me/tracks.js +70 -0
  508. package/resources/me/tracks.js.map +1 -0
  509. package/resources/me/tracks.mjs +66 -0
  510. package/resources/me/tracks.mjs.map +1 -0
  511. package/resources/me.d.mts +2 -0
  512. package/resources/me.d.mts.map +1 -0
  513. package/resources/me.d.ts +2 -0
  514. package/resources/me.d.ts.map +1 -0
  515. package/resources/me.js +6 -0
  516. package/resources/me.js.map +1 -0
  517. package/resources/me.mjs +3 -0
  518. package/resources/me.mjs.map +1 -0
  519. package/resources/playlists/followers.d.mts +61 -0
  520. package/resources/playlists/followers.d.mts.map +1 -0
  521. package/resources/playlists/followers.d.ts +61 -0
  522. package/resources/playlists/followers.d.ts.map +1 -0
  523. package/resources/playlists/followers.js +57 -0
  524. package/resources/playlists/followers.js.map +1 -0
  525. package/resources/playlists/followers.mjs +53 -0
  526. package/resources/playlists/followers.mjs.map +1 -0
  527. package/resources/playlists/images.d.mts +42 -0
  528. package/resources/playlists/images.d.mts.map +1 -0
  529. package/resources/playlists/images.d.ts +42 -0
  530. package/resources/playlists/images.d.ts.map +1 -0
  531. package/resources/playlists/images.js +45 -0
  532. package/resources/playlists/images.js.map +1 -0
  533. package/resources/playlists/images.mjs +41 -0
  534. package/resources/playlists/images.mjs.map +1 -0
  535. package/resources/playlists/index.d.mts +5 -0
  536. package/resources/playlists/index.d.mts.map +1 -0
  537. package/resources/playlists/index.d.ts +5 -0
  538. package/resources/playlists/index.d.ts.map +1 -0
  539. package/resources/playlists/index.js +13 -0
  540. package/resources/playlists/index.js.map +1 -0
  541. package/resources/playlists/index.mjs +6 -0
  542. package/resources/playlists/index.mjs.map +1 -0
  543. package/resources/playlists/playlists.d.mts +215 -0
  544. package/resources/playlists/playlists.d.mts.map +1 -0
  545. package/resources/playlists/playlists.d.ts +215 -0
  546. package/resources/playlists/playlists.d.ts.map +1 -0
  547. package/resources/playlists/playlists.js +56 -0
  548. package/resources/playlists/playlists.js.map +1 -0
  549. package/resources/playlists/playlists.mjs +51 -0
  550. package/resources/playlists/playlists.mjs.map +1 -0
  551. package/resources/playlists/tracks.d.mts +197 -0
  552. package/resources/playlists/tracks.d.mts.map +1 -0
  553. package/resources/playlists/tracks.d.ts +197 -0
  554. package/resources/playlists/tracks.d.ts.map +1 -0
  555. package/resources/playlists/tracks.js +75 -0
  556. package/resources/playlists/tracks.js.map +1 -0
  557. package/resources/playlists/tracks.mjs +71 -0
  558. package/resources/playlists/tracks.mjs.map +1 -0
  559. package/resources/playlists.d.mts +2 -0
  560. package/resources/playlists.d.mts.map +1 -0
  561. package/resources/playlists.d.ts +2 -0
  562. package/resources/playlists.d.ts.map +1 -0
  563. package/resources/playlists.js +6 -0
  564. package/resources/playlists.js.map +1 -0
  565. package/resources/playlists.mjs +3 -0
  566. package/resources/playlists.mjs.map +1 -0
  567. package/resources/recommendations.d.mts +420 -0
  568. package/resources/recommendations.d.mts.map +1 -0
  569. package/resources/recommendations.d.ts +420 -0
  570. package/resources/recommendations.d.ts.map +1 -0
  571. package/resources/recommendations.js +32 -0
  572. package/resources/recommendations.js.map +1 -0
  573. package/resources/recommendations.mjs +28 -0
  574. package/resources/recommendations.mjs.map +1 -0
  575. package/resources/search.d.mts +309 -0
  576. package/resources/search.d.mts.map +1 -0
  577. package/resources/search.d.ts +309 -0
  578. package/resources/search.d.ts.map +1 -0
  579. package/resources/search.js +17 -0
  580. package/resources/search.js.map +1 -0
  581. package/resources/search.mjs +13 -0
  582. package/resources/search.mjs.map +1 -0
  583. package/resources/shared.d.mts +1010 -0
  584. package/resources/shared.d.mts.map +1 -0
  585. package/resources/shared.d.ts +1010 -0
  586. package/resources/shared.d.ts.map +1 -0
  587. package/resources/shared.js +4 -0
  588. package/resources/shared.js.map +1 -0
  589. package/resources/shared.mjs +3 -0
  590. package/resources/shared.mjs.map +1 -0
  591. package/resources/shows.d.mts +125 -0
  592. package/resources/shows.d.mts.map +1 -0
  593. package/resources/shows.d.ts +125 -0
  594. package/resources/shows.d.ts.map +1 -0
  595. package/resources/shows.js +31 -0
  596. package/resources/shows.js.map +1 -0
  597. package/resources/shows.mjs +27 -0
  598. package/resources/shows.mjs.map +1 -0
  599. package/resources/tracks.d.mts +56 -0
  600. package/resources/tracks.d.mts.map +1 -0
  601. package/resources/tracks.d.ts +56 -0
  602. package/resources/tracks.d.ts.map +1 -0
  603. package/resources/tracks.js +23 -0
  604. package/resources/tracks.js.map +1 -0
  605. package/resources/tracks.mjs +19 -0
  606. package/resources/tracks.mjs.map +1 -0
  607. package/resources/users/index.d.mts +3 -0
  608. package/resources/users/index.d.mts.map +1 -0
  609. package/resources/users/index.d.ts +3 -0
  610. package/resources/users/index.d.ts.map +1 -0
  611. package/resources/users/index.js +9 -0
  612. package/resources/users/index.js.map +1 -0
  613. package/resources/users/index.mjs +4 -0
  614. package/resources/users/index.mjs.map +1 -0
  615. package/resources/users/playlists.d.mts +194 -0
  616. package/resources/users/playlists.d.mts.map +1 -0
  617. package/resources/users/playlists.d.ts +194 -0
  618. package/resources/users/playlists.d.ts.map +1 -0
  619. package/resources/users/playlists.js +43 -0
  620. package/resources/users/playlists.js.map +1 -0
  621. package/resources/users/playlists.mjs +39 -0
  622. package/resources/users/playlists.mjs.map +1 -0
  623. package/resources/users/users.d.mts +61 -0
  624. package/resources/users/users.d.mts.map +1 -0
  625. package/resources/users/users.d.ts +61 -0
  626. package/resources/users/users.d.ts.map +1 -0
  627. package/resources/users/users.js +31 -0
  628. package/resources/users/users.js.map +1 -0
  629. package/resources/users/users.mjs +26 -0
  630. package/resources/users/users.mjs.map +1 -0
  631. package/resources/users.d.mts +2 -0
  632. package/resources/users.d.mts.map +1 -0
  633. package/resources/users.d.ts +2 -0
  634. package/resources/users.d.ts.map +1 -0
  635. package/resources/users.js +6 -0
  636. package/resources/users.js.map +1 -0
  637. package/resources/users.mjs +3 -0
  638. package/resources/users.mjs.map +1 -0
  639. package/resources.d.mts +2 -0
  640. package/resources.d.mts.map +1 -0
  641. package/resources.d.ts +2 -0
  642. package/resources.d.ts.map +1 -0
  643. package/resources.js +5 -0
  644. package/resources.js.map +1 -0
  645. package/resources.mjs +2 -0
  646. package/resources.mjs.map +1 -0
  647. package/src/api-promise.ts +2 -0
  648. package/src/client.ts +1070 -0
  649. package/src/core/README.md +3 -0
  650. package/src/core/api-promise.ts +92 -0
  651. package/src/core/error.ts +130 -0
  652. package/src/core/pagination.ts +155 -0
  653. package/src/core/resource.ts +11 -0
  654. package/src/core/uploads.ts +2 -0
  655. package/src/error.ts +2 -0
  656. package/src/index.ts +23 -0
  657. package/src/internal/README.md +3 -0
  658. package/src/internal/builtin-types.ts +93 -0
  659. package/src/internal/detect-platform.ts +196 -0
  660. package/src/internal/errors.ts +33 -0
  661. package/src/internal/headers.ts +97 -0
  662. package/src/internal/parse.ts +50 -0
  663. package/src/internal/qs/LICENSE.md +13 -0
  664. package/src/internal/qs/README.md +3 -0
  665. package/src/internal/qs/formats.ts +10 -0
  666. package/src/internal/qs/index.ts +13 -0
  667. package/src/internal/qs/stringify.ts +385 -0
  668. package/src/internal/qs/types.ts +71 -0
  669. package/src/internal/qs/utils.ts +265 -0
  670. package/src/internal/request-options.ts +91 -0
  671. package/src/internal/shim-types.ts +26 -0
  672. package/src/internal/shims.ts +107 -0
  673. package/src/internal/to-file.ts +154 -0
  674. package/src/internal/types.ts +95 -0
  675. package/src/internal/uploads.ts +187 -0
  676. package/src/internal/utils/base64.ts +40 -0
  677. package/src/internal/utils/bytes.ts +32 -0
  678. package/src/internal/utils/env.ts +18 -0
  679. package/src/internal/utils/log.ts +126 -0
  680. package/src/internal/utils/path.ts +88 -0
  681. package/src/internal/utils/sleep.ts +3 -0
  682. package/src/internal/utils/uuid.ts +17 -0
  683. package/src/internal/utils/values.ts +105 -0
  684. package/src/internal/utils.ts +8 -0
  685. package/src/lib/.keep +4 -0
  686. package/src/pagination.ts +2 -0
  687. package/src/resource.ts +2 -0
  688. package/src/resources/albums.ts +427 -0
  689. package/src/resources/artists.ts +229 -0
  690. package/src/resources/audio-analysis.ts +438 -0
  691. package/src/resources/audio-features.ts +304 -0
  692. package/src/resources/audiobooks.ts +334 -0
  693. package/src/resources/browse/browse.ts +233 -0
  694. package/src/resources/browse/categories.ts +205 -0
  695. package/src/resources/browse/index.ts +18 -0
  696. package/src/resources/browse.ts +3 -0
  697. package/src/resources/chapters.ts +315 -0
  698. package/src/resources/episodes.ts +77 -0
  699. package/src/resources/index.ts +84 -0
  700. package/src/resources/markets.ts +22 -0
  701. package/src/resources/me/albums.ts +323 -0
  702. package/src/resources/me/audiobooks.ts +209 -0
  703. package/src/resources/me/episodes.ts +178 -0
  704. package/src/resources/me/following.ts +199 -0
  705. package/src/resources/me/index.ts +86 -0
  706. package/src/resources/me/me.ts +334 -0
  707. package/src/resources/me/player/index.ts +25 -0
  708. package/src/resources/me/player/player.ts +807 -0
  709. package/src/resources/me/player/queue.ts +71 -0
  710. package/src/resources/me/player.ts +3 -0
  711. package/src/resources/me/playlists.ts +49 -0
  712. package/src/resources/me/shows.ts +152 -0
  713. package/src/resources/me/top.ts +102 -0
  714. package/src/resources/me/tracks.ts +200 -0
  715. package/src/resources/me.ts +3 -0
  716. package/src/resources/playlists/followers.ts +97 -0
  717. package/src/resources/playlists/images.ts +59 -0
  718. package/src/resources/playlists/index.ts +25 -0
  719. package/src/resources/playlists/playlists.ts +306 -0
  720. package/src/resources/playlists/tracks.ts +261 -0
  721. package/src/resources/playlists.ts +3 -0
  722. package/src/resources/recommendations.ts +493 -0
  723. package/src/resources/search.ts +386 -0
  724. package/src/resources/shared.ts +1217 -0
  725. package/src/resources/shows.ts +171 -0
  726. package/src/resources/tracks.ts +77 -0
  727. package/src/resources/users/index.ts +9 -0
  728. package/src/resources/users/playlists.ts +249 -0
  729. package/src/resources/users/users.ts +84 -0
  730. package/src/resources/users.ts +3 -0
  731. package/src/resources.ts +1 -0
  732. package/src/tsconfig.json +11 -0
  733. package/src/uploads.ts +2 -0
  734. package/src/version.ts +1 -0
  735. package/uploads.d.mts +2 -0
  736. package/uploads.d.mts.map +1 -0
  737. package/uploads.d.ts +2 -0
  738. package/uploads.d.ts.map +1 -0
  739. package/uploads.js +6 -0
  740. package/uploads.js.map +1 -0
  741. package/uploads.mjs +2 -0
  742. package/uploads.mjs.map +1 -0
  743. package/version.d.mts +2 -0
  744. package/version.d.mts.map +1 -0
  745. package/version.d.ts +2 -0
  746. package/version.d.ts.map +1 -0
  747. package/version.js +5 -0
  748. package/version.js.map +1 -0
  749. package/version.mjs +2 -0
  750. package/version.mjs.map +1 -0
@@ -0,0 +1,807 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import * as Shared from '../../shared';
5
+ import * as QueueAPI from './queue';
6
+ import { Queue, QueueAddParams, QueueGetResponse } from './queue';
7
+ import { APIPromise } from '../../../core/api-promise';
8
+ import { CursorURLPage, PagePromise } from '../../../core/pagination';
9
+ import { buildHeaders } from '../../../internal/headers';
10
+ import { RequestOptions } from '../../../internal/request-options';
11
+
12
+ export class Player extends APIResource {
13
+ queue: QueueAPI.Queue = new QueueAPI.Queue(this._client);
14
+
15
+ /**
16
+ * Get the object currently being played on the user's Spotify account.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const response =
21
+ * await client.me.player.getCurrentlyPlaying();
22
+ * ```
23
+ */
24
+ getCurrentlyPlaying(
25
+ query: PlayerGetCurrentlyPlayingParams | null | undefined = {},
26
+ options?: RequestOptions,
27
+ ): APIPromise<PlayerGetCurrentlyPlayingResponse> {
28
+ return this._client.get('/me/player/currently-playing', { query, ...options });
29
+ }
30
+
31
+ /**
32
+ * Get information about a user’s available Spotify Connect devices. Some device
33
+ * models are not supported and will not be listed in the API response.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const response = await client.me.player.getDevices();
38
+ * ```
39
+ */
40
+ getDevices(options?: RequestOptions): APIPromise<PlayerGetDevicesResponse> {
41
+ return this._client.get('/me/player/devices', options);
42
+ }
43
+
44
+ /**
45
+ * Get information about the user’s current playback state, including track or
46
+ * episode, progress, and active device.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const response = await client.me.player.getState();
51
+ * ```
52
+ */
53
+ getState(
54
+ query: PlayerGetStateParams | null | undefined = {},
55
+ options?: RequestOptions,
56
+ ): APIPromise<PlayerGetStateResponse> {
57
+ return this._client.get('/me/player', { query, ...options });
58
+ }
59
+
60
+ /**
61
+ * Get tracks from the current user's recently played tracks. _**Note**: Currently
62
+ * doesn't support podcast episodes._
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * // Automatically fetches more pages as needed.
67
+ * for await (const playerListRecentlyPlayedResponse of client.me.player.listRecentlyPlayed()) {
68
+ * // ...
69
+ * }
70
+ * ```
71
+ */
72
+ listRecentlyPlayed(
73
+ query: PlayerListRecentlyPlayedParams | null | undefined = {},
74
+ options?: RequestOptions,
75
+ ): PagePromise<PlayerListRecentlyPlayedResponsesCursorURLPage, PlayerListRecentlyPlayedResponse> {
76
+ return this._client.getAPIList(
77
+ '/me/player/recently-played',
78
+ CursorURLPage<PlayerListRecentlyPlayedResponse>,
79
+ { query, ...options },
80
+ );
81
+ }
82
+
83
+ /**
84
+ * Pause playback on the user's account. This API only works for users who have
85
+ * Spotify Premium. The order of execution is not guaranteed when you use this API
86
+ * with other Player API endpoints.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * await client.me.player.pausePlayback();
91
+ * ```
92
+ */
93
+ pausePlayback(
94
+ params: PlayerPausePlaybackParams | null | undefined = {},
95
+ options?: RequestOptions,
96
+ ): APIPromise<void> {
97
+ const { device_id } = params ?? {};
98
+ return this._client.put('/me/player/pause', {
99
+ query: { device_id },
100
+ ...options,
101
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
102
+ });
103
+ }
104
+
105
+ /**
106
+ * Seeks to the given position in the user’s currently playing track. This API only
107
+ * works for users who have Spotify Premium. The order of execution is not
108
+ * guaranteed when you use this API with other Player API endpoints.
109
+ *
110
+ * @example
111
+ * ```ts
112
+ * await client.me.player.seekToPosition({
113
+ * position_ms: 25000,
114
+ * });
115
+ * ```
116
+ */
117
+ seekToPosition(params: PlayerSeekToPositionParams, options?: RequestOptions): APIPromise<void> {
118
+ const { position_ms, device_id } = params;
119
+ return this._client.put('/me/player/seek', {
120
+ query: { position_ms, device_id },
121
+ ...options,
122
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
123
+ });
124
+ }
125
+
126
+ /**
127
+ * Set the repeat mode for the user's playback. This API only works for users who
128
+ * have Spotify Premium. The order of execution is not guaranteed when you use this
129
+ * API with other Player API endpoints.
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * await client.me.player.setRepeatMode({ state: 'context' });
134
+ * ```
135
+ */
136
+ setRepeatMode(params: PlayerSetRepeatModeParams, options?: RequestOptions): APIPromise<void> {
137
+ const { state, device_id } = params;
138
+ return this._client.put('/me/player/repeat', {
139
+ query: { state, device_id },
140
+ ...options,
141
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
142
+ });
143
+ }
144
+
145
+ /**
146
+ * Set the volume for the user’s current playback device. This API only works for
147
+ * users who have Spotify Premium. The order of execution is not guaranteed when
148
+ * you use this API with other Player API endpoints.
149
+ *
150
+ * @example
151
+ * ```ts
152
+ * await client.me.player.setVolume({ volume_percent: 50 });
153
+ * ```
154
+ */
155
+ setVolume(params: PlayerSetVolumeParams, options?: RequestOptions): APIPromise<void> {
156
+ const { volume_percent, device_id } = params;
157
+ return this._client.put('/me/player/volume', {
158
+ query: { volume_percent, device_id },
159
+ ...options,
160
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
161
+ });
162
+ }
163
+
164
+ /**
165
+ * Skips to next track in the user’s queue. This API only works for users who have
166
+ * Spotify Premium. The order of execution is not guaranteed when you use this API
167
+ * with other Player API endpoints.
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * await client.me.player.skipNext();
172
+ * ```
173
+ */
174
+ skipNext(params: PlayerSkipNextParams | null | undefined = {}, options?: RequestOptions): APIPromise<void> {
175
+ const { device_id } = params ?? {};
176
+ return this._client.post('/me/player/next', {
177
+ query: { device_id },
178
+ ...options,
179
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
180
+ });
181
+ }
182
+
183
+ /**
184
+ * Skips to previous track in the user’s queue. This API only works for users who
185
+ * have Spotify Premium. The order of execution is not guaranteed when you use this
186
+ * API with other Player API endpoints.
187
+ *
188
+ * @example
189
+ * ```ts
190
+ * await client.me.player.skipPrevious();
191
+ * ```
192
+ */
193
+ skipPrevious(
194
+ params: PlayerSkipPreviousParams | null | undefined = {},
195
+ options?: RequestOptions,
196
+ ): APIPromise<void> {
197
+ const { device_id } = params ?? {};
198
+ return this._client.post('/me/player/previous', {
199
+ query: { device_id },
200
+ ...options,
201
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
202
+ });
203
+ }
204
+
205
+ /**
206
+ * Start a new context or resume current playback on the user's active device. This
207
+ * API only works for users who have Spotify Premium. The order of execution is not
208
+ * guaranteed when you use this API with other Player API endpoints.
209
+ *
210
+ * @example
211
+ * ```ts
212
+ * await client.me.player.startPlayback();
213
+ * ```
214
+ */
215
+ startPlayback(
216
+ params: PlayerStartPlaybackParams | null | undefined = {},
217
+ options?: RequestOptions,
218
+ ): APIPromise<void> {
219
+ const { device_id, ...body } = params ?? {};
220
+ return this._client.put('/me/player/play', {
221
+ query: { device_id },
222
+ body,
223
+ ...options,
224
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
225
+ });
226
+ }
227
+
228
+ /**
229
+ * Toggle shuffle on or off for user’s playback. This API only works for users who
230
+ * have Spotify Premium. The order of execution is not guaranteed when you use this
231
+ * API with other Player API endpoints.
232
+ *
233
+ * @example
234
+ * ```ts
235
+ * await client.me.player.toggleShuffle({ state: true });
236
+ * ```
237
+ */
238
+ toggleShuffle(params: PlayerToggleShuffleParams, options?: RequestOptions): APIPromise<void> {
239
+ const { state, device_id } = params;
240
+ return this._client.put('/me/player/shuffle', {
241
+ query: { state, device_id },
242
+ ...options,
243
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
244
+ });
245
+ }
246
+
247
+ /**
248
+ * Transfer playback to a new device and optionally begin playback. This API only
249
+ * works for users who have Spotify Premium. The order of execution is not
250
+ * guaranteed when you use this API with other Player API endpoints.
251
+ *
252
+ * @example
253
+ * ```ts
254
+ * await client.me.player.transfer({
255
+ * device_ids: ['74ASZWbe4lXaubB36ztrGX'],
256
+ * });
257
+ * ```
258
+ */
259
+ transfer(body: PlayerTransferParams, options?: RequestOptions): APIPromise<void> {
260
+ return this._client.put('/me/player', {
261
+ body,
262
+ ...options,
263
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
264
+ });
265
+ }
266
+ }
267
+
268
+ export type PlayerListRecentlyPlayedResponsesCursorURLPage = CursorURLPage<PlayerListRecentlyPlayedResponse>;
269
+
270
+ export interface ContextObject {
271
+ /**
272
+ * External URLs for this context.
273
+ */
274
+ external_urls?: Shared.ExternalURLObject;
275
+
276
+ /**
277
+ * A link to the Web API endpoint providing full details of the track.
278
+ */
279
+ href?: string;
280
+
281
+ /**
282
+ * The object type, e.g. "artist", "playlist", "album", "show".
283
+ */
284
+ type?: string;
285
+
286
+ /**
287
+ * The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
288
+ * context.
289
+ */
290
+ uri?: string;
291
+ }
292
+
293
+ export interface DeviceObject {
294
+ /**
295
+ * The device ID. This ID is unique and persistent to some extent. However, this is
296
+ * not guaranteed and any cached `device_id` should periodically be cleared out and
297
+ * refetched as necessary.
298
+ */
299
+ id?: string | null;
300
+
301
+ /**
302
+ * If this device is the currently active device.
303
+ */
304
+ is_active?: boolean;
305
+
306
+ /**
307
+ * If this device is currently in a private session.
308
+ */
309
+ is_private_session?: boolean;
310
+
311
+ /**
312
+ * Whether controlling this device is restricted. At present if this is "true" then
313
+ * no Web API commands will be accepted by this device.
314
+ */
315
+ is_restricted?: boolean;
316
+
317
+ /**
318
+ * A human-readable name for the device. Some devices have a name that the user can
319
+ * configure (e.g. \"Loudest speaker\") and some devices have a generic name
320
+ * associated with the manufacturer or device model.
321
+ */
322
+ name?: string;
323
+
324
+ /**
325
+ * If this device can be used to set the volume.
326
+ */
327
+ supports_volume?: boolean;
328
+
329
+ /**
330
+ * Device type, such as "computer", "smartphone" or "speaker".
331
+ */
332
+ type?: string;
333
+
334
+ /**
335
+ * The current volume in percent.
336
+ */
337
+ volume_percent?: number | null;
338
+ }
339
+
340
+ export interface PlayerGetCurrentlyPlayingResponse {
341
+ /**
342
+ * Allows to update the user interface based on which playback actions are
343
+ * available within the current context.
344
+ */
345
+ actions?: PlayerGetCurrentlyPlayingResponse.Actions;
346
+
347
+ /**
348
+ * A Context Object. Can be `null`.
349
+ */
350
+ context?: ContextObject;
351
+
352
+ /**
353
+ * The object type of the currently playing item. Can be one of `track`, `episode`,
354
+ * `ad` or `unknown`.
355
+ */
356
+ currently_playing_type?: string;
357
+
358
+ /**
359
+ * If something is currently playing, return `true`.
360
+ */
361
+ is_playing?: boolean;
362
+
363
+ /**
364
+ * The currently playing track or episode. Can be `null`.
365
+ */
366
+ item?: Shared.TrackObject | Shared.EpisodeObject;
367
+
368
+ /**
369
+ * Progress into the currently playing track or episode. Can be `null`.
370
+ */
371
+ progress_ms?: number;
372
+
373
+ /**
374
+ * Unix Millisecond Timestamp when data was fetched
375
+ */
376
+ timestamp?: number;
377
+ }
378
+
379
+ export namespace PlayerGetCurrentlyPlayingResponse {
380
+ /**
381
+ * Allows to update the user interface based on which playback actions are
382
+ * available within the current context.
383
+ */
384
+ export interface Actions {
385
+ /**
386
+ * Interrupting playback. Optional field.
387
+ */
388
+ interrupting_playback?: boolean;
389
+
390
+ /**
391
+ * Pausing. Optional field.
392
+ */
393
+ pausing?: boolean;
394
+
395
+ /**
396
+ * Resuming. Optional field.
397
+ */
398
+ resuming?: boolean;
399
+
400
+ /**
401
+ * Seeking playback location. Optional field.
402
+ */
403
+ seeking?: boolean;
404
+
405
+ /**
406
+ * Skipping to the next context. Optional field.
407
+ */
408
+ skipping_next?: boolean;
409
+
410
+ /**
411
+ * Skipping to the previous context. Optional field.
412
+ */
413
+ skipping_prev?: boolean;
414
+
415
+ /**
416
+ * Toggling repeat context flag. Optional field.
417
+ */
418
+ toggling_repeat_context?: boolean;
419
+
420
+ /**
421
+ * Toggling repeat track flag. Optional field.
422
+ */
423
+ toggling_repeat_track?: boolean;
424
+
425
+ /**
426
+ * Toggling shuffle flag. Optional field.
427
+ */
428
+ toggling_shuffle?: boolean;
429
+
430
+ /**
431
+ * Transfering playback between devices. Optional field.
432
+ */
433
+ transferring_playback?: boolean;
434
+ }
435
+ }
436
+
437
+ export interface PlayerGetDevicesResponse {
438
+ devices: Array<DeviceObject>;
439
+ }
440
+
441
+ export interface PlayerGetStateResponse {
442
+ /**
443
+ * Allows to update the user interface based on which playback actions are
444
+ * available within the current context.
445
+ */
446
+ actions?: PlayerGetStateResponse.Actions;
447
+
448
+ /**
449
+ * A Context Object. Can be `null`.
450
+ */
451
+ context?: ContextObject;
452
+
453
+ /**
454
+ * The object type of the currently playing item. Can be one of `track`, `episode`,
455
+ * `ad` or `unknown`.
456
+ */
457
+ currently_playing_type?: string;
458
+
459
+ /**
460
+ * The device that is currently active.
461
+ */
462
+ device?: DeviceObject;
463
+
464
+ /**
465
+ * If something is currently playing, return `true`.
466
+ */
467
+ is_playing?: boolean;
468
+
469
+ /**
470
+ * The currently playing track or episode. Can be `null`.
471
+ */
472
+ item?: Shared.TrackObject | Shared.EpisodeObject;
473
+
474
+ /**
475
+ * Progress into the currently playing track or episode. Can be `null`.
476
+ */
477
+ progress_ms?: number;
478
+
479
+ /**
480
+ * off, track, context
481
+ */
482
+ repeat_state?: string;
483
+
484
+ /**
485
+ * If shuffle is on or off.
486
+ */
487
+ shuffle_state?: boolean;
488
+
489
+ /**
490
+ * Unix Millisecond Timestamp when playback state was last changed (play, pause,
491
+ * skip, scrub, new song, etc.).
492
+ */
493
+ timestamp?: number;
494
+ }
495
+
496
+ export namespace PlayerGetStateResponse {
497
+ /**
498
+ * Allows to update the user interface based on which playback actions are
499
+ * available within the current context.
500
+ */
501
+ export interface Actions {
502
+ /**
503
+ * Interrupting playback. Optional field.
504
+ */
505
+ interrupting_playback?: boolean;
506
+
507
+ /**
508
+ * Pausing. Optional field.
509
+ */
510
+ pausing?: boolean;
511
+
512
+ /**
513
+ * Resuming. Optional field.
514
+ */
515
+ resuming?: boolean;
516
+
517
+ /**
518
+ * Seeking playback location. Optional field.
519
+ */
520
+ seeking?: boolean;
521
+
522
+ /**
523
+ * Skipping to the next context. Optional field.
524
+ */
525
+ skipping_next?: boolean;
526
+
527
+ /**
528
+ * Skipping to the previous context. Optional field.
529
+ */
530
+ skipping_prev?: boolean;
531
+
532
+ /**
533
+ * Toggling repeat context flag. Optional field.
534
+ */
535
+ toggling_repeat_context?: boolean;
536
+
537
+ /**
538
+ * Toggling repeat track flag. Optional field.
539
+ */
540
+ toggling_repeat_track?: boolean;
541
+
542
+ /**
543
+ * Toggling shuffle flag. Optional field.
544
+ */
545
+ toggling_shuffle?: boolean;
546
+
547
+ /**
548
+ * Transfering playback between devices. Optional field.
549
+ */
550
+ transferring_playback?: boolean;
551
+ }
552
+ }
553
+
554
+ export interface PlayerListRecentlyPlayedResponse {
555
+ /**
556
+ * The context the track was played from.
557
+ */
558
+ context?: ContextObject;
559
+
560
+ /**
561
+ * The date and time the track was played.
562
+ */
563
+ played_at?: string;
564
+
565
+ /**
566
+ * The track the user listened to.
567
+ */
568
+ track?: Shared.TrackObject;
569
+ }
570
+
571
+ export interface PlayerGetCurrentlyPlayingParams {
572
+ /**
573
+ * A comma-separated list of item types that your client supports besides the
574
+ * default `track` type. Valid types are: `track` and `episode`.<br/> _**Note**:
575
+ * This parameter was introduced to allow existing clients to maintain their
576
+ * current behaviour and might be deprecated in the future._<br/> In addition to
577
+ * providing this parameter, make sure that your client properly handles cases of
578
+ * new types in the future by checking against the `type` field of each object.
579
+ */
580
+ additional_types?: string;
581
+
582
+ /**
583
+ * An
584
+ * [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
585
+ * If a country code is specified, only content that is available in that market
586
+ * will be returned.<br/> If a valid user access token is specified in the request
587
+ * header, the country associated with the user account will take priority over
588
+ * this parameter.<br/> _**Note**: If neither market or user country are provided,
589
+ * the content is considered unavailable for the client._<br/> Users can view the
590
+ * country that is associated with their account in the
591
+ * [account settings](https://www.spotify.com/account/overview/).
592
+ */
593
+ market?: string;
594
+ }
595
+
596
+ export interface PlayerGetStateParams {
597
+ /**
598
+ * A comma-separated list of item types that your client supports besides the
599
+ * default `track` type. Valid types are: `track` and `episode`.<br/> _**Note**:
600
+ * This parameter was introduced to allow existing clients to maintain their
601
+ * current behaviour and might be deprecated in the future._<br/> In addition to
602
+ * providing this parameter, make sure that your client properly handles cases of
603
+ * new types in the future by checking against the `type` field of each object.
604
+ */
605
+ additional_types?: string;
606
+
607
+ /**
608
+ * An
609
+ * [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
610
+ * If a country code is specified, only content that is available in that market
611
+ * will be returned.<br/> If a valid user access token is specified in the request
612
+ * header, the country associated with the user account will take priority over
613
+ * this parameter.<br/> _**Note**: If neither market or user country are provided,
614
+ * the content is considered unavailable for the client._<br/> Users can view the
615
+ * country that is associated with their account in the
616
+ * [account settings](https://www.spotify.com/account/overview/).
617
+ */
618
+ market?: string;
619
+ }
620
+
621
+ export interface PlayerListRecentlyPlayedParams {
622
+ /**
623
+ * A Unix timestamp in milliseconds. Returns all items after (but not including)
624
+ * this cursor position. If `after` is specified, `before` must not be specified.
625
+ */
626
+ after?: number;
627
+
628
+ /**
629
+ * A Unix timestamp in milliseconds. Returns all items before (but not including)
630
+ * this cursor position. If `before` is specified, `after` must not be specified.
631
+ */
632
+ before?: number;
633
+
634
+ /**
635
+ * The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
636
+ */
637
+ limit?: number;
638
+ }
639
+
640
+ export interface PlayerPausePlaybackParams {
641
+ /**
642
+ * The id of the device this command is targeting. If not supplied, the user's
643
+ * currently active device is the target.
644
+ */
645
+ device_id?: string;
646
+ }
647
+
648
+ export interface PlayerSeekToPositionParams {
649
+ /**
650
+ * The position in milliseconds to seek to. Must be a positive number. Passing in a
651
+ * position that is greater than the length of the track will cause the player to
652
+ * start playing the next song.
653
+ */
654
+ position_ms: number;
655
+
656
+ /**
657
+ * The id of the device this command is targeting. If not supplied, the user's
658
+ * currently active device is the target.
659
+ */
660
+ device_id?: string;
661
+ }
662
+
663
+ export interface PlayerSetRepeatModeParams {
664
+ /**
665
+ * **track**, **context** or **off**.<br/> **track** will repeat the current
666
+ * track.<br/> **context** will repeat the current context.<br/> **off** will turn
667
+ * repeat off.
668
+ */
669
+ state: string;
670
+
671
+ /**
672
+ * The id of the device this command is targeting. If not supplied, the user's
673
+ * currently active device is the target.
674
+ */
675
+ device_id?: string;
676
+ }
677
+
678
+ export interface PlayerSetVolumeParams {
679
+ /**
680
+ * The volume to set. Must be a value from 0 to 100 inclusive.
681
+ */
682
+ volume_percent: number;
683
+
684
+ /**
685
+ * The id of the device this command is targeting. If not supplied, the user's
686
+ * currently active device is the target.
687
+ */
688
+ device_id?: string;
689
+ }
690
+
691
+ export interface PlayerSkipNextParams {
692
+ /**
693
+ * The id of the device this command is targeting. If not supplied, the user's
694
+ * currently active device is the target.
695
+ */
696
+ device_id?: string;
697
+ }
698
+
699
+ export interface PlayerSkipPreviousParams {
700
+ /**
701
+ * The id of the device this command is targeting. If not supplied, the user's
702
+ * currently active device is the target.
703
+ */
704
+ device_id?: string;
705
+ }
706
+
707
+ export interface PlayerStartPlaybackParams {
708
+ /**
709
+ * Query param: The id of the device this command is targeting. If not supplied,
710
+ * the user's currently active device is the target.
711
+ */
712
+ device_id?: string;
713
+
714
+ /**
715
+ * Body param: Optional. Spotify URI of the context to play. Valid contexts are
716
+ * albums, artists & playlists.
717
+ * `{context_uri:"spotify:album:1Je1IMUlBXcx1Fz0WE7oPT"}`
718
+ */
719
+ context_uri?: string;
720
+
721
+ /**
722
+ * Body param: Optional. Indicates from where in the context playback should start.
723
+ * Only available when context_uri corresponds to an album or playlist object
724
+ * "position" is zero based and can’t be negative. Example:
725
+ * `"offset": {"position": 5}` "uri" is a string representing the uri of the item
726
+ * to start at. Example:
727
+ * `"offset": {"uri": "spotify:track:1301WleyT98MSxVHPZCA6M"}`
728
+ */
729
+ offset?: { [key: string]: unknown };
730
+
731
+ /**
732
+ * Body param: Indicates from what position to start playback. Must be a positive
733
+ * number. Passing in a position that is greater than the length of the track will
734
+ * cause the player to start playing the next song.
735
+ */
736
+ position_ms?: number;
737
+
738
+ /**
739
+ * Body param: Optional. A JSON array of the Spotify track URIs to play. For
740
+ * example:
741
+ * `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh", "spotify:track:1301WleyT98MSxVHPZCA6M"]}`
742
+ */
743
+ uris?: Array<string>;
744
+
745
+ [k: string]: unknown;
746
+ }
747
+
748
+ export interface PlayerToggleShuffleParams {
749
+ /**
750
+ * **true** : Shuffle user's playback.<br/> **false** : Do not shuffle user's
751
+ * playback.
752
+ */
753
+ state: boolean;
754
+
755
+ /**
756
+ * The id of the device this command is targeting. If not supplied, the user's
757
+ * currently active device is the target.
758
+ */
759
+ device_id?: string;
760
+ }
761
+
762
+ export interface PlayerTransferParams {
763
+ /**
764
+ * A JSON array containing the ID of the device on which playback should be
765
+ * started/transferred.<br/>For
766
+ * example:`{device_ids:["74ASZWbe4lXaubB36ztrGX"]}`<br/>_**Note**: Although an
767
+ * array is accepted, only a single device_id is currently supported. Supplying
768
+ * more than one will return `400 Bad Request`_
769
+ */
770
+ device_ids: Array<string>;
771
+
772
+ /**
773
+ * **true**: ensure playback happens on new device.<br/>**false** or not provided:
774
+ * keep the current playback state.
775
+ */
776
+ play?: boolean;
777
+
778
+ [k: string]: unknown;
779
+ }
780
+
781
+ Player.Queue = Queue;
782
+
783
+ export declare namespace Player {
784
+ export {
785
+ type ContextObject as ContextObject,
786
+ type DeviceObject as DeviceObject,
787
+ type PlayerGetCurrentlyPlayingResponse as PlayerGetCurrentlyPlayingResponse,
788
+ type PlayerGetDevicesResponse as PlayerGetDevicesResponse,
789
+ type PlayerGetStateResponse as PlayerGetStateResponse,
790
+ type PlayerListRecentlyPlayedResponse as PlayerListRecentlyPlayedResponse,
791
+ type PlayerListRecentlyPlayedResponsesCursorURLPage as PlayerListRecentlyPlayedResponsesCursorURLPage,
792
+ type PlayerGetCurrentlyPlayingParams as PlayerGetCurrentlyPlayingParams,
793
+ type PlayerGetStateParams as PlayerGetStateParams,
794
+ type PlayerListRecentlyPlayedParams as PlayerListRecentlyPlayedParams,
795
+ type PlayerPausePlaybackParams as PlayerPausePlaybackParams,
796
+ type PlayerSeekToPositionParams as PlayerSeekToPositionParams,
797
+ type PlayerSetRepeatModeParams as PlayerSetRepeatModeParams,
798
+ type PlayerSetVolumeParams as PlayerSetVolumeParams,
799
+ type PlayerSkipNextParams as PlayerSkipNextParams,
800
+ type PlayerSkipPreviousParams as PlayerSkipPreviousParams,
801
+ type PlayerStartPlaybackParams as PlayerStartPlaybackParams,
802
+ type PlayerToggleShuffleParams as PlayerToggleShuffleParams,
803
+ type PlayerTransferParams as PlayerTransferParams,
804
+ };
805
+
806
+ export { Queue as Queue, type QueueGetResponse as QueueGetResponse, type QueueAddParams as QueueAddParams };
807
+ }