openapi3-3.2.3: OpenAPI 3.0 data model
Maintainer Andrzej Rybczak <andrzej@rybczak.net>
Stability experimental
Safe Haskell None
Language Haskell2010

Data.OpenApi.Optics

Description

Lenses and prisms for the optics library.

>>> import Data.Aeson
>>> import Optics.Core
>>> :set -XOverloadedLabels
>>> import qualified Data.ByteString.Lazy.Char8 as BSL
>>> import qualified Data.HashMap.Strict.InsOrd as IOHM

Example from the Data.OpenApi module using optics :

>>> :{
BSL.putStrLn $ encodePretty $ (mempty :: OpenApi)
  & #components % #schemas .~ IOHM.fromList [ ("User", mempty & #type ?~ OpenApiString) ]
  & #paths .~
    IOHM.fromList [ ("/user", mempty & #get ?~ (mempty
        & at 200 ?~ ("OK" & #_Inline % #content % at "application/json" ?~ (mempty & #schema ?~ Ref (Reference "User")))
        & at 404 ?~ "User info not found")) ]
:}
{
    "components": {
        "schemas": {
            "User": {
                "type": "string"
            }
        }
    },
    "info": {
        "title": "",
        "version": ""
    },
    "openapi": "3.0.0",
    "paths": {
        "/user": {
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "404": {
                        "description": "User info not found"
                    }
                }
            }
        }
    }
}

For convenience optics are defined as labels . It means that field accessor names can be overloaded for different types. One such common field is #description . Many components of a Swagger specification can have descriptions, and you can use the same name for them:

>>> BSL.putStrLn $ encodePretty $ (mempty :: Response) & #description .~ "No content"
{
    "description": "No content"
}
>>> :{
BSL.putStrLn $ encodePretty $ (mempty :: Schema)
  & #type        ?~ OpenApiBoolean
  & #description ?~ "To be or not to be"
:}
{
    "description": "To be or not to be",
    "type": "boolean"
}

Additionally, to simplify working with Response , both Operation and Responses have direct access to it via at . Example:

>>> :{
BSL.putStrLn $ encodePretty $ (mempty :: Operation)
  & at 404 ?~ "Not found"
:}
{
    "responses": {
        "404": {
            "description": "Not found"
        }
    }
}

Orphan instances

Ixed Responses Source #
Instance details

Ixed Operation Source #
Instance details

At Responses Source #
Instance details

At Operation Source #
Instance details

(a ~ [ Referenced Schema ], b ~ [ Referenced Schema ]) => LabelOptic "_OpenApiItemsArray" A_Review OpenApiItems OpenApiItems a b Source #
Instance details

(a ~ Referenced Schema , b ~ Referenced Schema ) => LabelOptic "_OpenApiItemsObject" A_Review OpenApiItems OpenApiItems a b Source #
Instance details

(k ~ A_Prism , a ~ ApiKeyParams , b ~ ApiKeyParams ) => LabelOptic "_SecuritySchemeApiKey" k SecuritySchemeType SecuritySchemeType a b Source #
Instance details

(k ~ A_Prism , a ~ HttpSchemeType , b ~ HttpSchemeType ) => LabelOptic "_SecuritySchemeHttp" k SecuritySchemeType SecuritySchemeType a b Source #
Instance details

(k ~ A_Prism , a ~ OAuth2Flows , b ~ OAuth2Flows ) => LabelOptic "_SecuritySchemeOAuth2" k SecuritySchemeType SecuritySchemeType a b Source #
Instance details

(k ~ A_Prism , a ~ URL , b ~ URL ) => LabelOptic "_SecuritySchemeOpenIdConnect" k SecuritySchemeType SecuritySchemeType a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe AdditionalProperties , b ~ Maybe AdditionalProperties ) => LabelOptic "additionalProperties" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe [ Referenced Schema ], b ~ Maybe [ Referenced Schema ]) => LabelOptic "allOf" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "allowEmptyValue" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "allowEmptyValue" k Header Header a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "allowReserved" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "allowReserved" k Encoding Encoding a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe [ Referenced Schema ], b ~ Maybe [ Referenced Schema ]) => LabelOptic "anyOf" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "attribute" k Xml Xml a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( OAuth2Flow OAuth2AuthorizationCodeFlow ), b ~ Maybe ( OAuth2Flow OAuth2AuthorizationCodeFlow )) => LabelOptic "authorizationCode" k OAuth2Flows OAuth2Flows a b Source #
Instance details

