pub struct FieldConfig {Show 13 fields
pub schema: Value,
pub required: bool,
pub input: bool,
pub returned: bool,
pub default: Option<FieldDefault>,
pub validator: Option<FieldValidator>,
pub async_validator: Option<AsyncFieldValidator>,
pub output_validator: Option<FieldValidator>,
pub adapter_input_transform: Option<FieldOutputTransform>,
pub transform: Option<FieldTransform>,
pub output_transform: Option<FieldOutputTransform>,
pub on_update: Option<Arc<dyn Fn() -> JsValue + Send + Sync>>,
pub field_name: Option<String>,
}Expand description
Type/schema metadata does not implicitly validate input values.
Fields§
§schema: Value§required: bool§input: bool§returned: bool§default: Option<FieldDefault>§validator: Option<FieldValidator>§async_validator: Option<AsyncFieldValidator>§output_validator: Option<FieldValidator>Source declares output validators but does not invoke them at this stage.
adapter_input_transform: Option<FieldOutputTransform>§transform: Option<FieldTransform>§output_transform: Option<FieldOutputTransform>§on_update: Option<Arc<dyn Fn() -> JsValue + Send + Sync>>§field_name: Option<String>Physical column binding. Logical input/output names remain registry keys.
Implementations§
Source§impl FieldConfig
impl FieldConfig
pub fn new(schema: Value) -> Self
pub fn default_value(self, value: impl Into<JsValue>) -> Self
pub fn default_callback( self, callback: impl Fn() -> JsValue + Send + Sync + 'static, ) -> Self
pub const fn read_only(self) -> Self
pub fn validate( self, validator: impl Fn(&JsValue) -> Result<JsValue, String> + Send + Sync + 'static, ) -> Self
pub fn transform( self, transform: impl Fn(Option<&JsValue>) -> AuthResult<Option<JsValue>> + Send + Sync + 'static, ) -> Self
Sourcepub fn validate_async<F, Fut>(self, validate: F) -> Self
pub fn validate_async<F, Fut>(self, validate: F) -> Self
A Promise-style validator is invoked but rejected by endpoint parsing,
matching the published ASYNC_VALIDATION_NOT_SUPPORTED contract.
pub fn validate_output( self, validate: impl Fn(&JsValue) -> Result<JsValue, String> + Send + Sync + 'static, ) -> Self
Sourcepub fn transform_adapter_input<F, Fut>(self, transform: F) -> Self
pub fn transform_adapter_input<F, Fut>(self, transform: F) -> Self
Await this callback only at the actual adapter binding boundary. For a Source input transform shared with endpoint parsing, use a synchronous validator to select its parsed value before the awaited storage phase.
pub fn transform_output<F, Fut>(self, transform: F) -> Self
pub fn on_update( self, callback: impl Fn() -> JsValue + Send + Sync + 'static, ) -> Self
pub fn field_name(self, name: impl Into<String>) -> Self
Trait Implementations§
Source§impl Clone for FieldConfig
impl Clone for FieldConfig
Auto Trait Implementations§
impl !RefUnwindSafe for FieldConfig
impl !UnwindSafe for FieldConfig
impl Freeze for FieldConfig
impl Send for FieldConfig
impl Sync for FieldConfig
impl Unpin for FieldConfig
impl UnsafeUnpin for FieldConfig
Blanket Implementations§
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
Mutably borrows from an owned value. Read more