jsmumps
v0.1.11
Published
YottaDB/GT.M Database API for Node.js
Downloads
24
Maintainers
Readme
JSMumps
JSMumps is a Node.js module that allows the NodeM YottaDB binding to be used asynchronously, as well as providing an easy means of storing ECMAScript objects in a MUMPS database and retrieving them into your ECMAScript code.
JSMumps' object storage and retrieval mechanisms implement David Wicksell's JSON-M specification to provide lossless data fidelity when dealing with MUMPS nodes containing both data and child nodes.
Credits
The getObject() and setObject() APIs are based on similar APIs in CFMumps, which were implemented with the assistance of David Wicksell, whose JSON-M specification they implement.
Copyright and License
JSMumps is Copyright (C) 2017, 2019 Coherent Logic Development LLC
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Installation
With npm
npm i jsmumps
Add as a dependency in package.json
npm i -S
Architecture
JSMumps will by default fork 10 child processes to handle database connections. This is necessary because NodeM does not yet support asynchronous database operations. Each database operation specified in your code will be handled by a free child process; if no child processes are available to service an operation, new child processes will be created as needed.
JSMumps redefines process.exit()
in order to cleanly shut down child processes and close all open connections to NodeM.
API Overview
Instantiating JSMumps
The following example will create an instance of the JSMumps API using 30 child processes in the variable jsm
, running at log level 4:
const JSMumps = require('jsmumps');
var jsm = new JSMumps({
workerCount: 30,
logLevel: 4
});
From this point, you will be able to call JSMumps methods.
Please see the JSMumps Wiki for more API documentation.