Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
model-entity
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
rust common
model-entity
Commits
a365233d
Commit
a365233d
authored
Sep 14, 2024
by
xuwencheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
serde
parent
0a556a56
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
0 deletions
+30
-0
mod.rs
src/serde/mod.rs
+30
-0
No files found.
src/serde/mod.rs
View file @
a365233d
...
@@ -31,6 +31,36 @@ pub mod string_or_i32 {
...
@@ -31,6 +31,36 @@ pub mod string_or_i32 {
}
}
}
}
pub
mod
string_or_i64
{
use
serde
::{
de
,
Deserialize
,
Deserializer
,
Serializer
};
use
std
::
fmt
::
Display
;
pub
fn
serialize
<
T
,
S
>
(
value
:
&
T
,
serializer
:
S
)
->
Result
<
S
::
Ok
,
S
::
Error
>
where
T
:
Display
,
S
:
Serializer
,
{
serializer
.collect_str
(
value
)
}
pub
fn
deserialize
<
'de
,
D
>
(
deserializer
:
D
)
->
Result
<
i64
,
D
::
Error
>
where
D
:
Deserializer
<
'de
>
,
{
#[derive(Deserialize)]
#[serde(untagged)]
enum
StringOrI32
{
String
(
String
),
I64
(
i64
),
}
match
StringOrI32
::
deserialize
(
deserializer
)
?
{
StringOrI32
::
String
(
s
)
=>
s
.parse
()
.map_err
(
de
::
Error
::
custom
),
StringOrI32
::
I64
(
i
)
=>
Ok
(
i
),
}
}
}
pub
mod
serde_date
{
pub
mod
serde_date
{
use
chrono
::{
DateTime
,
Local
,
NaiveDateTime
,
TimeZone
};
use
chrono
::{
DateTime
,
Local
,
NaiveDateTime
,
TimeZone
};
use
chrono_tz
::
Asia
::
Shanghai
;
use
chrono_tz
::
Asia
::
Shanghai
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment