polygon_io/reference/
types.rs1extern crate serde_json;
2extern crate ureq;
3
4use crate::client::{Client, Result};
5use serde::{Deserialize, Serialize};
6use std::collections::HashMap;
7
8#[derive(Debug, Deserialize, Serialize)]
9#[serde(rename_all = "camelCase")]
10pub struct Types {
11 pub types: HashMap<String, String>,
12 pub index_types: HashMap<String, String>
13}
14
15#[derive(Debug, Deserialize, Serialize)]
16pub struct TypesResponse {
17 pub results: Types,
18 pub status: String
20}
21
22impl Client {
23 pub fn get_types(&self) -> Result<TypesResponse> {
24 let uri = format!("{}/v2/reference/types", self.api_uri);
25
26 let resp = self.get_response::<TypesResponse>(&uri)?;
27
28 Ok(resp)
29 }
30}
31
32#[cfg(test)]
33mod types {
34 use crate::client::Client;
35
36 #[test]
37 fn works() {
38 let client = Client::new().unwrap();
39 let types = client.get_types().unwrap();
40 assert_eq!(
41 types.results.types.get("CS").unwrap(),
42 &String::from("Common Stock")
43 );
44 }
45}