core library

Classes

AnnotatedScaleQuestion
Annotation
Answer<V>
AppConfig
AudioRecordingQuestion
AverageSection
BlobStorageHandler
Body
BodyPain
BodyPart
BooleanExpression
BooleanQuestion
CheckmarkTask
Choice
ChoiceExpression
ChoiceQuestion
CompletionPeriod
CompositeExpression
ConsentItem
Contact
DataReference<T>
DateQuestion
DescriptiveStatsSection
EligibilityCriterion
EncodingConfig
Expression
ExtractionResult<T>
ExtractionSuccess<T>
FitbitAuthCredentials
FitbitData
FitbitHeartData
FitbitQuestion
FitbitSleepData
FitbitStepData
FreeTextQuestion
FutureBlobFile
This is an answer type Answer\<FutureBlobFile\> used by multimodal questions to store the localFilePath and the futureBlobId of a file. The local file will will be uploaded to the blob storage during the completion of the questionnaire. This is a temporary answer type, which is not stored in the database. It will be replaced by Answer\<String\>, in which the String is the futureBlobId.
GaugeComparisonSection
ImageCapturingQuestion
Intervention
InterventionResult
InterventionTask
JsonWithError
LinearRegressionSection
NotExpression
NumericExpression
NumericResult
Observation
PainQuestion
PainType
Preferences
Question<V>
QuestionConditional<V>
QuestionnaireAnswerMetadata
QuestionnaireState
QuestionnaireTask
RecoveryConstants
Recovery phrase configuration constants
Repo
ReportSection
ReportSpecification
Result<T>
ScaleQuestion
Schedule
SliderQuestion
Study
StudyFitbitCredentials
StudyInvite
StudyResult
StudySchedule
StudySubject
StudyUAnalytics
StudyULogger
StudyUQuestionnaire
StudyUTimeOfDay
StudyUUser
SubjectProgress
SupabaseObject
SupabaseObjectFunctions<T extends SupabaseObject>
SupabaseQuery
Task
TaskInstance
TextExpression
TextualSummarySection
ValueExpression<V>
VisualAnalogueQuestion

Properties

androidPackageName ↔ String?
latefinal
appDeepLinkScheme ↔ String?
getter/setter pair
appScheme → String
no setter
appUrl ↔ String?
latefinal
client ↔ SupabaseClient
latefinal
designerUrl ↔ String?
latefinal
developerEmail ↔ String?
latefinal
iosAppStoreId ↔ String?
latefinal
projectGeneratorUrl ↔ String?
latefinal
supabaseAnonKey ↔ String
latefinal
supabaseUrl ↔ String
latefinal

Functions

computeChecksum(List<int> indices, int wordlistSize) → int
createPreviewSessionMessage(String session) → String
createPreviewSessionRequest() → String
createPreviewStudyMessage(String study) → String
createPreviewStudyRequest() → String
decode(List<String> words, {List<String>? wordlist, EncodingConfig config = RecoveryConstants.defaultConfig}) → BigInt
decodeFromWords(List<String> words, List<String> wordlist, EncodingConfig config) → BigInt
encode(BigInt participantId, {List<String>? wordlist, int bitCount = RecoveryConstants.defaultBitCount, EncodingConfig config = RecoveryConstants.defaultConfig}) → List<String>
encodeIdToIndices(BigInt participantId, int bitCount, EncodingConfig config) → List<int>
getExpectedWordCount(EncodingConfig config) → int
Returns the expected word count for a given configuration
isPreviewSessionRequest(Object? data) → bool
isPreviewStudyRequest(Object? data) → bool
parsePreviewSession(Object? data) → String?
parsePreviewStudy(Object? data) → String?
setEnv(String envSupabaseUrl, String envSupabaseAnonKey, {required SupabaseClient supabaseClient, String? envAppUrl, String? envDesignerUrl, String? envProjectGeneratorUrl, String? envAndroidPackageName, String? envIosAppStoreId, String? envDeveloperEmail, String? envAppDeepLinkScheme}) → void
tableName(Type cls) → String
validateRecoveryWordCount(int wordCount) → void
Validates that the word count matches the expected count for recovery Throws ArgumentError if the count is invalid

Typedefs

ExpressionParser = Expression Function(Map<String, dynamic> data)
InterventionTaskParser = InterventionTask Function(Map<String, dynamic> data)
ObservationTaskParser = Observation Function(Map<String, dynamic> data)
QuestionParser = Question Function(Map<String, dynamic> data)
ScheduleParser = Schedule Function(Map<String, dynamic> data)
SectionParser = ReportSection Function(Map<String, dynamic> data)
StudyResultParser = StudyResult Function(Map<String, dynamic> json)

Exceptions / Errors

ExtractionFailedException<T>
UnknownJsonTypeError
Error thrown when a JSON type is not recognized. This is a subclass of ArgumentError because unknown enums also throw an ArgumentError, so we can catch all of them together.