Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Spec schema = Spec {}
- data SchemaWithURI schema = SchemaWithURI {}
- type URISchemaMap schema = HashMap Text schema
- data ReferencedSchemas schema = ReferencedSchemas {
- _rsStarting :: !schema
- _rsSchemaMap :: !(URISchemaMap schema)
- data HTTPFailure
- referencesViaHTTP' :: forall schema. FromJSON schema => Spec schema -> SchemaWithURI schema -> IO (Either HTTPFailure (ReferencedSchemas schema))
- data FilesystemFailure
- referencesViaFilesystem' :: forall schema. FromJSON schema => Spec schema -> SchemaWithURI schema -> IO (Either FilesystemFailure (ReferencedSchemas schema))
- referencesMethodAgnostic :: forall schema. FromJSON schema => (Text -> IO ByteString) -> Spec schema -> SchemaWithURI schema -> IO (Either Text (ReferencedSchemas schema))
- foldFunction :: forall schema. FromJSON schema => (Text -> IO ByteString) -> Spec schema -> URISchemaMap schema -> SchemaWithURI schema -> IO (Either Text (URISchemaMap schema))
- includeSubschemas :: forall schema. Spec schema -> SchemaWithURI schema -> [SchemaWithURI schema]
Types
data SchemaWithURI schema Source
SchemaWithURI | |
|
Eq schema => Eq (SchemaWithURI schema) Source | |
Show schema => Show (SchemaWithURI schema) Source |
type URISchemaMap schema = HashMap Text schema Source
Keys are URIs (without URI fragments).
data ReferencedSchemas schema Source
ReferencedSchemas | |
|
Eq schema => Eq (ReferencedSchemas schema) Source | |
Show schema => Show (ReferencedSchemas schema) Source |
Fetch via HTTP
data HTTPFailure Source
referencesViaHTTP' :: forall schema. FromJSON schema => Spec schema -> SchemaWithURI schema -> IO (Either HTTPFailure (ReferencedSchemas schema)) Source
Take a schema. Retrieve every document either it or its subschemas include via the "$ref" keyword.
Fetch via Filesystem
data FilesystemFailure Source
referencesViaFilesystem' :: forall schema. FromJSON schema => Spec schema -> SchemaWithURI schema -> IO (Either FilesystemFailure (ReferencedSchemas schema)) Source
Method Agnostic Fetching Tools
referencesMethodAgnostic :: forall schema. FromJSON schema => (Text -> IO ByteString) -> Spec schema -> SchemaWithURI schema -> IO (Either Text (ReferencedSchemas schema)) Source
A version of fetchReferencedSchema
s where the function to fetch
schemas is provided by the user. This allows restrictions to be added,
e.g. rejecting non-local URIs.
foldFunction :: forall schema. FromJSON schema => (Text -> IO ByteString) -> Spec schema -> URISchemaMap schema -> SchemaWithURI schema -> IO (Either Text (URISchemaMap schema)) Source
includeSubschemas :: forall schema. Spec schema -> SchemaWithURI schema -> [SchemaWithURI schema] Source
Return the schema passed in as an argument, as well as every subschema contained within it.