Skip to main content

PasswordGeneratorRequest

Struct PasswordGeneratorRequest 

Source
pub struct PasswordGeneratorRequest {
Show 13 fields pub lowercase: bool, pub uppercase: bool, pub numbers: bool, pub special: bool, pub length: u8, pub avoid_ambiguous: bool, pub min_lowercase: Option<u8>, pub min_uppercase: Option<u8>, pub min_number: Option<u8>, pub min_special: Option<u8>, pub custom_required_chars: Option<String>, pub custom_allowed_chars: Option<String>, pub max_consecutive: Option<u8>,
}
Expand description

Password generator request options.

Fields§

§lowercase: bool

Include lowercase characters (a-z).

§uppercase: bool

Include uppercase characters (A-Z).

§numbers: bool

Include numbers (0-9).

§special: bool

Include special characters: ! @ # $ % ^ & *

§length: u8

The length of the generated password. Note that the password length must be greater than the sum of all the minimums.

§avoid_ambiguous: bool

When set to true, the generated password will not contain ambiguous characters. The ambiguous characters are: I, O, l, 0, 1

§min_lowercase: Option<u8>

The minimum number of lowercase characters in the generated password. When set, the value must be between 1 and 9. This value is ignored if lowercase is false.

§min_uppercase: Option<u8>

The minimum number of uppercase characters in the generated password. When set, the value must be between 1 and 9. This value is ignored if uppercase is false.

§min_number: Option<u8>

The minimum number of numbers in the generated password. When set, the value must be between 1 and 9. This value is ignored if numbers is false.

§min_special: Option<u8>

The minimum number of special characters in the generated password. When set, the value must be between 1 and 9. This value is ignored if special is false.

§custom_required_chars: Option<String>

Custom characters that must each be available to the generator and from which at least one character is guaranteed to appear in the output. Each character of the string is treated as a member of the custom required set. Non-ASCII-printable characters are silently dropped during validation.

