module Dodge.Module ( moduleSizes , moduleStrings ) where import Dodge.Data --import Dodge.Combine.Module import qualified Data.Map.Strict as M import Control.Lens import Data.Maybe --moduleSizes :: Item -> Int --moduleSizes = moduleFold (+) (^? modSize) 0 moduleSizes :: Item -> Int moduleSizes = length . _iyModules . _itType --moduleStrings :: Item -> [String] --moduleStrings = moduleFold (++) (^? modName) [] moduleStrings :: Item -> [String] moduleStrings = map show . M.elems . _iyModules . _itType --moduleFold :: (m -> m -> m) -> (ItemModule -> Maybe m) -> m -> Item -> m --moduleFold g f e = foldr (g . fromMaybe e . f) e -- . fmap fromModuleType -- . _iyModules -- . _itType