use crate::models::properties::DateValue; use crate::models::users::User; use crate::{Database, Page}; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Copy, Clone)] #[serde(rename_all = "snake_case")] pub enum TextColor { Default, Gray, Brown, Orange, Yellow, Green, Blue, Purple, Pink, Red, GrayBackground, BrownBackground, OrangeBackground, YellowBackground, GreenBackground, BlueBackground, PurpleBackground, PinkBackground, RedBackground, } /// Rich text annotations /// See #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)] pub struct Annotations { pub bold: Option, pub code: Option, pub color: Option, pub italic: Option, pub strikethrough: Option, pub underline: Option, } /// Properties common on all rich text objects /// See #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)] pub struct RichTextCommon { pub plain_text: String, pub href: Option, pub annotations: Option, } #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)] pub struct Link { pub url: String, } #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)] pub struct Text { pub content: String, pub link: Option, } /// See https://developers.notion.com/reference/rich-text#mention-objects #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)] #[serde(tag = "type")] #[serde(rename_all = "snake_case")] pub enum MentionObject { User { user: User, }, // TODO: need to add tests Page { page: Page, }, // TODO: need to add tests Database { database: Database, }, Date { date: DateValue, }, // TODO: need to add LinkPreview // LinkPreview { // // }, #[serde(other)] Unknown, } /// Rich text objects contain data for displaying formatted text, mentions, and equations. /// A rich text object also contains annotations for style information. /// Arrays of rich text objects are used within property objects and property /// value objects to create what a user sees as a single text value in Notion. #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)] #[serde(tag = "type")] #[serde(rename_all = "snake_case")] pub enum RichText { /// See Text { #[serde(flatten)] rich_text: RichTextCommon, text: Text, }, /// See Mention { #[serde(flatten)] rich_text: RichTextCommon, mention: MentionObject, }, /// See Equation { #[serde(flatten)] rich_text: RichTextCommon, }, } impl RichText { pub fn plain_text(&self) -> &str { use RichText::*; match self { Text { rich_text, .. } | Mention { rich_text, .. } | Equation { rich_text, .. } => { &rich_text.plain_text } } } } /fix/event-emitter-emit-throw-native Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)AuthorFilesLines
2022-03-26Fix clonefile() so it actually does runGravatar Jarred Sumner 1-1/+4
2022-03-26Remove imports of <WTF/FileSystem.h>Gravatar Jarred Sumner 2-2/+0
2022-03-26Move .d.ts into a better folderGravatar Jarred Sumner 2-4/+109
2022-03-25Update response.file.test.jsGravatar Jarred Sumner 1-0/+8
2022-03-25fix error hanldingGravatar Jarred Sumner 1-6/+22
2022-03-25[bun.js] configuration and error handling for HTTP serverGravatar Jarred Sumner 16-1582/+2172
2022-03-24Auto-detect MimeType based on file extensionGravatar Jarred Sumner 3-48/+3603
2022-03-24Bun.openInEditorGravatar Jarred Sumner 4-13/+131
2022-03-24Update MakefileGravatar Jarred Sumner 1-1/+2
2022-03-24Implement error page for HTTP serverGravatar Jarred Sumner 14-171/+894
2022-03-24clang-formatGravatar Jarred Sumner 7-278/+363
2022-03-24Update response.zigGravatar Jarred Sumner 1-6/+6
2022-03-24[bun.js] Enable SharedArrayBuffer and expose internal LoaderGravatar Jarred Sumner 1-7/+16
2022-03-23handle bodies of 0 length betterGravatar Jarred Sumner 6-42/+86
2022-03-23Update server.zigGravatar Jarred Sumner 1-1/+2
2022-03-23Implement Request body support!Gravatar Jarred Sumner 3-30/+132
2022-03-23Support `Request.headers` and `Request.url` in http serverGravatar Jarred Sumner 5-30/+134
2022-03-23Update MakefileGravatar Jarred Sumner 1-1/+1
2022-03-23:scissors: testGravatar Jarred Sumner 1-14/+2
2022-03-23[bun.js] Bun.write for macOSGravatar Jarred Sumner 14-76/+232
2022-03-23[bun.js] Implement Bun.write()Gravatar Jarred SUmner 11-63/+959
2022-03-22Handle integer sizes greater than i32Gravatar Jarred SUmner 14-74/+142
2022-03-22Linux-specific tweaksGravatar Jarred SUmner 6-43/+52
2022-03-22`Response.file` -> `Bun.file`Gravatar Jarred Sumner 3-72/+65
2022-03-21sendfile worksGravatar Jarred Sumner 7-62/+174
2022-03-21[bun.js] 2/? Implement `Response.file`, sendfile editionGravatar Jarred Sumner 8-161/+506
2022-03-21[bun.js] 1/? Implement `Response.file`Gravatar Jarred Sumner 13-103/+1103