(k ~ An_Iso , a ~ AuthorizationURL , b ~ AuthorizationURL ) => LabelOptic "authorizationUrl" k OAuth2ImplicitFlow OAuth2ImplicitFlow a b Source #
Instance details

(k ~ A_Lens , a ~ AuthorizationURL , b ~ AuthorizationURL ) => LabelOptic "authorizationUrl" k OAuth2AuthorizationCodeFlow OAuth2AuthorizationCodeFlow a b Source #
Instance details

(k ~ A_Lens , a ~ Definitions Callback , b ~ Definitions Callback ) => LabelOptic "callbacks" k Components Components a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text ( Referenced Callback ), b ~ InsOrdHashMap Text ( Referenced Callback )) => LabelOptic "callbacks" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( OAuth2Flow OAuth2ClientCredentialsFlow ), b ~ Maybe ( OAuth2Flow OAuth2ClientCredentialsFlow )) => LabelOptic "clientCredentials" k OAuth2Flows OAuth2Flows a b Source #
Instance details

(k ~ A_Lens , a ~ Components , b ~ Components ) => LabelOptic "components" k OpenApi OpenApi a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Contact , b ~ Maybe Contact ) => LabelOptic "contact" k Info Info a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap MediaType MediaTypeObject , b ~ InsOrdHashMap MediaType MediaTypeObject ) => LabelOptic "content" k RequestBody RequestBody a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap MediaType MediaTypeObject , b ~ InsOrdHashMap MediaType MediaTypeObject ) => LabelOptic "content" k Response Response a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe MediaType , b ~ Maybe MediaType ) => LabelOptic "contentType" k Encoding Encoding a b Source #
Instance details

(k ~ A_Lens , a ~ Text , b ~ Text ) => LabelOptic "default" k ServerVariable ServerVariable a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Value , b ~ Maybe Value ) => LabelOptic "default" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( Referenced Response ), b ~ Maybe ( Referenced Response )) => LabelOptic "default" k Responses Responses a b Source #
Instance details

(a ~ Maybe Value , b ~ Maybe Value ) => LabelOptic "default" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Operation , b ~ Maybe Operation ) => LabelOptic "delete" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "deprecated" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "deprecated" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "deprecated" k Header Header a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "deprecated" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k Server Server a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k ServerVariable ServerVariable a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k RequestBody RequestBody a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k Info Info a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k Tag Tag a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe HeaderName , b ~ Maybe HeaderName ) => LabelOptic "description" k Header Header a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Text , b ~ Text ) => LabelOptic "description" k Response Response a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k SecurityScheme SecurityScheme a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k ExternalDocs ExternalDocs a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k Example Example a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "description" k Link Link a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Discriminator , b ~ Maybe Discriminator ) => LabelOptic "discriminator" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "email" k Contact Contact a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text Encoding , b ~ InsOrdHashMap Text Encoding ) => LabelOptic "encoding" k MediaTypeObject MediaTypeObject a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( InsOrdHashSet Text ), b ~ Maybe ( InsOrdHashSet Text )) => LabelOptic "enum" k ServerVariable ServerVariable a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe [ Value ], b ~ Maybe [ Value ]) => LabelOptic "enum" k Schema Schema a b Source #
Instance details

(a ~ Maybe [ Value ], b ~ Maybe [ Value ]) => LabelOptic "enum" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Value , b ~ Maybe Value ) => LabelOptic "example" k MediaTypeObject MediaTypeObject a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Value , b ~ Maybe Value ) => LabelOptic "example" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Value , b ~ Maybe Value ) => LabelOptic "example" k Header Header a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Value , b ~ Maybe Value ) => LabelOptic "example" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Definitions Example , b ~ Definitions Example ) => LabelOptic "examples" k Components Components a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text ( Referenced Example ), b ~ InsOrdHashMap Text ( Referenced Example )) => LabelOptic "examples" k MediaTypeObject MediaTypeObject a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text ( Referenced Example ), b ~ InsOrdHashMap Text ( Referenced Example )) => LabelOptic "examples" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text ( Referenced Example ), b ~ InsOrdHashMap Text ( Referenced Example )) => LabelOptic "examples" k Header Header a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "exclusiveMaximum" k Schema Schema a b Source #
Instance details

