diff --git a/lib/src/coders/bridge-error.ts b/lib/src/coders/bridge-error.ts index db7af4e..1f0e6ef 100644 --- a/lib/src/coders/bridge-error.ts +++ b/lib/src/coders/bridge-error.ts @@ -60,6 +60,16 @@ export class BridgeErrorCoder data.underlyingError ?? {}, )}"`, }); + case 'wrongParam': + case 'WRONG_PARAMETER': + return new AdaptyError({ + adaptyCode: 3001, + message: + data.name ?? + `Wrong parameter. Bridge error: ${JSON.stringify( + data.underlyingError ?? {}, + )}"`, + }); case 'methodNotImplemented': return new AdaptyError({ adaptyCode: 2003, diff --git a/lib/src/coders/coder.ts b/lib/src/coders/coder.ts index e7b8739..d0dd78a 100644 --- a/lib/src/coders/coder.ts +++ b/lib/src/coders/coder.ts @@ -32,7 +32,16 @@ export abstract class Coder< private getNestedValue(obj: Record, key: string): any { const keys = key.split('.'); - let current = obj; + let current; + if (typeof obj === 'string') { + try { + current = JSON.parse(obj); + } catch (error) { + return undefined; + } + } else { + current = obj; + } for (let i = 0; i < keys.length; i++) { const key = keys[i]!; diff --git a/package.json b/package.json index f350847..d8b9882 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package", "name": "react-native-adapty", - "version": "2.9.7", + "version": "2.9.8", "description": "Adapty React Native SDK", "license": "MIT", "author": "Vanya Dorofeyev (https://github.com/divanc)",