Update README
This commit is contained in:
parent
19a9477eb2
commit
99c7e9aa55
1 changed files with 15 additions and 15 deletions
30
README.md
30
README.md
|
@ -88,14 +88,14 @@ With multiple values
|
|||
It may seem like interacting with these types might get unweildy, there are some custom methods
|
||||
implemented on the `OneOrMany` type depending on what's inside of it.
|
||||
|
||||
```rust
|
||||
```rust,ignore
|
||||
fn from_xsd_string<T>(&mut self, T) -> Self;
|
||||
fn from_rdf_lang_string<T>(&mut self, T) -> Self;
|
||||
|
||||
fn as_single_xsd_string(&self) -> Option<&XsdString>;
|
||||
fn as_single_xsd_string(&self) -> Option<&str>;
|
||||
fn as_single_rdf_langstring(&self) -> Option<&RdfLangString>;
|
||||
|
||||
fn single_xsd_string(self) -> Option<XsdString>;
|
||||
fn single_xsd_string(self) -> Option<String>;
|
||||
fn single_rdf_lang_string(self) -> Option<RdfLangString>;
|
||||
|
||||
fn add_xsd_string<T>(&mut self, T) -> &mut Self;
|
||||
|
@ -103,10 +103,10 @@ fn add_rdf_lang_string<T>(&mut self, T) -> &mut Self;
|
|||
```
|
||||
These methods provide access to setting and fetching uniformly typed data, as well as deleting
|
||||
the data. In the setter methods, the type parameter T is bound by
|
||||
`Into<XsdString>` or `Into<RdfLangString>`. This allows passing values to the method that
|
||||
`Into<String>` or `Into<RdfLangString>`. This allows passing values to the method that
|
||||
can be converted into the types, rather than requiring the caller to perform the conversion.
|
||||
|
||||
Types like `XsdString` and `RdfLangString` can be found in the `primitives` module. Unless
|
||||
Types like `RdfLangString` can be found in the `primitives` module. Unless
|
||||
you're building your own custom types, you shouldn't need to import them yourself. They each
|
||||
implement `FromStr` for parsing and `Display` to convert back to strings, as well as `From` and
|
||||
`Into` or `TryFrom` and `TryInto` for types you might expect them to (e.g.
|
||||
|
@ -121,7 +121,7 @@ will be located in the innermost struct. In order to avoid writing code like
|
|||
automatically implmeneted for provided types.
|
||||
|
||||
For example, the `BaseExt` trait provides the following methods for `context`,
|
||||
```rust
|
||||
```rust,ignore
|
||||
fn context(&self) -> Option<&OneOrMany<AnyBase>>;
|
||||
|
||||
fn set_context<T>(&mut self, context: T) -> &mut Self
|
||||
|
@ -142,7 +142,7 @@ fn delete_context(&mut self) -> &mut Self;
|
|||
```
|
||||
|
||||
For fields with more specific bounds, like `id`,
|
||||
```rust
|
||||
```rust,ignore
|
||||
fn id(&self) -> Option<&XsdAnyUri>;
|
||||
fn set_id(&mut self, XsdAnyUri) -> &mut Self;
|
||||
fn take_id(&self) -> Option<XsdAnyUri>;
|
||||
|
@ -164,14 +164,14 @@ If you want to make a function that manipulates an Activity, but not a normal ob
|
|||
bound the function like so:
|
||||
|
||||
```rust
|
||||
use activitystreams_new::{base::BaseExt, context, markers::Activity};
|
||||
use activitystreams_new::{base::BaseExt, context, markers::Activity, uri};
|
||||
|
||||
fn manipulator<T>(mut activity: T) -> Result<(), SomeErrorType>
|
||||
fn manipulator<T, Kind>(mut activity: T) -> Result<(), anyhow::Error>
|
||||
where
|
||||
T: Activity + BaseExt<Kind>,
|
||||
{
|
||||
activity
|
||||
.set_id("https://example.com".parse()?)
|
||||
.set_id(uri!("https://example.com"))
|
||||
.set_context(context());
|
||||
Ok(())
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ use activitystreams_new::{
|
|||
context,
|
||||
object::{ApObject, Video},
|
||||
prelude::*,
|
||||
primitives::{XsdAnyUri, XsdString},
|
||||
uri,
|
||||
};
|
||||
|
||||
fn main() -> Result<(), anyhow::Error> {
|
||||
|
@ -213,12 +213,12 @@ fn main() -> Result<(), anyhow::Error> {
|
|||
|
||||
video
|
||||
.set_context(context())
|
||||
.set_id("https://example.com/@example/lions".parse()?)
|
||||
.set_id(uri!("https://example.com/@example/lions"))
|
||||
.set_media_type("video/webm".parse()?)
|
||||
.set_url("https://example.com/@example/lions/video.webm".parse::<XsdAnyUri>()?)
|
||||
.set_summary(XsdString::from("A cool video"))
|
||||
.set_url(uri!("https://example.com/@example/lions/video.webm"))
|
||||
.set_summary("A cool video")
|
||||
.set_duration("PT4M20S".parse()?)
|
||||
.set_shares("https://example.com/@example/lions/video.webm#shares".parse()?);
|
||||
.set_shares(uri!("https://example.com/@example/lions/video.webm#shares"));
|
||||
|
||||
println!("Video, {:#?}", video);
|
||||
|
||||
|
|
Loading…
Reference in a new issue