(message)
| 94 | * @return {?JsonObject|undefined} |
| 95 | */ |
| 96 | export function deserializeMessage(message) { |
| 97 | if (!isAmpMessage(message)) { |
| 98 | return null; |
| 99 | } |
| 100 | |
| 101 | devAssertString(message); |
| 102 | |
| 103 | const startPos = message.indexOf('{'); |
| 104 | devAssert(startPos != -1, 'JSON missing in %s', message); |
| 105 | return tryParseJson(message.substr(startPos), (e) => { |
| 106 | rethrowAsync( |
| 107 | new Error(`MESSAGING: Failed to parse message: ${message}\n${e.message}`) |
| 108 | ); |
| 109 | }); |
| 110 | } |
| 111 | |
| 112 | /** |
| 113 | * Returns true if message looks like it is an AMP postMessage |
no test coverage detected