DocShell.Generate.Collection.Descriptor (DocShell v0.4.0)

Copy Markdown View Source

Validates caller-owned collection identity independently of corpus I/O.

The public struct stays in DocShell.Generate.Collection for compatibility. This module handles only descriptor fields and their portable representation; it never reads artifacts, resolves source revisions, or contacts source URLs. Atom and string field names are accepted, but aliases that collide are errors so caller identity cannot depend on map enumeration order.

Summary

Functions

Normalizes a descriptor, returning structured validation errors.

Removes local import location and nil fields from validated identity.

Functions

new(descriptor)

@spec new(term()) :: {:ok, DocShell.Generate.Collection.t()} | {:error, term()}

Normalizes a descriptor, returning structured validation errors.

portable(descriptor)

@spec portable(DocShell.Generate.Collection.t()) :: map()

Removes local import location and nil fields from validated identity.