From fe2e5a3bdc64d882b20f5ba690a44ea586a7a9f3 Mon Sep 17 00:00:00 2001 From: Avior Date: Mon, 10 Jun 2024 23:36:53 +0200 Subject: [PATCH] fix: when path is empty it should return the current object Signed-off-by: Avior --- packages/object-util/__tests__/index.test.ts | 10 ++++------ packages/object-util/src/ObjectUtil.ts | 5 +++-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/object-util/__tests__/index.test.ts b/packages/object-util/__tests__/index.test.ts index a1a01c6..b5ceeff 100644 --- a/packages/object-util/__tests__/index.test.ts +++ b/packages/object-util/__tests__/index.test.ts @@ -511,11 +511,9 @@ describe('object get', () => { }) it('object get should return undefined', () => { - expect(() => { - objectGet({a: { b: [{ c: 'pouet' }]}}, []) - }).toThrow() - expect(() => { - objectGet({a: { b: [{ c: 'pouet' }]}}, '') - }).toThrow() + expect(objectGet({a: 'pouet'}, [])) + .toEqual({a: 'pouet'}) + expect(objectGet({a: 'pouet'}, '')) + .toEqual({a: 'pouet'}) }) }) diff --git a/packages/object-util/src/ObjectUtil.ts b/packages/object-util/src/ObjectUtil.ts index 201511b..77611c4 100644 --- a/packages/object-util/src/ObjectUtil.ts +++ b/packages/object-util/src/ObjectUtil.ts @@ -350,8 +350,9 @@ export function objectFind export function objectGet(obj: object, path: Array | string): T | undefined { mustBeObject(obj) - if (path === '' || Array.isArray(path) && path.length === 0) { - throw new Error(`Path MUST at least have a value (${path})`) + // if path is not defined or path is empty return the current object + if (!path || path === '' || Array.isArray(path) && path.length === 0) { + return obj as T } // transform path into an Array