1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: place.stream.richtext.facet
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8/// Annotation of a sub-string within rich text.
9#[jacquard_derive::lexicon]
10#[derive(
11 serde::Serialize,
12 serde::Deserialize,
13 Debug,
14 Clone,
15 PartialEq,
16 Eq,
17 jacquard_derive::IntoStatic,
18 bon::Builder
19)]
20#[serde(rename_all = "camelCase")]
21pub struct Facet<'a> {
22 #[serde(borrow)]
23 pub features: Vec<FacetFeaturesItem<'a>>,
24 #[serde(borrow)]
25 pub index: crate::app_bsky::richtext::facet::ByteSlice<'a>,
26}
27
28#[jacquard_derive::open_union]
29#[derive(
30 serde::Serialize,
31 serde::Deserialize,
32 Debug,
33 Clone,
34 PartialEq,
35 Eq,
36 jacquard_derive::IntoStatic
37)]
38#[serde(tag = "$type")]
39#[serde(bound(deserialize = "'de: 'a"))]
40pub enum FacetFeaturesItem<'a> {
41 #[serde(rename = "app.bsky.richtext.facet#mention")]
42 FacetMention(Box<crate::app_bsky::richtext::facet::Mention<'a>>),
43 #[serde(rename = "app.bsky.richtext.facet#link")]
44 FacetLink(Box<crate::app_bsky::richtext::facet::Link<'a>>),
45}