UNPKG

taglib-wasm

Version:

TagLib-Wasm is the universal tagging library for TypeScript/JavaScript platforms: Browsers, Node.js, Deno, Bun, Cloudflare Workers, and Electron apps

87 lines (86 loc) 2.3 kB
const Tags = { // Basic Properties Title: "title", Artist: "artist", Album: "album", Date: "date", TrackNumber: "trackNumber", Genre: "genre", Comment: "comment", // Extended Properties AlbumArtist: "albumArtist", Composer: "composer", Copyright: "copyright", EncodedBy: "encodedBy", DiscNumber: "discNumber", TotalTracks: "totalTracks", TotalDiscs: "totalDiscs", Compilation: "compilation", Bpm: "bpm", Lyricist: "lyricist", Conductor: "conductor", Remixer: "remixedBy", Language: "language", Publisher: "publisher", Mood: "mood", Media: "media", RadioStationOwner: "radioStationOwner", Producer: "producer", Subtitle: "subtitle", Label: "label", // Sorting Properties TitleSort: "titleSort", ArtistSort: "artistSort", AlbumArtistSort: "albumArtistSort", AlbumSort: "albumSort", ComposerSort: "composerSort", // Identifiers Isrc: "isrc", Asin: "asin", CatalogNumber: "catalogNumber", Barcode: "barcode", // MusicBrainz Identifiers MusicBrainzArtistId: "musicbrainzArtistId", MusicBrainzReleaseArtistId: "musicbrainzReleaseArtistId", MusicBrainzWorkId: "musicbrainzWorkId", MusicBrainzReleaseId: "musicbrainzReleaseId", MusicBrainzRecordingId: "musicbrainzTrackId", MusicBrainzTrackId: "musicbrainzTrackId", MusicBrainzReleaseGroupId: "musicbrainzReleaseGroupId", MusicBrainzReleaseTrackId: "musicbrainzReleaseTrackId", // AcoustID AcoustidFingerprint: "acoustidFingerprint", AcoustidId: "acoustidId", // Podcast Properties PodcastId: "podcastId", PodcastUrl: "podcastUrl", // Grouping and Work Grouping: "grouping", Work: "work", // Additional Metadata Lyrics: "lyrics", AlbumGain: "replayGainAlbumGain", AlbumPeak: "replayGainAlbumPeak", TrackGain: "replayGainTrackGain", TrackPeak: "replayGainTrackPeak", // Original release OriginalArtist: "originalArtist", OriginalAlbum: "originalAlbum", OriginalDate: "originalDate", // Miscellaneous Script: "script", InvolvedPeople: "involvedPeople", Encoding: "encoding" }; const VALID_TAG_NAMES = new Set(Object.values(Tags)); function isValidTagName(name) { return VALID_TAG_NAMES.has(name); } function getAllTagNames() { return Object.values(Tags); } export { Tags, getAllTagNames, isValidTagName };