swagger2-2.7: Swagger 2.0 data model
MaintainerAndrzej Rybczak <andrzej@rybczak.net>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Data.Swagger.Optics

Description

Lenses and prisms for the optics library.

>>> import Data.Aeson
>>> import Optics.Core
>>> :set -XOverloadedLabels

Example from the Data.Swagger module using optics:

>>> :{
encode $ (mempty :: Swagger)
  & #definitions .~ [ ("User", mempty & #type ?~ SwaggerString) ]
  & #paths .~
    [ ("/user", mempty & #get ?~ (mempty
        & #produces ?~ MimeList ["application/json"]
        & at 200 ?~ ("OK" & #_Inline % #schema ?~ Ref (Reference "User"))
        & at 404 ?~ "User info not found")) ]
:}
"{\"swagger\":\"2.0\",\"info\":{\"title\":\"\",\"version\":\"\"},\"paths\":{\"/user\":{\"get\":{\"produces\":[\"application/json\"],\"responses\":{\"200\":{\"description\":\"OK\",\"schema\":{\"$ref\":\"#/definitions/User\"}},\"404\":{\"description\":\"User info not found\"}}}}},\"definitions\":{\"User\":{\"type\":\"string\"}}}"

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:

>>> encode $ (mempty :: Response) & #description .~ "No content"
"{\"description\":\"No content\"}"
>>> :{
encode $ (mempty :: Schema)
  & #type        ?~ SwaggerBoolean
  & #description ?~ "To be or not to be"
:}
"{\"description\":\"To be or not to be\",\"type\":\"boolean\"}"

ParamSchema is basically the base schema specification and many types contain it. So for convenience, all ParamSchema fields are transitively made fields of the type that has it. For example, you can use #type to access SwaggerType of Header schema without having to use #paramSchema:

>>> encode $ (mempty :: Header) & #type ?~ SwaggerNumber
"{\"type\":\"number\"}"

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

>>> :{
encode $ (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

(k ~ A_Prism, a ~ Referenced Schema, b ~ Referenced Schema) => LabelOptic "_ParamBody" k ParamAnySchema ParamAnySchema a b Source # 
Instance details

(k ~ A_Prism, a ~ ParamOtherSchema, b ~ ParamOtherSchema) => LabelOptic "_ParamOther" k ParamAnySchema ParamAnySchema 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 ~ (), b ~ ()) => LabelOptic "_SecuritySchemeBasic" k SecuritySchemeType SecuritySchemeType a b Source # 
Instance details

(k ~ A_Prism, a ~ OAuth2Params, b ~ OAuth2Params) => LabelOptic "_SecuritySchemeOAuth2" 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 ParamOtherSchema ParamOtherSchema 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 FilePath, b ~ Maybe FilePath) => LabelOptic "basePath" k Swagger Swagger a b Source # 
Instance details

(k ~ A_Lens, a ~ MimeList, b ~ MimeList) => LabelOptic "consumes" k Swagger Swagger a b Source # 
Instance details

(k ~ A_Lens, a ~ Maybe MimeList, b ~ Maybe MimeList) => LabelOptic "consumes" k Operation Operation 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 ~ 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 Header Header a b Source # 
Instance details

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

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

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

(k ~ A_Lens, a ~ Definitions Schema, b ~ Definitions Schema) => LabelOptic "definitions" k Swagger Swagger 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 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 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 Text, b ~ Maybe Text) => 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 "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

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

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

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

(a ~ Maybe [Value], b ~ Maybe [Value]) => LabelOptic "enum" A_Lens ParamOtherSchema ParamOtherSchema 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 ~ Maybe Example, b ~ Maybe Example) => LabelOptic "examples" k Response Response a b Source # 
Instance details

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

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

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

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

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

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

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

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

(k ~ A_Lens, a ~ Maybe ExternalDocs, b ~ Maybe ExternalDocs) => LabelOptic "externalDocs" k Swagger Swagger 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

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

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

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

