diff --git a/packages/babel-plugin-flow-runtime/src/ConversionContext.js b/packages/babel-plugin-flow-runtime/src/ConversionContext.js index d81d33b..e6cae1c 100644 --- a/packages/babel-plugin-flow-runtime/src/ConversionContext.js +++ b/packages/babel-plugin-flow-runtime/src/ConversionContext.js @@ -21,6 +21,7 @@ const FLOW_TYPENAMES = { $Supertype: '$supertype', $TupleMap: '$tupleMap', $Values: '$values', + $ReadOnlyArray: 'array', Class: 'Class' }; diff --git a/packages/babel-plugin-flow-runtime/src/__tests__/__fixtures__/bugs/199-support-$ReadOnlyArray.js b/packages/babel-plugin-flow-runtime/src/__tests__/__fixtures__/bugs/199-support-$ReadOnlyArray.js new file mode 100644 index 0000000..3e705c3 --- /dev/null +++ b/packages/babel-plugin-flow-runtime/src/__tests__/__fixtures__/bugs/199-support-$ReadOnlyArray.js @@ -0,0 +1,13 @@ +/* @flow */ + +export const input = ` +type Thing = $ReadOnlyArray; + +const thing: Thing = []; +`; + +export const expected = ` + import t from "flow-runtime"; + const Thing = t.type("Thing", t.array(t.union(t.string(), t.number()))); + const thing = Thing.assert([]); +`;