com.snowplowanalytics.iglu.core.typeclasses
Type members
Classlikes
This type class can be used to extract a SchemaKey from a piece of self-describing data.
This type class can be used to extract a SchemaKey from a piece of self-describing data.
The SchemaKey contains details about the schema of the data.
An example input is:
{
"schema": "iglu:com.vendor/user_entity/jsonschema/1-0-0",
"data": {
"id": "78abb66e-a5ad-4772-96ec-d880650cd0b2",
"email": "[email protected]"
}
}
where "schema" contains information about the vendor, name, format and version of the schema and can be extracted as SchemaKey.
- Type parameters:
- E
Any type that can include a reference to its own schema. It's mostly intended for various JSON ADTs, like Json4s, Jackson, Circe, Argonaut et al, but can also be something like Thrift, Map[String, String], etc.
This type class can be used to extract a SchemaMap from a self-describing schema.
This type class can be used to extract a SchemaMap from a self-describing schema.
The SchemaMap contains details about the schema itself that allow it to be identified.
An example input is:
{
"$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#",
"description": "Schema for a user entity",
"self": {
"vendor": "com.vendor",
"name": "user_entity",
"format": "jsonschema",
"version": "1-0-0"
},
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
where "self" contains information about the vendor, name, format and version of the schema and can be extracted as SchemaMap.
- Type parameters:
- E
Any schema that can include a reference to itself. It's mostly intended for JSON schema, but can also be something like Thrift, Map[String, String], etc.
Type class to render self-describing data into it base type D
.
Type class to render self-describing data into it base type D
.
- Type parameters:
- D
Any generic type that can represent a piece of self-describing data. (See also ExtractSchemaKey.)
Type class to render a self-describing schema into its base type S
.
Type class to render a self-describing schema into its base type S
.
- Type parameters:
- S
Any generic type that can represent a self-describing schema. (See also ExtractSchemaMap.)
Type class to render self-describing data into String
.
Type class to render self-describing data into String
.
- Type parameters:
- D
Any generic type that can represent a piece of self-describing data. (See also NormalizeData.)
Type class to render a self-describing schema into String
.
Type class to render a self-describing schema into String
.
- Type parameters:
- S
Any generic type that can represent a self-describing schema. (See also NormalizeSchema.)
A mixin for ExtractSchemaKey, signalling that this particular instance of ExtractSchemaKey is intended for extracting data, not schema.
A mixin for ExtractSchemaKey, signalling that this particular instance of ExtractSchemaKey is intended for extracting data, not schema.
An example input is:
{
"schema": "iglu:com.vendor/user_entity/jsonschema/1-0-0",
"data": {
"id": "78abb66e-a5ad-4772-96ec-d880650cd0b2",
"email": "[email protected]"
}
}
which contains information about a user that can be extracted as SelfDescribingData.
A mixin for ExtractSchemaMap, signalling that this particular instance of ExtractSchemaMap is intended for extracting schema, not data.
A mixin for ExtractSchemaMap, signalling that this particular instance of ExtractSchemaMap is intended for extracting schema, not data.
An example input is:
{
"$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#",
"description": "Schema for a user entity",
"self": {
"vendor": "com.vendor",
"name": "user_entity",
"format": "jsonschema",
"version": "1-0-0"
},
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
which contains a schema that can be extracted as a SelfDescribingSchema.