Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parse an Interrupt stack trace. #102

Closed
bigeasy opened this issue Oct 18, 2020 · 0 comments
Closed

Parse an Interrupt stack trace. #102

bigeasy opened this issue Oct 18, 2020 · 0 comments
Assignees

Comments

@bigeasy
Copy link
Owner

bigeasy commented Oct 18, 2020

No description provided.

@bigeasy bigeasy added this to the Convert to ES6. milestone Oct 18, 2020
@bigeasy bigeasy self-assigned this Oct 18, 2020
@bigeasy bigeasy added this to Backlog in Convert to ES6. via automation Oct 18, 2020
bigeasy pushed a commit that referenced this issue Oct 19, 2020
bigeasy pushed a commit that referenced this issue Oct 19, 2020
bigeasy pushed a commit that referenced this issue Oct 19, 2020
 * Fix `callee` argument. Closes #106.
 * Diary about formatted messages. See #97.
 * Remove `properties` argument. Closes #105.
 * Upgrade `keyify` to `2.0.5`. Closes #104.
 * Scratch out some more Docco. See #97.
 * Rename your Docco readme.
 * Use whitespace/non-whitespace character class. See #102.
 * Add `messages` property to generated class. Closes #103.
 * Notes on parsing stack traces. See #102.
 * There will be no prefixes appended to codes. See #96.
 * Notes on what happens when a stack is a biggun.
 * Implement prune of repeated causes. Closes #101.
 * Build with only Node.js 12 on GitHub Actions. Closes #100.
 * Build with only Node.js 12 on Travis CI. Closes #99.
 * Export `Iterator` class. Closes #98.
 * Swipe at some Docco based documentation. See See #97.
 * Implement error code to message format map. Closes #96.
 * Implement formatted error messages. Closes #95.

Closes #107.
bigeasy pushed a commit that referenced this issue Dec 1, 2020
Going to ensure that the parser works and also add a scanning ability to
the parser. Start of parser is here. In order to scan the parser
instance will accept a line at a time and return an object when it's
`end()` method is called. Parsing nested exceptions is a matter of
constructing a nested parser instance.

Requires reworking of how we serialize non-Error errors which will
probably be just JSON. The only special case is `null` since someone
could create a stack-traceless error with a name of `null` which would
be really unpleasant, highly-unlikely but if it is the only special case
we should accommodate it.

Alternatively, we could detect that the `error.stack` evaulates to
`null` and print `stack:` or a properties hash of `'{\n}'`.

See #102.
bigeasy pushed a commit that referenced this issue Dec 1, 2020
Serialized nested error in the Interrupt format so that you can parse
them unambiguously. It the nested error has strange properties serialize
it as a JSON object. We have a chance at the time of serialization to
see if it is going to cause problems when parsing.

