From ace36dd5da0821bcbbb26d9d186d4422bb710b52 Mon Sep 17 00:00:00 2001 From: Arjun Kathuria Date: Mon, 9 Jan 2023 14:15:55 +0530 Subject: [PATCH 1/2] Adds "Index" and "IxValue" type-family instances for SecurityDefinitions --- src/Data/OpenApi/Lens.hs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Data/OpenApi/Lens.hs b/src/Data/OpenApi/Lens.hs index b8e23101..d24eb892 100644 --- a/src/Data/OpenApi/Lens.hs +++ b/src/Data/OpenApi/Lens.hs @@ -101,6 +101,9 @@ instance At Operation where at n = responses . at n instance HasType NamedSchema (Maybe OpenApiType) where type_ = schema.type_ +-- Type family instances for SecurityDefinitions type +type instance Index SecurityDefinitions = Text +type instance IxValue SecurityDefinitions = SecurityScheme -- OVERLAPPABLE instances instance From 588e6e30a8b58d1dacfdef54504a2905acb20b21 Mon Sep 17 00:00:00 2001 From: Arjun Kathuria Date: Mon, 9 Jan 2023 14:17:09 +0530 Subject: [PATCH 2/2] Adds "Ixed" and "At" type-class instances for SecurityDefinitions type --- src/Data/OpenApi/Lens.hs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Data/OpenApi/Lens.hs b/src/Data/OpenApi/Lens.hs index d24eb892..1477ed80 100644 --- a/src/Data/OpenApi/Lens.hs +++ b/src/Data/OpenApi/Lens.hs @@ -104,6 +104,11 @@ instance HasType NamedSchema (Maybe OpenApiType) where type_ = schema.type_ -- Type family instances for SecurityDefinitions type type instance Index SecurityDefinitions = Text type instance IxValue SecurityDefinitions = SecurityScheme + +-- Type-Class instances for SecurityDefinitions type +instance Ixed SecurityDefinitions where ix n = (coerced :: Lens' SecurityDefinitions (Definitions SecurityScheme)). ix n +instance At SecurityDefinitions where at n = (coerced :: Lens' SecurityDefinitions (Definitions SecurityScheme)). at n + -- OVERLAPPABLE instances instance