Skip to content

@graphty/graphty-element / catalog / WithdrawnCapability

Interface: WithdrawnCapability ​

Defined in: graphty-element/src/catalog/unreachable.ts:399

One thing this package used to publish and no longer does, and what to reach for instead.

WHY A WITHDRAWAL NEEDS A RECORD AT ALL. A style channel can be ADDED in a minor release and a schema field can only be REMOVED in a major one, so a withdrawal happens rarely and lands on somebody who wrote against it once and has not read the package since. Deleting the field and saying nothing leaves that consumer with a parse error and no sentence anywhere that explains it -- the schema is strict, so a document carrying a withdrawn key stops parsing rather than being ignored, which is deliberate and is exactly the moment the reason has to be findable.

WHERE IT IS READ. catalog/index.ts publishes this list, so a settings panel, a plugin or a model can tell a reader why a name it remembers is gone without anybody rewriting the explanation. test/contracts/withdrawn-capabilities.test.ts requires each entry to be really withdrawn -- not a channel any more, and not a field the schema still accepts -- so an entry cannot outlive the removal it describes, on the same terms as every waiver above.

Properties ​

instead ​

readonly instead: string

Defined in: graphty-element/src/catalog/unreachable.ts:407

What to do instead, for somebody who has it in a style document or a layer today.


reason ​

readonly reason: string

Defined in: graphty-element/src/catalog/unreachable.ts:405

Why it went, in terms of what a consumer who used it was actually getting.


subject ​

readonly subject: string

Defined in: graphty-element/src/catalog/unreachable.ts:401

What was withdrawn, spelled the way it was published: a channel name or a style path.


withdrawnIn ​

readonly withdrawnIn: string

Defined in: graphty-element/src/catalog/unreachable.ts:403

The release it went in, as MAJOR.MINOR.