UNPKG

react-native-reanimated

Version:

More powerful alternative to Animated library for React Native.

53 lines (50 loc) 1.69 kB
'use strict'; import { logger } from "../common/index.js"; import { ReanimatedModule } from '../ReanimatedModule'; /** @knipIgnore */ export const DynamicFlags = { EXAMPLE_DYNAMIC_FLAG: true, init() { Object.keys(DynamicFlags).forEach(key => { if (key !== 'init' && key !== 'setFlag' && key !== 'getFlag') { ReanimatedModule.setDynamicFeatureFlag(key, DynamicFlags[key]); } }); }, setFlag(name, value) { if (name in DynamicFlags) { DynamicFlags[name] = value; ReanimatedModule.setDynamicFeatureFlag(name, value); } else { logger.warn(`The feature flag: '${name}' no longer exists, you can safely remove invocation of \`setDynamicFeatureFlag('${name}')\` from your code.`); } }, getFlag(name) { if (name in DynamicFlags) { return DynamicFlags[name]; } else { logger.warn(`The feature flag: '${name}' no longer exists, you can safely remove invocation of \`getDynamicFeatureFlag('${name}')\` from your code.`); return false; } } }; // is-tree-shakable-suppress DynamicFlags.init(); // Public API function to update a feature flag export function setDynamicFeatureFlag(name, value) { DynamicFlags.setFlag(name, value); } // Public API function to read a feature flag export function getDynamicFeatureFlag(name) { return DynamicFlags.getFlag(name); } const staticFeatureFlags = {}; export function getStaticFeatureFlag(name) { if (name in staticFeatureFlags) { return staticFeatureFlags[name]; } const featureFlagValue = ReanimatedModule.getStaticFeatureFlag(name); staticFeatureFlags[name] = featureFlagValue; return featureFlagValue; } //# sourceMappingURL=index.js.map