Skip to content

Commit 101b895

Browse files
authored
Merge pull request #36 from purescript-contrib/updates
Updates for PureScript 0.11
2 parents 87af84f + 0049933 commit 101b895

File tree

5 files changed

+18
-60
lines changed

5 files changed

+18
-60
lines changed

Diff for: .travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
language: node_js
22
dist: trusty
33
sudo: required
4-
node_js: 6
4+
node_js: stable
55
install:
66
- npm install -g bower
77
- npm install

Diff for: bower.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
},
1212
"license": "MIT",
1313
"dependencies": {
14-
"purescript-argonaut-codecs": "^2.0.0",
15-
"purescript-argonaut-core": "^2.0.0",
16-
"purescript-argonaut-traversals": "^2.0.0"
14+
"purescript-argonaut-codecs": "^3.0.0",
15+
"purescript-argonaut-core": "^3.1.0",
16+
"purescript-argonaut-traversals": "^3.0.0"
1717
},
1818
"devDependencies": {
19-
"purescript-console": "^2.0.0",
20-
"purescript-strongcheck": "^2.0.0"
19+
"purescript-console": "^3.0.0",
20+
"purescript-strongcheck": "^3.1.0"
2121
}
2222
}

Diff for: package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
"test": "pulp build --include examples --censor-lib --strict && pulp test"
77
},
88
"devDependencies": {
9-
"pulp": "^9.0.1",
10-
"purescript-psa": "^0.3.9",
11-
"purescript": "^0.10.1",
12-
"rimraf": "^2.5.4"
9+
"pulp": "^11.0.0",
10+
"purescript-psa": "^0.5.0",
11+
"purescript": "^0.11.1",
12+
"rimraf": "^2.6.1"
1313
}
1414
}

Diff for: src/Data/Argonaut.purs

+4-6
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,14 @@ module Data.Argonaut
44
, module Data.Argonaut.Encode
55
, module Data.Argonaut.JCursor
66
, module Data.Argonaut.Parser
7-
, module Data.Argonaut.Printer
87
, module Data.Argonaut.Prisms
98
, module Data.Argonaut.Traversals
109
) where
1110

