SYMBOL INDEX (262 symbols across 41 files) FILE: bin/builders/BaseBuilder.ts method constructor (line 25) | protected constructor(options: PakeAppOptions) { method getBuildEnvironment (line 29) | private getBuildEnvironment() { method getInstallTimeout (line 39) | private getInstallTimeout(): number { method getBuildTimeout (line 44) | private getBuildTimeout(): number { method detectPackageManager (line 48) | private async detectPackageManager(): Promise { method prepare (line 74) | async prepare() { method build (line 192) | async build(url: string) { method start (line 196) | async start(url: string) { method buildAndCopy (line 218) | async buildAndCopy(url: string, target: string) { method installAppToApplications (line 309) | private async installAppToApplications( method getFileType (line 332) | protected getFileType(target: string): string { method isLinuxDeployStripError (line 338) | private isLinuxDeployStripError(error: unknown): boolean { method resolveTargetArch (line 383) | protected resolveTargetArch(requestedArch?: string): string { method getTauriTarget (line 393) | protected getTauriTarget( method getArchDisplayName (line 405) | protected getArchDisplayName(arch: string): string { method buildBaseCommand (line 412) | protected buildBaseCommand( method getBuildFeatures (line 440) | protected getBuildFeatures(): string[] { method getBuildCommand (line 454) | protected getBuildCommand(packageManager: string = 'pnpm'): string { method getMacOSMajorVersion (line 479) | protected getMacOSMajorVersion(): number { method getBasePath (line 490) | protected getBasePath(): string { method getBuildAppPath (line 495) | protected getBuildAppPath( method copyRawBinary (line 514) | protected async copyRawBinary( method getRawBinarySourcePath (line 535) | protected getRawBinarySourcePath( method getRawBinaryPath (line 558) | protected getRawBinaryPath(appName: string): string { method getBinaryName (line 567) | protected getBinaryName(appName: string): string { method hasArchSpecificTarget (line 581) | protected hasArchSpecificTarget(): boolean { method getArchSpecificPath (line 588) | protected getArchSpecificPath(): string { FILE: bin/builders/BuilderProvider.ts class BuilderProvider (line 18) | class BuilderProvider { method create (line 19) | static create(options: PakeAppOptions): BaseBuilder { FILE: bin/builders/LinuxBuilder.ts class LinuxBuilder (line 6) | class LinuxBuilder extends BaseBuilder { method constructor (line 11) | constructor(options: PakeAppOptions) { method getFileName (line 26) | getFileName() { method build (line 57) | async build(url: string) { method buildAndCopy (line 72) | async buildAndCopy(url: string, target: string) { method getBuildCommand (line 77) | protected getBuildCommand(packageManager: string = 'pnpm'): string { method getBasePath (line 115) | protected getBasePath(): string { method getFileType (line 126) | protected getFileType(target: string): string { method hasArchSpecificTarget (line 133) | protected hasArchSpecificTarget(): boolean { method getArchSpecificPath (line 137) | protected getArchSpecificPath(): string { FILE: bin/builders/MacBuilder.ts class MacBuilder (line 6) | class MacBuilder extends BaseBuilder { method constructor (line 10) | constructor(options: PakeAppOptions) { method getFileName (line 31) | getFileName(): string { method getActualArch (line 51) | private getActualArch(): string { method getBuildCommand (line 62) | protected getBuildCommand(packageManager: string = 'pnpm'): string { method getBasePath (line 85) | protected getBasePath(): string { method hasArchSpecificTarget (line 93) | protected hasArchSpecificTarget(): boolean { method getArchSpecificPath (line 97) | protected getArchSpecificPath(): string { FILE: bin/builders/WinBuilder.ts class WinBuilder (line 6) | class WinBuilder extends BaseBuilder { method constructor (line 10) | constructor(options: PakeAppOptions) { method getFileName (line 19) | getFileName(): string { method getBuildCommand (line 26) | protected getBuildCommand(packageManager: string = 'pnpm'): string { method getBasePath (line 50) | protected getBasePath(): string { method hasArchSpecificTarget (line 56) | protected hasArchSpecificTarget(): boolean { method getArchSpecificPath (line 60) | protected getArchSpecificPath(): string { FILE: bin/cli.ts function checkUpdateTips (line 11) | async function checkUpdateTips() { FILE: bin/defaults.ts constant DEFAULT_PAKE_OPTIONS (line 3) | const DEFAULT_PAKE_OPTIONS: PakeCliOptions = { constant DEFAULT_DEV_PAKE_OPTIONS (line 59) | const DEFAULT_DEV_PAKE_OPTIONS: PakeCliOptions & { url: string } = { FILE: bin/helpers/cli-program.ts function getCliProgram (line 10) | function getCliProgram() { FILE: bin/helpers/merge.ts function mergeConfig (line 15) | async function mergeConfig( FILE: bin/helpers/rust.ts function normalizePathForComparison (line 12) | function normalizePathForComparison(targetPath: string) { function getCargoHomeCandidates (line 17) | function getCargoHomeCandidates(): string[] { function ensureCargoBinOnPath (line 32) | function ensureCargoBinOnPath() { function ensureRustEnv (line 66) | function ensureRustEnv() { function installRust (line 70) | async function installRust() { function checkRustInstalled (line 100) | function checkRustInstalled() { FILE: bin/options/icon.ts type PlatformIconConfig (line 16) | type PlatformIconConfig = { constant ICON_CONFIG (line 21) | const ICON_CONFIG = { constant PLATFORM_CONFIG (line 32) | const PLATFORM_CONFIG: Record<'win' | 'linux' | 'macos', PlatformIconCon... constant API_KEYS (line 38) | const API_KEYS = { function generateIconPath (line 48) | function generateIconPath(appName: string, isDefault = false): string { function getIconBaseName (line 61) | function getIconBaseName(appName: string): string { function copyWindowsIconIfNeeded (line 68) | async function copyWindowsIconIfNeeded( function preprocessIcon (line 100) | async function preprocessIcon(inputPath: string): Promise { function applyMacOSMask (line 132) | async function applyMacOSMask(inputPath: string): Promise { function convertIconFormat (line 186) | async function convertIconFormat( function processIcon (line 257) | async function processIcon( function getDefaultIcon (line 286) | async function getDefaultIcon(): Promise { function handleIcon (line 336) | async function handleIcon( function generateIconServiceUrls (line 378) | function generateIconServiceUrls(domain: string): string[] { function tryGetFavicon (line 404) | async function tryGetFavicon( function downloadIcon (line 461) | async function downloadIcon( function saveIconFile (line 518) | async function saveIconFile( FILE: bin/options/index.ts function resolveAppName (line 15) | function resolveAppName(name: string, platform: NodeJS.Platform): string { function resolveLocalAppName (line 20) | function resolveLocalAppName( function isValidName (line 36) | function isValidName(name: string, platform: NodeJS.Platform): boolean { function handleOptions (line 45) | async function handleOptions( FILE: bin/options/logger.ts method info (line 5) | info(...msg: any[]) { method debug (line 8) | debug(...msg: any[]) { method error (line 11) | error(...msg: any[]) { method warn (line 14) | warn(...msg: any[]) { method success (line 17) | success(...msg: any[]) { FILE: bin/types.ts type PlatformMap (line 1) | interface PlatformMap { type PakeCliOptions (line 5) | interface PakeCliOptions { type PakeAppOptions (line 140) | interface PakeAppOptions extends PakeCliOptions { type PlatformSpecific (line 144) | interface PlatformSpecific { type WindowConfig (line 150) | interface WindowConfig { type PakeConfig (line 178) | interface PakeConfig { FILE: bin/utils/combine.ts function combineFiles (line 3) | async function combineFiles(files: string[], output: string) { FILE: bin/utils/ico.ts constant ICO_HEADER_SIZE (line 4) | const ICO_HEADER_SIZE = 6; constant ICO_DIR_ENTRY_SIZE (line 5) | const ICO_DIR_ENTRY_SIZE = 16; constant ICO_TYPE_ICON (line 6) | const ICO_TYPE_ICON = 1; type IcoEntry (line 8) | type IcoEntry = { function decodeDimension (line 19) | function decodeDimension(value: number): number { function compareByPreferredSize (line 23) | function compareByPreferredSize( function parseIcoBuffer (line 49) | function parseIcoBuffer(buffer: Buffer): IcoEntry[] { function buildReorderedIcoBuffer (line 96) | function buildReorderedIcoBuffer( function writeIcoWithPreferredSize (line 129) | async function writeIcoWithPreferredSize( FILE: bin/utils/info.ts function getIdentifier (line 10) | function getIdentifier(url: string, name?: string) { function resolveIdentifier (line 20) | function resolveIdentifier( function promptText (line 33) | async function promptText( function capitalizeFirstLetter (line 46) | function capitalizeFirstLetter(string: string) { function getSpinner (line 50) | function getSpinner(text: string) { FILE: bin/utils/ip.ts function isChinaDomain (line 36) | async function isChinaDomain(domain: string): Promise { function isChinaIP (line 46) | async function isChinaIP(ip: string, domain: string): Promise { FILE: bin/utils/name.ts function generateSafeFilename (line 1) | function generateSafeFilename(name: string): string { function getSafeAppName (line 9) | function getSafeAppName(name: string): string { function generateLinuxPackageName (line 13) | function generateLinuxPackageName(name: string): string { function generateIdentifierSafeName (line 21) | function generateIdentifierSafeName(name: string): string { function generateWindowsFilename (line 46) | function generateWindowsFilename(name: string): string { function generateMacOSFilename (line 53) | function generateMacOSFilename(name: string): string { FILE: bin/utils/platform.ts constant IS_MAC (line 3) | const IS_MAC = platform === 'darwin'; constant IS_WIN (line 4) | const IS_WIN = platform === 'win32'; constant IS_LINUX (line 5) | const IS_LINUX = platform === 'linux'; FILE: bin/utils/shell.ts function shellExec (line 4) | async function shellExec( FILE: bin/utils/url.ts function getDomain (line 4) | function getDomain(inputUrl: string): string | null { function appendProtocol (line 22) | function appendProtocol(inputUrl: string): string { function normalizeUrl (line 32) | function normalizeUrl(urlToNormalize: string): string { FILE: bin/utils/validate.ts function validateNumberInput (line 5) | function validateNumberInput(value: string) { function validateUrlInput (line 13) | function validateUrlInput(url: string) { FILE: rollup.config.js method onwarn (line 41) | onwarn(warning, warn) { function pakeCliDevPlugin (line 74) | function pakeCliDevPlugin() { FILE: src-tauri/build.rs function main (line 1) | fn main() { FILE: src-tauri/src/app/config.rs type WindowConfig (line 4) | pub struct WindowConfig { function default_zoom (line 39) | fn default_zoom() -> u32 { type PlatformSpecific (line 44) | pub struct PlatformSpecific { function get (line 51) | pub const fn get(&self) -> &T { function copied (line 67) | pub const fn copied(&self) -> T { type UserAgent (line 72) | pub type UserAgent = PlatformSpecific; type FunctionON (line 73) | pub type FunctionON = PlatformSpecific; type PakeConfig (line 76) | pub struct PakeConfig { method show_system_tray (line 89) | pub fn show_system_tray(&self) -> bool { FILE: src-tauri/src/app/invoke.rs type DownloadFileParams (line 13) | pub struct DownloadFileParams { type BinaryDownloadParams (line 20) | pub struct BinaryDownloadParams { type NotificationParams (line 27) | pub struct NotificationParams { function download_file (line 34) | pub async fn download_file(app: AppHandle, params: DownloadFileParams) -... function download_file_by_binary (line 94) | pub async fn download_file_by_binary( function send_notification (line 135) | pub fn send_notification(app: AppHandle, params: NotificationParams) -> ... function update_theme_mode (line 148) | pub async fn update_theme_mode(app: AppHandle, mode: String) { function clear_cache_and_restart (line 169) | pub fn clear_cache_and_restart(app: AppHandle) -> Result<(), String> { FILE: src-tauri/src/app/menu.rs function get_menu (line 9) | pub fn get_menu(app: &AppHandle, allow_multi_window: bool) -> tauri... function app_menu (line 29) | fn app_menu(app: &AppHandle) -> tauri::Result> { function file_menu (line 48) | fn file_menu(app: &AppHandle, allow_multi_window: bool) -> tauri::R... function edit_menu (line 72) | fn edit_menu(app: &AppHandle) -> tauri::Result> { function view_menu (line 99) | fn view_menu(app: &AppHandle) -> tauri::Result> { function navigation_menu (line 143) | fn navigation_menu(app: &AppHandle) -> tauri::Result> { function window_menu (line 169) | fn window_menu(app: &AppHandle) -> tauri::Result> { function help_menu (line 186) | fn help_menu(app: &AppHandle, title: &str) -> tauri::Result Option { type MultiWindowState (line 28) | pub struct MultiWindowState { method new (line 35) | pub fn new(pake_config: PakeConfig, tauri_config: Config) -> Self { method next_window_label (line 43) | fn next_window_label(&self) -> String { function set_window (line 50) | pub fn set_window(app: &AppHandle, config: &PakeConfig, tauri_config: &C... function open_additional_window (line 54) | pub fn open_additional_window(app: &AppHandle) -> tauri::Result { function open_requested_window (line 67) | fn open_requested_window( function open_additional_window_safe (line 95) | pub fn open_additional_window_safe(app: &AppHandle) { function build_window_with_label (line 116) | fn build_window_with_label( function build_window (line 145) | fn build_window( FILE: src-tauri/src/inject/auth.js function matchesAuthUrl (line 4) | function matchesAuthUrl(url, baseUrl = window.location.href) { function isAuthLink (line 48) | function isAuthLink(url) { function isAuthPopup (line 53) | function isAuthPopup(url, name) { FILE: src-tauri/src/inject/component.js function pakeToast (line 3) | function pakeToast(msg) { function initFullscreenPolyfill (line 30) | function initFullscreenPolyfill() { FILE: src-tauri/src/inject/event.js function setZoom (line 13) | function setZoom(zoom) { function zoomCommon (line 31) | function zoomCommon(zoomChange) { function zoomIn (line 36) | function zoomIn() { function zoomOut (line 40) | function zoomOut() { function triggerPasteAsPlainText (line 46) | function triggerPasteAsPlainText() { function handleShortcut (line 54) | function handleShortcut(event) { constant DOWNLOADABLE_FILE_EXTENSIONS (line 61) | const DOWNLOADABLE_FILE_EXTENSIONS = { constant ALL_DOWNLOADABLE_EXTENSIONS (line 144) | const ALL_DOWNLOADABLE_EXTENSIONS = Object.values( constant PREVIEWABLE_MEDIA_EXTENSIONS (line 148) | const PREVIEWABLE_MEDIA_EXTENSIONS = [ constant DOWNLOAD_PATH_PATTERNS (line 176) | const DOWNLOAD_PATH_PATTERNS = [ function getUserLanguage (line 186) | function getUserLanguage() { function isChineseLanguage (line 190) | function isChineseLanguage(language = getUserLanguage()) { function showDownloadError (line 201) | function showDownloadError(filename) { function getExtension (line 216) | function getExtension(url) { function isPreviewableMedia (line 226) | function isPreviewableMedia(url) { function isDownloadableFile (line 232) | function isDownloadableFile(url) { function collectUrlToBlobs (line 328) | function collectUrlToBlobs() { function convertBlobUrlToBinary (line 338) | function convertBlobUrlToBinary(blobUrl) { function downloadFromDataUri (line 350) | function downloadFromDataUri(dataURI, filename) { function downloadFromBlobUrl (line 382) | function downloadFromBlobUrl(blobUrl, filename) { function detectDownloadByCreateAnchor (line 404) | function detectDownloadByCreateAnchor() { function getTheme (line 700) | function getTheme() { function getMenuStyles (line 707) | function getMenuStyles(theme = getTheme()) { function createContextMenu (line 728) | function createContextMenu() { function createMenuItem (line 752) | function createMenuItem(text, onClick, divider = false) { function showContextMenu (line 788) | function showContextMenu(x, y, items) { function hideContextMenu (line 815) | function hideContextMenu() { function downloadImage (line 822) | function downloadImage(imageUrl) { function getMediaInfo (line 863) | function getMediaInfo(target) { function buildMenuItems (line 904) | function buildMenuItems(type, data) { function setDefaultZoom (line 1034) | function setDefaultZoom() { function getFilenameFromUrl (line 1043) | function getFilenameFromUrl(url) { FILE: src-tauri/src/lib.rs constant WINDOW_SHOW_DELAY (line 12) | const WINDOW_SHOW_DELAY: u64 = 50; function run_app (line 24) | pub fn run_app() { function run (line 194) | pub fn run() { FILE: src-tauri/src/main.rs function main (line 6) | fn main() { FILE: src-tauri/src/util.rs function get_pake_config (line 6) | pub fn get_pake_config() -> (PakeConfig, Config) { function get_data_dir (line 26) | pub fn get_data_dir(app: &AppHandle, package_name: String) -> PathBuf { function show_toast (line 42) | pub fn show_toast(window: &WebviewWindow, message: &str) { type MessageType (line 47) | pub enum MessageType { function get_download_message_with_lang (line 53) | pub fn get_download_message_with_lang( function check_file_or_append (line 105) | pub fn check_file_or_append(file_path: &str) -> String { FILE: tests/config.js constant PROJECT_ROOT (line 12) | const PROJECT_ROOT = path.dirname(__dirname); constant CLI_PATH (line 13) | const CLI_PATH = path.join(PROJECT_ROOT, "dist/cli.js"); constant TIMEOUTS (line 16) | const TIMEOUTS = { constant TEST_URLS (line 23) | const TEST_URLS = { constant TEST_ASSETS (line 33) | const TEST_ASSETS = { constant TEST_NAMES (line 39) | const TEST_NAMES = { constant PLATFORM_EXTENSIONS (line 49) | const PLATFORM_EXTENSIONS = { FILE: tests/index.js class PakeTestRunner (line 16) | class PakeTestRunner { method constructor (line 17) | constructor() { method runAll (line 23) | async runAll(options = {}) { method validateEnvironment (line 124) | validateEnvironment() { method runTest (line 157) | async runTest(name, testFn, timeout = TIMEOUTS.MEDIUM) { method runCliHealthChecks (line 185) | async runCliHealthChecks() { method runIntegrationTests (line 267) | async runIntegrationTests() { method runBuilderTests (line 323) | async runBuilderTests() { method runPakeCliTests (line 356) | async runPakeCliTests() { method runE2ETests (line 430) | async runE2ETests() { method runProxyTest (line 632) | async runProxyTest() { method runLocalFileTest (line 650) | async runLocalFileTest() { method runRealBuildTest (line 674) | async runRealBuildTest() { method runMultiArchBuildTest (line 918) | async runMultiArchBuildTest() { method findBuildOutputFiles (line 1120) | findBuildOutputFiles(testName, platform) { method debugBuildDirectories (line 1286) | debugBuildDirectories() { method listTargetContents (line 1328) | listTargetContents(targetDir, maxDepth = 3, currentDepth = 0) { method trackTempFile (line 1371) | trackTempFile(filepath) { method trackTempDir (line 1375) | trackTempDir(dirpath) { method cleanupTempIcons (line 1379) | cleanupTempIcons() { method cleanup (line 1404) | cleanup() { method displayFinalResults (line 1477) | displayFinalResults() { FILE: tests/release.js constant GREEN (line 15) | const GREEN = "\x1b[32m"; constant YELLOW (line 16) | const YELLOW = "\x1b[33m"; constant BLUE (line 17) | const BLUE = "\x1b[34m"; constant RED (line 18) | const RED = "\x1b[31m"; constant TEST_APPS (line 22) | const TEST_APPS = ["weread", "twitter"]; class ReleaseBuildTest (line 24) | class ReleaseBuildTest { method constructor (line 25) | constructor() { method log (line 29) | log(level, message) { method getAppConfig (line 35) | async getAppConfig(appName) { method buildApp (line 49) | async buildApp(appName) { method findOutputFiles (line 97) | findOutputFiles(appName) { method run (line 173) | async run(options = {}) { FILE: tests/unit/builders.test.ts function parseAndFilterTargets (line 11) | function parseAndFilterTargets(targetsString: string): string[] { FILE: tests/unit/file-finding.test.js function findFilesByPattern (line 32) | function findFilesByPattern(dir, pattern) { function findInMultipleLocations (line 157) | function findInMultipleLocations(locations) {