musicbrainz-api 0.21.0 → 0.23.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.
@@ -1,606 +0,0 @@
1
- import DateTimeFormat = Intl.DateTimeFormat;
2
- import type { IFormData } from './musicbrainz-api.js';
3
- export interface IPeriod {
4
- 'begin': string;
5
- 'ended': boolean;
6
- 'end': string;
7
- }
8
- export interface IEntity {
9
- id: string;
10
- }
11
- export interface IArea extends IEntity {
12
- 'iso-3166-1-codes': string[];
13
- name: string;
14
- 'sort-name': string;
15
- disambiguation: string;
16
- }
17
- export interface IAlias extends IEntity {
18
- name: string;
19
- 'sort-name': string;
20
- ended: boolean;
21
- 'type-id': string;
22
- type: string;
23
- locale: string;
24
- primary: string;
25
- begin: string;
26
- end: string;
27
- }
28
- export interface IMatch {
29
- score: number;
30
- }
31
- export interface IArtist extends IEntity {
32
- name: string;
33
- disambiguation: string;
34
- 'sort-name': string;
35
- 'type-id'?: string;
36
- 'gender-id'?: string;
37
- 'life-span'?: IPeriod;
38
- country?: string;
39
- ipis?: string[];
40
- isnis?: string[];
41
- aliases?: IAlias[];
42
- gender?: string;
43
- type?: string;
44
- area?: IArea;
45
- begin_area?: IArea;
46
- end_area?: IArea;
47
- relations?: IRelation[];
48
- /**
49
- * Only defined if 'releases' are includes
50
- */
51
- releases?: IRelease[];
52
- 'release-groups'?: IReleaseGroup[];
53
- }
54
- export interface IArtistCredit {
55
- artist: IArtist;
56
- joinphrase: string;
57
- name: string;
58
- }
59
- export interface ICollection extends IEntity {
60
- type: string;
61
- name: string;
62
- 'type-id': string;
63
- 'recording-count': number;
64
- editor: string;
65
- 'entity-type': string;
66
- }
67
- export interface IEvent extends IEntity {
68
- cancelled: boolean;
69
- type: string;
70
- 'life-span': IPeriod;
71
- disambiguation: string;
72
- 'type-id': string;
73
- time: string;
74
- setlist: string;
75
- name: string;
76
- }
77
- export interface IInstrument extends IEntity {
78
- disambiguation: string;
79
- name: string;
80
- 'type-id': string;
81
- type: string;
82
- description: string;
83
- }
84
- export type ReleaseQuality = 'normal';
85
- export interface IRelease extends IEntity {
86
- title: string;
87
- 'text-representation': {
88
- 'language': string;
89
- 'script': string;
90
- };
91
- disambiguation: string;
92
- asin: string;
93
- 'status-id': string;
94
- packaging?: string;
95
- status: string;
96
- 'packaging-id'?: string;
97
- 'release-events'?: IReleaseEvent[];
98
- date: string;
99
- media: IMedium[];
100
- 'cover-art-archive': ICoverArtArchive;
101
- country: string;
102
- quality: string;
103
- barcode: string;
104
- relations?: IRelation[];
105
- 'artist-credit'?: IArtistCredit[];
106
- 'release-group'?: IReleaseGroup;
107
- collections?: ICollection[];
108
- }
109
- export interface IReleaseEvent {
110
- area?: IArea;
111
- date?: string;
112
- }
113
- export type MediaFormatType = 'Digital Media';
114
- export interface IRecording extends IEntity {
115
- video: boolean;
116
- length: number;
117
- title: string;
118
- disambiguation: string;
119
- isrcs?: string[];
120
- releases?: IRelease[];
121
- relations?: IRelation[];
122
- 'artist-credit'?: IArtistCredit[];
123
- aliases?: IAlias[];
124
- }
125
- export interface ITrack extends IEntity {
126
- position: number;
127
- recording: IRecording;
128
- 'number': string;
129
- length: number;
130
- title: string;
131
- 'artist-credit'?: IArtistCredit[];
132
- }
133
- export interface IMedium {
134
- title: string;
135
- format?: string;
136
- 'format-id': string;
137
- tracks: ITrack[];
138
- 'track-count': number;
139
- 'track-offset': number;
140
- position: number;
141
- }
142
- export interface ICoverArtArchive {
143
- count: number;
144
- front: boolean;
145
- darkened: boolean;
146
- artwork: boolean;
147
- back: boolean;
148
- }
149
- export interface IReleaseGroup extends IEntity {
150
- count: number;
151
- disambiguation?: string;
152
- title: string;
153
- 'secondary-types': string[];
154
- 'first-release-date': string;
155
- 'primary-type': string;
156
- 'primary-type-id'?: string;
157
- 'secondary-type-ids'?: string[];
158
- 'sort-name': string;
159
- 'artist-credit': {
160
- artist: IArtist;
161
- name: string;
162
- joinphrase: string;
163
- }[];
164
- releases?: IRelease[];
165
- }
166
- export interface IAreaMatch extends IArea, IMatch {
167
- }
168
- export interface IArtistMatch extends IArtist, IMatch {
169
- }
170
- export interface IRecordingMatch extends IRecording, IMatch {
171
- }
172
- export interface IReleaseGroupMatch extends IReleaseGroup, IMatch {
173
- }
174
- export interface IReleaseMatch extends IRelease, IMatch {
175
- }
176
- export interface ISearchResult {
177
- created: DateTimeFormat;
178
- count: number;
179
- offset: number;
180
- }
181
- export interface IArtistList extends ISearchResult {
182
- artists: IArtistMatch[];
183
- }
184
- export interface IAreaList extends ISearchResult {
185
- areas: IAreaMatch[];
186
- }
187
- export interface IReleaseList extends ISearchResult {
188
- releases: IReleaseMatch[];
189
- 'release-count': number;
190
- }
191
- export interface IRecordingList extends ISearchResult {
192
- recordings: IRecordingMatch[];
193
- 'recordings-count': number;
194
- }
195
- export interface IReleaseGroupList extends ISearchResult {
196
- 'release-groups': IReleaseGroupMatch[];
197
- }
198
- export interface IUrlList extends ISearchResult {
199
- urls: IUrlMatch[];
200
- }
201
- export type RelationDirection = 'backward' | 'forward';
202
- export interface IRelation {
203
- artist?: IArtist;
204
- 'attribute-ids': unknown[];
205
- direction: RelationDirection;
206
- 'target-credit': string;
207
- end: null | unknown;
208
- 'source-credit': string;
209
- ended: boolean;
210
- 'attribute-values': unknown[];
211
- attributes?: any[];
212
- type: string;
213
- begin?: null | unknown;
214
- 'target-type'?: 'url';
215
- 'type-id': string;
216
- url?: IUrl;
217
- release?: IRelease;
218
- }
219
- export interface IRelationList {
220
- relations: IRelation[];
221
- }
222
- export interface IWork extends IEntity {
223
- title: string;
224
- }
225
- export interface ILabel extends IEntity {
226
- name: string;
227
- }
228
- export interface IPlace extends IEntity {
229
- name: string;
230
- }
231
- export interface ISeries extends IEntity {
232
- name: string;
233
- type: string;
234
- disambiguation: string;
235
- 'type-id': string;
236
- }
237
- export interface IUrl extends IEntity {
238
- id: string;
239
- resource: string;
240
- 'relation-list'?: IRelationList[];
241
- }
242
- export interface IUrlMatch extends IMatch, IUrl {
243
- }
244
- export interface IUrlSearchResult extends ISearchResult {
245
- urls?: IUrlMatch[];
246
- }
247
- export interface IIsrcSearchResult extends ISearchResult {
248
- 'isrc': string;
249
- 'recordings': IRecording[];
250
- }
251
- export interface IExernalIds {
252
- [type: string]: string;
253
- }
254
- export interface IReleaseSearchResult extends ISearchResult {
255
- releases: IRelease[];
256
- }
257
- /**
258
- * https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2#Subqueries
259
- */
260
- export type EntityType = 'area' | 'artist' | 'collection' | 'event' | 'instrument' | 'label' | 'place' | 'recording' | 'release' | 'release-group' | 'series' | 'work' | 'url';
261
- export type Relationships = 'area-rels' | 'artist-rels' | 'event-rels' | 'instrument-rels' | 'label-rels' | 'place-rels' | 'recording-rels' | 'release-rels' | 'release-group-rels' | 'series-rels' | 'url-rels' | 'work-rels';
262
- export declare enum LinkType {
263
- license = 302,
264
- production = 256,
265
- samples_IMDb_entry = 258,
266
- get_the_music = 257,
267
- purchase_for_download = 254,
268
- download_for_free = 255,
269
- stream_for_free = 268,
270
- crowdfunding_page = 905,
271
- other_databases = 306,
272
- Allmusic = 285
273
- }
274
- /**
275
- * https://wiki.musicbrainz.org/Development/XML_Web_Service/Version_2/Search#Artist
276
- */
277
- export interface IPagination {
278
- /**
279
- * Return search results starting at a given offset. Used for paging through more than one page of results.
280
- */
281
- offset?: number;
282
- /**
283
- * An integer value defining how many entries should be returned. Only values between 1 and 100 (both inclusive) are allowed. If not given, this defaults to 25.
284
- */
285
- limit?: number;
286
- }
287
- /**
288
- * https://wiki.musicbrainz.org/Development/XML_Web_Service/Version_2/Search#Artist
289
- */
290
- export interface ISearchQuery<I extends string> extends IPagination {
291
- /**
292
- * Lucene search query, this is mandatory
293
- */
294
- query?: string | IFormData;
295
- inc?: I[];
296
- artist?: string;
297
- }
298
- /**
299
- * https://musicbrainz.org/doc/MusicBrainz_API#Browse
300
- * /ws/2/area collection
301
- */
302
- export interface ILinkedEntitiesArea {
303
- collection?: string;
304
- }
305
- /**
306
- * https://musicbrainz.org/doc/MusicBrainz_API#Browse
307
- * /ws/2/artist area, collection, recording, release, release-group, work
308
- */
309
- export interface ILinkedEntitiesArtist {
310
- area?: string;
311
- collection?: string;
312
- recording?: string;
313
- release?: string;
314
- 'release-group'?: string;
315
- work?: string;
316
- }
317
- /**
318
- * https://musicbrainz.org/doc/MusicBrainz_API#Browse
319
- * /ws/2/collection area, artist, editor, event, label, place, recording, release, release-group, work
320
- */
321
- export interface ILinkedEntitiesCollection {
322
- area?: string;
323
- artist?: string;
324
- editor?: string;
325
- event?: string;
326
- label?: string;
327
- place?: string;
328
- recording?: string;
329
- release?: string;
330
- 'release-group'?: string;
331
- work?: string;
332
- }
333
- /**
334
- * https://musicbrainz.org/doc/MusicBrainz_API#Subqueries
335
- * /ws/2/event area, artist, collection, place
336
- */
337
- export interface ILinkedEntitiesEvent {
338
- area?: string;
339
- artist?: string;
340
- collection?: string;
341
- place?: string;
342
- }
343
- /**
344
- * https://musicbrainz.org/doc/MusicBrainz_API#Subqueries
345
- * /ws/2/instrument collection
346
- */
347
- export interface ILinkedEntitiesInstrument {
348
- collection?: string;
349
- }
350
- /**
351
- * https://musicbrainz.org/doc/MusicBrainz_API#Subqueries
352
- * /ws/2/label area, collection, release
353
- */
354
- export interface ILinkedEntitiesLabel {
355
- area?: string;
356
- collection?: string;
357
- release?: string;
358
- }
359
- /**
360
- * https://musicbrainz.org/doc/MusicBrainz_API#Subqueries
361
- * /ws/2/place area, collection
362
- */
363
- export interface IBrowseArgumentPlace {
364
- area?: string;
365
- collection?: string;
366
- }
367
- /**
368
- * https://musicbrainz.org/doc/MusicBrainz_API#Subqueries
369
- * /ws/2/recording artist, collection, release, work
370
- */
371
- export interface ILinkedEntitiesRecording {
372
- area?: string;
373
- collection?: string;
374
- release?: string;
375
- work?: string;
376
- }
377
- /**
378
- * https://musicbrainz.org/doc/MusicBrainz_API#Subqueries
379
- * /ws/2/release area, artist, collection, label, track, track_artist, recording, release-group
380
- */
381
- export interface ILinkedEntitiesRelease {
382
- area?: string;
383
- artist?: string;
384
- collection?: string;
385
- label?: string;
386
- track?: string;
387
- track_artist?: string;
388
- recording?: string;
389
- 'release-group'?: string;
390
- }
391
- /**
392
- * https://musicbrainz.org/doc/MusicBrainz_API#Subqueries
393
- * /ws/2/release-group artist, collection, release
394
- */
395
- export interface ILinkedEntitiesReleaseGroup {
396
- artist?: string;
397
- collection?: string;
398
- release?: string;
399
- }
400
- /**
401
- * https://musicbrainz.org/doc/MusicBrainz_API#Subqueries
402
- * /ws/2/series collection
403
- */
404
- export interface ILinkedEntitiesSeries {
405
- collection?: string;
406
- }
407
- /**
408
- * https://musicbrainz.org/doc/MusicBrainz_API#Browse
409
- * /ws/2/work artist, collection
410
- */
411
- export interface ILinkedEntitiesWork {
412
- artist?: string;
413
- collection?: string;
414
- }
415
- /**
416
- * https://musicbrainz.org/doc/MusicBrainz_API#Browse
417
- * /ws/2/url resource
418
- */
419
- export interface ILinkedEntitiesUrl {
420
- resource?: string;
421
- }
422
- /**
423
- * Browse artist query <entity>: <MBID>
424
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
425
- */
426
- export interface IBrowseAreasQuery extends IPagination {
427
- collection?: string;
428
- }
429
- /**
430
- * Browse artist query <entity>: <MBID>
431
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
432
- */
433
- export interface IBrowseArtistsQuery extends IPagination {
434
- area?: string;
435
- collection?: string;
436
- recording?: string;
437
- release?: string;
438
- 'release-group'?: string;
439
- work?: string;
440
- }
441
- /**
442
- * Browse collection query <entity>: <MBID>
443
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
444
- */
445
- export interface IBrowseCollectionsQuery extends IPagination {
446
- area?: string;
447
- artist?: string;
448
- editor?: string;
449
- event?: string;
450
- label?: string;
451
- place?: string;
452
- recording?: string;
453
- release?: string;
454
- 'release-group'?: string;
455
- work?: string;
456
- }
457
- /**
458
- * Browse events query <entity>: <MBID>
459
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
460
- */
461
- export interface IBrowseEventsQuery extends IPagination {
462
- area?: string;
463
- artist?: string;
464
- collection?: string;
465
- place?: string;
466
- }
467
- /**
468
- * Browse instruments query <entity>: <MBID>
469
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
470
- */
471
- export interface IBrowseInstrumentsQuery extends IPagination {
472
- collection?: string;
473
- }
474
- /**
475
- * Browse labels query <entity>: <MBID>
476
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
477
- */
478
- export interface IBrowseLabelsQuery extends IPagination {
479
- area?: string;
480
- collection?: string;
481
- release?: string;
482
- }
483
- /**
484
- * Browse places query <entity>: <MBID>
485
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
486
- */
487
- export interface IBrowsePlacesQuery extends IPagination {
488
- area?: string;
489
- collection?: string;
490
- }
491
- /**
492
- * Browse recordings query <entity>: <MBID>
493
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
494
- */
495
- export interface IBrowseRecordingsQuery extends IPagination {
496
- artist?: string;
497
- collection?: string;
498
- release?: string;
499
- work?: string;
500
- }
501
- /**
502
- * Browse releases query <entity>: <MBID>
503
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
504
- */
505
- export interface IBrowseReleasesQuery extends IPagination {
506
- area?: string;
507
- artist?: string;
508
- editor?: string;
509
- event?: string;
510
- label?: string;
511
- place?: string;
512
- recording?: string;
513
- release?: string;
514
- 'release-group'?: string;
515
- work?: string;
516
- }
517
- /**
518
- * Browse release-groups query <entity>: <MBID>
519
- */
520
- export interface IBrowseReleaseGroupsQuery extends IPagination {
521
- artist?: string;
522
- collection?: string;
523
- release?: string;
524
- }
525
- /**
526
- * Browse release query <entity>: <MBID>
527
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
528
- */
529
- export interface IBrowseSeriesQuery extends IPagination {
530
- collection?: string;
531
- }
532
- /**
533
- * Browse urls query <entity>: <MBID>
534
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
535
- */
536
- export interface IBrowseUrlsQuery extends IPagination {
537
- resource?: string;
538
- }
539
- /**
540
- * Browse works query <entity>: <MBID>
541
- * https://wiki.musicbrainz.org/MusicBrainz_API#Linked_entities
542
- */
543
- export interface IBrowseWorksQuery extends IPagination {
544
- artist?: string;
545
- collection?: string;
546
- }
547
- export interface IBrowseAreasResult {
548
- area: IArea;
549
- 'area-count': number;
550
- 'area-offset': number;
551
- }
552
- export interface IBrowseArtistsResult {
553
- artists: IArtist[];
554
- 'artist-count': number;
555
- 'artist-offset': number;
556
- }
557
- export interface IBrowseCollectionsResult {
558
- collections: ICollection[];
559
- 'collection-count': number;
560
- 'collection-offset': number;
561
- }
562
- export interface IBrowseEventsResult {
563
- events: IEvent[];
564
- 'event-count': number;
565
- 'event-offset': number;
566
- }
567
- export interface IBrowseInstrumentsResult {
568
- instruments: IInstrument[];
569
- 'instrument-count': number;
570
- 'instrument-offset': number;
571
- }
572
- export interface IBrowseLabelsResult {
573
- label: ILabel[];
574
- 'label-count': number;
575
- 'label-offset': number;
576
- }
577
- export interface IBrowsePlacesResult {
578
- place: IPlace[];
579
- 'place-count': number;
580
- 'place-offset': number;
581
- }
582
- export interface IBrowseRecordingsResult {
583
- recording: IRecording[];
584
- 'recording-count': number;
585
- 'recording-offset': number;
586
- }
587
- export interface IBrowseReleasesResult {
588
- releases: IRelease[];
589
- 'release-count': number;
590
- 'release-offset': number;
591
- }
592
- export interface IBrowseReleaseGroupsResult {
593
- 'release-groups': IReleaseGroup[];
594
- 'release-group-count': number;
595
- 'release-group-offset': number;
596
- }
597
- export interface IBrowseSeriesResult {
598
- series: IReleaseGroup[];
599
- 'series-count': number;
600
- 'series-offset': number;
601
- }
602
- export interface IBrowseWorksResult {
603
- works: IReleaseGroup[];
604
- 'work-count': number;
605
- 'work-offset': number;
606
- }
@@ -1,14 +0,0 @@
1
- export var LinkType;
2
- (function (LinkType) {
3
- LinkType[LinkType["license"] = 302] = "license";
4
- LinkType[LinkType["production"] = 256] = "production";
5
- LinkType[LinkType["samples_IMDb_entry"] = 258] = "samples_IMDb_entry";
6
- LinkType[LinkType["get_the_music"] = 257] = "get_the_music";
7
- LinkType[LinkType["purchase_for_download"] = 254] = "purchase_for_download";
8
- LinkType[LinkType["download_for_free"] = 255] = "download_for_free";
9
- LinkType[LinkType["stream_for_free"] = 268] = "stream_for_free";
10
- LinkType[LinkType["crowdfunding_page"] = 905] = "crowdfunding_page";
11
- LinkType[LinkType["other_databases"] = 306] = "other_databases";
12
- LinkType[LinkType["Allmusic"] = 285] = "Allmusic";
13
- })(LinkType || (LinkType = {}));
14
- //# sourceMappingURL=musicbrainz.types.js.map
@@ -1,17 +0,0 @@
1
- import { XmlIsrc } from './xml-isrc.js';
2
- export declare class XmlIsrcList {
3
- items: XmlIsrc[];
4
- pushIsrc(isrc: string): void;
5
- toXml(): {
6
- name: string;
7
- attrs: {
8
- count: number;
9
- };
10
- children: {
11
- name: string;
12
- attrs: {
13
- id: string;
14
- };
15
- }[];
16
- } | null;
17
- }
@@ -1,19 +0,0 @@
1
- import { XmlIsrc } from './xml-isrc.js';
2
- export class XmlIsrcList {
3
- constructor() {
4
- this.items = [];
5
- }
6
- pushIsrc(isrc) {
7
- this.items.push(new XmlIsrc(isrc));
8
- }
9
- toXml() {
10
- return this.items.length === 0 ? null : {
11
- name: 'isrc-list',
12
- attrs: {
13
- count: this.items.length
14
- },
15
- children: this.items.map(isrc => isrc.toXml())
16
- };
17
- }
18
- }
19
- //# sourceMappingURL=xml-isrc-list.js.map
@@ -1,10 +0,0 @@
1
- export declare class XmlIsrc {
2
- isrc: string;
3
- constructor(isrc: string);
4
- toXml(): {
5
- name: string;
6
- attrs: {
7
- id: string;
8
- };
9
- };
10
- }
@@ -1,14 +0,0 @@
1
- export class XmlIsrc {
2
- constructor(isrc) {
3
- this.isrc = isrc;
4
- }
5
- toXml() {
6
- return {
7
- name: 'isrc',
8
- attrs: {
9
- id: this.isrc
10
- }
11
- };
12
- }
13
- }
14
- //# sourceMappingURL=xml-isrc.js.map
@@ -1,6 +0,0 @@
1
- import { XmlRecording } from './xml-recording.js';
2
- export declare class XmlMetadata {
3
- recordings: XmlRecording[];
4
- pushRecording(id: string): XmlRecording;
5
- toXml(): string;
6
- }