PHP 7.4.33
Preview: ViewConfig.js Size: 1.40 KB
/var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/react-native/Libraries/NativeComponent/ViewConfig.js
/**
 * 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 strict-local
 * @format
 */

import type {
  PartialViewConfig,
  ViewConfig,
} from '../Renderer/shims/ReactNativeTypes';

import PlatformBaseViewConfig from './PlatformBaseViewConfig';

/**
 * Creates a complete `ViewConfig` from a `PartialViewConfig`.
 */
export function createViewConfig(
  partialViewConfig: PartialViewConfig,
): ViewConfig {
  return {
    uiViewClassName: partialViewConfig.uiViewClassName,
    Commands: {},
    bubblingEventTypes: composeIndexers(
      PlatformBaseViewConfig.bubblingEventTypes,
      partialViewConfig.bubblingEventTypes,
    ),
    directEventTypes: composeIndexers(
      PlatformBaseViewConfig.directEventTypes,
      partialViewConfig.directEventTypes,
    ),
    // $FlowFixMe[incompatible-return]
    validAttributes: composeIndexers(
      // $FlowFixMe[incompatible-call] `style` property confuses Flow.
      PlatformBaseViewConfig.validAttributes,
      // $FlowFixMe[incompatible-call] `style` property confuses Flow.
      partialViewConfig.validAttributes,
    ),
  };
}

function composeIndexers<T>(
  maybeA: ?{+[string]: T},
  maybeB: ?{+[string]: T},
): {+[string]: T} {
  return maybeA == null || maybeB == null
    ? maybeA ?? maybeB ?? {}
    : {...maybeA, ...maybeB};
}

Directory Contents

Dirs: 0 × Files: 9
Name Size Perms Modified Actions
10.03 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
10.15 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
412 B lrw-r--r-- 2025-03-28 11:04:41
Edit Download
4.82 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
933 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
772 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
3.45 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
1.40 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
1.57 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).