All files types.ts

100% Statements 5/5
100% Branches 2/2
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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          2x 2x 2x 2x 2x                                                                                                                                                                                              
export type LSMessageData = Flag | Title | Switch | string;
export type LSFlagType = 'BOOLEAN' | 'STRING' | 'INTEGER';
export type LSDefaultValueType = boolean | string | number;
export type ErrorCallback = (error: any) => void;
export type flagChangedCallback = () => void;
export enum LogLevel {
  DEBUG,
  INFO,
  WARNING,
  ERROR,
}
 
export interface Logger {
  debug: (message: any) => void;
  info: (message: any) => void;
  warning: (message: any) => void;
  error: (message: any) => void;
}
 
export interface userKey {
  userKey: string;
}
 
export interface SdkConfig {
  sdkKey: string;
  onFlagChanged: flagChangedCallback;
  endpoint?: string;
  logLevel?: LogLevel;
  reconnectTime?: number;
  onError?: ErrorCallback;
}
export interface ILSUser {
  userId: null | string;
  properties: Map<string, string>;
  getUserId: () => string;
}
 
export interface ILSClient {
  isInitialized: boolean;
 
  init: (config: SdkConfig) => void;
  getFlag: (name: string, LSUser: ILSUser) => void;
  getBooleanFlag: (name: string, LSUser: ILSUser) => boolean;
  getIntegerFlag: (name: string, LSUser: ILSUser) => number;
  getStringFlag: (name: string, LSUser: ILSUser) => string;
  getAllFlags: () => void;
  destroy: () => void;
}
 
export interface ApiResponse<T> {
  code: number;
  message: string;
  data: T;
}
 
export interface LSMessage {
  userKey: string;
  type: string;
  data: LSMessageData;
}
 
export interface Title {
  title: string;
}
 
export interface Switch {
  title: string;
  active: boolean;
}
 
export type Flags = Map<string, Flag>;
 
export interface Flag {
  flagId: number;
  title: string;
  description: string;
  type: LSFlagType;
  keywords: Keyword[];
  defaultValue: LSDefaultValueType;
  defaultValuePortion?: number;
  defaultValueDescription?: string;
  variations?: Variation[];
  maintainerId: number;
  createdAt: string;
  updatedAt: string;
  deleteAt: string | null;
  active: boolean;
}
 
export interface Variation {
  value: LSDefaultValueType;
  portion: number;
  description: string;
}
 
export interface Keyword {
  properties: Property[];
  value: string;
}
 
export interface Property {
  property: string;
  data: string;
}