Initial working version
This commit is contained in:
+76
@@ -0,0 +1,76 @@
|
||||
import { FormatId, IAudioMetadata, ICommonTagsResult, IFormat, INativeTags, IOptions, IQualityInformation, ITrackInfo } from '../type';
|
||||
import { IGenericTag, TagType } from './GenericTagTypes';
|
||||
/**
|
||||
* Combines all generic-tag-mappers for each tag type
|
||||
*/
|
||||
export interface IWarningCollector {
|
||||
/**
|
||||
* Register parser warning
|
||||
* @param warning
|
||||
*/
|
||||
addWarning(warning: string): any;
|
||||
}
|
||||
export interface INativeMetadataCollector extends IWarningCollector {
|
||||
/**
|
||||
* Only use this for reading
|
||||
*/
|
||||
readonly format: IFormat;
|
||||
readonly native: INativeTags;
|
||||
readonly quality: IQualityInformation;
|
||||
/**
|
||||
* @returns {boolean} true if one or more tags have been found
|
||||
*/
|
||||
hasAny(): boolean;
|
||||
setFormat(key: FormatId, value: any): any;
|
||||
addTag(tagType: TagType, tagId: string, value: any): any;
|
||||
addStreamInfo(streamInfo: ITrackInfo): any;
|
||||
}
|
||||
/**
|
||||
* Provided to the parser to uodate the metadata result.
|
||||
* Responsible for triggering async updates
|
||||
*/
|
||||
export declare class MetadataCollector implements INativeMetadataCollector {
|
||||
private opts;
|
||||
readonly format: IFormat;
|
||||
readonly native: INativeTags;
|
||||
readonly common: ICommonTagsResult;
|
||||
readonly quality: IQualityInformation;
|
||||
/**
|
||||
* Keeps track of origin priority for each mapped id
|
||||
*/
|
||||
private readonly commonOrigin;
|
||||
/**
|
||||
* Maps a tag type to a priority
|
||||
*/
|
||||
private readonly originPriority;
|
||||
private tagMapper;
|
||||
constructor(opts: IOptions);
|
||||
/**
|
||||
* @returns {boolean} true if one or more tags have been found
|
||||
*/
|
||||
hasAny(): boolean;
|
||||
addStreamInfo(streamInfo: ITrackInfo): void;
|
||||
setFormat(key: FormatId, value: any): void;
|
||||
addTag(tagType: TagType, tagId: string, value: any): void;
|
||||
addWarning(warning: string): void;
|
||||
postMap(tagType: TagType | 'artificial', tag: IGenericTag): any;
|
||||
/**
|
||||
* Convert native tags to common tags
|
||||
* @returns {IAudioMetadata} Native + common tags
|
||||
*/
|
||||
toCommonMetadata(): IAudioMetadata;
|
||||
/**
|
||||
* Fix some common issues with picture object
|
||||
* @param pictureType
|
||||
*/
|
||||
private postFixPicture;
|
||||
/**
|
||||
* Convert native tag to common tags
|
||||
*/
|
||||
private toCommon;
|
||||
/**
|
||||
* Set generic tag
|
||||
*/
|
||||
private setGenericTag;
|
||||
}
|
||||
export declare function joinArtists(artists: string[]): string;
|
||||
Reference in New Issue
Block a user