template.ts 629 B

12345678910111213141516171819202122232425
  1. export type TemplateStatusBasis = {
  2. id: string,
  3. locale: string,
  4. pluginId?: string,
  5. }
  6. export type TemplateStatusValid = TemplateStatusBasis & {
  7. isValid: true,
  8. isDefault: boolean,
  9. title: string,
  10. desc?: string,
  11. }
  12. export type TemplateStatusInvalid = TemplateStatusBasis & {
  13. isValid: false,
  14. invalidReason: string,
  15. }
  16. export type TemplateStatus = TemplateStatusValid | TemplateStatusInvalid;
  17. export function isTemplateStatusValid(status: TemplateStatus): status is TemplateStatusValid {
  18. return status.isValid;
  19. }
  20. export type TemplateSummary = {
  21. default: TemplateStatusValid,
  22. [locale: string]: TemplateStatus,
  23. }