(data: any)
| 110 | } |
| 111 | |
| 112 | export function deserialize(data: any): any { |
| 113 | if (global.isIOS) { |
| 114 | if (data instanceof NSNull) { |
| 115 | return null; |
| 116 | } |
| 117 | |
| 118 | if (data instanceof NSArray) { |
| 119 | let array = []; |
| 120 | for (let i = 0, n = data.count; i < n; i++) { |
| 121 | array[i] = deserialize(data.objectAtIndex(i)); |
| 122 | } |
| 123 | return array; |
| 124 | } |
| 125 | |
| 126 | if (data instanceof NSDictionary) { |
| 127 | let dict = {}; |
| 128 | for (let i = 0, n = data.allKeys.count; i < n; i++) { |
| 129 | let key = data.allKeys.objectAtIndex(i); |
| 130 | dict[key] = deserialize(data.objectForKey(key)); |
| 131 | } |
| 132 | return dict; |
| 133 | } |
| 134 | |
| 135 | return data; |
| 136 | } |
| 137 | |
| 138 | if (global.isAndroid) { |
| 139 | if (data === null || typeof data !== 'object') { |
| 140 | return data; |
| 141 | } |
| 142 | let store; |
| 143 | |
| 144 | switch (data.getClass().getName()) { |
| 145 | case 'java.lang.String': { |
| 146 | return String(data); |
| 147 | } |
| 148 | |
| 149 | case 'java.lang.Boolean': { |
| 150 | return String(data) === 'true'; |
| 151 | } |
| 152 | |
| 153 | case 'java.lang.Float': |
| 154 | case 'java.lang.Integer': |
| 155 | case 'java.lang.Long': |
| 156 | case 'java.lang.Double': |
| 157 | case 'java.lang.Short': { |
| 158 | return Number(data); |
| 159 | } |
| 160 | |
| 161 | case 'org.json.JSONArray': { |
| 162 | store = []; |
| 163 | for (let j = 0; j < data.length(); j++) { |
| 164 | store[j] = deserialize(data.get(j)); |
| 165 | } |
| 166 | break; |
| 167 | } |
| 168 | case 'org.json.JSONObject': { |
| 169 | store = {}; |
no test coverage detected
searching dependent graphs…