Skip to content

Commit 262864c

Browse files
Update to v0.15.0 (#27)
* Migrated FFI to ES modules via 'lebab' * Replaced 'export var' with 'export const' * Removed '"use strict";' in FFI files * Update to CI to use 'unstable' purescript * Update pulp to 16.0.0-0 and psa to 0.8.2 * Update Bower dependencies to master * Update .eslintrc.json to ES6 * Fix FFI * Fix compiler warnings * Added changelog entry * Just export toArrayWithkey
1 parent c9a7b7b commit 262864c

File tree

10 files changed

+59
-67
lines changed

10 files changed

+59
-67
lines changed

.eslintrc.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
{
22
"parserOptions": {
3-
"ecmaVersion": 5
3+
"ecmaVersion": 6,
4+
"sourceType": "module"
45
},
56
"extends": "eslint:recommended",
6-
"env": {
7-
"commonjs": true
8-
},
97
"rules": {
108
"strict": [2, "global"],
119
"block-scoped-var": 2,

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ jobs:
1313
- uses: actions/checkout@v2
1414

1515
- uses: purescript-contrib/setup-purescript@main
16+
with:
17+
purescript: "unstable"
1618

1719
- uses: actions/setup-node@v1
1820
with:

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Notable changes to this project are documented in this file. The format is based
55
## [Unreleased]
66

77
Breaking changes:
8+
- Migrate FFI to ES modules (#27 by @JordanMartinez)
89

910
New features:
1011

bower.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,22 @@
2020
"package.json"
2121
],
2222
"dependencies": {
23-
"purescript-arrays": "^6.0.0",
24-
"purescript-foldable-traversable": "^5.0.0",
25-
"purescript-functions": "^5.0.0",
26-
"purescript-gen": "^3.0.0",
27-
"purescript-lists": "^6.0.0",
28-
"purescript-maybe": "^5.0.0",
29-
"purescript-prelude": "^5.0.0",
30-
"purescript-st": "^5.0.0",
31-
"purescript-tailrec": "^5.0.0",
32-
"purescript-tuples": "^6.0.0",
33-
"purescript-typelevel-prelude": "^6.0.0",
34-
"purescript-unfoldable": "^5.0.0"
23+
"purescript-arrays": "master",
24+
"purescript-foldable-traversable": "master",
25+
"purescript-functions": "master",
26+
"purescript-gen": "master",
27+
"purescript-lists": "master",
28+
"purescript-maybe": "master",
29+
"purescript-prelude": "master",
30+
"purescript-st": "master",
31+
"purescript-tailrec": "master",
32+
"purescript-tuples": "master",
33+
"purescript-typelevel-prelude": "master",
34+
"purescript-unfoldable": "master"
3535
},
3636
"devDependencies": {
37-
"purescript-assert": "^5.0.0",
38-
"purescript-minibench": "^3.0.0",
39-
"purescript-quickcheck": "^7.0.0"
37+
"purescript-assert": "master",
38+
"purescript-minibench": "master",
39+
"purescript-quickcheck": "master"
4040
}
4141
}

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
"clean": "rimraf output && rimraf .pulp-cache",
55
"build": "eslint src && pulp build -- --censor-lib --strict",
66
"test": "pulp test",
7-
87
"bench:build": "purs compile 'bench/**/*.purs' 'src/**/*.purs' 'bower_components/*/src/**/*.purs'",
98
"bench:run": "node -e 'require(\"./output/Bench.Main/index.js\").main()'",
109
"bench": "npm run bench:build && npm run bench:run"
1110
},
1211
"devDependencies": {
1312
"eslint": "^7.15.0",
14-
"pulp": "^15.0.0",
15-
"purescript-psa": "^0.8.0",
13+
"pulp": "16.0.0-0",
14+
"purescript-psa": "^0.8.2",
1615
"rimraf": "^3.0.2"
1716
}
1817
}

