Expensify/react-native-live-markdown

Remove patching class ExpensiMark with an object

Closed this issue · 1 comments

Currently, we need to patch expensify-common/lib/ExpensiMark.js to convert class ExpensiMark into a single object because Hermes does not support ES Classes (facebook/hermes#685 (comment)).

In particular, we had to make the following changes:

  1. Remove class keyword:
-export default class ExpensiMark {
+export const ExpensiMark = {
  1. Rename constructor to initializer:
-    constructor() {
+    initializer() {
  1. Add commas after method definitions:
-    }
+    },

It would be better to use a Babel plugin to automatically convert class ExpensiMark into something that Hermes can deal with.

Done in #360