UNPKG

4.56 kBSource Map (JSON)View Raw
1{"version":3,"file":"Scheme.js","sourceRoot":"","sources":["../../src/ios/Scheme.ts"],"names":[],"mappings":"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","sourcesContent":["import { InfoPlist, URLScheme } from './IosConfig.types';\nimport { ExpoConfig } from '../Config.types';\n\nexport function getScheme(config: ExpoConfig): string | null {\n return typeof config.scheme === 'string' ? config.scheme : null;\n}\n\nexport function setScheme(config: ExpoConfig, infoPlist: InfoPlist): InfoPlist {\n let scheme = getScheme(config);\n if (!scheme) {\n return infoPlist;\n }\n\n return {\n ...infoPlist,\n CFBundleURLTypes: [{ CFBundleURLSchemes: [scheme] }],\n };\n}\n\n// TODO: update this to work well idempotently!\nexport function appendScheme(scheme: string | null, infoPlist: InfoPlist): InfoPlist {\n if (!scheme) {\n return infoPlist;\n }\n\n let existingSchemes = infoPlist.CFBundleURLTypes;\n\n // No need to append if we don't have any\n if (!existingSchemes) {\n return setScheme({ scheme }, infoPlist);\n }\n\n return {\n ...infoPlist,\n CFBundleURLTypes: [\n ...existingSchemes,\n {\n CFBundleURLSchemes: [scheme],\n },\n ],\n };\n}\n\nexport function removeScheme(scheme: string | null, infoPlist: InfoPlist): InfoPlist {\n if (!scheme) {\n return infoPlist;\n }\n\n // No need to remove if we don't have any\n if (!infoPlist.CFBundleURLTypes) {\n return infoPlist;\n }\n\n infoPlist.CFBundleURLTypes = infoPlist.CFBundleURLTypes.map(bundleUrlType => {\n const index = bundleUrlType.CFBundleURLSchemes.indexOf(scheme);\n if (index > -1) {\n bundleUrlType.CFBundleURLSchemes.splice(index, 1);\n if (bundleUrlType.CFBundleURLSchemes.length === 0) {\n return undefined;\n }\n }\n return bundleUrlType;\n }).filter(Boolean) as URLScheme[];\n\n return infoPlist;\n}\n\nexport function hasScheme(scheme: string, infoPlist: InfoPlist): boolean {\n const existingSchemes = infoPlist.CFBundleURLTypes;\n\n if (!Array.isArray(existingSchemes)) return false;\n\n return existingSchemes.some(({ CFBundleURLSchemes: schemes }: any) => schemes.includes(scheme));\n}\n\nexport function getSchemesFromPlist(infoPlist: InfoPlist): string[] {\n if (Array.isArray(infoPlist.CFBundleURLTypes)) {\n return infoPlist.CFBundleURLTypes.reduce<string[]>((schemes, { CFBundleURLSchemes }) => {\n if (Array.isArray(CFBundleURLSchemes)) {\n return [...schemes, ...CFBundleURLSchemes];\n }\n return schemes;\n }, []);\n }\n return [];\n}\n"]}
\No newline at end of file