UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

29 lines (20 loc) 781 B
import { last, head, isNil, includes, pathOr } from "ramda"; const stripBrackets = (path) => { const withoutPrepened = last(path.split("{{")); return head(withoutPrepened.split("}}")); }; const hasValue = (context) => (path) => { const pathWithoutBrackets = stripBrackets(path).split("."); const value = pathOr(undefined, pathWithoutBrackets, context); return !isNil(value); }; export const getMissingValues = (context, string): string[] => { if (!includes("{{", string)) { return []; } const SEARCH_REGEX = new RegExp(/{{.*?}}/g); const paths = string.toString().match(SEARCH_REGEX); return paths.filter((path) => !hasValue(context)(path)); }; export const isNonInflatedUrl = (url: string): boolean => includes("{{", url) && includes("}}", url);