UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

52 lines (40 loc) 1.02 kB
const R = require("ramda"); const { TV_FONT_KEY_DATA } = require("../../keys"); const { toSnakeCase, getConditionalField, capitalize, } = require("../../_internals"); function tvActionButtonLabel(label, defaults) { if (R.isNil(defaults)) { return []; } const keyName = R.compose(toSnakeCase, R.toLower)(label); const { fields: fieldsWithEnable } = getConditionalField( label, defaults, "styles/" ); return R.compose( R.reduce((fields, key) => { if (key === "enable") return fields; const { name, type, options } = TV_FONT_KEY_DATA[key]; const keySuffix = toSnakeCase(name); const fieldProps = { label: capitalize(name), key: `${keyName}_${keySuffix}`, type, initial_value: defaults[key], }; if (options) { fieldProps.options = options; } fields.push(fieldProps); return fields; }, fieldsWithEnable), R.keys )(defaults); } module.exports = { tvActionButtonLabel, };