diff --git a/packages/object-util/__tests__/index.test.ts b/packages/object-util/__tests__/index.test.ts index b5ceeff..beb05fa 100644 --- a/packages/object-util/__tests__/index.test.ts +++ b/packages/object-util/__tests__/index.test.ts @@ -515,5 +515,9 @@ describe('object get', () => { .toEqual({a: 'pouet'}) expect(objectGet({a: 'pouet'}, '')) .toEqual({a: 'pouet'}) + expect(objectGet('pouet', '')) + .toEqual('pouet') + expect(objectGet('pouet', [])) + .toEqual('pouet') }) }) diff --git a/packages/object-util/package-lock.json b/packages/object-util/package-lock.json index 799935f..6b73a25 100644 --- a/packages/object-util/package-lock.json +++ b/packages/object-util/package-lock.json @@ -1,12 +1,12 @@ { "name": "@dzeio/object-util", - "version": "1.8.2", + "version": "1.8.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@dzeio/object-util", - "version": "1.8.2", + "version": "1.8.3", "license": "MIT", "devDependencies": { "@types/jest": "^29", diff --git a/packages/object-util/package.json b/packages/object-util/package.json index 5584750..2bc7af2 100644 --- a/packages/object-util/package.json +++ b/packages/object-util/package.json @@ -1,6 +1,6 @@ { "name": "@dzeio/object-util", - "version": "1.8.2", + "version": "1.8.3", "description": "Utility functions to manipulate an object", "repository": { "type": "git", diff --git a/packages/object-util/src/ObjectUtil.ts b/packages/object-util/src/ObjectUtil.ts index 77611c4..fccb0fc 100644 --- a/packages/object-util/src/ObjectUtil.ts +++ b/packages/object-util/src/ObjectUtil.ts @@ -347,14 +347,14 @@ export function objectFind * * @returns the value if found or undefined if it was not found */ -export function objectGet(obj: object, path: Array | string): T | undefined { - mustBeObject(obj) - +export function objectGet(obj: any, path: Array | string): T | undefined { // 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 } + mustBeObject(obj) + // transform path into an Array if (typeof path === 'string') { path = path.split('.').map((it) => /^\d+$/g.test(it) ? Number.parseInt(it) : it)