A BaseX (XML database) client library
npm install @quodatum/basexnpm install @quodatum/basex
bash
$ mkdir myproject
cd myproject
$ npm install @quodatum/basex
@quodatum/basex@1.0.0 ./node_modules/@quodatum/basex
`
Once BaseX is installed and the BaseX server is running, test it.
`bash
$ cd examples/
$ node Example.js
milliseconds: 0
{ result: '1 2 3 4 5 6 7 8 9 10',
info: '\nQuery executed in 0.38 ms.\n' }
end
close
`
Installing BaseX
1. Java is required
1. Download and install BaseX
(tested against versions 9.6,8.6)
1. Run basexserver -S
API specification
See commands.md
in the docs folder for details of the API.
Tests
There is a test suite using mocha
, should and
sinon.
`bash
mocha test
[auth] password good
√ should not error
[auth] password bad
√ should throw error
[commands] Execute info command
√ should not error
√ should have reply
[commands] Send valid xquery statement: 2+2
√ It should not error
√ It should equal 4
[commands] Send an invalid command: 2+
√ It should error
[commands] Create a database testdb using execute
√ It should not error
[commands] Add a document
√ It should not error
[commands] Add an invalid document
√ It should error
[commands] drop db testdb
√ It should not error
[commands] create database
√ It should not error
[commands] drop db database
√ It should not error
[parser] Parser test?
√ should pop abc
[query] create query and bind
√ It should not error
√ It should return a string
[query] create query and bind with type
√ It should not error
√ It should return a string
[query] Send a xquery and iterate over the result items
√ It should not error
√ It should return an array
[stream] Create a database testdb from stream
√ It should not error
[stream] Add doc from stream
√ It should not error
[stream] drop db testdb
√ It should not error
[stress] Send a xquery and iterate over the 1000000 result items
√ should not error
[stress] return megabyte result from execute
√ should not error
[stress] return megabyte result from query
√ should not error
26 passing (2s)
`
Tools
Javascript is formated using js-beautify js-beautify -r index.js
Documentation is generated using jsdoc -r -d docs --verbose index.js`