hydra-kernel-0.16.0: src/main/haskell/Hydra/Sources/Decode/Relational.hs
-- Note: this is an automatically generated file. Do not edit.
-- | Source module for hydra.decode.relational
module Hydra.Sources.Decode.Relational where
import qualified Hydra.Core as Core
import qualified Hydra.Packaging as Packaging
import qualified Hydra.Typing as Typing
import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, map, pure, sum)
import qualified Data.Scientific as Sci
import qualified Data.Map as M
module_ :: Packaging.Module
module_ =
Packaging.Module {
Packaging.moduleName = (Packaging.ModuleName "hydra.decode.relational"),
Packaging.moduleMetadata = (Just (Packaging.EntityMetadata {
Packaging.entityMetadataDescription = (Just "Term decoders for hydra.relational"),
Packaging.entityMetadataComments = [],
Packaging.entityMetadataSeeAlso = [],
Packaging.entityMetadataLifecycle = Nothing})),
Packaging.moduleDependencies = [
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.extract.core"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.lexical"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.rewriting"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.relational"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.util"),
Packaging.moduleDependencyPackage = Nothing},
Packaging.ModuleDependency {
Packaging.moduleDependencyModule = (Packaging.ModuleName "hydra.decode.core"),
Packaging.moduleDependencyPackage = Nothing}],
Packaging.moduleDefinitions = [
Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.relational.columnName"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "hydra.relational.ColumnName"))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected wrapped type"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "wrap"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "wrappedTerm"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "b"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.relational.ColumnName"),
Core.wrappedTermBody = (Core.TermVariable (Core.Name "b"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected literal"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "literal"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "v"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Literal"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected string literal"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "string"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "s"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Right (Core.TermVariable (Core.Name "s"))))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "v"))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.WrappedTerm"),
Core.projectionFieldName = (Core.Name "body")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "wrappedTerm"))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.relational.ColumnName")))]))}))}),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.relational.columnSchema"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [
Typing.TypeParameter {
Typing.typeParameterName = (Core.Name "t"),
Typing.typeParameterConstraints = []}],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Core.functionTypeCodomain = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Core.functionTypeCodomain = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "t"))}))}))})),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg2"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeApplication (Core.ApplicationType {
Core.applicationTypeFunction = (Core.TypeVariable (Core.Name "hydra.relational.ColumnSchema")),
Core.applicationTypeArgument = (Core.TypeVariable (Core.Name "t"))}))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected a record of type hydra.relational.ColumnSchema"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "record"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "record"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLet (Core.Let {
Core.letBindings = [
Core.Binding {
Core.bindingName = (Core.Name "fieldMap"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.toFieldMap")),
Core.applicationArgument = (Core.TermVariable (Core.Name "record"))})),
Core.bindingTypeScheme = Nothing}],
Core.letBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.bind")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.requireField")),
Core.applicationArgument = (Core.TermLiteral (Core.LiteralString "name"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "hydra.decode.relational.columnName"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "fieldMap"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "field_name"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.bind")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.requireField")),
Core.applicationArgument = (Core.TermLiteral (Core.LiteralString "domain"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "fieldMap"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "field_domain"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Right (Core.TermRecord (Core.Record {
Core.recordTypeName = (Core.Name "hydra.relational.ColumnSchema"),
Core.recordFields = [
Core.Field {
Core.fieldName = (Core.Name "name"),
Core.fieldTerm = (Core.TermVariable (Core.Name "field_name"))},
Core.Field {
Core.fieldName = (Core.Name "domain"),
Core.fieldTerm = (Core.TermVariable (Core.Name "field_domain"))}]}))))}))}))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.relational.ColumnSchema")))]))}))})),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.relational.foreignKey"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "hydra.relational.ForeignKey"))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected a record of type hydra.relational.ForeignKey"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "record"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "record"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLet (Core.Let {
Core.letBindings = [
Core.Binding {
Core.bindingName = (Core.Name "fieldMap"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.toFieldMap")),
Core.applicationArgument = (Core.TermVariable (Core.Name "record"))})),
Core.bindingTypeScheme = Nothing}],
Core.letBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.bind")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.requireField")),
Core.applicationArgument = (Core.TermLiteral (Core.LiteralString "foreignRelation"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "hydra.decode.relational.relationName"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "fieldMap"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "field_foreignRelation"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.bind")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.requireField")),
Core.applicationArgument = (Core.TermLiteral (Core.LiteralString "keys"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeMap")),
Core.applicationArgument = (Core.TermVariable (Core.Name "hydra.decode.relational.columnName"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "hydra.decode.relational.columnName"))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "fieldMap"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "field_keys"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Right (Core.TermRecord (Core.Record {
Core.recordTypeName = (Core.Name "hydra.relational.ForeignKey"),
Core.recordFields = [
Core.Field {
Core.fieldName = (Core.Name "foreignRelation"),
Core.fieldTerm = (Core.TermVariable (Core.Name "field_foreignRelation"))},
Core.Field {
Core.fieldName = (Core.Name "keys"),
Core.fieldTerm = (Core.TermVariable (Core.Name "field_keys"))}]}))))}))}))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.relational.ForeignKey")))]))}))})),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.relational.primaryKey"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "hydra.relational.PrimaryKey"))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected wrapped type"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "wrap"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "wrappedTerm"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "b"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.relational.PrimaryKey"),
Core.wrappedTermBody = (Core.TermVariable (Core.Name "b"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeList")),
Core.applicationArgument = (Core.TermVariable (Core.Name "hydra.decode.relational.columnName"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.WrappedTerm"),
Core.projectionFieldName = (Core.Name "body")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "wrappedTerm"))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.relational.PrimaryKey")))]))}))})),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.relational.relation"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [
Typing.TypeParameter {
Typing.typeParameterName = (Core.Name "v"),
Typing.typeParameterConstraints = []}],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Core.functionTypeCodomain = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Core.functionTypeCodomain = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "v"))}))}))})),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg2"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeApplication (Core.ApplicationType {
Core.applicationTypeFunction = (Core.TypeVariable (Core.Name "hydra.relational.Relation")),
Core.applicationTypeArgument = (Core.TypeVariable (Core.Name "v"))}))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "v"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected wrapped type"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "wrap"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "wrappedTerm"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "b"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.relational.Relation"),
Core.wrappedTermBody = (Core.TermVariable (Core.Name "b"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeList")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.decode.relational.row")),
Core.applicationArgument = (Core.TermVariable (Core.Name "v"))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.WrappedTerm"),
Core.projectionFieldName = (Core.Name "body")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "wrappedTerm"))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(Core.TermVariable (Core.Name "description"), (Core.TermLiteral (Core.LiteralString "Decoder for hydra.relational.Relation")))]))}))})),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.relational.relationName"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "hydra.relational.RelationName"))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected wrapped type"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "wrap"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "wrappedTerm"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "b"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.relational.RelationName"),
Core.wrappedTermBody = (Core.TermVariable (Core.Name "b"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected literal"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "literal"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "v"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Literal"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected string literal"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "string"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "s"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Right (Core.TermVariable (Core.Name "s"))))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "v"))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.WrappedTerm"),
Core.projectionFieldName = (Core.Name "body")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "wrappedTerm"))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.relational.RelationName")))]))}))})),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.relational.relationSchema"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [
Typing.TypeParameter {
Typing.typeParameterName = (Core.Name "t"),
Typing.typeParameterConstraints = []}],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Core.functionTypeCodomain = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Core.functionTypeCodomain = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "t"))}))}))})),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg2"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeApplication (Core.ApplicationType {
Core.applicationTypeFunction = (Core.TypeVariable (Core.Name "hydra.relational.RelationSchema")),
Core.applicationTypeArgument = (Core.TypeVariable (Core.Name "t"))}))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "t"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected a record of type hydra.relational.RelationSchema"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "record"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "record"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLet (Core.Let {
Core.letBindings = [
Core.Binding {
Core.bindingName = (Core.Name "fieldMap"),
Core.bindingTerm = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.toFieldMap")),
Core.applicationArgument = (Core.TermVariable (Core.Name "record"))})),
Core.bindingTypeScheme = Nothing}],
Core.letBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.bind")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.requireField")),
Core.applicationArgument = (Core.TermLiteral (Core.LiteralString "name"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "hydra.decode.relational.relationName"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "fieldMap"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "field_name"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.bind")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.requireField")),
Core.applicationArgument = (Core.TermLiteral (Core.LiteralString "columns"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeList")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.decode.relational.columnSchema")),
Core.applicationArgument = (Core.TermVariable (Core.Name "t"))}))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "fieldMap"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "field_columns"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.bind")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.requireField")),
Core.applicationArgument = (Core.TermLiteral (Core.LiteralString "primaryKeys"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeList")),
Core.applicationArgument = (Core.TermVariable (Core.Name "hydra.decode.relational.primaryKey"))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "fieldMap"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "field_primaryKeys"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.bind")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.requireField")),
Core.applicationArgument = (Core.TermLiteral (Core.LiteralString "foreignKeys"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeList")),
Core.applicationArgument = (Core.TermVariable (Core.Name "hydra.decode.relational.foreignKey"))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "fieldMap"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "field_foreignKeys"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Right (Core.TermRecord (Core.Record {
Core.recordTypeName = (Core.Name "hydra.relational.RelationSchema"),
Core.recordFields = [
Core.Field {
Core.fieldName = (Core.Name "name"),
Core.fieldTerm = (Core.TermVariable (Core.Name "field_name"))},
Core.Field {
Core.fieldName = (Core.Name "columns"),
Core.fieldTerm = (Core.TermVariable (Core.Name "field_columns"))},
Core.Field {
Core.fieldName = (Core.Name "primaryKeys"),
Core.fieldTerm = (Core.TermVariable (Core.Name "field_primaryKeys"))},
Core.Field {
Core.fieldName = (Core.Name "foreignKeys"),
Core.fieldTerm = (Core.TermVariable (Core.Name "field_foreignKeys"))}]}))))}))}))}))}))}))}))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.relational.RelationSchema")))]))}))})),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.relational.relationship"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [
Typing.TypeParameter {
Typing.typeParameterName = (Core.Name "v"),
Typing.typeParameterConstraints = [
Core.TypeClassConstraintSimple (Core.Name "ordering")]}],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Core.functionTypeCodomain = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Core.functionTypeCodomain = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "v"))}))}))})),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg2"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeApplication (Core.ApplicationType {
Core.applicationTypeFunction = (Core.TypeVariable (Core.Name "hydra.relational.Relationship")),
Core.applicationTypeArgument = (Core.TypeVariable (Core.Name "v"))}))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "v"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected wrapped type"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "wrap"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "wrappedTerm"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "b"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.relational.Relationship"),
Core.wrappedTermBody = (Core.TermVariable (Core.Name "b"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeSet")),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeMap")),
Core.applicationArgument = (Core.TermVariable (Core.Name "hydra.decode.relational.columnName"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "v"))}))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.WrappedTerm"),
Core.projectionFieldName = (Core.Name "body")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "wrappedTerm"))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(
Core.TermVariable (Core.Name "description"),
(Core.TermLiteral (Core.LiteralString "Decoder for hydra.relational.Relationship")))]))}))})),
(Packaging.DefinitionTerm (Packaging.TermDefinition {
Packaging.termDefinitionName = (Core.Name "hydra.decode.relational.row"),
Packaging.termDefinitionMetadata = Nothing,
Packaging.termDefinitionSignature = (Just (Typing.TermSignature {
Typing.termSignatureTypeParameters = [
Typing.TypeParameter {
Typing.typeParameterName = (Core.Name "v"),
Typing.typeParameterConstraints = []}],
Typing.termSignatureParameters = [
Typing.Parameter {
Typing.parameterName = (Core.Name "arg0"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Core.functionTypeCodomain = (Core.TypeFunction (Core.FunctionType {
Core.functionTypeDomain = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Core.functionTypeCodomain = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeVariable (Core.Name "v"))}))}))})),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg1"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.graph.Graph")),
Typing.parameterIsLazy = False},
Typing.Parameter {
Typing.parameterName = (Core.Name "arg2"),
Typing.parameterDescription = Nothing,
Typing.parameterType = (Core.TypeVariable (Core.Name "hydra.core.Term")),
Typing.parameterIsLazy = False}],
Typing.termSignatureResult = Typing.Result {
Typing.resultDescription = Nothing,
Typing.resultType = (Core.TypeEither (Core.EitherType {
Core.eitherTypeLeft = (Core.TypeVariable (Core.Name "hydra.errors.DecodingError")),
Core.eitherTypeRight = (Core.TypeApplication (Core.ApplicationType {
Core.applicationTypeFunction = (Core.TypeVariable (Core.Name "hydra.relational.Row")),
Core.applicationTypeArgument = (Core.TypeVariable (Core.Name "v"))}))}))}})),
Packaging.termDefinitionBody = (Core.TermAnnotated (Core.AnnotatedTerm {
Core.annotatedTermBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "v"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "cx"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "raw"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.either")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "err"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermEither (Left (Core.TermVariable (Core.Name "err"))))}))})),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "stripped"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermCases (Core.CaseStatement {
Core.caseStatementTypeName = (Core.Name "hydra.core.Term"),
Core.caseStatementDefault = (Just (Core.TermEither (Left (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.errors.DecodingError"),
Core.wrappedTermBody = (Core.TermLiteral (Core.LiteralString "expected wrapped type"))}))))),
Core.caseStatementCases = [
Core.CaseAlternative {
Core.caseAlternativeName = (Core.Name "wrap"),
Core.caseAlternativeHandler = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "wrappedTerm"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.lib.eithers.map")),
Core.applicationArgument = (Core.TermLambda (Core.Lambda {
Core.lambdaParameter = (Core.Name "b"),
Core.lambdaDomain = Nothing,
Core.lambdaBody = (Core.TermWrap (Core.WrappedTerm {
Core.wrappedTermTypeName = (Core.Name "hydra.relational.Row"),
Core.wrappedTermBody = (Core.TermVariable (Core.Name "b"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.decodeList")),
Core.applicationArgument = (Core.TermVariable (Core.Name "v"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermProject (Core.Projection {
Core.projectionTypeName = (Core.Name "hydra.core.WrappedTerm"),
Core.projectionFieldName = (Core.Name "body")})),
Core.applicationArgument = (Core.TermVariable (Core.Name "wrappedTerm"))}))}))}))}))}]})),
Core.applicationArgument = (Core.TermVariable (Core.Name "stripped"))}))}))})),
Core.applicationArgument = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermApplication (Core.Application {
Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.extract.core.stripWithDecodingError")),
Core.applicationArgument = (Core.TermVariable (Core.Name "cx"))})),
Core.applicationArgument = (Core.TermVariable (Core.Name "raw"))}))}))}))}))})),
Core.annotatedTermAnnotation = (Core.TermMap (M.fromList [
(Core.TermVariable (Core.Name "description"), (Core.TermLiteral (Core.LiteralString "Decoder for hydra.relational.Row")))]))}))}))]}