Discojs
			
			
				Easiest way to use the Discogs API in Javascript - now with Typescript support! :musical_note:
			
			
			
			
				Installation
			
			yarn add discojs
			
				Usage example
			
			import {Discojs} from 'discojs'
const client = new Discojs({
  userToken: process.env.USER_TOKEN,
})
client
  .searchArtist('Jacob Desvarieux')
  .then(data => doSomethingWith(data))
			
				API Reference
			
			
				v2
			
			Documentation for discojs@2.x is available on GitHub Pages;
			
				v1
			
			Documentation for discojs@1.x is available in the wiki.
			
				Tests
			
			As several methods need authentication, you'll need 2 environment variables: DGS_USERNAME_ and _USER_TOKEN.
			Create a .env file at the root of the directory, and add the following lines:
			DGS_USERNAME=0ctocat
USER_TOKEN=7h1515myu53r70k3n
			:warning: Use a test account as public information will be edited.
			As stated by Discogs API, some methods need a seller account. As I do not have one, I could not test them (which explains the coverage).
			npm run test
			When running tests, go grab a cup of coffee as this may be long because of Discogs API rate limiting.
			
				Credits
			
			Inspired by disconnect from @bartve
		 
		
			Type aliases
			
				
				AddToFolderResponse
				AddToFolderResponse: t.TypeOf<typeof AddToFolderResponseIO>
				
			
			
				
				AddToWantlistResponse
				AddToWantlistResponse: t.TypeOf<typeof AddToWantlistResponseIO>
				
			
			
				
				Artist
				Artist: t.TypeOf<typeof ArtistIO>
				
			
			
				
				ArtistReleasesResponse
				ArtistReleasesResponse: t.TypeOf<typeof ArtistReleasesResponseIO>
				
			
			
			
				
				CollectionValueResponse
				CollectionValueResponse: t.TypeOf<typeof CollectionValueIO>
				
			
			
				
				CommunityReleaseRatingResponse
				CommunityReleaseRatingResponse: t.TypeOf<typeof CommunityReleaseRatingResponseIO>
				
			
			
				
				ConsumerKeyAuth
				ConsumerKeyAuth: { consumerKey: string; consumerSecret: string; oAuthToken: string; oAuthTokenSecret: string }
				
				
					Type declaration
					
						- 
							
consumerKey: string
							
						 
						- 
							
consumerSecret: string
							
						 
						- 
							
oAuthToken: string
							
						 
						- 
							
oAuthTokenSecret: string
							
						 
					
				 
			
			
				
				CreateListingResponse
				CreateListingResponse: t.TypeOf<typeof CreateListingResponseIO>
				
			
			
				
				CustomFieldsResponse
				CustomFieldsResponse: t.TypeOf<typeof CustomFieldsResponseIO>
				
			
			
			
				
				EditUserProfileResponse
				EditUserProfileResponse: t.TypeOf<typeof UserIO>
				
			
			
				
				EmptyResponse
				EmptyResponse: {}
				
				
			
			
				
				Fee
				Fee: t.TypeOf<typeof FeeIO>
				
			
			
				
				Folder
				Folder: t.TypeOf<typeof FolderIO>
				
			
			
				
				FolderReleasesResponse
				FolderReleasesResponse: t.TypeOf<typeof FolderReleasesResponseIO>
				
			
			
				
				FoldersResponse
				FoldersResponse: t.TypeOf<typeof FoldersResponseIO>
				
			
			
				
				IdentityResponse
				IdentityResponse: t.TypeOf<typeof IdentityIO>
				
			
			
				
				InventoryResponse
				InventoryResponse: t.TypeOf<typeof InventoryResponseIO>
				
			
			
				
				Label
				Label: t.TypeOf<typeof LabelIO>
				
			
			
				
				LabelReleasesResponse
				LabelReleasesResponse: t.TypeOf<typeof LabelReleasesResponseIO>
				
			
			
				
				Limiter
				Limiter: Bottleneck
				
			
			
				
				LimiterOptions
				LimiterOptions: { requestLimit?: undefined | number; requestLimitAuth?: undefined | number; requestLimitInterval?: undefined | number }
				
				
					Type declaration
					
						- 
							
Optional requestLimit?: undefined | number
							
						 
						- 
							
Optional requestLimitAuth?: undefined | number
							
						 
						- 
							
Optional requestLimitInterval?: undefined | number
							
						 
					
				 
			
			
				
				Listing
				Listing: t.TypeOf<typeof ListingIO>
				
			
			
				
				ListingOptions
				Listing
Options: { allowOffers?: undefined | false | true; comments?: undefined | string; condition: ReleaseConditionsEnum; externalId?: undefined | string; formatQuantity?: "auto" | number; location?: undefined | string; price: number; releaseId: number; sleeveCondition?: SleeveConditionsEnum; status: ListingStatusesEnum; weight?: "auto" | number } 
				
				
					Type declaration
					
						- 
							
Optional allowOffers?: undefined | false | true
						 
						- 
							
Optional comments?: undefined | string
						 
						- 
							
						
 
						- 
							
Optional externalId?: undefined | string
						 
						- 
							
Optional formatQuantity?: "auto" | number
						 
						- 
							
Optional location?: undefined | string
						 
						- 
							
