#![warn(missing_docs)]
extern crate byteorder;
extern crate cfb;
extern crate encoding_rs;
extern crate uuid;
mod internal;
pub use crate::internal::category::Category;
pub use crate::internal::codepage::CodePage;
pub use crate::internal::column::{Column, ColumnBuilder, ColumnType};
pub use crate::internal::expr::Expr;
pub use crate::internal::language::Language;
pub use crate::internal::package::{Package, PackageType, Tables};
pub use crate::internal::query::{Delete, Insert, Select, Update};
pub use crate::internal::stream::{StreamReader, StreamWriter, Streams};
pub use crate::internal::summary::SummaryInfo;
pub use crate::internal::table::{Row, Rows, Table};
pub use crate::internal::value::Value;
use std::fs;
use std::io;
use std::path::Path;
pub fn open<P: AsRef<Path>>(path: P) -> io::Result<Package<fs::File>> {
Package::open(fs::File::open(path)?)
}
pub fn open_rw<P: AsRef<Path>>(path: P) -> io::Result<Package<fs::File>> {
Package::open(fs::OpenOptions::new().read(true).write(true).open(path)?)
}