(a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "exclusiveMaximum" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "exclusiveMinimum" k Schema Schema a b Source #
Instance details

(a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "exclusiveMinimum" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "explode" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "explode" k Header Header a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "explode" k Encoding Encoding a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ExternalDocs , b ~ Maybe ExternalDocs ) => LabelOptic "externalDocs" k OpenApi OpenApi a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ExternalDocs , b ~ Maybe ExternalDocs ) => LabelOptic "externalDocs" k Tag Tag a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ExternalDocs , b ~ Maybe ExternalDocs ) => LabelOptic "externalDocs" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ExternalDocs , b ~ Maybe ExternalDocs ) => LabelOptic "externalDocs" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe URL , b ~ Maybe URL ) => LabelOptic "externalValue" k Example Example a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Format , b ~ Maybe Format ) => LabelOptic "format" k Schema Schema a b Source #
Instance details

(a ~ Maybe Format , b ~ Maybe Format ) => LabelOptic "format" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Operation , b ~ Maybe Operation ) => LabelOptic "get" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Operation , b ~ Maybe Operation ) => LabelOptic "head" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ Definitions Header , b ~ Definitions Header ) => LabelOptic "headers" k Components Components a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap HeaderName ( Referenced Header ), b ~ InsOrdHashMap HeaderName ( Referenced Header )) => LabelOptic "headers" k Response Response a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text ( Referenced Header ), b ~ InsOrdHashMap Text ( Referenced Header )) => LabelOptic "headers" k Encoding Encoding a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( OAuth2Flow OAuth2ImplicitFlow ), b ~ Maybe ( OAuth2Flow OAuth2ImplicitFlow )) => LabelOptic "implicit" k OAuth2Flows OAuth2Flows a b Source #
Instance details

(k ~ A_Lens , a ~ ParamLocation , b ~ ParamLocation ) => LabelOptic "in" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Info , b ~ Info ) => LabelOptic "info" k OpenApi OpenApi a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe OpenApiItems , b ~ Maybe OpenApiItems ) => LabelOptic "items" k Schema Schema a b Source #
Instance details

(a ~ Maybe OpenApiItems , b ~ Maybe OpenApiItems ) => LabelOptic "items" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe License , b ~ Maybe License ) => LabelOptic "license" k Info Info a b Source #
Instance details

(k ~ A_Lens , a ~ Definitions Link , b ~ Definitions Link ) => LabelOptic "links" k Components Components a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text ( Referenced Link ), b ~ InsOrdHashMap Text ( Referenced Link )) => LabelOptic "links" k Response Response a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text Text , b ~ InsOrdHashMap Text Text ) => LabelOptic "mapping" k Discriminator Discriminator a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "maxItems" k Schema Schema a b Source #
Instance details

(a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "maxItems" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "maxLength" k Schema Schema a b Source #
Instance details

(a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "maxLength" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "maxProperties" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Scientific , b ~ Maybe Scientific ) => LabelOptic "maximum" k Schema Schema a b Source #
Instance details

(a ~ Maybe Scientific , b ~ Maybe Scientific ) => LabelOptic "maximum" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "minItems" k Schema Schema a b Source #
Instance details

(a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "minItems" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "minLength" k Schema Schema a b Source #
Instance details

(a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "minLength" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Integer , b ~ Maybe Integer ) => LabelOptic "minProperties" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Scientific , b ~ Maybe Scientific ) => LabelOptic "minimum" k Schema Schema a b Source #
Instance details

(a ~ Maybe Scientific , b ~ Maybe Scientific ) => LabelOptic "minimum" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Scientific , b ~ Maybe Scientific ) => LabelOptic "multipleOf" k Schema Schema a b Source #
Instance details

(a ~ Maybe Scientific , b ~ Maybe Scientific ) => LabelOptic "multipleOf" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "name" k Contact Contact a b Source #
Instance details

