SYMBOL INDEX (2436 symbols across 438 files) FILE: backend/boa_utils/src/console/mod.rs type LogMessage (line 29) | pub enum LogMessage { function logger (line 37) | fn logger(msg: LogMessage, console_state: &Console) { type Logger (line 50) | pub trait Logger { method log (line 52) | fn log(&mut self, msg: LogMessage, console_state: &Console); method take (line 53) | fn take(&mut self) -> Vec; type Item (line 61) | type Item = LogMessage; method log (line 62) | fn log(&mut self, msg: LogMessage, console_state: &Console) { method take (line 65) | fn take(&mut self) -> Vec { type ConsoleLogger (line 56) | pub trait LoggerBox = Logger + Sync + Send + 'static; function inspect_logger (line 74) | pub fn inspect_logger(f: impl FnOnce(&mut dyn LoggerBox) -> R) -> R { function set_logger (line 78) | pub fn set_logger(logger: Box) { function formatter (line 85) | fn formatter(data: &[JsValue], context: &mut Context) -> JsResult { type Console (line 158) | pub struct Console { constant NAME (line 166) | pub const NAME: JsStr<'static> = js_str!("console"); method init (line 170) | pub fn init(context: &mut Context) -> JsObject { method assert (line 298) | fn assert( method clear (line 341) | fn clear(_: &JsValue, _: &[JsValue], console: &mut Self, _: &mut Conte... method debug (line 356) | fn debug( method error (line 381) | fn error( method info (line 406) | fn info( method log (line 431) | fn log( method trace (line 456) | fn trace( method warn (line 499) | fn warn( method count (line 524) | fn count( method count_reset (line 558) | fn count_reset( method system_time_in_ms (line 580) | fn system_time_in_ms() -> u128 { method time (line 597) | fn time( method time_log (line 634) | fn time_log( method time_end (line 680) | fn time_end( method group (line 727) | fn group( method group_collapsed (line 756) | fn group_collapsed( method group_end (line 776) | fn group_end( method dir (line 798) | fn dir(_: &JsValue, args: &[JsValue], console: &Self, _: &mut Context)... FILE: backend/boa_utils/src/console/tests.rs function formatter_no_args_is_empty_string (line 7) | fn formatter_no_args_is_empty_string() { function formatter_empty_format_string_is_empty_string (line 14) | fn formatter_empty_format_string_is_empty_string() { function formatter_format_without_args_renders_verbatim (line 21) | fn formatter_format_without_args_renders_verbatim() { function formatter_empty_format_string_concatenates_rest_of_args (line 31) | fn formatter_empty_format_string_concatenates_rest_of_args() { function formatter_utf_8_checks (line 49) | fn formatter_utf_8_checks() { function formatter_trailing_format_leader_renders (line 68) | fn formatter_trailing_format_leader_renders() { function formatter_float_format_works (line 86) | fn formatter_float_format_works() { function console_log_cyclic (line 96) | fn console_log_cyclic() { FILE: backend/boa_utils/src/lib.rs type TestAction (line 71) | pub(crate) struct TestAction(Inner); method run (line 110) | pub(crate) fn run(source: impl Into>) -> Self { method inspect_context (line 119) | pub(crate) fn inspect_context(op: fn(&mut Context)) -> Self { type Inner (line 75) | enum Inner { function run_test_actions (line 126) | pub(crate) fn run_test_actions(actions: impl IntoIterator JsResult<()> { function test_builtin_utils (line 168) | fn test_builtin_utils() -> JsResult<()> { FILE: backend/boa_utils/src/module/builtin/utils.js function yaml (line 10) | function yaml(strings, ...values) { FILE: backend/boa_utils/src/module/combine.rs type CombineModuleLoader (line 8) | pub struct CombineModuleLoader { method new (line 15) | pub fn new( method clone_simple (line 26) | pub fn clone_simple(&self) -> Rc Rc { method load_imported_module (line 36) | async fn load_imported_module( FILE: backend/boa_utils/src/module/http.rs type HttpModuleLoader (line 21) | pub struct HttpModuleLoader { method new (line 36) | pub fn new(cache_dir: PathBuf, max_age: Duration) -> Self { method mapping_cache_dir (line 40) | fn mapping_cache_dir(&self, url: &url::Url) -> PathBuf { method handle_cached_item (line 56) | fn handle_cached_item(item: CachedItem, context: &mut Context) -> JsRe... type CachedItem (line 27) | pub struct CachedItem { method load_imported_module (line 84) | async fn load_imported_module( function test_http_module_loader (line 200) | fn test_http_module_loader() -> JsResult<()> { FILE: backend/nyanpasu-egui/src/ipc.rs type StatisticMessage (line 7) | pub struct StatisticMessage { type Message (line 15) | pub enum Message { type IPCServer (line 21) | pub struct IPCServer { method is_connected (line 27) | pub fn is_connected(&self) -> bool { method connect (line 31) | pub fn connect(&mut self) -> anyhow::Result<()> { method into_tx (line 41) | pub fn into_tx(self) -> Option> { function create_ipc_server (line 46) | pub fn create_ipc_server() -> anyhow::Result<(IPCServer, String)> { function setup_ipc_receiver (line 57) | pub(crate) fn setup_ipc_receiver(name: &str) -> anyhow::Result anyhow::Result eframe::Result { FILE: backend/nyanpasu-egui/src/small.rs function main (line 8) | fn main() -> eframe::Result { FILE: backend/nyanpasu-egui/src/utils/svg.rs function parse_svg_with_current_color_replace (line 7) | pub fn parse_svg_with_current_color_replace>( function render_svg (line 16) | pub fn render_svg(tree: &Tree, width: u32, height: u32) -> Result>( type SvgWrapper (line 37) | pub struct SvgWrapper<'a>(pub &'a Pixmap); function from (line 40) | fn from(pixmap: &'a Pixmap) -> Self { type SvgExt (line 46) | pub trait SvgExt { method into_wrapper (line 47) | fn into_wrapper(&self) -> SvgWrapper<'_>; method into_wrapper (line 51) | fn into_wrapper(&self) -> SvgWrapper<'_> { function into_egui_image (line 57) | pub fn into_egui_image(self) -> eframe::egui::ColorImage { FILE: backend/nyanpasu-egui/src/widget/mod.rs function get_window_state_path (line 9) | fn get_window_state_path() -> std::io::Result { function set_application_activation_policy (line 23) | fn set_application_activation_policy() { type StatisticWidgetVariant (line 58) | pub enum StatisticWidgetVariant { method fmt (line 64) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function start_statistic_widget (line 72) | pub fn start_statistic_widget(size: StatisticWidgetVariant) -> eframe::R... FILE: backend/nyanpasu-egui/src/widget/network_statistic_large.rs constant STATUS_ICON_CONTAINER_WIDTH (line 19) | const STATUS_ICON_CONTAINER_WIDTH: f32 = 20.0; constant STATUS_ICON_WIDTH (line 20) | const STATUS_ICON_WIDTH: f32 = 12.0; constant LOGO_CONTAINER_WIDTH (line 21) | const LOGO_CONTAINER_WIDTH: f32 = 44.0; constant LOGO_SIZE (line 22) | const LOGO_SIZE: Vec2 = Vec2::new(26.0, 31.0); constant GLOBAL_ALPHA (line 25) | const GLOBAL_ALPHA: u8 = 128; constant LIGHT_MODE_BACKGROUND_COLOR (line 26) | const LIGHT_MODE_BACKGROUND_COLOR: Color32 = constant DARK_MODE_TEXT_COLOR (line 28) | const DARK_MODE_TEXT_COLOR: Color32 = Color32::from_rgb(254, 247, 255); constant DARK_MODE_BACKGROUND_COLOR (line 29) | const DARK_MODE_BACKGROUND_COLOR: Color32 = constant DARK_MODE_STATUS_SHEET_COLOR (line 31) | const DARK_MODE_STATUS_SHEET_COLOR: Color32 = constant STATUS_ICON_CONTAINER_COLOR (line 33) | const STATUS_ICON_CONTAINER_COLOR: Color32 = Color32::from_rgb(79, 55, 1... constant DOWNLOAD_ICON (line 38) | const DOWNLOAD_ICON: &[u8] = include_bytes!("../../assets/download.svg"); constant UPLOAD_ICON (line 39) | const UPLOAD_ICON: &[u8] = include_bytes!("../../assets/upload.svg"); constant UP_ICON (line 40) | const UP_ICON: &[u8] = include_bytes!("../../assets/up.svg"); constant DOWN_ICON (line 41) | const DOWN_ICON: &[u8] = include_bytes!("../../assets/down.svg"); function setup_custom_style (line 43) | fn setup_custom_style(ctx: &egui::Context) { function setup_fonts (line 52) | fn setup_fonts(ctx: &egui::Context) { function use_global_styles (line 71) | fn use_global_styles(styles: &mut Style) { function use_light_green_accent (line 82) | fn use_light_green_accent(style: &mut Style) { function use_dark_purple_accent (line 93) | fn use_dark_purple_accent(style: &mut Style) { type LogoPreset (line 106) | pub enum LogoPreset { type NyanpasuNetworkStatisticLargeWidgetInner (line 114) | pub struct NyanpasuNetworkStatisticLargeWidgetInner { method request_repaint (line 127) | fn request_repaint(&self) { type NyanpasuNetworkStatisticLargeWidget (line 133) | pub struct NyanpasuNetworkStatisticLargeWidget { method new (line 138) | pub fn new(cc: &eframe::CreationContext<'_>) -> Self { method run (line 179) | pub fn run() -> eframe::Result { method handle_message (line 205) | pub fn handle_message(&self, msg: Message) -> anyhow::Result<()> { method clear_color (line 233) | fn clear_color(&self, _visuals: &egui::Visuals) -> [f32; 4] { method update (line 237) | fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) { FILE: backend/nyanpasu-egui/src/widget/network_statistic_small.rs constant STATUS_ICON_CONTAINER_WIDTH (line 13) | const STATUS_ICON_CONTAINER_WIDTH: f32 = 20.0; constant LOGO_CONTAINER_WIDTH (line 14) | const LOGO_CONTAINER_WIDTH: f32 = 44.0; constant LOGO_SIZE (line 15) | const LOGO_SIZE: Vec2 = Vec2::new(26.0, 31.0); constant GLOBAL_ALPHA (line 18) | const GLOBAL_ALPHA: u8 = 128; constant LIGHT_MODE_BACKGROUND_COLOR (line 19) | const LIGHT_MODE_BACKGROUND_COLOR: Color32 = Color32::from_rgb(234, 221,... constant LIGHT_MODE_TEXT_COLOR (line 20) | const LIGHT_MODE_TEXT_COLOR: Color32 = Color32::from_rgb(29, 27, 32); constant DARK_MODE_TEXT_COLOR (line 21) | const DARK_MODE_TEXT_COLOR: Color32 = Color32::from_rgb(254, 247, 255); constant DARK_MODE_BACKGROUND_COLOR (line 22) | const DARK_MODE_BACKGROUND_COLOR: Color32 = Color32::from_rgb(29, 27, 32); constant DARK_MODE_STATUS_SHEET_COLOR (line 23) | const DARK_MODE_STATUS_SHEET_COLOR: Color32 = Color32::from_rgb(73, 69, ... constant STATUS_ICON_CONTAINER_COLOR (line 24) | const STATUS_ICON_CONTAINER_COLOR: Color32 = Color32::from_rgb(79, 55, 1... constant UP_ICON (line 29) | const UP_ICON: &[u8] = include_bytes!("../../assets/up.svg"); constant DOWN_ICON (line 30) | const DOWN_ICON: &[u8] = include_bytes!("../../assets/down.svg"); function setup_custom_style (line 32) | fn setup_custom_style(ctx: &egui::Context) { function setup_fonts (line 37) | fn setup_fonts(ctx: &egui::Context) { function use_global_styles (line 56) | fn use_global_styles(styles: &mut Style) { function use_light_green_accent (line 62) | fn use_light_green_accent(style: &mut Style) { function use_dark_purple_accent (line 73) | fn use_dark_purple_accent(style: &mut Style) { type NyanpasuNetworkStatisticSmallWidget (line 85) | pub struct NyanpasuNetworkStatisticSmallWidget { method new (line 107) | pub fn new(cc: &eframe::CreationContext<'_>) -> Self { method run (line 144) | pub fn run() -> eframe::Result { method handle_message (line 171) | pub fn handle_message(&self, msg: Message) -> anyhow::Result<()> { method clear_color (line 198) | fn clear_color(&self, _visuals: &egui::Visuals) -> [f32; 4] { method update (line 202) | fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) { type NyanpasuNetworkStatisticSmallWidgetState (line 89) | struct NyanpasuNetworkStatisticSmallWidgetState { method request_repaint (line 101) | fn request_repaint(&self) { FILE: backend/nyanpasu-macro/src/builder_update.rs function builder_update (line 5) | pub fn builder_update(input: DeriveInput) -> syn::Result { function wrap_type_in_option (line 162) | fn wrap_type_in_option(ty: &Type) -> Type { FILE: backend/nyanpasu-macro/src/enum_wrapper_combined.rs function enum_combined_wrapper (line 5) | pub fn enum_combined_wrapper(input: DeriveInput) -> syn::Result TokenStream { function verge_patch (line 18) | pub fn verge_patch(input: TokenStream) -> TokenStream { function enum_wrapper_from (line 27) | pub fn enum_wrapper_from(input: TokenStream) -> TokenStream { FILE: backend/nyanpasu-macro/src/verge_patch.rs function verge_patch (line 5) | pub fn verge_patch(input: DeriveInput) -> Result { FILE: backend/tauri-plugin-deep-link/example/main.rs function main (line 5) | fn main() { FILE: backend/tauri-plugin-deep-link/src/lib.rs function set_identifier (line 21) | pub fn set_identifier(identifier: &str) -> Result<()> { function register (line 33) | pub fn register(scheme: &[&str], hand... function listen (line 42) | pub fn listen(handler: F) -> Result<(... function unregister (line 51) | pub fn unregister(scheme: &[&str]) -> Result<()> { function prepare (line 61) | pub fn prepare(identifier: &str) { FILE: backend/tauri-plugin-deep-link/src/linux.rs function register (line 12) | pub fn register(schemes: &[&str], han... function unregister (line 80) | pub fn unregister(_schemes: &[&str]) -> Result<()> { function listen (line 103) | pub fn listen(mut handler: F) -> Resu... function prepare (line 133) | pub fn prepare(identifier: &str) { FILE: backend/tauri-plugin-deep-link/src/macos.rs type THandler (line 18) | type THandler = OnceCell>>; function register (line 23) | pub fn register(_scheme: &[&str], han... function unregister (line 29) | pub fn unregister(_scheme: &[&str]) -> Result<()> { constant EVENT_CLASS (line 34) | const EVENT_CLASS: u32 = 0x4755524c; constant EVENT_GET_URL (line 36) | const EVENT_GET_URL: u32 = 0x4755524c; function parse_url_event (line 39) | fn parse_url_event(event: *mut AnyObject) -> Option { method new (line 77) | pub fn new() -> Retained { function secondary_handler (line 84) | fn secondary_handler(s: String) { function listen (line 101) | pub fn listen(handler: F) -> Result<(... function prepare (line 176) | pub fn prepare(identifier: &str) { FILE: backend/tauri-plugin-deep-link/src/windows.rs function register (line 28) | pub fn register(schemes: &[&str], han... function unregister (line 61) | pub fn unregister(schemes: &[&str]) -> Result<()> { function listen (line 74) | pub fn listen(mut handler: F) -> Resu... function prepare (line 137) | pub fn prepare(identifier: &str) { function dummy_keypress (line 206) | fn dummy_keypress() { FILE: backend/tauri/build.rs type PackageJson (line 10) | struct PackageJson { type GitInfo (line 15) | struct GitInfo { function main (line 21) | fn main() { FILE: backend/tauri/src/cmds/migrate.rs type MigrateOpts (line 10) | pub struct MigrateOpts { function is_fresh_install_instance (line 28) | fn is_fresh_install_instance() -> bool { function parse (line 38) | pub fn parse(args: &MigrateOpts) { function migrate_home_dir_handler (line 111) | pub fn migrate_home_dir_handler(target_path: &str) -> anyhow::Result<()> { function migrate_home_dir_handler (line 186) | pub fn migrate_home_dir_handler(_target_path: &str) -> anyhow::Result<()> { FILE: backend/tauri/src/cmds/mod.rs type Cli (line 15) | pub struct Cli { type Commands (line 26) | enum Commands { type DelayedExitGuard (line 45) | struct DelayedExitGuard; method new (line 47) | pub fn new() -> Self { method drop (line 52) | fn drop(&mut self) { function parse (line 57) | pub fn parse() -> anyhow::Result<()> { function print_version_info (line 108) | fn print_version_info() { FILE: backend/tauri/src/config/clash/mod.rs type IClashTemp (line 18) | pub struct IClashTemp(pub Mapping); method new (line 21) | pub fn new() -> Self { method template (line 31) | pub fn template() -> Self { method guard (line 55) | fn guard(mut config: Mapping) -> Mapping { method patch_config (line 64) | pub fn patch_config(&mut self, patch: Mapping) { method save_config (line 70) | pub fn save_config(&self) -> Result<()> { method get_mixed_port (line 78) | pub fn get_mixed_port(&self) -> u16 { method get_client_info (line 82) | pub fn get_client_info(&self) -> ClashInfo { method get_external_controller_port (line 98) | pub fn get_external_controller_port(&self) -> u16 { method prepare_external_controller_port (line 105) | pub fn prepare_external_controller_port(&mut self) -> Result<()> { method guard_mixed_port (line 123) | pub fn guard_mixed_port(config: &Mapping) -> u16 { method guard_server_ctrl (line 138) | pub fn guard_server_ctrl(config: &Mapping) -> String { method guard_client_ctrl (line 159) | pub fn guard_client_ctrl(config: &Mapping) -> String { method get_tun_device_ip (line 173) | pub fn get_tun_device_ip(&self) -> String { type ClashInfo (line 195) | pub struct ClashInfo { function test_clash_info (line 205) | fn test_clash_info() { type IClash (line 269) | pub struct IClash { type IClashTUN (line 284) | pub struct IClashTUN { type IClashDNS (line 294) | pub struct IClashDNS { type IClashFallbackFilter (line 310) | pub struct IClashFallbackFilter { FILE: backend/tauri/src/config/core.rs constant RUNTIME_CONFIG (line 12) | pub const RUNTIME_CONFIG: &str = "clash-config.yaml"; constant CHECK_CONFIG (line 13) | pub const CHECK_CONFIG: &str = "clash-config-check.yaml"; type Config (line 15) | pub struct Config { method global (line 23) | pub fn global() -> &'static Config { method clash (line 34) | pub fn clash() -> Draft { method verge (line 38) | pub fn verge() -> Draft { method profiles (line 42) | pub fn profiles() -> &'static ManagedState { method runtime (line 46) | pub fn runtime() -> Draft { method init_config (line 51) | pub fn init_config() -> Result<()> { method generate_file (line 70) | pub fn generate_file(typ: ConfigType) -> Result { method generate (line 88) | pub async fn generate() -> Result<()> { type ConfigType (line 102) | pub enum ConfigType { FILE: backend/tauri/src/config/draft.rs type Draft (line 6) | pub struct Draft { function reload (line 74) | pub fn reload(&self) { function test_draft (line 83) | fn test_draft() { FILE: backend/tauri/src/config/nyanpasu/clash_strategy.rs type ClashStrategy (line 5) | pub struct ClashStrategy { type ExternalControllerPortStrategy (line 11) | pub enum ExternalControllerPortStrategy { function get_external_controller_port_strategy (line 19) | pub fn get_external_controller_port_strategy(&self) -> ExternalControlle... FILE: backend/tauri/src/config/nyanpasu/logging.rs type LoggingLevel (line 8) | pub enum LoggingLevel { method default (line 25) | fn default() -> Self { method default (line 30) | fn default() -> Self { function from (line 36) | fn from(level: LoggingLevel) -> Self { method get_log_level (line 49) | pub fn get_log_level(&self) -> LoggingLevel { FILE: backend/tauri/src/config/nyanpasu/mod.rs function is_hex_color (line 10) | pub fn is_hex_color(color: &str) -> bool { type ClashCore (line 30) | pub enum ClashCore { method fmt (line 65) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Error (line 99) | type Error = anyhow::Error; method try_from (line 101) | fn try_from(core: &nyanpasu_utils::core::CoreType) -> Result { method default (line 44) | fn default() -> Self { method from (line 53) | fn from(core: ClashCore) -> Self { function from (line 77) | fn from(core: &ClashCore) -> Self { type ProxiesSelectorMode (line 117) | pub enum ProxiesSelectorMode { type TunStack (line 126) | pub enum TunStack { method as_ref (line 134) | fn as_ref(&self) -> &str { type BreakWhenProxyChange (line 145) | pub enum BreakWhenProxyChange { type IVerge (line 156) | pub struct IVerge { method new (line 316) | pub fn new() -> Self { method merge_with_template (line 336) | fn merge_with_template(mut config: IVerge) -> Self { method template (line 392) | pub fn template() -> Self { method save_file (line 430) | pub fn save_file(&self) -> Result<()> { type WindowState (line 306) | pub struct WindowState { FILE: backend/tauri/src/config/nyanpasu/widget.rs type NetworkStatisticWidgetConfig (line 8) | pub enum NetworkStatisticWidgetConfig { FILE: backend/tauri/src/config/profile/builder.rs type ProfileBuilder (line 9) | pub enum ProfileBuilder { method build (line 29) | pub fn build(self) -> Result { type ProfileBuilderError (line 17) | pub enum ProfileBuilderError { FILE: backend/tauri/src/config/profile/item/local.rs constant PROFILE_TYPE (line 16) | const PROFILE_TYPE: ProfileItemType = ProfileItemType::Local; type LocalProfile (line 26) | pub struct LocalProfile { method builder (line 48) | pub fn builder() -> LocalProfileBuilder { method kind (line 57) | fn kind(&self) -> ProfileItemType { FILE: backend/tauri/src/config/profile/item/merge.rs constant PROFILE_TYPE (line 13) | const PROFILE_TYPE: ProfileItemType = ProfileItemType::Merge; type MergeProfile (line 23) | pub struct MergeProfile { method builder (line 35) | pub fn builder() -> MergeProfileBuilder { method kind (line 44) | fn kind(&self) -> ProfileItemType { FILE: backend/tauri/src/config/profile/item/mod.rs type ProfileMetaSetter (line 27) | trait ProfileMetaSetter { method set_uid (line 28) | fn set_uid(&mut self, uid: String); method set_name (line 29) | fn set_name(&mut self, name: String); method set_desc (line 30) | fn set_desc(&mut self, desc: Option); method set_file (line 31) | fn set_file(&mut self, file: String); method set_updated (line 32) | fn set_updated(&mut self, updated: usize); type ProfileMetaGetter (line 39) | pub trait ProfileMetaGetter { method name (line 40) | fn name(&self) -> &str; method desc (line 41) | fn desc(&self) -> Option<&str>; method uid (line 42) | fn uid(&self) -> &str; method updated (line 43) | fn updated(&self) -> usize; method file (line 44) | fn file(&self) -> &str; type ProfileKindGetter (line 48) | pub trait ProfileKindGetter { method kind (line 49) | fn kind(&self) -> ProfileItemType; type ProfileHelper (line 54) | pub trait ProfileHelper: method duplicate (line 57) | async fn duplicate(&self) -> Result { type ProfileCleanup (line 77) | pub trait ProfileCleanup: ProfileHelper { method remove_file (line 80) | async fn remove_file(&mut self) -> Result<()> { type Profile (line 96) | pub enum Profile { method file (line 113) | pub fn file(&self) -> &str { method read_file (line 123) | pub fn read_file(&self) -> Result { method save_file (line 133) | pub fn save_file>(&self, data: T) -> Result<()> { FILE: backend/tauri/src/config/profile/item/remote.rs constant PROFILE_TYPE (line 26) | const PROFILE_TYPE: ProfileItemType = ProfileItemType::Remote; type RemoteProfileSubscription (line 28) | pub trait RemoteProfileSubscription { method subscribe (line 29) | async fn subscribe(&mut self, opts: Option RemoteProfileBuilder { method kind (line 80) | fn kind(&self) -> ProfileItemType { type Subscription (line 108) | struct Subscription { function subscribe_url (line 118) | async fn subscribe_url( function subscribe_urls (line 259) | async fn subscribe_urls( function merge_subscription (line 285) | fn merge_subscription( type SubscribeError (line 304) | pub enum SubscribeError { type RemoteProfileBuilderError (line 327) | pub enum RemoteProfileBuilderError { method default_shared (line 340) | fn default_shared(&self) -> ProfileSharedBuilder { method validate (line 344) | fn validate(&self) -> Result<(), RemoteProfileBuilderError> { method build_no_blocking (line 354) | pub async fn build_no_blocking(&mut self) -> Result Result Self { method default (line 440) | fn default() -> Self { function parse_profile_title_header (line 471) | pub fn parse_profile_title_header(headers: &HeaderMap) -> Option { function parse_filename_from_content_disposition (line 488) | pub fn parse_filename_from_content_disposition(headers: &HeaderMap) -> O... FILE: backend/tauri/src/config/profile/item/script.rs type ScriptProfile (line 23) | pub struct ScriptProfile { method builder (line 53) | pub fn builder(script_type: &ScriptType) -> ScriptProfileBuilder { method build_shared (line 33) | fn build_shared(&self) -> Result ProfileItemType { FILE: backend/tauri/src/config/profile/item/shared.rs type ProfileFileIo (line 15) | pub trait ProfileFileIo { method read_file (line 16) | async fn read_file(&self) -> std::io::Result; method write_file (line 17) | async fn write_file(&self, content: String) -> std::io::Result<()>; method read_file (line 59) | async fn read_file(&self) -> std::io::Result { method write_file (line 65) | async fn write_file(&self, content: String) -> std::io::Result<()> { type ProfileShared (line 26) | pub struct ProfileShared { method get_default_builder (line 48) | pub fn get_default_builder(kind: &ProfileItemType) -> ProfileSharedBui... method builder (line 146) | pub fn builder() -> ProfileSharedBuilder { method default_uid (line 79) | fn default_uid(kind: &ProfileItemType) -> String { method default_name (line 83) | pub fn default_name(kind: &ProfileItemType) -> &'static str { method default_file_name (line 92) | pub fn default_file_name(kind: &ProfileItemType, uid: &str) -> String { method apply_default_file (line 102) | pub fn apply_default_file( method is_file_none (line 114) | pub fn is_file_none(&self) -> bool { method build (line 118) | pub fn build( method name (line 152) | fn name(&self) -> &str { method desc (line 156) | fn desc(&self) -> Option<&str> { method uid (line 160) | fn uid(&self) -> &str { method updated (line 164) | fn updated(&self) -> usize { method file (line 168) | fn file(&self) -> &str { method set_name (line 174) | fn set_name(&mut self, name: String) { method set_desc (line 178) | fn set_desc(&mut self, desc: Option) { method set_file (line 182) | fn set_file(&mut self, file: String) { method set_uid (line 186) | fn set_uid(&mut self, uid: String) { method set_updated (line 190) | fn set_updated(&mut self, updated: usize) { function deserialize_single_or_vec (line 195) | pub fn deserialize_single_or_vec<'de, D, T>(deserializer: D) -> Result String { FILE: backend/tauri/src/config/profile/item_type.rs type ProfileItemType (line 10) | pub enum ProfileItemType { type ProfileUid (line 22) | pub type ProfileUid = String; FILE: backend/tauri/src/config/profile/profiles.rs type Profiles (line 21) | pub struct Profiles { method new (line 53) | pub fn new() -> Self { method save_file (line 63) | pub fn save_file(&self) -> Result<()> { method get_current (line 71) | pub fn get_current(&self) -> &[ProfileUid] { method get_items (line 76) | pub fn get_items(&self) -> &[Profile] { method get_item (line 81) | pub fn get_item(&self, uid: &str) -> Result<&Profile> { method append_item (line 89) | pub fn append_item(&mut self, item: Profile) -> Result<()> { method reorder (line 95) | pub fn reorder(&mut self, active_id: String, over_id: String) -> Resul... method reorder_by_list (line 118) | pub fn reorder_by_list>(&mut self, order: &[T]) -> R... method patch_item (line 137) | pub fn patch_item(&mut self, uid: String, patch: ProfileBuilder) -> Re... method replace_item (line 162) | pub fn replace_item>(&mut self, uid: T, item: Profil... method delete_item (line 177) | pub async fn delete_item>(&mut self, uid: T) -> Resu... method current_mappings (line 210) | pub fn current_mappings(&self) -> Result> { method default (line 38) | fn default() -> Self { FILE: backend/tauri/src/config/profile/tests.rs constant REMOTE_SAMPLE_DATA (line 15) | const REMOTE_SAMPLE_DATA: &str = include_str!("../../../tests/sample_cla... type Guard (line 17) | struct Guard(CancellationToken, Option>); method drop (line 20) | fn drop(&mut self) { function create_test_server (line 28) | async fn create_test_server() -> (Guard, url::Url) { function test_integer_type_mismatch_in_yaml (line 56) | fn test_integer_type_mismatch_in_yaml() { function test_tagged_enum_serialization (line 100) | fn test_tagged_enum_serialization() { function test_backward_compatibility (line 180) | fn test_backward_compatibility() { function test_profile_kind_getter (line 194) | fn test_profile_kind_getter() { function test_builder_defaults (line 230) | async fn test_builder_defaults() { function test_error_handling (line 261) | fn test_error_handling() { function test_large_numbers (line 293) | fn test_large_numbers() { FILE: backend/tauri/src/config/runtime.rs type PatchRuntimeConfig (line 7) | pub struct PatchRuntimeConfig { type IRuntime (line 19) | pub struct IRuntime { method new (line 28) | pub fn new() -> Self { method patch_config (line 33) | pub fn patch_config(&mut self, patch: Mapping) { FILE: backend/tauri/src/consts.rs constant MAIN_WINDOW_LABEL (line 4) | pub const MAIN_WINDOW_LABEL: &str = "main"; constant LEGACY_WINDOW_LABEL (line 5) | pub const LEGACY_WINDOW_LABEL: &str = "legacy"; constant EDITOR_WINDOW_LABEL (line 6) | pub const EDITOR_WINDOW_LABEL: &str = "editor"; constant APP_NAME (line 7) | pub const APP_NAME: &str = "Clash Nyanpasu"; constant APP_EDITOR_NAME (line 8) | pub const APP_EDITOR_NAME: &str = "Clash Nyanpasu - Editor"; type BuildInfo (line 11) | pub struct BuildInfo { function app_handle (line 55) | pub fn app_handle() -> &'static AppHandle { function setup_app_handle (line 59) | pub(super) fn setup_app_handle(app_handle: AppHandle) { FILE: backend/tauri/src/core/clash/api.rs function put_configs (line 18) | pub async fn put_configs(config_path: &str) -> Result<()> { function patch_configs (line 31) | pub async fn patch_configs(config: &Mapping) -> Result<()> { type ProxiesRes (line 39) | pub struct ProxiesRes { type ProxyItemHistory (line 46) | pub struct ProxyItemHistory { type ProxyItem (line 53) | pub struct ProxyItem { method from (line 74) | fn from(item: ProxyProviderItem) -> Self { function get_proxies (line 112) | pub async fn get_proxies() -> Result { function get_proxy (line 125) | pub async fn get_proxy(name: String) -> Result { function update_proxy (line 139) | pub async fn update_proxy(group: &str, name: &str) -> Result<()> { type VehicleType (line 150) | pub enum VehicleType { type ProviderType (line 159) | pub enum ProviderType { method fmt (line 166) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { type ProxyProviderItem (line 177) | pub struct ProxyProviderItem { type ProvidersProxiesRes (line 190) | pub struct ProvidersProxiesRes { function get_providers_proxies (line 198) | pub async fn get_providers_proxies() -> Result { function get_providers_proxies_group (line 209) | pub async fn get_providers_proxies_group(group: String) -> Result Result<()> { function get_providers_proxies_healthcheck (line 233) | pub async fn get_providers_proxies_healthcheck(name: String) -> Result) -> ... function clash_client_info (line 267) | fn clash_client_info() -> Result<(String, HeaderMap)> { type PerformRequest (line 284) | struct PerformRequest { type Query (line 291) | struct Query(T); type Data (line 293) | struct Data(T); function from (line 296) | fn from((method, path): (reqwest::Method, &str)) -> Self { function from (line 310) | fn from((method, path, Data(data)): (reqwest::Method, &str, Data)) ->... function from (line 324) | fn from((method, path, Query(query)): (reqwest::Method, &str, Query))... function from (line 339) | fn from( function perform_request (line 357) | async fn perform_request(param: impl Into>) -... function parse_log (line 421) | pub fn parse_log(log: String) -> String { function parse_check_output (line 434) | pub fn parse_check_output(log: String) -> String { function delete_connections (line 463) | pub async fn delete_connections(id: Option<&str>) -> Result<()> { function test_parse_check_output (line 474) | fn test_parse_check_output() { function test_path (line 495) | fn test_path() { FILE: backend/tauri/src/core/clash/core.rs type RunType (line 41) | pub enum RunType { method default (line 52) | fn default() -> Self { type Instance (line 71) | enum Instance { method try_new (line 84) | pub fn try_new(run_type: RunType) -> Result { method run_type (line 130) | pub fn run_type(&self) -> RunType { method start (line 137) | pub async fn start(&self) -> Result<()> { method stop (line 268) | pub async fn stop(&self) -> Result<()> { method restart (line 297) | pub async fn restart(&self) -> Result<()> { method state (line 305) | pub async fn state<'a>(&self) -> Cow<'a, CoreState> { method status (line 335) | pub async fn status<'a>(&self) -> (Cow<'a, CoreState>, i64) { type CoreManager (line 377) | pub struct CoreManager { method global (line 384) | pub fn global() -> &'static CoreManager { method status (line 393) | pub async fn status<'a>(&self) -> (Cow<'a, CoreState>, i64, RunType) { method init (line 410) | pub fn init(&self) -> Result<()> { method check_config (line 420) | pub async fn check_config(&self) -> Result<()> { method run_core (line 446) | pub async fn run_core(&self) -> Result<()> { method recover_core (line 491) | pub async fn recover_core(&'static self) -> Result<()> { method stop_core (line 521) | pub async fn stop_core(&self) -> Result<()> { method change_core (line 539) | pub async fn change_core(&self, clash_core: Option) -> Resu... method update_config (line 574) | pub async fn update_config(&self) -> Result<()> { method change_default_network_dns (line 606) | pub async fn change_default_network_dns(&self, enabled: bool) -> Resul... function find_binary_path (line 667) | pub fn find_binary_path(core_type: &nyanpasu_utils::core::CoreType) -> s... FILE: backend/tauri/src/core/clash/mod.rs type ClashConnectionsEvent (line 20) | pub struct ClashConnectionsEvent(pub ws::ClashConnectionsConnectorEvent); function setup (line 22) | pub fn setup>(manager: &M) -> an... FILE: backend/tauri/src/core/clash/proxies.rs type ProxyGroupItem (line 19) | pub struct ProxyGroupItem { method from (line 40) | fn from(item: api::ProxyItem) -> Self { type Proxies (line 61) | pub struct Proxies { method fetch (line 75) | pub async fn fetch() -> Result { function fetch_proxies (line 69) | async fn fetch_proxies() -> Result<(api::ProxiesRes, api::ProvidersProxi... type ProxiesGuard (line 196) | pub struct ProxiesGuard { method global (line 204) | pub fn global() -> &'static Arc> { method get_receiver (line 217) | pub fn get_receiver(&self) -> broadcast::Receiver<()> { method replace (line 221) | pub fn replace(&mut self, proxies: Proxies, checksum: u32) { method inner (line 241) | pub fn inner(&self) -> &Proxies { method updated_at (line 245) | pub fn updated_at(&self) -> u64 { method is_updated (line 249) | pub fn is_updated(&self) -> bool { type ProxiesGuardExt (line 255) | pub trait ProxiesGuardExt { method update (line 256) | async fn update(&self) -> Result<()>; method select_proxy (line 257) | async fn select_proxy(&self, group: &str, name: &str) -> Result<()>; method update (line 262) | async fn update(&self) -> Result<()> { method select_proxy (line 277) | async fn select_proxy(&self, group: &str, name: &str) -> Result<()> { type ProxiesGuardSingleton (line 260) | type ProxiesGuardSingleton = &'static Arc>; FILE: backend/tauri/src/core/clash/ws.rs function connect_clash_server (line 23) | async fn connect_clash_server Self { method state (line 212) | pub fn state(&self) -> ClashConnectionsConnectorState { method dispatch_state_changed (line 216) | fn dispatch_state_changed(&self, state: ClashConnectionsConnectorState) { method subscribe (line 226) | pub fn subscribe(&self) -> tokio::sync::broadcast::Receiver Self { method endpoint (line 124) | pub fn endpoint() -> anyhow::Result { method start_internal (line 147) | fn start_internal(&self) -> impl Future> +... method start (line 188) | pub async fn start(&self) -> anyhow::Result<()> { method restart (line 194) | pub async fn restart(&self) -> anyhow::Result<()> { type Target (line 110) | type Target = ClashConnectionsConnectorInner; method deref (line 112) | fn deref(&self) -> &Self::Target { method drop (line 263) | fn drop(&mut self) { FILE: backend/tauri/src/core/connection_interruption.rs type ConnectionInfo (line 7) | pub struct ConnectionInfo { type ConnectionInterruptionService (line 13) | pub struct ConnectionInterruptionService; method on_proxy_change (line 17) | pub async fn on_proxy_change() -> Result<()> { method on_profile_change (line 39) | pub async fn on_profile_change() -> Result<()> { method on_mode_change (line 52) | pub async fn on_mode_change() -> Result<()> { method interrupt_all (line 65) | pub async fn interrupt_all() -> Result<()> { method interrupt_by_chain (line 70) | pub async fn interrupt_by_chain(_chain: &[String]) -> Result<()> { FILE: backend/tauri/src/core/handle.rs type Handle (line 10) | pub struct Handle { method global (line 33) | pub fn global() -> &'static Handle { method init (line 41) | pub fn init(&self, app_handle: AppHandle) { method get_window (line 45) | pub fn get_window(&self) -> Option> { method refresh_clash (line 52) | pub fn refresh_clash() { method refresh_verge (line 58) | pub fn refresh_verge() { method refresh_profiles (line 65) | pub fn refresh_profiles() { method mutate_proxies (line 71) | pub fn mutate_proxies() { method notice_message (line 77) | pub fn notice_message(message: &Message) { method update_systray (line 83) | pub fn update_systray() -> Result<()> { method update_systray_part (line 94) | pub fn update_systray_part() -> Result<()> { method emit (line 103) | pub fn emit(event: &str, payload: S) -> Result<(... type StateChanged (line 16) | pub enum StateChanged { type Message (line 25) | pub enum Message { constant STATE_CHANGED_URI (line 29) | const STATE_CHANGED_URI: &str = "nyanpasu://mutation"; constant NOTIFY_MESSAGE_URI (line 30) | const NOTIFY_MESSAGE_URI: &str = "nyanpasu://notice-message"; FILE: backend/tauri/src/core/hotkey.rs type Hotkey (line 10) | pub struct Hotkey { method global (line 28) | pub fn global() -> &'static Hotkey { method init (line 37) | pub fn init(&self, app_handle: AppHandle) -> Result<()> { method check_key (line 66) | fn check_key(hotkey: &str) -> Result<()> { method register (line 75) | fn register(&self, hotkey: &str, func: &str) -> Result<()> { method unregister (line 112) | fn unregister(&self, hotkey: &str) -> Result<()> { method update (line 125) | pub fn update(&self, new_hotkeys: Vec) -> Result<()> { method get_map_from_vec (line 156) | fn get_map_from_vec(hotkeys: &[String]) -> HashMap<&str, &str> { method get_ops (line 173) | fn get_ops<'a>( type HotKeyOp (line 16) | type HotKeyOp<'a> = (&'a str, HotKeyOpType<'a>); type HotKeyOpType (line 19) | enum HotKeyOpType<'a> { method drop (line 203) | fn drop(&mut self) { FILE: backend/tauri/src/core/logger.rs constant LOGS_QUEUE_LEN (line 5) | const LOGS_QUEUE_LEN: usize = 100; type Logger (line 7) | pub struct Logger { method global (line 12) | pub fn global() -> &'static Logger { method get_log (line 20) | pub fn get_log(&self) -> VecDeque { method set_log (line 24) | pub fn set_log(&self, text: String) { method clear_log (line 32) | pub fn clear_log(&self) { FILE: backend/tauri/src/core/manager.rs function grant_permission (line 5) | pub fn grant_permission(core: &nyanpasu_utils::core::CoreType) -> anyhow... function escape (line 57) | pub fn escape(text: &str) -> Cow<'_, str> { FILE: backend/tauri/src/core/migration/db.rs type MigrationFile (line 21) | pub struct MigrationFile<'a> { function read_file (line 27) | pub fn read_file(mut self) -> Self { method default (line 41) | fn default() -> Self { function write_file (line 53) | pub fn write_file(&self) -> Result<(), std::io::Error> { function get_state (line 74) | pub fn get_state(&self, name: &str) -> Option { function set_state (line 78) | pub fn set_state(&mut self, name: Cow<'a, str>, state: MigrationState) { FILE: backend/tauri/src/core/migration/mod.rs type MigrationState (line 15) | pub enum MigrationState { type MigrationAdvice (line 27) | pub enum MigrationAdvice { method fmt (line 37) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Unit (line 47) | pub enum Unit<'a, T> function from (line 61) | fn from(item: T) -> Self { function from (line 70) | fn from(item: &'a T) -> Self { function from (line 79) | fn from(list: &'a [T]) -> Self { function from (line 88) | fn from(list: Vec) -> Self { type DynMigration (line 93) | type DynMigration<'a> = Box + Send + Sync + 'a>; type Migration (line 95) | pub trait Migration<'a>: DynClone { method version (line 98) | fn version(&self) -> &'a Version; method name (line 101) | fn name(&self) -> Cow<'a, str>; method migrate (line 103) | fn migrate(&self) -> std::io::Result<()> { method discard (line 107) | fn discard(&self) -> std::io::Result<()> { type MigrationExt (line 114) | pub trait MigrationExt<'a>: Migration<'a> method boxed (line 118) | fn boxed(self) -> DynMigration<'a> { function version (line 129) | fn version(&self) -> &'a Version { function name (line 136) | fn name(&self) -> Cow<'a, str> { function migrate (line 147) | fn migrate(&self) -> std::io::Result<()> { function version (line 153) | fn version(&self) -> &'a Version { function name (line 157) | fn name(&self) -> Cow<'a, str> { function migrate (line 161) | fn migrate(&self) -> std::io::Result<()> { type Runner (line 167) | pub struct Runner<'a> { type DropGuard (line 173) | pub struct DropGuard<'a>(Runner<'a>); type Target (line 176) | type Target = Runner<'a>; function deref (line 178) | fn deref(&self) -> &Self::Target { function deref_mut (line 184) | fn deref_mut(&mut self) -> &mut Self::Target { method default (line 190) | fn default() -> Self { method drop (line 205) | fn drop(&mut self) { function new_with_skip_advice (line 213) | pub fn new_with_skip_advice() -> Self { function advice_migration (line 226) | pub fn advice_migration<'a, T>(&self, migration: &T) -> MigrationAdvice function advice_unit (line 248) | pub fn advice_unit<'a, T>(&self, unit: &Unit<'a, T>) -> MigrationAdvice function run_migration (line 270) | pub fn run_migration<'a, T>(&self, migration: &T) -> std::io::Result<()> function run_unit (line 304) | pub fn run_unit<'a, T>(&self, unit: &Unit<'a, T>) -> std::io::Result<()> function run_units_up_to_version (line 320) | pub fn run_units_up_to_version(&self, to_ver: &Version) -> std::io::Resu... function run_upcoming_units (line 335) | pub fn run_upcoming_units(&self) -> std::io::Result<()> { function drop_guard (line 353) | pub fn drop_guard(self) -> DropGuard<'a> { FILE: backend/tauri/src/core/migration/units/mod.rs function find_migration (line 18) | pub fn find_migration(name: &str) -> Option Vec>> { FILE: backend/tauri/src/core/migration/units/unit_160.rs type MigrateAppHomeDir (line 25) | pub struct MigrateAppHomeDir; method name (line 28) | fn name(&self) -> std::borrow::Cow<'a, str> { method version (line 32) | fn version(&self) -> &'a semver::Version { method migrate (line 38) | fn migrate(&self) -> std::io::Result<()> { method discard (line 126) | fn discard(&self) -> std::io::Result<()> { type MigrateProxiesSelectorMode (line 185) | pub struct MigrateProxiesSelectorMode; method version (line 187) | fn version(&self) -> &'a semver::Version { method name (line 191) | fn name(&self) -> std::borrow::Cow<'a, str> { method migrate (line 195) | fn migrate(&self) -> std::io::Result<()> { method discard (line 229) | fn discard(&self) -> std::io::Result<()> { type MigrateScriptProfileType (line 265) | pub struct MigrateScriptProfileType; method version (line 268) | fn version(&self) -> &'a semver::Version { method name (line 272) | fn name(&self) -> Cow<'a, str> { method migrate (line 276) | fn migrate(&self) -> std::io::Result<()> { method discard (line 313) | fn discard(&self) -> std::io::Result<()> { FILE: backend/tauri/src/core/migration/units/unit_200.rs type MigrateProfilesNullValue (line 26) | pub struct MigrateProfilesNullValue; method version (line 29) | fn version(&self) -> &'static Version { method name (line 33) | fn name(&self) -> Cow<'static, str> { method migrate (line 37) | fn migrate(&self) -> std::io::Result<()> { method discard (line 60) | fn discard(&self) -> std::io::Result<()> { type MigrateLanguageOption (line 89) | pub struct MigrateLanguageOption; method version (line 91) | fn version(&self) -> &'a semver::Version { method name (line 95) | fn name(&self) -> std::borrow::Cow<'a, str> { method migrate (line 99) | fn migrate(&self) -> std::io::Result<()> { type MigrateThemeSetting (line 135) | pub struct MigrateThemeSetting; method version (line 137) | fn version(&self) -> &'a semver::Version { method name (line 141) | fn name(&self) -> std::borrow::Cow<'a, str> { method migrate (line 145) | fn migrate(&self) -> std::io::Result<()> { method discard (line 167) | fn discard(&self) -> std::io::Result<()> { FILE: backend/tauri/src/core/migration/units/unit_200/profile_script_newtype.rs type MigrateProfileScriptNewtype (line 22) | pub struct MigrateProfileScriptNewtype; method version (line 25) | fn version(&self) -> &'static Version { method name (line 29) | fn name(&self) -> Cow<'static, str> { method migrate (line 33) | fn migrate(&self) -> std::io::Result<()> { method discard (line 56) | fn discard(&self) -> std::io::Result<()> { function migrate_profile_data (line 80) | fn migrate_profile_data(mut mapping: serde_yaml::Mapping) -> serde_yaml:... function discard_profile_data (line 107) | fn discard_profile_data(mut mapping: serde_yaml::Mapping) -> serde_yaml:... constant ORIGINAL_SAMPLE (line 141) | const ORIGINAL_SAMPLE: &str = r#"current: constant MIGRATED_SAMPLE (line 211) | const MIGRATED_SAMPLE: &str = r#"current: function test_migrate_existing_data (line 285) | fn test_migrate_existing_data() { function test_discard_existing_data (line 293) | fn test_discard_existing_data() { function test_profile_parse_migrated_data (line 302) | fn test_profile_parse_migrated_data() { FILE: backend/tauri/src/core/pac.rs type PacManager (line 8) | pub struct PacManager; method get_pac_url (line 17) | pub fn get_pac_url() -> Option { method is_pac_enabled (line 22) | pub fn is_pac_enabled() -> bool { method download_pac_script (line 27) | pub async fn download_pac_script(url: &str) -> Result { method save_pac_script (line 79) | pub async fn save_pac_script(script: &str) -> Result { method validate_pac_script (line 91) | pub async fn validate_pac_script(script: &str) -> Result<()> { method set_pac_proxy (line 104) | pub fn set_pac_proxy(url: &str) -> Result<()> { method disable_pac_proxy (line 125) | pub fn disable_pac_proxy() -> Result<()> { method fallback_to_direct_proxy (line 145) | pub fn fallback_to_direct_proxy() -> Result<()> { method update_pac (line 193) | pub async fn update_pac() -> Result<()> { method init_pac_proxy (line 250) | pub async fn init_pac_proxy() -> Result<()> { constant PAC_DOWNLOAD_TIMEOUT (line 11) | const PAC_DOWNLOAD_TIMEOUT: u64 = 30; constant PAC_MAX_RETRIES (line 12) | const PAC_MAX_RETRIES: u32 = 3; constant PAC_RETRY_DELAY (line 13) | const PAC_RETRY_DELAY: u64 = 5; function test_pac_download (line 271) | async fn test_pac_download() { function test_pac_validation (line 291) | async fn test_pac_validation() { function test_pac_save (line 319) | async fn test_pac_save() { FILE: backend/tauri/src/core/service/control.rs function get_service_install_args (line 10) | pub async fn get_service_install_args() -> Result, anyhow:... function install_service (line 54) | pub async fn install_service() -> anyhow::Result<()> { function update_service (line 102) | pub async fn update_service() -> anyhow::Result<()> { function uninstall_service (line 145) | pub async fn uninstall_service() -> anyhow::Result<()> { function start_service (line 184) | pub async fn start_service() -> anyhow::Result<()> { function stop_service (line 230) | pub async fn stop_service() -> anyhow::Result<()> { function restart_service (line 279) | pub async fn restart_service() -> anyhow::Result<()> { function status (line 326) | pub async fn status<'a>() -> anyhow::Result bool { function get_ipc_state (line 30) | pub fn get_ipc_state() -> IpcState { function set_ipc_state (line 34) | pub(super) fn set_ipc_state(state: IpcState) { function dispatch_disconnected (line 39) | fn dispatch_disconnected() { function dispatch_connected (line 53) | fn dispatch_connected() { function on_ipc_state_changed (line 69) | fn on_ipc_state_changed(state: IpcState) { function spawn_health_check (line 95) | pub(super) fn spawn_health_check() { function health_check (line 114) | async fn health_check() { FILE: backend/tauri/src/core/service/mod.rs constant SERVICE_NAME (line 11) | const SERVICE_NAME: &str = "nyanpasu-service"; function init_service (line 17) | pub async fn init_service() { FILE: backend/tauri/src/core/state.rs type ManagedState (line 15) | pub struct ManagedState type Target (line 26) | type Target = ManagedStateInner; method deref (line 28) | fn deref(&self) -> &Self::Target { function from (line 37) | fn from(state: T) -> Self { function auto_commit (line 49) | pub fn auto_commit(&self) -> ManagedStateAutoCommit { type ManagedStateAutoCommit (line 54) | pub struct ManagedStateAutoCommit<'a, T: Clone + Send + Sync>(&'a Manage... type Target (line 60) | type Target = ManagedState; method deref (line 62) | fn deref(&self) -> &Self::Target { method drop (line 68) | fn drop(&mut self) { type ManagedStateInner (line 75) | pub struct ManagedStateInner function new (line 89) | pub fn new(state: T) -> Self { function data (line 98) | pub fn data(&self) -> MappedRwLockReadGuard<'_, T> { function latest (line 103) | pub fn latest(&self) -> MappedRwLockReadGuard<'_, T> { function is_dirty (line 119) | pub fn is_dirty(&self) -> bool { function draft (line 124) | pub fn draft(&self) -> MappedRwLockWriteGuard<'_, T> { function apply (line 143) | pub fn apply(&self) -> Option { function discard (line 164) | pub fn discard(&self) -> Option { function test_managed_state (line 178) | fn test_managed_state() { FILE: backend/tauri/src/core/state_v2/builder.rs type StateSyncBuilder (line 1) | pub trait StateSyncBuilder: Default + Clone { method build (line 4) | fn build(&self) -> anyhow::Result; type StateAsyncBuilder (line 7) | pub trait StateAsyncBuilder: Default + Clone { method build (line 10) | async fn build(&self) -> anyhow::Result; type State (line 18) | type State = T; method build (line 19) | async fn build(&self) -> anyhow::Result { FILE: backend/tauri/src/core/state_v2/coordinator.rs type StateChangedError (line 4) | pub enum StateChangedError { type MigrateError (line 16) | pub struct MigrateError { type RollbackError (line 23) | pub struct RollbackError { type StateChangedSubscriber (line 30) | pub(crate) trait StateChangedSubscriber { method name (line 32) | fn name(&self) -> &str; method migrate (line 39) | async fn migrate(&self, prev_state: Option, new_state: T) -> Result... method rollback (line 45) | async fn rollback(&self, prev_state: Option, new_state: T) -> Resul... type ConcurrencyStrategy (line 51) | pub enum ConcurrencyStrategy { type StateCoordinator (line 59) | pub struct StateCoordinator { function new (line 66) | pub(super) fn new() -> Self { function add_subscriber (line 74) | fn add_subscriber(&mut self, subscriber: Box Option { function run_migration (line 83) | async fn run_migration( function upsert (line 119) | pub async fn upsert( function upsert_state (line 138) | pub async fn upsert_state(&mut self, state: T) -> Result<(), StateChange... type TestState (line 157) | struct TestState { type MockSubscriber (line 162) | struct MockSubscriber { method new (line 173) | fn new(name: &str) -> Self { method set_migrate_failure (line 185) | fn set_migrate_failure(&self, should_fail: bool) { method set_rollback_failure (line 190) | fn set_rollback_failure(&self, should_fail: bool) { method get_migrate_history (line 195) | async fn get_migrate_history(&self) -> Vec<(Option, TestSta... method get_rollback_history (line 199) | async fn get_rollback_history(&self) -> Vec<(Option, TestSt... method get_migrate_calls (line 203) | fn get_migrate_calls(&self) -> usize { method get_rollback_calls (line 207) | fn get_rollback_calls(&self) -> usize { method name (line 214) | fn name(&self) -> &str { method migrate (line 218) | async fn migrate( method rollback (line 235) | async fn rollback( function name (line 255) | fn name(&self) -> &str { function migrate (line 259) | async fn migrate( function rollback (line 267) | async fn rollback( type TestStateBuilder (line 277) | struct TestStateBuilder { method new (line 283) | fn new(state: TestState) -> Self { method failing (line 290) | fn failing() -> Self { type State (line 299) | type State = TestState; method build (line 301) | fn build(&self) -> anyhow::Result { function test_new_coordinator (line 310) | async fn test_new_coordinator() { function test_upsert_state_success (line 318) | async fn test_upsert_state_success() { function test_upsert_with_builder_success (line 346) | async fn test_upsert_with_builder_success() { function test_upsert_builder_validation_failure (line 371) | async fn test_upsert_builder_validation_failure() { function test_migrate_failure_with_successful_rollback (line 389) | async fn test_migrate_failure_with_successful_rollback() { function test_migrate_failure_with_rollback_failure (line 421) | async fn test_migrate_failure_with_rollback_failure() { function test_multiple_subscribers_success (line 455) | async fn test_multiple_subscribers_success() { function test_multiple_subscribers_with_one_failure (line 492) | async fn test_multiple_subscribers_with_one_failure() { function test_state_update_sequence (line 531) | async fn test_state_update_sequence() { function test_error_display (line 563) | async fn test_error_display() { function test_sync_builder_to_async_conversion (line 584) | async fn test_sync_builder_to_async_conversion() { function test_add_subscriber (line 601) | async fn test_add_subscriber() { function test_get_state (line 629) | async fn test_get_state() { function test_empty_subscribers_list (line 658) | async fn test_empty_subscribers_list() { FILE: backend/tauri/src/core/state_v2/manager/persistent.rs type UpsertError (line 10) | pub enum UpsertError { type PersistentStateManager (line 17) | pub struct PersistentStateManager< function new (line 32) | pub fn new( function try_load (line 45) | pub async fn try_load(&mut self) -> anyhow::Result<()> { function try_load_with_defaults (line 55) | pub async fn try_load_with_defaults(&mut self) -> anyhow::Result<()> { function write_config (line 68) | async fn write_config(&self, builder: Builder) -> anyhow::Result<()> { function current_state (line 73) | pub fn current_state(&self) -> Option { function upsert (line 77) | pub async fn upsert(&mut self, builder: Builder) -> Result<(), UpsertErr... type TestState (line 101) | struct TestState { type TestBuilder (line 108) | struct TestBuilder { method new (line 115) | fn new(name: String, value: i32) -> Self { method failing (line 123) | fn failing() -> Self { type State (line 133) | type State = TestState; method build (line 135) | async fn build(&self) -> anyhow::Result { function create_temp_config_file (line 147) | async fn create_temp_config_file( function test_new_persistent_state_manager (line 159) | async fn test_new_persistent_state_manager() { function test_try_load_success (line 177) | async fn test_try_load_success() { function test_try_load_file_not_exist (line 205) | async fn test_try_load_file_not_exist() { function test_try_load_with_defaults_success (line 220) | async fn test_try_load_with_defaults_success() { function test_try_load_with_defaults_file_not_exist (line 241) | async fn test_try_load_with_defaults_file_not_exist() { function test_upsert_success (line 260) | async fn test_upsert_success() { function test_upsert_builder_validation_error (line 301) | async fn test_upsert_builder_validation_error() { function test_upsert_write_config_error (line 332) | async fn test_upsert_write_config_error() { function test_current_state (line 359) | async fn test_current_state() { function test_multiple_upserts (line 380) | async fn test_multiple_upserts() { function test_config_prefix_in_saved_file (line 418) | async fn test_config_prefix_in_saved_file() { FILE: backend/tauri/src/core/state_v2/manager/simple.rs type SimpleStateManager (line 4) | pub struct SimpleStateManager { function new (line 9) | pub fn new(state_coordinator: StateCoordinator) -> Self { function current_state (line 13) | pub fn current_state(&self) -> Option { function upsert (line 17) | pub async fn upsert(&mut self, state: State) -> Result<(), StateChangedE... FILE: backend/tauri/src/core/storage.rs type StorageOperationError (line 11) | pub enum StorageOperationError { constant NYANPASU_TABLE (line 28) | pub const NYANPASU_TABLE: TableDefinition<&[u8], &[u8]> = TableDefinitio... type Result (line 30) | type Result = StdResult; type Storage (line 35) | pub struct Storage { method try_new (line 40) | pub fn try_new(path: &std::path::Path) -> Result { type Target (line 49) | type Target = Arc; method deref (line 51) | fn deref(&self) -> &Self::Target { type StorageInner (line 56) | pub struct StorageInner { method create_and_init_database (line 81) | fn create_and_init_database(path: &std::path::Path) -> Result Result { method get_instance (line 118) | pub fn get_instance(&self) -> &redb::Database { method notify_subscribers (line 122) | fn notify_subscribers(&self, key: impl AsRef, value: Option<&[u8]... method get_rx (line 131) | fn get_rx(&self) -> tokio::sync::broadcast::Receiver<(String, Option(&self, key: impl AsRef) -> Resul... method set_item (line 72) | fn set_item(&self, key: impl AsRef, value: &T) -> R... method remove_item (line 73) | fn remove_item(&self, key: impl AsRef) -> Result<()>; method get_all (line 75) | fn get_all(&self) -> Result>; method clear (line 77) | fn clear(&self) -> Result<()>; method get_item (line 137) | fn get_item(&self, key: impl AsRef) -> Resul... method set_item (line 153) | fn set_item(&self, key: impl AsRef, value: &T) -> R... method remove_item (line 168) | fn remove_item(&self, key: impl AsRef) -> Result<()> { method get_all (line 182) | fn get_all(&self) -> Result> { method clear (line 196) | fn clear(&self) -> Result<()> { function register_web_storage_listener (line 222) | pub fn register_web_storage_listener(app_handle: &tauri::AppHandle) { function setup (line 242) | pub fn setup>(app: &M) -> anyhow... FILE: backend/tauri/src/core/sysopt.rs type Sysopt (line 17) | pub struct Sysopt { method global (line 60) | pub fn global() -> &'static Sysopt { method init_sysproxy (line 72) | pub fn init_sysproxy(&self) -> Result<()> { method update_sysproxy (line 127) | pub fn update_sysproxy(&self) -> Result<()> { method reset_sysproxy (line 169) | pub fn reset_sysproxy(&self) -> Result<()> { method init_launch (line 209) | pub fn init_launch(&self) -> Result<()> { method update_launch (line 325) | pub fn update_launch(&self) -> Result<()> { method guard_proxy (line 346) | pub fn guard_proxy(&self) { function detect_desktop_environment (line 41) | fn detect_desktop_environment() -> String { function get_autostart_requirements (line 49) | fn get_autostart_requirements(desktop_env: &str) -> (bool, Vec) { FILE: backend/tauri/src/core/tasks/events.rs type TaskEvents (line 12) | pub struct TaskEvents { method new (line 24) | pub fn new(storage: Arc>) -> Self { method new_event (line 28) | pub fn new_event(&self, task_id: TaskID, event_id: TaskEventID) -> Res... type TaskEventDispatcher (line 18) | pub struct TaskEventDispatcher { method new (line 48) | pub fn new(storage: Arc>, event: TaskEvent) -> Self { method dispatch (line 51) | pub fn dispatch(&mut self, state: TaskEventState) -> Result<()> { type TaskEvent (line 66) | pub struct TaskEvent { method dispatch (line 106) | fn dispatch(&mut self, state: TaskEventState) { type TaskEventState (line 75) | pub enum TaskEventState { method fmt (line 83) | pub fn fmt(&self) -> &'static str { method default (line 94) | fn default() -> Self { FILE: backend/tauri/src/core/tasks/executor.rs type JobExecutor (line 25) | pub trait JobExecutor: DynClone { method execute (line 26) | fn execute(&self) -> Result<()>; method execute (line 79) | fn execute(&self) -> Result<()> { type Job (line 31) | pub type Job = Box; type AsyncJobExecutor (line 34) | pub trait AsyncJobExecutor: DynClone { method execute (line 35) | async fn execute(&self) -> Result<()>; method execute (line 86) | async fn execute(&self) -> Result<()> { type AsyncJob (line 40) | pub type AsyncJob = Box; type TaskExecutor (line 43) | pub enum TaskExecutor { method fmt (line 49) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { method from (line 64) | fn from(job: Job) -> Self { method from (line 70) | fn from(job: AsyncJob) -> Self { method default (line 58) | fn default() -> Self { type DefaultJobExecutor (line 76) | struct DefaultJobExecutor {} method default (line 92) | fn default() -> Self { method default (line 98) | fn default() -> Self { FILE: backend/tauri/src/core/tasks/jobs/events_rotate.rs constant CLEAR_EVENTS_TASK_NAME (line 12) | const CLEAR_EVENTS_TASK_NAME: &str = "Task Events Rotate"; type EventsRotateJob (line 15) | pub struct EventsRotateJob { method new (line 20) | pub fn new(task_storage: Arc>) -> Self { method execute (line 28) | async fn execute(&self) -> anyhow::Result<()> { method name (line 69) | fn name(&self) -> &'static str { method setup (line 73) | fn setup(&self) -> Option { FILE: backend/tauri/src/core/tasks/jobs/logger.rs constant CLEAR_LOG_TASK_NAME (line 19) | const CLEAR_LOG_TASK_NAME: &str = "clear_logs"; type ClearLogsJob (line 22) | pub struct ClearLogsJob; function clear_logs (line 25) | pub fn clear_logs() -> Result<()> { method execute (line 93) | async fn execute(&self) -> Result<()> { method name (line 99) | fn name(&self) -> &'static str { method setup (line 103) | fn setup(&self) -> Option { FILE: backend/tauri/src/core/tasks/jobs/mod.rs type JobExt (line 13) | pub trait JobExt { method name (line 14) | fn name(&self) -> &'static str; method setup (line 15) | fn setup(&self) -> Option; type JobsManager (line 18) | pub struct JobsManager { method new (line 24) | pub fn new(task_manager: Arc>) -> Self { method setup (line 31) | pub fn setup(&mut self) -> anyhow::Result<()> { method notify_config_changed (line 47) | fn notify_config_changed(&self, job_name: &str) -> Result<()> { FILE: backend/tauri/src/core/tasks/jobs/profiles.rs constant INITIAL_TASK_ID (line 14) | const INITIAL_TASK_ID: TaskID = 10000000; type Minutes (line 16) | type Minutes = u64; type ProfileUID (line 17) | type ProfileUID = String; type ProfileUpdater (line 20) | pub struct ProfileUpdater(ProfileUID); method new (line 24) | pub fn new(profile_uid: &str) -> Self { method execute (line 31) | async fn execute(&self) -> Result<()> { type ProfileTaskOp (line 43) | enum ProfileTaskOp { type ProfilesJob (line 49) | pub struct ProfilesJob { method new (line 76) | pub fn new(task_manager: Arc>) -> Self { method init (line 84) | pub fn init(&mut self) -> Result<()> { method refresh (line 118) | pub fn refresh(&mut self) { method diff (line 147) | fn diff(&self) -> HashMap { type ProfilesJobGuard (line 55) | pub struct ProfilesJobGuard { method new (line 60) | pub fn new(task_manager: Arc>) -> Self { type Target (line 68) | type Target = Arc>; method deref (line 70) | fn deref(&self) -> &Self::Target { function gen_map (line 176) | fn gen_map() -> HashMap { function get_task_id (line 195) | fn get_task_id(uid: &str) -> TaskID { function new_task (line 204) | fn new_task(task_id: TaskID, profile_uid: &str, interval: Minutes) -> Ta... FILE: backend/tauri/src/core/tasks/mod.rs function setup (line 8) | pub fn setup>( FILE: backend/tauri/src/core/tasks/storage.rs type TaskStorage (line 15) | pub struct TaskStorage { constant TASKS_KEY (line 22) | const TASKS_KEY: &str = "tasks"; method new (line 24) | pub fn new(storage: Storage) -> Self { method list_tasks (line 29) | pub fn list_tasks(&self) -> Result> { method add_task (line 44) | pub fn add_task(&self, task_id: TaskID) -> Result<()> { method remove_task (line 65) | pub fn remove_task(&self, _task_id: TaskID) -> Result<()> { method get_event (line 77) | pub fn get_event(&self, event_id: TaskEventID) -> Result Result Result Result<()> { method update_event (line 142) | pub fn update_event(&self, event: &TaskEvent) -> Result<()> { method remove_event (line 157) | pub fn remove_event(&self, event_id: TaskEventID, task_id: TaskID) -> ... method get_instance (line 181) | fn get_instance(&self) -> &redb::Database { type TaskGuard (line 187) | pub trait TaskGuard { method restore (line 188) | fn restore(&mut self) -> Result<()>; method dump (line 189) | fn dump(&self) -> Result<()>; method restore (line 194) | fn restore(&mut self) -> Result<()> { method dump (line 221) | fn dump(&self) -> Result<()> { function test_hashset_eq_vec (line 243) | fn test_hashset_eq_vec() { FILE: backend/tauri/src/core/tasks/task.rs type TaskID (line 19) | pub type TaskID = u64; type TaskEventID (line 20) | pub type TaskEventID = i64; type TaskState (line 23) | pub enum TaskState { type TaskRunResult (line 31) | pub enum TaskRunResult { type TaskSchedule (line 37) | pub enum TaskSchedule { method default (line 45) | fn default() -> Self { type TaskOptions (line 52) | pub struct TaskOptions { method default (line 57) | fn default() -> Self { type Task (line 65) | pub struct Task { method default (line 82) | fn default() -> Self { type Timestamp (line 97) | pub type Timestamp = i64; function build_task (line 134) | fn build_task<'a>(task: Task, len: usize) -> (Task, TimerTaskBuilder<'a>) { type TaskList (line 201) | type TaskList = Arc>>; type TaskListOps (line 202) | trait TaskListOps { method get_task_state (line 203) | fn get_task_state(&self, task_id: TaskID) -> Result; method set_task_state (line 204) | fn set_task_state( method get_task_state (line 212) | fn get_task_state(&self, task_id: TaskID) -> Result { method set_task_state (line 221) | fn set_task_state( type TaskManager (line 253) | pub struct TaskManager { method new (line 266) | pub fn new(storage: TaskStorage) -> Self { method get_inner_task_storage (line 282) | pub(super) fn get_inner_task_storage(&self) -> Arc> { method restore_tasks (line 286) | pub fn restore_tasks(&mut self, tasks: Vec) { method add_task (line 305) | pub fn add_task(&mut self, task: Task) -> Result<()> { method get_task_from_restored (line 375) | fn get_task_from_restored(&self, task_id: TaskID) -> Option { method pick_task (line 381) | pub fn pick_task(&self, task_id: TaskID) -> Result { method total (line 390) | pub fn total(&self) -> usize { method list (line 397) | pub fn list(&self) -> Vec { method remove_task (line 402) | pub fn remove_task(&mut self, task_id: TaskID) -> Result<()> { method advance_task (line 418) | pub fn advance_task(&mut self, task_id: TaskID) -> Result<()> { FILE: backend/tauri/src/core/tasks/utils.rs type TaskCreationError (line 4) | pub enum TaskCreationError { type Error (line 11) | pub enum Error { method new_task_error (line 50) | pub fn new_task_error(message: String, source: delay_timer::error::Tas... type Result (line 47) | pub type Result = std::result::Result; type ConfigChangedNotifier (line 55) | pub trait ConfigChangedNotifier { method notify_config_changed (line 57) | fn notify_config_changed(&self, task_name: &str) -> Result<()>; FILE: backend/tauri/src/core/tray/icon.rs type TrayIcon (line 12) | pub enum TrayIcon { method raw_bytes (line 50) | pub fn raw_bytes(&self) -> &'static [u8] { method all_supported (line 58) | pub fn all_supported() -> &'static [TrayIcon] { method as_str (line 62) | pub fn as_str(&self) -> &'static str { method fmt (line 20) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { function from (line 30) | fn from(icon: TrayIcon) -> Self { function from (line 40) | fn from(icon: &TrayIcon) -> Self { function get_raw_icon (line 72) | pub fn get_raw_icon<'n>(mode: TrayIcon) -> Cow<'n, [u8]> { function resize_image (line 86) | fn resize_image(mode: TrayIcon, scale_factor: f64) { function resize_images (line 108) | pub fn resize_images(scale_factor: f64) { function set_icon (line 114) | pub fn set_icon(mode: TrayIcon, path: Option) -> anyhow::Result... function on_scale_factor_changed (line 131) | pub fn on_scale_factor_changed(scale_factor: f64) { function get_icon (line 136) | pub fn get_icon(mode: &TrayIcon) -> Vec { FILE: backend/tauri/src/core/tray/mod.rs type TrayState (line 27) | struct TrayState { type Tray (line 31) | pub struct Tray {} method tray_menu (line 149) | pub fn tray_menu(app_handle: &AppHandle) -> Result) -> Result<()> { method update_part (line 299) | pub fn update_part(app_handle: &AppHandle) -> Result<()> { method on_menu_item_event (line 400) | pub fn on_menu_item_event(app_handle: &AppHandle, event: MenuEvent) { method on_system_tray_event (line 431) | pub fn on_system_tray_event(tray_icon: &TrayIcon, event: TrayIconEvent) { constant TRAY_ID (line 36) | const TRAY_ID: &str = "main-tray"; function get_tray_id (line 47) | fn get_tray_id<'n>() -> Cow<'n, str> { FILE: backend/tauri/src/core/tray/proxies.rs function loop_task (line 15) | async fn loop_task() { type GroupName (line 42) | type GroupName = String; type ProxyName (line 43) | type ProxyName = String; type FromProxy (line 44) | type FromProxy = ProxyName; type ToProxy (line 45) | type ToProxy = ProxyName; type ProxySelectAction (line 46) | type ProxySelectAction = (GroupName, FromProxy, ToProxy); type TrayUpdateType (line 48) | enum TrayUpdateType { type TrayProxyItem (line 54) | struct TrayProxyItem { type TrayProxies (line 59) | type TrayProxies = IndexMap; function to_tray_proxies (line 62) | fn to_tray_proxies(mode: &str, raw_proxies: &Proxies) -> TrayProxies { function diff_proxies (line 90) | fn diff_proxies(old_proxies: &TrayProxies, new_proxies: &TrayProxies) ->... function proxies_updated_receiver (line 144) | pub async fn proxies_updated_receiver() { function setup_proxies (line 209) | pub fn setup_proxies() { function generate_group_selector (line 239) | pub fn generate_group_selector( function generate_selectors (line 276) | pub fn generate_selectors( function setup_tray (line 301) | pub fn setup_tray<'m, R: Runtime, M: Manager>( function update_selected_proxies (line 343) | pub fn update_selected_proxies(actions: &[ProxySelectAction]) { type SystemTrayMenuProxiesExt (line 479) | pub trait SystemTrayMenuProxiesExt { method setup_proxies (line 480) | fn setup_proxies(self, app_handle: &AppHandle) -> anyhow::Result function setup_proxies (line 486) | fn setup_proxies(self, app_handle: &AppHandle) -> anyhow::Result { function on_system_tray_event (line 492) | pub fn on_system_tray_event(event: &str) { FILE: backend/tauri/src/core/updater/instance.rs type UpdaterState (line 19) | pub enum UpdaterState { type DownloaderWithDynCallback (line 30) | type DownloaderWithDynCallback = Downloader anyhow::Result<()> { method replace_core (line 215) | async fn replace_core(&self) -> anyhow::Result<()> { method start (line 290) | pub async fn start(&self) { method get_report (line 343) | pub fn get_report(&self) -> UpdaterSummary { method get_updater_id (line 351) | pub fn get_updater_id(&self) -> usize { type UpdaterInner (line 42) | struct UpdaterInner { type UpdaterSummary (line 47) | pub struct UpdaterSummary { type UpdaterBuilder (line 53) | pub(super) struct UpdaterBuilder { method new (line 62) | pub fn new() -> Self { method set_client (line 72) | pub fn set_client(mut self, client: reqwest::Client) -> Self { method set_core_type (line 77) | pub fn set_core_type(mut self, core_type: ClashCore) -> Self { method set_artifact (line 82) | pub fn set_artifact(mut self, artifact: String) -> Self { method set_tag (line 87) | pub fn set_tag(mut self, tag: CoreTypeMeta) -> Self { method set_mirror (line 92) | pub fn set_mirror(mut self, mirror: String) -> Self { method build (line 97) | pub async fn build(self) -> anyhow::Result { FILE: backend/tauri/src/core/updater/mod.rs type UpdaterManager (line 22) | pub struct UpdaterManager { method new (line 139) | pub fn new() -> Self { method global (line 143) | pub fn global() -> &'static RwLock { method get_latest_versions (line 148) | pub fn get_latest_versions(&self) -> ManifestVersionLatest { method get_mirror (line 152) | pub fn get_mirror(&self) -> Option { method get_latest_version_manifest (line 156) | async fn get_latest_version_manifest(&self, mirror: &str) -> Result Result<()> { method mirror_speed_test (line 183) | pub async fn mirror_speed_test(&self) -> Result<()> { method update_core (line 211) | pub async fn update_core(&mut self, core_type: &ClashCore) -> Result Option Self { type ManifestVersion (line 41) | pub struct ManifestVersion { method get_matches (line 91) | pub(self) fn get_matches(&self, core_type: &ClashCore) -> Option<(Stri... type ManifestVersionLatest (line 50) | pub struct ManifestVersionLatest { type ArchTemplate (line 59) | pub struct ArchTemplate { method default (line 68) | fn default() -> Self { method default (line 79) | fn default() -> Self { FILE: backend/tauri/src/core/updater/shared.rs function get_arch (line 1) | pub(super) fn get_arch() -> anyhow::Result<&'static str> { type CoreTypeMeta (line 27) | pub(super) enum CoreTypeMeta { function get_download_path (line 35) | pub(super) fn get_download_path(core_type: CoreTypeMeta, artifact: &str)... FILE: backend/tauri/src/core/win_uwp.rs function invoke_uwptools (line 9) | pub async fn invoke_uwptools() -> Result<()> { FILE: backend/tauri/src/enhance/advice.rs function chain_advice (line 7) | pub fn chain_advice(config: &Mapping) -> ProcessOutput { FILE: backend/tauri/src/enhance/builtin/config_fixer.js function main (line 1) | function main(params) { FILE: backend/tauri/src/enhance/builtin/meta_guard.js function main (line 1) | function main(params) { FILE: backend/tauri/src/enhance/builtin/meta_hy_alpn.js function main (line 1) | function main(params) { FILE: backend/tauri/src/enhance/chain.rs type PostProcessingOutput (line 23) | pub struct PostProcessingOutput { type ChainItem (line 34) | pub struct ChainItem { type Error (line 88) | type Error = anyhow::Error; method try_from (line 90) | fn try_from(item: &Profile) -> Result { method builtin (line 145) | pub fn builtin() -> Vec<(BitFlags, ChainItem)> { method to_script (line 178) | pub fn to_script, D: Into>(uid: U, d... type ChainTypeWrapper (line 40) | pub enum ChainTypeWrapper { method new_js (line 46) | pub fn new_js(data: Data) -> Self { method new_lua (line 50) | pub fn new_lua(data: Data) -> Self { method new_merge (line 54) | pub fn new_merge(data: Mapping) -> Self { type Error (line 60) | type Error = anyhow::Error; method try_from (line 62) | fn try_from(item: &Profile) -> Result { function from (line 98) | fn from(item: &Profile) -> Self { type Data (line 108) | type Data = String; type ScriptWrapper (line 110) | pub struct ScriptWrapper(pub ScriptType, pub Data); type ChainType (line 113) | pub enum ChainType { type ScriptType (line 134) | pub enum ScriptType { FILE: backend/tauri/src/enhance/field.rs constant HANDLE_FIELDS (line 4) | pub const HANDLE_FIELDS: [&str; 9] = [ constant DEFAULT_FIELDS (line 16) | pub const DEFAULT_FIELDS: [&str; 5] = [ constant OTHERS_FIELDS (line 24) | pub const OTHERS_FIELDS: [&str; 31] = [ function use_clash_fields (line 58) | pub fn use_clash_fields() -> Vec { function use_valid_fields (line 67) | pub fn use_valid_fields(valid: &[String]) -> Vec { function use_whitelist_fields_filter (line 80) | pub fn use_whitelist_fields_filter(config: Mapping, filter: &[String], e... function use_lowercase (line 97) | pub fn use_lowercase(config: Mapping) -> Mapping { function use_sort (line 115) | pub fn use_sort(config: Mapping, enable_filter: bool) -> Mapping { function use_keys (line 149) | pub fn use_keys(config: &Mapping) -> Vec { FILE: backend/tauri/src/enhance/merge.rs function override_recursive (line 8) | fn override_recursive(config: &mut Mapping, key: &Value, data: Value) { function find_field (line 27) | fn find_field<'a>(config: &'a mut Value, key: &'a str) -> Option<&'a mut... function merge_sequence (line 50) | fn merge_sequence(target: &mut Value, to_merge: &Value, append: bool) { function run_expr (line 62) | fn run_expr(logs: &mut Logs, item: &Value, expr: &s... function do_filter (line 99) | fn do_filter(logs: &mut Logs, config: &mut Value, field_str: &str, filte... function use_merge (line 242) | pub fn use_merge(merge: &Mapping, mut config: Mapping) -> ProcessOutput { function test_find_field (line 325) | fn test_find_field() { function test_merge_append (line 348) | fn test_merge_append() { function test_prepend (line 392) | fn test_prepend() { function test_override (line 436) | fn test_override() { function test_filter_string (line 479) | fn test_filter_string() { function test_filter_when_and_expr (line 576) | fn test_filter_when_and_expr() { function test_filter_when_and_override (line 661) | fn test_filter_when_and_override() { function test_filter_when_and_merge (line 726) | fn test_filter_when_and_merge() { function test_filter_when_and_remove (line 809) | fn test_filter_when_and_remove() { function test_filter_sequence (line 943) | fn test_filter_sequence() { function test_override_recursive (line 1032) | fn test_override_recursive() { FILE: backend/tauri/src/enhance/mod.rs function enhance (line 22) | pub async fn enhance() -> (Mapping, Vec, PostProcessingOutput) { function use_include_all_proxy_groups (line 163) | fn use_include_all_proxy_groups(mut config: Mapping) -> Mapping { function use_cache (line 250) | fn use_cache(mut config: Mapping) -> Mapping { function test_use_cache (line 268) | fn test_use_cache() { function test_use_include_all_proxy_groups (line 294) | fn test_use_include_all_proxy_groups() { FILE: backend/tauri/src/enhance/script/js.rs type Result (line 30) | type Result = StdResult; type JsRunnerError (line 42) | pub enum JsRunnerError { type BoaConsoleLogger (line 55) | pub struct BoaConsoleLogger(Logs); type Item (line 57) | type Item = boa_utils::LogMessage; method log (line 58) | fn log(&mut self, msg: boa_utils::LogMessage, _: &Console) { method take (line 68) | fn take(&mut self) -> Vec { method take (line 82) | pub fn take(&mut self) -> Logs { function take_console_logs (line 88) | fn take_console_logs() -> Logs { type JSRunner (line 100) | pub struct JSRunner; type BoaRunner (line 103) | pub struct BoaRunner { method try_new (line 109) | pub fn try_new() -> Result { method setup_console (line 127) | pub fn setup_console(&self, logger: BoaConsoleLogger) -> Result<()> { method get_ctx (line 136) | pub fn get_ctx(&self) -> Rc> { method parse_module (line 141) | pub fn parse_module(&self, source: &str, name: &str) -> Result { method execute_module (line 157) | pub fn execute_module(&self, module: &Module) -> Result<()> { method try_new (line 189) | fn try_new() -> Result { method process (line 193) | async fn process(&self, mapping: Mapping, path: &str) -> ProcessOutput { method process_honey (line 202) | async fn process_honey(&self, mapping: Mapping, script: &str) -> Process... type DefaultExport (line 294) | struct DefaultExport { type FunctionVisitor (line 300) | struct FunctionVisitor<'n> { function visit_module_export_name (line 308) | fn visit_module_export_name(&mut self, it: &oxc_ast::ast::ModuleExportNa... function visit_function (line 324) | fn visit_function(&mut self, it: &oxc_ast::ast::Function<'n>, flags: Sco... function visit_export_default_declaration (line 334) | fn visit_export_default_declaration( function wrap_script_if_not_esm (line 349) | pub fn wrap_script_if_not_esm(script: &str) -> Result, anyh... function test_wrap_script_if_not_esm (line 394) | fn test_wrap_script_if_not_esm() { function test_wrap_script_if_esm (line 406) | fn test_wrap_script_if_esm() { function test_wrap_script_if_not_esm_sample_2 (line 417) | fn test_wrap_script_if_not_esm_sample_2() { function test_process_honey (line 463) | fn test_process_honey() { function test_process_honey_with_fetch (line 523) | fn test_process_honey_with_fetch() { function test_process_honey_with_builtin_modules (line 587) | fn test_process_honey_with_builtin_modules() { FILE: backend/tauri/src/enhance/script/lua/mod.rs function create_lua_context (line 12) | pub fn create_lua_context() -> Result { function create_console (line 18) | fn create_console(lua: &Lua, logger: Arc>>) -> Result... function correct_original_mapping_order (line 55) | fn correct_original_mapping_order(target: &mut Value, original: &Value) { type LuaRunner (line 93) | pub struct LuaRunner; method try_new (line 97) | fn try_new() -> Result { method process (line 101) | async fn process(&self, mapping: Mapping, path: &str) -> ProcessOutput { method process_honey (line 106) | async fn process_honey(&self, mapping: Mapping, script: &str) -> Process... function test_process_honey (line 154) | fn test_process_honey() { function test_correct_original_mapping_order (line 195) | fn test_correct_original_mapping_order() { FILE: backend/tauri/src/enhance/script/runner.rs type ProcessOutput (line 11) | pub type ProcessOutput = (Result, Logs); type Runner (line 33) | pub trait Runner: Send + Sync { method try_new (line 34) | fn try_new() -> Result method process (line 39) | async fn process(&self, mapping: Mapping, path: &str) -> ProcessOutput; method process_honey (line 43) | async fn process_honey(&self, mapping: Mapping, script: &str) -> Proce... type RunnerManager (line 49) | pub struct RunnerManager { method new (line 54) | pub fn new() -> Self { method get_or_init_runner (line 60) | pub fn get_or_init_runner(&mut self, script_type: &ScriptType) -> anyh... method process_script (line 71) | pub async fn process_script( FILE: backend/tauri/src/enhance/tun.rs function use_tun (line 26) | pub fn use_tun(mut config: Mapping, enable: bool) -> Mapping { function use_dns_for_tun (line 77) | fn use_dns_for_tun(mut config: Mapping) -> Mapping { FILE: backend/tauri/src/enhance/utils.rs function convert_uids_to_scripts (line 11) | pub fn convert_uids_to_scripts(profiles: &Profiles, uids: &[ProfileUid])... type LogSpan (line 20) | pub enum LogSpan { method as_ref (line 28) | fn as_ref(&self) -> &str { type Logs (line 38) | pub type Logs = Vec<(LogSpan, String)>; type LogsExt (line 39) | pub trait LogsExt { method span (line 40) | fn span>(&mut self, span: LogSpan, msg: T); method log (line 41) | fn log>(&mut self, msg: T); method info (line 42) | fn info>(&mut self, msg: T); method warn (line 43) | fn warn>(&mut self, msg: T); method error (line 44) | fn error>(&mut self, msg: T); method span (line 47) | fn span>(&mut self, span: LogSpan, msg: T) { method log (line 50) | fn log>(&mut self, msg: T) { method info (line 53) | fn info>(&mut self, msg: T) { method warn (line 56) | fn warn>(&mut self, msg: T) { method error (line 59) | fn error>(&mut self, msg: T) { function take_logs (line 64) | pub fn take_logs(logs: Arc>>) -> Logs { function merge_profiles (line 72) | pub fn merge_profiles>(mappings: IndexMap)... function process_chain (line 92) | pub async fn process_chain( function test_process_chain_order (line 137) | async fn test_process_chain_order() { FILE: backend/tauri/src/event_handler/mod.rs function mount_handlers (line 7) | pub fn mount_handlers(_app: &mut M) FILE: backend/tauri/src/event_handler/widget.rs type WidgetInstance (line 3) | pub enum WidgetInstance { function on_network_statistic_config_changed (line 9) | pub(super) fn on_network_statistic_config_changed( FILE: backend/tauri/src/feat.rs function open_dashboard (line 34) | pub fn open_dashboard() { function close_dashboard (line 44) | pub fn close_dashboard() { function toggle_dashboard (line 53) | pub fn toggle_dashboard() { function restart_clash_core (line 65) | pub fn restart_clash_core() { function change_clash_mode (line 81) | pub fn change_clash_mode(mode: String) { function toggle_system_proxy (line 117) | pub fn toggle_system_proxy() { function enable_system_proxy (line 135) | pub fn enable_system_proxy() { function disable_system_proxy (line 150) | pub fn disable_system_proxy() { function toggle_tun_mode (line 165) | pub fn toggle_tun_mode() { function enable_tun_mode (line 183) | pub fn enable_tun_mode() { function disable_tun_mode (line 198) | pub fn disable_tun_mode() { function patch_clash (line 213) | pub async fn patch_clash(patch: Mapping) -> Result<()> { function patch_verge (line 294) | pub async fn patch_verge(patch: IVerge) -> Result<()> { function update_profile (line 424) | pub async fn update_profile>( function update_core_config (line 482) | async fn update_core_config() -> Result<()> { function copy_clash_env (line 497) | pub fn copy_clash_env(app_handle: &AppHandle, option: &str) { function update_proxies_buff (line 529) | pub fn update_proxies_buff(rx: Option... FILE: backend/tauri/src/ipc.rs type IpcError (line 26) | pub enum IpcError { method from (line 44) | fn from(s: String) -> Self { method serialize (line 50) | fn serialize(&self, serializer: S) -> StdResult method inline (line 59) | fn inline( type Result (line 67) | type Result = StdResult; type GetSysProxyResponse (line 71) | pub struct GetSysProxyResponse { function get_profiles (line 85) | pub fn get_profiles() -> Result { function is_portable (line 92) | pub fn is_portable() -> Result { function is_portable (line 99) | pub fn is_portable() -> Result { function enhance_profiles (line 105) | pub async fn enhance_profiles() -> Result { function import_profile (line 113) | pub async fn import_profile(url: String, option: Option Resu... function reorder_profiles_by_list (line 219) | pub fn reorder_profiles_by_list(list: Vec) -> Result { function update_profile (line 227) | pub async fn update_profile(uid: String, option: Option Result { function patch_profiles_config (line 257) | pub async fn patch_profiles_config(profiles: ProfilesBuilder) -> Result { function patch_profile (line 282) | pub async fn patch_profile(app_handle: AppHandle, uid: String, profile: ... function view_profile (line 328) | pub fn view_profile(app_handle: tauri::AppHandle, uid: String) -> Result { function read_profile_file (line 348) | pub fn read_profile_file(uid: String) -> Result { function save_profile_file (line 365) | pub fn save_profile_file(uid: String, file_data: Option) -> Resu... function get_clash_info (line 379) | pub fn get_clash_info() -> Result { function get_runtime_config (line 386) | pub fn get_runtime_config() -> Result> { function get_runtime_yaml (line 400) | pub fn get_runtime_yaml() -> Result { function get_runtime_exists (line 414) | pub fn get_runtime_exists() -> Result> { function get_postprocessing_output (line 420) | pub fn get_postprocessing_output() -> Result { function get_core_status (line 426) | pub async fn get_core_status<'n>() -> Result<(Cow<'n, CoreState>, i64, R... function url_delay_test (line 432) | pub async fn url_delay_test(url: &str, expected_status: u16) -> Result Result { function patch_clash_config (line 446) | pub async fn patch_clash_config(payload: PatchRuntimeConfig) -> Result { function get_verge_config (line 467) | pub fn get_verge_config() -> Result { function patch_verge_config (line 473) | pub async fn patch_verge_config(payload: IVerge) -> Result { function change_clash_core (line 480) | pub async fn change_clash_core(clash_core: Option) ... function restart_sidecar (line 488) | pub async fn restart_sidecar() -> Result { function get_sys_proxy (line 497) | pub fn get_sys_proxy() -> Result { function get_clash_logs (line 513) | pub fn get_clash_logs() -> Result> { function open_app_config_dir (line 519) | pub fn open_app_config_dir() -> Result<()> { function open_app_data_dir (line 527) | pub fn open_app_data_dir() -> Result<()> { function open_core_dir (line 535) | pub fn open_core_dir() -> Result<()> { function get_core_dir (line 546) | pub fn get_core_dir() -> Result { function open_logs_dir (line 557) | pub fn open_logs_dir() -> Result<()> { function open_web_url (line 565) | pub fn open_web_url(url: String) -> Result<()> { function fetch_latest_core_versions (line 572) | pub async fn fetch_latest_core_versions() -> Result Result { function update_core (line 618) | pub async fn update_core(core_type: nyanpasu::ClashCore) -> Result { function inspect_updater (line 629) | pub async fn inspect_updater(updater_id: usize) -> Result Result Result Result<()> { function update_proxy_provider (line 692) | pub async fn update_proxy_provider(name: String) -> Result<()> { function collect_envs (line 704) | pub fn collect_envs<'a>() -> Result> { function open_that (line 710) | pub fn open_that(path: String) -> Result { function is_appimage (line 717) | pub fn is_appimage() -> Result { function get_custom_app_dir (line 724) | pub fn get_custom_app_dir() -> Result> { function get_custom_app_dir (line 736) | pub fn get_custom_app_dir() -> Result> { function set_custom_app_dir (line 743) | pub async fn set_custom_app_dir(app_handle: tauri::AppHandle, path: Stri... function restart_application (line 782) | pub fn restart_application(app_handle: tauri::AppHandle) -> Result { function get_server_port (line 789) | pub fn get_server_port() -> Result { function set_custom_app_dir (line 796) | pub async fn set_custom_app_dir(_path: String) -> Result { function invoke_uwp_tool (line 807) | pub async fn invoke_uwp_tool() -> Result { function set_tray_icon (line 815) | pub async fn set_tray_icon( function is_tray_icon_set (line 827) | pub async fn is_tray_icon_set(mode: TrayIcon) -> Result { function status_service (line 838) | pub async fn status_service<'a>() -> Result Result { function uninstall_service (line 852) | pub async fn uninstall_service() -> Result { function start_service (line 859) | pub async fn start_service() -> Result { function stop_service (line 876) | pub async fn stop_service() -> Result { function restart_service (line 893) | pub async fn restart_service() -> Result { function invoke_uwp_tool (line 915) | pub async fn invoke_uwp_tool() -> Result { function get_service_install_prompt (line 922) | pub async fn get_service_install_prompt() -> Result { function cleanup_processes (line 937) | pub fn cleanup_processes(app_handle: AppHandle) -> Result { constant WEB_STORAGE_KEY_PREFIX (line 945) | const WEB_STORAGE_KEY_PREFIX: &str = "web:"; function web_key (line 947) | fn web_key(key: &str) -> String { function get_storage_item (line 953) | pub fn get_storage_item(app_handle: AppHandle, key: String) -> Result Result { type StorageEntry (line 976) | pub struct StorageEntry { function get_all_storage_items (line 986) | pub fn get_all_storage_items(app_handle: AppHandle) -> Result Result { function get_clash_ws_connections_state (line 1022) | pub async fn get_clash_ws_connections_state( type UpdateWrapper (line 1033) | pub struct UpdateWrapper { function check_update (line 1045) | pub async fn check_update(webview: tauri::Webview) -> Result R... function create_main_window (line 1129) | pub fn create_main_window(app_handle: AppHandle) -> Result<()> { function create_legacy_window (line 1144) | pub fn create_legacy_window(app_handle: AppHandle) -> Result<()> { function create_editor_window (line 1159) | pub fn create_editor_window(app_handle: AppHandle, uid: String) -> Resul... FILE: backend/tauri/src/lib.rs function deadlock_detection (line 42) | fn deadlock_detection() { function run (line 67) | pub fn run() -> std::io::Result<()> { FILE: backend/tauri/src/logging/indexer.rs type LoggingLevel (line 23) | pub enum LoggingLevel { type LogEntry (line 33) | pub struct LogEntry { type CurrentPos (line 51) | struct CurrentPos { type Query (line 57) | pub struct Query { type LineNumber (line 70) | pub type LineNumber = u64; type Timestamp (line 71) | pub type Timestamp = u64; type LogIndex (line 73) | struct LogIndex { method fmt (line 91) | fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { method new (line 127) | pub fn new() -> Self { method add_entry (line 140) | pub fn add_entry(&mut self, entry: LogEntry) { method query (line 203) | pub fn query(&self, query: Query) -> Option> { type Indexer (line 294) | pub struct Indexer { method new (line 308) | pub fn new(path: Utf8PathBuf) -> Self { method handle_line (line 316) | fn handle_line( method build_index (line 339) | pub async fn build_index(&mut self) -> anyhow::Result<()> { method query (line 363) | pub fn query(&self, query: Query) -> Option> { method on_file_change (line 367) | pub async fn on_file_change(&mut self) -> anyhow::Result<()> { type TracingJson (line 301) | struct TracingJson { function test_log_index (line 395) | fn test_log_index() { function create_test_log_file (line 508) | fn create_test_log_file(entries: Vec<&str>) -> anyhow::Result<(NamedTemp... function append_to_log_file (line 521) | fn append_to_log_file(file: &mut NamedTempFile, entries: Vec<&str>) -> a... function get_sample_log_entries (line 529) | fn get_sample_log_entries() -> Vec<&'static str> { function get_additional_log_entries (line 538) | fn get_additional_log_entries() -> Vec<&'static str> { function test_indexer_creation (line 546) | fn test_indexer_creation() { function test_build_index (line 559) | async fn test_build_index() -> anyhow::Result<()> { function test_on_file_change (line 612) | async fn test_on_file_change() -> anyhow::Result<()> { function test_indexer_with_target_filter (line 665) | async fn test_indexer_with_target_filter() -> anyhow::Result<()> { function test_indexer_complex_query (line 697) | async fn test_indexer_complex_query() -> anyhow::Result<()> { FILE: backend/tauri/src/logging/manager.rs type IndexerManager (line 23) | pub struct IndexerManager { method try_new (line 44) | pub async fn try_new(logging_dir: Utf8PathBuf) -> anyhow::Result { type Target (line 28) | type Target = IndexerRunnerGuard; method deref (line 30) | fn deref(&self) -> &Self::Target { function is_log_file (line 35) | async fn is_log_file(path: &Utf8Path) -> anyhow::Result { type IndexerManagerRunner (line 55) | pub struct IndexerManagerRunner { method new_and_spawn (line 79) | pub async fn new_and_spawn() -> IndexerRunnerGuard { method spawn_task (line 91) | fn spawn_task( method run_cmd (line 128) | async fn run_cmd(&mut self, cmd_tx: &UnboundedSender... method spawn_watcher (line 169) | async fn spawn_watcher( method scan (line 231) | pub async fn scan(&mut self, logging_dir: &Utf8Path) -> anyhow::Result... method recommended_watcher (line 247) | pub fn recommended_watcher( type IndexerRunnerCmd (line 60) | pub enum IndexerRunnerCmd { type IndexerRunnerGuard (line 72) | pub struct IndexerRunnerGuard { method watch (line 283) | pub async fn watch(&self, logging_dir: &Utf8Path) -> anyhow::Result<()> { FILE: backend/tauri/src/logging/mod.rs constant LOGGING_NS (line 4) | const LOGGING_NS: &str = "logging"; constant LOGGING_DB_PREFIX (line 5) | const LOGGING_DB_PREFIX: &str = "logging"; function setup (line 14) | pub fn setup>(app: &M) -> anyhow... FILE: backend/tauri/src/main.rs function main (line 3) | fn main() { FILE: backend/tauri/src/server/mod.rs constant CACHE_TIMEOUT (line 24) | const CACHE_TIMEOUT: Duration = Duration::from_secs(60 * 60 * 24 * 7); type CacheIcon (line 27) | struct CacheIcon { type CacheFile (line 33) | struct CacheFile<'n> { type Error (line 39) | type Error = anyhow::Error; function try_from (line 41) | fn try_from(value: CacheFile<'static>) -> Result { function read_cache_file (line 53) | async fn read_cache_file(path: &Path) -> Result<(HeaderValue, Bytes)> { function write_cache_file (line 60) | async fn write_cache_file(path: &Path, cache_file: &CacheFile<'_>) -> Re... function remove_cache_file (line 67) | async fn remove_cache_file(cache_file: &Path) { function cache_icon_inner (line 73) | async fn cache_icon_inner(url: &str) -> Result<(HeaderValue, Bytes)> { function cache_icon (line 131) | async fn cache_icon(query: Query) -> Response { type TrayIconReq (line 148) | struct TrayIconReq { function tray_icon (line 152) | async fn tray_icon(query: Query) -> Response { function run (line 163) | pub async fn run(port: u16) -> std::io::Result<()> { FILE: backend/tauri/src/setup.rs function setup (line 4) | pub fn setup>(app: &M) -> Result... FILE: backend/tauri/src/shutdown_hook.rs type ShutdownState (line 23) | pub enum ShutdownState { function setup_shutdown_hook (line 31) | pub fn setup_shutdown_hook(f: impl Fn() + Send + Sync + 'static) -> anyh... type WindowHandle (line 45) | struct WindowHandle { method drop (line 51) | fn drop(&mut self) { function callback (line 60) | unsafe extern "system" fn callback(hwnd: HWND, msg: u32, wparam: WPARAM,... function set_ready_for_shutdown (line 102) | pub fn set_ready_for_shutdown() { function setup_shutdown_hook_inner (line 109) | fn setup_shutdown_hook_inner( FILE: backend/tauri/src/utils/candy.rs function collect_logs (line 9) | pub fn collect_logs(target_path: &Path) -> Result<()> { function get_reqwest_client (line 33) | pub fn get_reqwest_client() -> Result { constant INTERNAL_MIRRORS (line 43) | pub const INTERNAL_MIRRORS: &[&str] = &[ function parse_gh_url (line 50) | pub fn parse_gh_url(mirror: &str, path: &str) -> Result( method mirror_speed_test (line 71) | async fn mirror_speed_test<'a>( function test_mirror_speed_test (line 130) | async fn test_mirror_speed_test() { FILE: backend/tauri/src/utils/collect.rs type DeviceInfo (line 13) | pub struct DeviceInfo<'a> { type EnvInfo (line 23) | pub struct EnvInfo<'a> { type CoreInfo (line 33) | pub type CoreInfo<'a> = HashMap, Cow<'a, str>>; function collect_envs (line 35) | pub fn collect_envs<'a>() -> Result, std::io::Error> { FILE: backend/tauri/src/utils/config.rs function get_self_proxy (line 6) | pub fn get_self_proxy() -> Result { function get_system_proxy (line 16) | pub fn get_system_proxy() -> Result> { function get_current_clash_mode (line 26) | pub fn get_current_clash_mode() -> String { type NyanpasuReqwestProxyExt (line 36) | pub trait NyanpasuReqwestProxyExt { method swift_set_proxy (line 37) | fn swift_set_proxy(self, url: &str) -> Self; method swift_set_nyanpasu_proxy (line 39) | fn swift_set_nyanpasu_proxy(self) -> Self; method swift_set_proxy (line 43) | fn swift_set_proxy(self, url: &str) -> Self { method swift_set_nyanpasu_proxy (line 58) | fn swift_set_nyanpasu_proxy(self) -> Self { FILE: backend/tauri/src/utils/dialog.rs function panic_dialog (line 6) | pub fn panic_dialog(msg: &str) { function migrate_dialog (line 16) | pub fn migrate_dialog(msg: &str) -> bool { function error_dialog (line 28) | pub fn error_dialog>(msg: T) { function warning_dialog (line 37) | pub fn warning_dialog>(msg: T) { function ask_dialog (line 46) | pub fn ask_dialog>(msg: T) -> bool { FILE: backend/tauri/src/utils/dirs.rs constant PREVIOUS_APP_NAME (line 11) | const PREVIOUS_APP_NAME: &str = "clash-verge"; constant PREVIOUS_APP_NAME (line 13) | const PREVIOUS_APP_NAME: &str = "clash-verge-dev"; constant APP_NAME (line 15) | pub const APP_NAME: &str = "clash-nyanpasu"; constant APP_NAME (line 17) | pub const APP_NAME: &str = "clash-nyanpasu-dev"; constant CLASH_CFG_GUARD_OVERRIDES (line 33) | pub const CLASH_CFG_GUARD_OVERRIDES: &str = "clash-guard-overrides.yaml"; constant NYANPASU_CONFIG (line 34) | pub const NYANPASU_CONFIG: &str = "nyanpasu-config.yaml"; constant PROFILE_YAML (line 35) | pub const PROFILE_YAML: &str = "profiles.yaml"; constant STORAGE_DB (line 36) | pub const STORAGE_DB: &str = "storage.db"; function get_app_version (line 40) | pub fn get_app_version() -> &'static str { function get_portable_flag (line 45) | pub fn get_portable_flag() -> bool { function app_config_dir (line 49) | pub fn app_config_dir() -> Result { function app_data_dir (line 79) | pub fn app_data_dir() -> Result { function app_home_dir (line 112) | pub fn app_home_dir() -> Result { function app_resources_dir (line 144) | pub fn app_resources_dir() -> Result { function app_install_dir (line 171) | pub fn app_install_dir() -> Result { function app_profiles_dir (line 181) | pub fn app_profiles_dir() -> Result { function app_logs_dir (line 191) | pub fn app_logs_dir() -> Result { function clash_guard_overrides_path (line 200) | pub fn clash_guard_overrides_path() -> Result { function nyanpasu_config_path (line 204) | pub fn nyanpasu_config_path() -> Result { function profiles_path (line 208) | pub fn profiles_path() -> Result { function storage_path (line 212) | pub fn storage_path() -> Result { function clash_pid_path (line 216) | pub fn clash_pid_path() -> Result { function cache_dir (line 220) | pub fn cache_dir() -> Result { function tray_icons_path (line 229) | pub fn tray_icons_path(mode: &str) -> Result { function service_log_file (line 240) | pub fn service_log_file() -> Result { function path_to_str (line 254) | pub fn path_to_str(path: &PathBuf) -> Result<&str> { function get_single_instance_placeholder (line 262) | pub fn get_single_instance_placeholder() -> Result { function create_dir_all (line 291) | fn create_dir_all(dir: &PathBuf) -> Result<(), std::io::Error> { function get_data_or_sidecar_path (line 306) | pub fn get_data_or_sidecar_path(binary_name: impl AsRef) -> Result<... function check_core_permission (line 329) | pub fn check_core_permission(core: &nyanpasu_utils::core::CoreType) -> a... function test_dir_placeholder (line 357) | fn test_dir_placeholder() { FILE: backend/tauri/src/utils/dock.rs function show_dock_icon (line 10) | pub fn show_dock_icon() { function hide_dock_icon (line 18) | pub fn hide_dock_icon() { FILE: backend/tauri/src/utils/downloader.rs type Downloader (line 25) | pub struct Downloader { function fmt (line 33) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type DownloaderInner (line 44) | struct DownloaderInner { method default (line 54) | fn default() -> Self { type DownloaderBuilder (line 66) | pub struct DownloaderBuilder { function new (line 74) | pub fn new() -> Self { function set_client (line 83) | pub fn set_client(mut self, client: Client) -> Self { function set_url (line 88) | pub fn set_url(mut self, url: U) -> Result Self { function set_event_callback (line 98) | pub fn set_event_callback(mut self, callback: F) -> Self { function build (line 103) | pub fn build(self) -> Result, DownloaderError> { type DownloaderState (line 125) | pub enum DownloaderState { type DownloadMode (line 136) | pub enum DownloadMode { type DownloadStatus (line 143) | pub struct DownloadStatus { type ChunkStatus (line 154) | pub struct ChunkStatus { type ChunkThreadEvent (line 162) | enum ChunkThreadEvent { type DecreaseSemaphoreReason (line 167) | enum DecreaseSemaphoreReason { type ChunkThreadState (line 173) | enum ChunkThreadState { type ChunkThread (line 180) | struct ChunkThread { method try_new (line 487) | pub fn try_new( type DownloaderError (line 194) | pub enum DownloaderError { method serialize (line 210) | fn serialize(&self, serializer: S) -> Result function set_file (line 220) | pub fn set_file(&self, file: File) { function dispatch_event (line 225) | fn dispatch_event(&self, state: DownloaderState) { function confirm_file_status (line 236) | async fn confirm_file_status(&self) -> Result<(String, u64), DownloaderE... function merge_chunks (line 291) | async fn merge_chunks(&self) -> Result<(), DownloaderError> { function download (line 331) | async fn download(&self) -> Result<(), DownloaderError> { function start (line 430) | pub async fn start(&self) -> Result<(), DownloaderError> { function get_cloned_chunks (line 440) | fn get_cloned_chunks(&self) -> Vec>> { function get_total_size (line 445) | fn get_total_size(&self) -> u64 { function get_current_status (line 450) | pub fn get_current_status(&self) -> DownloadStatus { type SafeChunkThread (line 480) | trait SafeChunkThread { method dispatch_event (line 481) | fn dispatch_event(&self, state: ChunkThreadState); method download_chunk (line 482) | async fn download_chunk(&self) -> Result<(), anyhow::Error>; method start (line 483) | async fn start(&self); method dispatch_event (line 513) | fn dispatch_event(&self, state: ChunkThreadState) { method download_chunk (line 522) | async fn download_chunk(&self) -> Result<(), anyhow::Error> { method start (line 572) | async fn start(&self) { function test_downloader (line 633) | async fn test_downloader() { FILE: backend/tauri/src/utils/help.rs function read_yaml (line 27) | pub fn read_yaml>(path: P) -> Result... function read_merge_mapping (line 45) | pub fn read_merge_mapping(path: &PathBuf) -> Result { function save_yaml (line 61) | pub fn save_yaml>( constant ALPHABET (line 79) | const ALPHABET: [char; 62] = [ function get_uid (line 87) | pub fn get_uid(prefix: &str) -> String { function parse_str (line 94) | pub fn parse_str(target: &str, key: &str) -> Option { function open_file (line 106) | pub fn open_file(app: tauri::AppHandle, path: PathBuf) -> Result<()> { function get_system_locale (line 149) | pub fn get_system_locale() -> String { function mapping_to_i18n_key (line 153) | pub fn mapping_to_i18n_key(locale_key: &str) -> &'static str { function get_clash_external_port (line 163) | pub fn get_clash_external_port( function resize_tray_image (line 187) | pub fn resize_tray_image(img: &[u8], scale_factor: f64) -> Result f64 { function cleanup_processes (line 249) | pub fn cleanup_processes(app_handle: &AppHandle) { function quit_application (line 264) | pub fn quit_application(app_handle: &AppHandle) { function restart_application (line 269) | pub fn restart_application(app_handle: &AppHandle) { function test_parse_value (line 335) | fn test_parse_value() { FILE: backend/tauri/src/utils/init/logging.rs type ReloadSignal (line 23) | pub type ReloadSignal = (Option, Option<... type Channel (line 25) | struct Channel(Option>); method globals (line 27) | fn globals() -> &'static Mutex { function refresh_logger (line 33) | pub fn refresh_logger(signal: ReloadSignal) -> Result<()> { function get_file_appender (line 44) | fn get_file_appender(max_files: usize) -> Result<(NonBlocking, WorkerGua... function init (line 56) | pub fn init() -> Result<()> { FILE: backend/tauri/src/utils/init/mod.rs function run_pending_migrations (line 21) | pub fn run_pending_migrations() -> Result<()> { function init_config (line 104) | pub fn init_config() -> Result<()> { function init_resources (line 167) | pub fn init_resources() -> Result<()> { function init_service (line 227) | pub fn init_service() -> Result<()> { function check_singleton (line 267) | pub fn check_singleton() -> Result ... FILE: backend/tauri/src/utils/net.rs function url_delay_test (line 6) | pub async fn url_delay_test(url: &str, expected_status: u16) -> Option anyhow::Result { FILE: backend/tauri/src/utils/open.rs function that (line 3) | pub fn that>(path: T) -> std::io::Result<()> { function with (line 16) | pub fn with>(path: T, program: &str) -> std::io::Result<... FILE: backend/tauri/src/utils/resolve.rs function is_window_opened (line 24) | pub fn is_window_opened() -> bool { function reset_window_open_counter (line 28) | pub fn reset_window_open_counter() { function set_window_controls_pos (line 33) | fn set_window_controls_pos( function find_unused_port (line 81) | pub fn find_unused_port() -> Result { function resolve_setup (line 99) | pub fn resolve_setup(app: &mut App) { function resolve_reset (line 211) | pub fn resolve_reset() { type MainWindow (line 217) | struct MainWindow; method label (line 220) | fn label(&self) -> &str { method title (line 224) | fn title(&self) -> &str { method url (line 228) | fn url(&self) -> &str { method config (line 232) | fn config(&self) -> WindowConfig { method get_window_state (line 241) | fn get_window_state(&self) -> Option { method set_window_state (line 245) | fn set_window_state(&self, state: Option) { type EditorWindow (line 254) | struct EditorWindow { method new (line 259) | fn new(uid: &str) -> Self { method label (line 267) | fn label(&self) -> &str { method title (line 271) | fn title(&self) -> &str { method url (line 275) | fn url(&self) -> &str { method config (line 279) | fn config(&self) -> WindowConfig { method get_window_state (line 288) | fn get_window_state(&self) -> Option { method set_window_state (line 293) | fn set_window_state(&self, _state: Option) { type LegacyWindow (line 299) | struct LegacyWindow; method label (line 302) | fn label(&self) -> &str { method title (line 306) | fn title(&self) -> &str { method url (line 310) | fn url(&self) -> &str { method config (line 314) | fn config(&self) -> WindowConfig { method get_window_state (line 323) | fn get_window_state(&self) -> Option { method set_window_state (line 327) | fn set_window_state(&self, state: Option) { function create_main_window (line 337) | pub fn create_main_window(app_handle: &AppHandle) { function close_main_window (line 342) | pub fn close_main_window(app_handle: &AppHandle) { function is_main_window_open (line 347) | pub fn is_main_window_open(app_handle: &AppHandle) -> bool { function save_main_window_state (line 351) | pub fn save_main_window_state(app_handle: &AppHandle, save_to_file: bool... function create_legacy_window (line 357) | pub fn create_legacy_window(app_handle: &AppHandle) { function close_legacy_window (line 362) | pub fn close_legacy_window(app_handle: &AppHandle) { function is_legacy_window_open (line 367) | pub fn is_legacy_window_open(app_handle: &AppHandle) -> bool { function save_legacy_window_state (line 371) | pub fn save_legacy_window_state(app_handle: &AppHandle, save_to_file: bo... function create_window (line 378) | pub fn create_window(app_handle: &AppHandle) { function close_window (line 389) | pub fn close_window(app_handle: &AppHandle) { function is_window_open (line 400) | pub fn is_window_open(app_handle: &AppHandle) -> bool { function save_window_state (line 411) | pub fn save_window_state(app_handle: &AppHandle, save_to_file: bool) -> ... function create_editor_window (line 423) | pub fn create_editor_window(app_handle: &AppHandle, uid: &str) -> Result... function close_editor_window (line 431) | pub fn close_editor_window(app_handle: &AppHandle, uid: &str) { function is_editor_window_open (line 437) | pub fn is_editor_window_open(app_handle: &AppHandle, uid: &str) -> bool { function resolve_core_version (line 446) | pub async fn resolve_core_version(app_handle: &AppHandle, core_type: &Cl... FILE: backend/tauri/src/utils/sudo.rs function sudo (line 6) | pub fn sudo, T: AsRef>(bin: M, args: &[T]) -> std::io... FILE: backend/tauri/src/utils/winhelp.rs function get_function_impl (line 14) | fn get_function_impl(library: &str, function: &str) -> Option { function get_windows_ver (line 34) | fn get_windows_ver() -> Option<(u32, u32, u32)> { function is_win11 (line 61) | pub fn is_win11() -> bool { function test_version (line 67) | fn test_version() { FILE: backend/tauri/src/utils/winreg.rs function get_app_dir (line 16) | pub fn get_app_dir() -> Result> { function set_app_dir (line 39) | pub fn set_app_dir(path: &Path) -> Result<()> { function get_current_user_sid (line 49) | pub fn get_current_user_sid() -> Result { FILE: backend/tauri/src/utils/winreg_test.rs function test_get_current_user_sid (line 7) | fn test_get_current_user_sid() { function test_get_single_instance_placeholder_with_sid (line 19) | fn test_get_single_instance_placeholder_with_sid() { FILE: backend/tauri/src/widget.rs type WidgetManager (line 21) | pub struct WidgetManager { method new (line 32) | pub fn new() -> Self { method register_listener (line 39) | fn register_listener(&self, mut receiver: BroadcastReceiver... method start (line 96) | pub async fn start(&self, widget: StatisticWidgetVariant) -> anyhow::R... method stop (line 144) | pub async fn stop(&self) -> anyhow::Result<()> { method is_running (line 178) | pub async fn is_running(&self) -> bool { type WidgetManagerInstance (line 26) | struct WidgetManagerInstance { method is_alive (line 187) | pub fn is_alive(&mut self) -> bool { method send_message (line 191) | fn send_message(&self, message: Message) -> anyhow::Result<()> { method drop (line 202) | fn drop(&mut self) { function setup (line 219) | pub async fn setup>( FILE: backend/tauri/src/window.rs type WindowConfig (line 33) | pub struct WindowConfig { method new (line 78) | pub fn new() -> Self { method singleton (line 83) | pub fn singleton(mut self, singleton: bool) -> Self { method visible_on_create (line 89) | pub fn visible_on_create(mut self, visible: bool) -> Self { method default_size (line 95) | pub fn default_size(mut self, width: f64, height: f64) -> Self { method min_size (line 101) | pub fn min_size(mut self, width: f64, height: f64) -> Self { method max_size (line 107) | pub fn max_size(mut self, width: f64, height: f64) -> Self { method center (line 113) | pub fn center(mut self, center: bool) -> Self { method resizable (line 119) | pub fn resizable(mut self, resizable: bool) -> Self { method always_on_top (line 125) | pub fn always_on_top(mut self, always_on_top: bool) -> Self { method skip_taskbar (line 131) | pub fn skip_taskbar(mut self, skip: bool) -> Self { method default (line 59) | fn default() -> Self { type WindowParams (line 138) | pub type WindowParams = HashMap; type WindowParamsBuilder (line 142) | pub struct WindowParamsBuilder { method new (line 147) | pub fn new() -> Self { method param (line 152) | pub fn param(mut self, key: impl Into, value: impl Into, value: Option Option { function build_url_with_params (line 190) | pub fn build_url_with_params(base_url: &str, params: Option<&WindowParam... type WindowManager (line 204) | pub struct WindowManager { method global (line 211) | pub fn global() -> &'static Mutex { method generate_label (line 219) | pub fn generate_label(&mut self, base_label: &str, singleton: bool) ->... method remove_instance (line 244) | pub fn remove_instance(&mut self, label: &str) { method get_instances (line 251) | pub fn get_instances(&self, base_label: &str) -> Vec { method has_instance (line 256) | pub fn has_instance(&self, label: &str) -> bool { method instance_count (line 263) | pub fn instance_count(&self, base_label: &str) -> usize { type ReactAppMountedEvent (line 270) | pub struct ReactAppMountedEvent; type WindowMessageEvent (line 274) | pub struct WindowMessageEvent { method new (line 287) | pub fn new( method broadcast (line 302) | pub fn broadcast( function send_message_to_window (line 312) | pub fn send_message_to_window(app_handle: &AppHandle, message: WindowMes... function broadcast_to_window_type (line 324) | pub fn broadcast_to_window_type( function broadcast_to_all_windows (line 349) | pub fn broadcast_to_all_windows( type WindowCreateResult (line 361) | pub struct WindowCreateResult { method new (line 369) | fn new(label: String) -> Self { method existing (line 376) | fn existing(label: String) -> Self { type AppWindow (line 385) | pub trait AppWindow { method label (line 387) | fn label(&self) -> &str; method title (line 390) | fn title(&self) -> &str; method url (line 393) | fn url(&self) -> &str; method config (line 396) | fn config(&self) -> WindowConfig { method get_window_state (line 401) | fn get_window_state(&self) -> Option; method set_window_state (line 404) | fn set_window_state(&self, state: Option); method reset_window_open_counter (line 406) | fn reset_window_open_counter(&self) { method create_with_params (line 413) | fn create_with_params( method create (line 671) | fn create(&self, app_handle: &AppHandle) -> Result<()> { method close_by_label (line 707) | fn close_by_label(&self, app_handle: &AppHandle, label: &str) { method close (line 715) | fn close(&self, app_handle: &AppHandle) { method close_all (line 720) | fn close_all(&self, app_handle: &AppHandle) { method is_open (line 731) | fn is_open(&self, app_handle: &AppHandle) -> bool { method has_any_instance (line 736) | fn has_any_instance(&self, app_handle: &AppHandle) -> bool { method get_open_instances (line 745) | fn get_open_instances(&self, app_handle: &AppHandle) -> Vec { method send_message (line 755) | fn send_message( method broadcast_to_type (line 767) | fn broadcast_to_type( method save_state (line 778) | fn save_state(&self, app_handle: &AppHandle, save_to_file: bool) -> Re... type Position (line 848) | pub struct Position { method from (line 854) | fn from(value: (f64, f64)) -> Self { function from (line 863) | fn from(value: Position) -> Self { function set_traffic_lights_pos (line 868) | fn set_traffic_lights_pos( type WindowState (line 916) | struct WindowState { method new (line 922) | fn new(window: WebviewWindow, traffic_lights_pos: Position... method with_ns_window (line 929) | fn with_ns_window(&self, func: impl FnOnce(Retained) -> T... method apply_traffic_lights_pos (line 936) | fn apply_traffic_lights_pos(&self) { type TrafficLightsWindowDelegateIvars (line 945) | struct TrafficLightsWindowDelegateIvars { constant WINDOW_DID_ENTER_FULL_SCREEN (line 950) | const WINDOW_DID_ENTER_FULL_SCREEN: &str = "internal:://window-did-enter... constant WINDOW_WILL_ENTER_FULL_SCREEN (line 951) | const WINDOW_WILL_ENTER_FULL_SCREEN: &str = "internal:://window-will-ent... constant WINDOW_WILL_EXIT_FULL_SCREEN (line 952) | const WINDOW_WILL_EXIT_FULL_SCREEN: &str = "internal:://window-will-exit... constant WINDOW_DID_EXIT_FULL_SCREEN (line 953) | const WINDOW_DID_EXIT_FULL_SCREEN: &str = "internal:://window-did-exit-f... method new (line 1061) | pub fn new(window_state: WindowState, mtm: MainThreadMarker) -> Retained... type TrafficLightsWindowDelegateGuard (line 1074) | pub struct TrafficLightsWindowDelegateGuard { function setup_traffic_lights_pos (line 1083) | pub fn setup_traffic_lights_pos(window: WebviewWindow, pos: (f64, f64), ... FILE: frontend/interface/src/hooks/use-kv-storage.ts constant LOCAL_CACHE_PREFIX (line 4) | const LOCAL_CACHE_PREFIX = 'nyanpasu-kv-:' constant WEB_KEY_PREFIX (line 6) | const WEB_KEY_PREFIX = 'web:' function getLocalCache (line 8) | function getLocalCache(key: string, defaultValue: T): T { function setLocalCache (line 22) | function setLocalCache(key: string, value: T): void { function removeLocalCache (line 30) | function removeLocalCache(key: string): void { type UseKvStorageOptions (line 34) | interface UseKvStorageOptions { function useKvStorage (line 53) | function useKvStorage( method getAll (line 166) | async getAll(): Promise> { method clear (line 185) | async clear(): Promise { FILE: frontend/interface/src/ipc/bindings.ts method getSysProxy (line 21) | async getSysProxy(): Promise> { method openAppConfigDir (line 29) | async openAppConfigDir(): Promise> { method openAppDataDir (line 37) | async openAppDataDir(): Promise> { method openLogsDir (line 45) | async openLogsDir(): Promise> { method openWebUrl (line 53) | async openWebUrl(url: string): Promise> { method openCoreDir (line 61) | async openCoreDir(): Promise> { method restartSidecar (line 72) | async restartSidecar(): Promise> { method getClashInfo (line 80) | async getClashInfo(): Promise> { method getClashLogs (line 88) | async getClashLogs(): Promise> { method patchClashConfig (line 99) | async patchClashConfig( method changeClashCore (line 112) | async changeClashCore( method getRuntimeConfig (line 128) | async getRuntimeConfig(): Promise> { method getRuntimeYaml (line 136) | async getRuntimeYaml(): Promise> { method getRuntimeExists (line 144) | async getRuntimeExists(): Promise> { method getPostprocessingOutput (line 152) | async getPostprocessingOutput(): Promise< method clashApiGetProxyDelay (line 165) | async clashApiGetProxyDelay( method invokeUwpTool (line 179) | async invokeUwpTool(): Promise> { method fetchLatestCoreVersions (line 187) | async fetchLatestCoreVersions(): Promise< method updateCore (line 200) | async updateCore(coreType: ClashCore): Promise> { method inspectUpdater (line 211) | async inspectUpdater( method getCoreVersion (line 224) | async getCoreVersion(coreType: ClashCore): Promise> { method getVergeConfig (line 243) | async getVergeConfig(): Promise> { method patchVergeConfig (line 251) | async patchVergeConfig(payload: IVerge): Promise> { method getProfiles (line 262) | async getProfiles(): Promise> { method enhanceProfiles (line 270) | async enhanceProfiles(): Promise> { method patchProfilesConfig (line 281) | async patchProfilesConfig( method viewProfile (line 294) | async viewProfile(uid: string): Promise> { method patchProfile (line 305) | async patchProfile( method createProfile (line 322) | async createProfile( method importProfile (line 336) | async importProfile( method reorderProfile (line 350) | async reorderProfile( method reorderProfilesByList (line 364) | async reorderProfilesByList(list: string[]): Promise> { method readProfileFile (line 400) | async readProfileFile(uid: string): Promise> { method saveProfileFile (line 411) | async saveProfileFile( method getCustomAppDir (line 425) | async getCustomAppDir(): Promise> { method setCustomAppDir (line 433) | async setCustomAppDir(path: string): Promise> { method statusService (line 444) | async statusService(): Promise> { method installService (line 452) | async installService(): Promise> { method uninstallService (line 460) | async uninstallService(): Promise> { method startService (line 468) | async startService(): Promise> { method stopService (line 476) | async stopService(): Promise> { method restartService (line 484) | async restartService(): Promise> { method isPortable (line 492) | async isPortable(): Promise> { method getProxies (line 500) | async getProxies(): Promise> { method selectProxy (line 508) | async selectProxy( method updateProxyProvider (line 522) | async updateProxyProvider(name: string): Promise> { method restartApplication (line 533) | async restartApplication(): Promise> { method collectEnvs (line 541) | async collectEnvs(): Promise> { method getServerPort (line 549) | async getServerPort(): Promise> { method setTrayIcon (line 557) | async setTrayIcon( method isTrayIconSet (line 571) | async isTrayIconSet(mode: TrayIcon): Promise> { method getCoreStatus (line 582) | async getCoreStatus(): Promise> { method openThat (line 612) | async openThat(path: string): Promise> { method isAppimage (line 620) | async isAppimage(): Promise> { method getServiceInstallPrompt (line 628) | async getServiceInstallPrompt(): Promise> { method cleanupProcesses (line 639) | async cleanupProcesses(): Promise> { method getStorageItem (line 647) | async getStorageItem(key: string): Promise> { method setStorageItem (line 658) | async setStorageItem( method removeStorageItem (line 672) | async removeStorageItem(key: string): Promise> { method getAllStorageItems (line 687) | async getAllStorageItems(): Promise> { method clearStorage (line 699) | async clearStorage(): Promise> { method mutateProxies (line 707) | async mutateProxies(): Promise> { method getCoreDir (line 715) | async getCoreDir(): Promise> { method getClashWsConnectionsState (line 723) | async getClashWsConnectionsState(): Promise< method checkUpdate (line 736) | async checkUpdate(): Promise> { method saveWindowSizeState (line 744) | async saveWindowSizeState(label: string): Promise> { method createMainWindow (line 755) | async createMainWindow(): Promise> { method createLegacyWindow (line 763) | async createLegacyWindow(): Promise> { method createEditorWindow (line 771) | async createEditorWindow(uid: string): Promise> { type BreakWhenProxyChange (line 802) | type BreakWhenProxyChange = 'none' | 'chain' | 'all' type BuildInfo (line 803) | type BuildInfo = { type ChunkStatus (line 816) | type ChunkStatus = { type ChunkThreadState (line 823) | type ChunkThreadState = 'Idle' | 'Downloading' | 'Finished' type ClashConnectionsConnectorEvent (line 824) | type ClashConnectionsConnectorEvent = type ClashConnectionsConnectorState (line 827) | type ClashConnectionsConnectorState = type ClashConnectionsEvent (line 831) | type ClashConnectionsEvent = ClashConnectionsConnectorEvent type ClashConnectionsInfo (line 832) | type ClashConnectionsInfo = { type ClashCore (line 838) | type ClashCore = type ClashCoreType (line 844) | type ClashCoreType = type ClashInfo (line 850) | type ClashInfo = { type ClashStrategy (line 864) | type ClashStrategy = { type CoreInfos (line 867) | type CoreInfos = { type CoreState (line 873) | type CoreState = 'Running' | { Stopped: string | null } type CoreType (line 874) | type CoreType = { clash: ClashCoreType } | 'singbox' type DelayRes (line 875) | type DelayRes = { delay: number } type DeviceInfo (line 876) | type DeviceInfo = { type DownloadStatus (line 887) | type DownloadStatus = { type DownloaderState (line 895) | type DownloaderState = type EnvInfo (line 902) | type EnvInfo = { type ExternalControllerPortStrategy (line 909) | type ExternalControllerPortStrategy = type GetSysProxyResponse (line 913) | type GetSysProxyResponse = { type IVerge (line 923) | type IVerge = { type JsonValue (line 1102) | type JsonValue = type LocalProfile (line 1109) | type LocalProfile = { type LocalProfileBuilder (line 1144) | type LocalProfileBuilder = { type LogSpan (line 1175) | type LogSpan = 'log' | 'info' | 'warn' | 'error' type LoggingLevel (line 1176) | type LoggingLevel = type ManifestVersionLatest (line 1183) | type ManifestVersionLatest = { type MergeProfile (line 1190) | type MergeProfile = { type MergeProfileBuilder (line 1216) | type MergeProfileBuilder = { type NetworkStatisticWidgetConfig (line 1238) | type NetworkStatisticWidgetConfig = type PatchRuntimeConfig (line 1241) | type PatchRuntimeConfig = { type PostProcessingOutput (line 1250) | type PostProcessingOutput = { type Profile (line 1266) | type Profile = type ProfileBuilder (line 1271) | type ProfileBuilder = type Profiles (line 1279) | type Profiles = { type ProfilesBuilder (line 1301) | type ProfilesBuilder = { type Proxies (line 1319) | type Proxies = { type ProxiesSelectorMode (line 1326) | type ProxiesSelectorMode = 'hidden' | 'normal' | 'submenu' type ProxyGroupItem (line 1327) | type ProxyGroupItem = { type ProxyItem (line 1341) | type ProxyItem = { type ProxyItemHistory (line 1355) | type ProxyItemHistory = { time: string; delay: number } type ReactAppMountedEvent (line 1360) | type ReactAppMountedEvent = null type RemoteProfile (line 1361) | type RemoteProfile = { type RemoteProfileBuilder (line 1404) | type RemoteProfileBuilder = { type RemoteProfileOptions (line 1443) | type RemoteProfileOptions = { type RemoteProfileOptionsBuilder (line 1466) | type RemoteProfileOptionsBuilder = { type RunType (line 1485) | type RunType = type RuntimeInfos (line 1498) | type RuntimeInfos = { type ScriptProfile (line 1504) | type ScriptProfile = { type ScriptProfileBuilder (line 1530) | type ScriptProfileBuilder = { type ScriptType (line 1552) | type ScriptType = 'javascript' | 'lua' type ServiceStatus (line 1553) | type ServiceStatus = 'not_installed' | 'stopped' | 'running' type StatisticWidgetVariant (line 1554) | type StatisticWidgetVariant = 'large' | 'small' type StatusInfo (line 1555) | type StatusInfo = { type StatusResBody (line 1561) | type StatusResBody = { type StorageEntry (line 1566) | type StorageEntry = { type StorageValueChangedEvent (line 1577) | type StorageValueChangedEvent = { type SubscriptionInfo (line 1584) | type SubscriptionInfo = { type TrayIcon (line 1590) | type TrayIcon = 'normal' | 'tun' | 'system_proxy' type TunStack (line 1591) | type TunStack = 'system' | 'gvisor' | 'mixed' type UpdateWrapper (line 1592) | type UpdateWrapper = { type UpdaterState (line 1601) | type UpdaterState = type UpdaterSummary (line 1609) | type UpdaterSummary = { type WindowMessageEvent (line 1617) | type WindowMessageEvent = { type WindowState (line 1635) | type WindowState = { type __EventObj__ (line 1644) | type __EventObj__ = { type Result (line 1656) | type Result = function __makeEvents__ (line 1660) | function __makeEvents__>( FILE: frontend/interface/src/ipc/consts.ts constant NYANPASU_BACKEND_EVENT_NAME (line 11) | const NYANPASU_BACKEND_EVENT_NAME = 'nyanpasu://mutation' constant IS_APPIMAGE_QUERY_KEY (line 16) | const IS_APPIMAGE_QUERY_KEY = 'is-appimage' constant SERVICE_PROMPT_QUERY_KEY (line 21) | const SERVICE_PROMPT_QUERY_KEY = 'service-prompt' constant CORE_DIR_QUERY_KEY (line 26) | const CORE_DIR_QUERY_KEY = 'core-dir' constant SERVER_PORT_QUERY_KEY (line 31) | const SERVER_PORT_QUERY_KEY = 'server-port' constant NYANPASU_SETTING_QUERY_KEY (line 36) | const NYANPASU_SETTING_QUERY_KEY = 'settings' constant NYANPASU_SYSTEM_PROXY_QUERY_KEY (line 41) | const NYANPASU_SYSTEM_PROXY_QUERY_KEY = 'system-proxy' constant NYANPASU_POST_PROCESSING_QUERY_KEY (line 46) | const NYANPASU_POST_PROCESSING_QUERY_KEY = 'post-processing' constant CLASH_VERSION_QUERY_KEY (line 51) | const CLASH_VERSION_QUERY_KEY = 'clash-version' constant RROFILES_QUERY_KEY (line 56) | const RROFILES_QUERY_KEY = 'profiles' constant CLASH_LOGS_QUERY_KEY (line 61) | const CLASH_LOGS_QUERY_KEY = 'clash-logs' constant CLASH_TRAAFFIC_QUERY_KEY (line 66) | const CLASH_TRAAFFIC_QUERY_KEY = 'clash-traffic' constant CLASH_MEMORY_QUERY_KEY (line 71) | const CLASH_MEMORY_QUERY_KEY = 'clash-memory' constant CLASH_CONNECTIONS_QUERY_KEY (line 76) | const CLASH_CONNECTIONS_QUERY_KEY = 'clash-connections' constant CLASH_CONFIG_QUERY_KEY (line 81) | const CLASH_CONFIG_QUERY_KEY = 'clash-config' constant CLASH_CORE_QUERY_KEY (line 86) | const CLASH_CORE_QUERY_KEY = 'clash-core' constant CLASH_INFO_QUERY_KEY (line 91) | const CLASH_INFO_QUERY_KEY = 'clash-info' constant CLASH_PROXIES_QUERY_KEY (line 96) | const CLASH_PROXIES_QUERY_KEY = 'clash-proxies' constant CLASH_RULES_QUERY_KEY (line 101) | const CLASH_RULES_QUERY_KEY = 'clash-rules' constant CLASH_RULES_PROVIDER_QUERY_KEY (line 106) | const CLASH_RULES_PROVIDER_QUERY_KEY = 'clash-rules-provider' constant CLASH_PROXIES_PROVIDER_QUERY_KEY (line 111) | const CLASH_PROXIES_PROVIDER_QUERY_KEY = 'clash-proxies-provider' constant MAX_CONNECTIONS_HISTORY (line 116) | const MAX_CONNECTIONS_HISTORY = 32 constant MAX_MEMORY_HISTORY (line 121) | const MAX_MEMORY_HISTORY = 32 constant MAX_TRAFFIC_HISTORY (line 126) | const MAX_TRAFFIC_HISTORY = 32 constant MAX_LOGS_HISTORY (line 131) | const MAX_LOGS_HISTORY = 1024 FILE: frontend/interface/src/ipc/use-clash-connections.ts type ClashConnection (line 5) | type ClashConnection = { type ClashConnectionItem (line 12) | type ClashConnectionItem = { type ClashConnectionMetadata (line 23) | type ClashConnectionMetadata = { FILE: frontend/interface/src/ipc/use-clash-cores.ts type ClashCoresInfo (line 19) | type ClashCoresInfo = Record type ClashCoresDetail (line 21) | type ClashCoresDetail = { FILE: frontend/interface/src/ipc/use-clash-logs.ts type ClashLog (line 6) | type ClashLog = { FILE: frontend/interface/src/ipc/use-clash-memory.ts type ClashMemory (line 4) | type ClashMemory = { FILE: frontend/interface/src/ipc/use-clash-proxies-provider.ts type ClashProxiesProviderQueryItem (line 5) | interface ClashProxiesProviderQueryItem extends ClashProviderProxies { type ClashProxiesProviderQuery (line 9) | type ClashProxiesProviderQuery = Record< FILE: frontend/interface/src/ipc/use-clash-proxies.ts type ClashProxiesQueryHelperFn (line 13) | type ClashProxiesQueryHelperFn = { type ClashProxiesQueryProxyItem (line 17) | interface ClashProxiesQueryProxyItem type ClashProxiesQueryGroupItem (line 22) | interface ClashProxiesQueryGroupItem type ClashProxiesQuery (line 27) | interface ClashProxiesQuery extends Proxies { FILE: frontend/interface/src/ipc/use-clash-rules-provider.ts type ClashRulesProviderQueryItem (line 5) | interface ClashRulesProviderQueryItem extends ClashProviderRule { type ClashRulesProviderQuery (line 9) | type ClashRulesProviderQuery = Record< FILE: frontend/interface/src/ipc/use-clash-traffic.ts type ClashTraffic (line 4) | type ClashTraffic = { FILE: frontend/interface/src/ipc/use-platform.ts function useUpdaterSupported (line 18) | function useUpdaterSupported() { FILE: frontend/interface/src/ipc/use-profile.ts type URLImportParams (line 12) | type URLImportParams = Parameters type ManualImportParams (line 14) | type ManualImportParams = Parameters type CreateParams (line 16) | type CreateParams = type ProfileHelperFn (line 32) | type ProfileHelperFn = { type ProfileQueryResult (line 38) | type ProfileQueryResult = NonNullable< type ProfileQueryResultItem (line 42) | type ProfileQueryResultItem = Profile & Partial function addHelperFn (line 85) | function addHelperFn(item: Profile): Profile & ProfileHelperFn { FILE: frontend/interface/src/ipc/use-system-service.ts type ServiceType (line 5) | type ServiceType = 'install' | 'uninstall' | 'start' | 'stop' FILE: frontend/interface/src/openapi/geoip/ipsb.ts type IPSBResponse (line 4) | interface IPSBResponse { FILE: frontend/interface/src/provider/mutation-provider.tsx type EventPayload (line 15) | type EventPayload = 'nyanpasu_config' | 'clash_config' | 'proxies' | 'pr... constant NYANPASU_CONFIG_MUTATION_KEYS (line 17) | const NYANPASU_CONFIG_MUTATION_KEYS = [ constant CLASH_CONFIG_MUTATION_KEYS (line 24) | const CLASH_CONFIG_MUTATION_KEYS = [ constant PROFILES_MUTATION_KEYS (line 37) | const PROFILES_MUTATION_KEYS = [ constant PROXIES_MUTATION_KEYS (line 48) | const PROXIES_MUTATION_KEYS = [ FILE: frontend/interface/src/service/clash-api.ts type ClashConfig (line 16) | interface ClashConfig { type ClashVersion (line 31) | type ClashVersion = { type ClashDelayOptions (line 37) | type ClashDelayOptions = { type ClashProxyGroupItem (line 42) | type ClashProxyGroupItem = ProxyGroupItem type ClashProviderRule (line 44) | type ClashProviderRule = { type ClashProviderProxies (line 54) | type ClashProviderProxies = { type ClashRule (line 64) | type ClashRule = { FILE: frontend/interface/src/service/core.ts type Core (line 4) | interface Core { constant VALID_CORE (line 11) | const VALID_CORE: Core[] = [ type SupportedArch (line 64) | enum SupportedArch { type SupportedCore (line 76) | enum SupportedCore { type ArchMapping (line 83) | type ArchMapping = { [key in SupportedArch]: string } type ManifestVersion (line 85) | interface ManifestVersion { FILE: frontend/interface/src/service/types.ts type VergeConfig (line 1) | interface VergeConfig { type AutoReloadConfig (line 56) | interface AutoReloadConfig { type SystemProxy (line 63) | interface SystemProxy { type Item (line 71) | interface Item { type Metadata (line 82) | interface Metadata { type Response (line 105) | interface Response { type LogMessage (line 113) | interface LogMessage { type ProviderRules (line 119) | interface ProviderRules { type Traffic (line 129) | interface Traffic { type Memory (line 134) | interface Memory { type EnvInfos (line 139) | interface EnvInfos { type InspectUpdater (line 150) | interface InspectUpdater { FILE: frontend/interface/src/utils/get-system.ts type Platform (line 1) | type Platform = function getSystem (line 18) | function getSystem() { FILE: frontend/interface/src/utils/index.ts function unwrapResult (line 3) | function unwrapResult(res: Result) { FILE: frontend/interface/src/utils/retry.ts function retry (line 9) | async function retry( FILE: frontend/nyanpasu/src/components/base/base-empty.tsx type Props (line 5) | interface Props { FILE: frontend/nyanpasu/src/components/base/base-error-boundary.tsx function ErrorFallback (line 4) | function ErrorFallback({ error }: FallbackProps) { type Props (line 19) | interface Props { FILE: frontend/nyanpasu/src/components/base/base-notice.tsx type InnerProps (line 6) | interface InnerProps { type NoticeInstance (line 63) | interface NoticeInstance { FILE: frontend/nyanpasu/src/components/base/content-display.tsx type ContentDisplayProps (line 5) | interface ContentDisplayProps { FILE: frontend/nyanpasu/src/components/connections/connection-detail-dialog.tsx type ConnectionDetailDialogProps (line 10) | type ConnectionDetailDialogProps = { item?: Connection.Item } & Omit< function ConnectionDetailDialog (line 69) | function ConnectionDetailDialog({ FILE: frontend/nyanpasu/src/components/connections/connection-page.tsx function ConnectionPage (line 6) | function ConnectionPage() { FILE: frontend/nyanpasu/src/components/connections/connections-column-filter.tsx function CloseConnectionButton (line 18) | function CloseConnectionButton({ id }: { id: string }) { type ConnectionColumnFilterDialogProps (line 164) | type ConnectionColumnFilterDialogProps = {} & Omit< function ColItem (line 169) | function ColItem({ function ConnectionColumnFilterDialog (line 201) | function ConnectionColumnFilterDialog( FILE: frontend/nyanpasu/src/components/connections/connections-table.tsx type TableConnection (line 23) | type TableConnection = ClashConnectionItem & { type TableMessage (line 28) | interface TableMessage extends Omit { method muiTableBodyRowProps (line 173) | muiTableBodyRowProps({ row }) { FILE: frontend/nyanpasu/src/components/connections/connections-total.tsx function ConnectionTotal (line 9) | function ConnectionTotal() { FILE: frontend/nyanpasu/src/components/dashboard/dataline.tsx type DatalineProps (line 8) | interface DatalineProps { FILE: frontend/nyanpasu/src/components/dashboard/health-panel.tsx constant REFRESH_SECONDS (line 7) | const REFRESH_SECONDS = 5 FILE: frontend/nyanpasu/src/components/dashboard/modules/ipasn-panel.tsx constant IP_REFRESH_SECONDS (line 18) | const IP_REFRESH_SECONDS = 180 constant MAX_WIDTH (line 36) | const MAX_WIDTH = 'calc(100% - 48px - 16px)' FILE: frontend/nyanpasu/src/components/dashboard/modules/timing-panel.tsx function LatencyTag (line 9) | function LatencyTag({ name, value }: { name: string; value: number }) { FILE: frontend/nyanpasu/src/components/dashboard/service-shortcuts.tsx type Status (line 14) | type Status = { FILE: frontend/nyanpasu/src/components/layout/animated-logo.tsx function AnimatedLogo (line 50) | function AnimatedLogo({ FILE: frontend/nyanpasu/src/components/layout/mutation-provider.tsx function MutationProvider (line 7) | function MutationProvider() { FILE: frontend/nyanpasu/src/components/layout/page-transition.tsx type PageVariantKey (line 7) | type PageVariantKey = 'initial' | 'visible' | 'hidden' type PageVariant (line 9) | type PageVariant = { function PageTransition (line 50) | function PageTransition({ className }: { className?: string }) { FILE: frontend/nyanpasu/src/components/layout/use-custom-theme.tsx constant DEFAULT_COLOR (line 10) | const DEFAULT_COLOR = '#1867c0' constant DEFAULT_FONT_FAMILY (line 12) | const DEFAULT_FONT_FAMILY = `"Roboto", "Helvetica", "Arial", sans-serif,... FILE: frontend/nyanpasu/src/components/logo/animated-logo.tsx constant FAST_SPRING (line 11) | const FAST_SPRING = [0.22, 1, 0.36, 1] as const // fast attack, soft lan... constant DRAMATIC_PRESENT (line 12) | const DRAMATIC_PRESENT = [0.2, 0.8, 0.2, 1] as const // dramatic entrance constant GENTLE_SYMMETRIC_S_CURVE (line 13) | const GENTLE_SYMMETRIC_S_CURVE = [0.45, 0.05, 0.55, 0.95] as const // ge... function AnimatedLogo (line 15) | function AnimatedLogo({ FILE: frontend/nyanpasu/src/components/profiles/modules/chain-item.tsx type Context (line 11) | interface Context { FILE: frontend/nyanpasu/src/components/profiles/modules/side-chain.tsx type SideChainProps (line 16) | interface SideChainProps { FILE: frontend/nyanpasu/src/components/profiles/modules/side-log.tsx type SideLogProps (line 33) | interface SideLogProps { FILE: frontend/nyanpasu/src/components/profiles/profile-dialog.tsx type ProfileDialogProps (line 39) | interface ProfileDialogProps { type AddProfileContextValue (line 45) | type AddProfileContextValue = { FILE: frontend/nyanpasu/src/components/profiles/profile-item.tsx type ProfileItemProps (line 39) | interface ProfileItemProps { function TimeSpan (line 379) | function TimeSpan({ ts, k }: { ts: number; k: string }) { function TextCarousel (line 393) | function TextCarousel(props: { nodes: React.ReactNode[]; className?: str... FILE: frontend/nyanpasu/src/components/profiles/profile-monaco-diff-viewer.tsx function ProfileMonacoDiffViewer (line 5) | function ProfileMonacoDiffViewer( FILE: frontend/nyanpasu/src/components/profiles/profile-monaco-viewer.tsx type ProfileMonacoViewProps (line 18) | interface ProfileMonacoViewProps { type ProfileMonacoViewRef (line 28) | interface ProfileMonacoViewRef { function ProfileMonacoViewer (line 107) | function ProfileMonacoViewer({ FILE: frontend/nyanpasu/src/components/profiles/profile-side.tsx type ProfileSideProps (line 14) | interface ProfileSideProps { FILE: frontend/nyanpasu/src/components/profiles/read-profile.tsx type ReadProfileProps (line 10) | interface ReadProfileProps { FILE: frontend/nyanpasu/src/components/profiles/runtime-config-diff-dialog.tsx type RuntimeConfigDiffDialogProps (line 16) | type RuntimeConfigDiffDialogProps = { function RuntimeConfigDiffDialog (line 21) | function RuntimeConfigDiffDialog({ FILE: frontend/nyanpasu/src/components/profiles/script-dialog.tsx type ScriptDialogProps (line 65) | interface ScriptDialogProps extends Omit { FILE: frontend/nyanpasu/src/components/profiles/utils.ts type ClashProfile (line 6) | type ClashProfile = Extract type ClashProfileBuilder (line 7) | type ClashProfileBuilder = Extract< type ChainProfile (line 15) | type ChainProfile = Extract type ChainProfileBuilder (line 16) | type ChainProfileBuilder = Extract< function filterProfiles (line 29) | function filterProfiles(items?: T[]) { type ProfileType (line 56) | type ProfileType = Profile['type'] FILE: frontend/nyanpasu/src/components/providers/block-task-provider.tsx type BlockTaskStatus (line 11) | type BlockTaskStatus = 'idle' | 'pending' | 'success' | 'error' type BlockTask (line 14) | interface BlockTask { type BlockTaskContextType (line 23) | interface BlockTaskContextType { FILE: frontend/nyanpasu/src/components/providers/context-menu-provider.tsx type ContextMenuRegistryValue (line 31) | type ContextMenuRegistryValue = { function useRegisterContextMenu (line 51) | function useRegisterContextMenu( type RegisterContextMenuInternalCtxValue (line 80) | type RegisterContextMenuInternalCtxValue = { function RegisterContextMenu (line 100) | function RegisterContextMenu({ children }: PropsWithChildren) { function RegisterContextMenuTrigger (line 137) | function RegisterContextMenuTrigger({ function RegisterContextMenuContent (line 176) | function RegisterContextMenuContent({ children }: PropsWithChildren) { function ContextMenuProvider (line 214) | function ContextMenuProvider({ children }: PropsWithChildren) { FILE: frontend/nyanpasu/src/components/providers/nyanpasu-update-provider.tsx function NyanpasuUpdateProvider (line 41) | function NyanpasuUpdateProvider({ FILE: frontend/nyanpasu/src/components/providers/proxies-provider.tsx type ProxiesProviderProps (line 11) | interface ProxiesProviderProps { FILE: frontend/nyanpasu/src/components/providers/rules-provider.tsx type RulesProviderProps (line 10) | interface RulesProviderProps { function RulesProvider (line 14) | function RulesProvider({ provider }: RulesProviderProps) { FILE: frontend/nyanpasu/src/components/providers/theme-provider.tsx constant DEFAULT_COLOR (line 23) | const DEFAULT_COLOR = '#1867C0' type ThemeMode (line 25) | enum ThemeMode { constant CUSTOM_THEME_KEY (line 31) | const CUSTOM_THEME_KEY = 'custom-theme' as const constant THEME_PALETTE_KEY (line 33) | const THEME_PALETTE_KEY = 'theme-palette-v1' as const constant THEME_CSS_VARS_KEY (line 34) | const THEME_CSS_VARS_KEY = 'theme-css-vars-v1' as const function useExperimentalThemeContext (line 97) | function useExperimentalThemeContext() { function ExperimentalThemeProvider (line 109) | function ExperimentalThemeProvider({ children }: PropsWithChildren) { FILE: frontend/nyanpasu/src/components/proxies/group-list.tsx type GroupListProps (line 46) | interface GroupListProps extends ListItemButtonProps { FILE: frontend/nyanpasu/src/components/proxies/node-list.tsx type RenderClashProxy (line 27) | type RenderClashProxy = ClashProxiesQueryProxyItem & { renderLayoutKey: ... type NodeListRef (line 29) | interface NodeListRef { FILE: frontend/nyanpasu/src/components/proxies/sort-selector.tsx type SortType (line 13) | type SortType = typeof proxyGroupSort FILE: frontend/nyanpasu/src/components/proxies/utils.ts type SortType (line 11) | enum SortType { FILE: frontend/nyanpasu/src/components/router/animated-outlet.tsx type TransitionDirection (line 12) | type TransitionDirection = 1 | -1 function getDirectionalVariant (line 45) | function getDirectionalVariant(direction: TransitionDirection) { function AnimatedOutlet (line 51) | function AnimatedOutlet({ function AnimatedOutletPreset (line 121) | function AnimatedOutletPreset(props: ComponentProps) { FILE: frontend/nyanpasu/src/components/rules/rule-item.tsx type Props (line 4) | interface Props { constant COLOR (line 9) | const COLOR = [ FILE: frontend/nyanpasu/src/components/setting/modules/clash-core.tsx type ClashCoreItemProps (line 111) | interface ClashCoreItemProps { FILE: frontend/nyanpasu/src/components/setting/modules/clash-field.tsx type LabelSwitchProps (line 16) | interface LabelSwitchProps extends SwitchProps { type ClashFieldItemProps (line 91) | interface ClashFieldItemProps extends ButtonBaseProps { FILE: frontend/nyanpasu/src/components/setting/modules/clash-web.tsx type ClashWebItemProps (line 133) | interface ClashWebItemProps { FILE: frontend/nyanpasu/src/components/setting/modules/hotkey-dialog.tsx type HotkeyDialogProps (line 11) | type HotkeyDialogProps = Omit constant HOTKEY_FUNC (line 13) | const HOTKEY_FUNC = [ type AllowedHotkeyFunc (line 27) | type AllowedHotkeyFunc = (typeof HOTKEY_FUNC)[number] type Key (line 29) | type Key = string type HotKeyErrorMessages (line 31) | type HotKeyErrorMessages = { type HotKeyLoading (line 35) | type HotKeyLoading = { type HotkeyMap (line 39) | type HotkeyMap = { [K in AllowedHotkeyFunc]: Key[] } function HotkeyDialog (line 41) | function HotkeyDialog({ FILE: frontend/nyanpasu/src/components/setting/modules/hotkey-input.tsx type Props (line 9) | interface Props extends React.HTMLAttributes { function HotkeyInput (line 18) | function HotkeyInput({ FILE: frontend/nyanpasu/src/components/setting/modules/nyanpasu-path.tsx type PaperButtonProps (line 13) | interface PaperButtonProps extends ButtonBaseProps { FILE: frontend/nyanpasu/src/components/setting/modules/service-manual-prompt-dialog.tsx type CopyToClipboardButtonProps (line 17) | type CopyToClipboardButtonProps = { function CopyToClipboardButton (line 21) | function CopyToClipboardButton({ onClick }: CopyToClipboardButtonProps) { type ServerManualPromptDialogProps (line 51) | type ServerManualPromptDialogProps = Omit & { function ServerManualPromptDialog (line 56) | function ServerManualPromptDialog({ function ServerManualPromptDialogWrapper (line 149) | function ServerManualPromptDialogWrapper() { function useServerManualPromptDialog (line 160) | function useServerManualPromptDialog() { FILE: frontend/nyanpasu/src/components/setting/modules/system-proxy.tsx type PaperSwitchButtonProps (line 9) | interface PaperSwitchButtonProps extends PaperButtonProps { FILE: frontend/nyanpasu/src/components/setting/modules/tray-icon-dialog.tsx function TrayIconItem (line 16) | function TrayIconItem({ mode }: { mode: 'system_proxy' | 'tun' | 'normal... type TrayIconDialogProps (line 107) | type TrayIconDialogProps = Omit function TrayIconDialog (line 109) | function TrayIconDialog({ FILE: frontend/nyanpasu/src/components/setting/setting-system-proxy.tsx constant DEFAULT_BYPASS (line 125) | const DEFAULT_BYPASS = FILE: frontend/nyanpasu/src/components/ui/animated-item.tsx function AnimatedItem (line 5) | function AnimatedItem({ FILE: frontend/nyanpasu/src/components/ui/border-beam.tsx function BorderBeam (line 5) | function BorderBeam({ FILE: frontend/nyanpasu/src/components/ui/button.tsx type ButtonVariantsProps (line 112) | type ButtonVariantsProps = VariantProps type ButtonProps (line 118) | interface ButtonProps FILE: frontend/nyanpasu/src/components/ui/card.tsx type CardVariantsProps (line 22) | type CardVariantsProps = VariantProps type CardContentVariantsProps (line 26) | type CardContentVariantsProps = VariantProps type CardHeaderVariantsProps (line 49) | type CardHeaderVariantsProps = VariantProps type CardFooterVariantsProps (line 72) | type CardFooterVariantsProps = VariantProps type CardContextType (line 74) | type CardContextType = { type CardProps (line 92) | interface CardProps type CardContentProps (line 129) | type CardContentProps = HTMLAttributes & type CardHeaderProps (line 144) | type CardHeaderProps = HTMLAttributes & type CardFooterProps (line 171) | interface CardFooterProps FILE: frontend/nyanpasu/src/components/ui/circle.tsx constant BASE_STROKE_WIDTH (line 4) | const BASE_STROKE_WIDTH = 10 constant BASE_SIZE (line 5) | const BASE_SIZE = 100 function Circle (line 19) | function Circle({ function CircleSVG (line 45) | function CircleSVG({ className, ...props }: ComponentProps<'svg'>) { FILE: frontend/nyanpasu/src/components/ui/context-menu.tsx function ContextMenuSubTrigger (line 135) | function ContextMenuSubTrigger({ function ContextMenuSubContent (line 160) | function ContextMenuSubContent({ FILE: frontend/nyanpasu/src/components/ui/dropdown-menu.tsx function DropdownMenuSubTrigger (line 142) | function DropdownMenuSubTrigger({ function DropdownMenuSubContent (line 167) | function DropdownMenuSubContent({ FILE: frontend/nyanpasu/src/components/ui/file-drop-zone.tsx type FileDropZoneVariants (line 86) | type FileDropZoneVariants = VariantProps type FileDropZoneProps (line 88) | interface FileDropZoneProps function FileDropZone (line 107) | function FileDropZone({ function FileDropZoneLoading (line 326) | function FileDropZoneLoading(props: ComponentProps<'div'>) { function FileDropZonePlaceholder (line 336) | function FileDropZonePlaceholder(props: ComponentProps<'div'>) { function FileDropZoneFileSelected (line 346) | function FileDropZoneFileSelected(props: ComponentProps<'div'>) { FILE: frontend/nyanpasu/src/components/ui/highlight-text.tsx function HighlightText (line 1) | function HighlightText({ FILE: frontend/nyanpasu/src/components/ui/image.tsx function Image (line 5) | function Image({ FILE: frontend/nyanpasu/src/components/ui/input.tsx type InputContainerVariants (line 37) | type InputContainerVariants = VariantProps type InputVariants (line 77) | type InputVariants = VariantProps type InputLabelVariants (line 133) | type InputLabelVariants = VariantProps type InputLineVariants (line 163) | type InputLineVariants = VariantProps type InputLabelFieldsetVariants (line 196) | type InputLabelFieldsetVariants = VariantProps< type InputLabelLegendVariants (line 225) | type InputLabelLegendVariants = VariantProps< type InputContextType (line 229) | type InputContextType = { type InputProps (line 281) | type InputProps = ComponentProps<'input'> & { type NumericInputProps (line 413) | type NumericInputProps = Omit< FILE: frontend/nyanpasu/src/components/ui/modal.tsx function ModalTrigger (line 31) | function ModalTrigger({ function ModalClose (line 71) | function ModalClose({ function ModalOverlay (line 85) | function ModalOverlay({ function ModalContent (line 106) | function ModalContent({ function Modal (line 158) | function Modal({ FILE: frontend/nyanpasu/src/components/ui/progress.tsx function CircularProgress (line 31) | function CircularProgress({ function LinearProgress (line 95) | function LinearProgress({ FILE: frontend/nyanpasu/src/components/ui/ripple.tsx type RippleConfig (line 10) | type RippleConfig = { type RippleProps (line 17) | interface RippleProps { FILE: frontend/nyanpasu/src/components/ui/scroll-area.tsx type ScrollAreaContextValue (line 6) | interface ScrollAreaContextValue { function useScrollArea (line 22) | function useScrollArea() { function useScrollTracking (line 32) | function useScrollTracking(threshold = 50) { function Viewport (line 122) | function Viewport({ function ScrollArea (line 145) | function ScrollArea({ function ScrollBar (line 200) | function ScrollBar({ function AppContentScrollArea (line 229) | function AppContentScrollArea({ FILE: frontend/nyanpasu/src/components/ui/select.tsx type SelectTriggerVariants (line 41) | type SelectTriggerVariants = VariantProps type SelectLineVariants (line 73) | type SelectLineVariants = VariantProps type SelectValueVariants (line 102) | type SelectValueVariants = VariantProps type SelectValuePlaceholderVariants (line 153) | type SelectValuePlaceholderVariants = VariantProps< type SelectValuePlaceholderFieldsetVariants (line 191) | type SelectValuePlaceholderFieldsetVariants = VariantProps< type SelectValuePlaceholderLegendVariants (line 220) | type SelectValuePlaceholderLegendVariants = VariantProps< type SelectContentVariants (line 243) | type SelectContentVariants = VariantProps type SelectContextType (line 245) | type SelectContextType = { type SelectProps (line 323) | type SelectProps = ComponentProps FILE: frontend/nyanpasu/src/components/ui/separator.tsx function Separator (line 5) | function Separator({ FILE: frontend/nyanpasu/src/components/ui/sidebar.tsx function Sidebar (line 22) | function Sidebar({ className, ...props }: ComponentProps<'div'>) { function SidebarContent (line 40) | function SidebarContent({ FILE: frontend/nyanpasu/src/components/ui/slider-sidebar.tsx constant DEFAULT_SIDEBAR_WIDTH (line 14) | const DEFAULT_SIDEBAR_WIDTH = { function SidebarProvider (line 34) | function SidebarProvider({ function Sidebar (line 62) | function Sidebar({ function SidebarLabelItem (line 110) | function SidebarLabelItem({ FILE: frontend/nyanpasu/src/components/ui/slider.tsx constant EDGE_OFFSET_PX (line 6) | const EDGE_OFFSET_PX = 16 constant PADDING_PX (line 7) | const PADDING_PX = 8 function Slider (line 9) | function Slider({ FILE: frontend/nyanpasu/src/components/ui/switch.tsx function SwitchItem (line 57) | function SwitchItem({ FILE: frontend/nyanpasu/src/components/ui/text-marquee.tsx function TextMarquee (line 6) | function TextMarquee({ FILE: frontend/nyanpasu/src/components/ui/tooltip.tsx function TooltipProvider (line 5) | function TooltipProvider({ function Tooltip (line 18) | function Tooltip({ function TooltipTrigger (line 28) | function TooltipTrigger({ function TooltipContent (line 34) | function TooltipContent({ FILE: frontend/nyanpasu/src/components/updater/updater-dialog.tsx type UpdaterDialogProps (line 19) | interface UpdaterDialogProps extends Omit { function UpdaterDialog (line 23) | function UpdaterDialog({ FILE: frontend/nyanpasu/src/components/window/window-control.tsx function WindowControl (line 120) | function WindowControl({ FILE: frontend/nyanpasu/src/components/window/window-header.tsx function WindowHeader (line 4) | function WindowHeader({ FILE: frontend/nyanpasu/src/components/window/window-title.tsx function WindowTitle (line 5) | function WindowTitle({ FILE: frontend/nyanpasu/src/consts.ts constant IS_NIGHTLY (line 14) | const IS_NIGHTLY = window.__IS_NIGHTLY__ === true FILE: frontend/nyanpasu/src/hooks/use-core-icon.ts function useCoreIcon (line 6) | function useCoreIcon(core?: ClashCore | null) { FILE: frontend/nyanpasu/src/hooks/use-current-core-icon.ts function useCurrentCoreIcon (line 4) | function useCurrentCoreIcon() { FILE: frontend/nyanpasu/src/hooks/use-is-moblie.tsx function useIsMobile (line 3) | function useIsMobile() { function useIsMobileOrTablet (line 11) | function useIsMobileOrTablet() { FILE: frontend/nyanpasu/src/hooks/use-lock-fn.ts type LockFn (line 4) | type LockFn

= ( function useLockFn (line 12) | function useLockFn

( FILE: frontend/nyanpasu/src/hooks/use-store.ts function useCoreType (line 8) | function useCoreType() { function useNyanpasuStorageSubscribers (line 20) | function useNyanpasuStorageSubscribers() { FILE: frontend/nyanpasu/src/hooks/use-updater.ts function useUpdaterPlatformSupported (line 9) | function useUpdaterPlatformSupported() { function checkUpdate (line 26) | async function checkUpdate() { function useUpdater (line 39) | function useUpdater() { FILE: frontend/nyanpasu/src/hooks/use-window-maximized.ts constant IS_MAXIMIZED_QUERY_KEY (line 9) | const IS_MAXIMIZED_QUERY_KEY = 'isMaximized' function useWindowMaximized (line 11) | function useWindowMaximized() { FILE: frontend/nyanpasu/src/main.tsx type Register (line 39) | interface Register { FILE: frontend/nyanpasu/src/pages/(editor)/editor/_modules/chip.tsx function Chip (line 4) | function Chip({ className, ...props }: ComponentProps<'span'>) { FILE: frontend/nyanpasu/src/pages/(editor)/editor/_modules/header.tsx constant APP_NAME (line 6) | const APP_NAME = 'Clash Nyanpasu - Editor' function Header (line 22) | function Header({ FILE: frontend/nyanpasu/src/pages/(editor)/editor/_modules/hooks.tsx type CurrentProfileData (line 5) | type CurrentProfileData = Profile & { function useCurrentProfile (line 12) | function useCurrentProfile(uid: string): { FILE: frontend/nyanpasu/src/pages/(editor)/editor/_modules/loading-skeleton.tsx function LoadingSkeleton (line 3) | function LoadingSkeleton() { FILE: frontend/nyanpasu/src/pages/(editor)/editor/_modules/utils.tsx constant MONACO_FONT_FAMILY (line 7) | const MONACO_FONT_FAMILY = FILE: frontend/nyanpasu/src/pages/(editor)/editor/index.tsx function RouteComponent (line 38) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(editor)/editor/route.tsx function RouteComponent (line 9) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(legacy)/connections.tsx function Connections (line 25) | function Connections() { FILE: frontend/nyanpasu/src/pages/(legacy)/dashboard.tsx function Dashboard (line 16) | function Dashboard() { FILE: frontend/nyanpasu/src/pages/(legacy)/index.tsx function RouteComponent (line 7) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(legacy)/logs.tsx function LogPage (line 12) | function LogPage() { FILE: frontend/nyanpasu/src/pages/(legacy)/profiles.tsx function ProfilePage (line 50) | function ProfilePage() { FILE: frontend/nyanpasu/src/pages/(legacy)/providers.tsx function ProvidersPage (line 19) | function ProvidersPage() { FILE: frontend/nyanpasu/src/pages/(legacy)/proxies.tsx function SideBar (line 31) | function SideBar() { function ProxyPage (line 64) | function ProxyPage() { FILE: frontend/nyanpasu/src/pages/(legacy)/route.tsx function Layout (line 35) | function Layout() { FILE: frontend/nyanpasu/src/pages/(legacy)/rules.tsx function RulesPage (line 15) | function RulesPage() { FILE: frontend/nyanpasu/src/pages/(legacy)/settings.tsx function SettingPage (line 18) | function SettingPage() { FILE: frontend/nyanpasu/src/pages/(main)/_modules/header-file-action.tsx function HeaderFileAction (line 13) | function HeaderFileAction({ children }: PropsWithChildren) { FILE: frontend/nyanpasu/src/pages/(main)/_modules/header-help-action.tsx function HeaderHelpAction (line 76) | function HeaderHelpAction({ children }: PropsWithChildren) { FILE: frontend/nyanpasu/src/pages/(main)/_modules/header-menu.tsx function HeaderMenu (line 23) | function HeaderMenu({ FILE: frontend/nyanpasu/src/pages/(main)/_modules/header-settings-action.tsx function HeaderSettingsAction (line 84) | function HeaderSettingsAction({ children }: PropsWithChildren) { FILE: frontend/nyanpasu/src/pages/(main)/_modules/header.tsx constant APP_NAME (line 10) | const APP_NAME = 'Clash Nyanpasu' function DefaultHeader (line 26) | function DefaultHeader({ className, ...props }: ComponentProps<'div'>) { function MacOSHeader (line 43) | function MacOSHeader({ className, ...props }: ComponentProps<'div'>) { function Header (line 67) | function Header({ className, ...props }: ComponentProps<'div'>) { FILE: frontend/nyanpasu/src/pages/(main)/_modules/navbar.tsx function Navbar (line 114) | function Navbar({ className, ...props }: ComponentProps<'div'>) { FILE: frontend/nyanpasu/src/pages/(main)/main/connections/_modules/table-row.tsx constant INTERNAL_KEYS (line 29) | const INTERNAL_KEYS = new Set(['closed', 'downloadSpeed', 'uploadSpeed']) function formatValue (line 32) | function formatValue(key: string, value: any): React.ReactNode { function RowRender (line 63) | function RowRender({ label, value }: { label: string; value: any }) { function TableRow (line 86) | function TableRow({ FILE: frontend/nyanpasu/src/pages/(main)/main/connections/index.tsx type ConnectionRow (line 40) | type ConnectionRow = ClashConnectionItem & { constant COLUMN_SIZING_STORAGE_KEY (line 46) | const COLUMN_SIZING_STORAGE_KEY = 'connections-column-sizing-v2' function RouteComponent (line 425) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/connections/route.tsx function RouteComponent (line 121) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/dashboard/route.tsx function RouteComponent (line 9) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/index.tsx function RouteComponent (line 7) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/logs/_modules/consts.ts type LogLevel (line 1) | enum LogLevel { FILE: frontend/nyanpasu/src/pages/(main)/main/logs/_modules/log-level-badge.tsx function LogLevelBadge (line 5) | function LogLevelBadge({ FILE: frontend/nyanpasu/src/pages/(main)/main/logs/index.tsx function RouteComponent (line 136) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/logs/route.tsx function RouteComponent (line 99) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/_modules/chain-profile-import.tsx function ChainProfileImport (line 78) | function ChainProfileImport() { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/_modules/import-button.tsx function ImportButton (line 108) | function ImportButton() { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/_modules/local-profile-button.tsx function LocalProfileButton (line 64) | function LocalProfileButton({ children }: PropsWithChildren) { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/_modules/profiles-header.tsx function ProfilesHeader (line 21) | function ProfilesHeader() { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/_modules/profiles-list.tsx function ProfilesList (line 201) | function ProfilesList({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/_modules/remote-profile-button.tsx function RemoteProfileButton (line 73) | function RemoteProfileButton({ children }: PropsWithChildren) { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/_modules/utils.ts type CategoryProfiles (line 5) | type CategoryProfiles = { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/$uid.tsx function RouteComponent (line 19) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/action-card.tsx function ActionCard (line 34) | function ActionCard({ profile }: { profile: Profile }) { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/active-button.tsx function ActiveButton (line 69) | function ActiveButton({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/chian-editor-card.tsx type ScriptOrMergeProfile (line 24) | type ScriptOrMergeProfile = CategoryProfiles[ type ColumnType (line 29) | enum ColumnType { constant COLUMN_TYPES (line 34) | const COLUMN_TYPES = [ColumnType.Active, ColumnType.Inactive] as const constant CHAIN_EDITOR_SORTABLE_GROUP (line 36) | const CHAIN_EDITOR_SORTABLE_GROUP = 'chain-editor-sortable' function ChianEditorCard (line 101) | function ChianEditorCard({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/delete-profile.tsx function DeleteProfile (line 53) | function DeleteProfile({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/detial-header.tsx function DetialHeader (line 25) | function DetialHeader({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/open-locally.tsx function OpenLocally (line 6) | function OpenLocally({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/profile-name-editor.tsx function ProfileNameEditor (line 27) | function ProfileNameEditor({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/subscription-url-editor.tsx function SubscriptionUrlEditor (line 27) | function SubscriptionUrlEditor({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/update-option-editor.tsx function UpdateOptionEditor (line 31) | function UpdateOptionEditor({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/detail/_modules/view-content.tsx function ViewContent (line 6) | function ViewContent({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/$type/index.tsx type Action (line 7) | enum Action { function RouteComponent (line 18) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/_modules/consts.ts type ListType (line 4) | enum ListType { type ProfileType (line 9) | enum ProfileType { constant PROFILE_TYPE_NAMES (line 16) | const PROFILE_TYPE_NAMES = { constant PROFILE_TYPES (line 23) | const PROFILE_TYPES = { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/_modules/error-item.tsx function AnimatedErrorItem (line 5) | function AnimatedErrorItem({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/_modules/profile-quick-import.tsx function ProfileQuickImport (line 18) | function ProfileQuickImport() { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/_modules/profiles-navigate.tsx constant ROUTES (line 49) | const ROUTES = { function ProfilesNavigate (line 103) | function ProfilesNavigate({ FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/index.tsx function RouteComponent (line 10) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/inspect/route.tsx function RouteComponent (line 7) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/profiles/route.tsx function RouteComponent (line 12) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/providers/_modules/providers-title.tsx function ProvidersTitle (line 42) | function ProvidersTitle({ FILE: frontend/nyanpasu/src/pages/(main)/main/providers/index.tsx function RouteComponent (line 219) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/providers/proxies/$key.tsx function RouteComponent (line 11) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/providers/route.tsx function RouteComponent (line 113) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/providers/rules/$key.tsx function RouteComponent (line 10) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/proxies/_modules/hooks.ts function useCurrentGroupConnection (line 7) | function useCurrentGroupConnection( FILE: frontend/nyanpasu/src/pages/(main)/main/proxies/_modules/proxies-navigate.tsx function ProxiesNavigate (line 7) | function ProxiesNavigate() { FILE: frontend/nyanpasu/src/pages/(main)/main/proxies/group/$name.tsx function RouteComponent (line 21) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/proxies/group/_modules/delay-test-button.tsx function DelayTestButton (line 17) | function DelayTestButton() { FILE: frontend/nyanpasu/src/pages/(main)/main/proxies/group/_modules/group-header.tsx function GroupHeader (line 17) | function GroupHeader({ FILE: frontend/nyanpasu/src/pages/(main)/main/proxies/group/_modules/proxy-node-button.tsx function ProxyNodeButton (line 9) | function ProxyNodeButton({ FILE: frontend/nyanpasu/src/pages/(main)/main/proxies/index.tsx function RouteComponent (line 10) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/proxies/route.tsx function RouteComponent (line 54) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/rules/_modules/proxy-icon.tsx function ProxyIcon (line 6) | function ProxyIcon({ groupName }: { groupName: string }) { FILE: frontend/nyanpasu/src/pages/(main)/main/rules/index.tsx function RouteComponent (line 153) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/rules/route.tsx function RouteComponent (line 121) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/_modules/settings-card.tsx function SettingsLabel (line 7) | function SettingsLabel({ className, ...props }: ComponentProps<'div'>) { function SettingsGroup (line 17) | function SettingsGroup({ className, ...props }: ComponentProps<'div'>) { function SettingsCard (line 33) | function SettingsCard({ function SettingsCardHeader (line 40) | function SettingsCardHeader({ function SettingsCardFooter (line 53) | function SettingsCardFooter({ function SettingsCardContent (line 66) | function SettingsCardContent({ function ItemContainer (line 79) | function ItemContainer({ className, ...props }: ComponentProps<'div'>) { function ItemLabel (line 89) | function ItemLabel({ className, ...props }: ComponentProps<'div'>) { function ItemLabelText (line 99) | function ItemLabelText({ function ItemLabelDescription (line 112) | function ItemLabelDescription({ FILE: frontend/nyanpasu/src/pages/(main)/main/settings/_modules/settings-navigate.tsx function SettingsNavigate (line 188) | function SettingsNavigate() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/_modules/settings-title.tsx function SettingsTitle (line 42) | function SettingsTitle({ FILE: frontend/nyanpasu/src/pages/(main)/main/settings/about/_modules/nyanpasu-version.tsx constant TITLE (line 33) | const TITLE = 'Clash Nyanpasu~(∠・ω< )⌒☆' constant GITHUB_RELEASES_URL (line 35) | const GITHUB_RELEASES_URL = method a (line 155) | a(props) { function NyanpasuVersion (line 199) | function NyanpasuVersion() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/about/route.tsx type Action (line 7) | enum Action { function RouteComponent (line 18) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/_modules/allow-lan-switch.tsx function AllowLanSwitch (line 14) | function AllowLanSwitch() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/_modules/core-manager-card.tsx function useCoreUpdateTask (line 39) | function useCoreUpdateTask( function CoreManagerCard (line 266) | function CoreManagerCard() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/_modules/field-filter-card.tsx type Item (line 22) | type Item = { function FieldFilterCard (line 180) | function FieldFilterCard() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/_modules/field-filter-switch.tsx function FieldFilterButton (line 13) | function FieldFilterButton() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/_modules/ipv6-switch.tsx function IPv6Switch (line 14) | function IPv6Switch() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/_modules/log-level-selector.tsx constant LOG_LEVEL_OPTIONS (line 12) | const LOG_LEVEL_OPTIONS = { function LogLevelSelector (line 20) | function LogLevelSelector() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/_modules/mixed-port-config.tsx constant DEFAULT_MIXED_PORT (line 14) | const DEFAULT_MIXED_PORT = 7890 function MixedPortConfig (line 20) | function MixedPortConfig() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/_modules/random-port-switch.tsx function RandomPortSwitch (line 12) | function RandomPortSwitch() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/_modules/tun-stack-selector.tsx function TunStackSelector (line 16) | function TunStackSelector() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/clash/route.tsx function RouteComponent (line 110) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/debug/_modules/advance-tools-switch.tsx function AdvanceToolsSwitch (line 9) | function AdvanceToolsSwitch() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/debug/_modules/block-task-viewer.tsx function BlockTaskViewer (line 21) | function BlockTaskViewer() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/debug/_modules/debug-provider.tsx function DebugProvider (line 20) | function DebugProvider({ children }: PropsWithChildren) { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/debug/_modules/kv-storage.tsx function KVStorage (line 22) | function KVStorage() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/debug/_modules/path-utils-card.tsx function PathUtilsCard (line 27) | function PathUtilsCard() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/debug/_modules/window-debug.tsx function WindowDebug (line 14) | function WindowDebug() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/debug/index.tsx function RouteComponent (line 62) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/debug/route.tsx function RouteComponent (line 8) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/index.tsx function RouteComponent (line 11) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/nyanpasu/_modules/log-file-config.tsx constant MAX_LOG_FILES (line 7) | const MAX_LOG_FILES = 7 function LogFileConfig (line 9) | function LogFileConfig() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/nyanpasu/route.tsx function RouteComponent (line 21) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/route.tsx function RouteComponent (line 12) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/_modules/auto-launch-switch.tsx function AutoLaunchSwitch (line 13) | function AutoLaunchSwitch() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/_modules/current-system-proxy.tsx function CurrentSystemProxy (line 5) | function CurrentSystemProxy() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/_modules/proxy-bypass-config.tsx constant DEFAULT_BYPASS (line 14) | const DEFAULT_BYPASS = function ProxyBypassConfig (line 23) | function ProxyBypassConfig() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/_modules/proxy-guard-config.tsx function ProxyGuardConfig (line 19) | function ProxyGuardConfig() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/_modules/proxy-guard-switch.tsx function ProxyGuardSwitch (line 14) | function ProxyGuardSwitch() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/_modules/slient-launch-switch.tsx function SilentLaunchSwitch (line 13) | function SilentLaunchSwitch() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/_modules/system-service-ctrl.tsx function SystemServiceCtrl (line 256) | function SystemServiceCtrl() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/_modules/system-service-switch.tsx function SystemServiceSwitch (line 19) | function SystemServiceSwitch() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/_modules/uwp-tools-button.tsx function UwpToolsButton (line 15) | function UwpToolsButton() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/system/route.tsx function RouteComponent (line 158) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/user-interface/_modules/language-selector.tsx function LanguageSelector (line 12) | function LanguageSelector() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/user-interface/_modules/switch-legacy.tsx function SwitchLegacy (line 17) | function SwitchLegacy() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/user-interface/_modules/theme-color-config.tsx constant PERSETS (line 22) | const PERSETS = [ function ThemeColorConfig (line 31) | function ThemeColorConfig() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/user-interface/_modules/theme-mode-selector.tsx function ThemeModeSelector (line 14) | function ThemeModeSelector() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/user-interface/route.tsx function RouteComponent (line 64) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/web-ui/_modules/core-secret-config.tsx function CoreSecretConfig (line 22) | function CoreSecretConfig() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/web-ui/_modules/external-controller-config.tsx function ExternalControllerConfig (line 22) | function ExternalControllerConfig() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/web-ui/_modules/port-strategy-selector.tsx function PortStrategySelector (line 11) | function PortStrategySelector() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/web-ui/_modules/web-ui.tsx function WebUI (line 294) | function WebUI() { FILE: frontend/nyanpasu/src/pages/(main)/main/settings/web-ui/route.tsx function RouteComponent (line 57) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/(main)/route.tsx function RouteComponent (line 27) | function RouteComponent() { FILE: frontend/nyanpasu/src/pages/__root.tsx function App (line 82) | function App() { FILE: frontend/nyanpasu/src/route-tree.gen.ts type FileRoutesByFullPath (line 286) | interface FileRoutesByFullPath { type FileRoutesByTo (line 329) | interface FileRoutesByTo { type FileRoutesById (line 363) | interface FileRoutesById { type FileRouteTypes (line 409) | interface FileRouteTypes { type RootRouteChildren (line 534) | interface RootRouteChildren { type FileRoutesByPath (line 541) | interface FileRoutesByPath { type legacyRouteRouteChildren (line 846) | interface legacyRouteRouteChildren { type mainMainConnectionsRouteRouteChildren (line 874) | interface mainMainConnectionsRouteRouteChildren { type mainMainLogsRouteRouteChildren (line 888) | interface mainMainLogsRouteRouteChildren { type mainMainProfilesRouteRouteChildren (line 899) | interface mainMainProfilesRouteRouteChildren { type mainMainProvidersRouteRouteChildren (line 918) | interface mainMainProvidersRouteRouteChildren { type mainMainProxiesRouteRouteChildren (line 936) | interface mainMainProxiesRouteRouteChildren { type mainMainRulesRouteRouteChildren (line 949) | interface mainMainRulesRouteRouteChildren { type mainMainSettingsDebugRouteRouteChildren (line 960) | interface mainMainSettingsDebugRouteRouteChildren { type mainMainSettingsRouteRouteChildren (line 974) | interface mainMainSettingsRouteRouteChildren { type mainRouteRouteChildren (line 1002) | interface mainRouteRouteChildren { type editorEditorRouteRouteChildren (line 1030) | interface editorEditorRouteRouteChildren { FILE: frontend/nyanpasu/src/services/monaco.ts method getWorker (line 21) | getWorker(_, label) { FILE: frontend/nyanpasu/src/services/storage.ts function dispatchStorageValueChanged (line 14) | function dispatchStorageValueChanged( method getItem (line 27) | getItem(key) { method setItem (line 30) | setItem(key, newValue) { method removeItem (line 33) | removeItem(key) { method subscribe (line 36) | subscribe(key, callback) { FILE: frontend/nyanpasu/src/services/types.d.ts type Platform (line 1) | type Platform = FILE: frontend/nyanpasu/src/store/index.ts type IConnectionSetting (line 68) | interface IConnectionSetting { FILE: frontend/nyanpasu/src/utils/chain.ts function chains (line 1) | function chains( FILE: frontend/nyanpasu/src/utils/ignore-case.ts type TData (line 3) | type TData = Record function ignoreCase (line 5) | function ignoreCase(data: TData): TData { FILE: frontend/nyanpasu/src/utils/index.ts function classNames (line 10) | function classNames(...classes: any[]) { function sleep (line 14) | async function sleep(ms: number) { function formatError (line 32) | function formatError(err: unknown): string { function formatEnvInfos (line 36) | function formatEnvInfos(envs: EnvInfo) { FILE: frontend/nyanpasu/src/utils/language.ts type Language (line 40) | type Language = (typeof locales)[number] constant LANGUAGE_STORAGE_KEY (line 42) | const LANGUAGE_STORAGE_KEY = 'paraglide-language-cache' constant DEFAULT_LANGUAGE (line 44) | const DEFAULT_LANGUAGE = 'en' constant CACHED_LANGUAGE_STORAGE_KEY (line 47) | const CACHED_LANGUAGE_STORAGE_KEY = btoa(LANGUAGE_STORAGE_KEY) FILE: frontend/nyanpasu/src/utils/mui-theme.ts type PureSx (line 5) | type PureSx = Exclude, ReadonlyArray> type SxAsArray (line 6) | type SxAsArray = Array> FILE: frontend/nyanpasu/src/utils/notification.ts type NotificationOptions (line 28) | type NotificationOptions = { type NotificationType (line 34) | enum NotificationType { FILE: frontend/nyanpasu/src/utils/parse-hotkey.ts constant KEY_MAP (line 1) | const KEY_MAP: Record = { FILE: frontend/nyanpasu/src/utils/parse-traffic.ts constant UNITS (line 1) | const UNITS = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] FILE: frontend/nyanpasu/src/utils/shiki.ts function getShikiSingleton (line 10) | async function getShikiSingleton() { function formatAnsi (line 21) | async function formatAnsi(str: string) { FILE: frontend/nyanpasu/src/utils/styled.ts function insertStyle (line 1) | function insertStyle(id: string, style: string) { function removeStyle (line 12) | function removeStyle(id: string) { FILE: frontend/nyanpasu/vite.config.ts constant IS_NIGHTLY (line 18) | const IS_NIGHTLY = process.env.NIGHTLY?.toLowerCase() === 'true' method transformIndexHtml (line 23) | transformIndexHtml(html: string) { FILE: frontend/ui/src/chart/sparkline.tsx type SparklineProps (line 7) | interface SparklineProps { FILE: frontend/ui/src/hooks/get-system.ts type Platform (line 1) | type Platform = function getSystem (line 18) | function getSystem() { FILE: frontend/ui/src/hooks/use-breakpoint.ts type Breakpoint (line 7) | type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' constant BREAKPOINT_VALUES (line 11) | const BREAKPOINT_VALUES = MUI_BREAKPOINTS.values as Record void type BreakpointValues (line 27) | type BreakpointValues = Partial> FILE: frontend/ui/src/hooks/use-click-position.ts type MousePosition (line 4) | interface MousePosition { FILE: frontend/ui/src/materialYou/components/baseDialog/index.tsx type BaseDialogProps (line 20) | interface BaseDialogProps { FILE: frontend/ui/src/materialYou/components/basePage/baseErrorBoundary.tsx function ErrorFallback (line 4) | function ErrorFallback({ error }: FallbackProps) { type Props (line 21) | interface Props { FILE: frontend/ui/src/materialYou/components/basePage/index.tsx type BasePageProps (line 9) | interface BasePageProps { FILE: frontend/ui/src/materialYou/components/expandMore/index.tsx type ExpandMoreProps (line 5) | interface ExpandMoreProps extends IconButtonProps { FILE: frontend/ui/src/materialYou/components/floatingButton/index.tsx type FloatingButtonProps (line 5) | interface FloatingButtonProps extends ButtonProps { FILE: frontend/ui/src/materialYou/components/item/baseItem.tsx type BaseItemProps (line 6) | interface BaseItemProps { FILE: frontend/ui/src/materialYou/components/item/menuItem.tsx type OptionValue (line 4) | type OptionValue = string | number | boolean type MenuItemProps (line 6) | interface MenuItemProps { FILE: frontend/ui/src/materialYou/components/item/numberItem.tsx type NumberItemProps (line 15) | interface NumberItemProps { FILE: frontend/ui/src/materialYou/components/item/switchItem.tsx type Props (line 6) | interface Props extends SwitchProps { FILE: frontend/ui/src/materialYou/components/item/textItem.tsx type TextItemProps (line 10) | interface TextItemProps { FILE: frontend/ui/src/materialYou/components/kbd/index.tsx type Props (line 5) | type Props = React.DetailedHTMLProps< function Kbd (line 10) | function Kbd({ className, children, ...rest }: Props) { FILE: frontend/ui/src/materialYou/components/lazyImage/index.tsx type LazyImageProps (line 4) | interface LazyImageProps extends React.ImgHTMLAttributes { FILE: frontend/ui/src/materialYou/components/loadingSwitch/index.tsx type LoadingSwitchProps (line 5) | interface LoadingSwitchProps extends SwitchProps { FILE: frontend/ui/src/materialYou/components/sidePage/index.tsx type Props (line 9) | interface Props { FILE: frontend/ui/src/materialYou/themeConsts.mjs constant MUI_BREAKPOINTS (line 2) | const MUI_BREAKPOINTS = { FILE: frontend/ui/src/utils/ts-helper.ts type RecursivePartial (line 1) | type RecursivePartial = { FILE: scripts/deno/build-cache.ts constant WORKSPACE_ROOT (line 13) | const WORKSPACE_ROOT = path.join(import.meta.dirname!, '../..') constant TARGET_DIR (line 14) | const TARGET_DIR = path.join(WORKSPACE_ROOT, 'backend/target') constant CARGO_LOCK_PATH (line 15) | const CARGO_LOCK_PATH = path.join(WORKSPACE_ROOT, 'backend/Cargo.lock') constant TAR_EXCLUDE_PATTERNS (line 17) | const TAR_EXCLUDE_PATTERNS = [ function requireEnv (line 30) | function requireEnv(name: string): string { function computeCargoLockHash (line 39) | async function computeCargoLockHash(): Promise { function getCacheKey (line 47) | function getCacheKey(os: string, arch: string, hash: string): string { function getFallbackPrefix (line 51) | function getFallbackPrefix(os: string, arch: string): string { function createTarball (line 55) | async function createTarball(tarballPath: string): Promise { function extractTarball (line 83) | async function extractTarball(tarballPath: string): Promise { function save (line 102) | async function save(os: string, arch: string): Promise { function restore (line 127) | async function restore(os: string, arch: string): Promise { function main (line 168) | function main(): Promise { FILE: scripts/deno/check.ts type BinInfo (line 12) | interface BinInfo { type SupportedArch (line 20) | type SupportedArch = type ArchMapping (line 32) | type ArchMapping = Record type VersionManifest (line 34) | interface VersionManifest { type ClashManifest (line 53) | interface ClashManifest { constant WORKSPACE_ROOT (line 64) | const WORKSPACE_ROOT = path.join(import.meta.dirname!, '../..') constant TAURI_APP_DIR (line 65) | const TAURI_APP_DIR = path.join(WORKSPACE_ROOT, 'backend/tauri') constant TEMP_DIR (line 66) | const TEMP_DIR = path.join(WORKSPACE_ROOT, 'node_modules/.verge') constant FORCE (line 75) | const FORCE = args.force constant ARCH_OVERRIDE (line 76) | const ARCH_OVERRIDE = args.arch constant DENO_ARCH_TO_NODE (line 86) | const DENO_ARCH_TO_NODE: Record = { constant SIDECAR_HOST (line 95) | let SIDECAR_HOST = args['sidecar-host'] function mapArch (line 114) | function mapArch(platform: string, arch: string): SupportedArch { constant CLASH_MANIFEST (line 140) | const CLASH_MANIFEST: ClashManifest = { constant CLASH_META_MANIFEST (line 149) | const CLASH_META_MANIFEST: ClashManifest = { constant CLASH_META_ALPHA_MANIFEST (line 155) | const CLASH_META_ALPHA_MANIFEST: ClashManifest = { constant CLASH_RS_MANIFEST (line 163) | const CLASH_RS_MANIFEST: ClashManifest = { constant CLASH_RS_ALPHA_MANIFEST (line 169) | const CLASH_RS_ALPHA_MANIFEST: ClashManifest = { function downloadFile (line 178) | async function downloadFile(url: string, filePath: string): Promise { function extractZip (line 202) | async function extractZip( function extractTarGz (line 231) | async function extractTarGz( function gunzipFile (line 249) | async function gunzipFile( function resolveResource (line 262) | async function resolveResource( function resolveSidecar (line 278) | async function resolveSidecar( function getClashBackupInfo (line 338) | function getClashBackupInfo(): BinInfo { function getClashMetaInfo (line 352) | function getClashMetaInfo(): BinInfo { function getClashMetaAlphaInfo (line 366) | async function getClashMetaAlphaInfo(): Promise { function getClashRustInfo (line 383) | function getClashRustInfo(): BinInfo { function getClashRustAlphaInfo (line 397) | async function getClashRustAlphaInfo(): Promise { function getNyanpasuServiceInfo (line 415) | async function getNyanpasuServiceInfo(): Promise { function resolveWintun (line 440) | async function resolveWintun(): Promise { function runTask (line 603) | async function runTask(): Promise { FILE: scripts/deno/generate-latest-version.ts constant WORKSPACE_ROOT (line 15) | const WORKSPACE_ROOT = path.join(import.meta.dirname!, '../..') constant MANIFEST_DIR (line 16) | const MANIFEST_DIR = path.join(WORKSPACE_ROOT, 'manifest') constant MANIFEST_VERSION_PATH (line 17) | const MANIFEST_VERSION_PATH = path.join(MANIFEST_DIR, 'version.json') constant MANIFEST_VERSION (line 18) | const MANIFEST_VERSION = 1 type SupportedCore (line 22) | type SupportedCore = type ManifestVersion (line 29) | interface ManifestVersion { FILE: scripts/deno/manifest.ts type SupportedArch (line 5) | type SupportedArch = type ArchMapping (line 17) | type ArchMapping = Record type LatestVersionResolver (line 19) | type LatestVersionResolver = Promise<{ constant GITHUB_API_HEADERS (line 27) | const GITHUB_API_HEADERS = { function githubFetch (line 32) | async function githubFetch(url: string): Promise { function getLatestRelease (line 42) | async function getLatestRelease(owner: string, repo: string): Promise { function downloadFile (line 77) | async function downloadFile(url: string, destPath: string): Promise { type GitHubAsset (line 99) | interface GitHubAsset { type GitHubRelease (line 104) | interface GitHubRelease { function fetchRelease (line 108) | async function fetchRelease(): Promise { function readLocalUploadResults (line 129) | async function readLocalUploadResults(dir: string): Promise { function initUploadSession (line 48) | async function initUploadSession( function uploadChunk (line 84) | async function uploadChunk( function performChunkedUpload (line 113) | async function performChunkedUpload( function uploadToFileServer (line 176) | async function uploadToFileServer( function uploadAllFiles (line 212) | async function uploadAllFiles( FILE: scripts/generate-git-info.ts function main (line 6) | async function main() { FILE: scripts/generate-latest-version.ts constant MANIFEST_VERSION (line 13) | const MANIFEST_VERSION = 1 function generateLatestVersion (line 15) | async function generateLatestVersion() { FILE: scripts/manifest/clash-meta.ts constant CLASH_META_MANIFEST (line 4) | const CLASH_META_MANIFEST: ClashManifest = { constant CLASH_META_ALPHA_MANIFEST (line 10) | const CLASH_META_ALPHA_MANIFEST: ClashManifest = { FILE: scripts/manifest/clash-premium.ts constant CLASH_MANIFEST (line 4) | const CLASH_MANIFEST: ClashManifest = { FILE: scripts/manifest/clash-rs.ts constant CLASH_RS_MANIFEST (line 4) | const CLASH_RS_MANIFEST: ClashManifest = { constant CLASH_RS_ALPHA_MANIFEST (line 10) | const CLASH_RS_ALPHA_MANIFEST: ClashManifest = { FILE: scripts/osx-aarch64-upload.ts function resolve (line 11) | async function resolve() { function uploadAssets (line 66) | async function uploadAssets(releaseId: number, assets: string[]) { FILE: scripts/portable.ts constant RUST_ARCH (line 9) | const RUST_ARCH = process.env.RUST_ARCH || 'x86_64' function resolvePortable (line 14) | async function resolvePortable() { FILE: scripts/prepare-nightly.ts constant TAURI_DEV_APP_CONF_PATH (line 12) | const TAURI_DEV_APP_CONF_PATH = path.join( constant TAURI_APP_CONF (line 16) | const TAURI_APP_CONF = path.join(TAURI_APP_DIR, 'tauri.conf.json') constant TAURI_DEV_APP_OVERRIDES_PATH (line 17) | const TAURI_DEV_APP_OVERRIDES_PATH = path.join( constant ROOT_PACKAGE_JSON_PATH (line 21) | const ROOT_PACKAGE_JSON_PATH = path.join(cwd, 'package.json') constant NYANPASU_PACKAGE_JSON_PATH (line 22) | const NYANPASU_PACKAGE_JSON_PATH = path.join( function main (line 34) | async function main() { FILE: scripts/prepare-preview.ts constant TAURI_APP_CONF (line 6) | const TAURI_APP_CONF = path.join(TAURI_APP_DIR, 'tauri.conf.json') constant TAURI_PREVIEW_APP_CONF_PATH (line 8) | const TAURI_PREVIEW_APP_CONF_PATH = path.join( FILE: scripts/prepare-release.ts constant TAURI_APP_CONF (line 11) | const TAURI_APP_CONF = path.join(TAURI_APP_DIR, 'tauri.conf.json') constant PACKAGE_JSON_PATH (line 17) | const PACKAGE_JSON_PATH = path.join(cwd, 'package.json') function main (line 24) | async function main() { FILE: scripts/publish.ts constant MONO_REPO_PATHS (line 6) | const MONO_REPO_PATHS = [ constant TAURI_APP_CONF_PATH (line 15) | const TAURI_APP_CONF_PATH = path.join(TAURI_APP_DIR, 'tauri.conf.json') constant TAURI_NIGHTLY_APP_CONF_PATH (line 16) | const TAURI_NIGHTLY_APP_CONF_PATH = path.join( constant PACKAGE_JSON_PATH (line 20) | const PACKAGE_JSON_PATH = path.join(cwd, 'package.json') function resolvePublish (line 23) | async function resolvePublish() { FILE: scripts/types/index.ts type ClashManifest (line 3) | interface ClashManifest { type BinInfo (line 14) | interface BinInfo { type SupportedArch (line 22) | enum SupportedArch { type SupportedCore (line 35) | enum SupportedCore { type ManifestVersion (line 43) | interface ManifestVersion { FILE: scripts/updatelog.ts constant UPDATE_LOG (line 5) | const UPDATE_LOG = 'UPDATELOG.md' function resolveUpdateLog (line 8) | async function resolveUpdateLog(tag: string) { FILE: scripts/updater-nightly.ts constant UPDATE_TAG_NAME (line 15) | const UPDATE_TAG_NAME = 'updater' constant UPDATE_JSON_FILE (line 16) | const UPDATE_JSON_FILE = 'update-nightly.json' constant UPDATE_JSON_PROXY (line 17) | const UPDATE_JSON_PROXY = 'update-nightly-proxy.json' constant UPDATE_FIXED_WEBVIEW_FILE (line 18) | const UPDATE_FIXED_WEBVIEW_FILE = 'update-nightly-fixed-webview.json' constant UPDATE_FIXED_WEBVIEW_PROXY (line 19) | const UPDATE_FIXED_WEBVIEW_PROXY = 'update-nightly-fixed-webview-proxy.j... function resolveUpdater (line 35) | async function resolveUpdater() { function saveToCache (line 290) | async function saveToCache(fileName: string, content: string) { function getSignature (line 303) | async function getSignature(url: string) { FILE: scripts/updater.ts constant UPDATE_TAG_NAME (line 11) | const UPDATE_TAG_NAME = 'updater' constant UPDATE_JSON_FILE (line 12) | const UPDATE_JSON_FILE = 'update.json' constant UPDATE_JSON_PROXY (line 13) | const UPDATE_JSON_PROXY = 'update-proxy.json' constant UPDATE_FIXED_WEBVIEW_FILE (line 14) | const UPDATE_FIXED_WEBVIEW_FILE = 'update-fixed-webview.json' constant UPDATE_FIXED_WEBVIEW_PROXY (line 15) | const UPDATE_FIXED_WEBVIEW_PROXY = 'update-fixed-webview-proxy.json' constant UPDATE_RELEASE_BODY (line 16) | const UPDATE_RELEASE_BODY = process.env.RELEASE_BODY || '' function resolveUpdater (line 32) | async function resolveUpdater() { function saveToCache (line 252) | async function saveToCache(fileName: string, content: string) { function getSignature (line 266) | async function getSignature(url: string) { FILE: scripts/utils/consts.ts constant SIDECAR_HOST (line 3) | const SIDECAR_HOST: string | undefined = process.argv.includes( FILE: scripts/utils/env.ts constant TAURI_APP_DIR (line 4) | const TAURI_APP_DIR = path.join(cwd, 'backend/tauri') constant TAURI_FIXED_WEBVIEW2_CONFIG_OVERRIDE_PATH (line 5) | const TAURI_FIXED_WEBVIEW2_CONFIG_OVERRIDE_PATH = path.join( constant MANIFEST_DIR (line 9) | const MANIFEST_DIR = path.join(cwd, 'manifest') constant GITHUB_PROXY (line 10) | const GITHUB_PROXY = 'https://gh-proxy.com/' constant GITHUB_TOKEN (line 11) | const GITHUB_TOKEN = process.env.GITHUB_TOKEN constant TEMP_DIR (line 12) | const TEMP_DIR = path.join(cwd, 'node_modules/.verge') constant MANIFEST_VERSION_PATH (line 13) | const MANIFEST_VERSION_PATH = path.join(MANIFEST_DIR, 'version.json') constant TAURI_APP_TEMP_DIR (line 14) | const TAURI_APP_TEMP_DIR = path.join(TAURI_APP_DIR, 'tmp') constant GIT_SUMMARY_INFO_PATH (line 15) | const GIT_SUMMARY_INFO_PATH = path.join( FILE: scripts/utils/index.ts constant HTTP_PROXY (line 49) | const HTTP_PROXY = function getProxyAgent (line 55) | function getProxyAgent() { FILE: scripts/utils/manifest.ts type ArchMapping (line 7) | type ArchMapping = { [key in SupportedArch]: string } type NodeArch (line 9) | type NodeArch = NodeJS.Architecture | 'armel' type LatestVersionResolver (line 12) | type LatestVersionResolver = Promise<{ FILE: scripts/utils/octokit.ts constant BASE_OPTIONS (line 5) | const BASE_OPTIONS = { function applyProxy (line 22) | function applyProxy(opts: ConstructorParameters[0]) { FILE: scripts/utils/resolve.ts class Resolve (line 41) | class Resolve { method constructor (line 48) | constructor( method wintun (line 67) | public async wintun() { method service (line 148) | public async service() { method mmdb (line 152) | public mmdb() { method geosite (line 159) | public geosite() { method geoip (line 166) | public geoip() { method enableLoopback (line 173) | public enableLoopback() { method sidecar (line 180) | private sidecar(binInfo: BinInfo | PromiseLike) { method clash (line 186) | public async clash() { method clashMeta (line 190) | public async clashMeta() { method clashMetaAlpha (line 194) | public async clashMetaAlpha() { method clashRust (line 198) | public async clashRust() { method clashRustAlpha (line 202) | public async clashRustAlpha() { FILE: scripts/utils/resource.ts constant SERVICE_REPO (line 17) | const SERVICE_REPO = 'libnyanpasu/nyanpasu-service' type NodeArch (line 19) | type NodeArch = NodeJS.Architecture | 'armel' function mappingArch (line 21) | function mappingArch(platform: NodeJS.Platform, arch: NodeArch): Support... FILE: scripts/utils/shell.ts constant GIT_SHORT_HASH (line 3) | const GIT_SHORT_HASH = execSync('git rev-parse --short HEAD') FILE: scripts/utils/telegram.ts constant TELEGRAM_API_ID (line 8) | const TELEGRAM_API_ID = Number(process.env.TELEGRAM_API_ID) constant TELEGRAM_API_HASH (line 14) | const TELEGRAM_API_HASH = process.env.TELEGRAM_API_HASH