use-neo4j
Version:
<div style="text-align:center"> <h1>React Hooks For Neo4j</h1>
25 lines (24 loc) • 1.31 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useWriteTransaction = exports.useReadTransaction = exports.useTransaction = void 0;
var react_1 = require("react");
var neo4j_driver_1 = __importDefault(require("neo4j-driver"));
var neo4j_context_1 = require("./neo4j.context");
exports.useTransaction = function (defaultAccessMode, database) {
var driver = react_1.useContext(neo4j_context_1.Neo4jContext).driver;
if (!driver)
throw new Error('`driver` not defined. Have you added it into your app as <Neo4jContext.Provider value={{driver}}> ?');
var session = driver.session({ database: database, defaultAccessMode: defaultAccessMode });
var transaction = session.beginTransaction();
return {
transaction: transaction,
run: transaction.run,
commit: transaction.commit,
rollback: transaction.commit,
};
};
exports.useReadTransaction = function (database) { return exports.useTransaction(neo4j_driver_1.default.session.READ, database); };
exports.useWriteTransaction = function (database) { return exports.useTransaction(neo4j_driver_1.default.session.WRITE, database); };