aboutsummaryrefslogtreecommitdiff
path: root/src/lib.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.ts')
-rw-r--r--src/lib.ts38
1 files changed, 37 insertions, 1 deletions
diff --git a/src/lib.ts b/src/lib.ts
index 67ac4c3..a6c8df1 100644
--- a/src/lib.ts
+++ b/src/lib.ts
@@ -1,7 +1,43 @@
/*
- * Types
+ * Types/classes
*/
+// Used for tree-of-life representation
+// Maps tree-of-life node names to node objects
+export type TolMap = Map<string, TolNode>;
+// Represents a tree-of-life node
+export class TolNode {
+ otolId: string | null;
+ children: string[];
+ parent: string | null;
+ tips: number;
+ pSupport: boolean;
+ commonName: null | string;
+ imgName: null | string | [string, string] | [null, string] | [string, null];
+ constructor(children: string[] = [], parent = null, tips = 0, pSupport = false){
+ this.otolId = null;
+ this.children = children;
+ this.parent = parent;
+ this.tips = tips;
+ this.pSupport = pSupport;
+ this.commonName = null;
+ this.imgName = null;
+ }
+}
+// Used for server search-responses
+export type SearchSugg = {name: string, canonicalName: string | null};
+ // Represents a search-string suggestion
+export type SearchSuggResponse = {suggs: SearchSugg[], hasMore: boolean};
+ // Holds search suggestions and an indication of if there was more
+// Used for server info-responses
+export type DescInfo = {text: string, wikiId: number, fromRedirect: boolean, fromDbp: boolean};
+export type ImgInfo = {id: number, src: string, url: string, license: string, artist: string, credit: string}
+export type TileInfoResponse = {
+ tolNode: null | TolNode,
+ descData: null | DescInfo | [DescInfo, DescInfo],
+ imgData: null | ImgInfo | [ImgInfo, ImgInfo],
+};
+
// Used by auto-mode and tutorial
export type Action =
'expand' | 'collapse' | 'expandToView' | 'unhideAncestor' |