From dff8fbbe59b0efd25544e78180af6122e8805fd6 Mon Sep 17 00:00:00 2001 From: "Aode (lion)" Date: Fri, 19 Nov 2021 08:53:46 -0600 Subject: [PATCH] Add URL functions to kinds lib --- activitystreams-kinds/Cargo.toml | 1 + activitystreams-kinds/src/lib.rs | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/activitystreams-kinds/Cargo.toml b/activitystreams-kinds/Cargo.toml index 07b0200..b432022 100644 --- a/activitystreams-kinds/Cargo.toml +++ b/activitystreams-kinds/Cargo.toml @@ -13,6 +13,7 @@ edition = "2021" [dependencies] serde = { version = "1", features = ["derive"] } +url = "2" [dev-dependencies] anyhow = "1" diff --git a/activitystreams-kinds/src/lib.rs b/activitystreams-kinds/src/lib.rs index e12c254..cb8cf90 100644 --- a/activitystreams-kinds/src/lib.rs +++ b/activitystreams-kinds/src/lib.rs @@ -2,6 +2,25 @@ //! //! Enums representing typed versions of activitypub 'type' fields. +use url::Url; + +/// Returns the `https://www.w3.org/ns/activitystreams` Url +pub fn context() -> Url { + "https://www.w3.org/ns/activitystreams".parse().unwrap() +} + +/// Returns the `https://www.w3.org/ns/activitystreams#Public` Url +pub fn public() -> Url { + "https://www.w3.org/ns/activitystreams#Public" + .parse() + .unwrap() +} + +/// Returns the `https://w3id.org/security/v1` Url +pub fn security() -> Url { + "https://w3id.org/security/v1".parse().unwrap() +} + /// Generate an enum implementing serde's Serialize and Deserialize with a single variant /// /// This is useful for describing constants