diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index 8ffd8df003e3..98e05a4c573a 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -3780,7 +3780,8 @@ const functionCompositionFunctionNames = new Set([ "composeK", // Ramda "flow", // Lodash "flowRight", // Lodash - "connect" // Redux + "connect", // Redux + "createSelector" // Reselect ]); function isFunctionCompositionFunction(node) { diff --git a/tests/functional_composition/__snapshots__/jsfmt.spec.js.snap b/tests/functional_composition/__snapshots__/jsfmt.spec.js.snap index 728b36e05843..5aadcb1fe444 100644 --- a/tests/functional_composition/__snapshots__/jsfmt.spec.js.snap +++ b/tests/functional_composition/__snapshots__/jsfmt.spec.js.snap @@ -390,6 +390,35 @@ const ArtistInput = connect( `; +exports[`reselect_createselector.js - flow-verify 1`] = ` +import { createSelector } from 'reselect'; + +const resolve = createSelector( + getIds, + getObjects, + (ids, objects) => ids.map(id => objects[id]) +); + +const resolve = createSelector( + [getIds, getObjects], + (ids, objects) => ids.map(id => objects[id]) +); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +import { createSelector } from "reselect"; + +const resolve = createSelector( + getIds, + getObjects, + (ids, objects) => ids.map(id => objects[id]) +); + +const resolve = createSelector( + [getIds, getObjects], + (ids, objects) => ids.map(id => objects[id]) +); + +`; + exports[`rxjs_pipe.js - flow-verify 1`] = ` import { range } from 'rxjs/observable/range'; import { map, filter, scan } from 'rxjs/operators'; diff --git a/tests/functional_composition/reselect_createselector.js b/tests/functional_composition/reselect_createselector.js new file mode 100644 index 000000000000..e92023296043 --- /dev/null +++ b/tests/functional_composition/reselect_createselector.js @@ -0,0 +1,12 @@ +import { createSelector } from 'reselect'; + +const resolve = createSelector( + getIds, + getObjects, + (ids, objects) => ids.map(id => objects[id]) +); + +const resolve = createSelector( + [getIds, getObjects], + (ids, objects) => ids.map(id => objects[id]) +);