27 lines
714 B
Haskell
27 lines
714 B
Haskell
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
|