nacos-sdk-rust-binding-node 0.5.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +148 -0
- package/Cargo.toml +4 -3
- package/README.md +1 -1
- package/example/config.js +20 -8
- package/example/config_decrypt.js +21 -9
- package/index.d.ts +98 -100
- package/index.js +202 -530
- package/package.json +15 -15
- package/src/config.rs +8 -4
- package/src/lib.rs +14 -0
- package/src/naming.rs +6 -3
- package/tea.yaml +0 -7
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"binding",
|
|
8
8
|
"ffi"
|
|
9
9
|
],
|
|
10
|
-
"version": "0.
|
|
10
|
+
"version": "0.7.0",
|
|
11
11
|
"bugs": "https://github.com/opc-source/nacos-sdk-rust-binding-node/issues",
|
|
12
12
|
"license": "MIT",
|
|
13
13
|
"repository": {
|
|
@@ -55,19 +55,19 @@
|
|
|
55
55
|
},
|
|
56
56
|
"packageManager": "yarn@3.4.1",
|
|
57
57
|
"optionalDependencies": {
|
|
58
|
-
"nacos-sdk-rust-binding-node-win32-x64-msvc": "0.
|
|
59
|
-
"nacos-sdk-rust-binding-node-darwin-x64": "0.
|
|
60
|
-
"nacos-sdk-rust-binding-node-linux-x64-gnu": "0.
|
|
61
|
-
"nacos-sdk-rust-binding-node-darwin-arm64": "0.
|
|
62
|
-
"nacos-sdk-rust-binding-node-android-arm64": "0.
|
|
63
|
-
"nacos-sdk-rust-binding-node-linux-arm64-gnu": "0.
|
|
64
|
-
"nacos-sdk-rust-binding-node-linux-arm64-musl": "0.
|
|
65
|
-
"nacos-sdk-rust-binding-node-win32-arm64-msvc": "0.
|
|
66
|
-
"nacos-sdk-rust-binding-node-linux-arm-gnueabihf": "0.
|
|
67
|
-
"nacos-sdk-rust-binding-node-linux-x64-musl": "0.
|
|
68
|
-
"nacos-sdk-rust-binding-node-freebsd-x64": "0.
|
|
69
|
-
"nacos-sdk-rust-binding-node-win32-ia32-msvc": "0.
|
|
70
|
-
"nacos-sdk-rust-binding-node-android-arm-eabi": "0.
|
|
71
|
-
"nacos-sdk-rust-binding-node-darwin-universal": "0.
|
|
58
|
+
"nacos-sdk-rust-binding-node-win32-x64-msvc": "0.7.0",
|
|
59
|
+
"nacos-sdk-rust-binding-node-darwin-x64": "0.7.0",
|
|
60
|
+
"nacos-sdk-rust-binding-node-linux-x64-gnu": "0.7.0",
|
|
61
|
+
"nacos-sdk-rust-binding-node-darwin-arm64": "0.7.0",
|
|
62
|
+
"nacos-sdk-rust-binding-node-android-arm64": "0.7.0",
|
|
63
|
+
"nacos-sdk-rust-binding-node-linux-arm64-gnu": "0.7.0",
|
|
64
|
+
"nacos-sdk-rust-binding-node-linux-arm64-musl": "0.7.0",
|
|
65
|
+
"nacos-sdk-rust-binding-node-win32-arm64-msvc": "0.7.0",
|
|
66
|
+
"nacos-sdk-rust-binding-node-linux-arm-gnueabihf": "0.7.0",
|
|
67
|
+
"nacos-sdk-rust-binding-node-linux-x64-musl": "0.7.0",
|
|
68
|
+
"nacos-sdk-rust-binding-node-freebsd-x64": "0.7.0",
|
|
69
|
+
"nacos-sdk-rust-binding-node-win32-ia32-msvc": "0.7.0",
|
|
70
|
+
"nacos-sdk-rust-binding-node-android-arm-eabi": "0.7.0",
|
|
71
|
+
"nacos-sdk-rust-binding-node-darwin-universal": "0.7.0"
|
|
72
72
|
}
|
|
73
73
|
}
|
package/src/config.rs
CHANGED
|
@@ -29,7 +29,8 @@ impl NacosConfigClient {
|
|
|
29
29
|
client_options
|
|
30
30
|
.app_name
|
|
31
31
|
.unwrap_or(nacos_sdk::api::constants::UNKNOWN.to_string()),
|
|
32
|
-
)
|
|
32
|
+
)
|
|
33
|
+
.config_load_cache_at_start(client_options.config_load_cache_at_start.unwrap_or(false));
|
|
33
34
|
|
|
34
35
|
// need enable_auth_plugin_http with username & password
|
|
35
36
|
let is_enable_auth_http =
|
|
@@ -67,9 +68,12 @@ impl NacosConfigClient {
|
|
|
67
68
|
config_service_builder
|
|
68
69
|
};
|
|
69
70
|
|
|
70
|
-
let config_service =
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
let config_service = crate::get_runtime().block_on(async {
|
|
72
|
+
config_service_builder
|
|
73
|
+
.build()
|
|
74
|
+
.await
|
|
75
|
+
.map_err(|nacos_err| Error::from_reason(nacos_err.to_string()))
|
|
76
|
+
})?;
|
|
73
77
|
|
|
74
78
|
Ok(NacosConfigClient {
|
|
75
79
|
inner: config_service,
|
package/src/lib.rs
CHANGED
|
@@ -8,6 +8,18 @@ pub fn sum(a: i32, b: i32) -> i32 {
|
|
|
8
8
|
a + b
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
// Global Tokio runtime for async operations in constructors
|
|
12
|
+
// static RT: std::sync::OnceLock<tokio::runtime::Runtime> = std::sync::OnceLock::new();
|
|
13
|
+
|
|
14
|
+
pub fn get_runtime() -> tokio::runtime::Runtime {
|
|
15
|
+
// RT.get_or_init(|| {
|
|
16
|
+
tokio::runtime::Builder::new_current_thread()
|
|
17
|
+
.enable_all()
|
|
18
|
+
.build()
|
|
19
|
+
.expect("Failed to create Tokio runtime")
|
|
20
|
+
// })
|
|
21
|
+
}
|
|
22
|
+
|
|
11
23
|
#[napi(object)]
|
|
12
24
|
pub struct ClientOptions {
|
|
13
25
|
/// Server Addr, e.g. address:port[,address:port],...]
|
|
@@ -30,6 +42,8 @@ pub struct ClientOptions {
|
|
|
30
42
|
pub naming_push_empty_protection: Option<bool>,
|
|
31
43
|
/// naming load_cache_at_start, default false
|
|
32
44
|
pub naming_load_cache_at_start: Option<bool>,
|
|
45
|
+
/// config load_cache_at_start, default false
|
|
46
|
+
pub config_load_cache_at_start: Option<bool>,
|
|
33
47
|
}
|
|
34
48
|
|
|
35
49
|
mod config;
|
package/src/naming.rs
CHANGED
|
@@ -53,9 +53,12 @@ impl NacosNamingClient {
|
|
|
53
53
|
nacos_sdk::api::naming::NamingServiceBuilder::new(props)
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
let naming_service =
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
let naming_service = crate::get_runtime().block_on(async {
|
|
57
|
+
naming_service_builder
|
|
58
|
+
.build()
|
|
59
|
+
.await
|
|
60
|
+
.map_err(|nacos_err| Error::from_reason(nacos_err.to_string()))
|
|
61
|
+
})?;
|
|
59
62
|
|
|
60
63
|
Ok(NacosNamingClient {
|
|
61
64
|
inner: naming_service,
|