SYMBOL INDEX (192 symbols across 23 files) FILE: src/app.d.ts type EventPayload (line 3) | type EventPayload = { type CallbackArgs (line 13) | type CallbackArgs = { type EventOptions (line 17) | type EventOptions = { type Window (line 29) | interface Window { type PlausibleInitOptions (line 39) | type PlausibleInitOptions = { type PlausibleEventData (line 64) | type PlausibleEventData = { type PlausibleOptions (line 85) | type PlausibleOptions = PlausibleInitOptions & PlausibleEventData; type TrackEvent (line 109) | type TrackEvent = ( type TrackPageview (line 131) | type TrackPageview = ( type Cleanup (line 139) | type Cleanup = () => void; type EnableAutoPageviews (line 168) | type EnableAutoPageviews = () => Cleanup; type EnableAutoOutboundTracking (line 201) | type EnableAutoOutboundTracking = ( type HTMLAttributes (line 256) | interface HTMLAttributes { FILE: src/lib/converters/converter.svelte.ts type WorkerStatus (line 3) | type WorkerStatus = "not-ready" | "downloading" | "ready" | "error"; class FormatInfo (line 5) | class FormatInfo { method constructor (line 8) | constructor( class Converter (line 28) | class Converter { method constructor (line 43) | constructor(public readonly timeout: number = 10) { method startTimeout (line 47) | private startTimeout() { method clearTimeout (line 53) | protected clearTimeout() { method convert (line 65) | public async convert( method cancel (line 81) | public async cancel(input: VertFile): Promise { method valid (line 85) | public async valid(): Promise { method formatStrings (line 89) | public formatStrings(predicate?: (f: FormatInfo) => boolean) { FILE: src/lib/converters/ffmpeg.svelte.ts class FFmpegConverter (line 36) | class FFmpegConverter extends Converter { method constructor (line 78) | constructor() { method convert (line 108) | public async convert(input: VertFile, to: string): Promise { method cancel (line 193) | public async cancel(input: VertFile): Promise { method setupFFmpeg (line 212) | private async setupFFmpeg(input: VertFile): Promise { method detectAudioBitrate (line 233) | private async detectAudioBitrate(ffmpeg: FFmpeg): Promise { method tryExtractAlbumArt (line 578) | private async tryExtractAlbumArt( constant CONVERSION_BITRATES (line 701) | const CONVERSION_BITRATES = [ type ConversionBitrate (line 711) | type ConversionBitrate = (typeof CONVERSION_BITRATES)[number]; constant SAMPLE_RATES (line 713) | const SAMPLE_RATES = [ type SampleRate (line 724) | type SampleRate = (typeof SAMPLE_RATES)[number]; FILE: src/lib/converters/index.ts function getConverterByFormat (line 25) | function getConverterByFormat(format: string) { FILE: src/lib/converters/magick.svelte.ts class MagickConverter (line 12) | class MagickConverter extends Converter { method constructor (line 82) | constructor() { method initializeWasm (line 89) | private async initializeWasm() { method convert (line 115) | public async convert( method cancel (line 235) | public async cancel(input: VertFile): Promise { method waitForMessage (line 255) | private waitForMessage(worker: Worker, type?: string): Promise { method svgToImage (line 284) | private async svgToImage(input: VertFile): Promise { FILE: src/lib/converters/pandoc.svelte.ts class PandocConverter (line 9) | class PandocConverter extends Converter { method constructor (line 16) | constructor() { method convert (line 41) | public async convert(file: VertFile, to: string): Promise { method cancel (line 113) | public async cancel(input: VertFile): Promise { function waitForMessage (line 149) | function waitForMessage(worker: Worker, type?: string): Promise { FILE: src/lib/converters/vertd.svelte.ts type UploadResponse (line 10) | interface UploadResponse { type RouteRequestMap (line 19) | interface RouteRequestMap { type RouteResponseMap (line 26) | interface RouteResponseMap { type ConversionSpeed (line 74) | type ConversionSpeed = type StartJobMessage (line 82) | interface StartJobMessage { type ErrorMessage (line 93) | interface ErrorMessage { type ProgressMessage (line 100) | interface ProgressMessage { type CompletedMessage (line 105) | interface CompletedMessage { type CancelJobMessage (line 112) | interface CancelJobMessage { type JobCancelledMessage (line 120) | interface JobCancelledMessage { type FpsProgress (line 127) | interface FpsProgress { type FrameProgress (line 132) | interface FrameProgress { type ProgressData (line 137) | type ProgressData = FpsProgress | FrameProgress; type VertdMessage (line 139) | type VertdMessage = class VertdConverter (line 236) | class VertdConverter extends Converter { method constructor (line 284) | constructor() { method blocked (line 292) | private blocked(hash: string): boolean { method failure (line 321) | private failure(hash: string): void { method convert (line 338) | public async convert(input: VertFile, to: string): Promise { method cancel (line 444) | public async cancel(input: VertFile): Promise { method valid (line 477) | public async valid(): Promise { FILE: src/lib/sections/settings/index.svelte.ts type DefaultFormats (line 13) | interface DefaultFormats { type ISettings (line 19) | interface ISettings { class Settings (line 34) | class Settings { method save (line 57) | public save() { method load (line 62) | public load() { FILE: src/lib/sections/settings/vertdSettings.svelte.ts constant LOCATIONS (line 5) | const LOCATIONS = [ type VertdInner (line 34) | type VertdInner = class VertdInstance (line 40) | class VertdInstance { method save (line 49) | public save() { method load (line 53) | public load() { method innerData (line 74) | public innerData() { method set (line 78) | public set(inner: VertdInner) { method url (line 83) | public async url() { method geographicallyOptimalInstance (line 129) | private geographicallyOptimalInstance(ip: IpInfo) { FILE: src/lib/store/DialogProvider.ts type DialogType (line 4) | type DialogType = "success" | "error" | "info" | "warning"; type BaseDialog (line 6) | type BaseDialog = { type StringDialog (line 16) | type StringDialog = BaseDialog & { type ComponentDialog (line 20) | type ComponentDialog = BaseDialog & { type Dialog (line 25) | type Dialog = StringDialog | ComponentDialog; type DialogProps (line 27) | type DialogProps = { function addDialog (line 42) | function addDialog( function removeDialog (line 75) | function removeDialog(id: number) { FILE: src/lib/store/index.svelte.ts class Files (line 15) | class Files { method _generateThumbnailFromMedia (line 85) | private async _generateThumbnailFromMedia( method _handleZipFile (line 142) | private async _handleZipFile(file: File): Promise { method _add (line 238) | private async _add(file: VertFile | File) { method add (line 339) | public add( method convertAll (line 352) | public async convertAll() { method downloadAll (line 359) | public async downloadAll() { function setTheme (line 405) | function setTheme(themeTo: "light" | "dark") { function setEffects (line 423) | function setEffects(effectsEnabled: boolean) { function updateLocale (line 459) | function updateLocale(newLocale: string) { function link (line 470) | function link( function sanitize (line 503) | function sanitize( function findFirstPositive (line 531) | function findFirstPositive( constant MAX_ARRAY_BUFFER_SIZE (line 575) | const MAX_ARRAY_BUFFER_SIZE = getMaxArrayBufferSize(); FILE: src/lib/types/conversion-worker.ts type ConvertMessage (line 3) | interface ConvertMessage { type FinishedMessage (line 16) | interface FinishedMessage { type LoadMessage (line 22) | interface LoadMessage { type LoadedMessage (line 27) | interface LoadedMessage { type ReadyMessage (line 31) | interface ReadyMessage { type ErrorMessage (line 35) | interface ErrorMessage { type WorkerMessage (line 40) | type WorkerMessage = ( FILE: src/lib/types/file.svelte.ts class VertFile (line 8) | class VertFile { method from (line 12) | public get from() { method name (line 16) | public get name() { method findConverters (line 35) | public findConverters(supportedFormats: string[] = [this.from]) { method findConverter (line 46) | public findConverter() { method isLarge (line 71) | public isLarge(): boolean { method supportsStreaming (line 75) | public supportsStreaming(): boolean { method constructor (line 82) | constructor(file: File, to: string, blobUrl?: string) { method convert (line 99) | public async convert(...args: any[]) { method convertZip (line 123) | private async convertZip(converter: Converter): Promise { method cancel (line 212) | public async cancel() { method toastErr (line 226) | private toastErr(err: unknown) { method download (line 270) | public async download() { method hash (line 307) | public hash(): Promise { type Categories (line 342) | interface Categories { FILE: src/lib/types/util.ts type OmitBetterStrict (line 1) | type OmitBetterStrict = T extends unknown FILE: src/lib/util/animation.ts function initStores (line 15) | function initStores() { function fade (line 29) | function fade(node: HTMLElement, options: FadeParams) { function fly (line 35) | function fly(node: HTMLElement, options: FlyParams) { function is_function (line 42) | function is_function(thing: unknown): thing is Function { type Params (line 46) | type Params = FlipParams & {}; function flip (line 54) | function flip( FILE: src/lib/util/consts.ts constant GITHUB_URL_VERT (line 3) | const GITHUB_URL_VERT = "https://github.com/VERT-sh/VERT"; constant GITHUB_URL_VERTD (line 4) | const GITHUB_URL_VERTD = "https://github.com/VERT-sh/vertd"; constant GITHUB_API_URL (line 5) | const GITHUB_API_URL = "https://api.github.com/repos/VERT-sh/VERT"; constant DISCORD_URL (line 6) | const DISCORD_URL = "https://discord.gg/kqevGxYPak"; constant VERT_NAME (line 7) | const VERT_NAME = constant CONTACT_EMAIL (line 13) | const CONTACT_EMAIL = "hello@vert.sh"; constant DISABLE_ALL_EXTERNAL_REQUESTS (line 16) | const DISABLE_ALL_EXTERNAL_REQUESTS = FILE: src/lib/util/ip.ts type IpInfo (line 3) | interface IpInfo { FILE: src/lib/util/parse/ani.ts type Chunk (line 11) | type Chunk = { type AniMetadata (line 22) | type AniMetadata = { type ParsedAni (line 34) | type ParsedAni = { constant DWORD (line 43) | const DWORD = { bits: 32, be: false, signed: false, fp: false }; function parseAni (line 45) | function parseAni(arr: Uint8Array): ParsedAni { FILE: src/lib/util/sw.ts type CacheInfo (line 3) | interface CacheInfo { class ServiceWorkerManager (line 13) | class ServiceWorkerManager { method init (line 17) | async init(): Promise { method getCacheInfo (line 39) | async getCacheInfo(): Promise { method clearCache (line 65) | async clearCache(): Promise { method formatSize (line 94) | formatSize(bytes: number): string { FILE: src/lib/util/toast.svelte.ts type ToastType (line 3) | type ToastType = "success" | "error" | "info" | "warning"; type BaseToast (line 21) | type BaseToast = { type StringToast (line 32) | type StringToast = BaseToast & { type ComponentToast (line 36) | type ComponentToast = BaseToast & { type Toast (line 41) | type Toast = StringToast | ComponentToast; type ToastProps (line 43) | type ToastProps = Omit, "disappearing">; type ToastExports (line 45) | type ToastExports = { type ToastComponent (line 49) | type ToastComponent = Component, ToastExports>; type RecursivePartial (line 63) | type RecursivePartial = { type BaseToastOptions (line 71) | type BaseToastOptions = Omit, "id"> & { type StringToastOptions (line 75) | type StringToastOptions = BaseToastOptions & { type ComponentToastOptions (line 79) | type ComponentToastOptions = BaseToastOptions & { type ToastOptions (line 84) | type ToastOptions = class ToastState (line 149) | class ToastState { method add (line 153) | public add(toast: Toast) { method remove (line 157) | public remove(id: number) { method id (line 161) | public id(): number { method toasts (line 165) | public get toasts() { class ToastManager (line 170) | class ToastManager { method add (line 173) | public static add(toastOptions: ToastOptions): number { method remove (line 218) | public static remove(id: number) { method toasts (line 222) | public static get toasts() { FILE: src/lib/util/zip.ts type ZipEntry (line 5) | interface ZipEntry { function extractZip (line 10) | async function extractZip(file: File): Promise { function createZip (line 37) | async function createZip(files: File[]): Promise { function ignoreEntry (line 43) | function ignoreEntry(filename: string): boolean { FILE: src/lib/workers/pandoc.ts type Format (line 25) | type Format = function pandoc (line 123) | async function pandoc( type PandocEntries (line 335) | type PandocEntries = Map; type PandocFile (line 337) | interface PandocFile { type PandocFolder (line 342) | interface PandocFolder { type PandocFsEntry (line 347) | type PandocFsEntry = PandocFile | PandocFolder; FILE: static/sw.js constant CACHE_NAME (line 1) | const CACHE_NAME = "vert-wasm-cache-v2"; constant WASM_FILES (line 3) | const WASM_FILES = [ constant WASM_URL_PATTERNS (line 9) | const WASM_URL_PATTERNS = [ function shouldCacheUrl (line 15) | function shouldCacheUrl(url) {