1use crate::prelude::Constraints;
2use crate::types::Date;
3use crate::{types::Tag, AsnType, Decode, Decoder, Encode, Encoder};
4
5use super::Identifier;
6
7impl AsnType for Date {
8 const TAG: Tag = Tag::DATE;
9 const IDENTIFIER: Identifier = Identifier::DATE;
10}
11
12impl Decode for Date {
13 fn decode_with_tag_and_constraints<D: Decoder>(
14 decoder: &mut D,
15 tag: Tag,
16 _constraints: Constraints,
17 ) -> Result<Self, D::Error> {
18 decoder.decode_date(tag)
19 }
20}
21
22impl Encode for Date {
23 fn encode_with_tag_and_constraints<'b, E: Encoder<'b>>(
24 &self,
25 encoder: &mut E,
26 tag: Tag,
27 _constraints: Constraints,
28 identifier: Identifier,
29 ) -> Result<(), E::Error> {
30 encoder.encode_date(tag, self, identifier).map(drop)
31 }
32}