From cee11955da7d7d63a93396429cb16937d6d27133 Mon Sep 17 00:00:00 2001 From: Selim Enes Erdogan Date: Mon, 11 May 2026 09:18:56 +0300 Subject: [PATCH] Support Flow ReadOnlyArray type --- .../src/ConversionContext.js | 1 + .../__fixtures__/bugs/199-support-$ReadOnlyArray.js | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 packages/babel-plugin-flow-runtime/src/__tests__/__fixtures__/bugs/199-support-$ReadOnlyArray.js 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([]); +`;