Skip to content

Commit eeb53ba

Browse files
Update to PureScript v0.15.0 (#14)
* Migrated FFI to ES modules via 'lebab' * Removed '"use strict";' in FFI files * Update to CI to use 'unstable' purescript * Update Bower dependencies to master or main * Update pulp to 16.0.0-0 * Update psa to 0.8.2 * Update ci to use node 14 * Fix fromRight usage * Fix unused imports * Added changelog entry
1 parent f247c30 commit eeb53ba

File tree

7 files changed

+28
-32
lines changed

7 files changed

+28
-32
lines changed

.github/workflows/ci.yml

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

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

17-
- uses: actions/setup-node@v1
19+
- uses: actions/setup-node@v2
1820
with:
19-
node-version: "10"
21+
node-version: "14"
2022

2123
- name: Install dependencies
2224
run: |

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 (#14 by @JordanMartinez)
89

910
New features:
1011

bower.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
"package-lock.json"
2020
],
2121
"dependencies": {
22-
"purescript-effect": "^3.0.0",
23-
"purescript-partial": "^3.0.0",
24-
"purescript-prelude": "^5.0.0",
25-
"purescript-web-dom": "^5.0.0"
22+
"purescript-effect": "master",
23+
"purescript-partial": "master",
24+
"purescript-prelude": "master",
25+
"purescript-web-dom": "master"
2626
},
2727
"devDependencies": {
28-
"purescript-assert": "^5.0.0",
29-
"purescript-console": "^5.0.0",
30-
"purescript-psci-support": "^5.0.0"
28+
"purescript-assert": "master",
29+
"purescript-console": "master",
30+
"purescript-psci-support": "master"
3131
}
3232
}

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
},
1212
"devDependencies": {
1313
"parcel-bundler": "^1.12.3",
14-
"pulp": "^15.0.0",
15-
"purescript-psa": "^0.8.0",
14+
"pulp": "16.0.0-0",
15+
"purescript-psa": "^0.8.2",
1616
"rimraf": "^2.6.3"
1717
},
1818
"dependencies": {

src/Web/DOM/DOMParser.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
/* Web.DOM.DOMParser */
2-
"use strict";
3-
4-
exports.makeDOMParser = function () {
2+
export function makeDOMParser() {
53
return new DOMParser();
6-
};
4+
}
75

8-
exports.parseFromString = function (documentType) {
6+
export function parseFromString(documentType) {
97
return function (sourceString) {
108
return function (domParser) {
119
return function () { // Effect thunk
1210
return domParser.parseFromString(sourceString, documentType);
1311
};
1412
};
1513
};
16-
};
14+
}

src/Web/DOM/XMLSerializer.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
/* Web.DOM.XMLSerializer */
2-
"use strict";
3-
4-
exports.makeXMLSerializer = function () {
2+
export function makeXMLSerializer() {
53
return new XMLSerializer();
6-
};
4+
}
75

8-
exports.serializeToString = function (doc) {
6+
export function serializeToString(doc) {
97
return function (xmlSerializer) {
108
return function () { // Effect thunk
119
return xmlSerializer.serializeToString(doc);
1210
};
1311
};
14-
};
12+
}

test/Main.purs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,17 @@ module Test.Main where
22

33
import Prelude
44

5-
import Data.Either (Either, fromRight, isLeft, isRight)
5+
import Data.Either (Either, either)
66
import Data.Maybe (Maybe(..))
77
import Effect (Effect)
88
import Effect.Console (log)
9-
import Partial.Unsafe (unsafePartial)
9+
import Partial.Unsafe (unsafePartial, unsafeCrashWith)
1010
import Test.Data as TD
1111

1212
import Web.DOM.Document (Document)
1313
import Web.DOM.DOMParser (DOMParser, makeDOMParser, parseFromString
1414
, parseXMLFromString, _getParserError)
15-
import Web.DOM.XMLSerializer (XMLSerializer, makeXMLSerializer
16-
, serializeToString)
15+
import Web.DOM.XMLSerializer (XMLSerializer, makeXMLSerializer)
1716

1817
parseNoteDocRaw :: DOMParser -> Effect Document
1918
parseNoteDocRaw = parseFromString "application/xml" TD.noteXml
@@ -42,12 +41,10 @@ main = do
4241
Nothing -> log "no parse error found for garbageOut"
4342
Just er -> log $ "Error is:" <> er
4443
log "test 2"
45-
shouldBeRight <- parseNoteDoc domParser
46-
log $ "is Right? " <> show (isRight shouldBeRight)
47-
shouldBeLeft <- parseGarbage domParser
48-
log $ "is Left? " <> show (isLeft shouldBeLeft)
44+
shouldBeRight <- either (\_ -> unsafeCrashWith "should be right") identity <$> parseNoteDoc domParser
45+
either (const unit) (\_ -> unsafeCrashWith "should be left") <$> parseGarbage domParser
4946
xmlSrlzr <- makeXMLSerializer
50-
strFromNote <- unsafePartial $ serializeToString (fromRight shouldBeRight) xmlSrlzr
47+
strFromNote <- unsafePartial $ serializeToString shouldBeRight xmlSrlzr
5148
log $ "serialization of note is:\n" <> strFromNote
5249

5350
log "TODO: You should add some tests."

0 commit comments

Comments
 (0)