From b4874356eb1c3f03dd3256aca94e20b158dcc8e6 Mon Sep 17 00:00:00 2001 From: Csaba Hruska Date: Sun, 13 Nov 2016 11:26:50 +0100 Subject: improve purescript json decode error message --- ddl/out/LambdaCube.IR.purs | 94 +++++++++++++++++----------------- ddl/out/LambdaCube.Mesh.purs | 12 ++--- ddl/out/LambdaCube.PipelineSchema.purs | 12 ++--- ddl/out/LambdaCube.TypeInfo.purs | 16 +++--- ddl/out/TestData.purs | 20 ++++---- ddl/templates/data.purs.ede | 2 +- 6 files changed, 78 insertions(+), 78 deletions(-) diff --git a/ddl/out/LambdaCube.IR.purs b/ddl/out/LambdaCube.IR.purs index b7e7536..0c515ec 100644 --- a/ddl/out/LambdaCube.IR.purs +++ b/ddl/out/LambdaCube.IR.purs @@ -1,14 +1,15 @@ -- generated file, do not modify! --- 2016-11-11T11:17:02.701527000000Z +-- 2016-11-12T13:21:48.334863000000Z module LambdaCube.IR where import Prelude import Data.Generic +import Data.Either (Either(..)) import Data.Maybe (Maybe(..)) import Data.StrMap (StrMap(..)) import Data.Map (Map(..)) import Data.List (List(..)) -import Linear +import LinearBase import Data.Argonaut.Encode.Combinators ((~>), (:=)) import Data.Argonaut.Decode.Combinators ((.?)) @@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject) import Data.Argonaut.Printer (printJson) import Data.Argonaut.Encode (class EncodeJson, encodeJson) import Data.Argonaut.Decode (class DecodeJson, decodeJson) -import Partial.Unsafe (unsafeCrashWith) type StreamName = Int @@ -498,7 +498,7 @@ instance decodeJsonArrayValue :: DecodeJson ArrayValue where "VIntArray" -> VIntArray <$> obj .? "arg0" "VWordArray" -> VWordArray <$> obj .? "arg0" "VFloatArray" -> VFloatArray <$> obj .? "arg0" - _ -> unsafeCrashWith "decodeJson @ ArrayValue" + _ -> Left ("decodeJsonArrayValue - unknown tag: " <> tag) instance encodeJsonValue :: EncodeJson Value where encodeJson v = case v of @@ -558,7 +558,7 @@ instance decodeJsonValue :: DecodeJson Value where "VM42F" -> VM42F <$> obj .? "arg0" "VM43F" -> VM43F <$> obj .? "arg0" "VM44F" -> VM44F <$> obj .? "arg0" - _ -> unsafeCrashWith "decodeJson @ Value" + _ -> Left ("decodeJsonValue - unknown tag: " <> tag) instance encodeJsonInputType :: EncodeJson InputType where encodeJson v = case v of @@ -690,7 +690,7 @@ instance decodeJsonInputType :: DecodeJson InputType where "UTexture2DMSArray" -> pure UTexture2DMSArray "UTextureBuffer" -> pure UTextureBuffer "UTexture2DRect" -> pure UTexture2DRect - _ -> unsafeCrashWith "decodeJson @ InputType" + _ -> Left ("decodeJsonInputType - unknown tag: " <> tag) instance encodeJsonPointSpriteCoordOrigin :: EncodeJson PointSpriteCoordOrigin where encodeJson v = case v of @@ -704,7 +704,7 @@ instance decodeJsonPointSpriteCoordOrigin :: DecodeJson PointSpriteCoordOrigin w case tag of "LowerLeft" -> pure LowerLeft "UpperLeft" -> pure UpperLeft - _ -> unsafeCrashWith "decodeJson @ PointSpriteCoordOrigin" + _ -> Left ("decodeJsonPointSpriteCoordOrigin - unknown tag: " <> tag) instance encodeJsonPointSize :: EncodeJson PointSize where encodeJson v = case v of @@ -718,7 +718,7 @@ instance decodeJsonPointSize :: DecodeJson PointSize where case tag of "PointSize" -> PointSize <$> obj .? "arg0" "ProgramPointSize" -> pure ProgramPointSize - _ -> unsafeCrashWith "decodeJson @ PointSize" + _ -> Left ("decodeJsonPointSize - unknown tag: " <> tag) instance encodeJsonPolygonOffset :: EncodeJson PolygonOffset where encodeJson v = case v of @@ -732,7 +732,7 @@ instance decodeJsonPolygonOffset :: DecodeJson PolygonOffset where case tag of "NoOffset" -> pure NoOffset "Offset" -> Offset <$> obj .? "arg0" <*> obj .? "arg1" - _ -> unsafeCrashWith "decodeJson @ PolygonOffset" + _ -> Left ("decodeJsonPolygonOffset - unknown tag: " <> tag) instance encodeJsonFrontFace :: EncodeJson FrontFace where encodeJson v = case v of @@ -746,7 +746,7 @@ instance decodeJsonFrontFace :: DecodeJson FrontFace where case tag of "CCW" -> pure CCW "CW" -> pure CW - _ -> unsafeCrashWith "decodeJson @ FrontFace" + _ -> Left ("decodeJsonFrontFace - unknown tag: " <> tag) instance encodeJsonPolygonMode :: EncodeJson PolygonMode where encodeJson v = case v of @@ -762,7 +762,7 @@ instance decodeJsonPolygonMode :: DecodeJson PolygonMode where "PolygonPoint" -> PolygonPoint <$> obj .? "arg0" "PolygonLine" -> PolygonLine <$> obj .? "arg0" "PolygonFill" -> pure PolygonFill - _ -> unsafeCrashWith "decodeJson @ PolygonMode" + _ -> Left ("decodeJsonPolygonMode - unknown tag: " <> tag) instance encodeJsonProvokingVertex :: EncodeJson ProvokingVertex where encodeJson v = case v of @@ -776,7 +776,7 @@ instance decodeJsonProvokingVertex :: DecodeJson ProvokingVertex where case tag of "FirstVertex" -> pure FirstVertex "LastVertex" -> pure LastVertex - _ -> unsafeCrashWith "decodeJson @ ProvokingVertex" + _ -> Left ("decodeJsonProvokingVertex - unknown tag: " <> tag) instance encodeJsonCullMode :: EncodeJson CullMode where encodeJson v = case v of @@ -792,7 +792,7 @@ instance decodeJsonCullMode :: DecodeJson CullMode where "CullNone" -> pure CullNone "CullFront" -> CullFront <$> obj .? "arg0" "CullBack" -> CullBack <$> obj .? "arg0" - _ -> unsafeCrashWith "decodeJson @ CullMode" + _ -> Left ("decodeJsonCullMode - unknown tag: " <> tag) instance encodeJsonComparisonFunction :: EncodeJson ComparisonFunction where encodeJson v = case v of @@ -818,7 +818,7 @@ instance decodeJsonComparisonFunction :: DecodeJson ComparisonFunction where "Notequal" -> pure Notequal "Gequal" -> pure Gequal "Always" -> pure Always - _ -> unsafeCrashWith "decodeJson @ ComparisonFunction" + _ -> Left ("decodeJsonComparisonFunction - unknown tag: " <> tag) instance encodeJsonStencilOperation :: EncodeJson StencilOperation where encodeJson v = case v of @@ -844,7 +844,7 @@ instance decodeJsonStencilOperation :: DecodeJson StencilOperation where "OpDecr" -> pure OpDecr "OpDecrWrap" -> pure OpDecrWrap "OpInvert" -> pure OpInvert - _ -> unsafeCrashWith "decodeJson @ StencilOperation" + _ -> Left ("decodeJsonStencilOperation - unknown tag: " <> tag) instance encodeJsonBlendEquation :: EncodeJson BlendEquation where encodeJson v = case v of @@ -864,7 +864,7 @@ instance decodeJsonBlendEquation :: DecodeJson BlendEquation where "FuncReverseSubtract" -> pure FuncReverseSubtract "Min" -> pure Min "Max" -> pure Max - _ -> unsafeCrashWith "decodeJson @ BlendEquation" + _ -> Left ("decodeJsonBlendEquation - unknown tag: " <> tag) instance encodeJsonBlendingFactor :: EncodeJson BlendingFactor where encodeJson v = case v of @@ -904,7 +904,7 @@ instance decodeJsonBlendingFactor :: DecodeJson BlendingFactor where "ConstantAlpha" -> pure ConstantAlpha "OneMinusConstantAlpha" -> pure OneMinusConstantAlpha "SrcAlphaSaturate" -> pure SrcAlphaSaturate - _ -> unsafeCrashWith "decodeJson @ BlendingFactor" + _ -> Left ("decodeJsonBlendingFactor - unknown tag: " <> tag) instance encodeJsonLogicOperation :: EncodeJson LogicOperation where encodeJson v = case v of @@ -946,7 +946,7 @@ instance decodeJsonLogicOperation :: DecodeJson LogicOperation where "OrInverted" -> pure OrInverted "Nand" -> pure Nand "Set" -> pure Set - _ -> unsafeCrashWith "decodeJson @ LogicOperation" + _ -> Left ("decodeJsonLogicOperation - unknown tag: " <> tag) instance encodeJsonStencilOps :: EncodeJson StencilOps where encodeJson v = case v of @@ -968,7 +968,7 @@ instance decodeJsonStencilOps :: DecodeJson StencilOps where { frontStencilOp:frontStencilOp , backStencilOp:backStencilOp } - _ -> unsafeCrashWith "decodeJson @ StencilOps" + _ -> Left ("decodeJsonStencilOps - unknown tag: " <> tag) instance encodeJsonStencilTest :: EncodeJson StencilTest where encodeJson v = case v of @@ -993,7 +993,7 @@ instance decodeJsonStencilTest :: DecodeJson StencilTest where , stencilReference:stencilReference , stencilMask:stencilMask } - _ -> unsafeCrashWith "decodeJson @ StencilTest" + _ -> Left ("decodeJsonStencilTest - unknown tag: " <> tag) instance encodeJsonStencilTests :: EncodeJson StencilTests where encodeJson v = case v of @@ -1005,7 +1005,7 @@ instance decodeJsonStencilTests :: DecodeJson StencilTests where tag <- obj .? "tag" case tag of "StencilTests" -> StencilTests <$> obj .? "arg0" <*> obj .? "arg1" - _ -> unsafeCrashWith "decodeJson @ StencilTests" + _ -> Left ("decodeJsonStencilTests - unknown tag: " <> tag) instance encodeJsonFetchPrimitive :: EncodeJson FetchPrimitive where encodeJson v = case v of @@ -1025,7 +1025,7 @@ instance decodeJsonFetchPrimitive :: DecodeJson FetchPrimitive where "Triangles" -> pure Triangles "LinesAdjacency" -> pure LinesAdjacency "TrianglesAdjacency" -> pure TrianglesAdjacency - _ -> unsafeCrashWith "decodeJson @ FetchPrimitive" + _ -> Left ("decodeJsonFetchPrimitive - unknown tag: " <> tag) instance encodeJsonOutputPrimitive :: EncodeJson OutputPrimitive where encodeJson v = case v of @@ -1041,7 +1041,7 @@ instance decodeJsonOutputPrimitive :: DecodeJson OutputPrimitive where "TrianglesOutput" -> pure TrianglesOutput "LinesOutput" -> pure LinesOutput "PointsOutput" -> pure PointsOutput - _ -> unsafeCrashWith "decodeJson @ OutputPrimitive" + _ -> Left ("decodeJsonOutputPrimitive - unknown tag: " <> tag) instance encodeJsonColorArity :: EncodeJson ColorArity where encodeJson v = case v of @@ -1059,7 +1059,7 @@ instance decodeJsonColorArity :: DecodeJson ColorArity where "RG" -> pure RG "RGB" -> pure RGB "RGBA" -> pure RGBA - _ -> unsafeCrashWith "decodeJson @ ColorArity" + _ -> Left ("decodeJsonColorArity - unknown tag: " <> tag) instance encodeJsonBlending :: EncodeJson Blending where encodeJson v = case v of @@ -1100,7 +1100,7 @@ instance decodeJsonBlending :: DecodeJson Blending where , alphaFDst:alphaFDst , color:color } - _ -> unsafeCrashWith "decodeJson @ Blending" + _ -> Left ("decodeJsonBlending - unknown tag: " <> tag) instance encodeJsonRasterContext :: EncodeJson RasterContext where encodeJson v = case v of @@ -1116,7 +1116,7 @@ instance decodeJsonRasterContext :: DecodeJson RasterContext where "PointCtx" -> PointCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" "LineCtx" -> LineCtx <$> obj .? "arg0" <*> obj .? "arg1" "TriangleCtx" -> TriangleCtx <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" - _ -> unsafeCrashWith "decodeJson @ RasterContext" + _ -> Left ("decodeJsonRasterContext - unknown tag: " <> tag) instance encodeJsonFragmentOperation :: EncodeJson FragmentOperation where encodeJson v = case v of @@ -1132,7 +1132,7 @@ instance decodeJsonFragmentOperation :: DecodeJson FragmentOperation where "DepthOp" -> DepthOp <$> obj .? "arg0" <*> obj .? "arg1" "StencilOp" -> StencilOp <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" "ColorOp" -> ColorOp <$> obj .? "arg0" <*> obj .? "arg1" - _ -> unsafeCrashWith "decodeJson @ FragmentOperation" + _ -> Left ("decodeJsonFragmentOperation - unknown tag: " <> tag) instance encodeJsonAccumulationContext :: EncodeJson AccumulationContext where encodeJson v = case v of @@ -1154,7 +1154,7 @@ instance decodeJsonAccumulationContext :: DecodeJson AccumulationContext where { accViewportName:accViewportName , accOperations:accOperations } - _ -> unsafeCrashWith "decodeJson @ AccumulationContext" + _ -> Left ("decodeJsonAccumulationContext - unknown tag: " <> tag) instance encodeJsonTextureDataType :: EncodeJson TextureDataType where encodeJson v = case v of @@ -1172,7 +1172,7 @@ instance decodeJsonTextureDataType :: DecodeJson TextureDataType where "IntT" -> IntT <$> obj .? "arg0" "WordT" -> WordT <$> obj .? "arg0" "ShadowT" -> pure ShadowT - _ -> unsafeCrashWith "decodeJson @ TextureDataType" + _ -> Left ("decodeJsonTextureDataType - unknown tag: " <> tag) instance encodeJsonTextureType :: EncodeJson TextureType where encodeJson v = case v of @@ -1196,7 +1196,7 @@ instance decodeJsonTextureType :: DecodeJson TextureType where "TextureRect" -> TextureRect <$> obj .? "arg0" "Texture2DMS" -> Texture2DMS <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" "TextureBuffer" -> TextureBuffer <$> obj .? "arg0" - _ -> unsafeCrashWith "decodeJson @ TextureType" + _ -> Left ("decodeJsonTextureType - unknown tag: " <> tag) instance encodeJsonMipMap :: EncodeJson MipMap where encodeJson v = case v of @@ -1212,7 +1212,7 @@ instance decodeJsonMipMap :: DecodeJson MipMap where "Mip" -> Mip <$> obj .? "arg0" <*> obj .? "arg1" "NoMip" -> pure NoMip "AutoMip" -> AutoMip <$> obj .? "arg0" <*> obj .? "arg1" - _ -> unsafeCrashWith "decodeJson @ MipMap" + _ -> Left ("decodeJsonMipMap - unknown tag: " <> tag) instance encodeJsonFilter :: EncodeJson Filter where encodeJson v = case v of @@ -1234,7 +1234,7 @@ instance decodeJsonFilter :: DecodeJson Filter where "NearestMipmapLinear" -> pure NearestMipmapLinear "LinearMipmapNearest" -> pure LinearMipmapNearest "LinearMipmapLinear" -> pure LinearMipmapLinear - _ -> unsafeCrashWith "decodeJson @ Filter" + _ -> Left ("decodeJsonFilter - unknown tag: " <> tag) instance encodeJsonEdgeMode :: EncodeJson EdgeMode where encodeJson v = case v of @@ -1252,7 +1252,7 @@ instance decodeJsonEdgeMode :: DecodeJson EdgeMode where "MirroredRepeat" -> pure MirroredRepeat "ClampToEdge" -> pure ClampToEdge "ClampToBorder" -> pure ClampToBorder - _ -> unsafeCrashWith "decodeJson @ EdgeMode" + _ -> Left ("decodeJsonEdgeMode - unknown tag: " <> tag) instance encodeJsonImageSemantic :: EncodeJson ImageSemantic where encodeJson v = case v of @@ -1268,7 +1268,7 @@ instance decodeJsonImageSemantic :: DecodeJson ImageSemantic where "Depth" -> pure Depth "Stencil" -> pure Stencil "Color" -> pure Color - _ -> unsafeCrashWith "decodeJson @ ImageSemantic" + _ -> Left ("decodeJsonImageSemantic - unknown tag: " <> tag) instance encodeJsonImageRef :: EncodeJson ImageRef where encodeJson v = case v of @@ -1282,7 +1282,7 @@ instance decodeJsonImageRef :: DecodeJson ImageRef where case tag of "TextureImage" -> TextureImage <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" "Framebuffer" -> Framebuffer <$> obj .? "arg0" - _ -> unsafeCrashWith "decodeJson @ ImageRef" + _ -> Left ("decodeJsonImageRef - unknown tag: " <> tag) instance encodeJsonClearImage :: EncodeJson ClearImage where encodeJson v = case v of @@ -1304,7 +1304,7 @@ instance decodeJsonClearImage :: DecodeJson ClearImage where { imageSemantic:imageSemantic , clearValue:clearValue } - _ -> unsafeCrashWith "decodeJson @ ClearImage" + _ -> Left ("decodeJsonClearImage - unknown tag: " <> tag) instance encodeJsonCommand :: EncodeJson Command where encodeJson v = case v of @@ -1340,7 +1340,7 @@ instance decodeJsonCommand :: DecodeJson Command where "GenerateMipMap" -> GenerateMipMap <$> obj .? "arg0" "SaveImage" -> SaveImage <$> obj .? "arg0" <*> obj .? "arg1" "LoadImage" -> LoadImage <$> obj .? "arg0" <*> obj .? "arg1" - _ -> unsafeCrashWith "decodeJson @ Command" + _ -> Left ("decodeJsonCommand - unknown tag: " <> tag) instance encodeJsonSamplerDescriptor :: EncodeJson SamplerDescriptor where encodeJson v = case v of @@ -1386,7 +1386,7 @@ instance decodeJsonSamplerDescriptor :: DecodeJson SamplerDescriptor where , samplerLodBias:samplerLodBias , samplerCompareFunc:samplerCompareFunc } - _ -> unsafeCrashWith "decodeJson @ SamplerDescriptor" + _ -> Left ("decodeJsonSamplerDescriptor - unknown tag: " <> tag) instance encodeJsonTextureDescriptor :: EncodeJson TextureDescriptor where encodeJson v = case v of @@ -1420,7 +1420,7 @@ instance decodeJsonTextureDescriptor :: DecodeJson TextureDescriptor where , textureBaseLevel:textureBaseLevel , textureMaxLevel:textureMaxLevel } - _ -> unsafeCrashWith "decodeJson @ TextureDescriptor" + _ -> Left ("decodeJsonTextureDescriptor - unknown tag: " <> tag) instance encodeJsonParameter :: EncodeJson Parameter where encodeJson v = case v of @@ -1442,7 +1442,7 @@ instance decodeJsonParameter :: DecodeJson Parameter where { name:name , ty:ty } - _ -> unsafeCrashWith "decodeJson @ Parameter" + _ -> Left ("decodeJsonParameter - unknown tag: " <> tag) instance encodeJsonProgram :: EncodeJson Program where encodeJson v = case v of @@ -1479,7 +1479,7 @@ instance decodeJsonProgram :: DecodeJson Program where , geometryShader:geometryShader , fragmentShader:fragmentShader } - _ -> unsafeCrashWith "decodeJson @ Program" + _ -> Left ("decodeJsonProgram - unknown tag: " <> tag) instance encodeJsonSlot :: EncodeJson Slot where encodeJson v = case v of @@ -1510,7 +1510,7 @@ instance decodeJsonSlot :: DecodeJson Slot where , slotPrimitive:slotPrimitive , slotPrograms:slotPrograms } - _ -> unsafeCrashWith "decodeJson @ Slot" + _ -> Left ("decodeJsonSlot - unknown tag: " <> tag) instance encodeJsonStreamData :: EncodeJson StreamData where encodeJson v = case v of @@ -1538,7 +1538,7 @@ instance decodeJsonStreamData :: DecodeJson StreamData where , streamPrimitive:streamPrimitive , streamPrograms:streamPrograms } - _ -> unsafeCrashWith "decodeJson @ StreamData" + _ -> Left ("decodeJsonStreamData - unknown tag: " <> tag) instance encodeJsonTargetItem :: EncodeJson TargetItem where encodeJson v = case v of @@ -1560,7 +1560,7 @@ instance decodeJsonTargetItem :: DecodeJson TargetItem where { targetSemantic:targetSemantic , targetRef:targetRef } - _ -> unsafeCrashWith "decodeJson @ TargetItem" + _ -> Left ("decodeJsonTargetItem - unknown tag: " <> tag) instance encodeJsonRenderTarget :: EncodeJson RenderTarget where encodeJson v = case v of @@ -1579,7 +1579,7 @@ instance decodeJsonRenderTarget :: DecodeJson RenderTarget where pure $ RenderTarget { renderTargets:renderTargets } - _ -> unsafeCrashWith "decodeJson @ RenderTarget" + _ -> Left ("decodeJsonRenderTarget - unknown tag: " <> tag) instance encodeJsonBackend :: EncodeJson Backend where encodeJson v = case v of @@ -1593,7 +1593,7 @@ instance decodeJsonBackend :: DecodeJson Backend where case tag of "WebGL1" -> pure WebGL1 "OpenGL33" -> pure OpenGL33 - _ -> unsafeCrashWith "decodeJson @ Backend" + _ -> Left ("decodeJsonBackend - unknown tag: " <> tag) instance encodeJsonPipeline :: EncodeJson Pipeline where encodeJson v = case v of @@ -1636,5 +1636,5 @@ instance decodeJsonPipeline :: DecodeJson Pipeline where , streams:streams , commands:commands } - _ -> unsafeCrashWith "decodeJson @ Pipeline" + _ -> Left ("decodeJsonPipeline - unknown tag: " <> tag) diff --git a/ddl/out/LambdaCube.Mesh.purs b/ddl/out/LambdaCube.Mesh.purs index bf6dfa7..7b39700 100644 --- a/ddl/out/LambdaCube.Mesh.purs +++ b/ddl/out/LambdaCube.Mesh.purs @@ -1,14 +1,15 @@ -- generated file, do not modify! --- 2016-11-11T11:17:03.517567000000Z +-- 2016-11-12T12:48:59.903978000000Z module LambdaCube.Mesh where import Prelude import Data.Generic +import Data.Either (Either(..)) import Data.Maybe (Maybe(..)) import Data.StrMap (StrMap(..)) import Data.Map (Map(..)) import Data.List (List(..)) -import Linear +import LinearBase import Data.Argonaut.Encode.Combinators ((~>), (:=)) import Data.Argonaut.Decode.Combinators ((.?)) @@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject) import Data.Argonaut.Printer (printJson) import Data.Argonaut.Encode (class EncodeJson, encodeJson) import Data.Argonaut.Decode (class DecodeJson, decodeJson) -import Partial.Unsafe (unsafeCrashWith) data MeshAttribute @@ -72,7 +72,7 @@ instance decodeJsonMeshAttribute :: DecodeJson MeshAttribute where "A_M44F" -> A_M44F <$> obj .? "arg0" "A_Int" -> A_Int <$> obj .? "arg0" "A_Word" -> A_Word <$> obj .? "arg0" - _ -> unsafeCrashWith "decodeJson @ MeshAttribute" + _ -> Left ("decodeJsonMeshAttribute - unknown tag: " <> tag) instance encodeJsonMeshPrimitive :: EncodeJson MeshPrimitive where encodeJson v = case v of @@ -92,7 +92,7 @@ instance decodeJsonMeshPrimitive :: DecodeJson MeshPrimitive where "P_Triangles" -> pure P_Triangles "P_TriangleStripI" -> P_TriangleStripI <$> obj .? "arg0" "P_TrianglesI" -> P_TrianglesI <$> obj .? "arg0" - _ -> unsafeCrashWith "decodeJson @ MeshPrimitive" + _ -> Left ("decodeJsonMeshPrimitive - unknown tag: " <> tag) instance encodeJsonMesh :: EncodeJson Mesh where encodeJson v = case v of @@ -114,5 +114,5 @@ instance decodeJsonMesh :: DecodeJson Mesh where { mAttributes:mAttributes , mPrimitive:mPrimitive } - _ -> unsafeCrashWith "decodeJson @ Mesh" + _ -> Left ("decodeJsonMesh - unknown tag: " <> tag) diff --git a/ddl/out/LambdaCube.PipelineSchema.purs b/ddl/out/LambdaCube.PipelineSchema.purs index 7194b8c..2a40ce2 100644 --- a/ddl/out/LambdaCube.PipelineSchema.purs +++ b/ddl/out/LambdaCube.PipelineSchema.purs @@ -1,14 +1,15 @@ -- generated file, do not modify! --- 2016-11-11T11:17:03.470118000000Z +-- 2016-11-12T12:48:59.849829000000Z module LambdaCube.PipelineSchema where import Prelude import Data.Generic +import Data.Either (Either(..)) import Data.Maybe (Maybe(..)) import Data.StrMap (StrMap(..)) import Data.Map (Map(..)) import Data.List (List(..)) -import Linear +import LinearBase import Data.Argonaut.Encode.Combinators ((~>), (:=)) import Data.Argonaut.Decode.Combinators ((.?)) @@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject) import Data.Argonaut.Printer (printJson) import Data.Argonaut.Encode (class EncodeJson, encodeJson) import Data.Argonaut.Decode (class DecodeJson, decodeJson) -import Partial.Unsafe (unsafeCrashWith) import LambdaCube.IR @@ -109,7 +109,7 @@ instance decodeJsonStreamType :: DecodeJson StreamType where "Attribute_M42F" -> pure Attribute_M42F "Attribute_M43F" -> pure Attribute_M43F "Attribute_M44F" -> pure Attribute_M44F - _ -> unsafeCrashWith "decodeJson @ StreamType" + _ -> Left ("decodeJsonStreamType - unknown tag: " <> tag) instance encodeJsonObjectArraySchema :: EncodeJson ObjectArraySchema where encodeJson v = case v of @@ -131,7 +131,7 @@ instance decodeJsonObjectArraySchema :: DecodeJson ObjectArraySchema where { primitive:primitive , attributes:attributes } - _ -> unsafeCrashWith "decodeJson @ ObjectArraySchema" + _ -> Left ("decodeJsonObjectArraySchema - unknown tag: " <> tag) instance encodeJsonPipelineSchema :: EncodeJson PipelineSchema where encodeJson v = case v of @@ -153,5 +153,5 @@ instance decodeJsonPipelineSchema :: DecodeJson PipelineSchema where { objectArrays:objectArrays , uniforms:uniforms } - _ -> unsafeCrashWith "decodeJson @ PipelineSchema" + _ -> Left ("decodeJsonPipelineSchema - unknown tag: " <> tag) diff --git a/ddl/out/LambdaCube.TypeInfo.purs b/ddl/out/LambdaCube.TypeInfo.purs index 28854e1..a7b5705 100644 --- a/ddl/out/LambdaCube.TypeInfo.purs +++ b/ddl/out/LambdaCube.TypeInfo.purs @@ -1,14 +1,15 @@ -- generated file, do not modify! --- 2016-11-11T11:17:03.605012000000Z +-- 2016-11-12T12:48:59.998839000000Z module LambdaCube.TypeInfo where import Prelude import Data.Generic +import Data.Either (Either(..)) import Data.Maybe (Maybe(..)) import Data.StrMap (StrMap(..)) import Data.Map (Map(..)) import Data.List (List(..)) -import Linear +import LinearBase import Data.Argonaut.Encode.Combinators ((~>), (:=)) import Data.Argonaut.Decode.Combinators ((.?)) @@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject) import Data.Argonaut.Printer (printJson) import Data.Argonaut.Encode (class EncodeJson, encodeJson) import Data.Argonaut.Decode (class DecodeJson, decodeJson) -import Partial.Unsafe (unsafeCrashWith) import LambdaCube.IR @@ -82,7 +82,7 @@ instance decodeJsonRange :: DecodeJson Range where , endLine:endLine , endColumn:endColumn } - _ -> unsafeCrashWith "decodeJson @ Range" + _ -> Left ("decodeJsonRange - unknown tag: " <> tag) instance encodeJsonTypeInfo :: EncodeJson TypeInfo where encodeJson v = case v of @@ -104,7 +104,7 @@ instance decodeJsonTypeInfo :: DecodeJson TypeInfo where { range:range , text:text } - _ -> unsafeCrashWith "decodeJson @ TypeInfo" + _ -> Left ("decodeJsonTypeInfo - unknown tag: " <> tag) instance encodeJsonWarningInfo :: EncodeJson WarningInfo where encodeJson v = case v of @@ -126,7 +126,7 @@ instance decodeJsonWarningInfo :: DecodeJson WarningInfo where { wRange:wRange , wText:wText } - _ -> unsafeCrashWith "decodeJson @ WarningInfo" + _ -> Left ("decodeJsonWarningInfo - unknown tag: " <> tag) instance encodeJsonErrorInfo :: EncodeJson ErrorInfo where encodeJson v = case v of @@ -148,7 +148,7 @@ instance decodeJsonErrorInfo :: DecodeJson ErrorInfo where { eRange:eRange , eText:eText } - _ -> unsafeCrashWith "decodeJson @ ErrorInfo" + _ -> Left ("decodeJsonErrorInfo - unknown tag: " <> tag) instance encodeJsonCompileResult :: EncodeJson CompileResult where encodeJson v = case v of @@ -162,5 +162,5 @@ instance decodeJsonCompileResult :: DecodeJson CompileResult where case tag of "CompileError" -> CompileError <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" "Compiled" -> Compiled <$> obj .? "arg0" <*> obj .? "arg1" <*> obj .? "arg2" <*> obj .? "arg3" <*> obj .? "arg4" - _ -> unsafeCrashWith "decodeJson @ CompileResult" + _ -> Left ("decodeJsonCompileResult - unknown tag: " <> tag) diff --git a/ddl/out/TestData.purs b/ddl/out/TestData.purs index 8254f2e..c8af32b 100644 --- a/ddl/out/TestData.purs +++ b/ddl/out/TestData.purs @@ -1,14 +1,15 @@ -- generated file, do not modify! --- 2016-11-11T11:17:03.685172000000Z +-- 2016-11-12T12:49:00.081060000000Z module TestData where import Prelude import Data.Generic +import Data.Either (Either(..)) import Data.Maybe (Maybe(..)) import Data.StrMap (StrMap(..)) import Data.Map (Map(..)) import Data.List (List(..)) -import Linear +import LinearBase import Data.Argonaut.Encode.Combinators ((~>), (:=)) import Data.Argonaut.Decode.Combinators ((.?)) @@ -16,7 +17,6 @@ import Data.Argonaut.Core (jsonEmptyObject) import Data.Argonaut.Printer (printJson) import Data.Argonaut.Encode (class EncodeJson, encodeJson) import Data.Argonaut.Decode (class DecodeJson, decodeJson) -import Partial.Unsafe (unsafeCrashWith) import LambdaCube.IR import LambdaCube.Mesh @@ -97,7 +97,7 @@ instance decodeJsonClientInfo :: DecodeJson ClientInfo where { clientName:clientName , clientBackend:clientBackend } - _ -> unsafeCrashWith "decodeJson @ ClientInfo" + _ -> Left ("decodeJsonClientInfo - unknown tag: " <> tag) instance encodeJsonFrame :: EncodeJson Frame where encodeJson v = case v of @@ -122,7 +122,7 @@ instance decodeJsonFrame :: DecodeJson Frame where , frameUniforms:frameUniforms , frameTextures:frameTextures } - _ -> unsafeCrashWith "decodeJson @ Frame" + _ -> Left ("decodeJsonFrame - unknown tag: " <> tag) instance encodeJsonScene :: EncodeJson Scene where encodeJson v = case v of @@ -150,7 +150,7 @@ instance decodeJsonScene :: DecodeJson Scene where , renderTargetHeight:renderTargetHeight , frames:frames } - _ -> unsafeCrashWith "decodeJson @ Scene" + _ -> Left ("decodeJsonScene - unknown tag: " <> tag) instance encodeJsonPipelineInfo :: EncodeJson PipelineInfo where encodeJson v = case v of @@ -172,7 +172,7 @@ instance decodeJsonPipelineInfo :: DecodeJson PipelineInfo where { pipelineName:pipelineName , pipeline:pipeline } - _ -> unsafeCrashWith "decodeJson @ PipelineInfo" + _ -> Left ("decodeJsonPipelineInfo - unknown tag: " <> tag) instance encodeJsonRenderJob :: EncodeJson RenderJob where encodeJson v = case v of @@ -203,7 +203,7 @@ instance decodeJsonRenderJob :: DecodeJson RenderJob where , scenes:scenes , pipelines:pipelines } - _ -> unsafeCrashWith "decodeJson @ RenderJob" + _ -> Left ("decodeJsonRenderJob - unknown tag: " <> tag) instance encodeJsonFrameResult :: EncodeJson FrameResult where encodeJson v = case v of @@ -228,7 +228,7 @@ instance decodeJsonFrameResult :: DecodeJson FrameResult where , frImageWidth:frImageWidth , frImageHeight:frImageHeight } - _ -> unsafeCrashWith "decodeJson @ FrameResult" + _ -> Left ("decodeJsonFrameResult - unknown tag: " <> tag) instance encodeJsonRenderJobResult :: EncodeJson RenderJobResult where encodeJson v = case v of @@ -242,5 +242,5 @@ instance decodeJsonRenderJobResult :: DecodeJson RenderJobResult where case tag of "RenderJobResult" -> RenderJobResult <$> obj .? "arg0" "RenderJobError" -> RenderJobError <$> obj .? "arg0" - _ -> unsafeCrashWith "decodeJson @ RenderJobResult" + _ -> Left ("decodeJsonRenderJobResult - unknown tag: " <> tag) diff --git a/ddl/templates/data.purs.ede b/ddl/templates/data.purs.ede index f21a6bc..a411b32 100644 --- a/ddl/templates/data.purs.ede +++ b/ddl/templates/data.purs.ede @@ -39,7 +39,7 @@ type {{ t.value.aliasName }} = {{ t.value.aliasType | psType }} {% endcase %} {% endfor %} -{% for t in definitions %}{% let l = t.value.instances | length %}{% if l < 0 %}{# FIXME!!! #} +{% for t in definitions %}{% let l = t.value.instances | length %}{% if l > 0 %}{# FIXME!!! #} derive instance generic{{ t.value.dataName }} :: Generic {{ t.value.dataName }} instance show{{ t.value.dataName }} :: Show {{ t.value.dataName }} where show = gShow instance eq{{ t.value.dataName }} :: Eq {{ t.value.dataName }} where eq = gEq -- cgit v1.2.3