17 lines
387 B
Haskell
17 lines
387 B
Haskell
module Dodge.Combine.Trie where
|
|
|
|
import Data.Bifunctor
|
|
import Data.List (sort)
|
|
import Dodge.Combine.Combinations
|
|
import Dodge.Data.Item
|
|
import SimpleTrie
|
|
import Data.Foldable
|
|
|
|
combinationsTrie :: Trie (ItAmount, ItemBaseType) Item
|
|
{-# INLINE combinationsTrie #-}
|
|
combinationsTrie =
|
|
foldl'
|
|
(flip $ uncurry insertInTrie . first sort)
|
|
emptyTrie
|
|
itemCombinations
|