homepage: ''
changelog-type: markdown
hash: 12c035c0062795abbc424e227d993b76767d0abf98a84106c37592cbdfe26ea7
test-bench-deps: {}
maintainer: maintainer@obsidian.systems
synopsis: Class for types with a database id
changelog: |
  # Revision history for database-id-class

  ## 0.1.0.0

  * Initial release. Contains HasId class and associated instances.
basic-deps:
  base: ! '>=4.11 && <4.14'
  aeson: -any
all-versions:
- 0.1.0.0
author: Obsidian Systems LLC
latest: 0.1.0.0
description-type: haddock
description: Class for types with a database id
license-name: BSD-3-Clause

homepage: ''
changelog-type: markdown
hash: 2a70a78520f6e8278a9bdfc6a1bcd2d3d7eb639880175a9ec5c5b15060382cc1
test-bench-deps: {}
maintainer: maintainer@obsidian.systems
synopsis: Class for types with a database id
changelog: |
  # Revision history for database-id-class

  ## 0.1.0.1

  * Add readme

  ## 0.1.0.0

  * Initial release. Contains HasId class and associated instances.
basic-deps:
  base: ! '>=4.11 && <4.14'
  aeson: -any
all-versions:
- 0.1.0.0
- 0.1.0.1
author: Obsidian Systems LLC
latest: 0.1.0.1
description-type: markdown
description: |
  database-id-class
  -----------------

  This package defines a (parametric) data type `Id a` used to refer to the primary key of values of type `a` in a database.

      newtype Id a = Id { unId :: IdData a }

  Here, `IdData` is a type family associated with the `HasId` class:

      class HasId a where
        type IdData a :: *
        type IdData a = Int64

  It defaults to `Int64` because that tends to be the type you want for tables with an autoincrement primary key.
license-name: BSD-3-Clause

Update from Hackage at 2019-07-21T07:38:40Z
Update from Hackage at 2019-07-21T07:38:40Z
