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,59 @@
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
+ import { path } from '../../internal/utils/path';
9
+
10
+ export class Images extends APIResource {
11
+ /**
12
+ * Replace the image used to represent a specific playlist.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * await client.playlists.images.update(
17
+ * '3cEYpjA9oz9GiPac4AsH4n',
18
+ * {
19
+ * body: '/9j/2wCEABoZGSccJz4lJT5CLy8vQkc9Ozs9R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0cBHCcnMyYzPSYmPUc9Mj1HR0dEREdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR//dAAQAAf/uAA5BZG9iZQBkwAAAAAH/wAARCAABAAEDACIAAREBAhEB/8QASwABAQAAAAAAAAAAAAAAAAAAAAYBAQAAAAAAAAAAAAAAAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAARAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwAAARECEQA/AJgAH//Z',
20
+ * },
21
+ * );
22
+ * ```
23
+ */
24
+ update(playlistID: string, params: ImageUpdateParams, options?: RequestOptions): APIPromise<void> {
25
+ const { body } = params;
26
+ return this._client.put(path`/playlists/${playlistID}/images`, {
27
+ body: body,
28
+ ...options,
29
+ headers: buildHeaders([{ 'Content-Type': 'image/jpeg', Accept: '*/*' }, options?.headers]),
30
+ });
31
+ }
32
+
33
+ /**
34
+ * Get the current image associated with a specific playlist.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const imageObjects = await client.playlists.images.list(
39
+ * '3cEYpjA9oz9GiPac4AsH4n',
40
+ * );
41
+ * ```
42
+ */
43
+ list(playlistID: string, options?: RequestOptions): APIPromise<ImageListResponse> {
44
+ return this._client.get(path`/playlists/${playlistID}/images`, options);
45
+ }
46
+ }
47
+
48
+ export type ImageListResponse = Array<Shared.ImageObject>;
49
+
50
+ export interface ImageUpdateParams {
51
+ /**
52
+ * Base64 encoded JPEG image data, maximum payload size is 256 KB.
53
+ */
54
+ body: string;
55
+ }
56
+
57
+ export declare namespace Images {
58
+ export { type ImageListResponse as ImageListResponse, type ImageUpdateParams as ImageUpdateParams };
59
+ }
@@ -0,0 +1,25 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Followers,
5
+ type FollowerCheckResponse,
6
+ type FollowerCheckParams,
7
+ type FollowerFollowParams,
8
+ } from './followers';
9
+ export { Images, type ImageListResponse, type ImageUpdateParams } from './images';
10
+ export {
11
+ Playlists,
12
+ type PlaylistRetrieveResponse,
13
+ type PlaylistRetrieveParams,
14
+ type PlaylistUpdateParams,
15
+ } from './playlists';
16
+ export {
17
+ Tracks,
18
+ type TrackUpdateResponse,
19
+ type TrackAddResponse,
20
+ type TrackRemoveResponse,
21
+ type TrackUpdateParams,
22
+ type TrackListParams,
23
+ type TrackAddParams,
24
+ type TrackRemoveParams,
25
+ } from './tracks';
@@ -0,0 +1,306 @@
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 FollowersAPI from './followers';
6
+ import { FollowerCheckParams, FollowerCheckResponse, FollowerFollowParams, Followers } from './followers';
7
+ import * as ImagesAPI from './images';
8
+ import { ImageListResponse, ImageUpdateParams, Images } from './images';
9
+ import * as TracksAPI from './tracks';
10
+ import {
11
+ TrackAddParams,
12
+ TrackAddResponse,
13
+ TrackListParams,
14
+ TrackRemoveParams,
15
+ TrackRemoveResponse,
16
+ TrackUpdateParams,
17
+ TrackUpdateResponse,
18
+ Tracks as TracksAPITracks,
19
+ } from './tracks';
20
+ import { APIPromise } from '../../core/api-promise';
21
+ import { buildHeaders } from '../../internal/headers';
22
+ import { RequestOptions } from '../../internal/request-options';
23
+ import { path } from '../../internal/utils/path';
24
+
25
+ export class Playlists extends APIResource {
26
+ tracks: TracksAPI.Tracks = new TracksAPI.Tracks(this._client);
27
+ followers: FollowersAPI.Followers = new FollowersAPI.Followers(this._client);
28
+ images: ImagesAPI.Images = new ImagesAPI.Images(this._client);
29
+
30
+ /**
31
+ * Get a playlist owned by a Spotify user.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const playlist = await client.playlists.retrieve(
36
+ * '3cEYpjA9oz9GiPac4AsH4n',
37
+ * );
38
+ * ```
39
+ */
40
+ retrieve(
41
+ playlistID: string,
42
+ query: PlaylistRetrieveParams | null | undefined = {},
43
+ options?: RequestOptions,
44
+ ): APIPromise<PlaylistRetrieveResponse> {
45
+ return this._client.get(path`/playlists/${playlistID}`, { query, ...options });
46
+ }
47
+
48
+ /**
49
+ * Change a playlist's name and public/private state. (The user must, of course,
50
+ * own the playlist.)
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * await client.playlists.update('3cEYpjA9oz9GiPac4AsH4n');
55
+ * ```
56
+ */
57
+ update(
58
+ playlistID: string,
59
+ body: PlaylistUpdateParams | null | undefined = {},
60
+ options?: RequestOptions,
61
+ ): APIPromise<void> {
62
+ return this._client.put(path`/playlists/${playlistID}`, {
63
+ body,
64
+ ...options,
65
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
66
+ });
67
+ }
68
+ }
69
+
70
+ export interface PlaylistRetrieveResponse {
71
+ /**
72
+ * The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
73
+ * playlist.
74
+ */
75
+ id?: string;
76
+
77
+ /**
78
+ * `true` if the owner allows other users to modify the playlist.
79
+ */
80
+ collaborative?: boolean;
81
+
82
+ /**
83
+ * The playlist description. _Only returned for modified, verified playlists,
84
+ * otherwise_ `null`.
85
+ */
86
+ description?: string | null;
87
+
88
+ /**
89
+ * Known external URLs for this playlist.
90
+ */
91
+ external_urls?: Shared.ExternalURLObject;
92
+
93
+ /**
94
+ * Information about the followers of the playlist.
95
+ */
96
+ followers?: Shared.FollowersObject;
97
+
98
+ /**
99
+ * A link to the Web API endpoint providing full details of the playlist.
100
+ */
101
+ href?: string;
102
+
103
+ /**
104
+ * Images for the playlist. The array may be empty or contain up to three images.
105
+ * The images are returned by size in descending order. See
106
+ * [Working with Playlists](/documentation/web-api/concepts/playlists). _**Note**:
107
+ * If returned, the source URL for the image (`url`) is temporary and will expire
108
+ * in less than a day._
109
+ */
110
+ images?: Array<Shared.ImageObject>;
111
+
112
+ /**
113
+ * The name of the playlist.
114
+ */
115
+ name?: string;
116
+
117
+ /**
118
+ * The user who owns the playlist
119
+ */
120
+ owner?: PlaylistRetrieveResponse.Owner;
121
+
122
+ /**
123
+ * The playlist's public/private status (if it is added to the user's profile):
124
+ * `true` the playlist is public, `false` the playlist is private, `null` the
125
+ * playlist status is not relevant. For more about public/private status, see
126
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
127
+ */
128
+ public?: boolean;
129
+
130
+ /**
131
+ * The version identifier for the current playlist. Can be supplied in other
132
+ * requests to target a specific playlist version
133
+ */
134
+ snapshot_id?: string;
135
+
136
+ /**
137
+ * The tracks of the playlist.
138
+ */
139
+ tracks?: PlaylistRetrieveResponse.Tracks;
140
+
141
+ /**
142
+ * The object type: "playlist"
143
+ */
144
+ type?: string;
145
+
146
+ /**
147
+ * The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
148
+ * playlist.
149
+ */
150
+ uri?: string;
151
+ }
152
+
153
+ export namespace PlaylistRetrieveResponse {
154
+ /**
155
+ * The user who owns the playlist
156
+ */
157
+ export interface Owner extends Shared.PlaylistUserObject {
158
+ /**
159
+ * The name displayed on the user's profile. `null` if not available.
160
+ */
161
+ display_name?: string | null;
162
+ }
163
+
164
+ /**
165
+ * The tracks of the playlist.
166
+ */
167
+ export interface Tracks {
168
+ /**
169
+ * A link to the Web API endpoint returning the full result of the request
170
+ */
171
+ href: string;
172
+
173
+ items: Array<Shared.PlaylistTrackObject>;
174
+
175
+ /**
176
+ * The maximum number of items in the response (as set in the query or by default).
177
+ */
178
+ limit: number;
179
+
180
+ /**
181
+ * URL to the next page of items. ( `null` if none)
182
+ */
183
+ next: string | null;
184
+
185
+ /**
186
+ * The offset of the items returned (as set in the query or by default)
187
+ */
188
+ offset: number;
189
+
190
+ /**
191
+ * URL to the previous page of items. ( `null` if none)
192
+ */
193
+ previous: string | null;
194
+
195
+ /**
196
+ * The total number of items available to return.
197
+ */
198
+ total: number;
199
+ }
200
+ }
201
+
202
+ export interface PlaylistRetrieveParams {
203
+ /**
204
+ * A comma-separated list of item types that your client supports besides the
205
+ * default `track` type. Valid types are: `track` and `episode`.<br/> _**Note**:
206
+ * This parameter was introduced to allow existing clients to maintain their
207
+ * current behaviour and might be deprecated in the future._<br/> In addition to
208
+ * providing this parameter, make sure that your client properly handles cases of
209
+ * new types in the future by checking against the `type` field of each object.
210
+ */
211
+ additional_types?: string;
212
+
213
+ /**
214
+ * Filters for the query: a comma-separated list of the fields to return. If
215
+ * omitted, all fields are returned. For example, to get just the playlist''s
216
+ * description and URI: `fields=description,uri`. A dot separator can be used to
217
+ * specify non-reoccurring fields, while parentheses can be used to specify
218
+ * reoccurring fields within objects. For example, to get just the added date and
219
+ * user ID of the adder: `fields=tracks.items(added_at,added_by.id)`. Use multiple
220
+ * parentheses to drill down into nested objects, for example:
221
+ * `fields=tracks.items(track(name,href,album(name,href)))`. Fields can be excluded
222
+ * by prefixing them with an exclamation mark, for example:
223
+ * `fields=tracks.items(track(name,href,album(!name,href)))`
224
+ */
225
+ fields?: string;
226
+
227
+ /**
228
+ * An
229
+ * [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
230
+ * If a country code is specified, only content that is available in that market
231
+ * will be returned.<br/> If a valid user access token is specified in the request
232
+ * header, the country associated with the user account will take priority over
233
+ * this parameter.<br/> _**Note**: If neither market or user country are provided,
234
+ * the content is considered unavailable for the client._<br/> Users can view the
235
+ * country that is associated with their account in the
236
+ * [account settings](https://www.spotify.com/account/overview/).
237
+ */
238
+ market?: string;
239
+ }
240
+
241
+ export interface PlaylistUpdateParams {
242
+ /**
243
+ * If `true`, the playlist will become collaborative and other users will be able
244
+ * to modify the playlist in their Spotify client. <br/> _**Note**: You can only
245
+ * set `collaborative` to `true` on non-public playlists._
246
+ */
247
+ collaborative?: boolean;
248
+
249
+ /**
250
+ * Value for playlist description as displayed in Spotify Clients and in the Web
251
+ * API.
252
+ */
253
+ description?: string;
254
+
255
+ /**
256
+ * The new name for the playlist, for example `"My New Playlist Title"`
257
+ */
258
+ name?: string;
259
+
260
+ /**
261
+ * The playlist's public/private status (if it should be added to the user's
262
+ * profile or not): `true` the playlist will be public, `false` the playlist will
263
+ * be private, `null` the playlist status is not relevant. For more about
264
+ * public/private status, see
265
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
266
+ */
267
+ public?: boolean;
268
+
269
+ [k: string]: unknown;
270
+ }
271
+
272
+ Playlists.Tracks = TracksAPITracks;
273
+ Playlists.Followers = Followers;
274
+ Playlists.Images = Images;
275
+
276
+ export declare namespace Playlists {
277
+ export {
278
+ type PlaylistRetrieveResponse as PlaylistRetrieveResponse,
279
+ type PlaylistRetrieveParams as PlaylistRetrieveParams,
280
+ type PlaylistUpdateParams as PlaylistUpdateParams,
281
+ };
282
+
283
+ export {
284
+ TracksAPITracks as Tracks,
285
+ type TrackUpdateResponse as TrackUpdateResponse,
286
+ type TrackAddResponse as TrackAddResponse,
287
+ type TrackRemoveResponse as TrackRemoveResponse,
288
+ type TrackUpdateParams as TrackUpdateParams,
289
+ type TrackListParams as TrackListParams,
290
+ type TrackAddParams as TrackAddParams,
291
+ type TrackRemoveParams as TrackRemoveParams,
292
+ };
293
+
294
+ export {
295
+ Followers as Followers,
296
+ type FollowerCheckResponse as FollowerCheckResponse,
297
+ type FollowerCheckParams as FollowerCheckParams,
298
+ type FollowerFollowParams as FollowerFollowParams,
299
+ };
300
+
301
+ export {
302
+ Images as Images,
303
+ type ImageListResponse as ImageListResponse,
304
+ type ImageUpdateParams as ImageUpdateParams,
305
+ };
306
+ }
@@ -0,0 +1,261 @@
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 { PlaylistTrackObjectsCursorURLPage } from '../shared';
6
+ import { APIPromise } from '../../core/api-promise';
7
+ import { CursorURLPage, PagePromise } from '../../core/pagination';
8
+ import { RequestOptions } from '../../internal/request-options';
9
+ import { path } from '../../internal/utils/path';
10
+
11
+ export class Tracks extends APIResource {
12
+ /**
13
+ * Either reorder or replace items in a playlist depending on the request's
14
+ * parameters. To reorder items, include `range_start`, `insert_before`,
15
+ * `range_length` and `snapshot_id` in the request's body. To replace items,
16
+ * include `uris` as either a query parameter or in the request's body. Replacing
17
+ * items in a playlist will overwrite its existing items. This operation can be
18
+ * used for replacing or clearing items in a playlist. <br/> **Note**: Replace and
19
+ * reorder are mutually exclusive operations which share the same endpoint, but
20
+ * have different parameters. These operations can't be applied together in a
21
+ * single request.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const track = await client.playlists.tracks.update(
26
+ * '3cEYpjA9oz9GiPac4AsH4n',
27
+ * );
28
+ * ```
29
+ */
30
+ update(
31
+ playlistID: string,
32
+ body: TrackUpdateParams | null | undefined = {},
33
+ options?: RequestOptions,
34
+ ): APIPromise<TrackUpdateResponse> {
35
+ return this._client.put(path`/playlists/${playlistID}/tracks`, { body, ...options });
36
+ }
37
+
38
+ /**
39
+ * Get full details of the items of a playlist owned by a Spotify user.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * // Automatically fetches more pages as needed.
44
+ * for await (const playlistTrackObject of client.playlists.tracks.list(
45
+ * '3cEYpjA9oz9GiPac4AsH4n',
46
+ * )) {
47
+ * // ...
48
+ * }
49
+ * ```
50
+ */
51
+ list(
52
+ playlistID: string,
53
+ query: TrackListParams | null | undefined = {},
54
+ options?: RequestOptions,
55
+ ): PagePromise<PlaylistTrackObjectsCursorURLPage, Shared.PlaylistTrackObject> {
56
+ return this._client.getAPIList(
57
+ path`/playlists/${playlistID}/tracks`,
58
+ CursorURLPage<Shared.PlaylistTrackObject>,
59
+ { query, ...options },
60
+ );
61
+ }
62
+
63
+ /**
64
+ * Add one or more items to a user's playlist.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * const response = await client.playlists.tracks.add(
69
+ * '3cEYpjA9oz9GiPac4AsH4n',
70
+ * );
71
+ * ```
72
+ */
73
+ add(
74
+ playlistID: string,
75
+ body: TrackAddParams | null | undefined = {},
76
+ options?: RequestOptions,
77
+ ): APIPromise<TrackAddResponse> {
78
+ return this._client.post(path`/playlists/${playlistID}/tracks`, { body, ...options });
79
+ }
80
+
81
+ /**
82
+ * Remove one or more items from a user's playlist.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const track = await client.playlists.tracks.remove(
87
+ * '3cEYpjA9oz9GiPac4AsH4n',
88
+ * { tracks: [{}] },
89
+ * );
90
+ * ```
91
+ */
92
+ remove(
93
+ playlistID: string,
94
+ body: TrackRemoveParams,
95
+ options?: RequestOptions,
96
+ ): APIPromise<TrackRemoveResponse> {
97
+ return this._client.delete(path`/playlists/${playlistID}/tracks`, { body, ...options });
98
+ }
99
+ }
100
+
101
+ export interface TrackUpdateResponse {
102
+ snapshot_id?: string;
103
+ }
104
+
105
+ export interface TrackAddResponse {
106
+ snapshot_id?: string;
107
+ }
108
+
109
+ export interface TrackRemoveResponse {
110
+ snapshot_id?: string;
111
+ }
112
+
113
+ export interface TrackUpdateParams {
114
+ /**
115
+ * The position where the items should be inserted.<br/>To reorder the items to the
116
+ * end of the playlist, simply set _insert_before_ to the position after the last
117
+ * item.<br/>Examples:<br/>To reorder the first item to the last position in a
118
+ * playlist with 10 items, set _range_start_ to 0, and _insert_before_
119
+ * to 10.<br/>To reorder the last item in a playlist with 10 items to the start of
120
+ * the playlist, set _range_start_ to 9, and _insert_before_ to 0.
121
+ */
122
+ insert_before?: number;
123
+
124
+ /**
125
+ * The amount of items to be reordered. Defaults to 1 if not set.<br/>The range of
126
+ * items to be reordered begins from the _range_start_ position, and includes the
127
+ * _range_length_ subsequent items.<br/>Example:<br/>To move the items at index
128
+ * 9-10 to the start of the playlist, _range_start_ is set to 9, and _range_length_
129
+ * is set to 2.
130
+ */
131
+ range_length?: number;
132
+
133
+ /**
134
+ * The position of the first item to be reordered.
135
+ */
136
+ range_start?: number;
137
+
138
+ /**
139
+ * The playlist's snapshot ID against which you want to make the changes.
140
+ */
141
+ snapshot_id?: string;
142
+
143
+ uris?: Array<string>;
144
+
145
+ [k: string]: unknown;
146
+ }
147
+
148
+ export interface TrackListParams {
149
+ /**
150
+ * A comma-separated list of item types that your client supports besides the
151
+ * default `track` type. Valid types are: `track` and `episode`.<br/> _**Note**:
152
+ * This parameter was introduced to allow existing clients to maintain their
153
+ * current behaviour and might be deprecated in the future._<br/> In addition to
154
+ * providing this parameter, make sure that your client properly handles cases of
155
+ * new types in the future by checking against the `type` field of each object.
156
+ */
157
+ additional_types?: string;
158
+
159
+ /**
160
+ * Filters for the query: a comma-separated list of the fields to return. If
161
+ * omitted, all fields are returned. For example, to get just the total number of
162
+ * items and the request limit:<br/>`fields=total,limit`<br/>A dot separator can be
163
+ * used to specify non-reoccurring fields, while parentheses can be used to specify
164
+ * reoccurring fields within objects. For example, to get just the added date and
165
+ * user ID of the adder:<br/>`fields=items(added_at,added_by.id)`<br/>Use multiple
166
+ * parentheses to drill down into nested objects, for
167
+ * example:<br/>`fields=items(track(name,href,album(name,href)))`<br/>Fields can be
168
+ * excluded by prefixing them with an exclamation mark, for
169
+ * example:<br/>`fields=items.track.album(!external_urls,images)`
170
+ */
171
+ fields?: string;
172
+
173
+ /**
174
+ * The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 100.
175
+ */
176
+ limit?: number;
177
+
178
+ /**
179
+ * An
180
+ * [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
181
+ * If a country code is specified, only content that is available in that market
182
+ * will be returned.<br/> If a valid user access token is specified in the request
183
+ * header, the country associated with the user account will take priority over
184
+ * this parameter.<br/> _**Note**: If neither market or user country are provided,
185
+ * the content is considered unavailable for the client._<br/> Users can view the
186
+ * country that is associated with their account in the
187
+ * [account settings](https://www.spotify.com/account/overview/).
188
+ */
189
+ market?: string;
190
+
191
+ /**
192
+ * The index of the first item to return. Default: 0 (the first item). Use with
193
+ * limit to get the next set of items.
194
+ */
195
+ offset?: number;
196
+ }
197
+
198
+ export interface TrackAddParams {
199
+ /**
200
+ * The position to insert the items, a zero-based index. For example, to insert the
201
+ * items in the first position: `position=0` ; to insert the items in the third
202
+ * position: `position=2`. If omitted, the items will be appended to the playlist.
203
+ * Items are added in the order they appear in the uris array. For example:
204
+ * `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZCA6M"], "position": 3}`
205
+ */
206
+ position?: number;
207
+
208
+ /**
209
+ * A JSON array of the
210
+ * [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) to add. For
211
+ * example:
212
+ * `{"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZCA6M", "spotify:episode:512ojhOuo1ktJprKbVcKyQ"]}`<br/>A
213
+ * maximum of 100 items can be added in one request. _**Note**: if the `uris`
214
+ * parameter is present in the query string, any URIs listed here in the body will
215
+ * be ignored._
216
+ */
217
+ uris?: Array<string>;
218
+
219
+ [k: string]: unknown;
220
+ }
221
+
222
+ export interface TrackRemoveParams {
223
+ /**
224
+ * An array of objects containing
225
+ * [Spotify URIs](/documentation/web-api/concepts/spotify-uris-ids) of the tracks
226
+ * or episodes to remove. For example:
227
+ * `{ "tracks": [{ "uri": "spotify:track:4iV5W9uYEdYUVa79Axb7Rh" },{ "uri": "spotify:track:1301WleyT98MSxVHPZCA6M" }] }`.
228
+ * A maximum of 100 objects can be sent at once.
229
+ */
230
+ tracks: Array<TrackRemoveParams.Track>;
231
+
232
+ /**
233
+ * The playlist's snapshot ID against which you want to make the changes. The API
234
+ * will validate that the specified items exist and in the specified positions and
235
+ * make the changes, even if more recent changes have been made to the playlist.
236
+ */
237
+ snapshot_id?: string;
238
+ }
239
+
240
+ export namespace TrackRemoveParams {
241
+ export interface Track {
242
+ /**
243
+ * Spotify URI
244
+ */
245
+ uri?: string;
246
+ }
247
+ }
248
+
249
+ export declare namespace Tracks {
250
+ export {
251
+ type TrackUpdateResponse as TrackUpdateResponse,
252
+ type TrackAddResponse as TrackAddResponse,
253
+ type TrackRemoveResponse as TrackRemoveResponse,
254
+ type TrackUpdateParams as TrackUpdateParams,
255
+ type TrackListParams as TrackListParams,
256
+ type TrackAddParams as TrackAddParams,
257
+ type TrackRemoveParams as TrackRemoveParams,
258
+ };
259
+ }
260
+
261
+ export { type PlaylistTrackObjectsCursorURLPage };
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './playlists/index';