openpathresolver/lib.rs
1//! Find paths based on a structured query or build out a tree in the filesystem.
2//!
3//! The open path resolver contains two parts. The path resolver is responsible for finding paths
4//! or the elements used to find a path. This can be used either to get where to save a file or
5//! where to try to find a file to load.
6//!
7//! The workspace resolver is responsible for building out a tree for a given query. For example,
8//! if there is a location to save published elements and workspaces for building out the elements,
9//! and a user needs to build out the "Widget" element, then the system can automatically build out
10//! the file and folder structure needed for the user to do their work.
11
12#![deny(missing_docs)]
13#![deny(rustdoc::missing_crate_level_docs)]
14#![forbid(unsafe_code)]
15
16mod cache;
17mod error;
18mod path_resolver;
19mod types;
20mod workspace_resolver;
21
22pub use error::Error;
23pub use types::{
24 Config, ConfigBuilder, FieldKey, MetadataValue, Owner, PathItemArgs, PathType, PathValue,
25 Permission, ResolvedPathItem, Resolver, TemplateValue,
26};
27
28pub use path_resolver::{find_paths, get_fields, get_key, get_path};
29pub use workspace_resolver::{CreateWorkspaceIoFunction, create_workspace, get_workspace};