draco-vis v0.0.16
Draco-Vis
A module for Draco on the web, written in Typescript. Learn more about Draco at https://uwdata.github.io/draco/.
Note that we use Emscripten to compile the Clingo constraint solver to WebAssembly so it runs inside your browser.
Installation
Install with yarn add draco-vis. See it in action on Observable at https://beta.observablehq.com/@domoritz/hello-draco.
API
Draco-Vis exports the Draco-Core API. In addition, it exposes the Draco object.
new Draco (updateStatus?: (text: string) => void, url?: string)
Constructs a
Dracoobject.updateStatusis a callback used to log module status updates, defaulting toconsole.log.urlmay point to the base path of the hosting server, where '/clingo.js' from the packagewasmclingoshould rest, defaulting to the unpkg url ofwasmclingo(you may want to specify your own server if speed is of priority).
draco.init (): Promise
Initializes Draco's solver, returning a
Promisethat will resolve once initialization completes.
draco.solve (program: string, options?: Option): SolutionSet
Solves the given Draco ASP program. Returns a
SolutionSetif satisfiable.
draco.prepareData (data: any[])
Ingests the given data (a list of dictionaries), automatically parsing it for fields and datatypes, as well as various statistics.
draco.getSchema (): Schema
Returns the data
Schemaof this (will benullifprepareDatahas not yet been called).
draco.updateAsp (aspSet: {[s: string]: string})
Updates the constraints / programs of this.
draco.getConstraintSet (): ConstraintSet
Returns the
ConstraintSetbacking this.
Run locally
Run yarn to install dependencies. Then run yarn start.
Run yarn test to test the module.
Run yarn format to format the code.