mirror of
https://github.com/zebrajr/react.git
synced 2025-12-06 12:20:20 +01:00
This enables the "exact_empty_objects" setting for Flow which makes empty objects exact instead of building up the type as properties are added in code below. This is in preparation to Flow 191 which makes this the default and removes the config. More about the change in the Flow blog [here](https://medium.com/flow-type/improved-handling-of-the-empty-object-in-flow-ead91887e40c).
34 lines
782 B
JavaScript
34 lines
782 B
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow
|
|
*/
|
|
'use strict';
|
|
|
|
/*:: import type { ErrorMap } from './Types' */
|
|
|
|
/**
|
|
* turns
|
|
* { 'MUCH ERROR': '0', 'SUCH WRONG': '1' }
|
|
* into
|
|
* { 0: 'MUCH ERROR', 1: 'SUCH WRONG' }
|
|
*/
|
|
function invertObject(targetObj /*: ErrorMap */) /*: ErrorMap */ {
|
|
const result /*: {[string]: string} */ = {};
|
|
const mapKeys = Object.keys(targetObj);
|
|
|
|
// eslint-disable-next-line no-for-of-loops/no-for-of-loops
|
|
for (const originalKey of mapKeys) {
|
|
const originalVal = targetObj[originalKey];
|
|
|
|
result[originalVal] = originalKey;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
module.exports = invertObject;
|