UNPKG

5.18 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const Scheme_1 = require("./Scheme");
4/**
5 * Getters
6 * TODO: these getters are the same between ios/android, we could reuse them
7 */
8function getFacebookScheme(config) {
9 var _a;
10 return _a = config.facebookScheme, (_a !== null && _a !== void 0 ? _a : null);
11}
12exports.getFacebookScheme = getFacebookScheme;
13function getFacebookAppId(config) {
14 var _a;
15 return _a = config.facebookAppId, (_a !== null && _a !== void 0 ? _a : null);
16}
17exports.getFacebookAppId = getFacebookAppId;
18function getFacebookDisplayName(config) {
19 var _a;
20 return _a = config.facebookDisplayName, (_a !== null && _a !== void 0 ? _a : null);
21}
22exports.getFacebookDisplayName = getFacebookDisplayName;
23function getFacebookAutoInitEnabled(config) {
24 return config.hasOwnProperty('facebookAutoInitEnabled') ? config.facebookAutoInitEnabled : null;
25}
26exports.getFacebookAutoInitEnabled = getFacebookAutoInitEnabled;
27function getFacebookAutoLogAppEvents(config) {
28 return config.hasOwnProperty('facebookAutoLogAppEventsEnabled')
29 ? config.facebookAutoLogAppEventsEnabled
30 : null;
31}
32exports.getFacebookAutoLogAppEvents = getFacebookAutoLogAppEvents;
33function getFacebookAdvertiserIDCollection(config) {
34 return config.hasOwnProperty('facebookAdvertiserIDCollectionEnabled')
35 ? config.facebookAdvertiserIDCollectionEnabled
36 : null;
37}
38exports.getFacebookAdvertiserIDCollection = getFacebookAdvertiserIDCollection;
39/**
40 * Setters
41 */
42function setFacebookConfig(config, infoPlist) {
43 infoPlist = setFacebookAppId(config, infoPlist);
44 infoPlist = setFacebookApplicationQuerySchemes(config, infoPlist);
45 infoPlist = setFacebookDisplayName(config, infoPlist);
46 infoPlist = setFacebookAutoInitEnabled(config, infoPlist);
47 infoPlist = setFacebookAutoLogAppEventsEnabled(config, infoPlist);
48 infoPlist = setFacebookAdvertiserIDCollectionEnabled(config, infoPlist);
49 infoPlist = setFacebookScheme(config, infoPlist);
50 return infoPlist;
51}
52exports.setFacebookConfig = setFacebookConfig;
53function setFacebookScheme(config, infoPlist) {
54 let facebookScheme = getFacebookScheme(config);
55 return Scheme_1.appendScheme(facebookScheme, infoPlist);
56}
57exports.setFacebookScheme = setFacebookScheme;
58function setFacebookAutoInitEnabled(config, infoPlist) {
59 let facebookAutoInitEnabled = getFacebookAutoInitEnabled(config);
60 if (facebookAutoInitEnabled === null) {
61 return infoPlist;
62 }
63 return Object.assign(Object.assign({}, infoPlist), { FacebookAutoInitEnabled: facebookAutoInitEnabled });
64}
65exports.setFacebookAutoInitEnabled = setFacebookAutoInitEnabled;
66function setFacebookAutoLogAppEventsEnabled(config, infoPlist) {
67 let facebookAutoLogAppEventsEnabled = getFacebookAutoLogAppEvents(config);
68 if (facebookAutoLogAppEventsEnabled === null) {
69 return infoPlist;
70 }
71 return Object.assign(Object.assign({}, infoPlist), { FacebookAutoLogAppEventsEnabled: facebookAutoLogAppEventsEnabled });
72}
73exports.setFacebookAutoLogAppEventsEnabled = setFacebookAutoLogAppEventsEnabled;
74function setFacebookAdvertiserIDCollectionEnabled(config, infoPlist) {
75 let facebookAdvertiserIDCollectionEnabled = getFacebookAdvertiserIDCollection(config);
76 if (facebookAdvertiserIDCollectionEnabled === null) {
77 return infoPlist;
78 }
79 return Object.assign(Object.assign({}, infoPlist), { FacebookAdvertiserIDCollectionEnabled: facebookAdvertiserIDCollectionEnabled });
80}
81exports.setFacebookAdvertiserIDCollectionEnabled = setFacebookAdvertiserIDCollectionEnabled;
82function setFacebookAppId(config, infoPlist) {
83 let facebookAppId = getFacebookAppId(config);
84 if (facebookAppId) {
85 return Object.assign(Object.assign({}, infoPlist), { FacebookAppID: facebookAppId });
86 }
87 return infoPlist;
88}
89exports.setFacebookAppId = setFacebookAppId;
90function setFacebookDisplayName(config, infoPlist) {
91 let facebookDisplayName = getFacebookDisplayName(config);
92 if (facebookDisplayName) {
93 return Object.assign(Object.assign({}, infoPlist), { FacebookDisplayName: facebookDisplayName });
94 }
95 return infoPlist;
96}
97exports.setFacebookDisplayName = setFacebookDisplayName;
98function setFacebookApplicationQuerySchemes(config, infoPlist) {
99 let facebookAppId = getFacebookAppId(config);
100 if (!facebookAppId) {
101 return infoPlist;
102 }
103 let existingSchemes = infoPlist.LSApplicationQueriesSchemes || [];
104 // already inlcuded, no need to add again
105 if (existingSchemes.includes('fbapi')) {
106 return infoPlist;
107 }
108 // TODO: it's actually necessary to add more query schemes (specific to the
109 // app) to support all of the features that the Facebook SDK provides, should
110 // we sync those here too?
111 let updatedSchemes = [
112 ...existingSchemes,
113 'fbapi',
114 'fb-messenger-api',
115 'fbauth2',
116 'fbshareextension',
117 ];
118 return Object.assign(Object.assign({}, infoPlist), { LSApplicationQueriesSchemes: updatedSchemes });
119}
120exports.setFacebookApplicationQuerySchemes = setFacebookApplicationQuerySchemes;
121//# sourceMappingURL=Facebook.js.map
\No newline at end of file