Changed parser implementation to support more osascript outputs #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi @TooTallNate, I had some issues trying to get records from osascript output (in some cases the parser returned wrong data -ie. dates-, or it hangs in a loop).
For that reason I made a new implementation of the parser using PegJS (http://pegjs.majda.cz/).
Also I added some unit tests, to document the supported cases.
The implementation is not exhaustive, some "classes" metioned here: https://developer.apple.com/library/mac/documentation/applescript/conceptual/applescriptlangguide/reference/ASLR_classes.html#//apple_ref/doc/uid/TP40000983-CH1g-BBCBJDGC are not implemented.
But they can be easily added to the pegjs grammar file.
Consider it for merge, it will resolve #2 and other issues that I found but are not reported as bugs (like date support, or the hang when you have a complex string value - ie HTML with escape codes).
Thanks!