1#![deny(unsafe_code)]
4
5#[cfg(test)]
6use cranpose_core::{location_key, Composition, MemoryApplier};
7
8pub mod file_picker;
9pub mod http;
10#[cfg(not(target_arch = "wasm32"))]
11pub mod peer;
12pub mod theme;
13pub mod uri_handler;
14pub mod writable_folder;
15
16pub use file_picker::{
17 clear_platform_file_picker, default_file_picker, local_file_picker, set_platform_file_picker,
18 FileFilter, FilePicker, FilePickerError, FilePickerOptions, FilePickerRef, FolderStream,
19 FolderStreamRef, PickedEntry, PickedEntryRef, PickedKind, PickerFuture, ProvideFilePicker,
20 ResumedPick,
21};
22pub use http::{
23 default_http_client, local_http_client, map_ordered_concurrent, HttpClient, HttpClientRef,
24 HttpError, HttpFuture,
25};
26#[cfg(not(target_arch = "wasm32"))]
27pub use peer::{
28 content_length, fetch_range, fetch_to_writer, ByteSource, BytesSource, FetchResult, PeerError,
29 PeerServer, SourceResolver,
30};
31pub use theme::{
32 default_system_theme, isSystemInDarkTheme, local_system_theme, ProvideSystemTheme, SystemTheme,
33};
34pub use uri_handler::{
35 default_uri_handler, local_uri_handler, ProvideUriHandler, UriHandler, UriHandlerError,
36 UriHandlerRef,
37};
38pub use writable_folder::{
39 clear_platform_writable_folder_picker, open_writable_folder, pick_writable_folder,
40 set_platform_writable_folder_picker, set_writable_folder_store_factory,
41 take_resumed_writable_folder, FolderError, WritableFolderPicker, WritableFolderPickerRef,
42 WritableFolderStore, WritableFolderStoreRef,
43};
44
45#[cfg(test)]
47pub(crate) type TestComposition = Composition<MemoryApplier>;
48
49#[cfg(test)]
51pub(crate) fn run_test_composition(build: impl FnMut()) -> TestComposition {
52 let mut composition = Composition::new(MemoryApplier::new());
53 composition
54 .render(location_key(file!(), line!(), column!()), build)
55 .expect("initial render succeeds");
56 composition
57}