From f713ba134efd77f05b1653f10686e5740899ea94 Mon Sep 17 00:00:00 2001 From: Dominic Go <18517029+dominicstop@users.noreply.github.com> Date: Fri, 5 May 2023 08:23:06 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=AB=20Update:=20`RNIDictionarySynthesi?= =?UTF-8?q?zable`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RNIDictionarySynthesizable+Default.swift | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionarySynthesizable+Default.swift b/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionarySynthesizable+Default.swift index a7287d73..f8b51eb6 100644 --- a/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionarySynthesizable+Default.swift +++ b/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionarySynthesizable+Default.swift @@ -42,8 +42,17 @@ extension RNIDictionarySynthesizable { }; }; + if isJSDict, let dict = value as? Dictionary { + return dict.mapValues { + return Self.recursivelyParseValue($0, isJSDict: isJSDict); + }; + }; + if let dictRepresentable = value as? RNIDictionaryRepresentable { - return dictRepresentable.asDictionary; + let dict = dictRepresentable.asDictionary; + + guard isJSDict else { return dict }; + return Self.recursivelyParseValue(dict, isJSDict: isJSDict); }; if let encodable = value as? Encodable,