packages feed

dhall-openapi-1.0.4: src/Dhall/Kubernetes/Data.hs

module Dhall.Kubernetes.Data where

import Dhall.Kubernetes.Types

import qualified Data.Map.Strict as Data.Map
import qualified Data.Set        as Set


-- | This just removes the offending keys from the definition
patchCyclicImports :: Definition -> Definition
patchCyclicImports Definition{ properties = oldProps, .. } = Definition{..}
  where
    properties = fmap (\propsMap -> Data.Map.withoutKeys propsMap toRemove) oldProps
    toRemove =
      Set.fromList $
        (   ModelName
        <$> [ "additionalItems"
            , "additionalProperties"
            , "allOf"
            , "anyOf"
            , "definitions"
            , "dependencies"
            , "items"
            , "not"
            , "oneOf"
            , "properties"
            , "patternProperties"
            ]
        )