@@ -6,10 +6,13 @@ defmodule Helper.Converter.EditorToHTML.Validator do
66 alias Validator.Schema
77 alias Converter.EditorToHTML.Validator.EditorSchema
88
9- # blocks with no children items
109 @ normal_blocks [ "header" , "paragraph" , "quote" ]
11- # blocks with "items" fields
12- @ complex_blocks [ "list" , "table" ]
10+
11+ # blocks with "items" fields (has many children item)
12+ @ children_blocks [ "list" , "table" ]
13+
14+ # all the supported blocks
15+ @ supported_blocks @ normal_blocks ++ @ children_blocks
1316
1417 @ spec is_valid ( map ) :: { :error , map } | { :ok , :pass }
1518 def is_valid ( data ) when is_map ( data ) do
@@ -60,14 +63,18 @@ defmodule Helper.Converter.EditorToHTML.Validator do
6063
6164 # validate block which has mode and items
6265 defp validate_block ( % { "type" => type , "data" => data } )
63- when type in @ complex_blocks do
66+ when type in @ children_blocks do
6467 [ parent: parent_schema , item: item_schema ] = EditorSchema . get ( type )
6568 validate_with ( type , parent_schema , item_schema , data )
6669 end
6770
68- defp validate_block ( % { "type" => type } ) , do: raise ( "undown #{ type } block" )
71+ defp validate_block ( % { "type" => type } ) do
72+ raise ( "undown #{ type } block, supported blocks: #{ @ supported_blocks |> Enum . join ( " | " ) } " )
73+ end
6974
70- defp validate_block ( e ) , do: raise ( "undown block: #{ e } " )
75+ defp validate_block ( e ) do
76+ raise ( "undown block: #{ e } , supported blocks: #{ @ supported_blocks |> Enum . join ( " | " ) } " )
77+ end
7178
7279 # validate with given schema
7380 defp validate_with ( block , schema , data ) do
0 commit comments