From 10958ae6ffb61fff0263e367c429001dba354b73 Mon Sep 17 00:00:00 2001 From: Gary Burgess Date: Mon, 6 Jun 2016 14:34:34 +0100 Subject: [PATCH] Updates for PureScript 0.9.1 --- .travis.yml | 20 +++++++-------- bower.json | 10 ++++---- package.json | 10 ++++---- src/Data/Argonaut/Core.purs | 6 ++--- src/Data/Argonaut/Parser.purs | 4 +-- src/Data/Argonaut/Printer.purs | 6 ++--- test/Test/Main.purs | 45 +++++++++++++++++----------------- 7 files changed, 50 insertions(+), 51 deletions(-) diff --git a/.travis.yml b/.travis.yml index 662e7e5..15bacc0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,17 @@ language: node_js -sudo: false -node_js: - - 4 +dist: trusty +sudo: required +node_js: 6 install: + - npm install -g bower - npm install script: - - npm test + - bower install --production + - npm run -s build + - bower install + - npm -s test after_success: - >- test $TRAVIS_TAG && - npm install bower -g && - node_modules/.bin/psc-publish > .pursuit.json && - curl -X POST http://pursuit.purescript.org/packages \ - -d @.pursuit.json \ - -H 'Accept: application/json' \ - -H "Authorization: token ${GITHUB_TOKEN}" + echo $GITHUB_TOKEN | pulp login && + echo y | pulp publish --no-push diff --git a/bower.json b/bower.json index be58411..8057a6c 100644 --- a/bower.json +++ b/bower.json @@ -6,7 +6,7 @@ "Hardy Jones <>", "John A. De Goes " ], - "description": "Core of purescript-argonaut library, it provides basic types, folds and combinators for `Json`", + "description": "Core of the purescript-argonaut library, providing basic types, folds, and combinators for `Json`", "keywords": [ "purescript", "argonaut", @@ -18,11 +18,11 @@ }, "license": "MIT", "dependencies": { - "purescript-enums": "^0.7.0", - "purescript-functions": "^0.1.0", - "purescript-maps": "^0.5.0" + "purescript-enums": "^1.0.0", + "purescript-functions": "^1.0.0", + "purescript-maps": "^1.0.0" }, "devDependencies": { - "purescript-strongcheck": "^0.14.0" + "purescript-strongcheck": "^1.0.0" } } diff --git a/package.json b/package.json index cea10fe..1e0f657 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,14 @@ { "private": true, "scripts": { - "postinstall": "pulp dep install", "clean": "rimraf output && rimraf .pulp-cache", - "build": "pulp build", + "build": "pulp build --censor-lib --strict", "test": "pulp test" }, "devDependencies": { - "pulp": "^5.0.2", - "purescript": "^0.7.6", - "rimraf": "^2.4.4" + "pulp": "^9.0.0", + "purescript-psa": "^0.3.9", + "purescript": "^0.9.1", + "rimraf": "^2.5.0" } } diff --git a/src/Data/Argonaut/Core.purs b/src/Data/Argonaut/Core.purs index 8ace9cc..bc48907 100644 --- a/src/Data/Argonaut/Core.purs +++ b/src/Data/Argonaut/Core.purs @@ -47,11 +47,11 @@ module Data.Argonaut.Core import Prelude -import Data.Tuple (Tuple()) +import Data.Tuple (Tuple) import Data.Maybe (Maybe(..)) -import Data.Function +import Data.Function.Uncurried (Fn5, runFn5, Fn7, runFn7) -import qualified Data.StrMap as M +import Data.StrMap as M -- | A Boolean value inside some JSON data. Note that this type is exactly the -- | same as the primitive `Boolean` type; this synonym acts only to help diff --git a/src/Data/Argonaut/Parser.purs b/src/Data/Argonaut/Parser.purs index bbc6cd3..a4ad424 100644 --- a/src/Data/Argonaut/Parser.purs +++ b/src/Data/Argonaut/Parser.purs @@ -1,8 +1,8 @@ module Data.Argonaut.Parser (jsonParser) where -import Data.Argonaut.Core (Json()) -import Data.Function (Fn3(), runFn3) +import Data.Argonaut.Core (Json) import Data.Either (Either(..)) +import Data.Function.Uncurried (Fn3, runFn3) foreign import _jsonParser :: forall a. Fn3 (String -> a) (Json -> a) String a diff --git a/src/Data/Argonaut/Printer.purs b/src/Data/Argonaut/Printer.purs index 3fbba3f..3b0459d 100644 --- a/src/Data/Argonaut/Printer.purs +++ b/src/Data/Argonaut/Printer.purs @@ -1,11 +1,11 @@ -module Data.Argonaut.Printer (Printer, printJson) where +module Data.Argonaut.Printer where import Prelude -import Data.Argonaut.Core (Json()) + +import Data.Argonaut.Core (Json) class Printer a where printJson :: Json -> a instance printerString :: Printer String where printJson = show - diff --git a/test/Test/Main.purs b/test/Test/Main.purs index 2179da4..d87081e 100644 --- a/test/Test/Main.purs +++ b/test/Test/Main.purs @@ -2,21 +2,21 @@ module Test.Main where import Prelude -import Control.Monad.Eff (Eff()) import Control.Monad.Eff.Console (log) -import Data.Maybe (Maybe(..)) -import Data.Maybe.Unsafe (fromJust) + +import Data.Argonaut.Core (Json, JNull, toObject, toArray, toString, toNumber, toBoolean, toNull, fromObject, foldJsonObject, fromNumber, fromArray, foldJsonArray, fromString, foldJsonString, foldJsonNumber, fromBoolean, foldJsonBoolean, fromNull, foldJsonNull, foldJson, isObject, isArray, isString, isNumber, isBoolean, isNull) +import Data.Argonaut.Parser (jsonParser) +import Data.Argonaut.Printer (printJson) +import Data.Array as A import Data.Either (isLeft, isRight, Either(..)) -import Data.Tuple (Tuple(..)) import Data.Foldable (for_) -import qualified Data.Array as A -import qualified Data.StrMap as M +import Data.Maybe (Maybe(..), fromJust) +import Data.StrMap as M +import Data.Tuple (Tuple(..)) -import Data.Argonaut.Core -import Data.Argonaut.Parser -import Data.Argonaut.Printer +import Partial.Unsafe (unsafePartial) -import Test.StrongCheck (assert, (), quickCheck, Result()) +import Test.StrongCheck (SC, assert, (), quickCheck, Result()) foreign import thisIsNull :: Json foreign import thisIsBoolean :: Json @@ -26,7 +26,7 @@ foreign import thisIsArray :: Json foreign import thisIsObject :: Json foreign import nil :: JNull -isTest :: Eff _ Unit +isTest :: SC () Unit isTest = do assert (isNull thisIsNull "Error in null test") assert (isBoolean thisIsBoolean "Error in boolean test") @@ -35,7 +35,7 @@ isTest = do assert (isArray thisIsArray "Error in array test") assert (isObject thisIsObject "Error in object test") -foldTest :: Eff _ Unit +foldTest :: SC () Unit foldTest = do assert (foldFn thisIsNull == "null" "Error in foldJson null") assert (foldFn thisIsBoolean == "boolean" "Error in foldJson boolean") @@ -44,7 +44,6 @@ foldTest = do assert (foldFn thisIsArray == "array" "Error in foldJson array") assert (foldFn thisIsObject == "object" "Error in foldJson object") - foldFn :: Json -> String foldFn = foldJson (const "null") @@ -55,7 +54,7 @@ foldFn = foldJson (const "object") cases :: Array Json -cases = +cases = [ thisIsNull , thisIsBoolean , thisIsNumber @@ -64,7 +63,7 @@ cases = , thisIsObject ] -foldXXX :: Eff _ Unit +foldXXX :: SC () Unit foldXXX = do assert ((foldJsonNull "not null" (const "null") <$> cases) == ["null", "not null", "not null", "not null", "not null", "not null"] @@ -88,7 +87,7 @@ foldXXX = do "Error in foldJsonObject") -fromTest :: Eff _ Unit +fromTest :: SC () Unit fromTest = do assert ((foldJsonNull false (const true) (fromNull nil)) "Error in fromNull") quickCheck (\bool -> foldJsonBoolean Nothing Just (fromBoolean bool) == Just bool "Error in fromBoolean") @@ -105,7 +104,7 @@ fromTest = do in (foldJsonObject Nothing Just (fromObject sm) == Just sm) "Error in fromObject") -toTest :: Eff _ Unit +toTest :: SC () Unit toTest = do assert (assertion toNull thisIsNull "Error in toNull") assert (assertion toBoolean thisIsBoolean "Error in toBoolean") @@ -117,25 +116,25 @@ toTest = do assertion :: forall a. (Eq a) => (Json -> Maybe a) -> Json -> String -> Result assertion fn j msg = let forCases = A.catMaybes (fn <$> cases) - exact = A.singleton $ fromJust $ fn j + exact = A.singleton $ unsafePartial fromJust $ fn j in forCases == exact msg -parserTest :: Eff _ Unit +parserTest :: SC () Unit parserTest = do assert ((isRight (jsonParser "{\"foo\": 1}")) "Error in jsonParser") assert ((isLeft (jsonParser "\\\ffff")) "Error in jsonParser") -printJsonTest :: Eff _ Unit +printJsonTest :: SC () Unit printJsonTest = do for_ cases (assert <<< assertion) where assertion :: Json -> Result assertion j = ((jsonParser (printJson j)) == Right j) "Error in printJson" -main :: Eff _ Unit +main :: SC () Unit main = do - log "isXxx tests" + log "isXxx tests" isTest log "foldJson tests" foldTest @@ -147,5 +146,5 @@ main = do toTest log "jsonParser tests" parserTest - log "printJson tests" + log "printJson tests" printJsonTest