SYMBOL INDEX (297 symbols across 70 files) FILE: lib/vite-image-metadata.ts function imageMetadataPlugin (line 12) | function imageMetadataPlugin(): Plugin { FILE: lib/vite-log-chunk-size.ts method writeBundle (line 10) | writeBundle() { FILE: scripts/check-translations.ts type Messages (line 3) | type Messages = Record type LocaleIssues (line 5) | interface LocaleIssues { type LocaleReport (line 10) | interface LocaleReport { type BaseMessageWithParams (line 15) | interface BaseMessageWithParams { FILE: src/app.d.ts type PageData (line 13) | interface PageData { type ClassValue (line 22) | type ClassValue = ClassValueInternal type Snippet (line 23) | type Snippet = SnippetInternal }> constant APP_DIALOGS_COMPONENTS_MAP (line 12) | const APP_DIALOGS_COMPONENTS_MAP = { type AppDialogKey (line 20) | type AppDialogKey = keyof typeof APP_DIALOGS_COMPONENTS_MAP constant APP_DIALOGS_KEYS (line 22) | const APP_DIALOGS_KEYS = Object.keys(APP_DIALOGS_COMPONENTS_MAP) as AppD... FILE: src/lib/components/icon/icon-paths.server.ts constant ICON_PATHS (line 4) | const ICON_PATHS = { type IconType (line 79) | type IconType = keyof typeof ICON_PATHS FILE: src/lib/components/menu/positioning.ts type MenuPositioning (line 35) | interface MenuPositioning extends MenuPosition { FILE: src/lib/components/menu/types.ts type MenuPosition (line 1) | interface MenuPosition { type MenuAlignment (line 6) | interface MenuAlignment { type MenuAnchorOptions (line 11) | interface MenuAnchorOptions { type MenuPositionOptions (line 16) | interface MenuPositionOptions { type MenuSize (line 21) | interface MenuSize { type MenuOptions (line 27) | type MenuOptions = (MenuAnchorOptions | MenuPositionOptions) & MenuSize type MenuItem (line 30) | interface MenuItem { FILE: src/lib/components/snackbar/snackbar.ts type SnackbarOptions (line 4) | type SnackbarOptions = SnackbarData FILE: src/lib/components/tracks/selection.svelte.ts class SelectionTracker (line 3) | class SelectionTracker { method selectedIds (line 7) | get selectedIds() { method selectionEnabled (line 11) | get selectionEnabled() { method enterSelectionMode (line 17) | enterSelectionMode() { method toggle (line 21) | toggle(id: number, index: number) { method select (line 36) | select(id: number, index: number) { method unselect (line 42) | unselect(id: number) { method selectMany (line 50) | selectMany(ids: readonly number[]) { method unselectMany (line 58) | unselectMany(ids: readonly number[]) { method setHoverAnchor (line 70) | setHoverAnchor(index: number) { method clearHoverAnchor (line 77) | clearHoverAnchor() { method has (line 83) | has(id: number) { method clear (line 87) | clear() { method size (line 93) | get size() { FILE: src/lib/components/tracks/use-track-drag-controller.svelte.ts constant EDGE_THRESHOLD (line 3) | const EDGE_THRESHOLD = 84 constant MAX_SCROLL_STEP (line 4) | const MAX_SCROLL_STEP = 30 type DragState (line 6) | interface DragState { type UseTrackDragControllerOptions (line 16) | interface UseTrackDragControllerOptions { method drag (line 189) | get drag() { FILE: src/lib/components/tracks/use-track-menu-items.ts type PredefinedTrackMenuItemOption (line 8) | type PredefinedTrackMenuItemOption = type PredefinedMenuItem (line 17) | interface PredefinedMenuItem extends MenuItem { type FalsyValue (line 21) | type FalsyValue = false | undefined | null | '' type UnfilteredPredefinedMenuItem (line 23) | type UnfilteredPredefinedMenuItem = PredefinedMenuItem | FalsyValue FILE: src/lib/components/tracks/use-track-selection-controller.svelte.ts type SelectionInteractionState (line 4) | interface SelectionInteractionState { type UseTrackSelectionControllerOptions (line 9) | interface UseTrackSelectionControllerOptions { type HandleItemClickOptions (line 13) | interface HandleItemClickOptions { method selectionEnabled (line 160) | get selectionEnabled() { method selectedIds (line 163) | get selectedIds() { method size (line 166) | get size() { FILE: src/lib/db/database.ts type AppDB (line 14) | interface AppDB extends DBSchema { type AppStoreNames (line 93) | type AppStoreNames = StoreNames type AppIndexNames (line 94) | type AppIndexNames = IndexNames method upgrade (line 117) | async upgrade(db, oldVersion, _newVersion, tx) { type AppIDBDatabase (line 218) | type AppIDBDatabase = IDBPDatabase type DbKey (line 244) | type DbKey = AppDB[Name]['key'] type DbValue (line 245) | type DbValue = AppDB[Name]['value'] FILE: src/lib/db/events.ts type DbBaseChange (line 3) | type DbBaseChange< type DbStandardChange (line 17) | type DbStandardChange< type DatabaseChangeDetails (line 25) | type DatabaseChangeDetails = { type DatabaseChangeDetailsList (line 29) | type DatabaseChangeDetailsList = readonly DatabaseChangeDetails[] type Listener (line 36) | type Listener = (changes: readonly DatabaseChangeDetails[]) => void FILE: src/lib/db/query/base-query.svelte.ts type QueryStatus (line 4) | type QueryStatus = 'loading' | 'loaded' | 'error' type QueryBaseResult (line 6) | interface QueryBaseResult { type QueryLoadedResult (line 10) | interface QueryLoadedResult { type QueryLoadingResult (line 17) | interface QueryLoadingResult { type QueryErrorResult (line 24) | interface QueryErrorResult { type QueryResult (line 31) | type QueryResult = QueryBaseResult & type QueryMutate (line 34) | type QueryMutate = (value: Result | ((prev: Result | undefined) ... type DbChangeActions (line 36) | interface DbChangeActions { type DatabaseChangeHandler (line 41) | type DatabaseChangeHandler = ( type QueryKeyPrimitiveValue (line 46) | type QueryKeyPrimitiveValue = number | string | boolean type QueryKey (line 47) | type QueryKey = QueryKeyPrimitiveValue | QueryKeyPrimitiveValue[] type QueryBaseOptions (line 52) | interface QueryBaseOptions { type QueryStateInternal (line 58) | type QueryStateInternal = Omit, 'loading'> class QueryImpl (line 60) | class QueryImpl { method constructor (line 73) | constructor(options: QueryBaseOptions) { method #getKey (line 77) | #getKey() { class QueryResultBox (line 173) | class QueryResultBox { method constructor (line 176) | constructor(state: QueryStateInternal) { method value (line 180) | get value() { method error (line 184) | get error() { method status (line 188) | get status() { method loading (line 192) | get loading() { FILE: src/lib/db/query/inline-query.svelte.ts type InlineQueryOptions (line 6) | interface InlineQueryOptions { FILE: src/lib/db/query/page-query.svelte.ts type PageQueryResult (line 12) | type PageQueryResult = QueryResult & { type PageQueryOptions (line 15) | type PageQueryOptions = QueryBaseOptions extends QueryResultBox { method constructor (line 24) | constructor(state: QueryStateInternal, setupListeners: () => v... method [pageQueryHydrateSymbol] (line 29) | [pageQueryHydrateSymbol](): void { FILE: src/lib/helpers/animations.ts type SequenceKeyframeAnimationOptions (line 7) | interface SequenceKeyframeAnimationOptions extends KeyframeAnimationOpti... type AnimationSequence (line 12) | type AnimationSequence = [ type AnimationSequenceOptions (line 18) | interface AnimationSequenceOptions { FILE: src/lib/helpers/create-managed-artwork.svelte.ts class Artwork (line 1) | class Artwork { method createRefId (line 4) | static createRefId() { method constructor (line 17) | constructor(image: Blob) { FILE: src/lib/helpers/debounced.svelte.ts type Getter (line 3) | type Getter = () => T class Debounced (line 5) | class Debounced { method current (line 8) | get current(): T { method constructor (line 12) | constructor(getter: Getter, delay: number) { FILE: src/lib/helpers/file-system.ts type FileEntity (line 5) | type FileEntity = File | FileSystemFileHandle FILE: src/lib/helpers/input.ts constant TEXT_INPUT_TYPES (line 1) | const TEXT_INPUT_TYPES = new Set(['text', 'search', 'email', 'url', 'pas... FILE: src/lib/helpers/register-sw.ts type RegisterSwOptions (line 16) | interface RegisterSwOptions { FILE: src/lib/helpers/serial-queue.ts class SerialQueue (line 2) | class SerialQueue { method enqueue (line 5) | enqueue(promiseFn: () => Promise): Promise { method drain (line 12) | drain(): Promise { FILE: src/lib/helpers/test-helpers.ts function expectToBeDefined (line 13) | function expectToBeDefined(value: T | undefined): asserts value is T { FILE: src/lib/helpers/utils/assign.ts type Impossible (line 2) | type Impossible = { FILE: src/lib/helpers/virtualizer.svelte.ts function createVirtualizerBase (line 5) | function createVirtualizerBase< FILE: src/lib/layout-bottom-bar.svelte.ts type BottomBarState (line 4) | interface BottomBarState { method bottomBar (line 20) | get bottomBar(): BottomBarState['bottomBar'] { method abovePlayer (line 23) | get abovePlayer(): Snippet[] { FILE: src/lib/library/get/ids-queries.ts type LibraryItemKeysPageQueryOptions (line 77) | type LibraryItemKeysPageQueryOptions = Omit< FILE: src/lib/library/get/ids.ts type SortOrder (line 5) | type SortOrder = 'asc' | 'desc' type LibraryItemSortKey (line 6) | type LibraryItemSortKey = Exclude< type GetLibraryItemIdsOptions (line 11) | interface GetLibraryItemIdsOptions { type GetLibraryItemIdsIndex (line 19) | type GetLibraryItemIdsIndex = IDBPIndex< FILE: src/lib/library/get/value-queries.ts type LibraryValueQueryOptions (line 7) | interface LibraryValueQueryOptions { type LibraryItemQuery (line 27) | type LibraryItemQuery = ReturnType = `${Store}:${string}` type QueryConfig (line 14) | interface QueryConfig { type TrackData (line 42) | interface TrackData extends Track { type AlbumData (line 109) | interface AlbumData extends Album { type ArtistData (line 117) | interface ArtistData extends Artist { type PlaylistData (line 126) | interface PlaylistData extends Playlist { type LibraryValueMap (line 150) | interface LibraryValueMap { type LibraryValue (line 157) | type LibraryValue = L... type LibraryConfigMap (line 159) | type LibraryConfigMap = { type LibraryCachedValue (line 170) | type LibraryCachedValue(key: CacheKey) { method set (line 183) | set( method delete (line 194) | delete(key: CacheKey) { method clear (line 198) | clear() { class LibraryValueNotFoundError (line 240) | class LibraryValueNotFoundError extends Error { method constructor (line 241) | constructor(cacheKey: CacheKey) { type GetLibraryValueResult (line 284) | type GetLibraryValueResult< FILE: src/lib/library/play-history-actions.ts constant PLAY_HISTORY_LIMIT (line 6) | const PLAY_HISTORY_LIMIT = 100 FILE: src/lib/library/playlists-actions.ts type UpdatePlaylistOptions (line 50) | interface UpdatePlaylistOptions { type DbPlaylistEntriesStore (line 122) | type DbPlaylistEntriesStore = IDBPObjectStore< type AddTracksToPlaylistOptions (line 137) | interface AddTracksToPlaylistOptions { type RemoveTracksFromPlaylistOptions (line 173) | interface RemoveTracksFromPlaylistOptions { type BatchModifyPlaylistSelectionOptions (line 204) | interface BatchModifyPlaylistSelectionOptions { FILE: src/lib/library/remove.ts type TrackOperationsTransaction (line 6) | type TrackOperationsTransaction = IDBPTransaction< FILE: src/lib/library/scan-actions/directories.ts type DirectoryStatus (line 8) | interface DirectoryStatus { FILE: src/lib/library/scan-actions/scanner/actions.ts type TrackEnqueueOptions (line 13) | interface TrackEnqueueOptions { class TrackProcessor (line 31) | class TrackProcessor { method constructor (line 38) | constructor(tracker: StatusTracker, onImportSuccess?: (trackId: number... method parseAndEnqueue (line 43) | async parseAndEnqueue(options: TrackEnqueueOptions) { method drain (line 80) | async drain(): Promise { class StatusTracker (line 86) | class StatusTracker { method constructor (line 98) | constructor(total: number, timeId: string) { FILE: src/lib/library/scan-actions/scanner/import-track.ts type ImportTrackTx (line 12) | type ImportTrackTx = IDBPTransaction< FILE: src/lib/library/scan-actions/scanner/parse/format-artwork.ts type ArtworkRelatedData (line 25) | interface ArtworkRelatedData { FILE: src/lib/library/scan-actions/scanner/parse/image-primary-color.ts constant SHIFT (line 1) | const SHIFT = 3 // quantize 8-bit -> 5-bit constant BINS (line 2) | const BINS = 32 * 32 * 32 // 5-bit bins function rgb2hsv (line 15) | function rgb2hsv(r: number, g: number, b: number) { function getPrimaryColor (line 47) | function getPrimaryColor(pixels: Uint8ClampedArray, width: number, heigh... FILE: src/lib/library/scan-actions/scanner/parse/parse-track.ts constant FILE_SIZE_LIMIT_300MB (line 5) | const FILE_SIZE_LIMIT_300MB = 300 * 1024 * 1024 FILE: src/lib/library/scan-actions/scanner/start.ts type TrackParsedFn (line 12) | type TrackParsedFn = (totalParsedCount: number) => void FILE: src/lib/library/scan-actions/scanner/types.ts type TracksScanResult (line 3) | interface TracksScanResult { type TracksScanMessage (line 12) | interface TracksScanMessage { type TracksScanOptions (line 18) | type TracksScanOptions = FILE: src/lib/library/types.ts type LibraryStoreName (line 3) | type LibraryStoreName = 'tracks' | 'albums' | 'artists' | 'playlists' constant LEGACY_NO_NATIVE_DIRECTORY (line 11) | const LEGACY_NO_NATIVE_DIRECTORY = -1 constant FAVORITE_PLAYLIST_ID (line 14) | const FAVORITE_PLAYLIST_ID = -1 constant FAVORITE_PLAYLIST_UUID (line 15) | const FAVORITE_PLAYLIST_UUID = 'favorites' constant UNKNOWN_ITEM (line 21) | const UNKNOWN_ITEM = '~\0unknown' type UnknownItem (line 23) | type UnknownItem = typeof UNKNOWN_ITEM type StringOrUnknownItem (line 25) | type StringOrUnknownItem = (string & {}) | UnknownItem type BaseMusicItem (line 27) | interface BaseMusicItem { type ParsedTrackData (line 32) | interface ParsedTrackData { type UnknownTrack (line 52) | interface UnknownTrack extends ParsedTrackData { type Track (line 60) | interface Track extends BaseMusicItem, UnknownTrack {} type Album (line 62) | interface Album extends BaseMusicItem { type Artist (line 69) | interface Artist extends BaseMusicItem { type Playlist (line 73) | interface Playlist extends BaseMusicItem { type PlaylistEntry (line 79) | interface PlaylistEntry { type PlayHistoryEntry (line 86) | interface PlayHistoryEntry { type Directory (line 92) | interface Directory { FILE: src/lib/stores/dialogs/store.svelte.ts type DialogOpenProp (line 8) | type DialogOpenProp = ComponentProps< type StateMap (line 12) | type StateMap = { type DialogState (line 16) | type DialogState = NonNullable type BooleanProps (line 18) | type BooleanProps = { class DialogsStore (line 22) | class DialogsStore { method getAccessor (line 27) | getAccessor(key: AppDialogKey): DialogOpenAccessor { method openDialog (line 38) | openDialog(dialog: K, open: DialogState) { method closeDialog (line 42) | closeDialog(dialog: K) { FILE: src/lib/stores/main/store.svelte.ts type AppTheme (line 7) | type AppTheme = 'light' | 'dark' type AppThemeOption (line 8) | type AppThemeOption = AppTheme | 'auto' type AppMotion (line 10) | type AppMotion = 'normal' | 'reduced' type AppMotionOption (line 11) | type AppMotionOption = AppMotion | 'auto' class MainStore (line 16) | class MainStore { method isThemeDark (line 21) | get isThemeDark(): boolean { method isReducedMotion (line 31) | get isReducedMotion(): boolean { method constructor (line 52) | constructor() { FILE: src/lib/stores/player/__test__/equalizer.test.ts type MockFilter (line 8) | interface MockFilter { type MockAudioContext (line 16) | interface MockAudioContext { class AudioContextMock (line 31) | class AudioContextMock implements MockAudioContext { method constructor (line 55) | constructor() { FILE: src/lib/stores/player/__test__/player.svelte.test.ts method value (line 27) | get value() { method error (line 30) | get error() { method status (line 33) | get status() { method loading (line 36) | get loading() { method init (line 50) | init() {} method resumeContext (line 51) | resumeContext() { method setBand (line 54) | setBand() {} method applyPreset (line 55) | applyPreset() {} method reset (line 56) | reset() {} class MediaMetadataMock (line 74) | class MediaMetadataMock {} class MockAudio (line 76) | class MockAudio { class AudioConstructor (line 167) | class AudioConstructor extends MockAudio { method constructor (line 168) | constructor() { method constructor (line 318) | constructor() { class AudioConstructor (line 317) | class AudioConstructor extends MockAudio { method constructor (line 168) | constructor() { method constructor (line 318) | constructor() { FILE: src/lib/stores/player/audio-loader.svelte.ts class AudioLoader (line 82) | class AudioLoader { method constructor (line 89) | constructor(onSrc: (src: string | null) => void) { FILE: src/lib/stores/player/equalizer.svelte.ts constant EQ_BANDS (line 3) | const EQ_BANDS = [ type BuiltinEqPresetKey (line 16) | type BuiltinEqPresetKey = constant EQ_PRESET_GAINS (line 27) | const EQ_PRESET_GAINS: Record = { constant EQ_MIN_GAIN (line 39) | const EQ_MIN_GAIN = -12 constant EQ_MAX_GAIN (line 40) | const EQ_MAX_GAIN = 12 class EqualizerStore (line 42) | class EqualizerStore { method constructor (line 51) | constructor(audio: HTMLAudioElement) { FILE: src/lib/stores/player/player.svelte.ts type PlayerRepeat (line 16) | type PlayerRepeat = 'none' | 'one' | 'all' constant PLAYER_PLAYBACK_RATE_MIN (line 18) | const PLAYER_PLAYBACK_RATE_MIN = 0.5 constant PLAYER_PLAYBACK_RATE_MAX (line 19) | const PLAYER_PLAYBACK_RATE_MAX = 2 class PlayerStore (line 21) | class PlayerStore { method shuffle (line 39) | get shuffle(): boolean { method itemsIds (line 43) | get itemsIds(): readonly number[] { method activeTrackIndex (line 47) | get activeTrackIndex(): number { method isQueueEmpty (line 51) | get isQueueEmpty(): boolean { method volume (line 60) | get volume(): number { method volume (line 64) | set volume(value: number) { method constructor (line 78) | constructor() { FILE: src/lib/stores/player/queue.svelte.ts type PlayTrackOptions (line 4) | interface PlayTrackOptions { class QueueStore (line 8) | class QueueStore { method activeTrackIndex (line 19) | get activeTrackIndex(): number { method activeTrackId (line 23) | get activeTrackId(): number | null { method isQueueEmpty (line 27) | get isQueueEmpty(): boolean { method constructor (line 31) | constructor() { FILE: src/lib/theme.ts type PaletteToken (line 10) | type PaletteToken = type Tone (line 47) | type Tone = 'a1' | 'a2' | 'a3' | 'n1' | 'n2' | 'error' type PaletteTokenInput (line 48) | type PaletteTokenInput = readonly [tone: Tone, light: number, dark: number] type PaletteTokensInputMap (line 50) | type PaletteTokensInputMap = Record constant COLOR_TOKENS_GENERATION_MAP (line 52) | const COLOR_TOKENS_GENERATION_MAP: PaletteTokensInputMap = { constant COLOR_TOKENS_GENERATION_ENTRIES (line 90) | const COLOR_TOKENS_GENERATION_ENTRIES = Object.entries(COLOR_TOKENS_GENE... type TonalPalette (line 99) | interface TonalPalette { type ThemeEntry (line 103) | type ThemeEntry = [key: PaletteToken, hexValue: string] FILE: src/lib/view-transitions.svelte.ts type AppViewTransitionType (line 8) | type AppViewTransitionType = 'regular' | 'player' | 'library' | 'disabled' type AppViewTransitionTypeMatcherResult (line 10) | type AppViewTransitionTypeMatcherResult = { type AppViewTransitionTypeMatcher (line 15) | type AppViewTransitionTypeMatcher = ( type ViewTransitionReadyListener (line 29) | type ViewTransitionReadyListener = ( FILE: src/params/libraryEntities.ts type LibraryEntitiesSlug (line 2) | type LibraryEntitiesSlug = (typeof libraryEntitiesSlugs)[number] FILE: src/routes/(app)/(plain)/settings/+page.ts type DirectoryWithCount (line 5) | type DirectoryWithCount = { count: number } & ( type LoadResult (line 54) | interface LoadResult { FILE: src/routes/(app)/layout/setup-directories-permission-prompt.svelte.ts type DirectoryNeedingPermission (line 3) | interface DirectoryNeedingPermission { type DirectoriesPermissionPromptSnackbarArg (line 8) | interface DirectoriesPermissionPromptSnackbarArg { FILE: src/routes/(app)/library/[[slug=libraryEntities]]/+layout.ts type LoadDataResult (line 21) | type LoadDataResult = { type LoadResult (line 68) | type LoadResult = LoadDataResult & { FILE: src/routes/(app)/library/[[slug=libraryEntities]]/[uuid]/+page.ts type DetailsSlug (line 14) | type DetailsSlug = Exclude type TracksQueryRegularResult (line 42) | interface TracksQueryRegularResult { type PlaylistTrackItem (line 80) | interface PlaylistTrackItem { type PlaylistTracksQueryResult (line 85) | interface PlaylistTracksQueryResult { type LoadResult (line 128) | interface LoadResult { FILE: src/routes/(app)/library/[[slug=libraryEntities]]/config.ts type LibrarySearchFn (line 5) | type LibrarySearchFn = (value: Value, searchTerm: string) => boolean type SortOption (line 7) | interface SortOption { type LibraryRouteConfig (line 12) | interface LibraryRouteConfig { type LibraryRouteConfigsMap (line 103) | type LibraryRouteConfigsMap = { FILE: src/routes/(app)/library/[[slug=libraryEntities]]/store.svelte.ts class LibraryStore (line 5) | class LibraryStore { method constructor (line 12) | constructor(slug: Slug) { FILE: src/routes/(app)/player/+layout.ts type LoadResult (line 7) | interface LoadResult { FILE: src/routes/(app)/player/layout-props.ts type LayoutProps (line 20) | interface LayoutProps { FILE: src/routes/+layout.ts method onNeedRefresh (line 27) | onNeedRefresh(update) { FILE: src/server/theme-colors.ts constant THEME_PALLETTE_LIGHT (line 5) | const THEME_PALLETTE_LIGHT = {} as Record constant THEME_PALLETTE_DARK (line 8) | const THEME_PALLETTE_DARK = {} as Record FILE: src/service-worker.ts constant CACHE (line 10) | const CACHE = `cache-${version}` constant ASSETS (line 11) | const ASSETS = [...build, ...files, ...prerendered, PUBLIC_FALLBACK_PAGE] function addFilesToCache (line 15) | async function addFilesToCache() { function deleteOldCaches (line 27) | async function deleteOldCaches() { function respond (line 59) | async function respond() { FILE: vite.config.ts method config (line 83) | config(config) {