Skip to content

Commit ab0120f

Browse files
authored
Merge pull request #100 from legraphista/feature/record-toObject-method
Added: Record.toObject() to transform a Record into an Object
2 parents b452dd8 + 000425d commit ab0120f

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

src/v1/record.js

+14
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,20 @@ class Record {
7676
}
7777
}
7878

79+
/**
80+
* Generates an object out of the current Record
81+
*
82+
* @returns {Object}
83+
*/
84+
toObject() {
85+
const object = {};
86+
this.forEach((value, key) => {
87+
object[key] = value
88+
});
89+
90+
return object;
91+
}
92+
7993
/**
8094
* Get a value from this record, either by index or by field key.
8195
*

test/v1/record.test.js

+13
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,19 @@ describe('Record', function() {
4141
expect(record.has(1)).toEqual(false);
4242
});
4343

44+
it('should transform Record into Object', function() {
45+
// Given
46+
var record = new Record( ["name", "age", "nested"], ["Bob", 20.5, {test: true}] );
47+
48+
// When
49+
var obj = record.toObject();
50+
51+
// Then
52+
expect(obj.name).toEqual("Bob");
53+
expect(obj.age).toEqual(20.5);
54+
expect(obj.nested.test).toEqual(true);
55+
});
56+
4457
it('should give helpful error on no such key', function() {
4558
// Given
4659
var record = new Record( ["name"], ["Bob"] );

0 commit comments

Comments
 (0)