GlamourTheme.fromJson constructor

GlamourTheme.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory GlamourTheme.fromJson(Map<String, dynamic> json) {
  GlamourBlockStyle blockStyle(String key) {
    final value = json[key];
    if (value is Map<String, dynamic>) {
      return GlamourBlockStyle.fromJson(value);
    }
    return const GlamourBlockStyle();
  }

  GlamourPrimitiveStyle primitiveStyle(String key) {
    final value = json[key];
    if (value is Map<String, dynamic>) {
      return GlamourPrimitiveStyle.fromJson(value);
    }
    return const GlamourPrimitiveStyle();
  }

  GlamourListStyle listStyle(String key) {
    final value = json[key];
    if (value is Map<String, dynamic>) {
      return GlamourListStyle.fromJson(value);
    }
    return const GlamourListStyle();
  }

  GlamourTaskStyle taskStyle(String key) {
    final value = json[key];
    if (value is Map<String, dynamic>) {
      return GlamourTaskStyle.fromJson(value);
    }
    return const GlamourTaskStyle();
  }

  GlamourCodeBlockStyle codeBlockStyle(String key) {
    final value = json[key];
    if (value is Map<String, dynamic>) {
      return GlamourCodeBlockStyle.fromJson(value);
    }
    return const GlamourCodeBlockStyle();
  }

  GlamourTableStyle tableStyle(String key) {
    final value = json[key];
    if (value is Map<String, dynamic>) {
      return GlamourTableStyle.fromJson(value);
    }
    return const GlamourTableStyle();
  }

  return GlamourTheme(
    document: blockStyle('document'),
    blockQuote: blockStyle('block_quote'),
    paragraph: blockStyle('paragraph'),
    list: listStyle('list'),
    heading: blockStyle('heading'),
    h1: blockStyle('h1'),
    h2: blockStyle('h2'),
    h3: blockStyle('h3'),
    h4: blockStyle('h4'),
    h5: blockStyle('h5'),
    h6: blockStyle('h6'),
    text: primitiveStyle('text'),
    strikethrough: primitiveStyle('strikethrough'),
    emph: primitiveStyle('emph'),
    strong: primitiveStyle('strong'),
    horizontalRule: primitiveStyle('hr'),
    item: primitiveStyle('item'),
    enumeration: primitiveStyle('enumeration'),
    task: taskStyle('task'),
    link: primitiveStyle('link'),
    linkText: primitiveStyle('link_text'),
    image: primitiveStyle('image'),
    imageText: primitiveStyle('image_text'),
    code: blockStyle('code'),
    codeBlock: codeBlockStyle('code_block'),
    table: tableStyle('table'),
    definitionList: blockStyle('definition_list'),
    definitionTerm: primitiveStyle('definition_term'),
    definitionDescription: primitiveStyle('definition_description'),
    htmlBlock: blockStyle('html_block'),
    htmlSpan: blockStyle('html_span'),
  );
}