diff options
| author | Terry Truong <terry06890@gmail.com> | 2022-06-20 19:50:32 +1000 |
|---|---|---|
| committer | Terry Truong <terry06890@gmail.com> | 2022-06-20 19:50:32 +1000 |
| commit | 9a7bb3db01fe2e99ccc12285c63323bc67c278e8 (patch) | |
| tree | 96d9e6c1b2d3e4225fb603d0296048f5cffb753a /src/lib.ts | |
| parent | 2374693a86532637ccf472af5960e68851308528 (diff) | |
Increase type-consistency via server-classes and client-types
Diffstat (limited to 'src/lib.ts')
| -rw-r--r-- | src/lib.ts | 38 |
1 files changed, 37 insertions, 1 deletions
@@ -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' | |
