diff --git a/src/collector/globals.js b/src/collector/globals.js index 97a88b6..28ae19c 100644 --- a/src/collector/globals.js +++ b/src/collector/globals.js @@ -198,6 +198,11 @@ function either(params: (?Type)[]): ?Type { : t.createUnion(variants); } +// $ FlowFixMe +function fixMe(): ?Type { + return t.createAny(); +} + export default { Object: object, Buffer: buffer, @@ -214,4 +219,5 @@ export default { $Diff: diff, $All: all, $Either: either, + $FlowFixMe: fixMe, }; diff --git a/src/collector/query.js b/src/collector/query.js index 79a4c3f..6dd974c 100644 --- a/src/collector/query.js +++ b/src/collector/query.js @@ -11,7 +11,8 @@ export type Query = | Template | Definition | External - | Special; + | Special + ; export type Unknown = { kind: 'unknown', diff --git a/tests/samples/fixMe/schema.json b/tests/samples/fixMe/schema.json new file mode 100644 index 0000000..d3aeaf6 --- /dev/null +++ b/tests/samples/fixMe/schema.json @@ -0,0 +1,11 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "definitions": { + "fixMe::X": true, + "fixMe::Y": { + "type": "object", + "properties": {"y": true}, + "required": ["y"] + } + } +} diff --git a/tests/samples/fixMe/source.js b/tests/samples/fixMe/source.js new file mode 100644 index 0000000..bdc5290 --- /dev/null +++ b/tests/samples/fixMe/source.js @@ -0,0 +1,7 @@ +type X = $FlowFixMe; + +type Y = { + y: $FlowFixMe; +}; + +export {X, Y}; diff --git a/tests/samples/fixMe/types.yaml b/tests/samples/fixMe/types.yaml new file mode 100644 index 0000000..12900eb --- /dev/null +++ b/tests/samples/fixMe/types.yaml @@ -0,0 +1,8 @@ +- kind: any + id: [fixMe, X] +- kind: record + fields: + - name: y + value: {kind: any} + required: true + id: [fixMe, Y]