docx_rs/documents/
hyperlink_id.rs

1#[cfg(not(test))]
2use std::sync::atomic::AtomicUsize;
3#[cfg(not(test))]
4static HYPERLINK_ID: AtomicUsize = AtomicUsize::new(1);
5
6#[cfg(not(test))]
7pub fn generate_hyperlink_id() -> usize {
8    use std::sync::atomic::Ordering;
9
10    let id = HYPERLINK_ID.load(Ordering::Relaxed);
11    HYPERLINK_ID.store(id.wrapping_add(1), Ordering::Relaxed);
12    id
13}
14
15#[cfg(test)]
16pub fn generate_hyperlink_id() -> usize {
17    123
18}
19
20pub fn create_hyperlink_rid(id: usize) -> String {
21    format!("rIdHyperlink{}", id)
22}