https://github.com/uwdata/draco-vis
Draco on the web
https://github.com/uwdata/draco-vis
Last synced: over 1 year ago
JSON representation
Draco on the web
- Host: GitHub
- URL: https://github.com/uwdata/draco-vis
- Owner: uwdata
- Created: 2018-06-21T05:50:14.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-08-28T04:50:14.000Z (almost 7 years ago)
- Last Synced: 2025-04-06T20:58:03.327Z (over 1 year ago)
- Language: TypeScript
- Size: 400 KB
- Stars: 19
- Watchers: 11
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Draco-Vis
[](https://www.npmjs.com/package/draco-vis)
[](https://travis-ci.com/uwdata/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](https://github.com/kripken/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](https://github.com/uwdata/draco/blob/master/README.md#draco-core-api-typescript--javascript). In addition, it exposes the `Draco` object.
*new* **Draco** *(updateStatus?: (text: string) => void, url?: string)*
>Constructs a `Draco` object. `updateStatus` is a callback used to log module status updates, defaulting to `console.log`. `url` may point to the base path of the hosting server, where '/clingo.js' from the package `wasmclingo` should rest, defaulting to the [unpkg url of `wasmclingo`](https://unpkg.com/wasm-clingo@0.2.2) (you may want to specify your own server if speed is of priority).
_draco._**init** *(): Promise*
>Initializes Draco's solver, returning a `Promise` that will resolve once initialization completes.
_draco._**solve** *(program: string, options?: Option): SolutionSet*
>Solves the given Draco ASP program. Returns a `SolutionSet` if 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 `Schema` of this (will be `null` if `prepareData` has not yet been called).
_draco._**updateAsp** *(aspSet: {\[s: string\]: string})*
>Updates the constraints / programs of this.
_draco._**getConstraintSet** *(): ConstraintSet*
>Returns the `ConstraintSet` backing 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.