cdm_data_loaders.converters.core.extensions ¶
Explicit, immutable extension namespaces validated using JSON Schema.
ExtensionError ¶
Bases: ConversionError
An extension namespace or payload violates its registered contract.
ExtensionSpec
dataclass
¶
An exact namespace spelling and its complete validation schema.
Source code in src/cdm_data_loaders/converters/core/extensions.py
schema
property
¶
Return the validated, deep-frozen Draft 2020-12 schema, loading lazily if needed.
Returns:
| Type | Description |
|---|---|
Mapping[str, Value] | bool
|
immutable validation schema |
__init__ ¶
__init__(
namespace: str,
schema: (
Mapping[str, object] | bool | ExtensionSchemaLoader
),
) -> None
Validate the namespace and eagerly or lazily own a valid Draft 2020-12 schema.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
namespace
|
str
|
|
required |
schema
|
Mapping[str, object] | bool | ExtensionSchemaLoader
|
Draft 2020-12 JSON Schema mapping, boolean schema, or zero-arg lazy loader |
required |
Raises:
| Type | Description |
|---|---|
ExtensionError
|
if |
Source code in src/cdm_data_loaders/converters/core/extensions.py
__eq__ ¶
Compare extension specs by namespace and resolved validation schema.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other
|
object
|
object to compare against |
required |
Returns:
| Type | Description |
|---|---|
bool
|
|
Source code in src/cdm_data_loaders/converters/core/extensions.py
__hash__ ¶
Hash extension spec by namespace and resolved validation schema.
Returns:
| Type | Description |
|---|---|
int
|
hash value |
ExtensionRegistry
dataclass
¶
A closed set of namespace contracts; additions produce a new registry.
Source code in src/cdm_data_loaders/converters/core/extensions.py
__post_init__ ¶
Reject duplicate contracts and isolate the declaration sequence.
Source code in src/cdm_data_loaders/converters/core/extensions.py
register ¶
Add a contract, requiring an explicit flag to replace an existing one.
Source code in src/cdm_data_loaders/converters/core/extensions.py
validate ¶
Validate every namespace and return an isolated immutable payload.
Source code in src/cdm_data_loaders/converters/core/extensions.py
extend_payload ¶
Register additional exact payload keys on a closed object namespace.
Source code in src/cdm_data_loaders/converters/core/extensions.py
Extensions
dataclass
¶
Bases: Mapping[str, Value]
A validated immutable mapping that retains its validation contract.
Source code in src/cdm_data_loaders/converters/core/extensions.py
validated_extensions ¶
Retain an already validated custom contract or apply the default registry.