Struct yrs::Transaction

source ·
pub struct Transaction(/* private fields */);
Expand description

Transaction is one of the core types in Yrs. All operations that need to touch or modify a document’s contents (a.k.a. block store), need to be executed in scope of a transaction.

Trait Implementations§

source§

impl ReadTxn for Transaction

source§

fn store(&self) -> &Store

source§

fn state_vector(&self) -> StateVector

Returns state vector describing current state of the updates.
source§

fn snapshot(&self) -> Snapshot

Returns a snapshot which describes a current state of updates and removals made within the corresponding document.
source§

fn encode_state_from_snapshot<E>( &self, snapshot: &Snapshot, encoder: &mut E ) -> Result<(), Error>
where E: Encoder,

Encodes all changes from current transaction block store up to a given snapshot. This enables to encode state of a document at some specific point in the past.
source§

fn encode_diff<E>(&self, state_vector: &StateVector, encoder: &mut E)
where E: Encoder,

Encodes the difference between remove peer state given its state_vector and the state of a current local peer
source§

fn encode_diff_v1(&self, state_vector: &StateVector) -> Vec<u8>

source§

fn encode_diff_v2(&self, state_vector: &StateVector) -> Vec<u8>

source§

fn encode_state_as_update<E>(&self, sv: &StateVector, encoder: &mut E)
where E: Encoder,

source§

fn encode_state_as_update_v1(&self, sv: &StateVector) -> Vec<u8>

source§

fn encode_state_as_update_v2(&self, sv: &StateVector) -> Vec<u8>

source§

fn is_alive<B>(&self, node: &B) -> bool
where B: SharedRef,

Check if given node is alive. Returns false if node has been deleted.
source§

fn root_refs(&self) -> RootRefs<'_>

Returns an iterator over top level (root) shared types available in current Doc.
source§

fn subdoc_guids(&self) -> SubdocGuids<'_>

Returns a collection of globally unique identifiers of sub documents linked within the structures of this document store.
source§

fn subdocs(&self) -> SubdocsIter<'_>

Returns a collection of sub documents linked within the structures of this document store.
source§

fn get_text<N>(&self, name: N) -> Option<TextRef>
where N: Into<Arc<str>>,

Returns a TextRef data structure stored under a given name. Text structures are used for collaborative text editing: they expose operations to append and remove chunks of text, which are free to execute concurrently by multiple peers over remote boundaries. Read more
source§

fn get_array<N>(&self, name: N) -> Option<ArrayRef>
where N: Into<Arc<str>>,

Returns an ArrayRef data structure stored under a given name. Array structures are used for storing a sequences of elements in ordered manner, positioning given element accordingly to its index. Read more
source§

fn get_map<N>(&self, name: N) -> Option<MapRef>
where N: Into<Arc<str>>,

Returns a MapRef data structure stored under a given name. Maps are used to store key-value pairs associated. These values can be primitive data (similar but not limited to a JavaScript Object Notation) as well as other shared types (Yrs maps, arrays, text structures etc.), enabling to construct a complex recursive tree structures. Read more
source§

fn get_xml_fragment<N>(&self, name: N) -> Option<XmlFragmentRef>
where N: Into<Arc<str>>,

Returns a XmlFragmentRef data structure stored under a given name. XML elements represent nodes of XML document. They can contain attributes (key-value pairs, both of string type) and other nested XML elements or text values, which are stored in their insertion order. Read more

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
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
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

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>,

§

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.