openapi3-3.1.0: OpenAPI 3.0 data model
MaintainerAndrzej Rybczak <andrzej@rybczak.net>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

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

Example from the Data.OpenApi module using optics:

>>> :{
BSL.putStrLn $ encodePretty $ (mempty :: OpenApi)
  & #components % #schemas .~ [ ("User", mempty & #type ?~ OpenApiString) ]
  & #paths .~
    [ ("/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

Associated Types

type IxKind Responses #

Ixed Operation Source # 
Instance details

Associated Types

type IxKind Operation #

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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Xml Xml a b #

(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

Methods

labelOptic :: Optic k NoIx Info Info a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Info Info a b #

(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

Methods

labelOptic :: Optic k NoIx Tag Tag a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Link Link a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Tag Tag a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Info Info a b #

(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

Methods

labelOptic :: Optic k NoIx Tag Tag a b #

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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Xml Xml a b #

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

Methods

labelOptic :: Optic k NoIx Xml Xml a b #

(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 ~ 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

Methods

labelOptic :: Optic k NoIx Link Link a b #

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

Methods

labelOptic :: Optic k NoIx Link Link a b #

(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

Methods

labelOptic :: Optic k NoIx Link Link a b #

(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

Methods

labelOptic :: Optic k NoIx Xml Xml a b #

(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

Methods

labelOptic :: Optic k NoIx Link Link a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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 ~ Definitions SecurityScheme, b ~ Definitions SecurityScheme) => 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

Methods

labelOptic :: Optic k NoIx Link Link a b #

(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

Methods

labelOptic :: Optic k NoIx Param Param a b #

(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

Methods

labelOptic :: Optic k NoIx Info Info a b #

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

Methods

labelOptic :: Optic k NoIx Info Info a b #

(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

Methods

labelOptic :: Optic k NoIx Info Info a b #

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

Methods

labelOptic :: Optic k NoIx Xml Xml a b #

(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

Methods

labelOptic :: Optic k NoIx (Referenced a2) (Referenced a3) a1 b #

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

Methods

labelOptic :: Optic k NoIx (Referenced a2) (Referenced a2) a1 b #