#[derive(Clone, Debug, PartialEq, Eq, Hash)]
pub struct RelId(String);
impl RelId {
pub fn new(id: impl Into<String>) -> Self {
Self(id.into())
}
pub fn as_str(&self) -> &str {
&self.0
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub struct NoteId(i64);
impl NoteId {
pub fn new(id: i64) -> Self {
Self(id)
}
pub fn value(self) -> i64 {
self.0
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub struct BookmarkId(i64);
impl BookmarkId {
pub fn new(id: i64) -> Self {
Self(id)
}
pub fn value(self) -> i64 {
self.0
}
}
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
pub struct StyleId(String);
impl StyleId {
pub fn new(id: impl Into<String>) -> Self {
Self(id.into())
}
pub fn as_str(&self) -> &str {
&self.0
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub struct AbstractNumId(i64);
impl AbstractNumId {
pub fn new(id: i64) -> Self {
Self(id)
}
pub fn value(self) -> i64 {
self.0
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub struct NumId(i64);
impl NumId {
pub fn new(id: i64) -> Self {
Self(id)
}
pub fn value(self) -> i64 {
self.0
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub struct NumPicBulletId(i64);
impl NumPicBulletId {
pub fn new(id: i64) -> Self {
Self(id)
}
pub fn value(self) -> i64 {
self.0
}
}
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
pub struct VmlShapeId(String);
impl VmlShapeId {
pub fn new(id: impl Into<String>) -> Self {
Self(id.into())
}
pub fn as_str(&self) -> &str {
&self.0
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub struct RevisionSaveId(u32);
impl RevisionSaveId {
pub fn value(self) -> u32 {
self.0
}
pub fn from_hex(s: &str) -> Option<Self> {
u32::from_str_radix(s, 16).ok().map(Self)
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)]
pub struct RevisionIds {
pub r: Option<RevisionSaveId>,
pub r_pr: Option<RevisionSaveId>,
pub del: Option<RevisionSaveId>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)]
pub struct ParagraphRevisionIds {
pub r: Option<RevisionSaveId>,
pub r_default: Option<RevisionSaveId>,
pub p: Option<RevisionSaveId>,
pub r_pr: Option<RevisionSaveId>,
pub del: Option<RevisionSaveId>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)]
pub struct TableRowRevisionIds {
pub r: Option<RevisionSaveId>,
pub r_pr: Option<RevisionSaveId>,
pub del: Option<RevisionSaveId>,
pub tr: Option<RevisionSaveId>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)]
pub struct SectionRevisionIds {
pub r: Option<RevisionSaveId>,
pub r_pr: Option<RevisionSaveId>,
pub sect: Option<RevisionSaveId>,
}