module Iri.CodePointPredicates.Rfc3987 where
import Iri.CodePointPredicates.Core
import qualified Iri.CodePointPredicates.Rfc3986 as A
import Iri.Prelude hiding (Predicate, inRange, (&&&), (|||))
scheme :: Predicate
scheme :: Predicate
scheme =
Predicate
A.scheme
unencodedUserInfoComponent :: Predicate
unencodedUserInfoComponent :: Predicate
unencodedUserInfoComponent =
Predicate
unreserved Predicate -> Predicate -> Predicate
||| Predicate
A.subDelims
unencodedRegName :: Predicate
unencodedRegName :: Predicate
unencodedRegName =
(Predicate
unreserved Predicate -> Predicate -> Predicate
||| Predicate
A.subDelims) Predicate -> Predicate -> Predicate
&&& (Int -> Predicate
forall a. Eq a => a -> a -> Bool
(/=) Int
46)
unencodedPathSegment :: Predicate
unencodedPathSegment :: Predicate
unencodedPathSegment =
Predicate
unreserved Predicate -> Predicate -> Predicate
||| Predicate
A.subDelims Predicate -> Predicate -> Predicate
||| [Char] -> Predicate
oneOfChars [Char]
":@"
unencodedQuery :: Predicate
unencodedQuery :: Predicate
unencodedQuery =
(Predicate
unencodedPathSegment Predicate -> Predicate -> Predicate
||| Predicate
private Predicate -> Predicate -> Predicate
||| [Char] -> Predicate
oneOfChars [Char]
"/?|") Predicate -> Predicate -> Predicate
&&& (Int -> Predicate
forall a. Eq a => a -> a -> Bool
/= Int
43)
unencodedFragment :: Predicate
unencodedFragment :: Predicate
unencodedFragment =
(Predicate
unencodedPathSegment Predicate -> Predicate -> Predicate
||| [Char] -> Predicate
oneOfChars [Char]
"/?|") Predicate -> Predicate -> Predicate
&&& (Int -> Predicate
forall a. Eq a => a -> a -> Bool
/= Int
43)
unreserved :: Predicate
unreserved :: Predicate
unreserved =
Predicate
A.unreserved Predicate -> Predicate -> Predicate
||| Predicate
ucs
ucs :: Predicate
ucs :: Predicate
ucs Int
x =
Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xA0
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xD7FF
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xF900
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xFDCF
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xFDF0
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xFFEF
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x10000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x1FFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x20000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x2FFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x30000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x3FFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x40000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x4FFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x50000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x5FFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x60000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x6FFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x70000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x7FFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x80000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x8FFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x90000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x9FFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xA0000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xAFFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xB0000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xBFFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xC0000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xCFFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xD0000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xDFFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xE1000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xEFFFD
private :: Predicate
private :: Predicate
private Int
x =
Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xE000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xF8FF
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0xF0000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0xFFFFD
Bool -> Bool -> Bool
|| Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
>= Int
0x100000
Bool -> Bool -> Bool
&& Int
x
Int -> Predicate
forall a. Ord a => a -> a -> Bool
<= Int
0x10FFFD