From 48809d75fd63b68dfd3fef7d43cdee9b21c46e3b Mon Sep 17 00:00:00 2001 From: Ethan Neff Date: Wed, 25 Apr 2018 16:17:54 -0700 Subject: [PATCH] fix: converted everything to vanilla --- package.json | 21 ++- src/branch.js | 175 +++++++++++---------- testbed/www/index.html | 30 ++-- testbed/www/js/index.js | 340 +++++++++++++++++++++++----------------- yarn.lock | 196 +---------------------- 5 files changed, 322 insertions(+), 440 deletions(-) diff --git a/package.json b/package.json index aa248704..3f4aa77b 100644 --- a/package.json +++ b/package.json @@ -54,18 +54,17 @@ }, "eslintConfig": { "extends": [ - "airbnb", - "prettier", - "plugin:jest/recommended" + "airbnb-base/legacy", + "prettier" ], "rules": { - "react/jsx-filename-extension": 0, - "object-shorthand": 0 + "no-console": 0, + "no-alert": 0, + "no-use-before-define": 0 }, - "globals": { - "document": true, - "window": true, - "navigator": true + "globals" : { + "Promise": true, + "Branch": true } }, "release": { @@ -113,12 +112,10 @@ "@semantic-release/github": "^4.2.11", "@semantic-release/npm": "^3.2.4", "eslint": "^4.19.1", - "eslint-config-airbnb": "^16.1.0", + "eslint-config-airbnb-base": "^12.1.0", "eslint-config-prettier": "^2.9.0", "eslint-plugin-import": "^2.11.0", "eslint-plugin-jest": "^21.15.1", - "eslint-plugin-jsx-a11y": "^6.0.3", - "eslint-plugin-react": "^7.7.0", "gulp": "^3.9.1", "husky": "^0.14.3", "lint-staged": "^7.0.4", diff --git a/src/branch.js b/src/branch.js index 03e8d4fa..2807d51f 100644 --- a/src/branch.js +++ b/src/branch.js @@ -1,78 +1,76 @@ -// properties - var exec = require("cordova/exec"); - var deviceVendor = window.clientInformation.vendor; -var _API_CLASS = "BranchSDK"; // SDK Class +var API_CLASS = "BranchSDK"; // SDK Class +var runOnce = true; +var previousLinkTimestamp = null; +var isDisableGlobalListenersWarnings = false; +var Branch = function Branch() { + this.debugMode = false; + this.trackingDisabled = false; +}; // javscript to sdk function execute(method, params) { - params = !params ? [] : params; + var output = !params ? [] : params; - return new Promise((resolve, reject) => { + return new Promise(function promise(resolve, reject) { exec( - res => { + function success(res) { resolve(res); }, - err => { + function failure(err) { reject(err); }, - _API_CLASS, + API_CLASS, method, - params + output ); }); } function executeCallback(method, callback, params) { - params = !params ? [] : params; + var output = !params ? [] : params; exec( callback, - err => { + function failure(err) { console.error(err); }, - _API_CLASS, + API_CLASS, method, - params + output ); } // Branch prototype -var Branch = function Branch() { - this.debugMode = false; - this.trackingDisabled = false; -}; - -let disableGlobalListenersWarnings = false; -Branch.prototype.disableGlobalListenersWarnings = function() { - disableGlobalListenersWarnings = true; +Branch.prototype.disableGlobalListenersWarnings = function disableGlobalListenersWarnings() { + isDisableGlobalListenersWarnings = true; }; -Branch.prototype.disableTracking = function(isEnabled) { +Branch.prototype.disableTracking = function disableTracking(isEnabled) { var value = typeof isEnabled === "boolean" ? isEnabled : false; this.trackingDisabled = value; return execute("disableTracking", [value]); }; -let runOnce = true; -let previousLinkTimestamp = null; -Branch.prototype.initSession = function(deepLinkDataListener) { - // handle double init from onResume on iOS - if (!runOnce) return new Promise((resolve, reject) => {}); - runOnce = deviceVendor.indexOf("Apple") < 0; - +Branch.prototype.initSession = function initSession(deepLinkDataListener) { // private method to filter out +clicked_branch_link = false in deep link callback - var deepLinkDataParser = function(deepLinkData) { + function deepLinkDataParser(deepLinkData) { var timestamp = "+click_timestamp"; var isBranchLink = "+clicked_branch_link"; var isNonBranchLink = "+non_branch_link"; var isBranchLinkClick = - deepLinkData.hasOwnProperty(isBranchLink) && + Object.prototype.hasOwnProperty.call(deepLinkData, isBranchLink) && deepLinkData[isBranchLink] === true; - var isNonBranchLinkClick = deepLinkData.hasOwnProperty(isNonBranchLink); - var currentLinkTimestamp = deepLinkData.hasOwnProperty(timestamp) + var isNonBranchLinkClick = Object.prototype.hasOwnProperty.call( + deepLinkData, + isNonBranchLink + ); + var currentLinkTimestamp = Object.prototype.hasOwnProperty.call( + deepLinkData, + timestamp + ) ? deepLinkData[timestamp] : Date.now(); @@ -86,10 +84,14 @@ Branch.prototype.initSession = function(deepLinkDataListener) { // handle Ionic 1 double data on iOS terminated previousLinkTimestamp = currentLinkTimestamp; - }; + } + + // handle double init from onResume on iOS + if (!runOnce) return new Promise(function promise(resolve, reject) {}); + runOnce = deviceVendor.indexOf("Apple") < 0; if ( - !disableGlobalListenersWarnings && + !isDisableGlobalListenersWarnings && !deepLinkDataListener && !window.DeepLinkHandler ) { @@ -98,7 +100,7 @@ Branch.prototype.initSession = function(deepLinkDataListener) { "BRANCH SDK: No callback in initSession and no global DeepLinkHandler method. No Branch deep link data will be returned. Docs https://goo.gl/GijGKP" ); } else if ( - !disableGlobalListenersWarnings && + !isDisableGlobalListenersWarnings && window.DeepLinkHandler !== undefined && window.DeepLinkHandler.toString() !== deepLinkDataParser.toString() ) { @@ -115,66 +117,71 @@ Branch.prototype.initSession = function(deepLinkDataListener) { }; // deprecated for setRequestMetadata() -Branch.prototype.setMixpanelToken = function(token) { +Branch.prototype.setMixpanelToken = function setMixpanelToken(token) { return this.setRequestMetadata("$mixpanel_distinct_id", token); }; -Branch.prototype.setRequestMetadata = function(key, val) { +Branch.prototype.setRequestMetadata = function setRequestMetadata(key, val) { if (!key || typeof key !== "string") { - return new Promise((resolve, reject) => { + return new Promise(function promise(resolve, reject) { reject(new Error("Please set key")); }); } if (!val || typeof val !== "string") { - return new Promise((resolve, reject) => { + return new Promise(function promise(resolve, reject) { reject(new Error("Please set value")); }); } return execute("setRequestMetadata", [key, val]); }; -Branch.prototype.setDebug = function(isEnabled) { +Branch.prototype.setDebug = function setDebug(isEnabled) { var value = typeof isEnabled !== "boolean" ? false : isEnabled; this.debugMode = value; return execute("setDebug", [value]); }; -Branch.prototype.setCookieBasedMatching = function(linkDomain) { - if (linkDomain && deviceVendor.indexOf("Apple") < 0) { - return execute("setCookieBasedMatching", [linkDomain]); - } +Branch.prototype.setCookieBasedMatching = function setCookieBasedMatching( + linkDomain +) { + return linkDomain && deviceVendor.indexOf("Apple") < 0 + ? execute("setCookieBasedMatching", [linkDomain]) + : null; }; -Branch.prototype.getFirstReferringParams = function() { +Branch.prototype.getFirstReferringParams = function getFirstReferringParams() { return execute("getFirstReferringParams"); }; -Branch.prototype.getLatestReferringParams = function() { +Branch.prototype.getLatestReferringParams = function getLatestReferringParams() { return execute("getLatestReferringParams"); }; -Branch.prototype.setIdentity = function(identity) { +Branch.prototype.setIdentity = function setIdentity(identity) { if (identity) { return execute("setIdentity", [String(identity)]); } - return new Promise((resolve, reject) => { + return new Promise(function promise(resolve, reject) { reject(new Error("Please set an identity")); }); }; -Branch.prototype.logout = function() { +Branch.prototype.logout = function logout() { return execute("logout"); }; -Branch.prototype.userCompletedAction = function(action, metaData) { +Branch.prototype.userCompletedAction = function userCompletedAction( + action, + metaData +) { + var args = [action]; if (!action) { - return new Promise((resolve, reject) => { + return new Promise(function promise(resolve, reject) { reject(new Error("Please set an event name")); }); } - var args = [action]; if (metaData) { args.push(metaData); } @@ -182,14 +189,17 @@ Branch.prototype.userCompletedAction = function(action, metaData) { return execute("userCompletedAction", args); }; -Branch.prototype.sendCommerceEvent = function(action, metaData) { +Branch.prototype.sendCommerceEvent = function sendCommerceEvent( + action, + metaData +) { + var args = [action]; if (!action) { - return new Promise((resolve, reject) => { + return new Promise(function promise(resolve, reject) { reject(new Error("Please set a commerce event")); }); } - var args = [action]; if (metaData) { args.push(metaData); } @@ -197,20 +207,22 @@ Branch.prototype.sendCommerceEvent = function(action, metaData) { return execute("sendCommerceEvent", args); }; -Branch.prototype.createBranchUniversalObject = function(options) { - return new Promise((resolve, reject) => { +Branch.prototype.createBranchUniversalObject = function createBranchUniversalObject( + options +) { + return new Promise(function promise(resolve, reject) { execute("createBranchUniversalObject", [options]).then( - res => { + function success(res) { var obj = { message: res.message, instanceId: res.branchUniversalObjectId }; - obj.registerView = function() { + obj.registerView = function registerView() { return execute("registerView", [obj.instanceId]); }; - obj.generateShortUrl = function(options, controlParameters) { + obj.generateShortUrl = function generateShortUrl(controlParameters) { return execute("generateShortUrl", [ obj.instanceId, options, @@ -218,20 +230,21 @@ Branch.prototype.createBranchUniversalObject = function(options) { ]); }; - obj.showShareSheet = function(options, controlParameters, shareText) { - if (!shareText) { - shareText = "This stuff is awesome: "; - } + obj.showShareSheet = function showShareSheet( + controlParameters, + shareText + ) { + var message = !shareText ? "This stuff is awesome: " : shareText; return execute("showShareSheet", [ obj.instanceId, options, controlParameters, - shareText + message ]); }; - obj.onShareSheetLaunched = function(callback) { + obj.onShareSheetLaunched = function onShareSheetLaunched(callback) { if (deviceVendor.indexOf("Apple") < 0) { executeCallback("onShareLinkDialogLaunched", callback, [ obj.instanceId @@ -239,49 +252,45 @@ Branch.prototype.createBranchUniversalObject = function(options) { } }; - obj.onShareSheetDismissed = function(callback) { + obj.onShareSheetDismissed = function onShareSheetDismissed(callback) { executeCallback("onShareLinkDialogDismissed", callback, [ obj.instanceId ]); }; - obj.onLinkShareResponse = function(callback) { + obj.onLinkShareResponse = function onLinkShareResponse(callback) { executeCallback("onLinkShareResponse", callback, [obj.instanceId]); }; - obj.onChannelSelected = function(callback) { + obj.onChannelSelected = function onChannelSelected(callback) { if (deviceVendor.indexOf("Apple") < 0) { executeCallback("onChannelSelected", callback, [obj.instanceId]); } }; - obj.listOnSpotlight = function() { + obj.listOnSpotlight = function listOnSpotlight() { if (!(deviceVendor.indexOf("Apple") < 0)) { return execute("listOnSpotlight", [obj.instanceId]); } - return new Promise((resolve, reject) => { - reject(new Error("iOS Spotlight only")); - }); + return reject(new Error("iOS Spotlight only")); }; resolve(obj); }, - err => { + function failure(err) { reject(err); } ); }); }; -Branch.prototype.loadRewards = function(bucket) { - if (!bucket) { - bucket = ""; - } +Branch.prototype.loadRewards = function loadRewards(bucket) { + var output = !bucket ? "" : bucket; - return execute("loadRewards", [bucket]); + return execute("loadRewards", [output]); }; -Branch.prototype.redeemRewards = function(value, bucket) { +Branch.prototype.redeemRewards = function redeemRewards(value, bucket) { var params = [value]; if (bucket) { params.push(bucket); @@ -290,7 +299,7 @@ Branch.prototype.redeemRewards = function(value, bucket) { return execute("redeemRewards", params); }; -Branch.prototype.creditHistory = function() { +Branch.prototype.creditHistory = function creditHistory() { return execute("getCreditHistory"); }; diff --git a/testbed/www/index.html b/testbed/www/index.html index 3d2caeae..bea1c0c6 100644 --- a/testbed/www/index.html +++ b/testbed/www/index.html @@ -11,56 +11,56 @@
Branch Universal Object - +
Branch Deep Link
- - + +
Branch Deep Link Data
- - + +
Branch Content
- - + +
Branch User
- - + +
Branch Event
- - + +
Branch Referral
- - + +
- - + +
diff --git a/testbed/www/js/index.js b/testbed/www/js/index.js index 6afc269e..1df1b0cf 100644 --- a/testbed/www/js/index.js +++ b/testbed/www/js/index.js @@ -1,14 +1,69 @@ -/* eslint-disable no-unused-vars, no-undef, no-console, no-alert */ - -const logger = (message, isError) => { - console.log(message); - alert(`${isError ? "Error" : "Response"}: ${JSON.stringify(message)}`); +// app +var app = { + initialize: function initialize() { + app.bindEvents(); + }, + bindEvents: function bindEvents() { + document.addEventListener("deviceready", app.onDeviceReady, false); + document.addEventListener("resume", app.onDeviceResume, false); + }, + onDeviceReady: function onDeviceReady() { + BranchInit(); + }, + onDeviceResume: function onDeviceResume() { + BranchInit(); + } }; -// branch -const BranchInit = () => { - console.log("Trigger BranchInit()"); +var branchUniversalObj = null; + +// cache DOM +var branchUniversalObject = document.getElementById("branchUniversalObject"); +var branchDeepLink = document.getElementById("branchDeepLink"); +var branchShareSheet = document.getElementById("branchShareSheet"); +var branchFirstData = document.getElementById("branchFirstData"); +var branchLatestData = document.getElementById("branchLatestData"); +var branchView = document.getElementById("branchView"); +var branchSpotlight = document.getElementById("branchSpotlight"); +var branchUser = document.getElementById("branchUser"); +var branchLogout = document.getElementById("branchLogout"); +var branchEvent = document.getElementById("branchEvent"); +var branchCommerce = document.getElementById("branchCommerce"); +var branchReferralsReward = document.getElementById("branchReferralsReward"); +var branchReferralsLoad = document.getElementById("branchReferralsLoad"); +var branchReferralsRedeem = document.getElementById("branchReferralsRedeem"); +var branchReferralsHistory = document.getElementById("branchReferralsHistory"); + +// handle DOM +branchUniversalObject.addEventListener("click", BranchUniversalObject); +branchDeepLink.addEventListener("click", BranchDeepLink); +branchShareSheet.addEventListener("click", BranchShareSheet); +branchFirstData.addEventListener("click", BranchFirstData); +branchLatestData.addEventListener("click", BranchLatestData); +branchView.addEventListener("click", BranchView); +branchSpotlight.addEventListener("click", BranchSpotlight); +branchUser.addEventListener("click", BranchUser); +branchLogout.addEventListener("click", BranchLogout); +branchEvent.addEventListener("click", BranchEvent); +branchCommerce.addEventListener("click", BranchCommerce); +branchReferralsReward.addEventListener("click", BranchReferralsReward); +branchReferralsLoad.addEventListener("click", BranchReferralsLoad); +branchReferralsRedeem.addEventListener("click", BranchReferralsRedeem); +branchReferralsHistory.addEventListener("click", BranchReferralsHistory); + +// run +app.initialize(); + +// logger +function logger(message, isError) { + var header = isError ? "Error" : "Response"; + var output = header + ": " + JSON.stringify(message); + console.log(output); + alert(output); +} +// branch +function BranchInit() { // for GDPR compliance (can be called at anytime) Branch.disableTracking(true); @@ -22,39 +77,42 @@ const BranchInit = () => { Branch.setRequestMetadata("$mixpanel_distinct_id", "your_mixpanel_token"); // Branch initialization - Branch.initSession(data => { + Branch.initSession(function callback(data) { if (data["+clicked_branch_link"]) { // read deep link data on click - console.log("Trigger DeepLinkHandler()"); - alert(`Deep Link Data: ${JSON.stringify(data)}`); + logger(data); } }) - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchEvent = () => { - console.log("Trigger BranchEvent()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchEvent() { // event name - const event = document.getElementById("custom-action").value; + var event = document.getElementById("custom-action").value; // optional - const metadata = { + var metadata = { custom_dictionary: 123, anything: "everything" }; Branch.userCompletedAction(event, metadata) - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchCommerce = () => { - console.log("Trigger BranchCommerce()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchCommerce() { // revenue required - const event = { + var event = { revenue: 50.29, currency: 148, // USD transactionID: "transaction id", @@ -82,59 +140,68 @@ const BranchCommerce = () => { }; // optional - const metadata = { + var metadata = { custom_dictionary: 123, anything: "everything" }; Branch.sendCommerceEvent(event, metadata) - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchFirstData = () => { - console.log("Trigger BranchFirstData()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchFirstData() { Branch.getFirstReferringParams() - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchLatestData = () => { - console.log("Trigger BranchLatestData()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchLatestData() { Branch.getLatestReferringParams() - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchUser = () => { - console.log("Trigger BranchUser()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} - const userId = document.getElementById("identity").value; +function BranchUser() { + var userId = document.getElementById("identity").value; Branch.setIdentity(userId) - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchLogout = () => { - console.log("Trigger BranchLogout()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchLogout() { Branch.logout() - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -let branchUniversalObj = null; -const BranchUniversalObject = () => { - console.log("Trigger BranchUniversalObject()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchUniversalObject() { // only canonicalIdentifier is required - const properties = { + var properties = { canonicalIdentifier: "content/123", canonicalUrl: "https://example.com/content/123", title: "Content 123 Title", - contentDescription: `Content 123 Description ${Date.now()}`, + contentDescription: "Content 123 Description " + Date.now(), contentImageUrl: "http://lorempixel.com/400/400/", price: 12.12, currency: "GBD", @@ -148,31 +215,33 @@ const BranchUniversalObject = () => { // create a branchUniversalObj variable to reference with other Branch methods Branch.createBranchUniversalObject(properties) - .then(res => { + .then(function success(res) { branchUniversalObj = res; logger(res); }) - .catch(err => logger(err, true)); -}; - -const BranchView = () => { - console.log("Trigger BranchView()"); + .catch(function error(err) { + logger(err, true); + }); +} +function BranchView() { if (branchUniversalObj === null) { alert("need to Generate Branch Universal Object"); return; } branchUniversalObj .registerView() - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchDeepLink = () => { - console.log("Trigger BranchDeepLink()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchDeepLink() { // optional fields - const analytics = { + var analytics = { channel: "facebook", feature: "onboarding", campaign: "content 123 launch", @@ -182,7 +251,7 @@ const BranchDeepLink = () => { }; // optional fields - const properties = { + var properties = { $desktop_url: "http://www.example.com/desktop", $android_url: "http://www.example.com/android", $ios_url: "http://www.example.com/ios", @@ -202,19 +271,19 @@ const BranchDeepLink = () => { branchUniversalObj .generateShortUrl(analytics, properties) - .then(res => { + .then(function success(res) { document.getElementById("generated-url").placeholder = ""; document.getElementById("generated-url").value = res.url; logger(res); }) - .catch(err => logger(err, true)); -}; - -const BranchShareSheet = () => { - console.log("Trigger BranchShareSheet()"); + .catch(function error(err) { + logger(err, true); + }); +} +function BranchShareSheet() { // optional fields - const analytics = { + var analytics = { channel: "facebook", feature: "onboarding", campaign: "content 123 launch", @@ -223,7 +292,7 @@ const BranchShareSheet = () => { }; // optional fields - const properties = { + var properties = { $desktop_url: "http://www.example.com/desktop", custom_string: "data", custom_integer: Date.now(), @@ -232,7 +301,7 @@ const BranchShareSheet = () => { custom_object: { random: "dictionary" } }; - const message = "Check out this link"; + var message = "Check out this link"; // needs a universal object if (branchUniversalObj === null) { @@ -241,88 +310,77 @@ const BranchShareSheet = () => { } // optional listeners (must be called before showShareSheet) - branchUniversalObj.onShareSheetLaunched(res => { + branchUniversalObj.onShareSheetLaunched(function success(res) { // android only console.log(res); }); - branchUniversalObj.onShareSheetDismissed(res => { + branchUniversalObj.onShareSheetDismissed(function success(res) { console.log(res); }); - branchUniversalObj.onLinkShareResponse(res => { + branchUniversalObj.onLinkShareResponse(function success(res) { console.log(res); }); - branchUniversalObj.onChannelSelected(res => { + branchUniversalObj.onChannelSelected(function success(res) { // android only console.log(res); }); // share sheet branchUniversalObj.showShareSheet(analytics, properties, message); -}; - -const BranchSpotlight = () => { - console.log("Trigger ListOnSpotlight()"); +} +function BranchSpotlight() { if (branchUniversalObj === null) { alert("need to Generate Branch Universal Object"); return; } branchUniversalObj .listOnSpotlight() - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchReferralsReward = () => { - console.log("Trigger BranchReferralsReward()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchReferralsReward() { Branch.userCompletedAction("add5credits") - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchReferralsLoad = () => { - console.log("Trigger BranchReferralsLoad()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchReferralsLoad() { Branch.loadRewards() - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchReferralsRedeem = () => { - console.log("Trigger BranchReferralsRedeem()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} - const amount = 10; +function BranchReferralsRedeem() { + var amount = 10; Branch.redeemRewards(amount) - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -const BranchReferralsHistory = () => { - console.log("Trigger BranchReferralsHistory()"); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} +function BranchReferralsHistory() { Branch.creditHistory() - .then(res => logger(res)) - .catch(err => logger(err, true)); -}; - -// app -const app = { - initialize: () => { - app.bindEvents(); - }, - bindEvents: () => { - document.addEventListener("deviceready", app.onDeviceReady, false); - document.addEventListener("resume", app.onDeviceResume, false); - }, - onDeviceReady: () => { - console.log("Trigger resume()"); - BranchInit(); - }, - onDeviceResume: () => { - console.log("Trigger ready()"); - BranchInit(); - } -}; - -app.initialize(); + .then(function success(res) { + logger(res); + }) + .catch(function error(err) { + logger(err, true); + }); +} diff --git a/yarn.lock b/yarn.lock index 55fada41..a800a4b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -401,13 +401,6 @@ argv-formatter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/argv-formatter/-/argv-formatter-1.0.0.tgz#a0ca0cbc29a5b73e836eebe1cbf6c5e0e4eb82f9" -aria-query@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.7.1.tgz#26cbb5aff64144b0a825be1846e0b16cfa00b11e" - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" - arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -446,13 +439,6 @@ array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - array-slice@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" @@ -479,10 +465,6 @@ arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" @@ -495,10 +477,6 @@ assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" -ast-types-flow@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" @@ -523,12 +501,6 @@ aws4@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" -axobject-query@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-0.1.0.tgz#62f59dbc59c9f9242759ca349960e7a2fe3c36c0" - dependencies: - ast-types-flow "0.0.7" - babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -1387,7 +1359,7 @@ combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@^2.11.0, commander@^2.14.1, commander@^2.9.0: +commander@^2.14.1, commander@^2.9.0: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" @@ -1486,10 +1458,6 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - core-js@^2.4.0, core-js@^2.5.0: version "2.5.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.5.tgz#b14dde936c640c0579a6b50cabcc132dd6127e3b" @@ -1557,10 +1525,6 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -damerau-levenshtein@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" - dargs@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" @@ -1650,13 +1614,6 @@ defaults@^1.0.0: dependencies: clone "^1.0.2" -define-properties@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" - dependencies: - foreach "^2.0.5" - object-keys "^1.0.8" - define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" @@ -1724,7 +1681,7 @@ doctrine@1.5.0: esutils "^2.0.2" isarray "^1.0.0" -doctrine@^2.0.2, doctrine@^2.1.0: +doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" dependencies: @@ -1778,16 +1735,6 @@ elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" -emoji-regex@^6.1.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" - -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - dependencies: - iconv-lite "~0.4.13" - end-of-stream@~0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" @@ -1807,24 +1754,6 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.7.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.1" - has "^1.0.1" - is-callable "^1.1.3" - is-regex "^1.0.4" - -es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" - dependencies: - is-callable "^1.1.1" - is-date-object "^1.0.1" - is-symbol "^1.0.1" - es6-promise@^4.0.3: version "4.2.4" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" @@ -1856,12 +1785,6 @@ eslint-config-airbnb-base@^12.1.0: dependencies: eslint-restricted-globals "^0.1.1" -eslint-config-airbnb@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz#2546bfb02cc9fe92284bf1723ccf2e87bc45ca46" - dependencies: - eslint-config-airbnb-base "^12.1.0" - eslint-config-prettier@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3" @@ -1901,27 +1824,6 @@ eslint-plugin-jest@^21.15.1: version "21.15.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.15.1.tgz#662a3f0888002878f0f388efd09c190a95c33d82" -eslint-plugin-jsx-a11y@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.3.tgz#54583d1ae442483162e040e13cc31865465100e5" - dependencies: - aria-query "^0.7.0" - array-includes "^3.0.3" - ast-types-flow "0.0.7" - axobject-query "^0.1.0" - damerau-levenshtein "^1.0.0" - emoji-regex "^6.1.0" - jsx-ast-utils "^2.0.0" - -eslint-plugin-react@^7.7.0: - version "7.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz#f606c719dbd8a1a2b3d25c16299813878cca0160" - dependencies: - doctrine "^2.0.2" - has "^1.0.1" - jsx-ast-utils "^2.0.1" - prop-types "^15.6.0" - eslint-restricted-globals@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" @@ -2178,18 +2080,6 @@ fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" -fbjs@^0.8.16: - version "0.8.16" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.9" - figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" @@ -2306,10 +2196,6 @@ for-own@^1.0.0: dependencies: for-in "^1.0.1" -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -2347,7 +2233,7 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -function-bind@^1.0.2, function-bind@^1.1.1: +function-bind@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -2831,7 +2717,7 @@ iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" -iconv-lite@^0.4.17, iconv-lite@~0.4.13: +iconv-lite@^0.4.17: version "0.4.21" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798" dependencies: @@ -2961,10 +2847,6 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" -is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" - is-ci@^1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" @@ -2983,10 +2865,6 @@ is-data-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -3162,12 +3040,6 @@ is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - dependencies: - has "^1.0.1" - is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -3192,7 +3064,7 @@ is-ssh@^1.3.0: dependencies: protocols "^1.1.0" -is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.0.0, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3200,10 +3072,6 @@ is-subset@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" -is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" - is-text-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" @@ -3250,13 +3118,6 @@ isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" -isomorphic-fetch@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -3505,12 +3366,6 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.0.0, jsx-ast-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" - dependencies: - array-includes "^3.0.3" - keyv@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" @@ -3874,7 +3729,7 @@ longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" -loose-envify@^1.0.0, loose-envify@^1.3.1: +loose-envify@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: @@ -4169,13 +4024,6 @@ node-emoji@^1.4.1: dependencies: lodash.toarray "^4.4.0" -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-fetch@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" @@ -4247,7 +4095,7 @@ object-assign@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -4259,10 +4107,6 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" - object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" @@ -4648,20 +4492,6 @@ progress@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - dependencies: - asap "~2.0.3" - -prop-types@^15.6.0: - version "15.6.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca" - dependencies: - fbjs "^0.8.16" - loose-envify "^1.3.1" - object-assign "^4.1.1" - protocols@^1.1.0, protocols@^1.4.0: version "1.4.6" resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.6.tgz#f8bb263ea1b5fd7a7604d26b8be39bd77678bf8a" @@ -5179,10 +5009,6 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -5675,10 +5501,6 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -ua-parser-js@^0.7.9: - version "0.7.17" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" - uglify-js@^2.6: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" @@ -5856,10 +5678,6 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: dependencies: iconv-lite "0.4.19" -whatwg-fetch@>=0.10.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - whatwg-mimetype@^2.0.0, whatwg-mimetype@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4"