12-
import Data.Argonaut.Core (JArray, JAssoc, JBoolean, JNull, JNumber, JObject, JString, Json, foldJson, foldJsonArray, foldJsonBoolean, foldJsonNull, foldJsonNumber, foldJsonObject, foldJsonString, fromArray, fromBoolean, fromNull, fromNumber, fromObject, fromString, isArray, isBoolean, isNull, isNumber, isObject, isString, jsonEmptyArray, jsonEmptyObject, jsonFalse, jsonNull, jsonSingletonArray, jsonSingletonObject, jsonTrue, jsonZero, toArray, toBoolean, toNull, toNumber, toObject, toString)
13-
import Data.Argonaut.Decode (class DecodeJson, decodeJson, gDecodeJson, gDecodeJson', getField, (.?))
14-
import Data.Argonaut.Encode (class EncodeJson, assoc, encodeJson, extend, gEncodeJson, gEncodeJson', (:=), (~>))
15-
import Data.Argonaut.JCursor (JCursor(..), JsonPrim(..), cursorGet, cursorSet, downField, downIndex, exactNull, fail, fromPrims, inferEmpty, insideOut, primBool, primNull, primNum, primStr, primToJson, runJsonPrim, toPrims)
11+
import Data.Argonaut.Core (JArray, JAssoc, JBoolean, JNull, JNumber, JObject, JString, Json, foldJson, foldJsonArray, foldJsonBoolean, foldJsonNull, foldJsonNumber, foldJsonObject, foldJsonString, fromArray, fromBoolean, fromNull, fromNumber, fromObject, fromString, isArray, isBoolean, isNull, isNumber, isObject, isString, jNull, jsonEmptyArray, jsonEmptyObject, jsonFalse, jsonNull, jsonSingletonArray, jsonSingletonObject, jsonTrue, jsonZero, toArray, toBoolean, toNull, toNumber, toObject, toString)
12+
import Data.Argonaut.Decode (class DecodeJson, decodeJson, getField, (.?))
13+
import Data.Argonaut.Encode (class EncodeJson, assoc, encodeJson, extend, (:=), (~>))
14+
import Data.Argonaut.JCursor (JCursor(..), JsonPrim(..), cursorGet, cursorSet, downField, downIndex, fail, fromPrims, inferEmpty, insideOut, primBool, primNull, primNum, primStr, primToJson, runJsonPrim, toPrims)
1615
import Data.Argonaut.Parser (jsonParser)
17-
import Data.Argonaut.Printer (class Printer, printJson)
1816
import Data.Argonaut.Prisms (_Array, _Boolean, _Null, _Number, _Object, _String)
1917
import Data.Argonaut.Traversals (_JsonArray, _JsonBoolean, _JsonNull, _JsonNumber, _JsonObject, _JsonString)

Diff for: test/Test/Main.purs

+4-44
Original file line numberDiff line numberDiff line change
@@ -4,58 +4,21 @@ import Prelude
44

55
import Control.Monad.Eff.Console (log)
66

7-
import Data.Argonaut (Json, fromString, encodeJson, decodeJson, fromObject, fromArray, fromNumber, fromBoolean, jsonNull, (.?))
7+
import Data.Argonaut (Json, decodeJson, encodeJson, fromString, (.?))
88
import Data.Argonaut.JCursor (JCursor(..), toPrims, fromPrims)
9-
import Data.Array (zipWith, nubBy, length)
9+
import Data.Argonaut.Gen (genJson)
1010
import Data.Either (Either(..))
11-
import Data.List (fromFoldable)
1211
import Data.Maybe (Maybe(..))
1312
import Data.StrMap as M
14-
import Data.Tuple (Tuple(..), fst)
1513

1614
import Test.StrongCheck (SC, Result, assert, quickCheck', (<?>))
1715
import Test.StrongCheck.Arbitrary (class Arbitrary, arbitrary)
18-
import Test.StrongCheck.Data.AlphaNumString (AlphaNumString(..))
19-
import Test.StrongCheck.Gen (Gen, Size, showSample, chooseInt, sized, frequency, oneOf, vectorOf)
16+
import Test.StrongCheck.Gen (chooseInt, resize)
2017

2118
newtype TestJson = TestJson Json
2219

23-
genJNull :: Gen Json
24-
genJNull = pure jsonNull
25-
26-
genJBool :: Gen Json
27-
genJBool = fromBoolean <$> arbitrary
28-
29-
genJNumber :: Gen Json
30-
genJNumber = fromNumber <$> arbitrary
31-
32-
genJString :: Gen Json
33-
genJString = fromString <$> arbitrary
34-
35-
genJArray :: Size -> Gen Json
36-
genJArray sz = fromArray <$> vectorOf sz (genJson $ sz - 1)
37-
38-
genJObject :: Size -> Gen Json
39-
genJObject sz = do
40-
v <- vectorOf sz (genJson $ sz - 1)
41-
k <- vectorOf (length v) (arbitrary :: Gen AlphaNumString)
42-
let
43-
f (AlphaNumString s) = s <> "x"
44-
k' = f <$> k
45-
pure $ fromObject <<< M.fromFoldable <<< nubBy (\a b -> (fst a) == (fst b)) $ zipWith Tuple k' v
46-
47-
genJson :: Size -> Gen Json
48-
genJson 0 = oneOf genJNull [genJBool, genJNumber, genJString]
49-
genJson n = frequency (Tuple 1.0 genJNull) rest where
50-
rest = fromFoldable [Tuple 2.0 genJBool,
51-
Tuple 2.0 genJNumber,
52-
Tuple 3.0 genJString,
53-
Tuple 1.0 (genJArray n),
54-
Tuple 1.0 (genJObject n)]
55-
56-
5720
instance arbitraryJson :: Arbitrary TestJson where
58-
arbitrary = TestJson <$> sized genJson
21+
arbitrary = TestJson <$> (resize 5 genJson)
5922

6023
prop_encode_then_decode :: TestJson -> Boolean
6124
prop_encode_then_decode (TestJson json) =
@@ -89,9 +52,6 @@ prop_jcursor_serialization (TestJCursor c) =
8952

9053
main :: SC () Unit
9154
main = do
92-
log "Showing small sample of JSON"
93-
showSample (genJson 10)
94-
9555
log "Testing that any JSON can be encoded and then decoded"
9656
quickCheck' 20 prop_encode_then_decode
9757

0 commit comments

Comments
 (0)