This type class can be instantiated for any type E which after
attaching SchemaKey to it will remain same E (like Self-describing
JSON - same JValue before and after).
Unlike ExtractSchemaKey this type class makes possible also to attach
description to entity, not just extract it.
Instance of this type class also need to decide *how* to attach
description to entity as for entities of same type SchemaKey
could be attached differently. For e.g. schema key for
Self-describing JSON data and self key for JSON Schema,
so different instances should be written for different purposes.
This particularly useful for apps creating, sending or storing
Self-describing data (like trackers), or in other words to *attach*
description to data
E
entity type, mostly intended for various JSON ADTs,
like Json4s, Jackson, circe, Argonaut etc,
but also can be anything that can bear reference to
its description and at the same time remain same type
This type class can be instantiated for any type
E
which after attaching SchemaKey to it will remain sameE
(like Self-describing JSON - sameJValue
before and after).Unlike ExtractSchemaKey this type class makes possible also to attach description to entity, not just extract it.
Instance of this type class also need to decide *how* to attach description to entity as for entities of same type SchemaKey could be attached differently. For e.g.
schema
key for Self-describing JSON data andself
key for JSON Schema, so different instances should be written for different purposes.This particularly useful for apps creating, sending or storing Self-describing data (like trackers), or in other words to *attach* description to data
entity type, mostly intended for various JSON ADTs, like Json4s, Jackson, circe, Argonaut etc, but also can be anything that can bear reference to its description and at the same time remain same type