aeson-jsonpath-0.3.0.2: Parse and run JSONPath queries on Aeson documents
Copyright(c) 2024-2025 Taimoor Zaeem
LicenseMIT
MaintainerTaimoor Zaeem <mtaimoorzaeem@gmail.com>
StabilityExperimental
PortabilityPortable
Safe HaskellNone
LanguageHaskell2010

Data.Aeson.JSONPath.Types

Description

This module contains all the data structures related to JSONPath

Documentation

data Query Source #

Instances

Instances details
Show Query Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Query

Eq Query Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Query

Methods

(==) :: Query -> Query -> Bool Source #

(/=) :: Query -> Query -> Bool Source #

Lift Query Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Query

Methods

lift :: Quote m => Query -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => Query -> Code m Query Source #

data QueryType Source #

Constructors

Root 
Current 

Instances

Instances details
Show QueryType Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Query

Eq QueryType Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Query

Lift QueryType Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Query

Methods

lift :: Quote m => QueryType -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => QueryType -> Code m QueryType Source #

data QueryState Source #

Constructors

QueryState 

Fields

data Segment a Source #

Instances

Instances details
Lift a => Lift (Segment a :: Type) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Segment

Methods

lift :: Quote m => Segment a -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => Segment a -> Code m (Segment a) Source #

Show a => Show (Segment a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Segment

Eq a => Eq (Segment a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Segment

Methods

(==) :: Segment a -> Segment a -> Bool Source #

(/=) :: Segment a -> Segment a -> Bool Source #

data QuerySegment a Source #

Constructors

QuerySegment 

Instances

Instances details
Lift a => Lift (QuerySegment a :: Type) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Segment

Methods

lift :: Quote m => QuerySegment a -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => QuerySegment a -> Code m (QuerySegment a) Source #

Show a => Show (QuerySegment a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Segment

Eq a => Eq (QuerySegment a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Segment

data Selector a Source #

Instances

Instances details
Lift a => Lift (Selector a :: Type) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Selector

Methods

lift :: Quote m => Selector a -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => Selector a -> Code m (Selector a) Source #

Show a => Show (Selector a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Selector

Eq a => Eq (Selector a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Selector

Methods

(==) :: Selector a -> Selector a -> Bool Source #

(/=) :: Selector a -> Selector a -> Bool Source #

data Literal Source #

Instances

Instances details
Show Literal Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Eq Literal Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Lift Literal Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Methods

lift :: Quote m => Literal -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => Literal -> Code m Literal Source #

data BasicExpr a Source #

Instances

Instances details
Lift a => Lift (BasicExpr a :: Type) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Methods

lift :: Quote m => BasicExpr a -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => BasicExpr a -> Code m (BasicExpr a) Source #

Show a => Show (BasicExpr a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Eq a => Eq (BasicExpr a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

newtype LogicalOrExpr a Source #

Constructors

LogicalOr [LogicalAndExpr a] 

Instances

Instances details
Lift a => Lift (LogicalOrExpr a :: Type) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Methods

lift :: Quote m => LogicalOrExpr a -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => LogicalOrExpr a -> Code m (LogicalOrExpr a) Source #

Show a => Show (LogicalOrExpr a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Eq a => Eq (LogicalOrExpr a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

newtype LogicalAndExpr a Source #

Constructors

LogicalAnd [BasicExpr a] 

Instances

Instances details
Lift a => Lift (LogicalAndExpr a :: Type) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Methods

lift :: Quote m => LogicalAndExpr a -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => LogicalAndExpr a -> Code m (LogicalAndExpr a) Source #

Show a => Show (LogicalAndExpr a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Eq a => Eq (LogicalAndExpr a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

newtype TestExpr a Source #

Constructors

FilterQuery a 

Instances

Instances details
Lift a => Lift (TestExpr a :: Type) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Methods

lift :: Quote m => TestExpr a -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => TestExpr a -> Code m (TestExpr a) Source #

Show a => Show (TestExpr a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Eq a => Eq (TestExpr a) Source # 
Instance details

Defined in Data.Aeson.JSONPath.Types.Filter

Methods

(==) :: TestExpr a -> TestExpr a -> Bool Source #

(/=) :: TestExpr a -> TestExpr a -> Bool Source #