Type definitions

This article describes the type definitions used by LiSA Library for the Handlebars.js templates' input objects.

According to your custom sections config (see Configuration options ), if provided, or the default sections config, LiSA Library creates an array of Section objects and passes it to the Handlebars.js template:

interface LibraryInputObject {
  sections: Section[];
}

Input object type definitions

Below you'll find the type definitions for all objects used by LiSA Library.

Asset

interface Asset {
  orientation: 'landscape' | 'portrait';
  type: 'image' | 'video';
  url: string;
}

Section

interface Section {
  items: Show[];
  title?: string;
  variations: string[];
}

Show

interface Show {
  asset?: Asset;
  date?: string;
  hosts?: UserShortProfile[];
  id: string;
  description?: string;
  preview?: Asset;
  state: ShowState;
  tag?: string;
  title?: string;
  variations?: string[];
}

ShowState

enum ShowState {
  LIVE = "live",
  POST_SHOW = "postShow",
  PRE_SHOW = "preShow",
  REPLAY = "replay"
}

UserShortProfile

interface UserShortProfile {
  active?: boolean;
  avatar?: string;
  id: string;
  displayName: string;
  username: string;
}

Last updated