From ae26f5f06e19372e90e81e0f74bd7c58c73de3f8 Mon Sep 17 00:00:00 2001 From: Dustin Whitney Date: Fri, 31 May 2019 09:57:44 -0400 Subject: [PATCH] converted to spago and fixed deprecation warnings --- .gitignore | 1 + packages.dhall | 11 +++++++++++ psc-package.json | 15 --------------- spago.dhall | 17 +++++++++++++++++ src/ReadTS.purs | 38 +++++++++++++++++++------------------- 5 files changed, 48 insertions(+), 34 deletions(-) create mode 100644 packages.dhall delete mode 100644 psc-package.json create mode 100644 spago.dhall diff --git a/.gitignore b/.gitignore index 20e090a..30efe19 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /.psc* /.purs* /.psa* +/.spago diff --git a/packages.dhall b/packages.dhall new file mode 100644 index 0000000..6e8bd7e --- /dev/null +++ b/packages.dhall @@ -0,0 +1,11 @@ +let mkPackage = + https://raw.githubusercontent.com/purescript/package-sets/psc-0.12.5-20190508/src/mkPackage.dhall sha256:0b197efa1d397ace6eb46b243ff2d73a3da5638d8d0ac8473e8e4a8fc528cf57 + +let upstream = + https://raw.githubusercontent.com/purescript/package-sets/psc-0.12.5-20190508/src/packages.dhall sha256:8ef3a6d6d123e05933997426da68ef07289e1cbbdd2a844b5d10c9159deef65a + +let overrides = {=} + +let additions = {=} + +in upstream // overrides // additions diff --git a/psc-package.json b/psc-package.json deleted file mode 100644 index 554c5ac..0000000 --- a/psc-package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "purescript-readts", - "set": "psc-0.12.0-20180901", - "source": "https://github.com/purescript/package-sets.git", - "depends": [ - "node-fs", - "strings", - "exceptions", - "argonaut-codecs", - "debug", - "console", - "argonaut-core", - "prelude" - ] -} diff --git a/spago.dhall b/spago.dhall new file mode 100644 index 0000000..623268f --- /dev/null +++ b/spago.dhall @@ -0,0 +1,17 @@ +{ name = + "purescript-readts" +, dependencies = + [ "argonaut-codecs" + , "argonaut-core" + , "console" + , "debug" + , "effect" + , "exceptions" + , "node-fs" + , "prelude" + , "psci-support" + , "strings" + ] +, packages = + ./packages.dhall +} diff --git a/src/ReadTS.purs b/src/ReadTS.purs index 82000fd..0ae00a2 100644 --- a/src/ReadTS.purs +++ b/src/ReadTS.purs @@ -2,7 +2,7 @@ module ReadTS where import Prelude import Data.Argonaut.Core (Json) -import Data.Argonaut.Decode (decodeJson, (.?), (.??)) +import Data.Argonaut.Decode (decodeJson, (.:), (.:?)) import Data.Array (foldMap) import Data.Either (Either(..), either) import Data.Maybe (Maybe, maybe) @@ -106,15 +106,15 @@ symbolsForDeclaration = case _ of decodeAlias :: Object Json -> Either String TypeRefParams decodeAlias o = do - name <- o .? "typeReference" - typeArgs <- o .? "typeParams" >>= traverse decodeTSType + name <- o .: "typeReference" + typeArgs <- o .: "typeParams" >>= traverse decodeTSType pure {name, typeArgs} decodeTSType :: Json -> Either String TSType decodeTSType v = do o <- decodeJson v - let decodeMembers = o .? "members" >>= traverse decodeMember - o .? "type" >>= case _ of + let decodeMembers = o .: "members" >>= traverse decodeMember + o .: "type" >>= case _ of "any" -> pure Any "boolean" -> pure TSBoolean "string" -> pure TSString @@ -125,32 +125,32 @@ decodeTSType v = do "void" -> pure Void "undefined" -> pure Undefined "union" -> do - alias <- o .?? "alias" >>= traverse decodeAlias - Union alias <$> (o .? "types" >>= traverse decodeTSType) - "stringLiteral" -> StringLiteral <$> o .? "value" - "numberLiteral" -> NumberLiteral <$> o .? "value" + alias <- o .:? "alias" >>= traverse decodeAlias + Union alias <$> (o .: "types" >>= traverse decodeTSType) + "stringLiteral" -> StringLiteral <$> o .: "value" + "numberLiteral" -> NumberLiteral <$> o .: "value" "unknownObject" -> pure Unknown - "typeparam" -> TypeParam <$> o .? "name" - "interfaceReference" -> InterfaceReference <$> o .? "name" + "typeparam" -> TypeParam <$> o .: "name" + "interfaceReference" -> InterfaceReference <$> o .: "name" "object" -> AnonymousObject <$> decodeMembers "function" -> do - params <- o .? "params" >>= traverse decodeMember - return <- o .? "return" >>= decodeTSType + params <- o .: "params" >>= traverse decodeMember + return <- o .: "return" >>= decodeTSType pure $ Function {params, return} "interface" -> do - name <- o .? "name" + name <- o .: "name" members <- decodeMembers pure $ Interface {name,members} "typeReference" -> do - name <- o .? "name" - typeArgs <- o .? "typeParams" >>= traverse decodeTSType + name <- o .: "name" + typeArgs <- o .: "typeParams" >>= traverse decodeTSType pure $ TypeReference {name,typeArgs} t -> Left $ "Unknown type" <> show t where decodeMember o = do - name <- o .? "name" - optional <- o .? "optional" - t <- o .? "type" >>= decodeTSType + name <- o .: "name" + optional <- o .: "optional" + t <- o .: "type" >>= decodeTSType pure $ {name, t, optional} showNamed :: NamedTSType -> String