-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo
75 lines (63 loc) · 2.7 KB
/
todo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# FEEDBACK
- missing API docs
- asserting about form fields is awkward
- there should be a more convenient way to submit a form in the simulator
- .submitForm({'Foo', 'bar'}) ?
# BUGS
- If a load error happens that is not a SyntaxError,
nonfatal syntax issues (e.g. trailing commas) may be
highlighted, which is confusing.
- deleting all the code does not make the output of displayText()
go away—the function doesn't get undefined if there's no
define() call.
- latent bug: once multiple files are supported, what will happen
if some files have syntax errors when Verse first starts?
How will those errors be reported to the user? One way of
avoiding this is to only save files that eval successfully.
- render objects using visualize() in "you yielded something
weird" error message
# UX CONCERNS
- add restart button, and do not restart when user clicks the RUN tab
- yield getLine(); yield getText() (show a real input element, for mobile support)
# FEATURES
- oneOf should be public (change name to isOneOf?)
- add isBoolean function to API
- is, equals should support partial application
- version number should link to source code
- cancel button on app UI that kills the current routine
stack up to and including the frame that is currently
rendering the view. (but what is returned from the killed
routine?)
- in-editor docs
- at('foo.bar.baz', append('hi'), object)
- linked list type (how to `visualize`?)
- use localForage
- multiple files
- button to export a project to disk as standalone HTML
- button to import a project from another version of Verse
- Have tests optionally return a value, which is printed in
the test report? Then you can see the value before crafting
an assertion. The test never "fails".
This also probably obsoletes displayText
- a debug() function that prints to the output of currently-running test
- test failures are collapsed by default and can be expanded
to view the error message.
- Add license script tag for GNU LibreJS:
https://www.gnu.org/software/librejs/free-your-javascript.html
# BREAKING CHANGES FOR 2.0
- rename startDisplay to show and allow it to take either a
string or a function
- rename waitForChar to waitForKey
- rename reducer to updater
- make retry() always retry the current routine
- replace firstOf, lastOf with firstOr, lastOr (you must
provide a default in case the array is empty)
- same for get() -- make it require a default
- canonical action key should be verb, not type, because
type has other meanings
[ Load ][ Test ][ Run ][ Inspect ] : [ Docs ]
# REFACTORING
- move defaulting of reducer, getStateType to Store to
fix duplication between Core and Simulator
- rename syntaxErrors to loadErrors on view object,
error to runError