grab-form-0.0.0.2: grab-form.cabal
cabal-version: 2.4
name: grab-form
version: 0.0.0.2
synopsis: Applicative parsers for form parameter lists
category: Text
description:
@Grab@ is an @Applicative@ for consuming lists of
(name, value) parameters.
.
== Example
.
Parser:
.
> nameStateAndQAs :: Grab EnglishSentence (Text, Text, [QA])
> nameStateAndQAs =
> (,,)
> <$> at "name" (only text)
> <*> at "state" (only text)
> <*> at "security" (only (natList (only qa)))
>
> qa :: Grab EnglishSentence QA
> qa =
> QA
> <$> at "Q" (only text)
> <*> at "A" (only text)
.
Input:
.
> name: Alonzo
> state: Montana
> security[1].Q: What is your favorite hobby?
> security[1].A: watching cars
> security[2].Q: What is your oldest sibling's name?
> security[2].A: melman
> security[3].Q: What was the make and model of your first car?
> security[3].A: bmw x5
.
Output:
.
> ( "Alonzo"
> , "Montana"
> , [ QA
> { qa_question = "What is your favorite hobby?"
> , qa_answer = "watching cars"
> }
> , QA
> { qa_question = "What is your oldest sibling's name?"
> , qa_answer = "melman"
> }
> , QA
> { qa_question = "What was the make and model of your first car?"
> , qa_answer = "bmw x5"
> }
> ]
> )
homepage: https://github.com/typeclasses/grab
bug-reports: https://github.com/typeclasses/grab/issues
author: Chris Martin
maintainer: Chris Martin, Julie Moronuki
copyright: 2019 Typeclass Consulting, LLC
license: MIT
license-file: license.txt
tested-with: GHC==8.6.5
extra-source-files:
changelog.md
library
hs-source-dirs: src
default-language: Haskell2010
exposed-modules: Data.GrabForm
build-depends:
grab
, base ^>= 4.12.0.0
, containers ^>= 0.6.0.1
, text ^>= 1.2.3.1
test-suite hedgehog
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: test
main-is: hedgehog.hs
build-depends:
grab-form
, base ^>= 4.12.0.0
, containers ^>= 0.6.0.1
, hedgehog ^>= 0.6.1
, text ^>= 1.2.3.1
other-modules:
Test.Tutorial
, Test.OrgRoster.Concepts
, Test.OrgRoster.Grabs
, Test.OrgRoster.Tests