From 24307d601384c9da1adadc546ff8f9af017c3ae2 Mon Sep 17 00:00:00 2001 From: Dominic Go <18517029+dominicstop@users.noreply.github.com> Date: Wed, 3 May 2023 20:52:24 +0800 Subject: [PATCH] =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Impl:=20Add:=20`RNIDiction?= =?UTF-8?q?aryRepresentable`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RNIDictionaryRepresentable.swift | 12 ++++++++++++ .../RNIDictionarySynthesizable+Default.swift | 4 ++++ 2 files changed, 16 insertions(+) create mode 100644 ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionaryRepresentable.swift diff --git a/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionaryRepresentable.swift b/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionaryRepresentable.swift new file mode 100644 index 00000000..a1b06eb9 --- /dev/null +++ b/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionaryRepresentable.swift @@ -0,0 +1,12 @@ +// +// RNIDictionaryRepresentable.swift +// react-native-ios-modal +// +// Created by Dominic Go on 5/3/23. +// + +import Foundation + +public protocol RNIDictionaryRepresentable { + var asDictionary: [String: Any] { get }; +}; diff --git a/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionarySynthesizable+Default.swift b/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionarySynthesizable+Default.swift index 5281a821..a7287d73 100644 --- a/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionarySynthesizable+Default.swift +++ b/ios/src_library/React Native/RNIDictionarySynthesizable/RNIDictionarySynthesizable+Default.swift @@ -42,6 +42,10 @@ extension RNIDictionarySynthesizable { }; }; + if let dictRepresentable = value as? RNIDictionaryRepresentable { + return dictRepresentable.asDictionary; + }; + if let encodable = value as? Encodable, let dict = encodable.asDictionary {