UNPKG

vibez-core

Version:

Utilities, types and common dependencies.

60 lines (54 loc) 1.26 kB
import { Describable, Indexable, IndexableCollection } from "../common"; export type Collections = "Samples"; export interface MusicCollection<T extends Collections> extends IndexableCollection<T> {} export type GNAlbumCoverSize = | "LARGE" | "XLARGE" | "SMALL" | "MEDIUM" | "THUMBNAIL"; export interface SongDetails { albumPhotoUrl: string; popularity: number; previewUrl: string; } export interface ExternMetadata { source: string; track: Indexable; details?: SongDetails; } export interface ACRCloudOptions { host?: string; endpoint?: string; signature_version?: string; data_type?: string; secure?: boolean; access_key: string; access_secret: string; } export interface IdentifyRequest { customer: Indexable; device: Indexable; sampleUrl: string; } export interface UploadResult { result: string; url: string; } export interface SampleMetadata { album: Describable; artists: Array<Describable>; genres?: Array<Describable>; era?: Array<Describable>; name: string; date: Date; externMetadata?: ExternMetadata; } export interface Sample extends MusicCollection<"Samples"> { author: Indexable; createdAt: Date; sampleUri: string; identified: boolean; metadata?: SampleMetadata; }