(k ~ A_Lens , a ~ Text , b ~ Text ) => LabelOptic "name" k License License a b Source #
Instance details

(k ~ A_Lens , a ~ TagName , b ~ TagName ) => LabelOptic "name" k Tag Tag a b Source #
Instance details

(k ~ A_Lens , a ~ Text , b ~ Text ) => LabelOptic "name" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "name" k NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "name" k Xml Xml a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "namespace" k Xml Xml a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( Referenced Schema ), b ~ Maybe ( Referenced Schema )) => LabelOptic "not" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "nullable" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe [ Referenced Schema ], b ~ Maybe [ Referenced Schema ]) => LabelOptic "oneOf" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ OpenApiSpecVersion , b ~ OpenApiSpecVersion ) => LabelOptic "openapi" k OpenApi OpenApi a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "operationId" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "operationId" k Link Link a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "operationRef" k Link Link a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Operation , b ~ Maybe Operation ) => LabelOptic "options" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ Definitions Param , b ~ Definitions Param ) => LabelOptic "parameters" k Components Components a b Source #
Instance details

(k ~ A_Lens , a ~ [ Referenced Param ], b ~ [ Referenced Param ]) => LabelOptic "parameters" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ [ Referenced Param ], b ~ [ Referenced Param ]) => LabelOptic "parameters" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text ExpressionOrValue , b ~ InsOrdHashMap Text ExpressionOrValue ) => LabelOptic "parameters" k Link Link a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( OAuth2Flow OAuth2PasswordFlow ), b ~ Maybe ( OAuth2Flow OAuth2PasswordFlow )) => LabelOptic "password" k OAuth2Flows OAuth2Flows a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Operation , b ~ Maybe Operation ) => LabelOptic "patch" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap FilePath PathItem , b ~ InsOrdHashMap FilePath PathItem ) => LabelOptic "paths" k OpenApi OpenApi a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Pattern , b ~ Maybe Pattern ) => LabelOptic "pattern" k Schema Schema a b Source #
Instance details

(a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "pattern" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Operation , b ~ Maybe Operation ) => LabelOptic "post" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "prefix" k Xml Xml a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text ( Referenced Schema ), b ~ InsOrdHashMap Text ( Referenced Schema )) => LabelOptic "properties" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Text , b ~ Text ) => LabelOptic "propertyName" k Discriminator Discriminator a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Operation , b ~ Maybe Operation ) => LabelOptic "put" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "readOnly" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Definitions RequestBody , b ~ Definitions RequestBody ) => LabelOptic "requestBodies" k Components Components a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( Referenced RequestBody ), b ~ Maybe ( Referenced RequestBody )) => LabelOptic "requestBody" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ExpressionOrValue , b ~ Maybe ExpressionOrValue ) => LabelOptic "requestBody" k Link Link a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "required" k RequestBody RequestBody a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "required" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "required" k Header Header a b Source #
Instance details

(k ~ A_Lens , a ~ [ ParamName ], b ~ [ ParamName ]) => LabelOptic "required" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Definitions Response , b ~ Definitions Response ) => LabelOptic "responses" k Components Components a b Source #
Instance details

(k ~ A_Lens , a ~ Responses , b ~ Responses ) => LabelOptic "responses" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap HttpStatusCode ( Referenced Response ), b ~ InsOrdHashMap HttpStatusCode ( Referenced Response )) => LabelOptic "responses" k Responses Responses a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( Referenced Schema ), b ~ Maybe ( Referenced Schema )) => LabelOptic "schema" k MediaTypeObject MediaTypeObject a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( Referenced Schema ), b ~ Maybe ( Referenced Schema )) => LabelOptic "schema" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe ( Referenced Schema ), b ~ Maybe ( Referenced Schema )) => LabelOptic "schema" k Header Header a b Source #
Instance details

(k ~ A_Lens , a ~ Schema , b ~ Schema ) => LabelOptic "schema" k NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Definitions Schema , b ~ Definitions Schema ) => LabelOptic "schemas" k Components Components a b Source #
Instance details

(k ~ A_Lens , a ~ [ SecurityRequirement ], b ~ [ SecurityRequirement ]) => LabelOptic "security" k OpenApi OpenApi a b Source #
Instance details