This is primarily used by the HTML passwordrules parser to honor custom required character classes (e.g. required: [!#$]).

§custom_allowed_chars: Option<String>

Custom characters that are added to the overall pool of allowed characters, but are not required to appear. Each character of the string is treated as a member of the custom allowed set. Non-ASCII-printable characters are silently dropped during validation.

This is primarily used by the HTML passwordrules parser to honor custom allowed character classes (e.g. allowed: [-_.]).

§max_consecutive: Option<u8>

The maximum number of consecutive identical characters allowed in the generated password, as expressed by the HTML passwordrules max-consecutive property. None disables the check; Some(0) is invalid and rejected at request validation. Enforced via re-shuffle with a single-pass repair fallback for degenerate pool sizes.

Implementations§

Source§

impl PasswordGeneratorRequest

Source

fn validate_options(self) -> Result<PasswordGeneratorOptions, PasswordError>

Validates the request and returns an immutable struct with valid options to use with the password generator.

Trait Implementations§

Source§

impl<UT> ConvertError<UT> for PasswordGeneratorRequest

Source§

fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>

Source§

impl Debug for PasswordGeneratorRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PasswordGeneratorRequest

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for PasswordGeneratorRequest

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<UT> FfiConverter<UT> for PasswordGeneratorRequest

Source§

const TYPE_ID_META: MetadataBuffer

Type ID metadata, serialized into a [MetadataBuffer].
Source§

type FfiType = RustBuffer

The low-level type used for passing values of this type over the FFI. Read more
Source§

fn lower(v: Self) -> RustBuffer

Lower a rust value of the target type, into an FFI value of type Self::FfiType. Read more
Source§

fn try_lift(buf: RustBuffer) -> Result<Self>

Lift a rust value of the target type, from an FFI value of type Self::FfiType. Read more
Source§

fn write(obj: Self, buf: &mut Vec<u8>)

Write a rust value into a buffer, to send over the FFI in serialized form. Read more
Source§

fn try_read(buf: &mut &[u8]) -> Result<Self>

Read a rust value from a buffer, received over the FFI in serialized form. Read more
Source§

impl FromWasm for PasswordGeneratorRequest

Available on crate feature wasm only.
Source§

type Wire = Ts<PasswordGeneratorRequest>

The type JavaScript actually passes.
Source§

fn from_wire(wire: Self::Wire) -> Result<Self, WireError>

Recovers the Rust value from the wire value.
Source§

impl JsonSchema for PasswordGeneratorRequest

Source§

fn schema_name() -> Cow<'static, str>

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn inline_schema() -> bool

Whether JSON Schemas generated for this type should be included directly in parent schemas, rather than being re-used where possible using the $ref keyword. Read more
Source§

impl<UT> Lift<UT> for PasswordGeneratorRequest

Source§

type FfiType = <PasswordGeneratorRequest as FfiConverter<UT>>::FfiType

Source§

fn try_lift(v: Self::FfiType) -> Result<Self>

Source§

fn try_read(buf: &mut &[u8]) -> Result<Self>

§

fn try_lift_from_rust_buffer(v: RustBuffer) -> Result<Self, Error>

Convenience method
Source§

impl<UT> LiftRef<UT> for PasswordGeneratorRequest

Source§

impl<UT> LiftReturn<UT> for PasswordGeneratorRequest

Source§

type ReturnType = <PasswordGeneratorRequest as Lift<UT>>::FfiType

FFI return type for trait interfaces
Source§

fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>

Lift a successfully returned value from a trait interface
§

fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self

Lift a foreign returned value from a trait interface Read more
§

fn lift_error(_buf: RustBuffer) -> Self

Lift a Rust value for a callback interface method error result Read more
§

fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self

Lift a Rust value for an unexpected callback interface error Read more
Source§

impl<UT> Lower<UT> for PasswordGeneratorRequest

Source§

type FfiType = <PasswordGeneratorRequest as FfiConverter<UT>>::FfiType

Source§

fn lower(obj: Self) -> Self::FfiType

Source§

fn write(obj: Self, buf: &mut Vec<u8>)

§

fn lower_into_rust_buffer(obj: Self) -> RustBuffer

Convenience method
Source§

impl<UT> LowerError<UT> for PasswordGeneratorRequest

Source§

fn lower_error(obj: Self) -> RustBuffer

Lower this value for scaffolding function return Read more
Source§

impl<UT> LowerReturn<UT> for PasswordGeneratorRequest

Source§

type ReturnType = <PasswordGeneratorRequest as Lower<UT>>::FfiType

The type that should be returned by scaffolding functions for this type. Read more
Source§

fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>

Lower the return value from an scaffolding call Read more
§

fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>

Lower the return value for failed argument lifts Read more
Source§

impl Serialize for PasswordGeneratorRequest

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl ToWasm for PasswordGeneratorRequest

Available on crate feature wasm only.
Source§

type Wire = Ts<PasswordGeneratorRequest>

The type JavaScript actually receives.
Source§

fn to_wire(self) -> Result<Self::Wire, WireError>

Converts the Rust value into the wire value.
Source§

impl Tsify for PasswordGeneratorRequest

Source§

const DECL: &'static str = "/**\n * Password generator request options.\n */\nexport interface PasswordGeneratorRequest {\n /**\n * Include lowercase characters (a-z).\n */\n lowercase: boolean;\n /**\n * Include uppercase characters (A-Z).\n */\n uppercase: boolean;\n /**\n * Include numbers (0-9).\n */\n numbers: boolean;\n /**\n * Include special characters: ! @ # $ % ^ & *\n */\n special: boolean;\n /**\n * The length of the generated password.\n * Note that the password length must be greater than the sum of all the minimums.\n */\n length: number;\n /**\n * When set to true, the generated password will not contain ambiguous characters.\n * The ambiguous characters are: I, O, l, 0, 1\n */\n avoidAmbiguous: boolean;\n /**\n * The minimum number of lowercase characters in the generated password.\n * When set, the value must be between 1 and 9. This value is ignored if lowercase is false.\n */\n minLowercase: number | undefined;\n /**\n * The minimum number of uppercase characters in the generated password.\n * When set, the value must be between 1 and 9. This value is ignored if uppercase is false.\n */\n minUppercase: number | undefined;\n /**\n * The minimum number of numbers in the generated password.\n * When set, the value must be between 1 and 9. This value is ignored if numbers is false.\n */\n minNumber: number | undefined;\n /**\n * The minimum number of special characters in the generated password.\n * When set, the value must be between 1 and 9. This value is ignored if special is false.\n */\n minSpecial: number | undefined;\n /**\n * Custom characters that must each be available to the generator and from which at least\n * one character is guaranteed to appear in the output. Each character of the string is\n * treated as a member of the custom required set. Non-ASCII-printable characters are\n * silently dropped during validation.\n *\n * This is primarily used by the HTML `passwordrules` parser to honor custom required\n * character classes (e.g. `required: [!#$]`).\n */\n customRequiredChars?: string;\n /**\n * Custom characters that are added to the overall pool of allowed characters, but are not\n * required to appear. Each character of the string is treated as a member of the custom\n * allowed set. Non-ASCII-printable characters are silently dropped during validation.\n *\n * This is primarily used by the HTML `passwordrules` parser to honor custom allowed\n * character classes (e.g. `allowed: [-_.]`).\n */\n customAllowedChars?: string;\n /**\n * The maximum number of consecutive identical characters allowed in the generated password,\n * as expressed by the HTML `passwordrules` `max-consecutive` property. `None` disables\n * the check; `Some(0)` is invalid and rejected at request validation. Enforced via\n * re-shuffle with a single-pass repair fallback for degenerate pool sizes.\n */\n maxConsecutive?: number;\n}"

Source§

const SERIALIZATION_CONFIG: SerializationConfig

Source§

type JsType = JsType

Must be a type imported through #[wasm_bindgen] extern "C" { .. }. [Ts<T>] is #[repr(transparent)] over this and passes it across the ABI as a plain JS handle, which any other representation would break.
§

fn into_js(&self) -> Result<Self::JsType, Error>
where Self: Serialize,

§

fn from_js<T>(js: T) -> Result<Self, Error>
where T: Into<JsValue>, Self: DeserializeOwned,

§

fn into_ts(&self) -> Result<Ts<Self>, Error>
where Self: Sized + Serialize,

Calls Ts::from_rust on self, returning a Result<Ts<Self>, crate::Error>. Read more
Source§

impl<UT> TypeId<UT> for PasswordGeneratorRequest

Source§

const TYPE_ID_META: MetadataBuffer

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> CompatExt for T

§

fn compat(self) -> Compat<T> ⓘ
where T: Sized,

Applies the [Compat] adapter by value. Read more
§

fn compat_ref(&self) -> Compat<&T> ⓘ

Applies the [Compat] adapter by shared reference. Read more
§

fn compat_mut(&mut self) -> Compat<&mut T> ⓘ

Applies the [Compat] adapter by mutable reference. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ

Consume a handle, getting back the initial Arc<> Read more
§

unsafe fn get_arc(handle: Handle) -> Arc<Self> ⓘ

Get a clone of the Arc<> using a “borrowed” handle. Read more
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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 more
§

impl<T> Persist for T
where T: Serialize + DeserializeOwned + Send + Sync + 'static,

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more