Mari's guided journal software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

64 lines
1.5 KiB

import {Entry, EntryJTD} from "./Entry.js";
import {schema} from "../schemata/SchemaData.js";
/* export interface PersonaState {
readonly persona: Persona
readonly condition: Condition
readonly summary?: string
readonly journalEntry?: string
readonly guidedEmpathy?: readonly GuidedEmpathy[]
} */
/* export interface RPGStats {
readonly hpp?: number
readonly mpp?: number
readonly tpp?: number
readonly hope?: number
readonly determination?: number
} */
/* export interface Personas {
readonly active?: Persona
readonly states?: readonly PersonaState[]
} */
/* export interface Needs {
readonly food?: string
readonly water?: string
readonly sleep?: string
readonly hygiene?: string
} */
/* export interface Recovery {
readonly name: string
} */
/* export interface Activity {
readonly name: string
} */
/* export interface RecoveryMethod {
readonly name: string
readonly description: string
} */
/*
// readonly activities?: readonly string[]
readonly empathyGuide?: EmpathyGuide
// readonly recoveryMethods?: readonly RecoveryMethod[]
*/
export interface Journal {
readonly entries?: readonly Entry[]
}
export type JournalJTD = typeof JournalJTD
export const JournalJTD = schema({
schema: {
optionalProperties: {
entries: { elements: EntryJTD.reference },
},
},
typeHint: null as Journal|null,
key: "journal",
references: [EntryJTD, ...EntryJTD.requiredReferences]
})