From 000425d84ac534615440816f1ee4ccaf0842ae9a Mon Sep 17 00:00:00 2001 From: Stefan-Gabriel Muscalu Date: Sun, 26 Jun 2016 16:56:28 +0300 Subject: [PATCH] Added: Record.toObject() to transform a Record into and Object --- src/v1/record.js | 14 ++++++++++++++ test/v1/record.test.js | 13 +++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/v1/record.js b/src/v1/record.js index 9edb55826..249e918f6 100644 --- a/src/v1/record.js +++ b/src/v1/record.js @@ -76,6 +76,20 @@ class Record { } } + /** + * Generates an object out of the current Record + * + * @returns {Object} + */ + toObject() { + const object = {}; + this.forEach((value, key) => { + object[key] = value + }); + + return object; + } + /** * Get a value from this record, either by index or by field key. * diff --git a/test/v1/record.test.js b/test/v1/record.test.js index debc56328..c5c5a4a65 100644 --- a/test/v1/record.test.js +++ b/test/v1/record.test.js @@ -41,6 +41,19 @@ describe('Record', function() { expect(record.has(1)).toEqual(false); }); + it('should transform Record into Object', function() { + // Given + var record = new Record( ["name", "age", "nested"], ["Bob", 20.5, {test: true}] ); + + // When + var obj = record.toObject(); + + // Then + expect(obj.name).toEqual("Bob"); + expect(obj.age).toEqual(20.5); + expect(obj.nested.test).toEqual(true); + }); + it('should give helpful error on no such key', function() { // Given var record = new Record( ["name"], ["Bob"] );