From 434f40192c459d7b0fa76145d4888284ccc6ff33 Mon Sep 17 00:00:00 2001 From: Timur Shemsedinov Date: Tue, 10 Nov 2020 23:17:33 +0200 Subject: [PATCH 1/6] Add primitive type: bigint --- lib/data.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/data.js b/lib/data.js index 49c4638a..3d568301 100644 --- a/lib/data.js +++ b/lib/data.js @@ -1,6 +1,6 @@ 'use strict'; -const SCALAR_TYPES = ['boolean', 'number', 'string', 'undefined']; +const SCALAR_TYPES = ['boolean', 'number', 'string', 'undefined', 'bigint']; // Check if value is scalar // value - From 99c8532569fc9047fd31fd38e0ecc5b2fb52170e Mon Sep 17 00:00:00 2001 From: Timur Shemsedinov Date: Wed, 11 Nov 2020 00:07:00 +0200 Subject: [PATCH 2/6] Implement isReference --- lib/data.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/data.js b/lib/data.js index 3d568301..7e1393c3 100644 --- a/lib/data.js +++ b/lib/data.js @@ -1,12 +1,18 @@ 'use strict'; const SCALAR_TYPES = ['boolean', 'number', 'string', 'undefined', 'bigint']; +const REF_TYPES = ['object', 'function']; // Check if value is scalar // value - // Returns: const isScalar = value => SCALAR_TYPES.includes(typeof value); +// Check if value is reference +// value - +// Returns: +const isReference = value => value !== null && REF_TYPES.includes(typeof value); + // Copy dataset (copy objects to new array) // ds - , source dataset to be copied // Returns: @@ -175,6 +181,7 @@ const mergeObjects = (merger, ...objs) => { module.exports = { isScalar, + isReference, copy, clone, duplicate, From 62d8740c7407700519b2ffa9dd0470c9c8829fe5 Mon Sep 17 00:00:00 2001 From: Timur Shemsedinov Date: Wed, 11 Nov 2020 00:07:21 +0200 Subject: [PATCH 3/6] Add tests for scalar/reference utils --- test/data.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/data.js b/test/data.js index 134fb23b..59cb051b 100644 --- a/test/data.js +++ b/test/data.js @@ -11,6 +11,10 @@ metatests.case( { 'common.isScalar': [ [0, true], + [1, true], + [1.5, true], + [1n, true], + [-1n, true], ['value1', true], [50, true], [true, true], @@ -23,6 +27,14 @@ metatests.case( [{}, false], ['', true], ], + 'common.isReference': [ + [{}, true], + [[], true], + [() => {}, true], + [1n, false], + [null, false], + [undefined, false], + ], 'common.copy': [ [ [1, 2, 3], From 718ed1cc7f29c246e422248521cdb09134c2216e Mon Sep 17 00:00:00 2001 From: Timur Shemsedinov Date: Wed, 11 Nov 2020 00:11:09 +0200 Subject: [PATCH 4/6] fixup! Add tests for scalar/reference utils --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 2fa3add6..cbeccd53 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ $ npm install @metarhia/common - [id](#idx) - [asyncId](#asyncidx-callback) - [isScalar](#isscalarvalue) +- [isReference](#isreferencevalue) - [copy](#copyds) - [clone](#cloneobj) - [duplicate](#duplicateobj) @@ -576,6 +577,14 @@ _Returns:_ [``][boolean] Check if value is scalar +### isReference(value) + +- `value`: `` + +_Returns:_ [``][boolean] + +Check if value is reference + ### copy(ds) - `ds`: [``][object] source dataset to be copied From 2efd8ab1fee09fcd6f4ee6e154278af83c95e449 Mon Sep 17 00:00:00 2001 From: Timur Shemsedinov Date: Wed, 11 Nov 2020 00:12:41 +0200 Subject: [PATCH 5/6] fixup! Add primitive type: bigint --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34b600ed..1b86791e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ and this project adheres to ## [Unreleased][unreleased] +- Add primitive type: bigint for isScalar + ## [2.2.0][] - 2020-07-10 ### Added From d0350fdb876205300f278cdac4a5f4e9472ad996 Mon Sep 17 00:00:00 2001 From: Timur Shemsedinov Date: Wed, 11 Nov 2020 00:13:30 +0200 Subject: [PATCH 6/6] fixup! Implement isReference --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b86791e..86882d1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to ## [Unreleased][unreleased] - Add primitive type: bigint for isScalar +- Implement isReference ## [2.2.0][] - 2020-07-10