ExamplesRegistry.js 843 B

1234567891011121314151617181920212223242526272829
  1. // @flow
  2. import React from 'react'
  3. import { Text, View } from 'react-native'
  4. import R from 'ramda'
  5. import { ApplicationStyles } from '../Themes'
  6. import DebugSettings from '../Config/DebugSettings'
  7. let globalExamplesRegistry = []
  8. export const addExample = (title: string, usage: () => React$Element<*>) => { if (DebugSettings.includeExamples) globalExamplesRegistry.push({title, usage}) }
  9. const renderExample = (example: Object) => {
  10. return (
  11. <View key={example.title}>
  12. <View style={ApplicationStyles.darkLabelContainer}>
  13. <Text style={ApplicationStyles.darkLabel}>{example.title}</Text>
  14. </View>
  15. {example.usage.call()}
  16. </View>
  17. )
  18. }
  19. export const renderExamples = () => R.map(renderExample, globalExamplesRegistry)
  20. // Default for readability
  21. export default {
  22. render: renderExamples,
  23. add: addExample
  24. }