Skip to content

Commit 149292b

Browse files
committed
Syntax changes.
1 parent 33c65a5 commit 149292b

File tree

407 files changed

+2298
-8095
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

407 files changed

+2298
-8095
lines changed

core/source/Clipboard.mint

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* This module has functions for manipulating the clipboard. */
22
module Clipboard {
33
/* Sets the clipboards content to the given value. */
4-
fun set (value : String) : Promise(Never, String) {
4+
fun set (value : String) : Promise(String) {
55
`
66
(() => {
77
// Create a textarea element

core/source/Dom.mint

Lines changed: 27 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module Dom {
55
66
Dom.blurActiveElement()
77
*/
8-
fun blurActiveElement : Promise(Never, Void) {
8+
fun blurActiveElement : Promise(Void) {
99
`document.activeElement && document.activeElement.blur()`
1010
}
1111

@@ -43,7 +43,7 @@ module Dom {
4343
4444
case (Dom.getElementBySelector("body")) {
4545
Maybe::Just(body) =>
46-
try {
46+
{
4747
div =
4848
Dom.getElementBySelector("div")
4949
@@ -79,23 +79,20 @@ module Dom {
7979
|> Dom.focus
8080
|> Dom.getElementById()
8181
*/
82-
fun focus (maybeElement : Maybe(Dom.Element)) : Promise(Never, Void) {
82+
fun focus (maybeElement : Maybe(Dom.Element)) : Promise(Void) {
8383
case (maybeElement) {
8484
Maybe::Just(element) =>
85-
sequence {
85+
{
8686
focusWhenVisible(element)
87-
88-
Promise.never()
89-
} catch {
90-
Promise.never()
87+
Promise.resolve(void)
9188
}
9289

93-
Maybe::Nothing => Promise.never()
90+
Maybe::Nothing => Promise.resolve(void)
9491
}
9592
}
9693

9794
/* Focuses the first focusable descendant of the given element. */
98-
fun focusFirst (element : Dom.Element) : Promise(Never, Void) {
95+
fun focusFirst (element : Dom.Element) : Promise(Void) {
9996
element
10097
|> getFocusableElements
10198
|> Array.first
@@ -109,14 +106,14 @@ module Dom {
109106
|> Dom.getElementById
110107
|> Dom.focusWhenVisible()
111108
*/
112-
fun focusWhenVisible (element : Dom.Element) : Promise(String, Void) {
109+
fun focusWhenVisible (element : Dom.Element) : Promise(Result(String, Void)) {
113110
`
114-
new Promise((resolve, reject) => {
111+
new Promise((resolve) => {
115112
let counter = 0
116113

117114
let focus = () => {
118115
if (counter > 15) {
119-
reject('Could not focus the element in 150ms. Is it visible?')
116+
resolve(#{Result::Err("Could not focus the element in 150ms. Is it visible?")})
120117
}
121118

122119
#{element}.focus()
@@ -125,7 +122,7 @@ module Dom {
125122
counter++
126123
setTimeout(focus, 10)
127124
} else {
128-
resolve(#{void})
125+
resolve(#{Result::Ok(void)})
129126
}
130127
}
131128

@@ -154,14 +151,12 @@ module Dom {
154151
/*
155152
If the attribute is present, it will return its value on the given element.
156153
157-
try {
158-
outcome =
159-
Dom.getElementById("my-div")
154+
outcome =
155+
Dom.getElementById("my-div")
160156
161-
case (outcome) {
162-
Maybe::Just(element) => Dom.getAttribute("id", element) == "my-div"
163-
Maybe::Nothing => false
164-
}
157+
case (outcome) {
158+
Maybe::Just(element) => Dom.getAttribute("id", element) == "my-div"
159+
Maybe::Nothing => false
165160
}
166161
*/
167162
fun getAttribute (name : String, element : Dom.Element) : Maybe(String) {
@@ -406,20 +401,18 @@ module Dom {
406401
|> getElementsBySelector(selector)
407402
|> Array.map(
408403
(item : Dom.Element) : Tuple(String, String, String) {
409-
try {
410-
tag =
411-
item
412-
|> getTagName()
413-
|> String.toLowerCase()
404+
tag =
405+
item
406+
|> getTagName()
407+
|> String.toLowerCase()
414408

415-
text =
416-
getTextContent(item)
409+
text =
410+
getTextContent(item)
417411

418-
hash =
419-
String.parameterize(text)
412+
hash =
413+
String.parameterize(text)
420414

421-
{tag, text, hash}
422-
}
415+
{tag, text, hash}
423416
})
424417
}
425418

@@ -507,7 +500,7 @@ module Dom {
507500
508501
Dom.scrollTo(element, 10, 10)
509502
*/
510-
fun scrollTo (element : Dom.Element, left : Number, top : Number) : Promise(Never, Void) {
503+
fun scrollTo (element : Dom.Element, left : Number, top : Number) : Promise(Void) {
511504
`#{element}.scrollTo({
512505
left: #{left},
513506
top: #{top}
@@ -561,7 +554,7 @@ module Dom {
561554
562555
Dom.smoothScrollTo(element, 10, 10)
563556
*/
564-
fun smoothScrollTo (element : Dom.Element, left : Number, top : Number) : Promise(Never, Void) {
557+
fun smoothScrollTo (element : Dom.Element, left : Number, top : Number) : Promise(Void) {
565558
`#{element}.scrollTo({
566559
behavior: 'smooth',
567560
left: #{left},

core/source/File.mint

Lines changed: 42 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,24 @@ module File {
33
/*
44
Prompts a dialog for the saving the given file.
55
6-
sequence {
7-
file =
8-
File.select(*)
6+
file = await File.select(*)
97
10-
File.download(file)
11-
}
8+
File.download(file)
129
*/
13-
fun download (file : File) : Promise(Never, Void) {
14-
sequence {
15-
url =
16-
Url.createObjectUrlFromFile(file)
17-
18-
`
19-
(() => {
20-
const anchor = document.createElement('a')
21-
anchor.download = #{file}.name
22-
anchor.href = #{url}
23-
anchor.click()
24-
})()
25-
`
26-
27-
Url.revokeObjectUrl(url)
28-
}
10+
fun download (file : File) : Void {
11+
url =
12+
Url.createObjectUrlFromFile(file)
13+
14+
`
15+
(() => {
16+
const anchor = document.createElement('a')
17+
anchor.download = #{file}.name
18+
anchor.href = #{url}
19+
anchor.click()
20+
})()
21+
`
22+
23+
Url.revokeObjectUrl(url)
2924
}
3025

3126
/*
@@ -60,14 +55,12 @@ module File {
6055
/*
6156
Reads the contents of the given file as a String.
6257
63-
sequence {
64-
file =
65-
File.create("Some content...", "test.txt", "text/plain")
58+
file =
59+
File.create("Some content...", "test.txt", "text/plain")
6660
67-
File.readAsArrayBuffer(file)
68-
}
61+
File.readAsArrayBuffer(file)
6962
*/
70-
fun readAsArrayBuffer (file : File) : Promise(Never, ArrayBuffer) {
63+
fun readAsArrayBuffer (file : File) : Promise(ArrayBuffer) {
7164
`
7265
(() => {
7366
const reader = new FileReader()
@@ -83,17 +76,15 @@ module File {
8376
/*
8477
Reads the contents of the given file as a Data URL.
8578
86-
sequence {
87-
file =
88-
File.fromString("Some content...", "test.txt", "text/plain")
79+
files =
80+
await File.select("text/plain")
8981
90-
url =
91-
File.readAsDataURL(file)
82+
url =
83+
File.readAsDataURL(file)
9284
93-
url == "data:text/plain;...."
94-
}
85+
url == "data:text/plain;...."
9586
*/
96-
fun readAsDataURL (file : File) : Promise(Never, String) {
87+
fun readAsDataURL (file : File) : Promise(String) {
9788
`
9889
(() => {
9990
const reader = new FileReader()
@@ -109,17 +100,15 @@ module File {
109100
/*
110101
Reads the contents of the given file as a String.
111102
112-
sequence {
113-
file =
114-
File.create("Some content...", "test.txt", "text/plain")
103+
file =
104+
File.create("Some content...", "test.txt", "text/plain")
115105
116-
url =
117-
File.readAsString(file)
106+
url =
107+
await File.readAsString(file)
118108
119-
url == "Some content..."
120-
}
109+
url == "Some content..."
121110
*/
122-
fun readAsString (file : File) : Promise(Never, String) {
111+
fun readAsString (file : File) : Promise(String) {
123112
`
124113
(() => {
125114
const reader = new FileReader()
@@ -138,14 +127,12 @@ module File {
138127
* The mime type can be restricted to the given one.
139128
* It might not resolve if the user cancels the dialog.
140129
141-
sequence {
142-
file =
143-
File.select("application/json")
130+
file =
131+
await File.select("application/json")
144132
145-
Debug.log(file)
146-
}
133+
Debug.log(file)
147134
*/
148-
fun select (accept : String) : Promise(Never, File) {
135+
fun select (accept : String) : Promise(File) {
149136
`
150137
(() => {
151138
const input = document.createElement('input')
@@ -161,7 +148,7 @@ module File {
161148

162149
document.body.appendChild(input)
163150

164-
return new Promise((resolve, reject) => {
151+
return new Promise((resolve) => {
165152
input.addEventListener('change', () => {
166153
resolve(input.files[0])
167154
})
@@ -178,14 +165,12 @@ module File {
178165
* The mime type can be restricted to the given one.
179166
* It might not resolve if the user cancels the dialog.
180167
181-
sequence {
182-
files =
183-
File.selectMultiple("application/json")
168+
files =
169+
await File.selectMultiple("application/json")
184170
185-
Debug.log(files)
186-
}
171+
Debug.log(files)
187172
*/
188-
fun selectMultiple (accept : String) : Promise(Never, Array(File)) {
173+
fun selectMultiple (accept : String) : Promise(Array(File)) {
189174
`
190175
(() => {
191176
const input = document.createElement('input')
@@ -200,12 +185,11 @@ module File {
200185
input.multiple = true
201186
input.type = 'file'
202187

203-
document.body.appendChild(input)
204-
205188
return new Promise((resolve, reject) => {
206189
input.addEventListener('change', () => {
207190
resolve(Array.from(input.files))
208191
})
192+
209193
input.click()
210194
document.body.removeChild(input)
211195
})

core/source/Html.Event.mint

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,8 @@ module Html.Event {
204204
/*
205205
Prevents the default action of the event from happening.
206206
207-
try {
208-
Html.Event.preventDefault(event)
209-
doSomethingElse()
210-
}
207+
Html.Event.preventDefault(event)
208+
doSomethingElse()
211209
*/
212210
fun preventDefault (event : Html.Event) : Void {
213211
`#{event.event}.preventDefault()`
@@ -216,10 +214,8 @@ module Html.Event {
216214
/*
217215
Stops the propagation of the given event.
218216
219-
try {
220-
Html.Event.stopPropagation(event)
221-
doSomethingElse()
222-
}
217+
Html.Event.stopPropagation(event)
218+
doSomethingElse()
223219
*/
224220
fun stopPropagation (event : Html.Event) : Void {
225221
`#{event.event}.stopPropagation()`

0 commit comments

Comments
 (0)