|
| 1 | +import { Schema } from 'effect' |
| 2 | +import * as Preprints from '../Preprints/index.ts' |
| 3 | +import { NonEmptyString, OrcidId, Temporal, Uuid } from '../types/index.ts' |
| 4 | + |
| 5 | +export class RapidPrereviewImported extends Schema.TaggedClass<RapidPrereviewImported>()('RapidPrereviewImported', { |
| 6 | + author: Schema.Struct({ |
| 7 | + persona: Schema.Literal('public', 'pseudonym'), |
| 8 | + orcidId: OrcidId.OrcidIdSchema, |
| 9 | + }), |
| 10 | + publishedAt: Temporal.InstantSchema, |
| 11 | + preprintId: Preprints.IndeterminatePreprintIdFromStringSchema, |
| 12 | + rapidPrereviewId: Uuid.UuidSchema, |
| 13 | + questions: Schema.Struct({ |
| 14 | + availableCode: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 15 | + availableData: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 16 | + coherent: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 17 | + dataLink: Schema.Option(NonEmptyString.NonEmptyStringSchema), |
| 18 | + ethics: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 19 | + future: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 20 | + limitations: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 21 | + methods: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 22 | + newData: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 23 | + novel: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 24 | + peerReview: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 25 | + recommend: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 26 | + reproducibility: Schema.Literal('yes', 'unsure', 'not applicable', 'no'), |
| 27 | + technicalComments: Schema.Option(NonEmptyString.NonEmptyStringSchema), |
| 28 | + editorialComments: Schema.Option(NonEmptyString.NonEmptyStringSchema), |
| 29 | + }), |
| 30 | +}) {} |
0 commit comments