/
ashipov
/
react
Обзор
Документация
Войти
/
ashipov
/
react
Код
Запросы
0
Задачи 2.0
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
packages/react-devtools-shared/src/backend/NativeStyleEditor/resolveBoxStyle.js
93 строки
2 KB
Andrew Clark
[Codemod] Update copyright header to Meta (#25315)
18 окт 2022, 18:19
Не верифицирован
18 окт 2022, 18:19
9cdf8a9
Код
Авторство
О чём код?
/** * 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 */ import type {BoxStyle} from './types'; /** * This mirrors react-native/Libraries/Inspector/resolveBoxStyle.js (but without RTL support). * * Resolve a style property into it's component parts, e.g. * * resolveBoxStyle('margin', {margin: 5, marginBottom: 10}) * -> {top: 5, left: 5, right: 5, bottom: 10} */ export default function resolveBoxStyle( prefix: string, style: Object, ): BoxStyle | null { let hasParts = false; const result = { bottom: 0, left: 0, right: 0, top: 0, }; const styleForAll = style[prefix]; if (styleForAll != null) { // eslint-disable-next-line no-for-of-loops/no-for-of-loops for (const key of Object.keys(result)) { result[key] = styleForAll; } hasParts = true; } const styleForHorizontal = style[prefix + 'Horizontal']; if (styleForHorizontal != null) { result.left = styleForHorizontal; result.right = styleForHorizontal; hasParts = true; } else { const styleForLeft = style[prefix + 'Left']; if (styleForLeft != null) { result.left = styleForLeft; hasParts = true; } const styleForRight = style[prefix + 'Right']; if (styleForRight != null) { result.right = styleForRight; hasParts = true; } const styleForEnd = style[prefix + 'End']; if (styleForEnd != null) { // TODO RTL support result.right = styleForEnd; hasParts = true; } const styleForStart = style[prefix + 'Start']; if (styleForStart != null) { // TODO RTL support result.left = styleForStart; hasParts = true; } } const styleForVertical = style[prefix + 'Vertical']; if (styleForVertical != null) { result.bottom = styleForVertical; result.top = styleForVertical; hasParts = true; } else { const styleForBottom = style[prefix + 'Bottom']; if (styleForBottom != null) { result.bottom = styleForBottom; hasParts = true; } const styleForTop = style[prefix + 'Top']; if (styleForTop != null) { result.top = styleForTop; hasParts = true; } } return hasParts ? result : null; }