futu_mcp/trd_sdk_adapter.rs
1use futu_trd::types::{ModifyOrderOp, OrderType, TrdEnv, TrdMarket, TrdSide};
2
3/// Compatibility-shell boundary for old futu-trd APIs that still accept
4/// `TrdMarket` instead of a raw trade market id.
5pub(crate) fn trd_market_from_id(market: i32) -> Option<TrdMarket> {
6 TrdMarket::try_from(market).ok()
7}
8
9/// Compatibility-shell boundary for old futu-trd APIs that still accept
10/// `TrdEnv` instead of a raw trade environment id.
11pub(crate) fn trd_env_from_id(env: i32) -> Option<TrdEnv> {
12 TrdEnv::try_from(env).ok()
13}
14
15/// Compatibility-shell boundary for old futu-trd APIs that still accept
16/// `TrdSide` instead of a raw trade side id.
17pub(crate) fn trd_side_from_id(side: i32) -> Option<TrdSide> {
18 TrdSide::try_from(side).ok()
19}
20
21/// Compatibility-shell boundary for old futu-trd APIs that still accept
22/// `OrderType` instead of a raw order type id.
23pub(crate) fn order_type_from_id(order_type: i32) -> Option<OrderType> {
24 OrderType::try_from(order_type).ok()
25}
26
27/// Compatibility-shell boundary for old futu-trd APIs that still accept
28/// `ModifyOrderOp` instead of a raw modify operation id.
29pub(crate) fn modify_order_op_from_id(modify_op: i32) -> Option<ModifyOrderOp> {
30 ModifyOrderOp::try_from(modify_op).ok()
31}