oca_bundle_semantics/state/
encoding.rs1use serde::{Deserialize, Serialize};
2use std::str::FromStr;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6#[derive(Serialize, Deserialize, Debug, Clone, Copy)]
7pub enum Encoding {
8 #[serde(rename = "base64")]
9 Base64,
10 #[serde(rename = "utf-8")]
11 Utf8,
12 #[serde(rename = "iso-8859-1")]
13 Iso8859_1,
14 #[serde(rename = "utf-16")]
15 Utf16,
16 #[serde(rename = "utf-16be")]
17 Utf16Be,
18 #[serde(rename = "utf-16le")]
19 Utf16Le,
20}
21
22impl FromStr for Encoding {
23 type Err = ();
24
25 fn from_str(s: &str) -> Result<Self, Self::Err> {
26 match s {
27 "base64" => Ok(Encoding::Base64),
28 "utf-8" => Ok(Encoding::Utf8),
29 "iso-8859-1" => Ok(Encoding::Iso8859_1),
30 "utf-16" => Ok(Encoding::Utf16),
31 "utf-16be" => Ok(Encoding::Utf16Be),
32 "utf-16le" => Ok(Encoding::Utf16Le),
33 _ => Err(()),
34 }
35 }
36}