rasn/types/
date.rs

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}