aeson-typescript-0.5.0.0: test/NoOmitNothingFields.hs
module NoOmitNothingFields (allTests) where
import Data.Aeson as A
import Data.Aeson.TypeScript.TH
import Data.Aeson.TypeScript.Types
import Data.Proxy
import Test.Hspec
import TestBoilerplate
$(testDeclarations "NoOmitNothingFields" (A.defaultOptions {omitNothingFields = False}))
allTests :: SpecWith ()
allTests = describe "NoOmitNothingFields" $ do
it "encodes as expected" $ do
let decls = getTypeScriptDeclarations (Proxy :: Proxy Optional)
decls `shouldBe` [TSTypeAlternatives "Optional" [] ["IOptional"] Nothing
, TSInterfaceDeclaration "IOptional" [] [TSField False "optionalInt" "number | null" Nothing] Nothing]
tests