#![doc = include_str!("../README.md")]
pub use bindiff::{PatchType, PatchTypeCli};
pub use sqlx;
mod cache;
pub use cache::{CacheEntryMeta, CachedTile, UnixSeconds};
mod cache_pool;
pub use cache_pool::MbtilesCache;
mod copier;
pub use copier::{CopyDuplicateMode, MbtilesCopier};
mod errors;
pub use errors::{MbtError, MbtResult};
mod mbtiles;
pub use mbtiles::{CopyType, MbtTypeCli, Mbtiles};
mod metadata;
pub use metadata::{Metadata, anonymous_mbtiles, temp_named_mbtiles};
mod pack;
pub use pack::{PackCompression, TileScheme, pack, unpack};
mod patcher;
pub use patcher::apply_patch;
mod pool;
pub use pool::MbtilesPool;
mod queries;
pub use queries::*;
mod schemas;
pub use schemas::*;
mod summary;
mod update;
pub use update::UpdateZoomType;
mod bindiff;
pub use bindiff::get_patch_type;
#[cfg(feature = "transcode")]
mod transcoder;
#[cfg(feature = "transcode")]
pub use transcoder::{MbtilesTranscoder, TranscodeStats};
mod validation;
pub use martin_tile_utils::{Tile, TileCoord};
pub use validation::{
AGG_TILES_HASH, AGG_TILES_HASH_AFTER_APPLY, AGG_TILES_HASH_BEFORE_APPLY, AggHashType,
HASH_ALGORITHM, HashAlgorithm, IntegrityCheckType, MbtType, NormalizedSchema,
calc_agg_tiles_hash,
};
#[inline]
#[must_use]
pub fn invert_y_value(zoom: u8, y: u32) -> u32 {
(1u32 << zoom) - 1 - y
}