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,71 @@
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 { APIPromise } from '../../../core/api-promise';
6
+ import { buildHeaders } from '../../../internal/headers';
7
+ import { RequestOptions } from '../../../internal/request-options';
8
+
9
+ export class Queue extends APIResource {
10
+ /**
11
+ * Add an item to be played next in the user's current playback queue. This API
12
+ * only works for users who have Spotify Premium. The order of execution is not
13
+ * guaranteed when you use this API with other Player API endpoints.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * await client.me.player.queue.add({
18
+ * uri: 'spotify:track:4iV5W9uYEdYUVa79Axb7Rh',
19
+ * });
20
+ * ```
21
+ */
22
+ add(params: QueueAddParams, options?: RequestOptions): APIPromise<void> {
23
+ const { uri, device_id } = params;
24
+ return this._client.post('/me/player/queue', {
25
+ query: { uri, device_id },
26
+ ...options,
27
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
28
+ });
29
+ }
30
+
31
+ /**
32
+ * Get the list of objects that make up the user's queue.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const queue = await client.me.player.queue.get();
37
+ * ```
38
+ */
39
+ get(options?: RequestOptions): APIPromise<QueueGetResponse> {
40
+ return this._client.get('/me/player/queue', options);
41
+ }
42
+ }
43
+
44
+ export interface QueueGetResponse {
45
+ /**
46
+ * The currently playing track or episode. Can be `null`.
47
+ */
48
+ currently_playing?: Shared.TrackObject | Shared.EpisodeObject;
49
+
50
+ /**
51
+ * The tracks or episodes in the queue. Can be empty.
52
+ */
53
+ queue?: Array<Shared.TrackObject | Shared.EpisodeObject>;
54
+ }
55
+
56
+ export interface QueueAddParams {
57
+ /**
58
+ * The uri of the item to add to the queue. Must be a track or an episode uri.
59
+ */
60
+ uri: string;
61
+
62
+ /**
63
+ * The id of the device this command is targeting. If not supplied, the user's
64
+ * currently active device is the target.
65
+ */
66
+ device_id?: string;
67
+ }
68
+
69
+ export declare namespace Queue {
70
+ export { type QueueGetResponse as QueueGetResponse, type QueueAddParams as QueueAddParams };
71
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './player/index';
@@ -0,0 +1,49 @@
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 { SimplifiedPlaylistObjectsCursorURLPage } from '../shared';
6
+ import { CursorURLPage, PagePromise } from '../../core/pagination';
7
+ import { RequestOptions } from '../../internal/request-options';
8
+
9
+ export class Playlists extends APIResource {
10
+ /**
11
+ * Get a list of the playlists owned or followed by the current Spotify user.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * // Automatically fetches more pages as needed.
16
+ * for await (const simplifiedPlaylistObject of client.me.playlists.list()) {
17
+ * // ...
18
+ * }
19
+ * ```
20
+ */
21
+ list(
22
+ query: PlaylistListParams | null | undefined = {},
23
+ options?: RequestOptions,
24
+ ): PagePromise<SimplifiedPlaylistObjectsCursorURLPage, Shared.SimplifiedPlaylistObject> {
25
+ return this._client.getAPIList('/me/playlists', CursorURLPage<Shared.SimplifiedPlaylistObject>, {
26
+ query,
27
+ ...options,
28
+ });
29
+ }
30
+ }
31
+
32
+ export interface PlaylistListParams {
33
+ /**
34
+ * The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
35
+ */
36
+ limit?: number;
37
+
38
+ /**
39
+ * 'The index of the first playlist to return. Default: 0 (the first object).
40
+ * Maximum offset: 100.000\. Use with `limit` to get the next set of playlists.'
41
+ */
42
+ offset?: number;
43
+ }
44
+
45
+ export declare namespace Playlists {
46
+ export { type PlaylistListParams as PlaylistListParams };
47
+ }
48
+
49
+ export { type SimplifiedPlaylistObjectsCursorURLPage };
@@ -0,0 +1,152 @@
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 { APIPromise } from '../../core/api-promise';
6
+ import { CursorURLPage, PagePromise } from '../../core/pagination';
7
+ import { buildHeaders } from '../../internal/headers';
8
+ import { RequestOptions } from '../../internal/request-options';
9
+
10
+ export class Shows extends APIResource {
11
+ /**
12
+ * Get a list of shows saved in the current Spotify user's library. Optional
13
+ * parameters can be used to limit the number of shows returned.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * // Automatically fetches more pages as needed.
18
+ * for await (const showListResponse of client.me.shows.list()) {
19
+ * // ...
20
+ * }
21
+ * ```
22
+ */
23
+ list(
24
+ query: ShowListParams | null | undefined = {},
25
+ options?: RequestOptions,
26
+ ): PagePromise<ShowListResponsesCursorURLPage, ShowListResponse> {
27
+ return this._client.getAPIList('/me/shows', CursorURLPage<ShowListResponse>, { query, ...options });
28
+ }
29
+
30
+ /**
31
+ * Check if one or more shows is already saved in the current Spotify user's
32
+ * library.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const response = await client.me.shows.check({
37
+ * ids: '5CfCWKI5pZ28U0uOzXkDHe,5as3aKmN2k11yfDDDSrvaZ',
38
+ * });
39
+ * ```
40
+ */
41
+ check(query: ShowCheckParams, options?: RequestOptions): APIPromise<ShowCheckResponse> {
42
+ return this._client.get('/me/shows/contains', { query, ...options });
43
+ }
44
+
45
+ /**
46
+ * Delete one or more shows from current Spotify user's library.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * await client.me.shows.remove();
51
+ * ```
52
+ */
53
+ remove(body: ShowRemoveParams | null | undefined = {}, options?: RequestOptions): APIPromise<void> {
54
+ return this._client.delete('/me/shows', {
55
+ body,
56
+ ...options,
57
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
58
+ });
59
+ }
60
+
61
+ /**
62
+ * Save one or more shows to current Spotify user's library.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * await client.me.shows.save();
67
+ * ```
68
+ */
69
+ save(body: ShowSaveParams | null | undefined = {}, options?: RequestOptions): APIPromise<void> {
70
+ return this._client.put('/me/shows', {
71
+ body,
72
+ ...options,
73
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
74
+ });
75
+ }
76
+ }
77
+
78
+ export type ShowListResponsesCursorURLPage = CursorURLPage<ShowListResponse>;
79
+
80
+ export interface ShowListResponse {
81
+ /**
82
+ * The date and time the show was saved. Timestamps are returned in ISO 8601 format
83
+ * as Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ. If
84
+ * the time is imprecise (for example, the date/time of an album release), an
85
+ * additional field indicates the precision; see for example, release_date in an
86
+ * album object.
87
+ */
88
+ added_at?: string;
89
+
90
+ /**
91
+ * Information about the show.
92
+ */
93
+ show?: Shared.ShowBase;
94
+ }
95
+
96
+ export type ShowCheckResponse = Array<boolean>;
97
+
98
+ export interface ShowListParams {
99
+ /**
100
+ * The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
101
+ */
102
+ limit?: number;
103
+
104
+ /**
105
+ * The index of the first item to return. Default: 0 (the first item). Use with
106
+ * limit to get the next set of items.
107
+ */
108
+ offset?: number;
109
+ }
110
+
111
+ export interface ShowCheckParams {
112
+ /**
113
+ * A comma-separated list of the
114
+ * [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for the shows.
115
+ * Maximum: 50 IDs.
116
+ */
117
+ ids: string;
118
+ }
119
+
120
+ export interface ShowRemoveParams {
121
+ /**
122
+ * A JSON array of the
123
+ * [Spotify IDs](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids).
124
+ * A maximum of 50 items can be specified in one request. _Note: if the `ids`
125
+ * parameter is present in the query string, any IDs listed here in the body will
126
+ * be ignored._
127
+ */
128
+ ids?: Array<string>;
129
+ }
130
+
131
+ export interface ShowSaveParams {
132
+ /**
133
+ * A JSON array of the
134
+ * [Spotify IDs](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids).
135
+ * A maximum of 50 items can be specified in one request. _Note: if the `ids`
136
+ * parameter is present in the query string, any IDs listed here in the body will
137
+ * be ignored._
138
+ */
139
+ ids?: Array<string>;
140
+ }
141
+
142
+ export declare namespace Shows {
143
+ export {
144
+ type ShowListResponse as ShowListResponse,
145
+ type ShowCheckResponse as ShowCheckResponse,
146
+ type ShowListResponsesCursorURLPage as ShowListResponsesCursorURLPage,
147
+ type ShowListParams as ShowListParams,
148
+ type ShowCheckParams as ShowCheckParams,
149
+ type ShowRemoveParams as ShowRemoveParams,
150
+ type ShowSaveParams as ShowSaveParams,
151
+ };
152
+ }
@@ -0,0 +1,102 @@
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 { ArtistObjectsCursorURLPage, TrackObjectsCursorURLPage } from '../shared';
6
+ import { CursorURLPage, PagePromise } from '../../core/pagination';
7
+ import { RequestOptions } from '../../internal/request-options';
8
+
9
+ export class Top extends APIResource {
10
+ /**
11
+ * Get the current user's top artists based on calculated affinity.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * // Automatically fetches more pages as needed.
16
+ * for await (const artistObject of client.me.top.listTopArtists()) {
17
+ * // ...
18
+ * }
19
+ * ```
20
+ */
21
+ listTopArtists(
22
+ query: TopListTopArtistsParams | null | undefined = {},
23
+ options?: RequestOptions,
24
+ ): PagePromise<ArtistObjectsCursorURLPage, Shared.ArtistObject> {
25
+ return this._client.getAPIList('/me/top/artists', CursorURLPage<Shared.ArtistObject>, {
26
+ query,
27
+ ...options,
28
+ });
29
+ }
30
+
31
+ /**
32
+ * Get the current user's top tracks based on calculated affinity.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * // Automatically fetches more pages as needed.
37
+ * for await (const trackObject of client.me.top.listTopTracks()) {
38
+ * // ...
39
+ * }
40
+ * ```
41
+ */
42
+ listTopTracks(
43
+ query: TopListTopTracksParams | null | undefined = {},
44
+ options?: RequestOptions,
45
+ ): PagePromise<TrackObjectsCursorURLPage, Shared.TrackObject> {
46
+ return this._client.getAPIList('/me/top/tracks', CursorURLPage<Shared.TrackObject>, {
47
+ query,
48
+ ...options,
49
+ });
50
+ }
51
+ }
52
+
53
+ export interface TopListTopArtistsParams {
54
+ /**
55
+ * The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
56
+ */
57
+ limit?: number;
58
+
59
+ /**
60
+ * The index of the first item to return. Default: 0 (the first item). Use with
61
+ * limit to get the next set of items.
62
+ */
63
+ offset?: number;
64
+
65
+ /**
66
+ * Over what time frame the affinities are computed. Valid values: `long_term`
67
+ * (calculated from ~1 year of data and including all new data as it becomes
68
+ * available), `medium_term` (approximately last 6 months), `short_term`
69
+ * (approximately last 4 weeks). Default: `medium_term`
70
+ */
71
+ time_range?: string;
72
+ }
73
+
74
+ export interface TopListTopTracksParams {
75
+ /**
76
+ * The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
77
+ */
78
+ limit?: number;
79
+
80
+ /**
81
+ * The index of the first item to return. Default: 0 (the first item). Use with
82
+ * limit to get the next set of items.
83
+ */
84
+ offset?: number;
85
+
86
+ /**
87
+ * Over what time frame the affinities are computed. Valid values: `long_term`
88
+ * (calculated from ~1 year of data and including all new data as it becomes
89
+ * available), `medium_term` (approximately last 6 months), `short_term`
90
+ * (approximately last 4 weeks). Default: `medium_term`
91
+ */
92
+ time_range?: string;
93
+ }
94
+
95
+ export declare namespace Top {
96
+ export {
97
+ type TopListTopArtistsParams as TopListTopArtistsParams,
98
+ type TopListTopTracksParams as TopListTopTracksParams,
99
+ };
100
+ }
101
+
102
+ export { type ArtistObjectsCursorURLPage, type TrackObjectsCursorURLPage };
@@ -0,0 +1,200 @@
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 { APIPromise } from '../../core/api-promise';
6
+ import { CursorURLPage, PagePromise } from '../../core/pagination';
7
+ import { buildHeaders } from '../../internal/headers';
8
+ import { RequestOptions } from '../../internal/request-options';
9
+
10
+ export class Tracks extends APIResource {
11
+ /**
12
+ * Get a list of the songs saved in the current Spotify user's 'Your Music'
13
+ * library.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * // Automatically fetches more pages as needed.
18
+ * for await (const trackListResponse of client.me.tracks.list()) {
19
+ * // ...
20
+ * }
21
+ * ```
22
+ */
23
+ list(
24
+ query: TrackListParams | null | undefined = {},
25
+ options?: RequestOptions,
26
+ ): PagePromise<TrackListResponsesCursorURLPage, TrackListResponse> {
27
+ return this._client.getAPIList('/me/tracks', CursorURLPage<TrackListResponse>, { query, ...options });
28
+ }
29
+
30
+ /**
31
+ * Check if one or more tracks is already saved in the current Spotify user's 'Your
32
+ * Music' library.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const response = await client.me.tracks.check({
37
+ * ids: '7ouMYWpwJ422jRcDASZB7P,4VqPOruhp5EdPBeR92t6lQ,2takcwOaAZWiXQijPHIx7B',
38
+ * });
39
+ * ```
40
+ */
41
+ check(query: TrackCheckParams, options?: RequestOptions): APIPromise<TrackCheckResponse> {
42
+ return this._client.get('/me/tracks/contains', { query, ...options });
43
+ }
44
+
45
+ /**
46
+ * Remove one or more tracks from the current user's 'Your Music' library.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * await client.me.tracks.remove();
51
+ * ```
52
+ */
53
+ remove(body: TrackRemoveParams | null | undefined = {}, options?: RequestOptions): APIPromise<void> {
54
+ return this._client.delete('/me/tracks', {
55
+ body,
56
+ ...options,
57
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
58
+ });
59
+ }
60
+
61
+ /**
62
+ * Save one or more tracks to the current user's 'Your Music' library.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * await client.me.tracks.save({ ids: ['string'] });
67
+ * ```
68
+ */
69
+ save(body: TrackSaveParams, options?: RequestOptions): APIPromise<void> {
70
+ return this._client.put('/me/tracks', {
71
+ body,
72
+ ...options,
73
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
74
+ });
75
+ }
76
+ }
77
+
78
+ export type TrackListResponsesCursorURLPage = CursorURLPage<TrackListResponse>;
79
+
80
+ export interface TrackListResponse {
81
+ /**
82
+ * The date and time the track was saved. Timestamps are returned in ISO 8601
83
+ * format as Coordinated Universal Time (UTC) with a zero offset:
84
+ * YYYY-MM-DDTHH:MM:SSZ. If the time is imprecise (for example, the date/time of an
85
+ * album release), an additional field indicates the precision; see for example,
86
+ * release_date in an album object.
87
+ */
88
+ added_at?: string;
89
+
90
+ /**
91
+ * Information about the track.
92
+ */
93
+ track?: Shared.TrackObject;
94
+ }
95
+
96
+ export type TrackCheckResponse = Array<boolean>;
97
+
98
+ export interface TrackListParams {
99
+ /**
100
+ * The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
101
+ */
102
+ limit?: number;
103
+
104
+ /**
105
+ * An
106
+ * [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
107
+ * If a country code is specified, only content that is available in that market
108
+ * will be returned.<br/> If a valid user access token is specified in the request
109
+ * header, the country associated with the user account will take priority over
110
+ * this parameter.<br/> _**Note**: If neither market or user country are provided,
111
+ * the content is considered unavailable for the client._<br/> Users can view the
112
+ * country that is associated with their account in the
113
+ * [account settings](https://www.spotify.com/account/overview/).
114
+ */
115
+ market?: string;
116
+
117
+ /**
118
+ * The index of the first item to return. Default: 0 (the first item). Use with
119
+ * limit to get the next set of items.
120
+ */
121
+ offset?: number;
122
+ }
123
+
124
+ export interface TrackCheckParams {
125
+ /**
126
+ * A comma-separated list of the
127
+ * [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
128
+ * `ids=4iV5W9uYEdYUVa79Axb7Rh,1301WleyT98MSxVHPZCA6M`. Maximum: 50 IDs.
129
+ */
130
+ ids: string;
131
+ }
132
+
133
+ export interface TrackRemoveParams {
134
+ /**
135
+ * A JSON array of the
136
+ * [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
137
+ * `["4iV5W9uYEdYUVa79Axb7Rh", "1301WleyT98MSxVHPZCA6M"]`<br/>A maximum of 50 items
138
+ * can be specified in one request. _**Note**: if the `ids` parameter is present in
139
+ * the query string, any IDs listed here in the body will be ignored._
140
+ */
141
+ ids?: Array<string>;
142
+
143
+ [k: string]: unknown;
144
+ }
145
+
146
+ export interface TrackSaveParams {
147
+ /**
148
+ * A JSON array of the
149
+ * [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
150
+ * `["4iV5W9uYEdYUVa79Axb7Rh", "1301WleyT98MSxVHPZCA6M"]`<br/>A maximum of 50 items
151
+ * can be specified in one request. _**Note**: if the `timestamped_ids` is present
152
+ * in the body, any IDs listed in the query parameters (deprecated) or the `ids`
153
+ * field in the body will be ignored._
154
+ */
155
+ ids: Array<string>;
156
+
157
+ /**
158
+ * A JSON array of objects containing track IDs with their corresponding
159
+ * timestamps. Each object must include a track ID and an `added_at` timestamp.
160
+ * This allows you to specify when tracks were added to maintain a specific
161
+ * chronological order in the user's library.<br/>A maximum of 50 items can be
162
+ * specified in one request. _**Note**: if the `timestamped_ids` is present in the
163
+ * body, any IDs listed in the query parameters (deprecated) or the `ids` field in
164
+ * the body will be ignored._
165
+ */
166
+ timestamped_ids?: Array<TrackSaveParams.TimestampedID>;
167
+
168
+ [k: string]: unknown;
169
+ }
170
+
171
+ export namespace TrackSaveParams {
172
+ export interface TimestampedID {
173
+ /**
174
+ * The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
175
+ * track.
176
+ */
177
+ id: string;
178
+
179
+ /**
180
+ * The timestamp when the track was added to the library. Use ISO 8601 format with
181
+ * UTC timezone (e.g., `2023-01-15T14:30:00Z`). You can specify past timestamps to
182
+ * insert tracks at specific positions in the library's chronological order. The
183
+ * API uses minute-level granularity for ordering, though the timestamp supports
184
+ * millisecond precision.
185
+ */
186
+ added_at: string;
187
+ }
188
+ }
189
+
190
+ export declare namespace Tracks {
191
+ export {
192
+ type TrackListResponse as TrackListResponse,
193
+ type TrackCheckResponse as TrackCheckResponse,
194
+ type TrackListResponsesCursorURLPage as TrackListResponsesCursorURLPage,
195
+ type TrackListParams as TrackListParams,
196
+ type TrackCheckParams as TrackCheckParams,
197
+ type TrackRemoveParams as TrackRemoveParams,
198
+ type TrackSaveParams as TrackSaveParams,
199
+ };
200
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './me/index';
@@ -0,0 +1,97 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import { APIPromise } from '../../core/api-promise';
5
+ import { buildHeaders } from '../../internal/headers';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+ import { path } from '../../internal/utils/path';
8
+
9
+ export class Followers extends APIResource {
10
+ /**
11
+ * Check to see if the current user is following a specified playlist.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const response = await client.playlists.followers.check(
16
+ * '3cEYpjA9oz9GiPac4AsH4n',
17
+ * );
18
+ * ```
19
+ */
20
+ check(
21
+ playlistID: string,
22
+ query: FollowerCheckParams | null | undefined = {},
23
+ options?: RequestOptions,
24
+ ): APIPromise<FollowerCheckResponse> {
25
+ return this._client.get(path`/playlists/${playlistID}/followers/contains`, { query, ...options });
26
+ }
27
+
28
+ /**
29
+ * Add the current user as a follower of a playlist.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * await client.playlists.followers.follow(
34
+ * '3cEYpjA9oz9GiPac4AsH4n',
35
+ * );
36
+ * ```
37
+ */
38
+ follow(
39
+ playlistID: string,
40
+ body: FollowerFollowParams | null | undefined = {},
41
+ options?: RequestOptions,
42
+ ): APIPromise<void> {
43
+ return this._client.put(path`/playlists/${playlistID}/followers`, {
44
+ body,
45
+ ...options,
46
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
47
+ });
48
+ }
49
+
50
+ /**
51
+ * Remove the current user as a follower of a playlist.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * await client.playlists.followers.unfollow(
56
+ * '3cEYpjA9oz9GiPac4AsH4n',
57
+ * );
58
+ * ```
59
+ */
60
+ unfollow(playlistID: string, options?: RequestOptions): APIPromise<void> {
61
+ return this._client.delete(path`/playlists/${playlistID}/followers`, {
62
+ ...options,
63
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
64
+ });
65
+ }
66
+ }
67
+
68
+ export type FollowerCheckResponse = Array<boolean>;
69
+
70
+ export interface FollowerCheckParams {
71
+ /**
72
+ * **Deprecated** A single item list containing current user's
73
+ * [Spotify Username](/documentation/web-api/concepts/spotify-uris-ids). Maximum: 1
74
+ * id.
75
+ */
76
+ ids?: string;
77
+ }
78
+
79
+ export interface FollowerFollowParams {
80
+ /**
81
+ * Defaults to `true`. If `true` the playlist will be included in user's public
82
+ * playlists (added to profile), if `false` it will remain private. For more about
83
+ * public/private status, see
84
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
85
+ */
86
+ public?: boolean;
87
+
88
+ [k: string]: unknown;
89
+ }
90
+
91
+ export declare namespace Followers {
92
+ export {
93
+ type FollowerCheckResponse as FollowerCheckResponse,
94
+ type FollowerCheckParams as FollowerCheckParams,
95
+ type FollowerFollowParams as FollowerFollowParams,
96
+ };
97
+ }