From fe296a9fa1a5b4fb78598f6696b0ef9a5f5951e4 Mon Sep 17 00:00:00 2001 From: toastal Date: Tue, 20 Oct 2020 10:58:26 +0700 Subject: [PATCH 1/4] unix line endings --- src/Data/String/Regex/Unsafe.purs | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/Data/String/Regex/Unsafe.purs b/src/Data/String/Regex/Unsafe.purs index 0a982c6..4fcc765 100644 --- a/src/Data/String/Regex/Unsafe.purs +++ b/src/Data/String/Regex/Unsafe.purs @@ -1,14 +1,13 @@ -module Data.String.Regex.Unsafe -( unsafeRegex -) where - -import Data.Either (fromRight) -import Data.String.Regex (Regex, regex) -import Data.String.Regex.Flags (RegexFlags) - -import Partial.Unsafe (unsafePartial) - --- | Constructs a `Regex` from a pattern string and flags. Fails with --- | an exception if the pattern contains a syntax error. -unsafeRegex :: String -> RegexFlags -> Regex -unsafeRegex s f = unsafePartial fromRight (regex s f) +module Data.String.Regex.Unsafe + ( unsafeRegex + ) where + +import Data.Either (fromRight) +import Data.String.Regex (Regex, regex) +import Data.String.Regex.Flags (RegexFlags) +import Partial.Unsafe (unsafePartial) + +-- | Constructs a `Regex` from a pattern string and flags. Fails with +-- | an exception if the pattern contains a syntax error. +unsafeRegex :: String -> RegexFlags -> Regex +unsafeRegex s f = unsafePartial fromRight (regex s f) From faeb8f6f2c4ce77d1e183af758cb6729db82628e Mon Sep 17 00:00:00 2001 From: toastal Date: Tue, 20 Oct 2020 14:08:03 +0700 Subject: [PATCH 2/4] catch the lack of partial for future Either --- src/Data/String/Regex/Unsafe.purs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Data/String/Regex/Unsafe.purs b/src/Data/String/Regex/Unsafe.purs index 4fcc765..03dd3c3 100644 --- a/src/Data/String/Regex/Unsafe.purs +++ b/src/Data/String/Regex/Unsafe.purs @@ -2,7 +2,8 @@ module Data.String.Regex.Unsafe ( unsafeRegex ) where -import Data.Either (fromRight) +import Data.Maybe (fromJust) +import Data.Either (hush) import Data.String.Regex (Regex, regex) import Data.String.Regex.Flags (RegexFlags) import Partial.Unsafe (unsafePartial) @@ -10,4 +11,4 @@ import Partial.Unsafe (unsafePartial) -- | Constructs a `Regex` from a pattern string and flags. Fails with -- | an exception if the pattern contains a syntax error. unsafeRegex :: String -> RegexFlags -> Regex -unsafeRegex s f = unsafePartial fromRight (regex s f) +unsafeRegex s f = unsafePartial fromJust (hush (regex s f)) From e49d5aa7a0a3edbf1a4b16b49daafac1ad7c8322 Mon Sep 17 00:00:00 2001 From: toastal Date: Tue, 20 Oct 2020 23:43:30 +0700 Subject: [PATCH 3/4] either unsafeCrashWith --- src/Data/String/Regex/Unsafe.purs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Data/String/Regex/Unsafe.purs b/src/Data/String/Regex/Unsafe.purs index 03dd3c3..a53c94e 100644 --- a/src/Data/String/Regex/Unsafe.purs +++ b/src/Data/String/Regex/Unsafe.purs @@ -2,13 +2,13 @@ module Data.String.Regex.Unsafe ( unsafeRegex ) where -import Data.Maybe (fromJust) -import Data.Either (hush) +import Prelude (identity) +import Data.Either (either) import Data.String.Regex (Regex, regex) import Data.String.Regex.Flags (RegexFlags) -import Partial.Unsafe (unsafePartial) +import Partial.Unsafe (unsafeCrashWith) -- | Constructs a `Regex` from a pattern string and flags. Fails with -- | an exception if the pattern contains a syntax error. unsafeRegex :: String -> RegexFlags -> Regex -unsafeRegex s f = unsafePartial fromJust (hush (regex s f)) +unsafeRegex s f = either (unsafeCrashWith identity) (regex s f) From dd6680c2bc302574f1f4aa5065aa2b9872e7b0f8 Mon Sep 17 00:00:00 2001 From: toastal Date: Tue, 20 Oct 2020 23:46:57 +0700 Subject: [PATCH 4/4] either used correctly --- src/Data/String/Regex/Unsafe.purs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Data/String/Regex/Unsafe.purs b/src/Data/String/Regex/Unsafe.purs index a53c94e..dd7f7ea 100644 --- a/src/Data/String/Regex/Unsafe.purs +++ b/src/Data/String/Regex/Unsafe.purs @@ -11,4 +11,4 @@ import Partial.Unsafe (unsafeCrashWith) -- | Constructs a `Regex` from a pattern string and flags. Fails with -- | an exception if the pattern contains a syntax error. unsafeRegex :: String -> RegexFlags -> Regex -unsafeRegex s f = either (unsafeCrashWith identity) (regex s f) +unsafeRegex s f = either unsafeCrashWith identity (regex s f)