react-native-macos/Libraries/DeprecatedPropTypes/DeprecatedTransformPropType...

100 строки
2.9 KiB
JavaScript
Исходник Обычный вид История

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @flow
*/
'use strict';
const ReactPropTypes = require('prop-types');
const deprecatedPropType = require('../Utilities/deprecatedPropType');
const TransformMatrixPropType = function(
props: Object,
propName: string,
componentName: string,
): ?Error {
if (props[propName]) {
return new Error(
'The transformMatrix style property is deprecated. ' +
'Use `transform: [{ matrix: ... }]` instead.',
);
}
};
const DecomposedMatrixPropType = function(
props: Object,
propName: string,
componentName: string,
): ?Error {
if (props[propName]) {
return new Error(
'The decomposedMatrix style property is deprecated. ' +
'Use `transform: [...]` instead.',
);
}
};
const DeprecatedTransformPropTypes = {
transform: (ReactPropTypes.arrayOf(
ReactPropTypes.oneOfType([
ReactPropTypes.shape({perspective: ReactPropTypes.number}),
ReactPropTypes.shape({rotate: ReactPropTypes.string}),
ReactPropTypes.shape({rotateX: ReactPropTypes.string}),
ReactPropTypes.shape({rotateY: ReactPropTypes.string}),
ReactPropTypes.shape({rotateZ: ReactPropTypes.string}),
ReactPropTypes.shape({scale: ReactPropTypes.number}),
ReactPropTypes.shape({scaleX: ReactPropTypes.number}),
ReactPropTypes.shape({scaleY: ReactPropTypes.number}),
ReactPropTypes.shape({translateX: ReactPropTypes.number}),
ReactPropTypes.shape({translateY: ReactPropTypes.number}),
ReactPropTypes.shape({skewX: ReactPropTypes.string}),
ReactPropTypes.shape({skewY: ReactPropTypes.string}),
]),
): React$PropType$Primitive<
Array<
| {perspective?: number, ...}
| {rotate?: string, ...}
| {rotateX?: string, ...}
| {rotateY?: string, ...}
| {rotateZ?: string, ...}
| {scale?: number, ...}
| {scaleX?: number, ...}
| {scaleY?: number, ...}
| {translateX?: number, ...}
| {translateY?: number, ...}
| {skewX?: string, ...}
| {skewY?: string, ...},
>,
>),
transformMatrix: TransformMatrixPropType,
decomposedMatrix: DecomposedMatrixPropType,
scaleX: (deprecatedPropType(
ReactPropTypes.number,
'Use the transform prop instead.',
): ReactPropsCheckType),
scaleY: (deprecatedPropType(
ReactPropTypes.number,
'Use the transform prop instead.',
): ReactPropsCheckType),
rotation: (deprecatedPropType(
ReactPropTypes.number,
'Use the transform prop instead.',
): ReactPropsCheckType),
translateX: (deprecatedPropType(
ReactPropTypes.number,
'Use the transform prop instead.',
): ReactPropsCheckType),
translateY: (deprecatedPropType(
ReactPropTypes.number,
'Use the transform prop instead.',
): ReactPropsCheckType),
};
module.exports = DeprecatedTransformPropTypes;