hexpm/ldoc0.1.0ldoc

ldoc-store

Read and immutably publish exact-release native docsets as readable literal snapshots, retaining complete producer records.

get/2function

get/2

Read the native snapshot for exact RELEASE beneath ROOT.

ROOT is a nonempty binary or flat character-list path; lookup does not create directories. RELEASE must be the exact supported key. The complete snapshot is parsed as one literal form and checked for exact sorted unique module identities and supported terms without evaluation. Success returns {ok, Docset} and retains complete producer records. Missing data, invalid root/release/schema, malformed or nonregular snapshots, unsupported terms, and store IO failures return their specific tagged errors. Trusted atom reading is allowed; hostile-parent and symlink isolation are not promised.

put/2function

put/2

Publish DOCSET immutably beneath ROOT using its exact release key.

The docset and module identities are validated, then every producer term must fit the supported literal snapshot subset; unsupported data fails rather than being stripped. ROOT directories may be created. Success and identical retries return ok; different data for an existing key returns {error, {release_conflict, Release}}. Publication uses a same-directory temporary file and hard-link claim. Validation, encoding, conflict, and store IO failures are tagged. This does not promise universal power-loss atomicity or hostile-parent isolation.