Line data Source code
1 : use paracord::custom_key;
2 :
3 : use crate::types::{AccountId, BranchId, EndpointId, ProjectId, RoleName};
4 :
5 : custom_key!(pub struct RoleNameInt);
6 : custom_key!(pub struct EndpointIdInt);
7 : custom_key!(pub struct BranchIdInt);
8 : custom_key!(pub struct ProjectIdInt);
9 : custom_key!(pub struct AccountIdInt);
10 :
11 : impl From<&RoleName> for RoleNameInt {
12 16 : fn from(value: &RoleName) -> Self {
13 16 : RoleNameInt::from_str_or_intern(value)
14 16 : }
15 : }
16 :
17 : impl From<&EndpointId> for EndpointIdInt {
18 30 : fn from(value: &EndpointId) -> Self {
19 30 : EndpointIdInt::from_str_or_intern(value)
20 30 : }
21 : }
22 : impl From<EndpointId> for EndpointIdInt {
23 11 : fn from(value: EndpointId) -> Self {
24 11 : EndpointIdInt::from_str_or_intern(&value)
25 11 : }
26 : }
27 :
28 : impl From<&BranchId> for BranchIdInt {
29 18 : fn from(value: &BranchId) -> Self {
30 18 : BranchIdInt::from_str_or_intern(value)
31 18 : }
32 : }
33 : impl From<BranchId> for BranchIdInt {
34 0 : fn from(value: BranchId) -> Self {
35 0 : BranchIdInt::from_str_or_intern(&value)
36 0 : }
37 : }
38 : impl std::ops::Deref for BranchIdInt {
39 : type Target = str;
40 0 : fn deref(&self) -> &str {
41 0 : self.as_str()
42 0 : }
43 : }
44 :
45 : impl From<&ProjectId> for ProjectIdInt {
46 30 : fn from(value: &ProjectId) -> Self {
47 30 : ProjectIdInt::from_str_or_intern(value)
48 30 : }
49 : }
50 : impl From<ProjectId> for ProjectIdInt {
51 0 : fn from(value: ProjectId) -> Self {
52 0 : ProjectIdInt::from_str_or_intern(&value)
53 0 : }
54 : }
55 : impl std::ops::Deref for ProjectIdInt {
56 : type Target = str;
57 0 : fn deref(&self) -> &str {
58 0 : self.as_str()
59 0 : }
60 : }
61 :
62 : impl From<&AccountId> for AccountIdInt {
63 0 : fn from(value: &AccountId) -> Self {
64 0 : AccountIdInt::from_str_or_intern(value)
65 0 : }
66 : }
67 : impl From<AccountId> for AccountIdInt {
68 0 : fn from(value: AccountId) -> Self {
69 0 : AccountIdInt::from_str_or_intern(&value)
70 0 : }
71 : }
|