pub struct GeneratorClient {
client: Client,
}Fields§
§client: ClientImplementations§
Source§impl GeneratorClient
impl GeneratorClient
fn new(client: Client) -> Self
Sourcepub fn password(
&self,
input: PasswordGeneratorRequest,
) -> Result<String, PasswordError>
pub fn password( &self, input: PasswordGeneratorRequest, ) -> Result<String, PasswordError>
Generates a random password.
The character sets and password length can be customized using the input parameter.
§Examples
use bitwarden_core::Client;
use bitwarden_generators::{GeneratorClientsExt, PassphraseError, PasswordGeneratorRequest};
async fn test() -> Result<(), PassphraseError> {
let input = PasswordGeneratorRequest {
lowercase: true,
uppercase: true,
numbers: true,
length: 20,
..Default::default()
};
let password = Client::new(None).generator().password(input).unwrap();
println!("{}", password);
Ok(())
}Sourcepub fn password_rules(
&self,
rules: String,
) -> Result<PasswordGeneratorRequest, PasswordRulesError>
pub fn password_rules( &self, rules: String, ) -> Result<PasswordGeneratorRequest, PasswordRulesError>
Parses an HTML passwordrules attribute string into a PasswordGeneratorRequest.
The returned request can be passed to GeneratorClient::password to produce a
password that satisfies the website’s declared constraints.
Sourcepub fn passphrase(
&self,
input: PassphraseGeneratorRequest,
) -> Result<String, PassphraseError>
pub fn passphrase( &self, input: PassphraseGeneratorRequest, ) -> Result<String, PassphraseError>
Generates a random passphrase.
A passphrase is a combination of random words separated by a character.
An example of passphrase is correct horse battery staple.
The number of words and their case, the word separator, and the inclusion of
a number in the passphrase can be customized using the input parameter.
§Examples
use bitwarden_core::Client;
use bitwarden_generators::{GeneratorClientsExt, PassphraseError, PassphraseGeneratorRequest};
async fn test() -> Result<(), PassphraseError> {
let input = PassphraseGeneratorRequest {
num_words: 4,
..Default::default()
};
let passphrase = Client::new(None).generator().passphrase(input).unwrap();
println!("{}", passphrase);
Ok(())
}Source§impl GeneratorClient
impl GeneratorClient
Sourcepub async fn username(
&self,
input: UsernameGeneratorRequest,
) -> Result<String, UsernameError>
pub async fn username( &self, input: UsernameGeneratorRequest, ) -> Result<String, UsernameError>
Generates a random username.
There are different username generation strategies, which can be customized using the
input parameter.
Note that most generation strategies will be executed on the client side, but Forwarded
will use third-party services, which may require a specific setup or API key.
use bitwarden_core::Client;
use bitwarden_generators::{GeneratorClientsExt, UsernameError, UsernameGeneratorRequest};
async fn test() -> Result<(), UsernameError> {
let input = UsernameGeneratorRequest::Word {
capitalize: true,
include_number: true,
};
let username = Client::new(None).generator().username(input).await.unwrap();
println!("{}", username);
Ok(())
}Trait Implementations§
Source§impl From<GeneratorClient> for JsValue
impl From<GeneratorClient> for JsValue
Source§fn from(value: GeneratorClient) -> Self
fn from(value: GeneratorClient) -> Self
Source§impl FromWasm for GeneratorClient
Available on crate feature wasm only.
impl FromWasm for GeneratorClient
wasm only.Source§impl FromWasmAbi for GeneratorClient
impl FromWasmAbi for GeneratorClient
Source§impl IntoWasmAbi for GeneratorClient
impl IntoWasmAbi for GeneratorClient
Source§type Abi = WasmPtr<WasmRefCell<GeneratorClient>>
type Abi = WasmPtr<WasmRefCell<GeneratorClient>>
Source§impl LongRefFromWasmAbi for GeneratorClient
impl LongRefFromWasmAbi for GeneratorClient
Source§type Abi = WasmPtr<WasmRefCell<GeneratorClient>>
type Abi = WasmPtr<WasmRefCell<GeneratorClient>>
RefFromWasmAbi::AbiSource§type Anchor = RcRef<GeneratorClient>
type Anchor = RcRef<GeneratorClient>
RefFromWasmAbi::AnchorSource§unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
RefFromWasmAbi::ref_from_abiSource§impl OptionFromWasmAbi for GeneratorClient
impl OptionFromWasmAbi for GeneratorClient
Source§impl OptionIntoWasmAbi for GeneratorClient
impl OptionIntoWasmAbi for GeneratorClient
Source§impl RefFromWasmAbi for GeneratorClient
impl RefFromWasmAbi for GeneratorClient
Source§type Abi = WasmPtr<WasmRefCell<GeneratorClient>>
type Abi = WasmPtr<WasmRefCell<GeneratorClient>>
Self are recovered from.Source§type Anchor = RcRef<GeneratorClient>
type Anchor = RcRef<GeneratorClient>
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§impl RefMutFromWasmAbi for GeneratorClient
impl RefMutFromWasmAbi for GeneratorClient
Source§type Abi = WasmPtr<WasmRefCell<GeneratorClient>>
type Abi = WasmPtr<WasmRefCell<GeneratorClient>>
RefFromWasmAbi::AbiSource§type Anchor = RcRefMut<GeneratorClient>
type Anchor = RcRefMut<GeneratorClient>
RefFromWasmAbi::AnchorSource§unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
RefFromWasmAbi::ref_from_abiimpl SupportsConstructor for GeneratorClient
impl SupportsInstanceProperty for GeneratorClient
impl SupportsStaticProperty for GeneratorClient
Source§impl ToWasm for GeneratorClient
Available on crate feature wasm only.
impl ToWasm for GeneratorClient
wasm only.Source§impl TryFromJsValue for GeneratorClient
impl TryFromJsValue for GeneratorClient
Source§fn try_from_js_value_ref(value: &JsValue) -> Option<Self>
fn try_from_js_value_ref(value: &JsValue) -> Option<Self>
Source§const NULLABLE: bool = false
const NULLABLE: bool = false
Self accepts null as a distinct value space, as
Nullable<T> does. An enclosing Option then passes null through
instead of reading it as None, so Option<T> is itself nullable
exactly when T is not. JsValue does not set this: it accepts
null as one value among all of them, not as a distinct space, and
Option<JsValue> reads it as None like the ABI does. This is the
JS-value side of NullableFromWasmAbi, which claims null at the
ABI.Source§impl VectorFromWasmAbi for GeneratorClient
impl VectorFromWasmAbi for GeneratorClient
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[GeneratorClient]>
Source§impl VectorIntoWasmAbi for GeneratorClient
impl VectorIntoWasmAbi for GeneratorClient
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[GeneratorClient]>) -> Self::Abi
Source§impl WasmDescribe for GeneratorClient
impl WasmDescribe for GeneratorClient
Auto Trait Implementations§
impl !RefUnwindSafe for GeneratorClient
impl !UnwindSafe for GeneratorClient
impl Freeze for GeneratorClient
impl Send for GeneratorClient
impl Sync for GeneratorClient
impl Unpin for GeneratorClient
impl UnsafeUnpin for GeneratorClient
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
impl<T> MaybeFromWasmAbi for Twhere
T: OptionFromWasmAbi,
Source§type MaybeAbi = <T as FromWasmAbi>::Abi
type MaybeAbi = <T as FromWasmAbi>::Abi
Option<Self>.Source§unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn from_maybe_abi(js: <T as FromWasmAbi>::Abi) -> T
unsafe fn try_from_maybe_abi( js: <T as FromWasmAbi>::Abi, ) -> Result<T, &'static str>
Source§impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
impl<T> MaybeIntoWasmAbi for Twhere
T: OptionIntoWasmAbi,
Source§type MaybeAbi = <T as IntoWasmAbi>::Abi
type MaybeAbi = <T as IntoWasmAbi>::Abi
Option<Self>.Source§fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
fn into_maybe_abi(self) -> <T as IntoWasmAbi>::Abi
Option<Self> ABI.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.