src/Foreign/Object.js

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
"use strict";
2-
3-
exports._copyST = function (m) {
1+
export function _copyST(m) {
42
return function () {
53
var r = {};
64
for (var k in m) {
@@ -10,35 +8,35 @@ exports._copyST = function (m) {
108
}
119
return r;
1210
};
13-
};
11+
}
1412

15-
exports.empty = {};
13+
export const empty = {};
1614

17-
exports.runST = function (f) {
15+
export function runST(f) {
1816
return f();
19-
};
17+
}
2018

21-
exports._fmapObject = function (m0, f) {
19+
export function _fmapObject(m0, f) {
2220
var m = {};
2321
for (var k in m0) {
2422
if (hasOwnProperty.call(m0, k)) {
2523
m[k] = f(m0[k]);
2624
}
2725
}
2826
return m;
29-
};
27+
}
3028

31-
exports._mapWithKey = function (m0, f) {
29+
export function _mapWithKey(m0, f) {
3230
var m = {};
3331
for (var k in m0) {
3432
if (hasOwnProperty.call(m0, k)) {
3533
m[k] = f(k)(m0[k]);
3634
}
3735
}
3836
return m;
39-
};
37+
}
4038

41-
exports._foldM = function (bind) {
39+
export function _foldM(bind) {
4240
return function (f) {
4341
return function (mz) {
4442
return function (m) {
@@ -57,9 +55,9 @@ exports._foldM = function (bind) {
5755
};
5856
};
5957
};
60-
};
58+
}
6159

62-
exports._foldSCObject = function (m, z, f, fromMaybe) {
60+
export function _foldSCObject(m, z, f, fromMaybe) {
6361
var acc = z;
6462
for (var k in m) {
6563
if (hasOwnProperty.call(m, k)) {
@@ -70,38 +68,38 @@ exports._foldSCObject = function (m, z, f, fromMaybe) {
7068
}
7169
}
7270
return acc;
73-
};
71+
}
7472

75-
exports.all = function (f) {
73+
export function all(f) {
7674
return function (m) {
7775
for (var k in m) {
7876
if (hasOwnProperty.call(m, k) && !f(k)(m[k])) return false;
7977
}
8078
return true;
8179
};
82-
};
80+
}
8381

84-
exports.size = function (m) {
82+
export function size(m) {
8583
var s = 0;
8684
for (var k in m) {
8785
if (hasOwnProperty.call(m, k)) {
8886
++s;
8987
}
9088
}
9189
return s;
92-
};
90+
}
9391

94-
exports._lookup = function (no, yes, k, m) {
92+
export function _lookup(no, yes, k, m) {
9593
return k in m ? yes(m[k]) : no;
96-
};
94+
}
9795

98-
exports._lookupST = function (no, yes, k, m) {
96+
export function _lookupST(no, yes, k, m) {
9997
return function () {
10098
return k in m ? yes(m[k]) : no;
10199
};
102-
};
100+
}
103101

104-
function toArrayWithKey(f) {
102+
export function toArrayWithKey(f) {
105103
return function (m) {
106104
var r = [];
107105
for (var k in m) {
@@ -113,8 +111,6 @@ function toArrayWithKey(f) {
113111
};
114112
}
115113

116-
exports.toArrayWithKey = toArrayWithKey;
117-
118-
exports.keys = Object.keys || toArrayWithKey(function (k) {
114+
export const keys = Object.keys || toArrayWithKey(function (k) {
119115
return function () { return k; };
120116
});

src/Foreign/Object/ST.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
"use strict";
2-
3-
exports["new"] = function () {
1+
const newImpl = function () {
42
return {};
53
};
4+
export { newImpl as new };
65

7-
exports.peekImpl = function (just) {
6+
export function peekImpl(just) {
87
return function (nothing) {
98
return function (k) {
109
return function (m) {
@@ -14,9 +13,9 @@ exports.peekImpl = function (just) {
1413
};
1514
};
1615
};
17-
};
16+
}
1817

19-
exports.poke = function (k) {
18+
export function poke(k) {
2019
return function (v) {
2120
return function (m) {
2221
return function () {
@@ -25,13 +24,14 @@ exports.poke = function (k) {
2524
};
2625
};
2726
};
28-
};
27+
}
2928

30-
exports["delete"] = function (k) {
29+
const deleteImpl = function (k) {
3130
return function (m) {
3231
return function () {
3332
delete m[k];
3433
return m;
3534
};
3635
};
3736
};
37+
export { deleteImpl as delete };

src/Foreign/Object/ST/Unsafe.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
"use strict";
2-
3-
exports.unsafeFreeze = function (m) {
1+
export function unsafeFreeze(m) {
42
return function () {
53
return m;
64
};
7-
};
5+
}

src/Foreign/Object/Unsafe.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
"use strict";
2-
3-
exports.unsafeIndex = function (m) {
1+
export function unsafeIndex(m) {
42
return function (k) {
53
return m[k];
64
};
7-
};
5+
}

test/Test/Foreign/Object.purs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ objectTests = do
175175

176176
log "fromFoldableWith (<>) = fromFoldable . collapse with (<>) . group on fst"
177177
quickCheck $ \arr ->
178-
let combine (Tuple s a) (Tuple t b) = (Tuple s $ b <> a)
178+
let combine (Tuple s a) (Tuple _ b) = (Tuple s $ b <> a)
179179
foldl1 g = unsafePartial \(L.Cons x xs) -> foldl g x xs
180180
f = O.fromFoldable <<< map (foldl1 combine <<< NEL.toList) <<<
181181
L.groupBy ((==) `on` fst) <<< L.sortBy (compare `on` fst) in
@@ -230,7 +230,7 @@ objectTests = do
230230

231231
log "foldMapWithIndex f ~ traverseWithIndex (\\k v -> tell (f k v))"
232232
quickCheck \(TestObject m :: TestObject Int) ->
233-
let f k v = "(" <> "k" <> "," <> show v <> ")"
233+
let f _ v = "(" <> "k" <> "," <> show v <> ")"
234234
resultA = foldMapWithIndex f m
235235
resultB = snd (runWriter (traverseWithIndex (\k v -> tell (f k v)) m))
236236
in resultA === resultB

0 commit comments

Comments
 (0)