1. /**
    
  2.  * Copyright (c) Meta Platforms, Inc. and affiliates.
    
  3.  *
    
  4.  * This source code is licensed under the MIT license found in the
    
  5.  * LICENSE file in the root directory of this source tree.
    
  6.  *
    
  7.  * @flow
    
  8.  */
    
  9. 
    
  10. import * as React from 'react';
    
  11. 
    
  12. const base = Object.create(Object.prototype, {
    
  13.   enumerableStringBase: {
    
  14.     value: 1,
    
  15.     writable: true,
    
  16.     enumerable: true,
    
  17.     configurable: true,
    
  18.   },
    
  19.   // $FlowFixMe[invalid-computed-prop]
    
  20.   [Symbol('enumerableSymbolBase')]: {
    
  21.     value: 1,
    
  22.     writable: true,
    
  23.     enumerable: true,
    
  24.     configurable: true,
    
  25.   },
    
  26.   nonEnumerableStringBase: {
    
  27.     value: 1,
    
  28.     writable: true,
    
  29.     enumerable: false,
    
  30.     configurable: true,
    
  31.   },
    
  32.   // $FlowFixMe[invalid-computed-prop]
    
  33.   [Symbol('nonEnumerableSymbolBase')]: {
    
  34.     value: 1,
    
  35.     writable: true,
    
  36.     enumerable: false,
    
  37.     configurable: true,
    
  38.   },
    
  39. });
    
  40. 
    
  41. const data = Object.create(base, {
    
  42.   enumerableString: {
    
  43.     value: 2,
    
  44.     writable: true,
    
  45.     enumerable: true,
    
  46.     configurable: true,
    
  47.   },
    
  48.   nonEnumerableString: {
    
  49.     value: 3,
    
  50.     writable: true,
    
  51.     enumerable: false,
    
  52.     configurable: true,
    
  53.   },
    
  54.   [123]: {
    
  55.     value: 3,
    
  56.     writable: true,
    
  57.     enumerable: true,
    
  58.     configurable: true,
    
  59.   },
    
  60.   // $FlowFixMe[invalid-computed-prop]
    
  61.   [Symbol('nonEnumerableSymbol')]: {
    
  62.     value: 2,
    
  63.     writable: true,
    
  64.     enumerable: false,
    
  65.     configurable: true,
    
  66.   },
    
  67.   // $FlowFixMe[invalid-computed-prop]
    
  68.   [Symbol('enumerableSymbol')]: {
    
  69.     value: 3,
    
  70.     writable: true,
    
  71.     enumerable: true,
    
  72.     configurable: true,
    
  73.   },
    
  74. });
    
  75. 
    
  76. export default function SymbolKeys(): React.Node {
    
  77.   return <ChildComponent data={data} />;
    
  78. }
    
  79. 
    
  80. function ChildComponent(props: any) {
    
  81.   return null;
    
  82. }