pub enum WritePayload {
Table(TableEdit),
Replace {
search: String,
replace: String,
match_case: bool,
},
Append {
text: String,
},
Insert {
anchor: String,
side: Side,
text: String,
match_case: bool,
selection: SegmentSelection,
},
Format {
from: String,
to: Option<String>,
match_case: bool,
style: StylePatch,
},
NamedRange {
scope: Scope,
mutation: Mutation,
},
Delete {
from: String,
to: Option<String>,
match_case: bool,
selection: SegmentSelection,
},
List {
from: String,
to: Option<String>,
preset: Option<BulletPreset>,
match_case: bool,
},
}Expand description
What to mutate.
An enum carrying its own data rather than a verb discriminant plus a bag
of Options, so “a replace with no search text” is unrepresentable. This
is the one place this module improves on sheets/write.rs’s template
rather than copying it: that module’s WriteVerb::Clear sits beside a
values field which must be empty, and describe has to special-case
the pairing.
Variants§
Table(TableEdit)
Typed table structural mutation.
Replace
Replace every occurrence of search with replace.
Fields
Append
Append text to the end of the document body.
Insert
Insert next to a unique anchor in tab bodies or an existing segment.
Fields
selection: SegmentSelectionExisting non-body segment selector; default addresses tab bodies.
Format
Apply a bounded style patch to a unique anchored range.
Fields
style: StylePatchExplicit style values.
NamedRange
A scoped named-range metadata or content mutation.
Fields
Delete
Delete a unique match or an inclusive pair of anchors.
Fields
selection: SegmentSelectionExisting non-body segment selector; default addresses tab bodies.
List
Apply or remove list formatting on whole anchor-selected paragraphs.
Implementations§
Source§impl WritePayload
impl WritePayload
Sourcepub const fn gate_operation(&self) -> DriveOperation
pub const fn gate_operation(&self) -> DriveOperation
Permission vocabulary is independent of the request’s wire operation. List creation/removal uses DocsWrite: removal preserves prose, while creation’s leading-tab removal is an explicit part of formatting consent.
Trait Implementations§
Source§impl Clone for WritePayload
impl Clone for WritePayload
Source§impl Debug for WritePayload
impl Debug for WritePayload
impl Eq for WritePayload
Source§impl PartialEq for WritePayload
impl PartialEq for WritePayload
impl StructuralPartialEq for WritePayload
Auto Trait Implementations§
impl Freeze for WritePayload
impl RefUnwindSafe for WritePayload
impl Send for WritePayload
impl Sync for WritePayload
impl Unpin for WritePayload
impl UnsafeUnpin for WritePayload
impl UnwindSafe for WritePayload
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> 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 more