(k ~ A_Lens , a ~ [ SecurityRequirement ], b ~ [ SecurityRequirement ]) => LabelOptic "security" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ SecurityDefinitions , b ~ SecurityDefinitions ) => LabelOptic "securitySchemes" k Components Components a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Server , b ~ Maybe Server ) => LabelOptic "server" k Link Link a b Source #
Instance details

(k ~ A_Lens , a ~ [ Server ], b ~ [ Server ]) => LabelOptic "servers" k OpenApi OpenApi a b Source #
Instance details

(k ~ A_Lens , a ~ [ Server ], b ~ [ Server ]) => LabelOptic "servers" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ [ Server ], b ~ [ Server ]) => LabelOptic "servers" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Style , b ~ Maybe Style ) => LabelOptic "style" k Param Param a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Style , b ~ Maybe Style ) => LabelOptic "style" k Encoding Encoding a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "summary" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "summary" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "summary" k Example Example a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashSet Tag , b ~ InsOrdHashSet Tag ) => LabelOptic "tags" k OpenApi OpenApi a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashSet TagName , b ~ InsOrdHashSet TagName ) => LabelOptic "tags" k Operation Operation a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "termsOfService" k Info Info a b Source #
Instance details

(k ~ A_Lens , a ~ Text , b ~ Text ) => LabelOptic "title" k Info Info a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Text , b ~ Maybe Text ) => LabelOptic "title" k Schema Schema a b Source #
Instance details

(k ~ An_Iso , a ~ TokenURL , b ~ TokenURL ) => LabelOptic "tokenUrl" k OAuth2PasswordFlow OAuth2PasswordFlow a b Source #
Instance details

(k ~ An_Iso , a ~ TokenURL , b ~ TokenURL ) => LabelOptic "tokenUrl" k OAuth2ClientCredentialsFlow OAuth2ClientCredentialsFlow a b Source #
Instance details

(k ~ A_Lens , a ~ TokenURL , b ~ TokenURL ) => LabelOptic "tokenUrl" k OAuth2AuthorizationCodeFlow OAuth2AuthorizationCodeFlow a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Operation , b ~ Maybe Operation ) => LabelOptic "trace" k PathItem PathItem a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe OpenApiType , b ~ Maybe OpenApiType ) => LabelOptic "type" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ SecuritySchemeType , b ~ SecuritySchemeType ) => LabelOptic "type" k SecurityScheme SecurityScheme a b Source #
Instance details

(a ~ Maybe OpenApiType , b ~ Maybe OpenApiType ) => LabelOptic "type" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "uniqueItems" k Schema Schema a b Source #
Instance details

(a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "uniqueItems" A_Lens NamedSchema NamedSchema a b Source #
Instance details

(k ~ A_Lens , a ~ Text , b ~ Text ) => LabelOptic "url" k Server Server a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe URL , b ~ Maybe URL ) => LabelOptic "url" k Contact Contact a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe URL , b ~ Maybe URL ) => LabelOptic "url" k License License a b Source #
Instance details

(k ~ A_Lens , a ~ URL , b ~ URL ) => LabelOptic "url" k ExternalDocs ExternalDocs a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Value , b ~ Maybe Value ) => LabelOptic "value" k Example Example a b Source #
Instance details

(k ~ A_Lens , a ~ InsOrdHashMap Text ServerVariable , b ~ InsOrdHashMap Text ServerVariable ) => LabelOptic "variables" k Server Server a b Source #
Instance details

(k ~ A_Lens , a ~ Text , b ~ Text ) => LabelOptic "version" k Info Info a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "wrapped" k Xml Xml a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Bool , b ~ Maybe Bool ) => LabelOptic "writeOnly" k Schema Schema a b Source #
Instance details

(k ~ A_Lens , a ~ Maybe Xml , b ~ Maybe Xml ) => LabelOptic "xml" k Schema Schema a b Source #
Instance details

(k ~ A_Prism , a1 ~ a2, b ~ a3) => LabelOptic "_Inline" k ( Referenced a2) ( Referenced a3) a1 b Source #
Instance details

(k ~ A_Prism , a1 ~ Reference , b ~ Reference ) => LabelOptic "_Ref" k ( Referenced a2) ( Referenced a2) a1 b Source #
Instance details