react-native/Libraries/StyleSheet
Brent Vatne 346858a552 Add StyleSheet.setStyleAttributePreprocessor
Summary:
**Motivation**

On Exponent we load fonts dynamically and assign their native names by appending a session id, so that fonts from one Exponent "experience" do not clash with each other. So, before sending the `fontFamily` to native, we want to change it to the Exponent-scoped `fontFamily`.

Example:

```js
// Before rendering your app
StyleSheet.setStyleAttributePreprocessor('fontFamily', _processFontFamily);

function _processFontFamily(name) {
  // Pass system fonts through
  if (!name || Constants.systemFonts.indexOf(name) >= 0) {
    return name;
  }

  if (!Font.isLoaded(name)) {
    if (__DEV__) {
      console.error(`${name} is not a system font and has not been loaded through Exponent.Font.loadAsync. If you intended to use a system font, make sure you typed the name correctly and that it is supported by the current operating system. If this is a custom font, be sure to load it with Exponent.Font.loadAsync`);
    } else {
      return 'system';
    }
  }

  return `ExponentFont-
Closes https://github.com/facebook/react-native/pull/11138

Differential Revision: D4245518

Pulled By: mkonicek

fbshipit-source-id: bd2452b1129d6675aa7b88e41351f8bb61fa20a3
2016-11-29 15:28:32 -08:00
..
__tests__
ColorPropType.js
EdgeInsetsPropType.js
LayoutPropTypes.js Add support for aspectRatio style prop 2016-11-23 07:43:28 -08:00
PointPropType.js
StyleSheet.js Add StyleSheet.setStyleAttributePreprocessor 2016-11-29 15:28:32 -08:00
StyleSheetPropType.js
StyleSheetTypes.js
StyleSheetValidation.js
TransformPropTypes.js
flattenStyle.js RN: Update React (2/2) 2016-11-04 05:43:44 -07:00
normalizeColor.js
processColor.js
processTransform.js
setNormalizedColorAlpha.js