All files / src/types/kpj kpj-file.ts

100% Statements 53/53
100% Branches 0/0
100% Functions 0/0
100% Lines 53/53

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 541x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
/*
 * Keyman Developer Project File
 */
 
 
// These interfaces match XML read by xml2js. Use `KeymanDeveloperProject`
// returned by `KPJFileReader.transform()` for all processing.
 
export interface KPJFile {
  KeymanDeveloperProject: KPJFileProject;
}
 
export interface KPJFileProject {
  Options?: KPJFileOptions;   // Required
  Files?: KPJFileFiles;       // Required in 1.0, optional and always ignored in 2.0
};
 
export interface KPJFileOptions {
  BuildPath?: string;                         // default '' in 1.0, '$PROJECTPATH/build' in 2.0
  SourcePath?: string;                        // default '' in 1.0, '$PROJECTPATH/source' in 2.0
  CompilerWarningsAsErrors?: string;          // default False
  WarnDeprecatedCode?: string;                // default True
  SkipMetadataFiles?: string;                 // default True for 1.0, False for 2.0
  CheckFilenameConventions?: string;          // default False
  ProjectType?: 'keyboard' | 'lexicalmodel';  // default 'keyboard'
  Version?: '1.0' | '2.0';                    // default 1.0
};
 
export interface KPJFileFiles {
  File?: KPJFileFile[];
};
 
export interface KPJFileFile {
  ID?: string;
  Filename?: string;
  Filepath?: string;
  FileVersion?: string;
  FileType?: string;
  Details?: KPJFileFileDetail_Kmn & KPJFileFileDetail_Kps;
  ParentFileID?: string;
};
 
export interface KPJFileFileDetail_Kmn {
  Name?: string;
  Copyright?: string;
  Message?: string;
};
 
export interface KPJFileFileDetail_Kps {
  Name?: string;
  Copyright?: string;
  Version?: string;
};