Skip to content

Commit 9c91afb

Browse files
authored
Added Effect type (#1)
* added effects but function call is bad at runtime * added effect thunk fix
1 parent a7b68a7 commit 9c91afb

File tree

4 files changed

+16
-10
lines changed

4 files changed

+16
-10
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
"rimraf": "^2.6.3"
1919
},
2020
"dependencies": {
21-
"psc-package": "^0.3.2"
21+
"psc-package": "^3.0.1"
2222
}
2323
}

src/Web/DOM/DOMParser.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ exports.makeDOMParser = function () {
88
exports.parseFromString = function (documentType) {
99
return function (sourceString) {
1010
return function (domParser) {
11-
return domParser.parseFromString(sourceString, documentType);
11+
return function () { // Effect thunk
12+
return domParser.parseFromString(sourceString, documentType);
13+
};
1214
};
1315
};
1416
};

src/Web/DOM/DOMParser.purs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,22 @@ foreign import data DOMParser ∷ Type
1818
foreign import makeDOMParser Effect DOMParser
1919

2020
--| Parse a string with the first argumet being a string for a doctype
21-
foreign import parseFromString String String DOMParser Document
21+
foreign import parseFromString String String DOMParser Effect Document
2222

2323
--| Convience function to parse HTML from a string, partially applying
2424
--| `parseFromString` with "text/html"
25-
parseHTMLFromString String DOMParser Document
25+
parseHTMLFromString String DOMParser Effect Document
2626
parseHTMLFromString s d =
2727
parseFromString "text/html" s d
2828

2929
--| Convience function to parse SVG from a string, partially applying
3030
--| `parseFromString` with "image/svg+xml"
31-
parseSVGFromString String DOMParser Document
31+
parseSVGFromString String DOMParser Effect Document
3232
parseSVGFromString s d =
3333
parseFromString "image/svg+xml" s d
3434

3535
--| Convience function to parse XML from a string, partially applying
3636
--| `parseFromString` with "application/xml"
37-
parseXMLFromString String DOMParser Document
38-
parseXMLFromString s d=
37+
parseXMLFromString String DOMParser Effect Document
38+
parseXMLFromString s d =
3939
parseFromString "application/xml" s d

test/Main.purs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,15 @@ import Test.Data as TD
99
import Web.DOM.Document (Document)
1010
import Web.DOM.DOMParser (DOMParser, makeDOMParser, parseXMLFromString)
1111

12-
parseNoteDoc :: DOMParser -> Document
13-
parseNoteDoc dp = parseXMLFromString TD.noteXml dp
12+
parseNoteDoc :: DOMParser -> Effect Document
13+
parseNoteDoc = parseXMLFromString TD.noteXml
14+
15+
-- parseGarbage :: DOMParser -> Effect Document
16+
-- parseGarbage dp = parseXMLFromString "`~~`lkjlj3424" dp
1417

1518
main :: Effect Unit
1619
main = do
1720
domParser <- makeDOMParser
18-
note <- pure $ parseNoteDoc domParser
21+
note <- parseNoteDoc domParser
22+
-- garbageOut <- parseGarbage domParser
1923
log "TODO: You should add some tests."

0 commit comments

Comments
 (0)