Skip to content

Commit c0a7899

Browse files
authored
Expose rel ids to node.js api (#3867)
1 parent 9c24f32 commit c0a7899

2 files changed

Lines changed: 23 additions & 25 deletions

File tree

src_cpp/node_util.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,9 +249,12 @@ Napi::Value Util::ConvertToNapiObject(const Value& value, Napi::Env env) {
249249
dstIdVal ? ConvertNodeIdToNapiObject(dstIdVal->getValue<nodeID_t>(), env) : env.Null();
250250
auto label =
251251
labelVal ? Napi::String::New(env, labelVal->getValue<std::string>()) : env.Null();
252+
auto idVal = RelVal::getIDVal(&value);
253+
auto id = idVal ? ConvertToNapiObject(*idVal, env) : env.Null();
252254
napiObj.Set("_src", srcId);
253255
napiObj.Set("_dst", dstId);
254256
napiObj.Set("_label", label);
257+
napiObj.Set("_id", id);
255258
return napiObj;
256259
}
257260
case LogicalTypeID::INTERNAL_ID: {

test/test_data_type.js

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,9 @@ describe("REL", function () {
452452
assert.equal(rel.grading[1], 4.4);
453453
assert.equal(rel._label, "workAt");
454454
assert.approximately(rel.rating, 7.6, EPSILON);
455+
assert.exists(rel._id);
456+
assert.exists(rel._id.offset);
457+
assert.exists(rel._id.table);
455458
});
456459
});
457460

@@ -464,31 +467,23 @@ describe("RECURSIVE_REL", function () {
464467
assert.equal(result.length, 1);
465468
assert.exists(result[0]["e"]);
466469
const e = result[0]["e"];
467-
assert.deepEqual(e, {
468-
_nodes: [],
469-
_rels: [
470-
{
471-
year: 2021,
472-
places: ["wwAewsdndweusd", "wek"],
473-
length: 5,
474-
level: 5,
475-
code: 9223372036854776000,
476-
temperature: 32800,
477-
ulength: 33768,
478-
ulevel: 250,
479-
hugedata: BigInt("1844674407370955161811111111"),
480-
_label: "studyAt",
481-
_src: {
482-
offset: 0,
483-
table: 0,
484-
},
485-
_dst: {
486-
offset: 0,
487-
table: 1,
488-
},
489-
},
490-
],
491-
});
470+
assert.deepEqual(e._nodes, []);
471+
assert.equal(e._rels.length, 1);
472+
assert.equal(e._rels[0].year, 2021);
473+
assert.deepEqual(e._rels[0].places, ["wwAewsdndweusd", "wek"]);
474+
assert.equal(e._rels[0].length, 5);
475+
assert.equal(e._rels[0].level, 5);
476+
assert.equal(e._rels[0].code, 9223372036854776000);
477+
assert.equal(e._rels[0].temperature, 32800);
478+
assert.equal(e._rels[0].ulength, 33768);
479+
assert.equal(e._rels[0].ulevel, 250);
480+
assert.equal(e._rels[0].hugedata, BigInt("1844674407370955161811111111"));
481+
assert.equal(e._rels[0]._label, "studyAt");
482+
assert.deepEqual(e._rels[0]._src, { offset: 0, table: 0 });
483+
assert.deepEqual(e._rels[0]._dst, { offset: 0, table: 1 });
484+
assert.exists(e._rels[0]._id);
485+
assert.exists(e._rels[0]._id.offset);
486+
assert.exists(e._rels[0]._id.table);
492487
});
493488
});
494489

0 commit comments

Comments
 (0)