Module

Metajelo.Types

Package
purescript-metajelo
Repository
labordynamicsinstitute/purescript-metajelo

This module is derived from the schema of metajelo, and more directly from the output of XsdToHaskell being run on the schema.

#XsdDate Source

type XsdDate = String

Stand in for xs:date

#Format Source

type Format = String

#MetajeloRecord Source

type MetajeloRecord = { date :: XsdDate, identifier :: Identifier, lastModified :: XsdDate, relatedIdentifiers :: NonEmptyArray RelatedIdentifier, supplementaryProducts :: NonEmptyArray SupplementaryProduct }

metadata about the publication and links to unlimited number of suppementary products

#Identifier Source

type Identifier = { id :: String, idType :: IdentifierType }

#ResourceID Source

#InstitutionID Source

#RelatedIdentifier Source

type RelatedIdentifier = { id :: String, idType :: IdentifierType, relType :: RelationType }

#SupplementaryProduct Source

type SupplementaryProduct = { basicMetadata :: BasicMetadata, format :: Array Format, location :: Location, resourceID :: Maybe ResourceID, resourceMetadataSource :: Maybe ResourceMetadataSource, resourceType :: ResourceType }

#BasicMetadata Source

type BasicMetadata = { creator :: String, publicationYear :: XsdDate, title :: String }

#ResourceType Source

type ResourceType = { description :: String, generalType :: ResourceTypeGeneral }

#ResourceMetadataSource Source

type ResourceMetadataSource = { relationType :: RelationType, url :: URL }

#Location Source

type Location = { institutionContact :: InstitutionContact, institutionID :: InstitutionID, institutionName :: String, institutionPolicies :: NonEmptyArray InstitutionPolicy, institutionSustainability :: InstitutionSustainability, institutionType :: InstitutionType, superOrganizationName :: Maybe String, versioning :: Boolean }

#InstitutionContact Source

type InstitutionContact = { contactType :: Maybe InstitutionContactType, emailAddress :: EmailAddress }

#InstitutionSustainability Source

type InstitutionSustainability = { fundingStatementURL :: URL, missionStatementURL :: URL }

#InstitutionPolicy Source

type InstitutionPolicy = { appliesToProduct :: Maybe Boolean, policy :: Policy, policyType :: Maybe PolicyType }