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

feature(parse): scxml import #61

Merged
merged 14 commits into from
Jul 28, 2019
Merged

feature(parse): scxml import #61

merged 14 commits into from
Jul 28, 2019

Conversation

sverweij
Copy link
Owner

@sverweij sverweij commented Jul 27, 2019

Description

  • adds an scxml parser to state-machine-cat
  • available on the command line (--input-type scxml or -I scxml) (on npmjs in the beta channel; npm i state-machine-cat@beta
  • available on state-machine-cat.js.org as a menu item (for the duration of the PR on https://sverweij.gitlab.io/state-machine-cat)

Motivation and Context

  • improves interoperability - state-machine-cat can serve as a visualisation engine for tools/ program/s frameworks that can emit scxml (like xstate or commons scxml) - as per suggestion in export to xstate format #59.

TODO

  • handle transitions without a target (possible within SCXML, but not in state-machine-cat)
  • more precise tests against the corpus
  • refactor for cleanliness & readability (code climate started to complain as well already :-) )
  • design rationale (e.g. in docs/SCXML.md)
  • end user documentation

How Has This Been Tested?

  • additional automated unit/ integration tests
  • automated non-regression tests

Screenshots

image

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • The code I add will be subject to The MIT license, and I'm OK with that.
  • The code I've added is my own original work.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

src/parse/scxml/index.js Show resolved Hide resolved
src/parse/scxml/index.js Outdated Show resolved Hide resolved
src/parse/scxml/index.js Show resolved Hide resolved
src/parse/scxml/index.js Outdated Show resolved Hide resolved
src/parse/scxml/index.js Outdated Show resolved Hide resolved
Copy link

@codeclimate codeclimate bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR diff size of 5270 lines exceeds the maximum allowed for the inline comments feature.

@codeclimate
Copy link

codeclimate bot commented Jul 28, 2019

Code Climate has analyzed commit de2fb88 and detected 0 issues on this pull request.

The test coverage on the diff in this pull request is 100.0% (100% is the threshold).

This pull request will bring the total coverage in the repository to 100.0% (0.0% change).

View more on Code Climate.

@sverweij sverweij merged commit 18a2dd1 into develop Jul 28, 2019
@sverweij sverweij deleted the feature/scxml-import branch July 28, 2019 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant