| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- package com.reactnativenavigation.bridge;
 - 
 - import android.os.Bundle;
 - 
 - import com.facebook.react.bridge.ReadableArray;
 - import com.facebook.react.bridge.ReadableMap;
 - import com.facebook.react.bridge.ReadableMapKeySetIterator;
 - 
 - public class BundleConverter {
 -     public static Bundle toBundle(ReadableMap map) {
 -         Bundle bundle = new Bundle();
 -         ReadableMapKeySetIterator it = map.keySetIterator();
 -         while (it.hasNextKey()) {
 -             String key = it.nextKey();
 -             switch (map.getType(key)) {
 -                 case Null:
 -                     break;
 -                 case Boolean:
 -                     bundle.putBoolean(key, map.getBoolean(key));
 -                     break;
 -                 case Number:
 -                     putNumber(bundle, map, key);
 -                     break;
 -                 case String:
 -                     bundle.putString(key, map.getString(key));
 -                     break;
 -                 case Map:
 -                     bundle.putBundle(key, toBundle(map.getMap(key)));
 -                     break;
 -                 case Array:
 -                     bundle.putBundle(key, toBundle(map.getArray(key)));
 -                     break;
 -                 default:
 -                     break;
 -             }
 -         }
 -         return bundle;
 -     }
 - 
 -     private static void putNumber(Bundle bundle, ReadableMap map, String key) {
 -         try {
 -             bundle.putInt(key, map.getInt(key));
 -         } catch (Exception e) {
 -             bundle.putDouble(key, map.getDouble(key));
 -         }
 -     }
 - 
 -     public static Bundle toBundle(ReadableArray array) {
 -         Bundle bundle = new Bundle();
 -         for (int i = 0; i < array.size(); i++) {
 -             String key = String.valueOf(i);
 -             switch (array.getType(i)) {
 -                 case Null:
 -                     break;
 -                 case Boolean:
 -                     bundle.putBoolean(key, array.getBoolean(i));
 -                     break;
 -                 case Number:
 -                     bundle.putDouble(key, array.getDouble(i));
 -                     break;
 -                 case String:
 -                     bundle.putString(key, array.getString(i));
 -                     break;
 -                 case Map:
 -                     bundle.putBundle(key, toBundle(array.getMap(i)));
 -                     break;
 -                 case Array:
 -                     bundle.putBundle(key, toBundle(array.getArray(i)));
 -                     break;
 -                 default:
 -                     break;
 -             }
 -         }
 -         return bundle;
 -     }
 - }
 
 
  |