TabWithGroup.purs 802 B

1234567891011121314151617181920212223
  1. module PureTabs.Model.TabWithGroup where
  2. import Browser.Tabs (Tab)
  3. import Data.Generic.Rep (class Generic)
  4. import Data.Generic.Rep.Show (genericShow)
  5. import Data.Show (class Show)
  6. import PureTabs.Model.Group (GroupId)
  7. import Foreign.Class (class Decode, class Encode)
  8. import Foreign.Generic (defaultOptions, genericDecode, genericEncode)
  9. data TabWithGroup
  10. = TabWithGroup Tab GroupId
  11. derive instance genTabWithGroup :: Generic TabWithGroup _
  12. instance showTabWithGroup :: Show TabWithGroup where
  13. show = genericShow
  14. instance encodeTabWithGroup :: Encode TabWithGroup where
  15. encode x = genericEncode (defaultOptions { unwrapSingleConstructors = true }) x
  16. instance decodeTabWithGroup :: Decode TabWithGroup where
  17. decode x = genericDecode (defaultOptions { unwrapSingleConstructors = true }) x