Skip to content

Commit 9ffdba6

Browse files
committed
fix: removed the use of a regex
1 parent 29e4210 commit 9ffdba6

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

lib/json5/decode/helper.ex

+8-3
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,12 @@ defmodule Json5.Decode.Helper do
66
alias Combine.ParserState
77
alias Json5.Decode
88

9-
@multi_line_comment_regex ~R(\/\*[\s\S]*?\*\/)
10-
119
@elements [
1210
:remove_white_space,
1311
:single_line_comment,
1412
:multi_line_comment
1513
]
14+
1615
@ignore_tags for(
1716
x <- @elements,
1817
y <- @elements,
@@ -76,7 +75,13 @@ defmodule Json5.Decode.Helper do
7675
end
7776

7877
def multi_line_comment do
79-
skip(word_of(@multi_line_comment_regex))
78+
skip(
79+
sequence([
80+
string("/*"),
81+
many(if_not(string("*/"), char())),
82+
string("*/")
83+
])
84+
)
8085
end
8186

8287
def ecma_line_terminator do

lib/json5/decode/string.ex

+6-2
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,19 @@ defmodule Json5.Decode.String do
1414
end
1515

1616
defp json5_single_string_characters(prev \\ nil) do
17-
prev |> many1(json5_single_string_character()) |> map(&:erlang.iolist_to_binary/1)
17+
prev
18+
|> many1(json5_single_string_character())
19+
|> map(&:erlang.iolist_to_binary/1)
1820
end
1921

2022
defp json5_single_string_character() do
2123
if_not(char("'"), escape_new_line_char())
2224
end
2325

2426
defp json5_double_string_characters(prev \\ nil) do
25-
prev |> many1(json5_double_string_character()) |> map(&:erlang.iolist_to_binary/1)
27+
prev
28+
|> many1(json5_double_string_character())
29+
|> map(&:erlang.iolist_to_binary/1)
2630
end
2731

2832
defp json5_double_string_character() do

0 commit comments

Comments
 (0)