-
Notifications
You must be signed in to change notification settings - Fork 1
/
types.d.ts
118 lines (106 loc) · 2.06 KB
/
types.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import type { NextPage } from "next"
export type NextPageWithFallback = NextPage<{
fallback: { [key: string]: any }
}>
export type PlausibleEvents = {
substance: {
name: string
}
substanceROA: {
substance: string
roa: string
combined: string
}
substanceInteraction: {
substance: string
otherSubstance: string
combined: string
}
interaction: {
substance: string
otherSubstance: string
combined: string
}
venmo: never
xmr: never
eth: never
sol: never
btc: never
}
// INTERACTIONS DATA
export interface Interaction {
status: InteractionStatus
note?: string | null
}
export type Interactions = Record<
InteractionSubstance,
Record<InteractionSubstance, Interaction>
>
export type InteractionSubstance =
| "Mushrooms"
| "LSD"
| "DMT"
| "Mescaline"
| "DOx"
| "NBOMes"
| "2C-x"
| "2C-T-x"
| "aMT"
| "5-MeO-xxT"
| "Cannabis"
| "Ketamine"
| "MXE"
| "DXM"
| "PCP"
| "Nitrous"
| "Amphetamines"
| "MDMA"
| "Cocaine"
| "Caffeine"
| "Alcohol"
| "GHB/GBL"
| "Opioids"
| "Benzodiazepines"
| "MAOIs"
| "SSRIs"
// SUBSTANCES DATA (https://app.quicktype.io)
export interface Substance {
url: string
experiencesUrl: string | null
name: string
aliases: string[]
aliasesStr: string
aliasesSubtitle?: string // matched aliases in fuzzysort
summary: string | null
reagents: string | null
classes: Classes | null
toxicity: string[] | null
addictionPotential: string | null
tolerance: Tolerance | null
crossTolerances: string[] | null
roas: ROA[]
interactions: SubstanceInteraction[] | null
}
export interface Classes {
chemical: string[] | null
psychoactive: string[] | null
}
export interface SubstanceInteraction extends Interaction {
name: string
}
export interface ROA {
name: string
dosage?: Dosage[] | null
duration?: Dosage[] | null
bioavailability?: string | null
}
export interface Dosage {
name: string
value: string | null
note?: string | null
}
export interface Tolerance {
full: string
half: string | null
zero: string | null
}