price: number
						 
						- 
							
releaseId: number
						 
						- 
							
						
 
						- 
							
						
 
						- 
							
Optional weight?: "auto" | number
						 
					
				 
			
			
				
				MarketplaceStatisticsResponse
				MarketplaceStatisticsResponse: t.TypeOf<typeof MarketplaceStatisticsResponseIO>
				
			
			
				
				Master
				Master: t.TypeOf<typeof MasterIO>
				
			
			
				
				MasterVersionsResponse
				MasterVersionsResponse: t.TypeOf<typeof MasterVersionsResponseIO>
				
			
			
				
				Order
				Order: t.TypeOf<typeof OrderIO>
				
			
			
				
				OrderMessage
				OrderMessage: t.TypeOf<typeof OrderMessageIO>
				
			
			
				
				OrderMessagesResponse
				OrderMessagesResponse: t.TypeOf<typeof OrderMessagesResponseIO>
				
			
			
				
				OutputFormat
				OutputFormat: "discogs"
				
			
			
				
				PriceSuggestionsResponse
				PriceSuggestionsResponse: t.TypeOf<typeof PriceSuggestionsResponseIO>
				
			
			
				
				ProfileOptions
				Profile
Options: { currAbbr?: CurrenciesEnum; homePage?: undefined | string; location?: undefined | string; name?: undefined | string; profile?: undefined | string; username?: undefined | string } 
				
				
					Type declaration
					
						- 
							
						
 
						- 
							
Optional homePage?: undefined | string
						 
						- 
							
Optional location?: undefined | string
						 
						- 
							
Optional name?: undefined | string
						 
						- 
							
Optional profile?: undefined | string
						 
						- 
							
Optional username?: undefined | string
						 
					
				 
			
			
				
				RatingValues
				RatingValues: t.TypeOf<typeof RatingValuesIO>
				
			
			
				
				Release
				Release: t.TypeOf<typeof ReleaseIO>
				
			
			
				
				ReleaseRatingResponse
				ReleaseRatingResponse: t.TypeOf<typeof ReleaseRatingResponseIO>
				
			
			
				
				ReleaseStatsResponse
				ReleaseStatsResponse: t.TypeOf<typeof ReleaseStatsResponseIO>
				
			
			
				
				SearchOptions
				Search
Options: { anv?: undefined | string; artist?: undefined | string; barcode?: undefined | string; catno?: undefined | string; contributor?: undefined | string; country?: undefined | string; credit?: undefined | string; format?: undefined | string; genre?: undefined | string; label?: undefined | string; query?: undefined | string; releaseTitle?: undefined | string; style?: undefined | string; submitter?: undefined | string; title?: undefined | string; track?: undefined | string; type?: SearchTypeEnum; year?: string | number } 
				
				
					Type declaration
					
						- 
							
Optional anv?: undefined | string
						 
						- 
							
Optional artist?: undefined | string
						 
						- 
							
Optional barcode?: undefined | string
						 
						- 
							
Optional catno?: undefined | string
						 
						- 
							
Optional contributor?: undefined | string
						 
						- 
							
Optional country?: undefined | string
						 
						- 
							
Optional credit?: undefined | string
						 
						- 
							
Optional format?: undefined | string
						 
						- 
							
Optional genre?: undefined | string
						 
						- 
							
Optional label?: undefined | string
						 
						- 
							
Optional query?: undefined | string
						 
						- 
							
Optional releaseTitle?: undefined | string
						 
						- 
							
Optional style?: undefined | string
						 
						- 
							
Optional submitter?: undefined | string
						 
						- 
							
Optional title?: undefined | string
						 
						- 
							
Optional track?: undefined | string
						 
						- 
							
						
 
						- 
							
Optional year?: string | number
						 
					
				 
			
			
				
				SearchResponse
				SearchResponse: t.TypeOf<typeof SearchResponseIO>
				
			
			
				
				SetAuthorizationHeaderFunction
				SetAuthorizationHeaderFunction: (url?: undefined | string, method?: HTTPVerbsEnum) => string
				
				
					Type declaration
					
						- 
							
								- (url?: undefined | string, method?: HTTPVerbsEnum): string
 
							
							
								- 
									
Parameters
									
										- 
											
Optional url: undefined | string
										 
										- 
											
Optional method: HTTPVerbsEnum
										 
									
									Returns string
								 
							
						 
					
				 
			
			
				
				UserContributionsResponse
				UserContributionsResponse: t.TypeOf<typeof UserContributionsResponseIO>
				
			
			
				
				UserListItemsResponse
				UserListItemsResponse: t.TypeOf<typeof UserListItemsResponseIO>
				
			
			
				
				UserListsResponse
				UserListsResponse: t.TypeOf<typeof UserListsResponseIO>
				
			
			
				
				UserProfileResponse
				UserProfileResponse: t.TypeOf<typeof UserIO>
				
			
			
				
				UserSubmissionsResponse
				UserSubmissionsResponse: t.TypeOf<typeof UserSubmissionsResponseIO>
				
			
			
				
				UserTokenAuth
				UserTokenAuth: { userToken: string }
				
				
			
			
				
				WantlistResponse
				WantlistResponse: t.TypeOf<typeof WantlistResponseIO>
				
			
		
		
Consumer key.