ember-introjs
Version:
An Ember Component for intro.js
62 lines (45 loc) • 1.71 kB
Markdown
A topologically ordered map of key/value pairs with a simple API for adding constraints.
Used for ordering initializers in Ember. Has a flexible constraint syntax
that can add before/after contraints that can forward reference things
yet to be added.
```js
// import DAGMap from "dag-map";
const DAGMap = require("dag-map").default;
let map = new DAGMap();
// map a key value pair
// #add(
// key: string, value: any,
// before?: string[] | string | undefined,
// after?: string[] | string | undefined
// )
map.add('eat', 'Eat Dinner');
// add a key value pair with before and after constraints
map.add('serve', 'Serve the food', 'eat', 'set');
// keys can be added after a key has been referenced
map.add('set', 'Set the table');
// graph now is eat -> serve -> set
// constraints can be an array
map.add('cook', 'Cook the roast and veggies', 'serve', ['prep', 'buy']);
map.add('wash', 'Wash the veggies', 'prep', 'buy');
map.add('buy', 'Buy roast and veggies');
map.add('prep', 'Prep veggies', undefined, 'wash');
// log in order (multiple valid spots for set the table).
map.each((key, val) => console.log(`${key}: ${val}`));
// set: Set the table
// buy: Buy roast and veggies
// wash: Wash the veggies
// prep: Prep veggies
// cook: Cook the roast and veggies
// serve: Serve the food
// eat: Eat Dinner
```
add is aliased as addEdges for backwards compat.
each is aliased as topsort for backwards compat.
* `npm install`
* `npm test` runs the tests headless
* `npm run build` rebuild
* `npm run docs` documentation