diff --git a/veilid-flutter/example/macos/Podfile.lock b/veilid-flutter/example/macos/Podfile.lock index dad885d8..6310dc01 100644 --- a/veilid-flutter/example/macos/Podfile.lock +++ b/veilid-flutter/example/macos/Podfile.lock @@ -27,7 +27,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 macos_window_utils: 933f91f64805e2eb91a5bd057cf97cd097276663 - path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8 + path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 veilid: a54f57b7bcf0e4e072fe99272d76ca126b2026d0 PODFILE CHECKSUM: 73d2f470b1d889e27fcfda1d6e6efec66f98af3f diff --git a/veilid-flutter/example/pubspec.lock b/veilid-flutter/example/pubspec.lock index 73c75fc4..5d0b65a7 100644 --- a/veilid-flutter/example/pubspec.lock +++ b/veilid-flutter/example/pubspec.lock @@ -101,10 +101,10 @@ packages: dependency: transitive description: name: ffi - sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99 + sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.1.0" file_utils: dependency: transitive description: @@ -138,10 +138,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4" + sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.0.3" flutter_test: dependency: "direct dev" description: flutter @@ -196,10 +196,10 @@ packages: dependency: transitive description: name: macos_window_utils - sha256: b78a210aa70ca7ccad6e7b7b810fb4689c507f4a46e299214900b2a1eb70ea23 + sha256: "43a90473f8786f00f07203e6819dab67e032f8896dafa4a6f85fbc71fba32c0b" url: "https://pub.dev" source: hosted - version: "1.1.3" + version: "1.2.0" matcher: dependency: transitive description: @@ -236,58 +236,58 @@ packages: dependency: "direct main" description: name: path_provider - sha256: "3087813781ab814e4157b172f1a11c46be20179fcc9bea043e0fba36bc0acaa2" + sha256: "909b84830485dbcd0308edf6f7368bc8fd76afa26a270420f34cabea2a6467a0" url: "https://pub.dev" source: hosted - version: "2.0.15" + version: "2.1.0" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: "2cec049d282c7f13c594b4a73976b0b4f2d7a1838a6dd5aaf7bd9719196bee86" + sha256: "5d44fc3314d969b84816b569070d7ace0f1dea04bd94a83f74c4829615d22ad8" url: "https://pub.dev" source: hosted - version: "2.0.27" + version: "2.1.0" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "916731ccbdce44d545414dd9961f26ba5fbaa74bcbb55237d8e65a623a8c7297" + sha256: "1b744d3d774e5a879bb76d6cd1ecee2ba2c6960c03b1020cd35212f6aa267ac5" url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.3.0" path_provider_linux: dependency: transitive description: name: path_provider_linux - sha256: ffbb8cc9ed2c9ec0e4b7a541e56fd79b138e8f47d2fb86815f15358a349b3b57 + sha256: ba2b77f0c52a33db09fc8caf85b12df691bf28d983e84cf87ff6d693cfa007b3 url: "https://pub.dev" source: hosted - version: "2.1.11" + version: "2.2.0" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface - sha256: "57585299a729335f1298b43245842678cb9f43a6310351b18fb577d6e33165ec" + sha256: bced5679c7df11190e1ddc35f3222c858f328fff85c3942e46e7f5589bf9eb84 url: "https://pub.dev" source: hosted - version: "2.0.6" + version: "2.1.0" path_provider_windows: dependency: transitive description: name: path_provider_windows - sha256: "1cb68ba4cd3a795033de62ba1b7b4564dace301f952de6bfb3cd91b202b6ee96" + sha256: ee0e0d164516b90ae1f970bdf29f726f1aa730d7cfc449ecc74c495378b705da url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.2.0" platform: dependency: transitive description: name: platform - sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" + sha256: "57c07bf82207aee366dfaa3867b3164e4f03a238a461a11b0e8a3a510d51203d" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" platform_info: dependency: transitive description: @@ -300,10 +300,10 @@ packages: dependency: transitive description: name: plugin_platform_interface - sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc" + sha256: "43798d895c929056255600343db8f049921cbec94d31ec87f1dc5c16c01935dd" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" quiver: dependency: transitive description: @@ -416,18 +416,18 @@ packages: dependency: transitive description: name: win32 - sha256: dfdf0136e0aa7a1b474ea133e67cb0154a0acd2599c4f3ada3b49d38d38793ee + sha256: "9e82a402b7f3d518fb9c02d0e9ae45952df31b9bf34d77baf19da2de03fc2aaa" url: "https://pub.dev" source: hosted - version: "5.0.5" + version: "5.0.7" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: e0b1147eec179d3911f1f19b59206448f78195ca1d20514134e10641b7d7fbff + sha256: f0c26453a2d47aa4c2570c6a033246a3fc62da2fe23c7ffdd0a7495086dc0247 url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.2" xterm: dependency: "direct main" description: diff --git a/veilid-wasm/Cargo.toml b/veilid-wasm/Cargo.toml index 007ff7aa..bdcc10da 100644 --- a/veilid-wasm/Cargo.toml +++ b/veilid-wasm/Cargo.toml @@ -9,7 +9,7 @@ edition = "2021" crate-type = ["cdylib", "rlib"] [features] -default = ["veilid-core/default"] +default = ["veilid-core/default-wasm"] crypto-test = ["veilid-core/crypto-test"] [dependencies] diff --git a/veilid-wasm/src/lib.rs b/veilid-wasm/src/lib.rs index c3fc7dcd..ed6172e7 100644 --- a/veilid-wasm/src/lib.rs +++ b/veilid-wasm/src/lib.rs @@ -80,28 +80,6 @@ pub fn from_json( deserialize_json(&s) } -// Parse target -fn parse_target(s: String) -> APIResult { - // Is this a route id? - if let Ok(rrid) = veilid_core::RouteId::from_str(&s) { - let veilid_api = get_veilid_api()?; - let routing_table = veilid_api.routing_table()?; - let rss = routing_table.route_spec_store(); - - // Is this a valid remote route id? (can't target allocated routes) - if rss.is_route_id_remote(&rrid) { - return Ok(veilid_core::Target::PrivateRoute(rrid)); - } - } - - // Is this a node id? - if let Ok(nid) = veilid_core::TypedKey::from_str(&s) { - return Ok(veilid_core::Target::NodeId(nid)); - } - - Err(veilid_core::VeilidAPIError::invalid_target()) -} - // Utility types for async API results type APIResult = Result; const APIRESULT_UNDEFINED: APIResult<()> = APIResult::Ok(()); @@ -370,7 +348,7 @@ pub fn routing_context_with_sequencing(id: u32, sequencing: String) -> u32 { } #[wasm_bindgen()] -pub fn routing_context_app_call(id: u32, target: String, request: String) -> Promise { +pub fn routing_context_app_call(id: u32, target_string: String, request: String) -> Promise { let request: Vec = data_encoding::BASE64URL_NOPAD .decode(request.as_bytes()) .unwrap(); @@ -383,7 +361,8 @@ pub fn routing_context_app_call(id: u32, target: String, request: String) -> Pro routing_context.clone() }; - let target = parse_target(target)?; + let veilid_api = get_veilid_api()?; + let target = veilid_api.parse_as_target(target_string).await?; let answer = routing_context.app_call(target, request).await?; let answer = data_encoding::BASE64URL_NOPAD.encode(&answer); APIResult::Ok(answer) @@ -391,7 +370,7 @@ pub fn routing_context_app_call(id: u32, target: String, request: String) -> Pro } #[wasm_bindgen()] -pub fn routing_context_app_message(id: u32, target: String, message: String) -> Promise { +pub fn routing_context_app_message(id: u32, target_string: String, message: String) -> Promise { let message: Vec = data_encoding::BASE64URL_NOPAD .decode(message.as_bytes()) .unwrap(); @@ -404,7 +383,8 @@ pub fn routing_context_app_message(id: u32, target: String, message: String) -> routing_context.clone() }; - let target = parse_target(target)?; + let veilid_api = get_veilid_api()?; + let target = veilid_api.parse_as_target(target_string).await?; routing_context.app_message(target, message).await?; APIRESULT_UNDEFINED })