packages feed

notion-client-effectful-0.4.0.0: notion-client-effectful.cabal

cabal-version: 3.4
name: notion-client-effectful
version: 0.4.0.0
synopsis: Effectful effects for notion-client
description:
  Effectful effect and default interpreter for notion-client.
  Exposes every operation on 'Notion.V1.Methods' as a smart
  constructor of the 'Notion.V1.Effectful.Notion' effect and provides
  a 'runNotion' interpreter that dispatches through a concrete
  @Methods@ value. API-level 'Notion.V1.Error.NotionError' responses
  are surfaced via the @Error NotionError@ effect; other
  @Servant.Client.ClientError@ values and OAuth lifecycle or persistence
  failures remain 'IO' exceptions. Accepts fixed-token or refreshing
  @Methods@ without changing effect operations.
  See @README.md@ for the full import pattern and a worked example.

license: MIT
license-file: LICENSE
author: Nadeem Bitar
maintainer: nadeem@gmail.com
category: Web
homepage: https://github.com/shinzui/notion-client/tree/master/notion-client-effectful
bug-reports: https://github.com/shinzui/notion-client/issues
tested-with: ghc ==9.12.4
build-type: Simple
extra-doc-files:
  CHANGELOG.md
  README.md

source-repository head
  type: git
  location: https://github.com/shinzui/notion-client.git
  subdir: notion-client-effectful

common warnings
  ghc-options:
    -Wall
    -Wcompat
    -Widentities
    -Wincomplete-uni-patterns
    -Wincomplete-record-updates
    -Wredundant-constraints
    -fhide-source-paths
    -Wmissing-export-lists
    -Wpartial-fields
    -Wmissing-deriving-strategies

library
  import: warnings
  exposed-modules:
    Notion.V1.Effectful
    Notion.V1.Effectful.Effect
    Notion.V1.Effectful.Interpreter

  default-extensions:
    DataKinds
    DuplicateRecordFields
    GADTs
    LambdaCase
    OverloadedStrings
    TypeFamilies
    TypeOperators

  build-depends:
    aeson >=2.2 && <2.3,
    base >=4.18 && <5,
    effectful-core >=2.5 && <3,
    notion-client >=0.10 && <0.11,
    text >=2.0 && <2.2,

  hs-source-dirs: src
  default-language: GHC2024

test-suite oauth-runtime
  type: exitcode-stdio-1.0
  default-language: GHC2024
  default-extensions:
    DuplicateRecordFields
    OverloadedStrings
    RecordWildCards

  hs-source-dirs:
    test

  main-is: OAuthRuntimeMain.hs
  other-modules:
    OAuthFixtures

  build-depends:
    aeson,
    base,
    bytestring,
    containers,
    effectful-core,
    http-client,
    http-types,
    mtl,
    notion-client,
    notion-client-effectful,
    servant-client,
    servant-client-core,
    tasty,
    tasty-hunit,
    time,

  ghc-options:
    -Wall
    -threaded