homepage: https://github.com/BernardoGomesNegri/ValveValueKeyvalue
changelog-type: markdown
hash: 6166a1c3e13ec553fc53bf1a13a059d88cc822d7d285ba09c296a697744c3df8
test-bench-deps: {}
maintainer: b.gomes.negri@gmail.com
synopsis: A Valve Value-keyvalue parser for Haskell made with Parsec.
changelog: "# Revision history for ValveValueKeyvalue\r\n\r\n## 0.1.0.0 -- YYYY-mm-dd\r\n\r\n*
  First version. Released on an unsuspecting world.\r\n"
basic-deps:
  base: ^>=4.14.2.0
  parsec: '>=3.1.14 && <3.2'
all-versions:
- 1.0.0.0
author: Bernardo Gomes Negri
latest: 1.0.0.0
description-type: markdown
description: "# ValveValueKeyvalue\r\nA Haskell parser for Valve's value-keyvalue
  format. The main function is \"parseValveVKV\" in the module Text.ValveVKV. You
  can see it only parses to types that are part of the typeclass ValveVKV. For example,
  if you have this type:\r\n` data My = My {name :: String, count :: Int} `\r\nThen
  the instance looks like this:\r\n```\r\ninstance ValveVKV My where\r\n    fromValveVKV
  this _ =\r\n        My <$> this ^: \"name\" <*> this .: \"count\"\r\n```\r\nThe
  first parameter is the entry that should be turned into your type, and the 2nd one
  is the parent of that entry. The ^: operator receives an entry on the left side
  and a string on the right side. It tries to find the string subentry named the string
  inside the entry you gave in on the left. The .: operator is similar, but can return
  any type, not just string.\r\n\r\nThe entry type ValveKeyValueEntry has 3 constructors.
  KVObject, which has a Pair of a KeyValueEntry list. KVInt, which has a Pair of Int
  and KVString, which has a pair of string. The Pair type itself is one constructor
  of a string and the type parameter."
license-name: MIT

Update from Hackage at 2021-09-27T17:37:01Z
Update from Hackage at 2021-09-27T17:37:01Z
