packages feed

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