MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / into_change_ops

Method into_change_ops

atomic-core/src/record/workflow/crdt/builder/trunk.rs:122–140  ·  view source on GitHub ↗

Consume and convert to the serializable `change::ops::FileOps` type.

(self)

Source from the content-addressed store, hash-verified

120
121 /// Consume and convert to the serializable `change::ops::FileOps` type.
122 pub fn into_change_ops(self) -> change_ops::FileOps {
123 let mut result = change_ops::FileOps::new(self.trunk_id, self.path, self.trunk_op);
124
125 for line_op in self.line_ops {
126 let old_line_num = line_op.old_line_num();
127 let new_line_num = line_op.new_line_num();
128 let mut change_line_op =
129 change_ops::LineOps::new(line_op.branch_id(), line_op.into_operation());
130 if let Some(n) = old_line_num {
131 change_line_op = change_line_op.with_old_line_num(n);
132 }
133 if let Some(n) = new_line_num {
134 change_line_op = change_line_op.with_new_line_num(n);
135 }
136 result.add_line_op(change_line_op);
137 }
138
139 result
140 }
141}
142
143// ============================================================================

Callers 8

build_opsFunction · 0.80
tokenize_single_fileFunction · 0.80

Calls 7

old_line_numMethod · 0.45
new_line_numMethod · 0.45
branch_idMethod · 0.45
into_operationMethod · 0.45
with_old_line_numMethod · 0.45
with_new_line_numMethod · 0.45
add_line_opMethod · 0.45

Tested by

no test coverage detected