Commit graph

2338 commits

Author SHA1 Message Date
Jordan Eldredge
dd02f2ca7d Use asyncTreeFlatMap instead of asyncTreeMap
FlatMap is more powerful than map. More importantly, I only want to maintain one tree map function if I can help it.
2019-07-20 17:04:54 -07:00
Jordan Eldredge
e2e88b4292 Inline includes
Rather than making the content of the included file the _contents_ of
the `<include />` node, we replace the `<include />` node with the
children of the included file.
2019-07-20 17:01:41 -07:00
Jordan Eldredge
d99f8c1f9d Assert which files get read from the zip 2019-07-20 17:01:27 -07:00
Jordan Eldredge
76e472acac Introduce asyncDepthFirstFlatMap 2019-07-20 17:01:27 -07:00
Jordan Eldredge
d12bbcadd1 Prettier 2019-07-20 17:01:27 -07:00
jberg
06f3a473ed Add runtime version and remove version check hacks (#818)
* add runtime version and remove version check hacks

* move jump logic into a shared function
2019-07-20 16:39:19 -07:00
jberg
3cfd9278c8 lookup command opcodes in debugger (#817) 2019-07-20 16:26:17 -07:00
dependabot[bot]
c8ec4e4e54 Bump lodash from 4.17.11 to 4.17.13 (#816)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.13.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.13)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-20 06:02:17 -07:00
Jordan Eldredge
386d46bcd7 Add comments in places where we await because of #814 2019-07-19 22:03:59 -07:00
Jordan Eldredge
9f04b71609 Clean up test format 2019-07-19 21:59:24 -07:00
Jordan Eldredge
3debd3704e Remove try/catch blocks
There were only here so that we could check in the tests before the code actually worked
2019-07-19 21:49:16 -07:00
Jordan Eldredge
ea3a7b4736 Use signed ints for function offsets 2019-07-19 21:46:38 -07:00
Jordan Eldredge
2cd23e7b14 Consolidate cases that get a variable offset 2019-07-19 21:38:25 -07:00
Jordan Eldredge
b44c825acb Make it more clear that func and line get the same info 2019-07-19 21:36:17 -07:00
Jordan Eldredge
ad4c95d602 Don't leak data from constants outside of the parserEventually we will get rid of the object in constants, so we don't want others to expect this data to be here. 2019-07-19 21:34:42 -07:00
Jordan Eldredge
aaf490b143 Remove unused data about localFunctions 2019-07-19 21:28:20 -07:00
Jordan Eldredge
2c62e419a7 Inline readUInt32LE
This will allow us to do signed ints in some places but not all.
2019-07-19 21:07:53 -07:00
Jordan Eldredge
5cc12d4464 Prettier 2019-07-19 20:59:20 -07:00
Jordan Eldredge
8b5e0204b9 Add utility function for getting binary arrays out of zips 2019-07-19 20:59:14 -07:00
Jordan Eldredge
e887733143 Avoid annoying message when running yarn commands 2019-07-19 20:58:47 -07:00
jberg
5343180181 more function and scope tests (#813)
* more function and scope tests

* hack to fix handling of wrong sign offsets

* attempting to fix async issue

* fixes captbaritone found

* add comment about recursive function
2019-07-18 15:40:00 -07:00
Jordan Eldredge
7d76a5762b Move runtime to toplevel 2019-07-16 18:48:02 -07:00
Jordan Eldredge
31a6a26bab Add messages section 2019-07-16 18:48:02 -07:00
Jordan Eldredge
fe569b8d0b Pause before the first command 2019-07-16 18:48:02 -07:00
jberg
ac31fb6801 fix button image rendering and handle layout without x/y (#812) 2019-07-16 18:47:26 -07:00
Jordan Eldredge
333bebee07 Speed up running scripts in the debugger 2019-07-15 07:30:38 -07:00
jberg
fdef7b8897 measure image if we don't have node attributes to use (#811)
* measure image if we don't have node attributes to use

* return image, allow for x/y to be specificied without w/h
2019-07-14 22:36:17 -07:00
jberg
e0036cba81 tweak 2 arg operatores and coercion (#810) 2019-07-14 17:16:56 -07:00
Jordan Eldredge
a1c49d2003 Abstract how we handle two argument operators.
Some don't work. I wonder why.
2019-07-14 15:55:04 -07:00
Jordan Eldredge
32534992ac Don't log the "done" promise 2019-07-14 15:45:20 -07:00
Jordan Eldredge
50fdc8529d Be consistent with ordering of a and b, even when it does not matter
Interestingly this changes the order of << but tests still pass
2019-07-14 15:45:04 -07:00
Jordan Eldredge
4330331082 Commands only have a single argument 2019-07-14 15:41:33 -07:00
jberg
7ba86cf584 fix tests, sprinkle more async/await (#809) 2019-07-14 15:25:40 -07:00
jberg
ea7b2d7670 remove integer checking (#808) 2019-07-13 19:00:04 -07:00
Jordan Eldredge
b73f9117dd Run prettier 2019-07-13 15:57:03 -07:00
jberg
a9fb8631c5 add simple function tests, run wa5 tests (#806)
* add simple function tests

* add simple functions to test suite

* add popTo/callGlobal definitions

* use interpret for callGlobal, pass stack to interpret

* type check and cast to int when setting variables

* need to await interpret calls

* get wa5 tests running

* add some comments
2019-07-13 15:45:32 -07:00
Jordan Eldredge
e6f67cf6f5 Reference correct skin in utils test 2019-07-13 15:37:57 -07:00
jberg
c0caa5fa60 simplify type coercion / fix destructuring related error (#807) 2019-07-12 15:29:14 -07:00
jberg
c642b183e7 More basic tests (#805)
* add more basic tests

* add/update passing test strings

* only coerce if int is on LHS
2019-07-12 14:49:57 -07:00
jberg
4e880ab130 implement more operators and coerce types (#804)
* implement more operators and coerce types

* add remaining operators
2019-07-12 09:55:49 -07:00
Jordan Eldredge
bf5c3e9078 Fix initial paused state 2019-07-11 22:31:04 -07:00
Jordan Eldredge
56547a73ba Improve debugging 2019-07-11 22:29:37 -07:00
Jordan Eldredge
9fc8d49dc7 Use a reducer to update state 2019-07-11 22:29:37 -07:00
jberg
4b3323cbca check type on modulo (#803) 2019-07-11 22:20:32 -07:00
Jordan Eldredge
549a0d7b38 Implement more operators and add debugger 2019-07-11 20:57:18 -07:00
Jordan Eldredge
25bd25fde2 Inject logger 2019-07-11 20:57:18 -07:00
Jordan Eldredge
c9fc58ea44 Reenable tests 2019-07-11 20:57:18 -07:00
Jordan Eldredge
417e22f28e Allow parser.js to run in the browserFor some reason object destructuing makes someone assume we should be using es6 exports 2019-07-11 20:57:18 -07:00
Jordan Eldredge
0be6a8e092 Compensate for the upcoming i++ 2019-07-11 20:57:18 -07:00
Jordan Eldredge
b1fdd62410 Start running basic test 2019-07-11 20:57:18 -07:00