(a ~ Maybe Format, b ~ Maybe Format) => LabelOptic "format" A_Lens ParamOtherSchema ParamOtherSchema 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 ~ InsOrdHashMap HeaderName Header, b ~ InsOrdHashMap HeaderName Header) => LabelOptic "headers" k Response Response a b Source # 
Instance details

(k ~ A_Lens, a ~ Maybe Host, b ~ Maybe Host) => LabelOptic "host" k Swagger Swagger a b Source # 
Instance details

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

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

(a ~ Maybe (SwaggerItems ('SwaggerKindNormal Header)), b ~ Maybe (SwaggerItems ('SwaggerKindNormal Header))) => LabelOptic "items" A_Lens Header Header a b Source # 
Instance details

(a ~ Maybe (SwaggerItems ('SwaggerKindSchema :: SwaggerKind Type)), b ~ Maybe (SwaggerItems ('SwaggerKindSchema :: SwaggerKind Type))) => LabelOptic "items" A_Lens NamedSchema NamedSchema a b Source # 
Instance details

(a ~ Maybe (SwaggerItems ('SwaggerKindSchema :: SwaggerKind Type)), b ~ Maybe (SwaggerItems ('SwaggerKindSchema :: SwaggerKind Type))) => LabelOptic "items" A_Lens Schema Schema a b Source # 
Instance details

(a ~ Maybe (SwaggerItems ('SwaggerKindParamOtherSchema :: SwaggerKind Type)), b ~ Maybe (SwaggerItems ('SwaggerKindParamOtherSchema :: SwaggerKind Type))) => LabelOptic "items" A_Lens ParamOtherSchema ParamOtherSchema 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 #

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Methods

labelOptic :: Optic k NoIx Host Host a b #

(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 Text, b ~ Maybe Text) => LabelOptic "operationId" k Operation Operation 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 ~ ParamSchema ('SwaggerKindParamOtherSchema :: SwaggerKind Type), b ~ ParamSchema ('SwaggerKindParamOtherSchema :: SwaggerKind Type)) => LabelOptic "paramSchema" k ParamOtherSchema ParamOtherSchema a b Source # 
Instance details

(k ~ A_Lens, a ~ ParamSchema ('SwaggerKindNormal Header), b ~ ParamSchema ('SwaggerKindNormal Header)) => LabelOptic "paramSchema" k Header Header a b Source # 
Instance details

(k ~ A_Lens, a ~ ParamSchema ('SwaggerKindSchema :: SwaggerKind Type), b ~ ParamSchema ('SwaggerKindSchema :: SwaggerKind Type)) => LabelOptic "paramSchema" k Schema Schema a b Source # 
Instance details

(a ~ ParamSchema ('SwaggerKindSchema :: SwaggerKind Type), b ~ ParamSchema ('SwaggerKindSchema :: SwaggerKind Type)) => LabelOptic "paramSchema" A_Lens NamedSchema NamedSchema a b Source # 
Instance details

(k ~ A_Lens, a ~ Definitions Param, b ~ Definitions Param) => LabelOptic "parameters" k Swagger Swagger 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 ~ 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 Swagger Swagger a b Source # 
Instance details

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

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

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

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

(k ~ A_Lens, a ~ Maybe PortNumber, b ~ Maybe PortNumber) => LabelOptic "port" k Host Host a b Source # 
Instance details

Methods

labelOptic :: Optic k NoIx Host Host a b #

(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 ~ MimeList, b ~ MimeList) => LabelOptic "produces" k Swagger Swagger a b Source # 
Instance details

(k ~ A_Lens, a ~ Maybe MimeList, b ~ Maybe MimeList) => LabelOptic "produces" k Operation Operation 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 ~ 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 ~ 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 ~ [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 Swagger Swagger 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 ~ ParamAnySchema, b ~ ParamAnySchema) => LabelOptic "schema" k Param Param a b Source # 
Instance details

