Shinkansen Engine
npm install shinkansen-engineshinkansen-engine_Shinkansen_ generates JSON Schema valid documents from user submissions with forms.
_Engine_ renders React layouts with form field and group elements, as well as optional navigation components, using _Pinion_, _Gears_ and _Transmission_.
Layouts can be produced from a JSON Schema transformed into the Zashiki description format. The user submission generated by the layout will be valid according to that JSON Schema.
We use Storybook to present React layouts and components.
Our Stories contain _single-value_ components for development. (Layouts for production are composed of one or several components.)
Typically, these render with an element, but under _Controls_ you can see how a _choice_ can be captured with or elements.
- String
- String (_Enum_)
- String (_Any of_)
- String (_One of_)
- Number
- Number (_Enum_)
- Number (_Any of_)
- Number (_One of_)
Whether _items is an object_ or _items is an array_ depends on how Zashiki interprets the JSON Schema (assuming that Zashiki has mechanically translated a JSON Schema into a description, and the description hasn't been generated manually). It matters for validating the _document_ according to the _schema_, but for humans the distinction may seem arbitrary. Our stories account for both structures.
#### Array (_Items is an object_)
- String
- String (_Enum_)
- String (_Any of_)
- String (_One of_)
- Number
- Number (_Enum_)
- Number (_Any of_)
- Number (_One of_)
- Boolean
- Boolean (_Enum_)
- Boolean (_Any of_)
- Boolean (_One of_)
- Null
- Null (_Enum_)
- Null (_Any of_)
- Null (_One of_)
#### Array (_Items is an array_)
- String
- String (_Enum_)
- String (_Any of_)
- String (_One of_)
- Number
- Number (_Enum_)
- Number (_Any of_)
- Number (_One of_)
- Boolean
- Boolean (_Enum_)
- Boolean (_Any of_)
- Boolean (_One of_)
- Null
- Null (_Enum_)
- Null (_Any of_)
- Null (_One of_)
- Object - String
- Object - String (_Enum_)
- Object - String (_Any of_)
- Object - String (_One of_)
- Object - Number
- Object - Number (_Enum_)
- Object - Number (_Any of_)
- Object - Number (_One of_)
- Object - Boolean
- Object - Boolean (_Enum_)
- Object - Boolean (_Any of_)
- Object - Boolean (_One of_)
- Object - Null
- Object - Null (_Enum_)
- Object - Null (_Any of_)
- Object - Null (_One of_)
- Boolean
- Boolean (_Enum_)
- Boolean (_Any of_)
- Boolean (_One of_)
- Null
- Null (_Enum_)
- Null (_Any of_)
- Null (_One of_)
- Cogs
- Sprockets
- Gears
- Pinion
- Transmission