@sjcrh/proteinpaint-types 2.78.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/package.json +29 -0
  2. package/src/Mclass.ts +8 -0
  3. package/src/dataset.ts +1416 -0
  4. package/src/docs.json +16417 -0
  5. package/src/fileOrUrl.ts +15 -0
  6. package/src/filter.ts +125 -0
  7. package/src/genome.ts +123 -0
  8. package/src/index.ts +56 -0
  9. package/src/routes/brainImaging.ts +21 -0
  10. package/src/routes/burden.ts +67 -0
  11. package/src/routes/dzimages.ts +9 -0
  12. package/src/routes/errorResponse.ts +6 -0
  13. package/src/routes/filter.gdc.ts +15 -0
  14. package/src/routes/gdc.maf.ts +41 -0
  15. package/src/routes/gdc.mafBuild.ts +13 -0
  16. package/src/routes/gdc.topMutatedGenes.ts +25 -0
  17. package/src/routes/genelookup.ts +10 -0
  18. package/src/routes/genesetEnrichment.ts +46 -0
  19. package/src/routes/genesetOverrepresentation.ts +32 -0
  20. package/src/routes/healthcheck.ts +57 -0
  21. package/src/routes/hicdata.ts +37 -0
  22. package/src/routes/hicgenome.ts +22 -0
  23. package/src/routes/hicstat.ts +45 -0
  24. package/src/routes/sampledzimages.ts +1 -0
  25. package/src/routes/samplewsimages.ts +15 -0
  26. package/src/routes/termdb.DE.ts +25 -0
  27. package/src/routes/termdb.categories.ts +26 -0
  28. package/src/routes/termdb.cluster.ts +75 -0
  29. package/src/routes/termdb.getSampleImages.ts +14 -0
  30. package/src/routes/termdb.getTopTermsByType.ts +21 -0
  31. package/src/routes/termdb.getdescrstats.ts +31 -0
  32. package/src/routes/termdb.getnumericcategories.ts +21 -0
  33. package/src/routes/termdb.getpercentile.ts +17 -0
  34. package/src/routes/termdb.getrootterm.ts +22 -0
  35. package/src/routes/termdb.gettermchildren.ts +21 -0
  36. package/src/routes/termdb.singleSampleMutation.ts +18 -0
  37. package/src/routes/termdb.singlecellDEgenes.ts +30 -0
  38. package/src/routes/termdb.singlecellData.ts +55 -0
  39. package/src/routes/termdb.singlecellSamples.ts +35 -0
  40. package/src/routes/termdb.termsbyids.ts +15 -0
  41. package/src/routes/termdb.topVariablyExpressedGenes.ts +45 -0
  42. package/src/routes/termdb.violin.ts +74 -0
  43. package/src/routes/wsimages.ts +12 -0
  44. package/src/terms/categorical.ts +106 -0
  45. package/src/terms/condition.ts +55 -0
  46. package/src/terms/geneExpression.ts +32 -0
  47. package/src/terms/geneVariant.ts +51 -0
  48. package/src/terms/metaboliteIntensity.ts +31 -0
  49. package/src/terms/numeric.ts +245 -0
  50. package/src/terms/q.ts +38 -0
  51. package/src/terms/samplelst.ts +41 -0
  52. package/src/terms/singleCellCellType.ts +22 -0
  53. package/src/terms/singleCellGeneExpression.ts +28 -0
  54. package/src/terms/snp.ts +28 -0
  55. package/src/terms/snps.ts +110 -0
  56. package/src/terms/term.ts +184 -0
  57. package/src/terms/tw.ts +38 -0
  58. package/src/terms/updated-types.ts +9 -0
  59. package/src/termsetting.ts +193 -0
  60. package/src/test/numeric.type.spec.ts +275 -0
  61. package/src/typedoc.js +30 -0
  62. package/src/vocab.ts +37 -0
@@ -0,0 +1,22 @@
1
+ import { BaseTerm, BaseTW, GroupSettingQ, TermGroupSetting, TermValues } from './term.ts'
2
+ import { MinBaseQ } from './q.ts'
3
+
4
+ type SingleCellCellTypeBaseQ = MinBaseQ & { mode: 'discrete' | 'binary' }
5
+
6
+ export type SingleCellCellTypeQ = SingleCellCellTypeBaseQ & GroupSettingQ
7
+
8
+ export type SingleCellCellTypeTerm = BaseTerm & {
9
+ type: 'singleCellCellType'
10
+ /** the cell types may be also cell attributes like CNV, Fusion, etc */
11
+ values: TermValues
12
+ /** single cell terms require a sample to read the term values, they are associated with a sample */
13
+ sample: string
14
+ /** the plot defined in the dataset contains a column with the term values for the sample, it needs to be passed to read the sample values */
15
+ plot: string
16
+ groupsetting: TermGroupSetting
17
+ }
18
+
19
+ export type SingleCellCellTypeTW = BaseTW & {
20
+ term: SingleCellCellTypeTerm
21
+ q: SingleCellCellTypeQ
22
+ }
@@ -0,0 +1,28 @@
1
+ import { TermWrapper } from './tw.ts'
2
+ import { BaseQ } from './term.ts'
3
+ import { GeneExpressionQ } from './geneExpression.ts'
4
+ import { TermSettingInstance } from '../termsetting.ts'
5
+ import { NumericTerm } from './numeric.ts'
6
+
7
+ /*
8
+ --------EXPORTED--------
9
+ GeneExpressionQ
10
+ GeneExpressionTermWrapper
11
+ GeneExpressionTermSettingInstance
12
+
13
+ */
14
+
15
+ export type SingleCellGeneExpressionTW = TermWrapper & {
16
+ q: GeneExpressionQ
17
+ term: SingleCellGeneExpressionTerm
18
+ }
19
+
20
+ export type SingleCellGeneExpressionTerm = NumericTerm & {
21
+ gene: string
22
+ sample: string
23
+ }
24
+
25
+ export type SingleCellGeneExpressionTermSettingInstance = TermSettingInstance & {
26
+ q: GeneExpressionQ
27
+ term: SingleCellGeneExpressionTerm
28
+ }
@@ -0,0 +1,28 @@
1
+ import { TermWrapper } from './tw.ts'
2
+ import { BaseQ, BaseTerm, GroupSettingQ, TermGroupSetting } from './term.ts'
3
+ import { TermSettingInstance } from '../termsetting.ts'
4
+
5
+ /*
6
+ For term type 'snp'
7
+ */
8
+
9
+ export type SnpQ = BaseQ & GroupSettingQ
10
+
11
+ export type SnpTW = TermWrapper & {
12
+ q: SnpQ
13
+ term: SnpTerm
14
+ }
15
+
16
+ export type SnpTerm = BaseTerm & {
17
+ chr: string
18
+ start: number
19
+ stop: number
20
+ ref: string
21
+ alt: string[]
22
+ groupsetting: TermGroupSetting
23
+ }
24
+
25
+ export type SnpTermSettingInstance = TermSettingInstance & {
26
+ q: SnpQ
27
+ term: SnpTerm
28
+ }
@@ -0,0 +1,110 @@
1
+ import { BaseTW, BaseQ, BaseTerm } from './term.ts'
2
+ import { TermSettingInstance, InstanceDom, UseCase } from '../termsetting.ts'
3
+ import { VocabApi } from '../vocab.ts'
4
+ import { Tvs, Filter } from '../filter.ts'
5
+
6
+ /*
7
+ --------EXPORTED--------
8
+ SnpsQ
9
+ SnpsEntry
10
+ SnpsTerm
11
+ SnpsTW
12
+ SnpsVocabApi
13
+ SnpsTermSettingInstance
14
+
15
+ */
16
+
17
+ type RestrictAncestry = {
18
+ name: string
19
+ tvs: Tvs
20
+ }
21
+
22
+ export type SnpsQ = BaseQ & {
23
+ // termType: 'snplocus' | 'snplst'
24
+ //for snplst and snplocus term types
25
+ AFcutoff: number
26
+ alleleType: number
27
+ cacheid: string
28
+ doNotRestrictAncestry: any
29
+ geneticModel: number
30
+ info_fields?: any //[] Not documented
31
+ missingGenotype?: number
32
+ numOfSampleWithAnyValidGT: number
33
+ restrictAncestry: RestrictAncestry
34
+ snp2effAle?: any
35
+ snp2refGrp: any //[] maybe??
36
+ variant_filter: Filter
37
+ //Position
38
+ chr: string
39
+ start: number
40
+ stop: number
41
+ }
42
+
43
+ type AllelesEntry = {
44
+ allele: string
45
+ count: number
46
+ isRef: boolean
47
+ }
48
+
49
+ export type SnpsEntry = {
50
+ alt2csq?: any //{} In document but not implemented?
51
+ altAlleles?: string[]
52
+ alleles?: AllelesEntry[]
53
+ effectAllele: boolean
54
+ gt2count?: {
55
+ k: string
56
+ v: string | number
57
+ }
58
+ invalid?: boolean
59
+ referenceAllele?: string
60
+ rsid: string
61
+ snpid: string
62
+ tobe_deleted?: any
63
+ //Position properties
64
+ chr?: string
65
+ pos?: number
66
+ }
67
+
68
+ export type SnpsTerm = BaseTerm & {
69
+ id: string
70
+ reachedVariantLimit?: boolean
71
+ snps?: SnpsEntry[]
72
+ }
73
+
74
+ export type SnpsTW = BaseTW & {
75
+ q: SnpsQ
76
+ term: SnpsTerm
77
+ }
78
+
79
+ type VariantFilter = {
80
+ active: any
81
+ filter: any
82
+ opts: any
83
+ terms: any
84
+ }
85
+
86
+ export type SnpsVocabApi = VocabApi & {
87
+ validateSnps: (f?: any) => {
88
+ error?: any
89
+ cacheid: string
90
+ snps: any
91
+ reachedVariantLimit: any
92
+ }
93
+ get_variantFilter: () => any
94
+ }
95
+
96
+ type SnpsDom = InstanceDom & {
97
+ input_AFcutoff_label: any
98
+ restrictAncestriesRow: any
99
+ setEffectAlleleAsHint: any
100
+ snplst_table: any
101
+ }
102
+
103
+ export type SnpsTermSettingInstance = TermSettingInstance & {
104
+ dom: SnpsDom
105
+ q: Partial<SnpsQ>
106
+ term: SnpsTerm
107
+ usecase: UseCase
108
+ variantFilter: VariantFilter
109
+ vocabApi: SnpsVocabApi
110
+ }
@@ -0,0 +1,184 @@
1
+ import { Filter } from '../filter.js'
2
+ import { CategoricalTerm, CategoricalBaseQ } from './categorical.js'
3
+ import { ConditionTerm } from './condition.js'
4
+ import { NumericTerm } from './numeric.js'
5
+ import { GeneVariantTerm } from './geneVariant.js'
6
+ import { SampleLstTerm } from './samplelst.js'
7
+ import { SnpsTerm } from './snps.js'
8
+
9
+ /**
10
+ * @param id term.id for dictionary terms, undefined for non-dictionary terms
11
+ * @params $id client-computed deterministic unique identifier, to distinguish tw with the same term but different q, that are in the same payload
12
+ */
13
+
14
+ /*** types supporting termwrapper q ***/
15
+
16
+ export type HiddenValues = {
17
+ [index: string]: number
18
+ }
19
+
20
+ // TODO: replace BaseQ with MinBaseQ (see below)
21
+ // keeping BaseQ for now to not break old code
22
+ export type BaseQ = {
23
+ /**Automatically set by fillTermWrapper()
24
+ Applies to barchart, survival plot, and cuminc plot.
25
+ Contains categories of a term to be hidden in its chart. This should only apply to client-side rendering, and should not be part of “dataName” when requesting data from server. Server will always provide a summary for all categories. It’s up to the client to show/hide categories.
26
+ This allows the key visibility to be stored in state, while toggling visibility will not trigger data re-request.
27
+ Currently termsetting menu does not manage this attribute. It’s managed by barchart legend.
28
+ */
29
+ hiddenValues?: HiddenValues
30
+ /**indicates this object should not be extended by a copy-merge tool */
31
+ isAtomic?: boolean
32
+ name?: string
33
+ mode?:
34
+ | 'discrete'
35
+ /** Binary is a special case of discrete. */
36
+ | 'binary'
37
+ | 'continuous'
38
+ /** Only for numeric terms in regression analysis. Requires q.knots */
39
+ | 'spline'
40
+ /** Only applies to condition term. Requires q.breaks[] to have one grade value.*/
41
+ | 'cuminc'
42
+ /** Only applies to condition term for cox regression outcome. Requires q.breaks[] to have one grade value, for event and q.timeScale.*/
43
+ | 'cox'
44
+
45
+ reuseId?: string
46
+ /** To define ways to divide up cohort based on a term, using methods specific to term types.*/
47
+ type?: /** Requires term.values{} to access categories for categorical term, and grade for condition term */
48
+ | 'values'
49
+ /** Applies to numeric terms */
50
+ | 'regular-bin'
51
+ /** Applies to numeric terms */
52
+ | 'custom-bin'
53
+ /** Applies to categorical, condition, geneVariant, and singleCellCellType terms */
54
+ | 'predefined-groupset'
55
+ /** Applies to categorical, condition, geneVariant, and singleCellCellType terms */
56
+ | 'custom-groupset'
57
+ /** Applies to samplelst terms */
58
+ | 'custom-samplelst'
59
+ }
60
+
61
+ export type ValuesQ = CategoricalBaseQ & {
62
+ type: 'values'
63
+ }
64
+
65
+ export type PredefinedGroupSettingQ = CategoricalBaseQ & {
66
+ type: 'predefined-groupset'
67
+ predefined_groupset_idx: number
68
+ }
69
+
70
+ export type CustomGroupSettingQ = CategoricalBaseQ & {
71
+ type: 'custom-groupset'
72
+ customset: BaseGroupSet
73
+ }
74
+
75
+ export type GroupSettingQ = ValuesQ | PredefinedGroupSettingQ | CustomGroupSettingQ
76
+
77
+ /*** types supporting termwrapper term ***/
78
+
79
+ export type BaseValue = {
80
+ key?: string
81
+ uncomputable?: boolean
82
+ label?: string | number
83
+ order?: string
84
+ color?: string
85
+ group?: number
86
+ filter?: Filter
87
+ }
88
+
89
+ export type TermValues = {
90
+ [key: string | number]: BaseValue
91
+ }
92
+
93
+ export type BaseTerm = {
94
+ id: string
95
+ name: string
96
+ type: string
97
+ child_types?: string[]
98
+ hashtmldetail?: boolean
99
+ included_types?: string[]
100
+ isleaf?: boolean
101
+ values?: TermValues
102
+ }
103
+
104
+ export type Term = BaseTerm &
105
+ (NumericTerm | CategoricalTerm | ConditionTerm | GeneVariantTerm | SampleLstTerm | SnpsTerm)
106
+
107
+ export type ValuesGroup = {
108
+ name: string
109
+ type: 'values' | string // can remove boolean fallback once problematic js files are converted to .ts and can declare `type: 'values' as const`
110
+ values: { key: number | string; label: string }[]
111
+ uncomputable?: boolean // if true, do not include this group in computations
112
+ }
113
+
114
+ // TODO: determine if this is used
115
+ export type FilterGroup = {
116
+ name: string
117
+ type: 'filter'
118
+ filter: Filter
119
+ }
120
+
121
+ export type GroupEntry = ValuesGroup | FilterGroup
122
+
123
+ export type BaseGroupSet = {
124
+ groups: GroupEntry[]
125
+ }
126
+
127
+ type Groupset = {
128
+ name: string
129
+ is_grade?: boolean
130
+ is_subcondition?: boolean
131
+ } & BaseGroupSet
132
+
133
+ export type EnabledTermGroupSetting = {
134
+ disabled?: false | boolean // can remove boolean fallback once common.js is converted to .ts and can declare `disabled: false as const`
135
+ lst: Groupset[]
136
+ }
137
+
138
+ export type TermGroupSetting =
139
+ | EnabledTermGroupSetting
140
+ | {
141
+ /** disabled=false when groupsetting is not applicable for term (e.g., when term has only two categories) */
142
+ disabled: true | boolean // can remove boolean fallback once common.js is converted to .ts and can declare `disabled: true as const`
143
+ lst?: []
144
+ }
145
+
146
+ /*** types supporting termwrapper ***/
147
+
148
+ export type BaseTW = {
149
+ id?: string
150
+ $id?: string
151
+ isAtomic?: true
152
+ // plot-specific customizations that are applied to a tw copy
153
+ // todo: should rethink these
154
+ legend?: any
155
+ settings?: {
156
+ [key: string]: any
157
+ }
158
+ sortSamples?: any
159
+ minNumSamples?: number
160
+ valueFilter?: any
161
+ }
162
+
163
+ /*** types supporting Term types ***/
164
+
165
+ export type Subconditions = {
166
+ [index: string | number]: {
167
+ label: string
168
+ }
169
+ }
170
+
171
+ /*** other types ***/
172
+
173
+ export type RangeEntry = {
174
+ //Used binconfig.lst[] and in tvs.ranges[]
175
+ start?: number
176
+ startunbounded?: boolean
177
+ startinclusive?: boolean
178
+ stop?: number
179
+ stopunbounded?: boolean
180
+ stopinclusive?: boolean
181
+ label?: string //for binconfig.lst[]
182
+ value?: string //for tvs.ranges[]
183
+ range?: any //No idea what this is
184
+ }
@@ -0,0 +1,38 @@
1
+ import { BaseQ, BaseTW, Term } from './term.ts'
2
+ import { CategoricalQ, CategoricalTW } from './categorical.ts'
3
+ import { NumericQ, NumericTW } from './numeric.ts'
4
+ import { SnpsQ, SnpsTW } from './snps.ts'
5
+ import { ConditionQ } from './condition.ts'
6
+ import { GeneVariantQ } from './geneVariant.ts'
7
+ import { SampleLstQ } from './samplelst.ts'
8
+
9
+ export type TermWrapper = CategoricalTW | NumericTW | SnpsTW | (BaseTW & { term: Term; q: Q })
10
+ export type TwLst = TermWrapper[]
11
+
12
+ export type Q = BaseQ | CategoricalQ | ConditionQ | NumericQ | GeneVariantQ | SampleLstQ | SnpsQ
13
+
14
+ export type RawTW =
15
+ //{ id: string } | RawCatTW
16
+ //
17
+ // BELOW TYPE IS NOT TESTED, only being used to compare tsc type checking behavior
18
+ // between non-union versus type-unions, which way is easier to code against
19
+ {
20
+ id?: string
21
+ term?: {
22
+ type: 'categorical' | 'condition'
23
+ [key: string | number]: any
24
+ }
25
+ q?: {
26
+ //predefined_groupset_idx?: number
27
+ //customset?: any
28
+ [key: string]: any
29
+ //type?: string //'custom-groupset' |
30
+ //customset?: any
31
+ }
32
+ isAtomic?: true
33
+ $id?: string
34
+ }
35
+
36
+ export interface TwHandler {
37
+ render?: (opts?: any) => void
38
+ }
@@ -0,0 +1,9 @@
1
+ // temporary code file to hold updated type definitions
2
+ // as part of the tw router/handler refactor
3
+
4
+ import { CatTWTypes, CategoricalQ } from './categorical.ts'
5
+ import { NumTWTypes, NumericQ } from './numeric.ts'
6
+
7
+ export type TermWrapper = CatTWTypes | NumTWTypes
8
+
9
+ export type Q = CategoricalQ | NumericQ // | other q
@@ -0,0 +1,193 @@
1
+ // TODO: will deprecate this code, should use client/termsetting/types.ts instead
2
+ import { VocabApi } from './vocab.ts'
3
+ import { TermWrapper, Q } from './terms/tw.ts'
4
+ import { Term } from './terms/term.ts'
5
+ import { Filter } from './filter.ts'
6
+
7
+ /*
8
+
9
+ !!!
10
+ For shared/types:
11
+ - Declare only the types that are used in the request and response payloads, or in *both* client and server-side code
12
+ - Do not track client or server-specific type declarations here, those belong in the corresponding workspace code
13
+ !!!
14
+
15
+ --------EXPORTED--------
16
+ Dom
17
+ Api
18
+ NoTermPromptOptsEntry
19
+ UseCase
20
+ SampleCountsEntry
21
+ Handler
22
+ PillData
23
+ TermSettingOpts
24
+ InstanceDom
25
+ TermSettingInstance
26
+
27
+ */
28
+
29
+ /*** types supporting TermSettingOpts & PillData types ***/
30
+
31
+ export type Dom = {
32
+ holder: Selection
33
+ tip: any //TODO Menu type??
34
+ tip2: any //same as above
35
+ nopilldiv?: Selection
36
+ pilldiv?: Selection
37
+ btnDiv?: Selection
38
+ }
39
+
40
+ export type NoTermPromptOptsEntry = {
41
+ isDictionary?: boolean
42
+ termtype?: string
43
+ text?: string
44
+ html?: string
45
+ q?: Q
46
+ }
47
+
48
+ type NumericContEditOptsEntry = {
49
+ scale: string
50
+ transform: string
51
+ }
52
+
53
+ export type UseCase = {
54
+ target: string
55
+ detail?: string //Maybe?
56
+ regressionType?: string //Maybe?
57
+ term1type?: string //Maybe? not documented
58
+ }
59
+
60
+ type DefaultQ4fillTW = {
61
+ [index: string]: Q
62
+ }
63
+
64
+ export type SampleCountsEntry = {
65
+ key: string
66
+ value: number //This maybe a string???
67
+ label?: string //Not documented?? in key or no?
68
+ }
69
+
70
+ export type Handler = {
71
+ getPillName: (d: any) => string
72
+ getPillStatus: (f?: any) => any
73
+ showEditMenu: (div: Selection) => void
74
+ validateQ?: (d: Q) => void
75
+ postMain?: () => void
76
+ }
77
+
78
+ type BaseTermSettingOpts = {
79
+ //Optional
80
+ abbrCutoff?: number
81
+ activeCohort?: number
82
+ disable_terms?: string[]
83
+ handler: Handler
84
+ noTermPromptOptions?: NoTermPromptOptsEntry[]
85
+ }
86
+
87
+ export type PillData = BaseTermSettingOpts & {
88
+ $id?: string
89
+ doNotHideTipInMain: boolean
90
+ dom: Dom
91
+ error?: string
92
+ filter?: Filter
93
+ q?: Q
94
+ sampleCounts?: SampleCountsEntry[]
95
+ term?: Term
96
+ }
97
+
98
+ export type TermSettingOpts = BaseTermSettingOpts & {
99
+ //Required
100
+ holder: any
101
+ vocabApi: VocabApi
102
+ //Optional
103
+ $id?: string
104
+ buttons?: string[] //replace, delete, info
105
+ defaultQ4fillTW?: DefaultQ4fillTW
106
+ menuOptions: string //all, edit, replace, remove
107
+ menuLayout?: string //horizonal, all
108
+ numericEditMenuVersion?: string[]
109
+ geneVariantEditMenuOnlyGrp?: boolean
110
+ numericContinuousEditOptions?: NumericContEditOptsEntry[]
111
+ placeholder?: string
112
+ placeholderIcon?: string //default '+'
113
+ renderAs: string //none
114
+ tip?: any //TODO: Menu type?
115
+ use_bins_less?: boolean
116
+ usecase?: UseCase
117
+ debug?: boolean | number //true or 1
118
+ //'snplocus' types
119
+ genomeObj?: any
120
+
121
+ //vocab??
122
+
123
+ // required callback function. argument is the updated termwrapper object
124
+ callback: (f: TermWrapper | null) => void
125
+
126
+ // ?
127
+ customFillTw?: (f: TermWrapper) => void
128
+
129
+ // to pass in purpose and context-specific arguments that will be merged to client request parameters
130
+ getBodyParams?: () => any
131
+ }
132
+
133
+ /*** types supporting TermSettingInstance type ***/
134
+
135
+ export type InstanceDom = {
136
+ //Separate from the Dom outlined in termsetting.ts?????
137
+ //Required
138
+ holder: any
139
+ tip: any //TODO Menu type??
140
+ tip2: any //same as above
141
+ nopilldiv?: any
142
+ pilldiv?: any
143
+ btnDiv?: any
144
+ //Optional
145
+ customBinBoundaryInput?: any
146
+ customBinBoundaryPercentileCheckbox?: any
147
+ customBinLabelInput?: any
148
+ customBinRanges?: any
149
+ cutoff_div?: any
150
+ num_holder?: any
151
+ pill_termname?: any
152
+ rangeAndLabelDiv?: any
153
+ }
154
+
155
+ export type TermSettingInstance = {
156
+ activeCohort?: number
157
+ clickNoPillDiv?: any
158
+ dom: InstanceDom
159
+ doNotHideTipInMain?: boolean
160
+ disable_terms?: string[]
161
+ durations: { exit: number }
162
+ filter?: Filter
163
+ handler?: Handler
164
+ handlerByType?: { [index: string]: Handler }
165
+ hasError?: boolean
166
+ noTermPromptOptions?: NoTermPromptOptsEntry[]
167
+ opts: TermSettingOpts
168
+ placeholder: string | undefined
169
+ q: Q
170
+ term: Term
171
+ usecase?: UseCase
172
+ vocabApi: VocabApi
173
+
174
+ //Methods
175
+ /*
176
+ TODOs:
177
+ - Move specifc methods to their own intersection instance type within in termsetting/handler/*.ts, out of main type
178
+ */
179
+ cancelGroupsetting?: () => void
180
+ enterPill?: () => void
181
+ exitPill?: () => void
182
+ initUI: () => void
183
+ removeTerm?: () => void
184
+ runCallback: (f?: any) => any
185
+ setHandler?: (f: string) => any
186
+ showGeneSearch: (clickedElem: Element | null, event: MouseEvent) => void
187
+ showMenu: (event: MouseEvent, clickedElem: string | null, menuHolder: any) => void
188
+ showReuseMenu?: (div: any) => void
189
+ showTree: (holder: Selection, event?: MouseEvent) => void
190
+ tabCallback?: (event: any, tab: any) => void
191
+ updatePill?: () => void
192
+ updateUI: () => void
193
+ }