dgraph-js
and grpc
are needed as peer dependencies.Functions including "commit" indicate they will be set to "commitNow" Functions including "txn" indicate they create their own transactions and can be directly awaited.
This library is pre 1.0 and there might be some small API changes, that said everything is a small function so you could always ctrl-c ctrl-v it out of the repo if things change.
const users = [
{ username: 'foo' }
{ username: 'bar' }
]
const id1 = await xExtractUids(xSetJSONCommitTxn(users, dgraphClient));
const updateJunior = {
skill: 'Javascript',
level: 10,
x: 'y',
y: 'y',
z: 'y'
};
// If you already had a node in the db that looks like:
const existingNode = {
skill: 'Javascript',
level: 10,
x: 'foo',
y: 'foo',
z: 'foo'
};
// You can pass an array of values to update, or just an object.
const updates = [updateJunior];
// The basicEqualityUpsertFn below will find any nodes that has both skill and level predicates.
const upsertFn = basicEqualityUpsertFn(['skill', 'level']);
// x, y and z will be updated from 'foo' to 'y', because both skill and level match.
// If no node matched both skill 'Javascript' and level '10' a new node would be created.
// We can await this direclty as it includes commit and txn postfix.
const [uid] = await xUpsertCommitTxn(upsertFn, updates, dgraphClient);
// It returns the uids of the found or created nodes.
// If you want it as part of a bigger transaction there is also a xUpsertObject function you could use.
Checkout all the functions in API documentation
Please do feel free to submit a PR.
Install docker then run yarn run dgraph-test-db-up
Now just call yarn run test
You can also setup Wallaby JS as a test runner. I am a fan.
yarn run commit
yarn run test
package.json
yarn run generate-changelog
yarn publish
package.json
, CHANGELOG.md
and lib filesGenerated using TypeDoc