21 lines
1.1 KiB
Swift
21 lines
1.1 KiB
Swift
import Foundation
|
|
|
|
public struct MusicBrainzEntityType<T: MusicBrainzSearchable>: Sendable {
|
|
public let entity: MusicBrainzEntity
|
|
|
|
public static var area: MusicBrainzEntityType<Area> { .init(entity: .area) }
|
|
public static var artist: MusicBrainzEntityType<Artist> { .init(entity: .artist) }
|
|
public static var event: MusicBrainzEntityType<Event> { .init(entity: .event) }
|
|
public static var instrument: MusicBrainzEntityType<Instrument> { .init(entity: .instrument) }
|
|
public static var label: MusicBrainzEntityType<Label> { .init(entity: .label) }
|
|
public static var place: MusicBrainzEntityType<Place> { .init(entity: .place) }
|
|
public static var recording: MusicBrainzEntityType<Recording> { .init(entity: .recording) }
|
|
public static var release: MusicBrainzEntityType<Release> { .init(entity: .release) }
|
|
public static var releaseGroup: MusicBrainzEntityType<ReleaseGroup> {
|
|
.init(entity: .releaseGroup)
|
|
}
|
|
public static var series: MusicBrainzEntityType<Series> { .init(entity: .series) }
|
|
public static var work: MusicBrainzEntityType<Work> { .init(entity: .work) }
|
|
public static var url: MusicBrainzEntityType<URLReference> { .init(entity: .url) }
|
|
}
|