this repo has no description

adjust fetch_uri() to use new typed AtUri wrapper, codegen to support

Orual f7db2a76 827a2dac

Changed files
+2411 -43
crates
jacquard
src
jacquard-api
src
app_blebbit
authr
folder
group
page
app_bsky
app_ocho
app_rocksky
beauty_cybernetic
blog_pckt
blue__2048
key
player
player
verification
blue_atplane
blue_linkat
blue_zio
atfile
buzz_bookhive
chat_bsky
com_atproto
lexicon
com_crabdance
nandi
com_shinolabs
com_whtwnd
blog
community_lexicon
bookmarks
calendar
interaction
payments
dev_baileytownsend
dev_fudgeu
experimental
dev_ocbwoy3
blueboard
dev_regnault
webfishing
fyi_unravel
moe_karashiiro
kpaste
my_skylights
net_aftertheinter
net_altq
net_anisota
net_bnewbold
net_mmatt
right
vitals
network_slices
org_devcon
event
org_robocracy
place_atwork
place_stream
pub_leaflet
sh_tangled
sh_weaver
social_clippr
social_grain
social_pmsky
social_psky
tools_smokesignal
blahg
content
uk_ewancroft
uk_skyblur
us_polhem
win_tomo_x
pushat
jacquard-common
src
types
jacquard-lexicon
src
codegen
examples
+4
crates/jacquard-api/Cargo.toml
··· 24 24 thiserror.workspace = true 25 25 26 26 27 + [lints.rust] 28 + # just so that my rust-analyzer shuts up about the module name for 2048.blue's namespace 29 + non_snake_case = "allow" 30 + 27 31 [features] 28 32 default = [ "minimal"] 29 33 minimal = [ "com_atproto", "com_bad_example"]
+13
crates/jacquard-api/src/app_blebbit/authr/folder/record.rs
··· 31 31 pub public: Option<bool>, 32 32 } 33 33 34 + impl<'a> Record<'a> { 35 + pub fn uri( 36 + uri: impl Into<jacquard_common::CowStr<'a>>, 37 + ) -> Result< 38 + jacquard_common::types::uri::RecordUri<'a, RecordRecord>, 39 + jacquard_common::types::uri::UriError, 40 + > { 41 + jacquard_common::types::uri::RecordUri::try_from_uri( 42 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 43 + ) 44 + } 45 + } 46 + 34 47 /// Typed wrapper for GetRecord response with this collection's record type. 35 48 #[derive( 36 49 serde::Serialize,
+13
crates/jacquard-api/src/app_blebbit/authr/group/record.rs
··· 39 39 pub public: Option<bool>, 40 40 } 41 41 42 + impl<'a> Record<'a> { 43 + pub fn uri( 44 + uri: impl Into<jacquard_common::CowStr<'a>>, 45 + ) -> Result< 46 + jacquard_common::types::uri::RecordUri<'a, RecordRecord>, 47 + jacquard_common::types::uri::UriError, 48 + > { 49 + jacquard_common::types::uri::RecordUri::try_from_uri( 50 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 51 + ) 52 + } 53 + } 54 + 42 55 /// Typed wrapper for GetRecord response with this collection's record type. 43 56 #[derive( 44 57 serde::Serialize,
+13
crates/jacquard-api/src/app_blebbit/authr/page/record.rs
··· 35 35 pub public: Option<bool>, 36 36 } 37 37 38 + impl<'a> Record<'a> { 39 + pub fn uri( 40 + uri: impl Into<jacquard_common::CowStr<'a>>, 41 + ) -> Result< 42 + jacquard_common::types::uri::RecordUri<'a, RecordRecord>, 43 + jacquard_common::types::uri::UriError, 44 + > { 45 + jacquard_common::types::uri::RecordUri::try_from_uri( 46 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 47 + ) 48 + } 49 + } 50 + 38 51 /// Typed wrapper for GetRecord response with this collection's record type. 39 52 #[derive( 40 53 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/actor/profile.rs
··· 67 67 pub website: Option<jacquard_common::types::string::Uri<'a>>, 68 68 } 69 69 70 + impl<'a> Profile<'a> { 71 + pub fn uri( 72 + uri: impl Into<jacquard_common::CowStr<'a>>, 73 + ) -> Result< 74 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 75 + jacquard_common::types::uri::UriError, 76 + > { 77 + jacquard_common::types::uri::RecordUri::try_from_uri( 78 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 79 + ) 80 + } 81 + } 82 + 70 83 /// Typed wrapper for GetRecord response with this collection's record type. 71 84 #[derive( 72 85 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/actor/status.rs
··· 53 53 pub status: jacquard_common::CowStr<'a>, 54 54 } 55 55 56 + impl<'a> Status<'a> { 57 + pub fn uri( 58 + uri: impl Into<jacquard_common::CowStr<'a>>, 59 + ) -> Result< 60 + jacquard_common::types::uri::RecordUri<'a, StatusRecord>, 61 + jacquard_common::types::uri::UriError, 62 + > { 63 + jacquard_common::types::uri::RecordUri::try_from_uri( 64 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 65 + ) 66 + } 67 + } 68 + 56 69 /// Typed wrapper for GetRecord response with this collection's record type. 57 70 #[derive( 58 71 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/feed/generator.rs
··· 52 52 pub labels: Option<crate::com_atproto::label::SelfLabels<'a>>, 53 53 } 54 54 55 + impl<'a> Generator<'a> { 56 + pub fn uri( 57 + uri: impl Into<jacquard_common::CowStr<'a>>, 58 + ) -> Result< 59 + jacquard_common::types::uri::RecordUri<'a, GeneratorRecord>, 60 + jacquard_common::types::uri::UriError, 61 + > { 62 + jacquard_common::types::uri::RecordUri::try_from_uri( 63 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 64 + ) 65 + } 66 + } 67 + 55 68 /// Typed wrapper for GetRecord response with this collection's record type. 56 69 #[derive( 57 70 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/feed/like.rs
··· 28 28 pub via: Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>, 29 29 } 30 30 31 + impl<'a> Like<'a> { 32 + pub fn uri( 33 + uri: impl Into<jacquard_common::CowStr<'a>>, 34 + ) -> Result< 35 + jacquard_common::types::uri::RecordUri<'a, LikeRecord>, 36 + jacquard_common::types::uri::UriError, 37 + > { 38 + jacquard_common::types::uri::RecordUri::try_from_uri( 39 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 40 + ) 41 + } 42 + } 43 + 31 44 /// Typed wrapper for GetRecord response with this collection's record type. 32 45 #[derive( 33 46 serde::Serialize,
+20 -19
crates/jacquard-api/src/app_bsky/feed/post.rs
··· 15 15 PartialEq, 16 16 Eq, 17 17 jacquard_derive::IntoStatic, 18 - bon::Builder 18 + bon::Builder, 19 19 )] 20 20 #[serde(rename_all = "camelCase")] 21 21 pub struct Entity<'a> { ··· 40 40 PartialEq, 41 41 Eq, 42 42 jacquard_derive::IntoStatic, 43 - bon::Builder 43 + bon::Builder, 44 44 )] 45 45 #[serde(rename_all = "camelCase")] 46 46 pub struct Post<'a> { ··· 84 84 pub text: jacquard_common::CowStr<'a>, 85 85 } 86 86 87 + impl<'a> Post<'a> { 88 + pub fn uri( 89 + uri: impl Into<jacquard_common::CowStr<'a>>, 90 + ) -> Result< 91 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 92 + jacquard_common::types::uri::UriError, 93 + > { 94 + jacquard_common::types::uri::RecordUri::try_from_uri( 95 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 96 + ) 97 + } 98 + } 99 + 87 100 #[jacquard_derive::open_union] 88 101 #[derive( 89 - serde::Serialize, 90 - serde::Deserialize, 91 - Debug, 92 - Clone, 93 - PartialEq, 94 - Eq, 95 - jacquard_derive::IntoStatic 102 + serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic, 96 103 )] 97 104 #[serde(tag = "$type")] 98 105 #[serde(bound(deserialize = "'de: 'a"))] ··· 111 118 112 119 /// Typed wrapper for GetRecord response with this collection's record type. 113 120 #[derive( 114 - serde::Serialize, 115 - serde::Deserialize, 116 - Debug, 117 - Clone, 118 - PartialEq, 119 - Eq, 120 - jacquard_derive::IntoStatic 121 + serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic, 121 122 )] 122 123 #[serde(rename_all = "camelCase")] 123 124 pub struct PostGetRecordOutput<'a> { ··· 166 167 PartialEq, 167 168 Eq, 168 169 jacquard_derive::IntoStatic, 169 - bon::Builder 170 + bon::Builder, 170 171 )] 171 172 #[serde(rename_all = "camelCase")] 172 173 pub struct ReplyRef<'a> { ··· 186 187 PartialEq, 187 188 Eq, 188 189 jacquard_derive::IntoStatic, 189 - bon::Builder 190 + bon::Builder, 190 191 )] 191 192 #[serde(rename_all = "camelCase")] 192 193 pub struct TextSlice<'a> { 193 194 pub end: i64, 194 195 pub start: i64, 195 - } 196 + }
+13
crates/jacquard-api/src/app_bsky/feed/postgate.rs
··· 49 49 pub post: jacquard_common::types::string::AtUri<'a>, 50 50 } 51 51 52 + impl<'a> Postgate<'a> { 53 + pub fn uri( 54 + uri: impl Into<jacquard_common::CowStr<'a>>, 55 + ) -> Result< 56 + jacquard_common::types::uri::RecordUri<'a, PostgateRecord>, 57 + jacquard_common::types::uri::UriError, 58 + > { 59 + jacquard_common::types::uri::RecordUri::try_from_uri( 60 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 61 + ) 62 + } 63 + } 64 + 52 65 /// Typed wrapper for GetRecord response with this collection's record type. 53 66 #[derive( 54 67 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/feed/repost.rs
··· 28 28 pub via: Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>, 29 29 } 30 30 31 + impl<'a> Repost<'a> { 32 + pub fn uri( 33 + uri: impl Into<jacquard_common::CowStr<'a>>, 34 + ) -> Result< 35 + jacquard_common::types::uri::RecordUri<'a, RepostRecord>, 36 + jacquard_common::types::uri::UriError, 37 + > { 38 + jacquard_common::types::uri::RecordUri::try_from_uri( 39 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 40 + ) 41 + } 42 + } 43 + 31 44 /// Typed wrapper for GetRecord response with this collection's record type. 32 45 #[derive( 33 46 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/feed/threadgate.rs
··· 81 81 pub post: jacquard_common::types::string::AtUri<'a>, 82 82 } 83 83 84 + impl<'a> Threadgate<'a> { 85 + pub fn uri( 86 + uri: impl Into<jacquard_common::CowStr<'a>>, 87 + ) -> Result< 88 + jacquard_common::types::uri::RecordUri<'a, ThreadgateRecord>, 89 + jacquard_common::types::uri::UriError, 90 + > { 91 + jacquard_common::types::uri::RecordUri::try_from_uri( 92 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 93 + ) 94 + } 95 + } 96 + 84 97 #[jacquard_derive::open_union] 85 98 #[derive( 86 99 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/graph/block.rs
··· 25 25 pub subject: jacquard_common::types::string::Did<'a>, 26 26 } 27 27 28 + impl<'a> Block<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, BlockRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/graph/follow.rs
··· 24 24 pub subject: jacquard_common::types::string::Did<'a>, 25 25 } 26 26 27 + impl<'a> Follow<'a> { 28 + pub fn uri( 29 + uri: impl Into<jacquard_common::CowStr<'a>>, 30 + ) -> Result< 31 + jacquard_common::types::uri::RecordUri<'a, FollowRecord>, 32 + jacquard_common::types::uri::UriError, 33 + > { 34 + jacquard_common::types::uri::RecordUri::try_from_uri( 35 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 36 + ) 37 + } 38 + } 39 + 27 40 /// Typed wrapper for GetRecord response with this collection's record type. 28 41 #[derive( 29 42 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/graph/list.rs
··· 45 45 pub purpose: crate::app_bsky::graph::ListPurpose<'a>, 46 46 } 47 47 48 + impl<'a> List<'a> { 49 + pub fn uri( 50 + uri: impl Into<jacquard_common::CowStr<'a>>, 51 + ) -> Result< 52 + jacquard_common::types::uri::RecordUri<'a, ListRecord>, 53 + jacquard_common::types::uri::UriError, 54 + > { 55 + jacquard_common::types::uri::RecordUri::try_from_uri( 56 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 57 + ) 58 + } 59 + } 60 + 48 61 /// Typed wrapper for GetRecord response with this collection's record type. 49 62 #[derive( 50 63 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/graph/listblock.rs
··· 25 25 pub subject: jacquard_common::types::string::AtUri<'a>, 26 26 } 27 27 28 + impl<'a> Listblock<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, ListblockRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/graph/listitem.rs
··· 28 28 pub subject: jacquard_common::types::string::Did<'a>, 29 29 } 30 30 31 + impl<'a> Listitem<'a> { 32 + pub fn uri( 33 + uri: impl Into<jacquard_common::CowStr<'a>>, 34 + ) -> Result< 35 + jacquard_common::types::uri::RecordUri<'a, ListitemRecord>, 36 + jacquard_common::types::uri::UriError, 37 + > { 38 + jacquard_common::types::uri::RecordUri::try_from_uri( 39 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 40 + ) 41 + } 42 + } 43 + 31 44 /// Typed wrapper for GetRecord response with this collection's record type. 32 45 #[derive( 33 46 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/graph/starterpack.rs
··· 58 58 pub name: jacquard_common::CowStr<'a>, 59 59 } 60 60 61 + impl<'a> Starterpack<'a> { 62 + pub fn uri( 63 + uri: impl Into<jacquard_common::CowStr<'a>>, 64 + ) -> Result< 65 + jacquard_common::types::uri::RecordUri<'a, StarterpackRecord>, 66 + jacquard_common::types::uri::UriError, 67 + > { 68 + jacquard_common::types::uri::RecordUri::try_from_uri( 69 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 70 + ) 71 + } 72 + } 73 + 61 74 /// Typed wrapper for GetRecord response with this collection's record type. 62 75 #[derive( 63 76 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/graph/verification.rs
··· 33 33 pub subject: jacquard_common::types::string::Did<'a>, 34 34 } 35 35 36 + impl<'a> Verification<'a> { 37 + pub fn uri( 38 + uri: impl Into<jacquard_common::CowStr<'a>>, 39 + ) -> Result< 40 + jacquard_common::types::uri::RecordUri<'a, VerificationRecord>, 41 + jacquard_common::types::uri::UriError, 42 + > { 43 + jacquard_common::types::uri::RecordUri::try_from_uri( 44 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 45 + ) 46 + } 47 + } 48 + 36 49 /// Typed wrapper for GetRecord response with this collection's record type. 37 50 #[derive( 38 51 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/labeler/service.rs
··· 43 43 pub subject_types: Option<Vec<crate::com_atproto::moderation::SubjectType<'a>>>, 44 44 } 45 45 46 + impl<'a> Service<'a> { 47 + pub fn uri( 48 + uri: impl Into<jacquard_common::CowStr<'a>>, 49 + ) -> Result< 50 + jacquard_common::types::uri::RecordUri<'a, ServiceRecord>, 51 + jacquard_common::types::uri::UriError, 52 + > { 53 + jacquard_common::types::uri::RecordUri::try_from_uri( 54 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 55 + ) 56 + } 57 + } 58 + 46 59 /// Typed wrapper for GetRecord response with this collection's record type. 47 60 #[derive( 48 61 serde::Serialize,
+13
crates/jacquard-api/src/app_bsky/notification/declaration.rs
··· 25 25 pub allow_subscriptions: jacquard_common::CowStr<'a>, 26 26 } 27 27 28 + impl<'a> Declaration<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, DeclarationRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/app_ocho/edu/verification.rs
··· 30 30 pub subject: jacquard_common::types::string::Did<'a>, 31 31 } 32 32 33 + impl<'a> Verification<'a> { 34 + pub fn uri( 35 + uri: impl Into<jacquard_common::CowStr<'a>>, 36 + ) -> Result< 37 + jacquard_common::types::uri::RecordUri<'a, VerificationRecord>, 38 + jacquard_common::types::uri::UriError, 39 + > { 40 + jacquard_common::types::uri::RecordUri::try_from_uri( 41 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 42 + ) 43 + } 44 + } 45 + 33 46 /// Typed wrapper for GetRecord response with this collection's record type. 34 47 #[derive( 35 48 serde::Serialize,
+13
crates/jacquard-api/src/app_ocho/plugin/service.rs
··· 28 28 pub permissions: Vec<jacquard_common::CowStr<'a>>, 29 29 } 30 30 31 + impl<'a> Service<'a> { 32 + pub fn uri( 33 + uri: impl Into<jacquard_common::CowStr<'a>>, 34 + ) -> Result< 35 + jacquard_common::types::uri::RecordUri<'a, ServiceRecord>, 36 + jacquard_common::types::uri::UriError, 37 + > { 38 + jacquard_common::types::uri::RecordUri::try_from_uri( 39 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 40 + ) 41 + } 42 + } 43 + 31 44 /// Typed wrapper for GetRecord response with this collection's record type. 32 45 #[derive( 33 46 serde::Serialize,
+13
crates/jacquard-api/src/app_rocksky/album.rs
··· 82 82 pub youtube_link: Option<jacquard_common::types::string::Uri<'a>>, 83 83 } 84 84 85 + impl<'a> Album<'a> { 86 + pub fn uri( 87 + uri: impl Into<jacquard_common::CowStr<'a>>, 88 + ) -> Result< 89 + jacquard_common::types::uri::RecordUri<'a, AlbumRecord>, 90 + jacquard_common::types::uri::UriError, 91 + > { 92 + jacquard_common::types::uri::RecordUri::try_from_uri( 93 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 94 + ) 95 + } 96 + } 97 + 85 98 /// Typed wrapper for GetRecord response with this collection's record type. 86 99 #[derive( 87 100 serde::Serialize,
+13
crates/jacquard-api/src/app_rocksky/artist.rs
··· 60 60 pub tags: Option<Vec<jacquard_common::CowStr<'a>>>, 61 61 } 62 62 63 + impl<'a> Artist<'a> { 64 + pub fn uri( 65 + uri: impl Into<jacquard_common::CowStr<'a>>, 66 + ) -> Result< 67 + jacquard_common::types::uri::RecordUri<'a, ArtistRecord>, 68 + jacquard_common::types::uri::UriError, 69 + > { 70 + jacquard_common::types::uri::RecordUri::try_from_uri( 71 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 72 + ) 73 + } 74 + } 75 + 63 76 /// Typed wrapper for GetRecord response with this collection's record type. 64 77 #[derive( 65 78 serde::Serialize,
+13
crates/jacquard-api/src/app_rocksky/like.rs
··· 30 30 pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 31 31 } 32 32 33 + impl<'a> Like<'a> { 34 + pub fn uri( 35 + uri: impl Into<jacquard_common::CowStr<'a>>, 36 + ) -> Result< 37 + jacquard_common::types::uri::RecordUri<'a, LikeRecord>, 38 + jacquard_common::types::uri::UriError, 39 + > { 40 + jacquard_common::types::uri::RecordUri::try_from_uri( 41 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 42 + ) 43 + } 44 + } 45 + 33 46 /// Typed wrapper for GetRecord response with this collection's record type. 34 47 #[derive( 35 48 serde::Serialize,
+13
crates/jacquard-api/src/app_rocksky/playlist.rs
··· 65 65 pub youtube_link: Option<jacquard_common::CowStr<'a>>, 66 66 } 67 67 68 + impl<'a> Playlist<'a> { 69 + pub fn uri( 70 + uri: impl Into<jacquard_common::CowStr<'a>>, 71 + ) -> Result< 72 + jacquard_common::types::uri::RecordUri<'a, PlaylistRecord>, 73 + jacquard_common::types::uri::UriError, 74 + > { 75 + jacquard_common::types::uri::RecordUri::try_from_uri( 76 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 77 + ) 78 + } 79 + } 80 + 68 81 /// Typed wrapper for GetRecord response with this collection's record type. 69 82 #[derive( 70 83 serde::Serialize,
+13
crates/jacquard-api/src/app_rocksky/radio.rs
··· 50 50 pub website: Option<jacquard_common::types::string::Uri<'a>>, 51 51 } 52 52 53 + impl<'a> Radio<'a> { 54 + pub fn uri( 55 + uri: impl Into<jacquard_common::CowStr<'a>>, 56 + ) -> Result< 57 + jacquard_common::types::uri::RecordUri<'a, RadioRecord>, 58 + jacquard_common::types::uri::UriError, 59 + > { 60 + jacquard_common::types::uri::RecordUri::try_from_uri( 61 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 62 + ) 63 + } 64 + } 65 + 53 66 /// Typed wrapper for GetRecord response with this collection's record type. 54 67 #[derive( 55 68 serde::Serialize,
+13
crates/jacquard-api/src/app_rocksky/scrobble.rs
··· 126 126 pub youtube_link: Option<jacquard_common::types::string::Uri<'a>>, 127 127 } 128 128 129 + impl<'a> Scrobble<'a> { 130 + pub fn uri( 131 + uri: impl Into<jacquard_common::CowStr<'a>>, 132 + ) -> Result< 133 + jacquard_common::types::uri::RecordUri<'a, ScrobbleRecord>, 134 + jacquard_common::types::uri::UriError, 135 + > { 136 + jacquard_common::types::uri::RecordUri::try_from_uri( 137 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 138 + ) 139 + } 140 + } 141 + 129 142 /// Typed wrapper for GetRecord response with this collection's record type. 130 143 #[derive( 131 144 serde::Serialize,
+13
crates/jacquard-api/src/app_rocksky/shout.rs
··· 43 43 pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 44 44 } 45 45 46 + impl<'a> Shout<'a> { 47 + pub fn uri( 48 + uri: impl Into<jacquard_common::CowStr<'a>>, 49 + ) -> Result< 50 + jacquard_common::types::uri::RecordUri<'a, ShoutRecord>, 51 + jacquard_common::types::uri::UriError, 52 + > { 53 + jacquard_common::types::uri::RecordUri::try_from_uri( 54 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 55 + ) 56 + } 57 + } 58 + 46 59 /// Typed wrapper for GetRecord response with this collection's record type. 47 60 #[derive( 48 61 serde::Serialize,
+13
crates/jacquard-api/src/app_rocksky/song.rs
··· 126 126 pub youtube_link: Option<jacquard_common::types::string::Uri<'a>>, 127 127 } 128 128 129 + impl<'a> Song<'a> { 130 + pub fn uri( 131 + uri: impl Into<jacquard_common::CowStr<'a>>, 132 + ) -> Result< 133 + jacquard_common::types::uri::RecordUri<'a, SongRecord>, 134 + jacquard_common::types::uri::UriError, 135 + > { 136 + jacquard_common::types::uri::RecordUri::try_from_uri( 137 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 138 + ) 139 + } 140 + } 141 + 129 142 /// Typed wrapper for GetRecord response with this collection's record type. 130 143 #[derive( 131 144 serde::Serialize,
+13
crates/jacquard-api/src/beauty_cybernetic/trustcow/review.rs
··· 44 44 pub transaction: jacquard_common::CowStr<'a>, 45 45 } 46 46 47 + impl<'a> Review<'a> { 48 + pub fn uri( 49 + uri: impl Into<jacquard_common::CowStr<'a>>, 50 + ) -> Result< 51 + jacquard_common::types::uri::RecordUri<'a, ReviewRecord>, 52 + jacquard_common::types::uri::UriError, 53 + > { 54 + jacquard_common::types::uri::RecordUri::try_from_uri( 55 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 56 + ) 57 + } 58 + } 59 + 47 60 /// Typed wrapper for GetRecord response with this collection's record type. 48 61 #[derive( 49 62 serde::Serialize,
+13
crates/jacquard-api/src/beauty_cybernetic/trustcow/transaction.rs
··· 50 50 pub transaction_id: jacquard_common::CowStr<'a>, 51 51 } 52 52 53 + impl<'a> Transaction<'a> { 54 + pub fn uri( 55 + uri: impl Into<jacquard_common::CowStr<'a>>, 56 + ) -> Result< 57 + jacquard_common::types::uri::RecordUri<'a, TransactionRecord>, 58 + jacquard_common::types::uri::UriError, 59 + > { 60 + jacquard_common::types::uri::RecordUri::try_from_uri( 61 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 62 + ) 63 + } 64 + } 65 + 53 66 /// Typed wrapper for GetRecord response with this collection's record type. 54 67 #[derive( 55 68 serde::Serialize,
+13
crates/jacquard-api/src/beauty_cybernetic/trustcow/warrant.rs
··· 46 46 pub warrant_type: Option<jacquard_common::CowStr<'a>>, 47 47 } 48 48 49 + impl<'a> Warrant<'a> { 50 + pub fn uri( 51 + uri: impl Into<jacquard_common::CowStr<'a>>, 52 + ) -> Result< 53 + jacquard_common::types::uri::RecordUri<'a, WarrantRecord>, 54 + jacquard_common::types::uri::UriError, 55 + > { 56 + jacquard_common::types::uri::RecordUri::try_from_uri( 57 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 58 + ) 59 + } 60 + } 61 + 49 62 /// Typed wrapper for GetRecord response with this collection's record type. 50 63 #[derive( 51 64 serde::Serialize,
+13
crates/jacquard-api/src/blog_pckt/blog.rs
··· 46 46 pub url: Option<jacquard_common::types::string::Uri<'a>>, 47 47 } 48 48 49 + impl<'a> Blog<'a> { 50 + pub fn uri( 51 + uri: impl Into<jacquard_common::CowStr<'a>>, 52 + ) -> Result< 53 + jacquard_common::types::uri::RecordUri<'a, BlogRecord>, 54 + jacquard_common::types::uri::UriError, 55 + > { 56 + jacquard_common::types::uri::RecordUri::try_from_uri( 57 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 58 + ) 59 + } 60 + } 61 + 49 62 /// Typed wrapper for GetRecord response with this collection's record type. 50 63 #[derive( 51 64 serde::Serialize,
+13
crates/jacquard-api/src/blog_pckt/post.rs
··· 51 51 pub url: jacquard_common::types::string::Uri<'a>, 52 52 } 53 53 54 + impl<'a> Post<'a> { 55 + pub fn uri( 56 + uri: impl Into<jacquard_common::CowStr<'a>>, 57 + ) -> Result< 58 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 59 + jacquard_common::types::uri::UriError, 60 + > { 61 + jacquard_common::types::uri::RecordUri::try_from_uri( 62 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 63 + ) 64 + } 65 + } 66 + 54 67 /// Typed wrapper for GetRecord response with this collection's record type. 55 68 #[derive( 56 69 serde::Serialize,
+13
crates/jacquard-api/src/blog_pckt/publication.rs
··· 56 56 pub updated_at: Option<jacquard_common::types::string::Datetime>, 57 57 } 58 58 59 + impl<'a> Publication<'a> { 60 + pub fn uri( 61 + uri: impl Into<jacquard_common::CowStr<'a>>, 62 + ) -> Result< 63 + jacquard_common::types::uri::RecordUri<'a, PublicationRecord>, 64 + jacquard_common::types::uri::UriError, 65 + > { 66 + jacquard_common::types::uri::RecordUri::try_from_uri( 67 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 68 + ) 69 + } 70 + } 71 + 59 72 /// Typed wrapper for GetRecord response with this collection's record type. 60 73 #[derive( 61 74 serde::Serialize,
+13
crates/jacquard-api/src/blog_pckt/theme.rs
··· 32 32 pub light: crate::blog_pckt::theme::Palette<'a>, 33 33 } 34 34 35 + impl<'a> Theme<'a> { 36 + pub fn uri( 37 + uri: impl Into<jacquard_common::CowStr<'a>>, 38 + ) -> Result< 39 + jacquard_common::types::uri::RecordUri<'a, ThemeRecord>, 40 + jacquard_common::types::uri::UriError, 41 + > { 42 + jacquard_common::types::uri::RecordUri::try_from_uri( 43 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 44 + ) 45 + } 46 + } 47 + 35 48 /// Typed wrapper for GetRecord response with this collection's record type. 36 49 #[derive( 37 50 serde::Serialize,
+13
crates/jacquard-api/src/blue__2048/game.rs
··· 35 35 pub won: bool, 36 36 } 37 37 38 + impl<'a> Game<'a> { 39 + pub fn uri( 40 + uri: impl Into<jacquard_common::CowStr<'a>>, 41 + ) -> Result< 42 + jacquard_common::types::uri::RecordUri<'a, GameRecord>, 43 + jacquard_common::types::uri::UriError, 44 + > { 45 + jacquard_common::types::uri::RecordUri::try_from_uri( 46 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 47 + ) 48 + } 49 + } 50 + 38 51 /// Typed wrapper for GetRecord response with this collection's record type. 39 52 #[derive( 40 53 serde::Serialize,
+13
crates/jacquard-api/src/blue__2048/key/game.rs
··· 25 25 pub key: crate::blue__2048::key::Key<'a>, 26 26 } 27 27 28 + impl<'a> Game<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, GameRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/blue__2048/key/player/stats.rs
··· 25 25 pub key: crate::blue__2048::key::Key<'a>, 26 26 } 27 27 28 + impl<'a> Stats<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, StatsRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/blue__2048/player/profile.rs
··· 27 27 pub sync_status: crate::blue__2048::SyncStatus<'a>, 28 28 } 29 29 30 + impl<'a> Profile<'a> { 31 + pub fn uri( 32 + uri: impl Into<jacquard_common::CowStr<'a>>, 33 + ) -> Result< 34 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 35 + jacquard_common::types::uri::UriError, 36 + > { 37 + jacquard_common::types::uri::RecordUri::try_from_uri( 38 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 39 + ) 40 + } 41 + } 42 + 30 43 /// Typed wrapper for GetRecord response with this collection's record type. 31 44 #[derive( 32 45 serde::Serialize,
+13
crates/jacquard-api/src/blue__2048/player/stats.rs
··· 39 39 pub total_score: i64, 40 40 } 41 41 42 + impl<'a> Stats<'a> { 43 + pub fn uri( 44 + uri: impl Into<jacquard_common::CowStr<'a>>, 45 + ) -> Result< 46 + jacquard_common::types::uri::RecordUri<'a, StatsRecord>, 47 + jacquard_common::types::uri::UriError, 48 + > { 49 + jacquard_common::types::uri::RecordUri::try_from_uri( 50 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 51 + ) 52 + } 53 + } 54 + 42 55 /// Typed wrapper for GetRecord response with this collection's record type. 43 56 #[derive( 44 57 serde::Serialize,
+13
crates/jacquard-api/src/blue__2048/verification/game.rs
··· 29 29 pub verified_ref: Option<crate::blue__2048::verification::VerificationRef<'a>>, 30 30 } 31 31 32 + impl<'a> Game<'a> { 33 + pub fn uri( 34 + uri: impl Into<jacquard_common::CowStr<'a>>, 35 + ) -> Result< 36 + jacquard_common::types::uri::RecordUri<'a, GameRecord>, 37 + jacquard_common::types::uri::UriError, 38 + > { 39 + jacquard_common::types::uri::RecordUri::try_from_uri( 40 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 41 + ) 42 + } 43 + } 44 + 32 45 /// Typed wrapper for GetRecord response with this collection's record type. 33 46 #[derive( 34 47 serde::Serialize,
+13
crates/jacquard-api/src/blue__2048/verification/stats.rs
··· 29 29 pub verified_ref: Option<crate::blue__2048::verification::VerificationRef<'a>>, 30 30 } 31 31 32 + impl<'a> Stats<'a> { 33 + pub fn uri( 34 + uri: impl Into<jacquard_common::CowStr<'a>>, 35 + ) -> Result< 36 + jacquard_common::types::uri::RecordUri<'a, StatsRecord>, 37 + jacquard_common::types::uri::UriError, 38 + > { 39 + jacquard_common::types::uri::RecordUri::try_from_uri( 40 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 41 + ) 42 + } 43 + } 44 + 32 45 /// Typed wrapper for GetRecord response with this collection's record type. 33 46 #[derive( 34 47 serde::Serialize,
+13
crates/jacquard-api/src/blue_atplane/fav_client.rs
··· 25 25 pub fav_client: jacquard_common::CowStr<'a>, 26 26 } 27 27 28 + impl<'a> FavClient<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, FavClientRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/blue_linkat/board.rs
··· 51 51 pub cards: Vec<crate::blue_linkat::board::Card<'a>>, 52 52 } 53 53 54 + impl<'a> Board<'a> { 55 + pub fn uri( 56 + uri: impl Into<jacquard_common::CowStr<'a>>, 57 + ) -> Result< 58 + jacquard_common::types::uri::RecordUri<'a, BoardRecord>, 59 + jacquard_common::types::uri::UriError, 60 + > { 61 + jacquard_common::types::uri::RecordUri::try_from_uri( 62 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 63 + ) 64 + } 65 + } 66 + 54 67 /// Typed wrapper for GetRecord response with this collection's record type. 55 68 #[derive( 56 69 serde::Serialize,
+13
crates/jacquard-api/src/blue_zio/atfile/lock.rs
··· 24 24 pub lock: Option<bool>, 25 25 } 26 26 27 + impl<'a> Lock<'a> { 28 + pub fn uri( 29 + uri: impl Into<jacquard_common::CowStr<'a>>, 30 + ) -> Result< 31 + jacquard_common::types::uri::RecordUri<'a, LockRecord>, 32 + jacquard_common::types::uri::UriError, 33 + > { 34 + jacquard_common::types::uri::RecordUri::try_from_uri( 35 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 36 + ) 37 + } 38 + } 39 + 27 40 /// Typed wrapper for GetRecord response with this collection's record type. 28 41 #[derive( 29 42 serde::Serialize,
+13
crates/jacquard-api/src/buzz_bookhive/book.rs
··· 60 60 pub title: jacquard_common::CowStr<'a>, 61 61 } 62 62 63 + impl<'a> Book<'a> { 64 + pub fn uri( 65 + uri: impl Into<jacquard_common::CowStr<'a>>, 66 + ) -> Result< 67 + jacquard_common::types::uri::RecordUri<'a, BookRecord>, 68 + jacquard_common::types::uri::UriError, 69 + > { 70 + jacquard_common::types::uri::RecordUri::try_from_uri( 71 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 72 + ) 73 + } 74 + } 75 + 63 76 /// Typed wrapper for GetRecord response with this collection's record type. 64 77 #[derive( 65 78 serde::Serialize,
+13
crates/jacquard-api/src/buzz_bookhive/buzz.rs
··· 31 31 pub parent: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 32 32 } 33 33 34 + impl<'a> Buzz<'a> { 35 + pub fn uri( 36 + uri: impl Into<jacquard_common::CowStr<'a>>, 37 + ) -> Result< 38 + jacquard_common::types::uri::RecordUri<'a, BuzzRecord>, 39 + jacquard_common::types::uri::UriError, 40 + > { 41 + jacquard_common::types::uri::RecordUri::try_from_uri( 42 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 43 + ) 44 + } 45 + } 46 + 34 47 /// Typed wrapper for GetRecord response with this collection's record type. 35 48 #[derive( 36 49 serde::Serialize,
+13
crates/jacquard-api/src/buzz_bookhive/hive_book.rs
··· 72 72 pub updated_at: jacquard_common::types::string::Datetime, 73 73 } 74 74 75 + impl<'a> HiveBook<'a> { 76 + pub fn uri( 77 + uri: impl Into<jacquard_common::CowStr<'a>>, 78 + ) -> Result< 79 + jacquard_common::types::uri::RecordUri<'a, HiveBookRecord>, 80 + jacquard_common::types::uri::UriError, 81 + > { 82 + jacquard_common::types::uri::RecordUri::try_from_uri( 83 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 84 + ) 85 + } 86 + } 87 + 75 88 /// Typed wrapper for GetRecord response with this collection's record type. 76 89 #[derive( 77 90 serde::Serialize,
+13
crates/jacquard-api/src/chat_bsky/actor/declaration.rs
··· 24 24 pub allow_incoming: jacquard_common::CowStr<'a>, 25 25 } 26 26 27 + impl<'a> Declaration<'a> { 28 + pub fn uri( 29 + uri: impl Into<jacquard_common::CowStr<'a>>, 30 + ) -> Result< 31 + jacquard_common::types::uri::RecordUri<'a, DeclarationRecord>, 32 + jacquard_common::types::uri::UriError, 33 + > { 34 + jacquard_common::types::uri::RecordUri::try_from_uri( 35 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 36 + ) 37 + } 38 + } 39 + 27 40 /// Typed wrapper for GetRecord response with this collection's record type. 28 41 #[derive( 29 42 serde::Serialize,
+13
crates/jacquard-api/src/com_atproto/lexicon/schema.rs
··· 23 23 pub lexicon: i64, 24 24 } 25 25 26 + impl<'a> Schema<'a> { 27 + pub fn uri( 28 + uri: impl Into<jacquard_common::CowStr<'a>>, 29 + ) -> Result< 30 + jacquard_common::types::uri::RecordUri<'a, SchemaRecord>, 31 + jacquard_common::types::uri::UriError, 32 + > { 33 + jacquard_common::types::uri::RecordUri::try_from_uri( 34 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 35 + ) 36 + } 37 + } 38 + 26 39 /// Typed wrapper for GetRecord response with this collection's record type. 27 40 #[derive( 28 41 serde::Serialize,
+13
crates/jacquard-api/src/com_crabdance/nandi/post.rs
··· 46 46 pub updated_at: Option<jacquard_common::types::string::Datetime>, 47 47 } 48 48 49 + impl<'a> Post<'a> { 50 + pub fn uri( 51 + uri: impl Into<jacquard_common::CowStr<'a>>, 52 + ) -> Result< 53 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 54 + jacquard_common::types::uri::UriError, 55 + > { 56 + jacquard_common::types::uri::RecordUri::try_from_uri( 57 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 58 + ) 59 + } 60 + } 61 + 49 62 /// Typed wrapper for GetRecord response with this collection's record type. 50 63 #[derive( 51 64 serde::Serialize,
+13
crates/jacquard-api/src/com_shinolabs/pinksea/oekaki.rs
··· 79 79 pub tags: Option<Vec<jacquard_common::CowStr<'a>>>, 80 80 } 81 81 82 + impl<'a> Oekaki<'a> { 83 + pub fn uri( 84 + uri: impl Into<jacquard_common::CowStr<'a>>, 85 + ) -> Result< 86 + jacquard_common::types::uri::RecordUri<'a, OekakiRecord>, 87 + jacquard_common::types::uri::UriError, 88 + > { 89 + jacquard_common::types::uri::RecordUri::try_from_uri( 90 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 91 + ) 92 + } 93 + } 94 + 82 95 /// Typed wrapper for GetRecord response with this collection's record type. 83 96 #[derive( 84 97 serde::Serialize,
+13
crates/jacquard-api/src/com_shinolabs/pinksea/profile.rs
··· 41 41 pub nickname: Option<jacquard_common::CowStr<'a>>, 42 42 } 43 43 44 + impl<'a> Profile<'a> { 45 + pub fn uri( 46 + uri: impl Into<jacquard_common::CowStr<'a>>, 47 + ) -> Result< 48 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 49 + jacquard_common::types::uri::UriError, 50 + > { 51 + jacquard_common::types::uri::RecordUri::try_from_uri( 52 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 53 + ) 54 + } 55 + } 56 + 44 57 /// Typed wrapper for GetRecord response with this collection's record type. 45 58 #[derive( 46 59 serde::Serialize,
+13
crates/jacquard-api/src/com_whtwnd/blog/entry.rs
··· 56 56 pub visibility: Option<jacquard_common::CowStr<'a>>, 57 57 } 58 58 59 + impl<'a> Entry<'a> { 60 + pub fn uri( 61 + uri: impl Into<jacquard_common::CowStr<'a>>, 62 + ) -> Result< 63 + jacquard_common::types::uri::RecordUri<'a, EntryRecord>, 64 + jacquard_common::types::uri::UriError, 65 + > { 66 + jacquard_common::types::uri::RecordUri::try_from_uri( 67 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 68 + ) 69 + } 70 + } 71 + 59 72 /// Typed wrapper for GetRecord response with this collection's record type. 60 73 #[derive( 61 74 serde::Serialize,
+13
crates/jacquard-api/src/community_lexicon/bookmarks/bookmark.rs
··· 29 29 pub tags: Option<Vec<jacquard_common::CowStr<'a>>>, 30 30 } 31 31 32 + impl<'a> Bookmark<'a> { 33 + pub fn uri( 34 + uri: impl Into<jacquard_common::CowStr<'a>>, 35 + ) -> Result< 36 + jacquard_common::types::uri::RecordUri<'a, BookmarkRecord>, 37 + jacquard_common::types::uri::UriError, 38 + > { 39 + jacquard_common::types::uri::RecordUri::try_from_uri( 40 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 41 + ) 42 + } 43 + } 44 + 32 45 /// Typed wrapper for GetRecord response with this collection's record type. 33 46 #[derive( 34 47 serde::Serialize,
+13
crates/jacquard-api/src/community_lexicon/calendar/event.rs
··· 114 114 pub uris: Option<Vec<crate::community_lexicon::calendar::event::Uri<'a>>>, 115 115 } 116 116 117 + impl<'a> Event<'a> { 118 + pub fn uri( 119 + uri: impl Into<jacquard_common::CowStr<'a>>, 120 + ) -> Result< 121 + jacquard_common::types::uri::RecordUri<'a, EventRecord>, 122 + jacquard_common::types::uri::UriError, 123 + > { 124 + jacquard_common::types::uri::RecordUri::try_from_uri( 125 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 126 + ) 127 + } 128 + } 129 + 117 130 #[jacquard_derive::open_union] 118 131 #[derive( 119 132 serde::Serialize,
+13
crates/jacquard-api/src/community_lexicon/calendar/rsvp.rs
··· 62 62 pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 63 63 } 64 64 65 + impl<'a> Rsvp<'a> { 66 + pub fn uri( 67 + uri: impl Into<jacquard_common::CowStr<'a>>, 68 + ) -> Result< 69 + jacquard_common::types::uri::RecordUri<'a, RsvpRecord>, 70 + jacquard_common::types::uri::UriError, 71 + > { 72 + jacquard_common::types::uri::RecordUri::try_from_uri( 73 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 74 + ) 75 + } 76 + } 77 + 65 78 /// Typed wrapper for GetRecord response with this collection's record type. 66 79 #[derive( 67 80 serde::Serialize,
+13
crates/jacquard-api/src/community_lexicon/interaction/like.rs
··· 24 24 pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 25 25 } 26 26 27 + impl<'a> Like<'a> { 28 + pub fn uri( 29 + uri: impl Into<jacquard_common::CowStr<'a>>, 30 + ) -> Result< 31 + jacquard_common::types::uri::RecordUri<'a, LikeRecord>, 32 + jacquard_common::types::uri::UriError, 33 + > { 34 + jacquard_common::types::uri::RecordUri::try_from_uri( 35 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 36 + ) 37 + } 38 + } 39 + 27 40 /// Typed wrapper for GetRecord response with this collection's record type. 28 41 #[derive( 29 42 serde::Serialize,
+13
crates/jacquard-api/src/community_lexicon/payments/web_monetization.rs
··· 29 29 pub note: Option<jacquard_common::CowStr<'a>>, 30 30 } 31 31 32 + impl<'a> WebMonetization<'a> { 33 + pub fn uri( 34 + uri: impl Into<jacquard_common::CowStr<'a>>, 35 + ) -> Result< 36 + jacquard_common::types::uri::RecordUri<'a, WebMonetizationRecord>, 37 + jacquard_common::types::uri::UriError, 38 + > { 39 + jacquard_common::types::uri::RecordUri::try_from_uri( 40 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 41 + ) 42 + } 43 + } 44 + 32 45 /// Typed wrapper for GetRecord response with this collection's record type. 33 46 #[derive( 34 47 serde::Serialize,
+13
crates/jacquard-api/src/dev_baileytownsend/health/calories.rs
··· 24 24 pub intake: i64, 25 25 } 26 26 27 + impl<'a> Calories<'a> { 28 + pub fn uri( 29 + uri: impl Into<jacquard_common::CowStr<'a>>, 30 + ) -> Result< 31 + jacquard_common::types::uri::RecordUri<'a, CaloriesRecord>, 32 + jacquard_common::types::uri::UriError, 33 + > { 34 + jacquard_common::types::uri::RecordUri::try_from_uri( 35 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 36 + ) 37 + } 38 + } 39 + 27 40 /// Typed wrapper for GetRecord response with this collection's record type. 28 41 #[derive( 29 42 serde::Serialize,
+13
crates/jacquard-api/src/dev_baileytownsend/health/rings.rs
··· 34 34 pub stand_hours: i64, 35 35 } 36 36 37 + impl<'a> Rings<'a> { 38 + pub fn uri( 39 + uri: impl Into<jacquard_common::CowStr<'a>>, 40 + ) -> Result< 41 + jacquard_common::types::uri::RecordUri<'a, RingsRecord>, 42 + jacquard_common::types::uri::UriError, 43 + > { 44 + jacquard_common::types::uri::RecordUri::try_from_uri( 45 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 46 + ) 47 + } 48 + } 49 + 37 50 /// Typed wrapper for GetRecord response with this collection's record type. 38 51 #[derive( 39 52 serde::Serialize,
+13
crates/jacquard-api/src/dev_baileytownsend/health/steps.rs
··· 22 22 pub steps: i64, 23 23 } 24 24 25 + impl<'a> Steps<'a> { 26 + pub fn uri( 27 + uri: impl Into<jacquard_common::CowStr<'a>>, 28 + ) -> Result< 29 + jacquard_common::types::uri::RecordUri<'a, StepsRecord>, 30 + jacquard_common::types::uri::UriError, 31 + > { 32 + jacquard_common::types::uri::RecordUri::try_from_uri( 33 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 34 + ) 35 + } 36 + } 37 + 25 38 /// Typed wrapper for GetRecord response with this collection's record type. 26 39 #[derive( 27 40 serde::Serialize,
+13
crates/jacquard-api/src/dev_baileytownsend/health/workout.rs
··· 38 38 pub start_time: jacquard_common::types::string::Datetime, 39 39 } 40 40 41 + impl<'a> Workout<'a> { 42 + pub fn uri( 43 + uri: impl Into<jacquard_common::CowStr<'a>>, 44 + ) -> Result< 45 + jacquard_common::types::uri::RecordUri<'a, WorkoutRecord>, 46 + jacquard_common::types::uri::UriError, 47 + > { 48 + jacquard_common::types::uri::RecordUri::try_from_uri( 49 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 50 + ) 51 + } 52 + } 53 + 41 54 /// Typed wrapper for GetRecord response with this collection's record type. 42 55 #[derive( 43 56 serde::Serialize,
+13
crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/post.rs
··· 41 41 pub updated_at: Option<jacquard_common::types::string::Datetime>, 42 42 } 43 43 44 + impl<'a> Post<'a> { 45 + pub fn uri( 46 + uri: impl Into<jacquard_common::CowStr<'a>>, 47 + ) -> Result< 48 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 49 + jacquard_common::types::uri::UriError, 50 + > { 51 + jacquard_common::types::uri::RecordUri::try_from_uri( 52 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 53 + ) 54 + } 55 + } 56 + 44 57 /// Typed wrapper for GetRecord response with this collection's record type. 45 58 #[derive( 46 59 serde::Serialize,
+13
crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/feed/reply.rs
··· 30 30 pub updated_at: Option<jacquard_common::types::string::Datetime>, 31 31 } 32 32 33 + impl<'a> Reply<'a> { 34 + pub fn uri( 35 + uri: impl Into<jacquard_common::CowStr<'a>>, 36 + ) -> Result< 37 + jacquard_common::types::uri::RecordUri<'a, ReplyRecord>, 38 + jacquard_common::types::uri::UriError, 39 + > { 40 + jacquard_common::types::uri::RecordUri::try_from_uri( 41 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 42 + ) 43 + } 44 + } 45 + 33 46 /// Typed wrapper for GetRecord response with this collection's record type. 34 47 #[derive( 35 48 serde::Serialize,
+13
crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/announcement.rs
··· 29 29 pub title: jacquard_common::CowStr<'a>, 30 30 } 31 31 32 + impl<'a> Announcement<'a> { 33 + pub fn uri( 34 + uri: impl Into<jacquard_common::CowStr<'a>>, 35 + ) -> Result< 36 + jacquard_common::types::uri::RecordUri<'a, AnnouncementRecord>, 37 + jacquard_common::types::uri::UriError, 38 + > { 39 + jacquard_common::types::uri::RecordUri::try_from_uri( 40 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 41 + ) 42 + } 43 + } 44 + 32 45 /// Typed wrapper for GetRecord response with this collection's record type. 33 46 #[derive( 34 47 serde::Serialize,
+13
crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/category.rs
··· 33 33 pub name: jacquard_common::CowStr<'a>, 34 34 } 35 35 36 + impl<'a> Category<'a> { 37 + pub fn uri( 38 + uri: impl Into<jacquard_common::CowStr<'a>>, 39 + ) -> Result< 40 + jacquard_common::types::uri::RecordUri<'a, CategoryRecord>, 41 + jacquard_common::types::uri::UriError, 42 + > { 43 + jacquard_common::types::uri::RecordUri::try_from_uri( 44 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 45 + ) 46 + } 47 + } 48 + 36 49 /// Typed wrapper for GetRecord response with this collection's record type. 37 50 #[derive( 38 51 serde::Serialize,
+13
crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/group.rs
··· 28 28 pub name: jacquard_common::CowStr<'a>, 29 29 } 30 30 31 + impl<'a> Group<'a> { 32 + pub fn uri( 33 + uri: impl Into<jacquard_common::CowStr<'a>>, 34 + ) -> Result< 35 + jacquard_common::types::uri::RecordUri<'a, GroupRecord>, 36 + jacquard_common::types::uri::UriError, 37 + > { 38 + jacquard_common::types::uri::RecordUri::try_from_uri( 39 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 40 + ) 41 + } 42 + } 43 + 31 44 /// Typed wrapper for GetRecord response with this collection's record type. 32 45 #[derive( 33 46 serde::Serialize,
+13
crates/jacquard-api/src/dev_fudgeu/experimental/atforumv1/forum/identity.rs
··· 32 32 pub name: jacquard_common::CowStr<'a>, 33 33 } 34 34 35 + impl<'a> Identity<'a> { 36 + pub fn uri( 37 + uri: impl Into<jacquard_common::CowStr<'a>>, 38 + ) -> Result< 39 + jacquard_common::types::uri::RecordUri<'a, IdentityRecord>, 40 + jacquard_common::types::uri::UriError, 41 + > { 42 + jacquard_common::types::uri::RecordUri::try_from_uri( 43 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 44 + ) 45 + } 46 + } 47 + 35 48 /// Typed wrapper for GetRecord response with this collection's record type. 36 49 #[derive( 37 50 serde::Serialize,
+13
crates/jacquard-api/src/dev_ocbwoy3/blueboard/board.rs
··· 32 32 pub title: jacquard_common::CowStr<'a>, 33 33 } 34 34 35 + impl<'a> Board<'a> { 36 + pub fn uri( 37 + uri: impl Into<jacquard_common::CowStr<'a>>, 38 + ) -> Result< 39 + jacquard_common::types::uri::RecordUri<'a, BoardRecord>, 40 + jacquard_common::types::uri::UriError, 41 + > { 42 + jacquard_common::types::uri::RecordUri::try_from_uri( 43 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 44 + ) 45 + } 46 + } 47 + 35 48 /// Typed wrapper for GetRecord response with this collection's record type. 36 49 #[derive( 37 50 serde::Serialize,
+13
crates/jacquard-api/src/dev_ocbwoy3/blueboard/post.rs
··· 34 34 pub text: jacquard_common::CowStr<'a>, 35 35 } 36 36 37 + impl<'a> Post<'a> { 38 + pub fn uri( 39 + uri: impl Into<jacquard_common::CowStr<'a>>, 40 + ) -> Result< 41 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 42 + jacquard_common::types::uri::UriError, 43 + > { 44 + jacquard_common::types::uri::RecordUri::try_from_uri( 45 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 46 + ) 47 + } 48 + } 49 + 37 50 /// Typed wrapper for GetRecord response with this collection's record type. 38 51 #[derive( 39 52 serde::Serialize,
+13
crates/jacquard-api/src/dev_regnault/webfishing/savefile.rs
··· 26 26 pub uri: jacquard_common::types::string::AtUri<'a>, 27 27 } 28 28 29 + impl<'a> Savefile<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, SavefileRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 29 42 /// Typed wrapper for GetRecord response with this collection's record type. 30 43 #[derive( 31 44 serde::Serialize,
+13
crates/jacquard-api/src/fyi_unravel/frontpage/comment.rs
··· 33 33 pub post: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 34 34 } 35 35 36 + impl<'a> Comment<'a> { 37 + pub fn uri( 38 + uri: impl Into<jacquard_common::CowStr<'a>>, 39 + ) -> Result< 40 + jacquard_common::types::uri::RecordUri<'a, CommentRecord>, 41 + jacquard_common::types::uri::UriError, 42 + > { 43 + jacquard_common::types::uri::RecordUri::try_from_uri( 44 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 45 + ) 46 + } 47 + } 48 + 36 49 /// Typed wrapper for GetRecord response with this collection's record type. 37 50 #[derive( 38 51 serde::Serialize,
+13
crates/jacquard-api/src/fyi_unravel/frontpage/post.rs
··· 30 30 pub url: jacquard_common::types::string::Uri<'a>, 31 31 } 32 32 33 + impl<'a> Post<'a> { 34 + pub fn uri( 35 + uri: impl Into<jacquard_common::CowStr<'a>>, 36 + ) -> Result< 37 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 38 + jacquard_common::types::uri::UriError, 39 + > { 40 + jacquard_common::types::uri::RecordUri::try_from_uri( 41 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 42 + ) 43 + } 44 + } 45 + 33 46 /// Typed wrapper for GetRecord response with this collection's record type. 34 47 #[derive( 35 48 serde::Serialize,
+13
crates/jacquard-api/src/fyi_unravel/frontpage/vote.rs
··· 25 25 pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 26 26 } 27 27 28 + impl<'a> Vote<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, VoteRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/moe_karashiiro/kpaste/paste.rs
··· 39 39 pub updated_at: Option<jacquard_common::types::string::Datetime>, 40 40 } 41 41 42 + impl<'a> Paste<'a> { 43 + pub fn uri( 44 + uri: impl Into<jacquard_common::CowStr<'a>>, 45 + ) -> Result< 46 + jacquard_common::types::uri::RecordUri<'a, PasteRecord>, 47 + jacquard_common::types::uri::UriError, 48 + > { 49 + jacquard_common::types::uri::RecordUri::try_from_uri( 50 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 51 + ) 52 + } 53 + } 54 + 42 55 /// Typed wrapper for GetRecord response with this collection's record type. 43 56 #[derive( 44 57 serde::Serialize,
+13
crates/jacquard-api/src/my_skylights/rel.rs
··· 33 33 pub rating: Option<crate::my_skylights::rel::Rating<'a>>, 34 34 } 35 35 36 + impl<'a> Rel<'a> { 37 + pub fn uri( 38 + uri: impl Into<jacquard_common::CowStr<'a>>, 39 + ) -> Result< 40 + jacquard_common::types::uri::RecordUri<'a, RelRecord>, 41 + jacquard_common::types::uri::UriError, 42 + > { 43 + jacquard_common::types::uri::RecordUri::try_from_uri( 44 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 45 + ) 46 + } 47 + } 48 + 36 49 /// Typed wrapper for GetRecord response with this collection's record type. 37 50 #[derive( 38 51 serde::Serialize,
+13
crates/jacquard-api/src/net_aftertheinter/coolthingtwo.rs
··· 24 24 pub status: jacquard_common::CowStr<'a>, 25 25 } 26 26 27 + impl<'a> Coolthingtwo<'a> { 28 + pub fn uri( 29 + uri: impl Into<jacquard_common::CowStr<'a>>, 30 + ) -> Result< 31 + jacquard_common::types::uri::RecordUri<'a, CoolthingtwoRecord>, 32 + jacquard_common::types::uri::UriError, 33 + > { 34 + jacquard_common::types::uri::RecordUri::try_from_uri( 35 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 36 + ) 37 + } 38 + } 39 + 27 40 /// Typed wrapper for GetRecord response with this collection's record type. 28 41 #[derive( 29 42 serde::Serialize,
+13
crates/jacquard-api/src/net_altq/aqfile.rs
··· 92 92 pub file: crate::net_altq::aqfile::File<'a>, 93 93 } 94 94 95 + impl<'a> Aqfile<'a> { 96 + pub fn uri( 97 + uri: impl Into<jacquard_common::CowStr<'a>>, 98 + ) -> Result< 99 + jacquard_common::types::uri::RecordUri<'a, AqfileRecord>, 100 + jacquard_common::types::uri::UriError, 101 + > { 102 + jacquard_common::types::uri::RecordUri::try_from_uri( 103 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 104 + ) 105 + } 106 + } 107 + 95 108 /// Typed wrapper for GetRecord response with this collection's record type. 96 109 #[derive( 97 110 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/beta/game/collection.rs
··· 96 96 pub status: Option<jacquard_common::CowStr<'a>>, 97 97 } 98 98 99 + impl<'a> Collection<'a> { 100 + pub fn uri( 101 + uri: impl Into<jacquard_common::CowStr<'a>>, 102 + ) -> Result< 103 + jacquard_common::types::uri::RecordUri<'a, CollectionRecord>, 104 + jacquard_common::types::uri::UriError, 105 + > { 106 + jacquard_common::types::uri::RecordUri::try_from_uri( 107 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 108 + ) 109 + } 110 + } 111 + 99 112 /// Typed wrapper for GetRecord response with this collection's record type. 100 113 #[derive( 101 114 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/beta/game/inventory.rs
··· 83 83 pub stackable: Option<bool>, 84 84 } 85 85 86 + impl<'a> Inventory<'a> { 87 + pub fn uri( 88 + uri: impl Into<jacquard_common::CowStr<'a>>, 89 + ) -> Result< 90 + jacquard_common::types::uri::RecordUri<'a, InventoryRecord>, 91 + jacquard_common::types::uri::UriError, 92 + > { 93 + jacquard_common::types::uri::RecordUri::try_from_uri( 94 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 95 + ) 96 + } 97 + } 98 + 86 99 /// Typed wrapper for GetRecord response with this collection's record type. 87 100 #[derive( 88 101 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/beta/game/log.rs
··· 257 257 pub timestamp: jacquard_common::types::string::Datetime, 258 258 } 259 259 260 + impl<'a> Log<'a> { 261 + pub fn uri( 262 + uri: impl Into<jacquard_common::CowStr<'a>>, 263 + ) -> Result< 264 + jacquard_common::types::uri::RecordUri<'a, LogRecord>, 265 + jacquard_common::types::uri::UriError, 266 + > { 267 + jacquard_common::types::uri::RecordUri::try_from_uri( 268 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 269 + ) 270 + } 271 + } 272 + 260 273 /// Typed wrapper for GetRecord response with this collection's record type. 261 274 #[derive( 262 275 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/beta/game/pack.rs
··· 44 44 pub total_opens: i64, 45 45 } 46 46 47 + impl<'a> Pack<'a> { 48 + pub fn uri( 49 + uri: impl Into<jacquard_common::CowStr<'a>>, 50 + ) -> Result< 51 + jacquard_common::types::uri::RecordUri<'a, PackRecord>, 52 + jacquard_common::types::uri::UriError, 53 + > { 54 + jacquard_common::types::uri::RecordUri::try_from_uri( 55 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 56 + ) 57 + } 58 + } 59 + 47 60 /// Typed wrapper for GetRecord response with this collection's record type. 48 61 #[derive( 49 62 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/beta/game/progress.rs
··· 79 79 pub xp_to_next_level: i64, 80 80 } 81 81 82 + impl<'a> Progress<'a> { 83 + pub fn uri( 84 + uri: impl Into<jacquard_common::CowStr<'a>>, 85 + ) -> Result< 86 + jacquard_common::types::uri::RecordUri<'a, ProgressRecord>, 87 + jacquard_common::types::uri::UriError, 88 + > { 89 + jacquard_common::types::uri::RecordUri::try_from_uri( 90 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 91 + ) 92 + } 93 + } 94 + 82 95 /// Typed wrapper for GetRecord response with this collection's record type. 83 96 #[derive( 84 97 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/beta/game/session.rs
··· 161 161 pub updated_at: Option<jacquard_common::types::string::Datetime>, 162 162 } 163 163 164 + impl<'a> Session<'a> { 165 + pub fn uri( 166 + uri: impl Into<jacquard_common::CowStr<'a>>, 167 + ) -> Result< 168 + jacquard_common::types::uri::RecordUri<'a, SessionRecord>, 169 + jacquard_common::types::uri::UriError, 170 + > { 171 + jacquard_common::types::uri::RecordUri::try_from_uri( 172 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 173 + ) 174 + } 175 + } 176 + 164 177 /// Typed wrapper for GetRecord response with this collection's record type. 165 178 #[derive( 166 179 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/feed/draft.rs
··· 58 58 pub updated_at: Option<jacquard_common::types::string::Datetime>, 59 59 } 60 60 61 + impl<'a> Draft<'a> { 62 + pub fn uri( 63 + uri: impl Into<jacquard_common::CowStr<'a>>, 64 + ) -> Result< 65 + jacquard_common::types::uri::RecordUri<'a, DraftRecord>, 66 + jacquard_common::types::uri::UriError, 67 + > { 68 + jacquard_common::types::uri::RecordUri::try_from_uri( 69 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 70 + ) 71 + } 72 + } 73 + 61 74 #[jacquard_derive::open_union] 62 75 #[derive( 63 76 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/feed/like.rs
··· 26 26 pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 27 27 } 28 28 29 + impl<'a> Like<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, LikeRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 29 42 /// Typed wrapper for GetRecord response with this collection's record type. 30 43 #[derive( 31 44 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/feed/list.rs
··· 42 42 pub tags: Option<Vec<jacquard_common::CowStr<'a>>>, 43 43 } 44 44 45 + impl<'a> List<'a> { 46 + pub fn uri( 47 + uri: impl Into<jacquard_common::CowStr<'a>>, 48 + ) -> Result< 49 + jacquard_common::types::uri::RecordUri<'a, ListRecord>, 50 + jacquard_common::types::uri::UriError, 51 + > { 52 + jacquard_common::types::uri::RecordUri::try_from_uri( 53 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 54 + ) 55 + } 56 + } 57 + 45 58 /// Typed wrapper for GetRecord response with this collection's record type. 46 59 #[derive( 47 60 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/feed/list_item.rs
··· 29 29 pub subject: jacquard_common::types::string::AtUri<'a>, 30 30 } 31 31 32 + impl<'a> ListItem<'a> { 33 + pub fn uri( 34 + uri: impl Into<jacquard_common::CowStr<'a>>, 35 + ) -> Result< 36 + jacquard_common::types::uri::RecordUri<'a, ListItemRecord>, 37 + jacquard_common::types::uri::UriError, 38 + > { 39 + jacquard_common::types::uri::RecordUri::try_from_uri( 40 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 41 + ) 42 + } 43 + } 44 + 32 45 /// Typed wrapper for GetRecord response with this collection's record type. 33 46 #[derive( 34 47 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/feed/post.rs
··· 54 54 pub text: jacquard_common::CowStr<'a>, 55 55 } 56 56 57 + impl<'a> Post<'a> { 58 + pub fn uri( 59 + uri: impl Into<jacquard_common::CowStr<'a>>, 60 + ) -> Result< 61 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 62 + jacquard_common::types::uri::UriError, 63 + > { 64 + jacquard_common::types::uri::RecordUri::try_from_uri( 65 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 66 + ) 67 + } 68 + } 69 + 57 70 #[jacquard_derive::open_union] 58 71 #[derive( 59 72 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/feed/repost.rs
··· 26 26 pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 27 27 } 28 28 29 + impl<'a> Repost<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, RepostRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 29 42 /// Typed wrapper for GetRecord response with this collection's record type. 30 43 #[derive( 31 44 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/graph/list_mute.rs
··· 73 73 pub target_feeds: Option<Vec<jacquard_common::types::string::AtUri<'a>>>, 74 74 } 75 75 76 + impl<'a> ListMute<'a> { 77 + pub fn uri( 78 + uri: impl Into<jacquard_common::CowStr<'a>>, 79 + ) -> Result< 80 + jacquard_common::types::uri::RecordUri<'a, ListMuteRecord>, 81 + jacquard_common::types::uri::UriError, 82 + > { 83 + jacquard_common::types::uri::RecordUri::try_from_uri( 84 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 85 + ) 86 + } 87 + } 88 + 76 89 /// Typed wrapper for GetRecord response with this collection's record type. 77 90 #[derive( 78 91 serde::Serialize,
+13
crates/jacquard-api/src/net_anisota/graph/mute.rs
··· 73 73 pub target_feeds: Option<Vec<jacquard_common::types::string::AtUri<'a>>>, 74 74 } 75 75 76 + impl<'a> Mute<'a> { 77 + pub fn uri( 78 + uri: impl Into<jacquard_common::CowStr<'a>>, 79 + ) -> Result< 80 + jacquard_common::types::uri::RecordUri<'a, MuteRecord>, 81 + jacquard_common::types::uri::UriError, 82 + > { 83 + jacquard_common::types::uri::RecordUri::try_from_uri( 84 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 85 + ) 86 + } 87 + } 88 + 76 89 /// Typed wrapper for GetRecord response with this collection's record type. 77 90 #[derive( 78 91 serde::Serialize,
+13
crates/jacquard-api/src/net_bnewbold/demo/mushies.rs
··· 31 31 pub species: Option<jacquard_common::CowStr<'a>>, 32 32 } 33 33 34 + impl<'a> Mushies<'a> { 35 + pub fn uri( 36 + uri: impl Into<jacquard_common::CowStr<'a>>, 37 + ) -> Result< 38 + jacquard_common::types::uri::RecordUri<'a, MushiesRecord>, 39 + jacquard_common::types::uri::UriError, 40 + > { 41 + jacquard_common::types::uri::RecordUri::try_from_uri( 42 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 43 + ) 44 + } 45 + } 46 + 34 47 /// Typed wrapper for GetRecord response with this collection's record type. 35 48 #[derive( 36 49 serde::Serialize,
+13
crates/jacquard-api/src/net_bnewbold/demo/mushroom.rs
··· 31 31 pub species: Option<jacquard_common::CowStr<'a>>, 32 32 } 33 33 34 + impl<'a> Mushroom<'a> { 35 + pub fn uri( 36 + uri: impl Into<jacquard_common::CowStr<'a>>, 37 + ) -> Result< 38 + jacquard_common::types::uri::RecordUri<'a, MushroomRecord>, 39 + jacquard_common::types::uri::UriError, 40 + > { 41 + jacquard_common::types::uri::RecordUri::try_from_uri( 42 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 43 + ) 44 + } 45 + } 46 + 34 47 /// Typed wrapper for GetRecord response with this collection's record type. 35 48 #[derive( 36 49 serde::Serialize,
+13
crates/jacquard-api/src/net_bnewbold/m.rs
··· 31 31 pub species: Option<jacquard_common::CowStr<'a>>, 32 32 } 33 33 34 + impl<'a> M<'a> { 35 + pub fn uri( 36 + uri: impl Into<jacquard_common::CowStr<'a>>, 37 + ) -> Result< 38 + jacquard_common::types::uri::RecordUri<'a, MRecord>, 39 + jacquard_common::types::uri::UriError, 40 + > { 41 + jacquard_common::types::uri::RecordUri::try_from_uri( 42 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 43 + ) 44 + } 45 + } 46 + 34 47 /// Typed wrapper for GetRecord response with this collection's record type. 35 48 #[derive( 36 49 serde::Serialize,
+13
crates/jacquard-api/src/net_mmatt/right/now.rs
··· 32 32 pub text: jacquard_common::CowStr<'a>, 33 33 } 34 34 35 + impl<'a> Now<'a> { 36 + pub fn uri( 37 + uri: impl Into<jacquard_common::CowStr<'a>>, 38 + ) -> Result< 39 + jacquard_common::types::uri::RecordUri<'a, NowRecord>, 40 + jacquard_common::types::uri::UriError, 41 + > { 42 + jacquard_common::types::uri::RecordUri::try_from_uri( 43 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 44 + ) 45 + } 46 + } 47 + 35 48 /// Typed wrapper for GetRecord response with this collection's record type. 36 49 #[derive( 37 50 serde::Serialize,
+13
crates/jacquard-api/src/net_mmatt/vitals/car.rs
··· 48 48 pub created_at: jacquard_common::types::string::Datetime, 49 49 } 50 50 51 + impl<'a> Car<'a> { 52 + pub fn uri( 53 + uri: impl Into<jacquard_common::CowStr<'a>>, 54 + ) -> Result< 55 + jacquard_common::types::uri::RecordUri<'a, CarRecord>, 56 + jacquard_common::types::uri::UriError, 57 + > { 58 + jacquard_common::types::uri::RecordUri::try_from_uri( 59 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 60 + ) 61 + } 62 + } 63 + 51 64 /// Typed wrapper for GetRecord response with this collection's record type. 52 65 #[derive( 53 66 serde::Serialize,
+13
crates/jacquard-api/src/network_slices/actor/profile.rs
··· 38 38 pub display_name: Option<jacquard_common::CowStr<'a>>, 39 39 } 40 40 41 + impl<'a> Profile<'a> { 42 + pub fn uri( 43 + uri: impl Into<jacquard_common::CowStr<'a>>, 44 + ) -> Result< 45 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 46 + jacquard_common::types::uri::UriError, 47 + > { 48 + jacquard_common::types::uri::RecordUri::try_from_uri( 49 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 50 + ) 51 + } 52 + } 53 + 41 54 /// Typed wrapper for GetRecord response with this collection's record type. 42 55 #[derive( 43 56 serde::Serialize,
+13
crates/jacquard-api/src/network_slices/lexicon.rs
··· 46 46 pub updated_at: Option<jacquard_common::types::string::Datetime>, 47 47 } 48 48 49 + impl<'a> Lexicon<'a> { 50 + pub fn uri( 51 + uri: impl Into<jacquard_common::CowStr<'a>>, 52 + ) -> Result< 53 + jacquard_common::types::uri::RecordUri<'a, LexiconRecord>, 54 + jacquard_common::types::uri::UriError, 55 + > { 56 + jacquard_common::types::uri::RecordUri::try_from_uri( 57 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 58 + ) 59 + } 60 + } 61 + 49 62 /// Typed wrapper for GetRecord response with this collection's record type. 50 63 #[derive( 51 64 serde::Serialize,
+13
crates/jacquard-api/src/network_slices/slice.rs
··· 47 47 pub name: jacquard_common::CowStr<'a>, 48 48 } 49 49 50 + impl<'a> Slice<'a> { 51 + pub fn uri( 52 + uri: impl Into<jacquard_common::CowStr<'a>>, 53 + ) -> Result< 54 + jacquard_common::types::uri::RecordUri<'a, SliceRecord>, 55 + jacquard_common::types::uri::UriError, 56 + > { 57 + jacquard_common::types::uri::RecordUri::try_from_uri( 58 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 59 + ) 60 + } 61 + } 62 + 50 63 /// Typed wrapper for GetRecord response with this collection's record type. 51 64 #[derive( 52 65 serde::Serialize,
+13
crates/jacquard-api/src/network_slices/waitlist/invite.rs
··· 33 33 pub slice: jacquard_common::types::string::AtUri<'a>, 34 34 } 35 35 36 + impl<'a> Invite<'a> { 37 + pub fn uri( 38 + uri: impl Into<jacquard_common::CowStr<'a>>, 39 + ) -> Result< 40 + jacquard_common::types::uri::RecordUri<'a, InviteRecord>, 41 + jacquard_common::types::uri::UriError, 42 + > { 43 + jacquard_common::types::uri::RecordUri::try_from_uri( 44 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 45 + ) 46 + } 47 + } 48 + 36 49 /// Typed wrapper for GetRecord response with this collection's record type. 37 50 #[derive( 38 51 serde::Serialize,
+13
crates/jacquard-api/src/network_slices/waitlist/request.rs
··· 26 26 pub slice: jacquard_common::types::string::AtUri<'a>, 27 27 } 28 28 29 + impl<'a> Request<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, RequestRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 29 42 /// Typed wrapper for GetRecord response with this collection's record type. 30 43 #[derive( 31 44 serde::Serialize,
+13
crates/jacquard-api/src/org_devcon/event/test.rs
··· 46 46 pub url: Option<jacquard_common::CowStr<'a>>, 47 47 } 48 48 49 + impl<'a> Test<'a> { 50 + pub fn uri( 51 + uri: impl Into<jacquard_common::CowStr<'a>>, 52 + ) -> Result< 53 + jacquard_common::types::uri::RecordUri<'a, TestRecord>, 54 + jacquard_common::types::uri::UriError, 55 + > { 56 + jacquard_common::types::uri::RecordUri::try_from_uri( 57 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 58 + ) 59 + } 60 + } 61 + 49 62 /// Typed wrapper for GetRecord response with this collection's record type. 50 63 #[derive( 51 64 serde::Serialize,
+13
crates/jacquard-api/src/org_robocracy/demo/fungus.rs
··· 31 31 pub species: Option<jacquard_common::CowStr<'a>>, 32 32 } 33 33 34 + impl<'a> Fungus<'a> { 35 + pub fn uri( 36 + uri: impl Into<jacquard_common::CowStr<'a>>, 37 + ) -> Result< 38 + jacquard_common::types::uri::RecordUri<'a, FungusRecord>, 39 + jacquard_common::types::uri::UriError, 40 + > { 41 + jacquard_common::types::uri::RecordUri::try_from_uri( 42 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 43 + ) 44 + } 45 + } 46 + 34 47 /// Typed wrapper for GetRecord response with this collection's record type. 35 48 #[derive( 36 49 serde::Serialize,
+13
crates/jacquard-api/src/org_robocracy/demo/mushies.rs
··· 31 31 pub species: Option<jacquard_common::CowStr<'a>>, 32 32 } 33 33 34 + impl<'a> Mushies<'a> { 35 + pub fn uri( 36 + uri: impl Into<jacquard_common::CowStr<'a>>, 37 + ) -> Result< 38 + jacquard_common::types::uri::RecordUri<'a, MushiesRecord>, 39 + jacquard_common::types::uri::UriError, 40 + > { 41 + jacquard_common::types::uri::RecordUri::try_from_uri( 42 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 43 + ) 44 + } 45 + } 46 + 34 47 /// Typed wrapper for GetRecord response with this collection's record type. 35 48 #[derive( 36 49 serde::Serialize,
+13
crates/jacquard-api/src/place_atwork/endorsement.rs
··· 38 38 pub text: jacquard_common::CowStr<'a>, 39 39 } 40 40 41 + impl<'a> Endorsement<'a> { 42 + pub fn uri( 43 + uri: impl Into<jacquard_common::CowStr<'a>>, 44 + ) -> Result< 45 + jacquard_common::types::uri::RecordUri<'a, EndorsementRecord>, 46 + jacquard_common::types::uri::UriError, 47 + > { 48 + jacquard_common::types::uri::RecordUri::try_from_uri( 49 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 50 + ) 51 + } 52 + } 53 + 41 54 /// Typed wrapper for GetRecord response with this collection's record type. 42 55 #[derive( 43 56 serde::Serialize,
+13
crates/jacquard-api/src/place_atwork/endorsement_proof.rs
··· 24 24 pub cid: jacquard_common::types::string::Cid<'a>, 25 25 } 26 26 27 + impl<'a> EndorsementProof<'a> { 28 + pub fn uri( 29 + uri: impl Into<jacquard_common::CowStr<'a>>, 30 + ) -> Result< 31 + jacquard_common::types::uri::RecordUri<'a, EndorsementProofRecord>, 32 + jacquard_common::types::uri::UriError, 33 + > { 34 + jacquard_common::types::uri::RecordUri::try_from_uri( 35 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 36 + ) 37 + } 38 + } 39 + 27 40 /// Typed wrapper for GetRecord response with this collection's record type. 28 41 #[derive( 29 42 serde::Serialize,
+13
crates/jacquard-api/src/place_atwork/listing.rs
··· 53 53 pub title: jacquard_common::CowStr<'a>, 54 54 } 55 55 56 + impl<'a> Listing<'a> { 57 + pub fn uri( 58 + uri: impl Into<jacquard_common::CowStr<'a>>, 59 + ) -> Result< 60 + jacquard_common::types::uri::RecordUri<'a, ListingRecord>, 61 + jacquard_common::types::uri::UriError, 62 + > { 63 + jacquard_common::types::uri::RecordUri::try_from_uri( 64 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 65 + ) 66 + } 67 + } 68 + 56 69 /// Typed wrapper for GetRecord response with this collection's record type. 57 70 #[derive( 58 71 serde::Serialize,
+13
crates/jacquard-api/src/place_atwork/profile.rs
··· 97 97 pub status: Option<jacquard_common::CowStr<'a>>, 98 98 } 99 99 100 + impl<'a> Profile<'a> { 101 + pub fn uri( 102 + uri: impl Into<jacquard_common::CowStr<'a>>, 103 + ) -> Result< 104 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 105 + jacquard_common::types::uri::UriError, 106 + > { 107 + jacquard_common::types::uri::RecordUri::try_from_uri( 108 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 109 + ) 110 + } 111 + } 112 + 100 113 /// Typed wrapper for GetRecord response with this collection's record type. 101 114 #[derive( 102 115 serde::Serialize,
+13
crates/jacquard-api/src/place_stream/chat/gate.rs
··· 24 24 pub hidden_message: jacquard_common::types::string::AtUri<'a>, 25 25 } 26 26 27 + impl<'a> Gate<'a> { 28 + pub fn uri( 29 + uri: impl Into<jacquard_common::CowStr<'a>>, 30 + ) -> Result< 31 + jacquard_common::types::uri::RecordUri<'a, GateRecord>, 32 + jacquard_common::types::uri::UriError, 33 + > { 34 + jacquard_common::types::uri::RecordUri::try_from_uri( 35 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 36 + ) 37 + } 38 + } 39 + 27 40 /// Typed wrapper for GetRecord response with this collection's record type. 28 41 #[derive( 29 42 serde::Serialize,
+13
crates/jacquard-api/src/place_stream/chat/message.rs
··· 39 39 pub text: jacquard_common::CowStr<'a>, 40 40 } 41 41 42 + impl<'a> Message<'a> { 43 + pub fn uri( 44 + uri: impl Into<jacquard_common::CowStr<'a>>, 45 + ) -> Result< 46 + jacquard_common::types::uri::RecordUri<'a, MessageRecord>, 47 + jacquard_common::types::uri::UriError, 48 + > { 49 + jacquard_common::types::uri::RecordUri::try_from_uri( 50 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 51 + ) 52 + } 53 + } 54 + 42 55 /// Typed wrapper for GetRecord response with this collection's record type. 43 56 #[derive( 44 57 serde::Serialize,
+13
crates/jacquard-api/src/place_stream/chat/profile.rs
··· 44 44 pub color: Option<crate::place_stream::chat::profile::Color<'a>>, 45 45 } 46 46 47 + impl<'a> Profile<'a> { 48 + pub fn uri( 49 + uri: impl Into<jacquard_common::CowStr<'a>>, 50 + ) -> Result< 51 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 52 + jacquard_common::types::uri::UriError, 53 + > { 54 + jacquard_common::types::uri::RecordUri::try_from_uri( 55 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 56 + ) 57 + } 58 + } 59 + 47 60 /// Typed wrapper for GetRecord response with this collection's record type. 48 61 #[derive( 49 62 serde::Serialize,
+13
crates/jacquard-api/src/place_stream/key.rs
··· 32 32 pub signing_key: jacquard_common::CowStr<'a>, 33 33 } 34 34 35 + impl<'a> Key<'a> { 36 + pub fn uri( 37 + uri: impl Into<jacquard_common::CowStr<'a>>, 38 + ) -> Result< 39 + jacquard_common::types::uri::RecordUri<'a, KeyRecord>, 40 + jacquard_common::types::uri::UriError, 41 + > { 42 + jacquard_common::types::uri::RecordUri::try_from_uri( 43 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 44 + ) 45 + } 46 + } 47 + 35 48 /// Typed wrapper for GetRecord response with this collection's record type. 36 49 #[derive( 37 50 serde::Serialize,
+13
crates/jacquard-api/src/place_stream/livestream.rs
··· 80 80 pub url: Option<jacquard_common::types::string::Uri<'a>>, 81 81 } 82 82 83 + impl<'a> Livestream<'a> { 84 + pub fn uri( 85 + uri: impl Into<jacquard_common::CowStr<'a>>, 86 + ) -> Result< 87 + jacquard_common::types::uri::RecordUri<'a, LivestreamRecord>, 88 + jacquard_common::types::uri::UriError, 89 + > { 90 + jacquard_common::types::uri::RecordUri::try_from_uri( 91 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 92 + ) 93 + } 94 + } 95 + 83 96 /// Typed wrapper for GetRecord response with this collection's record type. 84 97 #[derive( 85 98 serde::Serialize,
+13
crates/jacquard-api/src/place_stream/segment.rs
··· 86 86 pub video: Option<Vec<crate::place_stream::segment::Video<'a>>>, 87 87 } 88 88 89 + impl<'a> Segment<'a> { 90 + pub fn uri( 91 + uri: impl Into<jacquard_common::CowStr<'a>>, 92 + ) -> Result< 93 + jacquard_common::types::uri::RecordUri<'a, SegmentRecord>, 94 + jacquard_common::types::uri::UriError, 95 + > { 96 + jacquard_common::types::uri::RecordUri::try_from_uri( 97 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 98 + ) 99 + } 100 + } 101 + 89 102 /// Typed wrapper for GetRecord response with this collection's record type. 90 103 #[derive( 91 104 serde::Serialize,
+13
crates/jacquard-api/src/place_stream/server/settings.rs
··· 25 25 pub debug_recording: Option<bool>, 26 26 } 27 27 28 + impl<'a> Settings<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, SettingsRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/pub_leaflet/comment.rs
··· 58 58 pub subject: jacquard_common::types::string::AtUri<'a>, 59 59 } 60 60 61 + impl<'a> Comment<'a> { 62 + pub fn uri( 63 + uri: impl Into<jacquard_common::CowStr<'a>>, 64 + ) -> Result< 65 + jacquard_common::types::uri::RecordUri<'a, CommentRecord>, 66 + jacquard_common::types::uri::UriError, 67 + > { 68 + jacquard_common::types::uri::RecordUri::try_from_uri( 69 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 70 + ) 71 + } 72 + } 73 + 61 74 /// Typed wrapper for GetRecord response with this collection's record type. 62 75 #[derive( 63 76 serde::Serialize,
+13
crates/jacquard-api/src/pub_leaflet/document.rs
··· 41 41 pub title: jacquard_common::CowStr<'a>, 42 42 } 43 43 44 + impl<'a> Document<'a> { 45 + pub fn uri( 46 + uri: impl Into<jacquard_common::CowStr<'a>>, 47 + ) -> Result< 48 + jacquard_common::types::uri::RecordUri<'a, DocumentRecord>, 49 + jacquard_common::types::uri::UriError, 50 + > { 51 + jacquard_common::types::uri::RecordUri::try_from_uri( 52 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 53 + ) 54 + } 55 + } 56 + 44 57 /// Typed wrapper for GetRecord response with this collection's record type. 45 58 #[derive( 46 59 serde::Serialize,
+13
crates/jacquard-api/src/pub_leaflet/graph/subscription.rs
··· 23 23 pub publication: jacquard_common::types::string::AtUri<'a>, 24 24 } 25 25 26 + impl<'a> Subscription<'a> { 27 + pub fn uri( 28 + uri: impl Into<jacquard_common::CowStr<'a>>, 29 + ) -> Result< 30 + jacquard_common::types::uri::RecordUri<'a, SubscriptionRecord>, 31 + jacquard_common::types::uri::UriError, 32 + > { 33 + jacquard_common::types::uri::RecordUri::try_from_uri( 34 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 35 + ) 36 + } 37 + } 38 + 26 39 /// Typed wrapper for GetRecord response with this collection's record type. 27 40 #[derive( 28 41 serde::Serialize,
+13
crates/jacquard-api/src/pub_leaflet/publication.rs
··· 44 44 pub theme: Option<crate::pub_leaflet::publication::Theme<'a>>, 45 45 } 46 46 47 + impl<'a> Publication<'a> { 48 + pub fn uri( 49 + uri: impl Into<jacquard_common::CowStr<'a>>, 50 + ) -> Result< 51 + jacquard_common::types::uri::RecordUri<'a, PublicationRecord>, 52 + jacquard_common::types::uri::UriError, 53 + > { 54 + jacquard_common::types::uri::RecordUri::try_from_uri( 55 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 56 + ) 57 + } 58 + } 59 + 47 60 /// Typed wrapper for GetRecord response with this collection's record type. 48 61 #[derive( 49 62 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/actor/profile.rs
··· 46 46 pub stats: Option<Vec<jacquard_common::CowStr<'a>>>, 47 47 } 48 48 49 + impl<'a> Profile<'a> { 50 + pub fn uri( 51 + uri: impl Into<jacquard_common::CowStr<'a>>, 52 + ) -> Result< 53 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 54 + jacquard_common::types::uri::UriError, 55 + > { 56 + jacquard_common::types::uri::RecordUri::try_from_uri( 57 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 58 + ) 59 + } 60 + } 61 + 49 62 /// Typed wrapper for GetRecord response with this collection's record type. 50 63 #[derive( 51 64 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/feed/reaction.rs
··· 26 26 pub subject: jacquard_common::types::string::AtUri<'a>, 27 27 } 28 28 29 + impl<'a> Reaction<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, ReactionRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 29 42 /// Typed wrapper for GetRecord response with this collection's record type. 30 43 #[derive( 31 44 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/feed/star.rs
··· 23 23 pub subject: jacquard_common::types::string::AtUri<'a>, 24 24 } 25 25 26 + impl<'a> Star<'a> { 27 + pub fn uri( 28 + uri: impl Into<jacquard_common::CowStr<'a>>, 29 + ) -> Result< 30 + jacquard_common::types::uri::RecordUri<'a, StarRecord>, 31 + jacquard_common::types::uri::UriError, 32 + > { 33 + jacquard_common::types::uri::RecordUri::try_from_uri( 34 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 35 + ) 36 + } 37 + } 38 + 26 39 /// Typed wrapper for GetRecord response with this collection's record type. 27 40 #[derive( 28 41 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/git/ref_update.rs
··· 123 123 pub repo_name: jacquard_common::CowStr<'a>, 124 124 } 125 125 126 + impl<'a> RefUpdate<'a> { 127 + pub fn uri( 128 + uri: impl Into<jacquard_common::CowStr<'a>>, 129 + ) -> Result< 130 + jacquard_common::types::uri::RecordUri<'a, RefUpdateRecord>, 131 + jacquard_common::types::uri::UriError, 132 + > { 133 + jacquard_common::types::uri::RecordUri::try_from_uri( 134 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 135 + ) 136 + } 137 + } 138 + 126 139 /// Typed wrapper for GetRecord response with this collection's record type. 127 140 #[derive( 128 141 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/graph/follow.rs
··· 23 23 pub subject: jacquard_common::types::string::Did<'a>, 24 24 } 25 25 26 + impl<'a> Follow<'a> { 27 + pub fn uri( 28 + uri: impl Into<jacquard_common::CowStr<'a>>, 29 + ) -> Result< 30 + jacquard_common::types::uri::RecordUri<'a, FollowRecord>, 31 + jacquard_common::types::uri::UriError, 32 + > { 33 + jacquard_common::types::uri::RecordUri::try_from_uri( 34 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 35 + ) 36 + } 37 + } 38 + 26 39 /// Typed wrapper for GetRecord response with this collection's record type. 27 40 #[derive( 28 41 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/knot.rs
··· 25 25 pub created_at: jacquard_common::types::string::Datetime, 26 26 } 27 27 28 + impl<'a> Knot<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, KnotRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/knot/member.rs
··· 27 27 pub subject: jacquard_common::types::string::Did<'a>, 28 28 } 29 29 30 + impl<'a> Member<'a> { 31 + pub fn uri( 32 + uri: impl Into<jacquard_common::CowStr<'a>>, 33 + ) -> Result< 34 + jacquard_common::types::uri::RecordUri<'a, MemberRecord>, 35 + jacquard_common::types::uri::UriError, 36 + > { 37 + jacquard_common::types::uri::RecordUri::try_from_uri( 38 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 39 + ) 40 + } 41 + } 42 + 30 43 /// Typed wrapper for GetRecord response with this collection's record type. 31 44 #[derive( 32 45 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/label/definition.rs
··· 40 40 pub value_type: crate::sh_tangled::label::definition::ValueType<'a>, 41 41 } 42 42 43 + impl<'a> Definition<'a> { 44 + pub fn uri( 45 + uri: impl Into<jacquard_common::CowStr<'a>>, 46 + ) -> Result< 47 + jacquard_common::types::uri::RecordUri<'a, DefinitionRecord>, 48 + jacquard_common::types::uri::UriError, 49 + > { 50 + jacquard_common::types::uri::RecordUri::try_from_uri( 51 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 52 + ) 53 + } 54 + } 55 + 43 56 /// Typed wrapper for GetRecord response with this collection's record type. 44 57 #[derive( 45 58 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/label/op.rs
··· 28 28 pub subject: jacquard_common::types::string::AtUri<'a>, 29 29 } 30 30 31 + impl<'a> Op<'a> { 32 + pub fn uri( 33 + uri: impl Into<jacquard_common::CowStr<'a>>, 34 + ) -> Result< 35 + jacquard_common::types::uri::RecordUri<'a, OpRecord>, 36 + jacquard_common::types::uri::UriError, 37 + > { 38 + jacquard_common::types::uri::RecordUri::try_from_uri( 39 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 40 + ) 41 + } 42 + } 43 + 31 44 /// Typed wrapper for GetRecord response with this collection's record type. 32 45 #[derive( 33 46 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/pipeline.rs
··· 44 44 pub workflows: Vec<crate::sh_tangled::pipeline::Workflow<'a>>, 45 45 } 46 46 47 + impl<'a> Pipeline<'a> { 48 + pub fn uri( 49 + uri: impl Into<jacquard_common::CowStr<'a>>, 50 + ) -> Result< 51 + jacquard_common::types::uri::RecordUri<'a, PipelineRecord>, 52 + jacquard_common::types::uri::UriError, 53 + > { 54 + jacquard_common::types::uri::RecordUri::try_from_uri( 55 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 56 + ) 57 + } 58 + } 59 + 47 60 /// Typed wrapper for GetRecord response with this collection's record type. 48 61 #[derive( 49 62 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/pipeline/status.rs
··· 41 41 pub workflow: jacquard_common::types::string::AtUri<'a>, 42 42 } 43 43 44 + impl<'a> Status<'a> { 45 + pub fn uri( 46 + uri: impl Into<jacquard_common::CowStr<'a>>, 47 + ) -> Result< 48 + jacquard_common::types::uri::RecordUri<'a, StatusRecord>, 49 + jacquard_common::types::uri::UriError, 50 + > { 51 + jacquard_common::types::uri::RecordUri::try_from_uri( 52 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 53 + ) 54 + } 55 + } 56 + 44 57 /// Typed wrapper for GetRecord response with this collection's record type. 45 58 #[derive( 46 59 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/public_key.rs
··· 30 30 pub name: jacquard_common::CowStr<'a>, 31 31 } 32 32 33 + impl<'a> PublicKey<'a> { 34 + pub fn uri( 35 + uri: impl Into<jacquard_common::CowStr<'a>>, 36 + ) -> Result< 37 + jacquard_common::types::uri::RecordUri<'a, PublicKeyRecord>, 38 + jacquard_common::types::uri::UriError, 39 + > { 40 + jacquard_common::types::uri::RecordUri::try_from_uri( 41 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 42 + ) 43 + } 44 + } 45 + 33 46 /// Typed wrapper for GetRecord response with this collection's record type. 34 47 #[derive( 35 48 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/repo.rs
··· 76 76 pub spindle: Option<jacquard_common::CowStr<'a>>, 77 77 } 78 78 79 + impl<'a> Repo<'a> { 80 + pub fn uri( 81 + uri: impl Into<jacquard_common::CowStr<'a>>, 82 + ) -> Result< 83 + jacquard_common::types::uri::RecordUri<'a, RepoRecord>, 84 + jacquard_common::types::uri::UriError, 85 + > { 86 + jacquard_common::types::uri::RecordUri::try_from_uri( 87 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 88 + ) 89 + } 90 + } 91 + 79 92 /// Typed wrapper for GetRecord response with this collection's record type. 80 93 #[derive( 81 94 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/repo/artifact.rs
··· 34 34 pub tag: bytes::Bytes, 35 35 } 36 36 37 + impl<'a> Artifact<'a> { 38 + pub fn uri( 39 + uri: impl Into<jacquard_common::CowStr<'a>>, 40 + ) -> Result< 41 + jacquard_common::types::uri::RecordUri<'a, ArtifactRecord>, 42 + jacquard_common::types::uri::UriError, 43 + > { 44 + jacquard_common::types::uri::RecordUri::try_from_uri( 45 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 46 + ) 47 + } 48 + } 49 + 37 50 /// Typed wrapper for GetRecord response with this collection's record type. 38 51 #[derive( 39 52 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/repo/collaborator.rs
··· 26 26 pub subject: jacquard_common::types::string::Did<'a>, 27 27 } 28 28 29 + impl<'a> Collaborator<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, CollaboratorRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 29 42 /// Typed wrapper for GetRecord response with this collection's record type. 30 43 #[derive( 31 44 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/repo/issue.rs
··· 33 33 pub title: jacquard_common::CowStr<'a>, 34 34 } 35 35 36 + impl<'a> Issue<'a> { 37 + pub fn uri( 38 + uri: impl Into<jacquard_common::CowStr<'a>>, 39 + ) -> Result< 40 + jacquard_common::types::uri::RecordUri<'a, IssueRecord>, 41 + jacquard_common::types::uri::UriError, 42 + > { 43 + jacquard_common::types::uri::RecordUri::try_from_uri( 44 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 45 + ) 46 + } 47 + } 48 + 36 49 /// Typed wrapper for GetRecord response with this collection's record type. 37 50 #[derive( 38 51 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/repo/issue/comment.rs
··· 30 30 pub reply_to: Option<jacquard_common::types::string::AtUri<'a>>, 31 31 } 32 32 33 + impl<'a> Comment<'a> { 34 + pub fn uri( 35 + uri: impl Into<jacquard_common::CowStr<'a>>, 36 + ) -> Result< 37 + jacquard_common::types::uri::RecordUri<'a, CommentRecord>, 38 + jacquard_common::types::uri::UriError, 39 + > { 40 + jacquard_common::types::uri::RecordUri::try_from_uri( 41 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 42 + ) 43 + } 44 + } 45 + 33 46 /// Typed wrapper for GetRecord response with this collection's record type. 34 47 #[derive( 35 48 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/repo/issue/state.rs
··· 29 29 pub state: jacquard_common::CowStr<'a>, 30 30 } 31 31 32 + impl<'a> State<'a> { 33 + pub fn uri( 34 + uri: impl Into<jacquard_common::CowStr<'a>>, 35 + ) -> Result< 36 + jacquard_common::types::uri::RecordUri<'a, StateRecord>, 37 + jacquard_common::types::uri::UriError, 38 + > { 39 + jacquard_common::types::uri::RecordUri::try_from_uri( 40 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 41 + ) 42 + } 43 + } 44 + 32 45 /// Typed wrapper for GetRecord response with this collection's record type. 33 46 #[derive( 34 47 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/repo/pull.rs
··· 40 40 pub title: jacquard_common::CowStr<'a>, 41 41 } 42 42 43 + impl<'a> Pull<'a> { 44 + pub fn uri( 45 + uri: impl Into<jacquard_common::CowStr<'a>>, 46 + ) -> Result< 47 + jacquard_common::types::uri::RecordUri<'a, PullRecord>, 48 + jacquard_common::types::uri::UriError, 49 + > { 50 + jacquard_common::types::uri::RecordUri::try_from_uri( 51 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 52 + ) 53 + } 54 + } 55 + 43 56 /// Typed wrapper for GetRecord response with this collection's record type. 44 57 #[derive( 45 58 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/repo/pull/comment.rs
··· 26 26 pub pull: jacquard_common::types::string::AtUri<'a>, 27 27 } 28 28 29 + impl<'a> Comment<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, CommentRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 29 42 /// Typed wrapper for GetRecord response with this collection's record type. 30 43 #[derive( 31 44 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/repo/pull/status.rs
··· 30 30 pub status: jacquard_common::CowStr<'a>, 31 31 } 32 32 33 + impl<'a> Status<'a> { 34 + pub fn uri( 35 + uri: impl Into<jacquard_common::CowStr<'a>>, 36 + ) -> Result< 37 + jacquard_common::types::uri::RecordUri<'a, StatusRecord>, 38 + jacquard_common::types::uri::UriError, 39 + > { 40 + jacquard_common::types::uri::RecordUri::try_from_uri( 41 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 42 + ) 43 + } 44 + } 45 + 33 46 /// Typed wrapper for GetRecord response with this collection's record type. 34 47 #[derive( 35 48 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/spindle.rs
··· 23 23 pub created_at: jacquard_common::types::string::Datetime, 24 24 } 25 25 26 + impl<'a> Spindle<'a> { 27 + pub fn uri( 28 + uri: impl Into<jacquard_common::CowStr<'a>>, 29 + ) -> Result< 30 + jacquard_common::types::uri::RecordUri<'a, SpindleRecord>, 31 + jacquard_common::types::uri::UriError, 32 + > { 33 + jacquard_common::types::uri::RecordUri::try_from_uri( 34 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 35 + ) 36 + } 37 + } 38 + 26 39 /// Typed wrapper for GetRecord response with this collection's record type. 27 40 #[derive( 28 41 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/spindle/member.rs
··· 27 27 pub subject: jacquard_common::types::string::Did<'a>, 28 28 } 29 29 30 + impl<'a> Member<'a> { 31 + pub fn uri( 32 + uri: impl Into<jacquard_common::CowStr<'a>>, 33 + ) -> Result< 34 + jacquard_common::types::uri::RecordUri<'a, MemberRecord>, 35 + jacquard_common::types::uri::UriError, 36 + > { 37 + jacquard_common::types::uri::RecordUri::try_from_uri( 38 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 39 + ) 40 + } 41 + } 42 + 30 43 /// Typed wrapper for GetRecord response with this collection's record type. 31 44 #[derive( 32 45 serde::Serialize,
+13
crates/jacquard-api/src/sh_tangled/string.rs
··· 30 30 pub filename: jacquard_common::CowStr<'a>, 31 31 } 32 32 33 + impl<'a> String<'a> { 34 + pub fn uri( 35 + uri: impl Into<jacquard_common::CowStr<'a>>, 36 + ) -> Result< 37 + jacquard_common::types::uri::RecordUri<'a, StringRecord>, 38 + jacquard_common::types::uri::UriError, 39 + > { 40 + jacquard_common::types::uri::RecordUri::try_from_uri( 41 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 42 + ) 43 + } 44 + } 45 + 33 46 /// Typed wrapper for GetRecord response with this collection's record type. 34 47 #[derive( 35 48 serde::Serialize,
+13
crates/jacquard-api/src/sh_weaver/actor/profile.rs
··· 64 64 pub tangled: Option<bool>, 65 65 } 66 66 67 + impl<'a> Profile<'a> { 68 + pub fn uri( 69 + uri: impl Into<jacquard_common::CowStr<'a>>, 70 + ) -> Result< 71 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 72 + jacquard_common::types::uri::UriError, 73 + > { 74 + jacquard_common::types::uri::RecordUri::try_from_uri( 75 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 76 + ) 77 + } 78 + } 79 + 67 80 /// Typed wrapper for GetRecord response with this collection's record type. 68 81 #[derive( 69 82 serde::Serialize,
+13
crates/jacquard-api/src/sh_weaver/edit/cursor.rs
··· 101 101 pub side: Option<crate::sh_weaver::edit::cursor::CursorSide<'a>>, 102 102 } 103 103 104 + impl<'a> Cursor<'a> { 105 + pub fn uri( 106 + uri: impl Into<jacquard_common::CowStr<'a>>, 107 + ) -> Result< 108 + jacquard_common::types::uri::RecordUri<'a, CursorRecord>, 109 + jacquard_common::types::uri::UriError, 110 + > { 111 + jacquard_common::types::uri::RecordUri::try_from_uri( 112 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 113 + ) 114 + } 115 + } 116 + 104 117 /// Typed wrapper for GetRecord response with this collection's record type. 105 118 #[derive( 106 119 serde::Serialize,
+13
crates/jacquard-api/src/sh_weaver/edit/diff.rs
··· 27 27 pub snapshot: jacquard_common::types::blob::Blob<'a>, 28 28 } 29 29 30 + impl<'a> Diff<'a> { 31 + pub fn uri( 32 + uri: impl Into<jacquard_common::CowStr<'a>>, 33 + ) -> Result< 34 + jacquard_common::types::uri::RecordUri<'a, DiffRecord>, 35 + jacquard_common::types::uri::UriError, 36 + > { 37 + jacquard_common::types::uri::RecordUri::try_from_uri( 38 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 39 + ) 40 + } 41 + } 42 + 30 43 /// Typed wrapper for GetRecord response with this collection's record type. 31 44 #[derive( 32 45 serde::Serialize,
+13
crates/jacquard-api/src/sh_weaver/edit/root.rs
··· 29 29 pub uri: jacquard_common::types::string::AtUri<'a>, 30 30 } 31 31 32 + impl<'a> Root<'a> { 33 + pub fn uri( 34 + uri: impl Into<jacquard_common::CowStr<'a>>, 35 + ) -> Result< 36 + jacquard_common::types::uri::RecordUri<'a, RootRecord>, 37 + jacquard_common::types::uri::UriError, 38 + > { 39 + jacquard_common::types::uri::RecordUri::try_from_uri( 40 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 41 + ) 42 + } 43 + } 44 + 32 45 /// Typed wrapper for GetRecord response with this collection's record type. 33 46 #[derive( 34 47 serde::Serialize,
+13
crates/jacquard-api/src/sh_weaver/notebook/authors.rs
··· 68 68 pub created_at: Option<jacquard_common::types::string::Datetime>, 69 69 } 70 70 71 + impl<'a> Authors<'a> { 72 + pub fn uri( 73 + uri: impl Into<jacquard_common::CowStr<'a>>, 74 + ) -> Result< 75 + jacquard_common::types::uri::RecordUri<'a, AuthorsRecord>, 76 + jacquard_common::types::uri::UriError, 77 + > { 78 + jacquard_common::types::uri::RecordUri::try_from_uri( 79 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 80 + ) 81 + } 82 + } 83 + 71 84 /// Typed wrapper for GetRecord response with this collection's record type. 72 85 #[derive( 73 86 serde::Serialize,
+13
crates/jacquard-api/src/sh_weaver/notebook/book.rs
··· 37 37 pub title: Option<crate::sh_weaver::notebook::Title<'a>>, 38 38 } 39 39 40 + impl<'a> Book<'a> { 41 + pub fn uri( 42 + uri: impl Into<jacquard_common::CowStr<'a>>, 43 + ) -> Result< 44 + jacquard_common::types::uri::RecordUri<'a, BookRecord>, 45 + jacquard_common::types::uri::UriError, 46 + > { 47 + jacquard_common::types::uri::RecordUri::try_from_uri( 48 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 49 + ) 50 + } 51 + } 52 + 40 53 /// Typed wrapper for GetRecord response with this collection's record type. 41 54 #[derive( 42 55 serde::Serialize,
+13
crates/jacquard-api/src/sh_weaver/notebook/chapter.rs
··· 38 38 pub title: Option<crate::sh_weaver::notebook::Title<'a>>, 39 39 } 40 40 41 + impl<'a> Chapter<'a> { 42 + pub fn uri( 43 + uri: impl Into<jacquard_common::CowStr<'a>>, 44 + ) -> Result< 45 + jacquard_common::types::uri::RecordUri<'a, ChapterRecord>, 46 + jacquard_common::types::uri::UriError, 47 + > { 48 + jacquard_common::types::uri::RecordUri::try_from_uri( 49 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 50 + ) 51 + } 52 + } 53 + 41 54 /// Typed wrapper for GetRecord response with this collection's record type. 42 55 #[derive( 43 56 serde::Serialize,
+13
crates/jacquard-api/src/sh_weaver/notebook/entry.rs
··· 38 38 pub title: crate::sh_weaver::notebook::Title<'a>, 39 39 } 40 40 41 + impl<'a> Entry<'a> { 42 + pub fn uri( 43 + uri: impl Into<jacquard_common::CowStr<'a>>, 44 + ) -> Result< 45 + jacquard_common::types::uri::RecordUri<'a, EntryRecord>, 46 + jacquard_common::types::uri::UriError, 47 + > { 48 + jacquard_common::types::uri::RecordUri::try_from_uri( 49 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 50 + ) 51 + } 52 + } 53 + 41 54 /// Typed wrapper for GetRecord response with this collection's record type. 42 55 #[derive( 43 56 serde::Serialize,
+13
crates/jacquard-api/src/sh_weaver/publish/blob.rs
··· 24 24 pub upload: jacquard_common::types::blob::Blob<'a>, 25 25 } 26 26 27 + impl<'a> Blob<'a> { 28 + pub fn uri( 29 + uri: impl Into<jacquard_common::CowStr<'a>>, 30 + ) -> Result< 31 + jacquard_common::types::uri::RecordUri<'a, BlobRecord>, 32 + jacquard_common::types::uri::UriError, 33 + > { 34 + jacquard_common::types::uri::RecordUri::try_from_uri( 35 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 36 + ) 37 + } 38 + } 39 + 27 40 /// Typed wrapper for GetRecord response with this collection's record type. 28 41 #[derive( 29 42 serde::Serialize,
+13
crates/jacquard-api/src/social_clippr/actor/profile.rs
··· 37 37 pub display_name: jacquard_common::CowStr<'a>, 38 38 } 39 39 40 + impl<'a> Profile<'a> { 41 + pub fn uri( 42 + uri: impl Into<jacquard_common::CowStr<'a>>, 43 + ) -> Result< 44 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 45 + jacquard_common::types::uri::UriError, 46 + > { 47 + jacquard_common::types::uri::RecordUri::try_from_uri( 48 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 49 + ) 50 + } 51 + } 52 + 40 53 /// Typed wrapper for GetRecord response with this collection's record type. 41 54 #[derive( 42 55 serde::Serialize,
+13
crates/jacquard-api/src/social_clippr/feed/clip.rs
··· 54 54 pub url: jacquard_common::types::string::Uri<'a>, 55 55 } 56 56 57 + impl<'a> Clip<'a> { 58 + pub fn uri( 59 + uri: impl Into<jacquard_common::CowStr<'a>>, 60 + ) -> Result< 61 + jacquard_common::types::uri::RecordUri<'a, ClipRecord>, 62 + jacquard_common::types::uri::UriError, 63 + > { 64 + jacquard_common::types::uri::RecordUri::try_from_uri( 65 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 66 + ) 67 + } 68 + } 69 + 57 70 /// Typed wrapper for GetRecord response with this collection's record type. 58 71 #[derive( 59 72 serde::Serialize,
+13
crates/jacquard-api/src/social_clippr/feed/tag.rs
··· 37 37 pub name: jacquard_common::CowStr<'a>, 38 38 } 39 39 40 + impl<'a> Tag<'a> { 41 + pub fn uri( 42 + uri: impl Into<jacquard_common::CowStr<'a>>, 43 + ) -> Result< 44 + jacquard_common::types::uri::RecordUri<'a, TagRecord>, 45 + jacquard_common::types::uri::UriError, 46 + > { 47 + jacquard_common::types::uri::RecordUri::try_from_uri( 48 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 49 + ) 50 + } 51 + } 52 + 40 53 /// Typed wrapper for GetRecord response with this collection's record type. 41 54 #[derive( 42 55 serde::Serialize,
+13
crates/jacquard-api/src/social_grain/actor/profile.rs
··· 38 38 pub display_name: Option<jacquard_common::CowStr<'a>>, 39 39 } 40 40 41 + impl<'a> Profile<'a> { 42 + pub fn uri( 43 + uri: impl Into<jacquard_common::CowStr<'a>>, 44 + ) -> Result< 45 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 46 + jacquard_common::types::uri::UriError, 47 + > { 48 + jacquard_common::types::uri::RecordUri::try_from_uri( 49 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 50 + ) 51 + } 52 + } 53 + 41 54 /// Typed wrapper for GetRecord response with this collection's record type. 42 55 #[derive( 43 56 serde::Serialize,
+13
crates/jacquard-api/src/social_grain/favorite.rs
··· 23 23 pub subject: jacquard_common::types::string::AtUri<'a>, 24 24 } 25 25 26 + impl<'a> Favorite<'a> { 27 + pub fn uri( 28 + uri: impl Into<jacquard_common::CowStr<'a>>, 29 + ) -> Result< 30 + jacquard_common::types::uri::RecordUri<'a, FavoriteRecord>, 31 + jacquard_common::types::uri::UriError, 32 + > { 33 + jacquard_common::types::uri::RecordUri::try_from_uri( 34 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 35 + ) 36 + } 37 + } 38 + 26 39 /// Typed wrapper for GetRecord response with this collection's record type. 27 40 #[derive( 28 41 serde::Serialize,
+13
crates/jacquard-api/src/social_grain/gallery.rs
··· 35 35 pub title: jacquard_common::CowStr<'a>, 36 36 } 37 37 38 + impl<'a> Gallery<'a> { 39 + pub fn uri( 40 + uri: impl Into<jacquard_common::CowStr<'a>>, 41 + ) -> Result< 42 + jacquard_common::types::uri::RecordUri<'a, GalleryRecord>, 43 + jacquard_common::types::uri::UriError, 44 + > { 45 + jacquard_common::types::uri::RecordUri::try_from_uri( 46 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 47 + ) 48 + } 49 + } 50 + 38 51 /// Typed wrapper for GetRecord response with this collection's record type. 39 52 #[derive( 40 53 serde::Serialize,
+13
crates/jacquard-api/src/social_grain/gallery/item.rs
··· 28 28 pub position: Option<i64>, 29 29 } 30 30 31 + impl<'a> Item<'a> { 32 + pub fn uri( 33 + uri: impl Into<jacquard_common::CowStr<'a>>, 34 + ) -> Result< 35 + jacquard_common::types::uri::RecordUri<'a, ItemRecord>, 36 + jacquard_common::types::uri::UriError, 37 + > { 38 + jacquard_common::types::uri::RecordUri::try_from_uri( 39 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 40 + ) 41 + } 42 + } 43 + 31 44 /// Typed wrapper for GetRecord response with this collection's record type. 32 45 #[derive( 33 46 serde::Serialize,
+13
crates/jacquard-api/src/social_grain/photo.rs
··· 35 35 pub photo: jacquard_common::types::blob::Blob<'a>, 36 36 } 37 37 38 + impl<'a> Photo<'a> { 39 + pub fn uri( 40 + uri: impl Into<jacquard_common::CowStr<'a>>, 41 + ) -> Result< 42 + jacquard_common::types::uri::RecordUri<'a, PhotoRecord>, 43 + jacquard_common::types::uri::UriError, 44 + > { 45 + jacquard_common::types::uri::RecordUri::try_from_uri( 46 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 47 + ) 48 + } 49 + } 50 + 38 51 /// Typed wrapper for GetRecord response with this collection's record type. 39 52 #[derive( 40 53 serde::Serialize,
+13
crates/jacquard-api/src/social_grain/photo/exif.rs
··· 59 59 pub photo: jacquard_common::types::string::AtUri<'a>, 60 60 } 61 61 62 + impl<'a> Exif<'a> { 63 + pub fn uri( 64 + uri: impl Into<jacquard_common::CowStr<'a>>, 65 + ) -> Result< 66 + jacquard_common::types::uri::RecordUri<'a, ExifRecord>, 67 + jacquard_common::types::uri::UriError, 68 + > { 69 + jacquard_common::types::uri::RecordUri::try_from_uri( 70 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 71 + ) 72 + } 73 + } 74 + 62 75 /// Typed wrapper for GetRecord response with this collection's record type. 63 76 #[derive( 64 77 serde::Serialize,
+13
crates/jacquard-api/src/social_pmsky/proposal.rs
··· 64 64 pub ver: Option<i64>, 65 65 } 66 66 67 + impl<'a> Proposal<'a> { 68 + pub fn uri( 69 + uri: impl Into<jacquard_common::CowStr<'a>>, 70 + ) -> Result< 71 + jacquard_common::types::uri::RecordUri<'a, ProposalRecord>, 72 + jacquard_common::types::uri::UriError, 73 + > { 74 + jacquard_common::types::uri::RecordUri::try_from_uri( 75 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 76 + ) 77 + } 78 + } 79 + 67 80 /// Typed wrapper for GetRecord response with this collection's record type. 68 81 #[derive( 69 82 serde::Serialize,
+13
crates/jacquard-api/src/social_pmsky/vote.rs
··· 49 49 pub val: i64, 50 50 } 51 51 52 + impl<'a> Vote<'a> { 53 + pub fn uri( 54 + uri: impl Into<jacquard_common::CowStr<'a>>, 55 + ) -> Result< 56 + jacquard_common::types::uri::RecordUri<'a, VoteRecord>, 57 + jacquard_common::types::uri::UriError, 58 + > { 59 + jacquard_common::types::uri::RecordUri::try_from_uri( 60 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 61 + ) 62 + } 63 + } 64 + 52 65 /// Typed wrapper for GetRecord response with this collection's record type. 53 66 #[derive( 54 67 serde::Serialize,
+13
crates/jacquard-api/src/social_psky/actor/profile.rs
··· 25 25 pub nickname: Option<jacquard_common::CowStr<'a>>, 26 26 } 27 27 28 + impl<'a> Profile<'a> { 29 + pub fn uri( 30 + uri: impl Into<jacquard_common::CowStr<'a>>, 31 + ) -> Result< 32 + jacquard_common::types::uri::RecordUri<'a, ProfileRecord>, 33 + jacquard_common::types::uri::UriError, 34 + > { 35 + jacquard_common::types::uri::RecordUri::try_from_uri( 36 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 37 + ) 38 + } 39 + } 40 + 28 41 /// Typed wrapper for GetRecord response with this collection's record type. 29 42 #[derive( 30 43 serde::Serialize,
+13
crates/jacquard-api/src/social_psky/chat/message.rs
··· 36 36 pub room: jacquard_common::types::string::AtUri<'a>, 37 37 } 38 38 39 + impl<'a> Message<'a> { 40 + pub fn uri( 41 + uri: impl Into<jacquard_common::CowStr<'a>>, 42 + ) -> Result< 43 + jacquard_common::types::uri::RecordUri<'a, MessageRecord>, 44 + jacquard_common::types::uri::UriError, 45 + > { 46 + jacquard_common::types::uri::RecordUri::try_from_uri( 47 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 48 + ) 49 + } 50 + } 51 + 39 52 /// Typed wrapper for GetRecord response with this collection's record type. 40 53 #[derive( 41 54 serde::Serialize,
+13
crates/jacquard-api/src/social_psky/chat/room.rs
··· 46 46 pub topic: Option<jacquard_common::CowStr<'a>>, 47 47 } 48 48 49 + impl<'a> Room<'a> { 50 + pub fn uri( 51 + uri: impl Into<jacquard_common::CowStr<'a>>, 52 + ) -> Result< 53 + jacquard_common::types::uri::RecordUri<'a, RoomRecord>, 54 + jacquard_common::types::uri::UriError, 55 + > { 56 + jacquard_common::types::uri::RecordUri::try_from_uri( 57 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 58 + ) 59 + } 60 + } 61 + 49 62 /// Typed wrapper for GetRecord response with this collection's record type. 50 63 #[derive( 51 64 serde::Serialize,
+13
crates/jacquard-api/src/tools_smokesignal/blahg/content/post.rs
··· 65 65 pub title: Option<jacquard_common::CowStr<'a>>, 66 66 } 67 67 68 + impl<'a> Post<'a> { 69 + pub fn uri( 70 + uri: impl Into<jacquard_common::CowStr<'a>>, 71 + ) -> Result< 72 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 73 + jacquard_common::types::uri::UriError, 74 + > { 75 + jacquard_common::types::uri::RecordUri::try_from_uri( 76 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 77 + ) 78 + } 79 + } 80 + 68 81 /// Typed wrapper for GetRecord response with this collection's record type. 69 82 #[derive( 70 83 serde::Serialize,
+13
crates/jacquard-api/src/uk_ewancroft/now.rs
··· 26 26 pub text: jacquard_common::CowStr<'a>, 27 27 } 28 28 29 + impl<'a> Now<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, NowRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 29 42 /// Typed wrapper for GetRecord response with this collection's record type. 30 43 #[derive( 31 44 serde::Serialize,
+13
crates/jacquard-api/src/uk_skyblur/post.rs
··· 47 47 pub visibility: jacquard_common::CowStr<'a>, 48 48 } 49 49 50 + impl<'a> Post<'a> { 51 + pub fn uri( 52 + uri: impl Into<jacquard_common::CowStr<'a>>, 53 + ) -> Result< 54 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 55 + jacquard_common::types::uri::UriError, 56 + > { 57 + jacquard_common::types::uri::RecordUri::try_from_uri( 58 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 59 + ) 60 + } 61 + } 62 + 50 63 /// Typed wrapper for GetRecord response with this collection's record type. 51 64 #[derive( 52 65 serde::Serialize,
+13
crates/jacquard-api/src/uk_skyblur/preference.rs
··· 23 23 pub my_page: crate::uk_skyblur::preference::MyPage<'a>, 24 24 } 25 25 26 + impl<'a> Preference<'a> { 27 + pub fn uri( 28 + uri: impl Into<jacquard_common::CowStr<'a>>, 29 + ) -> Result< 30 + jacquard_common::types::uri::RecordUri<'a, PreferenceRecord>, 31 + jacquard_common::types::uri::UriError, 32 + > { 33 + jacquard_common::types::uri::RecordUri::try_from_uri( 34 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 35 + ) 36 + } 37 + } 38 + 26 39 /// Typed wrapper for GetRecord response with this collection's record type. 27 40 #[derive( 28 41 serde::Serialize,
+13
crates/jacquard-api/src/us_polhem/blog/content.rs
··· 32 32 pub slug: jacquard_common::CowStr<'a>, 33 33 } 34 34 35 + impl<'a> Content<'a> { 36 + pub fn uri( 37 + uri: impl Into<jacquard_common::CowStr<'a>>, 38 + ) -> Result< 39 + jacquard_common::types::uri::RecordUri<'a, ContentRecord>, 40 + jacquard_common::types::uri::UriError, 41 + > { 42 + jacquard_common::types::uri::RecordUri::try_from_uri( 43 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 44 + ) 45 + } 46 + } 47 + 35 48 /// Typed wrapper for GetRecord response with this collection's record type. 36 49 #[derive( 37 50 serde::Serialize,
+13
crates/jacquard-api/src/us_polhem/blog/post.rs
··· 52 52 pub visibility: Option<jacquard_common::CowStr<'a>>, 53 53 } 54 54 55 + impl<'a> Post<'a> { 56 + pub fn uri( 57 + uri: impl Into<jacquard_common::CowStr<'a>>, 58 + ) -> Result< 59 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 60 + jacquard_common::types::uri::UriError, 61 + > { 62 + jacquard_common::types::uri::RecordUri::try_from_uri( 63 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 64 + ) 65 + } 66 + } 67 + 55 68 /// Typed wrapper for GetRecord response with this collection's record type. 56 69 #[derive( 57 70 serde::Serialize,
+13
crates/jacquard-api/src/us_polhem/blog/tag.rs
··· 31 31 pub slug: jacquard_common::CowStr<'a>, 32 32 } 33 33 34 + impl<'a> Tag<'a> { 35 + pub fn uri( 36 + uri: impl Into<jacquard_common::CowStr<'a>>, 37 + ) -> Result< 38 + jacquard_common::types::uri::RecordUri<'a, TagRecord>, 39 + jacquard_common::types::uri::UriError, 40 + > { 41 + jacquard_common::types::uri::RecordUri::try_from_uri( 42 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 43 + ) 44 + } 45 + } 46 + 34 47 /// Typed wrapper for GetRecord response with this collection's record type. 35 48 #[derive( 36 49 serde::Serialize,
+13
crates/jacquard-api/src/win_tomo_x/pushat/allow.rs
··· 26 26 pub created_at: jacquard_common::types::string::Datetime, 27 27 } 28 28 29 + impl<'a> Allow<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, AllowRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 29 42 /// Typed wrapper for GetRecord response with this collection's record type. 30 43 #[derive( 31 44 serde::Serialize,
+57 -2
crates/jacquard-common/src/types/uri.rs
··· 1 1 use crate::{ 2 2 CowStr, IntoStatic, 3 - types::{aturi::AtUri, cid::Cid, did::Did, string::AtStrError}, 3 + types::{ 4 + aturi::AtUri, cid::Cid, collection::Collection, did::Did, nsid::Nsid, string::AtStrError, 5 + }, 4 6 }; 5 7 use serde::{Deserialize, Deserializer, Serialize, Serializer}; 6 8 use smol_str::ToSmolStr; 7 - use std::str::FromStr; 9 + use std::{fmt::Display, marker::PhantomData, str::FromStr}; 8 10 use url::Url; 9 11 10 12 /// Generic URI with type-specific parsing ··· 165 167 } 166 168 } 167 169 } 170 + 171 + #[repr(transparent)] 172 + /// Collection type-annotated at:// URI 173 + /// 174 + /// Carries the corresponding collection type for fetching records easily 175 + pub struct RecordUri<'a, R: Collection>(AtUri<'a>, PhantomData<R>); 176 + 177 + impl<'a, R: Collection> RecordUri<'a, R> { 178 + /// attepts to parse an at-uri as the corresponding collection 179 + pub fn try_from_uri(uri: AtUri<'a>) -> Result<Self, UriError> { 180 + if let Some(collection) = uri.collection() { 181 + if collection.as_str() == R::NSID { 182 + return Ok(Self(uri, PhantomData)); 183 + } 184 + } 185 + Err(UriError::CollectionMismatch { 186 + expected: R::NSID, 187 + found: uri.collection().map(|c| c.clone().into_static()), 188 + }) 189 + } 190 + 191 + /// Spits out the internal un-typed AtUri 192 + pub fn into_inner(self) -> AtUri<'a> { 193 + self.0 194 + } 195 + 196 + /// Accesses the internal AtUri for use 197 + pub fn as_uri(&self) -> &AtUri<'a> { 198 + &self.0 199 + } 200 + } 201 + 202 + impl<R: Collection> Display for RecordUri<'_, R> { 203 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 204 + self.0.fmt(f) 205 + } 206 + } 207 + 208 + #[derive(Debug, Clone, PartialEq, thiserror::Error, miette::Diagnostic)] 209 + /// Errors that can occur when parsing or validating collection type-annotated URIs 210 + pub enum UriError { 211 + /// Given at-uri didn't have the matching collection for the record 212 + #[error("Collection mismatch: expected {expected}, found {found:?}")] 213 + CollectionMismatch { 214 + /// The collection of the record 215 + expected: &'static str, 216 + /// What the at-uri had 217 + found: Option<Nsid<'static>>, 218 + }, 219 + /// Couldn't parse the string as an AtUri 220 + #[error("Invalid URI: {0}")] 221 + InvalidUri(#[from] AtStrError), 222 + }
+6
crates/jacquard-lexicon/src/codegen/structs.rs
··· 216 216 217 217 Ok(quote! { 218 218 #struct_def 219 + 220 + impl<'a> #ident<'a> { 221 + pub fn uri(uri: impl Into<jacquard_common::CowStr<'a>>) -> Result<jacquard_common::types::uri::RecordUri<'a, #record_marker_ident>, jacquard_common::types::uri::UriError> { 222 + jacquard_common::types::uri::RecordUri::try_from_uri(jacquard_common::types::string::AtUri::new_cow(uri.into())?) 223 + } 224 + } 219 225 #(#unions)* 220 226 #output_wrapper 221 227 #from_impl
+11 -9
crates/jacquard/src/client.rs
··· 32 32 use jacquard_common::types::collection::Collection; 33 33 use jacquard_common::types::recordkey::{RecordKey, Rkey}; 34 34 use jacquard_common::types::string::AtUri; 35 + #[cfg(feature = "api")] 36 + use jacquard_common::types::uri::RecordUri; 35 37 use jacquard_common::xrpc::{ 36 38 CallOptions, Response, XrpcClient, XrpcError, XrpcExt, XrpcRequest, XrpcResp, 37 39 }; ··· 47 49 use jacquard_oauth::client::OAuthSession; 48 50 use jacquard_oauth::dpop::DpopExt; 49 51 use jacquard_oauth::resolver::OAuthResolver; 52 + use std::marker::PhantomData; 50 53 51 54 use serde::Serialize; 52 55 pub use token::FileAuthStore; ··· 484 487 /// ``` 485 488 fn get_record<R>( 486 489 &self, 487 - uri: AtUri<'_>, 490 + uri: &AtUri<'_>, 488 491 ) -> impl Future<Output = Result<Response<R::Record>, ClientError>> 489 492 where 490 493 R: Collection, ··· 555 558 556 559 /// Fetches a record from the PDS. Returns an owned, parsed response. 557 560 /// 558 - /// `record_type` parameter should be the marker struct for the record (e.g. `PostRecord` for `Post`), rather than the Post itself (though it will intuit things correctly regardless). 559 - /// This allows the compiler to better intuit the output type without turbofishing. 561 + /// Takes an at:// URI annotated with the collection type, which be constructed with `R::uri(uri)` 562 + /// where `R` is the type of record you want (e.g. `app_bsky::feed::post::Post::uri(uri)` for Bluesky posts). 560 563 fn fetch_record<R>( 561 564 &self, 562 - record_type: R, 563 - uri: AtUri<'_>, 565 + uri: &RecordUri<'_, R>, 564 566 ) -> impl Future<Output = Result<CollectionOutput<'static, R>, ClientError>> 565 567 where 566 568 R: Collection, 567 569 for<'a> CollectionOutput<'a, R>: IntoStatic<Output = CollectionOutput<'static, R>>, 568 570 for<'a> CollectionErr<'a, R>: IntoStatic<Output = CollectionErr<'static, R>>, 569 571 { 570 - let _ = record_type; 572 + let uri = uri.as_uri(); 571 573 async move { 572 - let response = self.get_record::<R>(uri.clone()).await?; 574 + let response = self.get_record::<R>(uri).await?; 573 575 let response: Response<R::Record> = response.transmute(); 574 576 let output = response 575 577 .into_output() ··· 607 609 /// ``` 608 610 fn update_record<R>( 609 611 &self, 610 - uri: AtUri<'_>, 612 + uri: &AtUri<'_>, 611 613 f: impl FnOnce(&mut R), 612 614 ) -> impl Future<Output = Result<PutRecordOutput<'static>, AgentError>> 613 615 where ··· 620 622 .entered(); 621 623 622 624 // Fetch the record - Response<R::Record> where R::Record::Output<'de> = R<'de> 623 - let response = self.get_record::<R>(uri.clone()).await?; 625 + let response = self.get_record::<R>(uri).await?; 624 626 625 627 // Parse to get R<'_> borrowing from response buffer 626 628 let record = response.parse().map_err(|e| match e {
+12 -13
examples/read_tangled_repo.rs
··· 1 1 use clap::Parser; 2 2 use jacquard::client::{AgentSessionExt, BasicClient}; 3 - use jacquard::types::string::AtUri; 4 - use jacquard_api::sh_tangled::repo::RepoRecord; 3 + use jacquard_api::sh_tangled::repo::Repo; 5 4 6 5 #[derive(Parser, Debug)] 7 6 #[command(author, version, about = "Read a Tangled git repository record")] ··· 18 17 let args = Args::parse(); 19 18 20 19 // Parse the at:// URI 21 - let uri = AtUri::new(&args.uri)?; 20 + let uri = Repo::uri(args.uri)?; 22 21 23 22 // Create an unauthenticated agent for public record access 24 23 let agent = BasicClient::unauthenticated(); 25 24 26 - // Use Agent's fetch_record helper with the at:// URI & marker struct 27 - let output = agent.fetch_record(RepoRecord, uri).await?; 25 + // Use Agent's fetch_record helper with typed record URI 26 + let output: Repo<'_> = agent.fetch_record(&uri).await?.into(); 28 27 29 28 println!("Tangled Repository\n"); 30 - println!("URI: {}", output.uri); 31 - println!("Name: {}", output.value.name); 29 + println!("URI: {}", uri); 30 + println!("Name: {}", output.name); 32 31 33 - if let Some(desc) = &output.value.description { 32 + if let Some(desc) = &output.description { 34 33 println!("Description: {}", desc); 35 34 } 36 35 37 - println!("Knot: {}", output.value.knot); 38 - println!("Created: {}", output.value.created_at); 36 + println!("Knot: {}", output.knot); 37 + println!("Created: {}", output.created_at); 39 38 40 - if let Some(source) = &output.value.source { 39 + if let Some(source) = &output.source { 41 40 println!("Source: {}", source.as_str()); 42 41 } 43 42 44 - if let Some(spindle) = &output.value.spindle { 43 + if let Some(spindle) = &output.spindle { 45 44 println!("CI Spindle: {}", spindle); 46 45 } 47 46 48 - if let Some(labels) = &output.value.labels { 47 + if let Some(labels) = &output.labels { 49 48 if !labels.is_empty() { 50 49 println!( 51 50 "Labels available: {}",