See #102.
bigeasy pushed a commit that referenced this issue Dec 9, 2020
 * Delete unused swipe. See #97.
 * Remove `Context` class. Closes #144.
 * Documentation and test for `sprintf` errors. See #95. See #97.
 * Documentation on inheritance in `swipe.t.js`. See #97. See #133.
 * Clean up `README.md`. See #97.
 * Remove debugging message.
 * An integer argument sets stack trace limit. See #97. See #143.
 * Implement `toString()` and `inspect.util`. Closes #142.
 * Inheritance and aliases.
 * Import symbols using `symbol`. See #133.
 * Move existing inheritance into `swipe.t.js`. See #133.
 * Sorted out construction of aliases. See #140.
 * Rename `Merge.argument` to `combine`. See #140. See #97.
 * Move used verbiage to `swipe.t.js`. See #97.
 * Tidy newline printing in `readme.t.js`. See #97.
 * `codes` no longer reports templates. See #133. See #140.
 * Tidy declaration of codes lookup. See #133. See #140.
 * Options object can now go anywhere. See #117.
 * Sketch of plain code inheritance. See #133. See #141.
 * Non-enumerable properties in defaults. See #141.
 * Non-enumerable properties in constructor. See #141.
 * Corral class properties into `Prototype`. See #133. See #140.
 * `create` unshifts onto `vargs`. See #133. See #140.
 * Added thoughts about inheritance to docs. See #133. See #140.
 * Inheriting templates from super class. See #140.
 * Sketch of aliases. See #140.
 * Implement sprintf-only properties. Closes #127.
 * Document the appropriate use of error properties. See #97.
 * Derive from derived super class, inherit codes. Closes #133.
 * Moving some documentation around, diary entry. See #97.
 * Talk default properties and codes before JSON. See #97.
 * More documentation. See #97.
 * Convert nested Errors to Interrupt format. See #102.
 * Re-implementation of stack trace parser. See #102.
 * Sort out enumerability. Closes #128.
 * Thoughts on printing non-Error nested errors.
 * `code` returns an object. Closes #139.
 * Print not code if null, nor context if empty. Closes #137.
 * Reorganization, deliminate some dead code. See #97.
 * Additional documentation. See #97.
 * Create static function to get the error message. See #97. Closes #136.
 * Documentation and reorgainzation. See #97.
 * Remove old `interrupt.t.js` unit test. See #97.
 * Remove `assert`. See #131.
 * Actually using the circular reference JSON. See #130.
 * `Interrupt.Error` error codes for meta-errors. Closes #131.
 * Will not derive from `AggregateError`. Closes #116.
 * Implement a forgiving JSON serializer. Closes #130.
 * Use `Instances` instead of `MATERIAL`.
 * Created a context object for nested error context. Closes #135.
 * Display code in stack trace.
 * Add test temp directory to `.gitignore`.
 * Implement default properties by code. Closes #134.
 * Fix options merging. See #117.
 * Sketch of code inerhitence. See #133.
 * Sketch of audit, `sprintf` errors reported. See #114. Closes #122.
 * One rename of `properties` was skipped. See #129.
 * Reordered assistants in order of documentation. See #97.
 * Rename `context` to `properties`. Closes #129.
 * Currying appears to be finished. Closes #125.
 * Use the finalized deferred constructor. See #125. See #113. See #112. See #111.
 * Implement sync `try`/`catch` wapper. See #113.
 * Decide on `callback()` function signature. See #112.
 * Sketch of currying, implement `voptions`. See #125. See #111. Closes #126.
 * Settle on an argument order for constructor. See #117. Seem to have removed ambiguities. The first argument to the constructor
 * Documentation, discovered an ambiguity. See #97.
 * Sketch auditing, deferred construct. Assert docs. See #97. See #114. See #117.
 * Create `Symbol`s for error codes. Closes #124.
 * Fix `sprintf` format selection. See #117.
 * Fix `readme.t.js` example error formats. See #97.
 * Catch `sprintf` errors. See #117. See #122.
 * Assert that `Interrupt` is protected. Closes #123.
 * Rename `causes` to `errors. Closes #115.
 * Further sketch of named parameters. See #117.
 * Build with Node.js 15 on Travis CI. Closes #121.
 * Remove dead code.
 * Build with Node.js 15 on GitHub Actions. Closes #120.
 * Build with Node.js 14 on GitHub Actions. Closes #119.
 * Build with Node.js 14 at Travis CI. Closes #118.
 * Start named parameters, no constructor assertions. See #117. Closes #110.
 * Promise resolver, callback helper function.
 * Poking at the `readme.t.js`. See #97.
 * Change tagline. See #97.
 * Add a TODO. See #110.
 * Make `readme.t.js` a unit test. See #97.

Closes #145.
Convert to ES6. automation moved this from Backlog to Done Dec 14, 2020
bigeasy pushed a commit that referenced this issue Dec 14, 2020
 * Tracer resolution in constructor.
 * Rename `$poker` to `$trace`.
 * Implement multi-line messages.
 * Add scanning to stack trace parser. Closes #102.
 * Split out pokers into a separate section.
 * Fix callee now that deferred construction is gone.
 * Fix unit test broken by `$errors` rename.
 * Added unit test for constructor error parse.
 * Serialize and parse constructor errors.
 * Thoughts on preserving deferred construction.
 * Add `message` to `properties`, properties Docco. See #97.

Closes #155.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

1 participant