forked from loafle/openapi-generator-original
* fix compile errors / sanitization for petstore-with-fake-endpoints-models-for-testing.yaml * correct mimetype logic * add makefile
46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
{-|
|
|
Module : {{title}}.Lens
|
|
-}
|
|
|
|
{-# LANGUAGE KindSignatures #-}
|
|
{-# LANGUAGE NamedFieldPuns #-}
|
|
{-# LANGUAGE RankNTypes #-}
|
|
{-# LANGUAGE RecordWildCards #-}
|
|
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}
|
|
|
|
module {{title}}.Lens where
|
|
|
|
import qualified Data.Aeson as A
|
|
import qualified Data.ByteString.Lazy as BL
|
|
import qualified Data.Data as P (Data, Typeable)
|
|
import qualified Data.Map as Map
|
|
import qualified Data.Set as Set
|
|
import qualified Data.Time as TI
|
|
|
|
import Data.Text (Text)
|
|
|
|
import Prelude (($), (.),(<$>),(<*>),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
|
|
import qualified Prelude as P
|
|
|
|
import {{title}}.Model
|
|
|
|
-- * Type Aliases
|
|
|
|
type Lens_' s a = Lens_ s s a a
|
|
type Lens_ s t a b = forall (f :: * -> *). Functor f => (a -> f b) -> s -> f t
|
|
|
|
{{#models}}
|
|
{{#model}}
|
|
|
|
-- * {{classname}}
|
|
|
|
{{#vars}}
|
|
-- | '{{name}}' Lens
|
|
{{name}}L :: Lens_' {{classname}} ({{^required}}Maybe {{/required}}{{datatype}})
|
|
{{name}}L f {{classname}}{..} = (\{{name}} -> {{classname}} { {{name}}, ..} ) <$> f {{name}}
|
|
{-# INLINE {{name}}L #-}
|
|
|
|
{{/vars}}
|
|
|
|
{{/model}}
|
|
{{/models}} |