diff --git a/packages/nicolium/src/schemas/utils.ts b/packages/nicolium/src/schemas/utils.ts index 93ebb319e..acea8de51 100644 --- a/packages/nicolium/src/schemas/utils.ts +++ b/packages/nicolium/src/schemas/utils.ts @@ -19,7 +19,9 @@ const coerceObject = (shape: T) => v.optional( v.pipe( v.any(), - v.transform((input) => (typeof input === 'object' && input !== null ? input : {})), + v.transform((input) => + typeof input === 'object' && !Array.isArray(input) && input !== null ? input : {}, + ), v.object(shape), ), {}, diff --git a/packages/pl-api/lib/entities/utils.ts b/packages/pl-api/lib/entities/utils.ts index 06d82fcfb..8271dcaa5 100644 --- a/packages/pl-api/lib/entities/utils.ts +++ b/packages/pl-api/lib/entities/utils.ts @@ -40,7 +40,9 @@ const coerceObject = (shape: T) => v.optional( v.pipe( v.any(), - v.transform((input) => (typeof input === 'object' && input !== null ? input : {})), + v.transform((input) => + typeof input === 'object' && !Array.isArray(input) && input !== null ? input : {}, + ), v.object(shape), ), {},