Methods

labelOptic :: Optic k NoIx Param Param a b #

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

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

(k ~ A_Lens, a ~ Maybe [Scheme], b ~ Maybe [Scheme]) => LabelOptic "schemes" k Swagger Swagger a b Source # 
Instance details

(k ~ A_Lens, a ~ Maybe [Scheme], b ~ Maybe [Scheme]) => LabelOptic "schemes" k Operation Operation a b Source # 
Instance details

(k ~ A_Lens, a ~ [SecurityRequirement], b ~ [SecurityRequirement]) => LabelOptic "security" k Swagger Swagger 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 "securityDefinitions" k Swagger Swagger 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 ~ InsOrdHashSet Tag, b ~ InsOrdHashSet Tag) => LabelOptic "tags" k Swagger Swagger 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 ~ A_Lens, a ~ SecuritySchemeType, b ~ SecuritySchemeType) => LabelOptic "type" k SecurityScheme SecurityScheme a b Source # 
Instance details

(a ~ Maybe (SwaggerType ('SwaggerKindNormal Header)), b ~ Maybe (SwaggerType ('SwaggerKindNormal Header))) => LabelOptic "type" A_Lens Header Header a b Source # 
Instance details

(a ~ Maybe (SwaggerType ('SwaggerKindSchema :: SwaggerKind Type)), b ~ Maybe (SwaggerType ('SwaggerKindSchema :: SwaggerKind Type))) => LabelOptic "type" A_Lens NamedSchema NamedSchema a b Source # 
Instance details

(a ~ Maybe (SwaggerType ('SwaggerKindSchema :: SwaggerKind Type)), b ~ Maybe (SwaggerType ('SwaggerKindSchema :: SwaggerKind Type))) => LabelOptic "type" A_Lens Schema Schema a b Source # 
Instance details

(a ~ Maybe (SwaggerType ('SwaggerKindParamOtherSchema :: SwaggerKind Type)), b ~ Maybe (SwaggerType ('SwaggerKindParamOtherSchema :: SwaggerKind Type))) => LabelOptic "type" A_Lens ParamOtherSchema ParamOtherSchema a b Source # 
Instance details

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

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

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

(a ~ Maybe Bool, b ~ Maybe Bool) => LabelOptic "uniqueItems" A_Lens ParamOtherSchema ParamOtherSchema 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 ~ 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 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 #

(a ~ [Referenced Schema], b ~ [Referenced Schema]) => LabelOptic "_SwaggerItemsArray" A_Review (SwaggerItems ('SwaggerKindSchema :: SwaggerKind Type)) (SwaggerItems ('SwaggerKindSchema :: SwaggerKind Type)) a b Source # 
Instance details

(a ~ Referenced Schema, b ~ Referenced Schema) => LabelOptic "_SwaggerItemsObject" A_Review (SwaggerItems ('SwaggerKindSchema :: SwaggerKind Type)) (SwaggerItems ('SwaggerKindSchema :: SwaggerKind Type)) a b Source # 
Instance details

(a ~ (Maybe (CollectionFormat t), ParamSchema t), b ~ (Maybe (CollectionFormat t), ParamSchema t)) => LabelOptic "_SwaggerItemsPrimitive" A_Review (SwaggerItems t) (SwaggerItems t) a b Source # 
Instance details

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

(k ~ A_Lens, a ~ Maybe (SwaggerItems t), b ~ Maybe (SwaggerItems t)) => LabelOptic "items" k (ParamSchema t) (ParamSchema t) a b Source # 
Instance details

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

(k ~ A_Lens, a ~ Maybe (SwaggerType t), b ~ Maybe (SwaggerType t)) => LabelOptic "type" k (ParamSchema t) (ParamSchema t) a b Source # 
Instance details

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #

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

Methods

labelOptic :: Optic k NoIx (ParamSchema t) (ParamSchema t) a b #