New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@tef-novum/webview-bridge

Package Overview
Dependencies
Maintainers
7
Versions
127
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tef-novum/webview-bridge - npm Package Compare versions

Comparing version 3.6.0 to 3.7.0

8

CHANGELOG.md
# CHANGELOG
## v.3.7.6 - 2022-05-17
- New method: `getTopazToken`.
- Add timeout option to `renewSession`.
- `setLogger` method to log bridge traffic for debugging.
## v.3.6.0 - 2022-05-23
- BRIDGE_READY message
- `BRIDGE_READY` message

@@ -7,0 +13,0 @@ ## v.3.5.0 - 2022-05-17

4

dist/index.d.ts

@@ -1,5 +0,5 @@

export { isWebViewBridgeAvailable, onNativeEvent, NativeEventHandler, } from './src/post-message';
export { isWebViewBridgeAvailable, onNativeEvent, NativeEventHandler, setLogger, } from './src/post-message';
export { nativeConfirm, nativeAlert, nativeMessage } from './src/dialogs';
export { requestSimIcc, requestSimImsi, requestDeviceImei, internalNavigation, dismiss, requestVibration, getDiskSpaceInfo, getEsimInfo, } from './src/device';
export { attachToEmail, share, setWebViewTitle, updateNavigationBar, notifyPageLoaded, notifyBridgeReady, isABTestingAvailable, reportStatus, fetch, checkPermissionStatus, getAppMetadata, setActionBehavior, } from './src/utils';
export { attachToEmail, share, setWebViewTitle, updateNavigationBar, notifyPageLoaded, notifyBridgeReady, isABTestingAvailable, reportStatus, fetch, checkPermissionStatus, getAppMetadata, setActionBehavior, getTopazToken, } from './src/utils';
export type { ShareOptions } from './src/utils';

@@ -6,0 +6,0 @@ export { createCalendarEvent } from './src/calendar';

@@ -235,5 +235,14 @@ /**

};
GET_TOPAZ_TOKEN: {
type: 'GET_TOPAZ_TOKEN';
id: string;
payload: {
token: string;
};
};
};
export declare type NativeAppResponsePayload<Type extends keyof ResponsesFromNativeApp> = ResponsesFromNativeApp[Type]['payload'];
declare type NativeAppRequestPayload<Type extends keyof RequestsFromNativeApp> = RequestsFromNativeApp[Type]['payload'];
declare let log: undefined | ((...args: Array<any>) => void);
export declare const setLogger: (logger: typeof log) => void;
/**

@@ -240,0 +249,0 @@ * Returns true if there is a WebView Bridge installed

@@ -6,3 +6,5 @@ /**

*/
export declare const renewSession: (oldAccessToken: string | null) => Promise<string>;
export declare const renewSession: (oldAccessToken: string | null, options?: {
timeout?: number;
}) => Promise<string>;
/**

@@ -9,0 +11,0 @@ * This method is used to listen for session renewals made by native app. Whenever the native app

@@ -69,2 +69,11 @@ import { NativeAppResponsePayload } from './post-message';

}) => Promise<void>;
/**
* Returns the Topaz SDK Token
* https://www.topaz.com.br/ofd/index.php
*/
export declare const getTopazToken: (options?: {
timeout?: number;
}) => Promise<{
token: string;
}>;
export {};

@@ -65,2 +65,6 @@ define(['exports'], (function (exports) { 'use strict';

};
var log = undefined;
var setLogger = function (logger) {
log = logger;
};
/**

@@ -80,2 +84,3 @@ * Returns true if there is a WebView Bridge installed

var message = JSON.stringify({ type: type, id: id, payload: payload });
log === null || log === void 0 ? void 0 : log('[WebView Bridge] SEND:', message);
if (!postMessage) {

@@ -126,2 +131,3 @@ return Promise.reject({

postMessage: function (jsonMessage) {
log === null || log === void 0 ? void 0 : log('[WebView Bridge] RCVD:', jsonMessage);
var message;

@@ -412,2 +418,13 @@ try {

};
/**
* Returns the Topaz SDK Token
* https://www.topaz.com.br/ofd/index.php
*/
var getTopazToken = function (options) {
if (options === void 0) { options = {}; }
return postMessageToNativeApp({
type: 'GET_TOPAZ_TOKEN',
payload: {},
}, options.timeout);
};

@@ -809,7 +826,8 @@ var msToS = function (ms) { return Math.floor(ms / 1000); };

*/
var renewSession = function (oldAccessToken) {
var renewSession = function (oldAccessToken, options) {
if (options === void 0) { options = {}; }
return postMessageToNativeApp({
type: 'RENEW_SESSION',
payload: { accessToken: oldAccessToken || null },
}).then(function (_a) {
}, options.timeout).then(function (_a) {
var accessToken = _a.accessToken;

@@ -844,2 +862,3 @@ return accessToken;

exports.getEsimInfo = getEsimInfo;
exports.getTopazToken = getTopazToken;
exports.highlightNavigationTab = highlightNavigationTab;

@@ -868,2 +887,3 @@ exports.internalNavigation = internalNavigation;

exports.setCustomerHash = setCustomerHash;
exports.setLogger = setLogger;
exports.setScreenName = setScreenName;

@@ -870,0 +890,0 @@ exports.setTrackingProperty = setTrackingProperty;

@@ -67,2 +67,6 @@ 'use strict';

};
var log = undefined;
var setLogger = function (logger) {
log = logger;
};
/**

@@ -82,2 +86,3 @@ * Returns true if there is a WebView Bridge installed

var message = JSON.stringify({ type: type, id: id, payload: payload });
log === null || log === void 0 ? void 0 : log('[WebView Bridge] SEND:', message);
if (!postMessage) {

@@ -128,2 +133,3 @@ return Promise.reject({

postMessage: function (jsonMessage) {
log === null || log === void 0 ? void 0 : log('[WebView Bridge] RCVD:', jsonMessage);
var message;

@@ -414,2 +420,13 @@ try {

};
/**
* Returns the Topaz SDK Token
* https://www.topaz.com.br/ofd/index.php
*/
var getTopazToken = function (options) {
if (options === void 0) { options = {}; }
return postMessageToNativeApp({
type: 'GET_TOPAZ_TOKEN',
payload: {},
}, options.timeout);
};

@@ -811,7 +828,8 @@ var msToS = function (ms) { return Math.floor(ms / 1000); };

*/
var renewSession = function (oldAccessToken) {
var renewSession = function (oldAccessToken, options) {
if (options === void 0) { options = {}; }
return postMessageToNativeApp({
type: 'RENEW_SESSION',
payload: { accessToken: oldAccessToken || null },
}).then(function (_a) {
}, options.timeout).then(function (_a) {
var accessToken = _a.accessToken;

@@ -846,2 +864,3 @@ return accessToken;

exports.getEsimInfo = getEsimInfo;
exports.getTopazToken = getTopazToken;
exports.highlightNavigationTab = highlightNavigationTab;

@@ -870,2 +889,3 @@ exports.internalNavigation = internalNavigation;

exports.setCustomerHash = setCustomerHash;
exports.setLogger = setLogger;
exports.setScreenName = setScreenName;

@@ -872,0 +892,0 @@ exports.setTrackingProperty = setTrackingProperty;

@@ -66,2 +66,6 @@ var webviewBridge = (function (exports) {

};
var log = undefined;
var setLogger = function (logger) {
log = logger;
};
/**

@@ -81,2 +85,3 @@ * Returns true if there is a WebView Bridge installed

var message = JSON.stringify({ type: type, id: id, payload: payload });
log === null || log === void 0 ? void 0 : log('[WebView Bridge] SEND:', message);
if (!postMessage) {

@@ -127,2 +132,3 @@ return Promise.reject({

postMessage: function (jsonMessage) {
log === null || log === void 0 ? void 0 : log('[WebView Bridge] RCVD:', jsonMessage);
var message;

@@ -413,2 +419,13 @@ try {

};
/**
* Returns the Topaz SDK Token
* https://www.topaz.com.br/ofd/index.php
*/
var getTopazToken = function (options) {
if (options === void 0) { options = {}; }
return postMessageToNativeApp({
type: 'GET_TOPAZ_TOKEN',
payload: {},
}, options.timeout);
};

@@ -810,7 +827,8 @@ var msToS = function (ms) { return Math.floor(ms / 1000); };

*/
var renewSession = function (oldAccessToken) {
var renewSession = function (oldAccessToken, options) {
if (options === void 0) { options = {}; }
return postMessageToNativeApp({
type: 'RENEW_SESSION',
payload: { accessToken: oldAccessToken || null },
}).then(function (_a) {
}, options.timeout).then(function (_a) {
var accessToken = _a.accessToken;

@@ -845,2 +863,3 @@ return accessToken;

exports.getEsimInfo = getEsimInfo;
exports.getTopazToken = getTopazToken;
exports.highlightNavigationTab = highlightNavigationTab;

@@ -869,2 +888,3 @@ exports.internalNavigation = internalNavigation;

exports.setCustomerHash = setCustomerHash;
exports.setLogger = setLogger;
exports.setScreenName = setScreenName;

@@ -871,0 +891,0 @@ exports.setTrackingProperty = setTrackingProperty;

@@ -1,1 +0,1 @@

var webviewBridge=function(e){"use strict";var n=1,t=function(){return"webapp-".concat(n++)},o="__tuenti_webview_bridge",r=function(){return!("undefined"==typeof window||!window.tuentiWebView||!window.tuentiWebView.postMessage)},i=function(){return!!("undefined"!=typeof window&&window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.tuentiWebView&&window.webkit.messageHandlers.tuentiWebView.postMessage)},a=function(){return"undefined"==typeof window?null:r()?function(e){window.tuentiWebView.postMessage(e)}:i()?function(e){window.webkit.messageHandlers.tuentiWebView.postMessage(e)}:null},u=[],s=function(e){u.push(e)},c=function(e){u=u.filter(function(n){return n!==e})},l=function(){var e;return"undefined"!=typeof window&&(!!function(){try{return window.self!==window.top}catch(e){return!0}}()&&!(null===(e=null===window||void 0===window?void 0:window.frameElement)||void 0===e?void 0:e.hasAttribute("data-enable-webview-bridge")))},d=function(){return!l()&&(r()||i())},f=function(e,n){var o=e.type,r=e.id,i=void 0===r?t():r,u=e.payload,l=a(),d=JSON.stringify({type:o,id:i,payload:u});return l?(setTimeout(function(){l(d)}),new Promise(function(e,t){var r=!1,a=function(n){n.id!==i||r||(n.type===o?e(n.payload):"ERROR"===n.type?t(n.payload):t({code:500,reason:"bad type: ".concat(n.type,". Expecting ").concat(o)}),c(a))};s(a),n&&setTimeout(function(){r=!0,c(a),t({code:408,reason:"request timeout"})},n)})):Promise.reject({code:500,reason:"WebView postMessage not available"})};"undefined"!=typeof window&&(window[o]=window[o]||{postMessage:function(e){var n;try{n=JSON.parse(e)}catch(n){throw Error("Problem parsing webview message: ".concat(e))}u.forEach(function(e){return e(n)})}});var p=function(e,n){var t=function(t){t.type===e&&Promise.resolve(n(t.payload)).then(function(e){var n=a();n&&n(JSON.stringify({type:t.type,id:t.id,payload:e}))})};return s(t),function(){c(t)}},y=function(e){var n=e.title,t=e.expandedTitle,o=e.showBackButton,r=e.showReloadButton,i=e.showProfileButton,a=e.backgroundColor;return d()?f({type:"NAVIGATION_BAR",payload:{title:n,expandedTitle:t,showBackButton:o,showReloadButton:r,showProfileButton:i,backgroundColor:a}}):(void 0!==n&&"undefined"!=typeof document&&(document.title=n),Promise.resolve())},m=null,v=function(e){return"true"===m.result[e]},w=function(e){return Math.floor(e/1e3)},g=function(){return(g=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)};function b(e,n){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&n.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)n.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]])}return t}var T,E=["NovumTracker","OBARGTracker"],h=function(e){return E.indexOf(e.get("name"))>=0},A=function(e){var n=e.onAndroid,t=e.onIos,o=e.onWeb;return"undefined"==typeof window?Promise.resolve():window.AnalyticsWebInterface?n(window.AnalyticsWebInterface):window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.firebase?t(window.webkit.messageHandlers.firebase):window.ga&&window.ga.loaded?o(window.ga):Promise.resolve()},P=function(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")},S={obIds:1,paymentModels:2,serviceWorkerStatus:3,isAdmin:5,hasIpComms:6,af_source:9,af_campaign:10,novum_uid_session:11,user_logged:12,currentSubscriptionId:13,currentSubscriptionType:14,currentPaymentModel:15,webviewBrowserVersion:16,activatedRoles:17,appInstanceId:18,experimentflag:20,friendsApps:24,accountLineSelector:25,OneClickDisplayed:26};return e.CD_EVENT_VALUE=8,e.CD_NOVUM_UID=7,e.CD_WEBAPP_INSTALLED=4,e.attachToEmail=function(e){var n=e.url,t=e.subject,o=e.fileName,r=e.recipient,i=e.body;return f({type:"ATTACH_TO_EMAIL",payload:{url:n,subject:t,fileName:o,recipient:r,body:i}})},e.checkPermissionStatus=function(e,n){return f({type:"OS_PERMISSION_STATUS",payload:{feature:e,params:n}}).then(function(e){return e.granted})},e.createCalendarEvent=function(e){var n=e.beginTime,t=e.endTime,o=e.title;return f({type:"CREATE_CALENDAR_EVENT",payload:{beginTime:w(n),endTime:w(t),title:o}})},e.dismiss=function(e){return f({type:"DISMISS",payload:{onCompletionUrl:e}})},e.fetch=function(e){var n=e.url,t=e.method,o=e.headers,r=e.body;return d()?f({type:"FETCH",payload:{url:n,method:t,headers:o,body:r}}).catch(function(){return{status:500,headers:{},body:"Bridge call failed"}}):Promise.resolve({status:500,headers:{},body:"Bridge not available"})},e.fetchContactsByPhone=function(e){return f({type:"FETCH_CONTACTS_DATA",payload:{phoneNumbers:e}})},e.getAppMetadata=function(e){return f({type:"GET_APP_METADATA",payload:{appToken:e}})},e.getCustomerHash=function(){return f({type:"GET_CUSTOMER_HASH"})},e.getDiskSpaceInfo=function(){return f({type:"GET_DISK_SPACE_INFO"})},e.getEsimInfo=function(){return f({type:"GET_ESIM_INFO"}).catch(function(){return{supportsEsim:!1}})},e.highlightNavigationTab=function(e){var n=e.tab,t=e.highlight,o=e.count;return f({type:"HIGHLIGHT_TAB",payload:{tab:n,highlight:t,count:o}})},e.internalNavigation=function(e){return f({type:"INTERNAL_NAVIGATION",payload:{feature:e}})},e.isABTestingAvailable=function(e){if(m)return Promise.resolve(v(e));var n=new Promise(function(e){setTimeout(function(){e(!1)},500)}),t=f({type:"GET_REMOTE_CONFIG"}).then(function(n){return m=n,v(e)});return Promise.race([n,t])},e.isWebViewBridgeAvailable=d,e.logEcommerceEvent=function(e,n){return A({onAndroid:function(t){return t.logEvent&&t.logEvent(e,JSON.stringify(n)),Promise.resolve()},onIos:function(t){return t.postMessage({command:"logEvent",name:e,parameters:n}),Promise.resolve()},onWeb:function(){return Promise.resolve()}})},e.logEvent=function(e){var n,t,o,r,i,a,u=e.name,s=b(e,["name"]);if(u)Object.entries(s).forEach(function(e){var n=function(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,r,i=t.call(e),a=[];try{for(;(void 0===n||n-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return a}(e,2),t=n[0],o=n[1];"string"==typeof o&&(s[t]=P(o))});else{if(!e.category||!e.action)return console.warn('LegacyAnalyticsEvent should have "category" and "action"',{category:e.category,action:e.action}),Promise.resolve();t=(n=e).category,o=n.action,r=n.label,i=n.value,a=b(n,["category","action","label","value"]),r||(r="null_label"),i||(i=0),s=g({eventCategory:t,eventAction:o,eventLabel:P(r),eventValue:i},a),u=e.category}return A({onAndroid:function(e){return e.logEvent&&e.logEvent(u,JSON.stringify(s)),Promise.resolve()},onIos:function(e){return e.postMessage({command:"logEvent",name:u,parameters:s}),Promise.resolve()},onWeb:function(e){return new Promise(function(n){e("NovumTracker.send","event",g(g({},s),{hitCallback:n}))})}})},e.logTiming=function(e){var n=e.category,t=void 0===n?"performance_timer":n,o=e.variable,r=e.value,i=e.label;if(!t||!o||!r)return console.warn('Analytics timing should have "category", "variable" and "value"',{category:t,variable:o,value:r}),Promise.resolve();var a={timingCategory:t,timingVar:o,timingValue:r=Math.round(r),timingLabel:i},u=t;return A({onAndroid:function(e){return e.logEvent&&e.logEvent(u,JSON.stringify(a)),Promise.resolve()},onIos:function(e){return e.postMessage({command:"logEvent",name:u,parameters:a}),Promise.resolve()},onWeb:function(e){return new Promise(function(n){var t;e("NovumTracker.send",g(((t={hitType:"timing",hitCallback:n})["dimension".concat(8)]=String(r),t),a))})}})},e.nativeAlert=function(e){var n=e.message,t=e.title,o=e.buttonText;return d()?f({type:"ALERT",payload:{title:t,message:n,buttonText:o}}):("undefined"!=typeof window&&window.alert(n),Promise.resolve())},e.nativeConfirm=function(e){var n=e.message,t=e.title,o=e.acceptText,r=e.cancelText;return d()?f({type:"CONFIRM",payload:{message:n,title:t,acceptText:o,cancelText:r}}).then(function(e){return e.result}):Promise.resolve("undefined"!=typeof window&&window.confirm(n))},e.nativeMessage=function(e){var n=e.message,t=e.duration,o=e.buttonText,r=e.type;return d()?f({type:"MESSAGE",payload:{message:n,duration:t,buttonText:o,type:r}}):("undefined"!=typeof window&&window.alert(n),Promise.resolve())},e.notifyBridgeReady=function(){return f({type:"BRIDGE_READY"})},e.notifyPageLoaded=function(){return f({type:"PAGE_LOADED"})},e.onNativeEvent=function(e){return p("NATIVE_EVENT",function(n){return{action:e({event:n.event}).action||"default"}})},e.onSessionRenewed=function(e){return p("SESSION_RENEWED",function(n){var t=n.accessToken;return e(t)})},e.renewSession=function(e){return f({type:"RENEW_SESSION",payload:{accessToken:e||null}}).then(function(e){return e.accessToken})},e.reportStatus=function(e){var n=e.feature,t=e.status,o=e.reason;return f({type:"STATUS_REPORT",payload:{feature:n,status:t,reason:o}})},e.requestContact=function(e){var n=(void 0===e?{}:e).filter;return f({type:"GET_CONTACT_DATA",payload:{filter:void 0===n?"phone":n}})},e.requestDeviceImei=function(){return f({type:"IMEI"},200).then(function(e){return e.imei}).catch(function(){return null})},e.requestSimIcc=function(){return f({type:"SIM_ICC"},200).then(function(e){return e.icc}).catch(function(){return null})},e.requestSimImsi=function(){return f({type:"IMSI"},200).then(function(e){return e.imsi}).catch(function(){return null})},e.requestVibration=function(e){return f({type:"VIBRATION",payload:{type:e}})},e.setActionBehavior=function(e){return f({type:"SET_ACTION_BEHAVIOR",payload:{actions:e}}).catch(function(){})},e.setCustomerHash=function(e){return f({type:"SET_CUSTOMER_HASH",payload:{hash:e}})},e.setScreenName=function(e,n){return e?A({onAndroid:function(n){return n.setScreenName&&n.setScreenName(e),Promise.resolve()},onIos:function(n){return n.postMessage({command:"setScreenName",name:e}),Promise.resolve()},onWeb:function(t){return new Promise(function(o){var r=e.startsWith("/")?e:"/".concat(e);r!==T?(T=r,t(function(){t.getAll().filter(h).forEach(function(e){e.set("page",r),e.send("pageView",g(g({},n),{hitCallback:o}))})})):o()})}}):(console.warn("Missing analytics screenName"),Promise.resolve())},e.setTrackingProperty=function(e,n,t){return f({type:"SET_TRACKING_PROPERTY",payload:{system:e,name:n,value:t}}).catch(function(){})},e.setUserProperty=function(e,n){return e&&n?(n=String(n),A({onAndroid:function(t){return t.setUserProperty&&t.setUserProperty(e,n),Promise.resolve()},onIos:function(t){return t.postMessage({command:"setUserProperty",name:e,value:n}),Promise.resolve()},onWeb:function(t){var o,r=S[e];return r?(t("NovumTracker.set",((o={})["dimension".concat(r)]=String(n),o)),Promise.resolve()):(console.warn("No custom dimension defined for user property",e),Promise.resolve())}})):(console.warn("Trying to set analytics user property without name or value",e,n),Promise.resolve())},e.setWebViewTitle=function(e){return d()?y({title:e}):("undefined"!=typeof document&&(document.title=e),Promise.resolve())},e.share=function(e){return f({type:"SHARE",payload:e})},e.updateNavigationBar=y,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
var webviewBridge=function(e){"use strict";var n=1,t=function(){return"webapp-".concat(n++)},o="__tuenti_webview_bridge",r=function(){return!("undefined"==typeof window||!window.tuentiWebView||!window.tuentiWebView.postMessage)},i=function(){return!!("undefined"!=typeof window&&window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.tuentiWebView&&window.webkit.messageHandlers.tuentiWebView.postMessage)},a=function(){return"undefined"==typeof window?null:r()?function(e){window.tuentiWebView.postMessage(e)}:i()?function(e){window.webkit.messageHandlers.tuentiWebView.postMessage(e)}:null},u=[],s=function(e){u.push(e)},c=function(e){u=u.filter(function(n){return n!==e})},l=function(){var e;return"undefined"!=typeof window&&(!!function(){try{return window.self!==window.top}catch(e){return!0}}()&&!(null===(e=null===window||void 0===window?void 0:window.frameElement)||void 0===e?void 0:e.hasAttribute("data-enable-webview-bridge")))},d=void 0,f=function(){return!l()&&(r()||i())},p=function(e,n){var o=e.type,r=e.id,i=void 0===r?t():r,u=e.payload,l=a(),f=JSON.stringify({type:o,id:i,payload:u});return null===d||void 0===d||d("[WebView Bridge] SEND:",f),l?(setTimeout(function(){l(f)}),new Promise(function(e,t){var r=!1,a=function(n){n.id!==i||r||(n.type===o?e(n.payload):"ERROR"===n.type?t(n.payload):t({code:500,reason:"bad type: ".concat(n.type,". Expecting ").concat(o)}),c(a))};s(a),n&&setTimeout(function(){r=!0,c(a),t({code:408,reason:"request timeout"})},n)})):Promise.reject({code:500,reason:"WebView postMessage not available"})};"undefined"!=typeof window&&(window[o]=window[o]||{postMessage:function(e){var n;null===d||void 0===d||d("[WebView Bridge] RCVD:",e);try{n=JSON.parse(e)}catch(n){throw Error("Problem parsing webview message: ".concat(e))}u.forEach(function(e){return e(n)})}});var y=function(e,n){var t=function(t){t.type===e&&Promise.resolve(n(t.payload)).then(function(e){var n=a();n&&n(JSON.stringify({type:t.type,id:t.id,payload:e}))})};return s(t),function(){c(t)}},m=function(e){var n=e.title,t=e.expandedTitle,o=e.showBackButton,r=e.showReloadButton,i=e.showProfileButton,a=e.backgroundColor;return f()?p({type:"NAVIGATION_BAR",payload:{title:n,expandedTitle:t,showBackButton:o,showReloadButton:r,showProfileButton:i,backgroundColor:a}}):(void 0!==n&&"undefined"!=typeof document&&(document.title=n),Promise.resolve())},v=null,w=function(e){return"true"===v.result[e]},g=function(e){return Math.floor(e/1e3)},b=function(){return(b=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)};function T(e,n){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&n.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)n.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]])}return t}var E,h=["NovumTracker","OBARGTracker"],A=function(e){return h.indexOf(e.get("name"))>=0},P=function(e){var n=e.onAndroid,t=e.onIos,o=e.onWeb;return"undefined"==typeof window?Promise.resolve():window.AnalyticsWebInterface?n(window.AnalyticsWebInterface):window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.firebase?t(window.webkit.messageHandlers.firebase):window.ga&&window.ga.loaded?o(window.ga):Promise.resolve()},S=function(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")},_={obIds:1,paymentModels:2,serviceWorkerStatus:3,isAdmin:5,hasIpComms:6,af_source:9,af_campaign:10,novum_uid_session:11,user_logged:12,currentSubscriptionId:13,currentSubscriptionType:14,currentPaymentModel:15,webviewBrowserVersion:16,activatedRoles:17,appInstanceId:18,experimentflag:20,friendsApps:24,accountLineSelector:25,OneClickDisplayed:26};return e.CD_EVENT_VALUE=8,e.CD_NOVUM_UID=7,e.CD_WEBAPP_INSTALLED=4,e.attachToEmail=function(e){var n=e.url,t=e.subject,o=e.fileName,r=e.recipient,i=e.body;return p({type:"ATTACH_TO_EMAIL",payload:{url:n,subject:t,fileName:o,recipient:r,body:i}})},e.checkPermissionStatus=function(e,n){return p({type:"OS_PERMISSION_STATUS",payload:{feature:e,params:n}}).then(function(e){return e.granted})},e.createCalendarEvent=function(e){var n=e.beginTime,t=e.endTime,o=e.title;return p({type:"CREATE_CALENDAR_EVENT",payload:{beginTime:g(n),endTime:g(t),title:o}})},e.dismiss=function(e){return p({type:"DISMISS",payload:{onCompletionUrl:e}})},e.fetch=function(e){var n=e.url,t=e.method,o=e.headers,r=e.body;return f()?p({type:"FETCH",payload:{url:n,method:t,headers:o,body:r}}).catch(function(){return{status:500,headers:{},body:"Bridge call failed"}}):Promise.resolve({status:500,headers:{},body:"Bridge not available"})},e.fetchContactsByPhone=function(e){return p({type:"FETCH_CONTACTS_DATA",payload:{phoneNumbers:e}})},e.getAppMetadata=function(e){return p({type:"GET_APP_METADATA",payload:{appToken:e}})},e.getCustomerHash=function(){return p({type:"GET_CUSTOMER_HASH"})},e.getDiskSpaceInfo=function(){return p({type:"GET_DISK_SPACE_INFO"})},e.getEsimInfo=function(){return p({type:"GET_ESIM_INFO"}).catch(function(){return{supportsEsim:!1}})},e.getTopazToken=function(e){return void 0===e&&(e={}),p({type:"GET_TOPAZ_TOKEN",payload:{}},e.timeout)},e.highlightNavigationTab=function(e){var n=e.tab,t=e.highlight,o=e.count;return p({type:"HIGHLIGHT_TAB",payload:{tab:n,highlight:t,count:o}})},e.internalNavigation=function(e){return p({type:"INTERNAL_NAVIGATION",payload:{feature:e}})},e.isABTestingAvailable=function(e){if(v)return Promise.resolve(w(e));var n=new Promise(function(e){setTimeout(function(){e(!1)},500)}),t=p({type:"GET_REMOTE_CONFIG"}).then(function(n){return v=n,w(e)});return Promise.race([n,t])},e.isWebViewBridgeAvailable=f,e.logEcommerceEvent=function(e,n){return P({onAndroid:function(t){return t.logEvent&&t.logEvent(e,JSON.stringify(n)),Promise.resolve()},onIos:function(t){return t.postMessage({command:"logEvent",name:e,parameters:n}),Promise.resolve()},onWeb:function(){return Promise.resolve()}})},e.logEvent=function(e){var n,t,o,r,i,a,u=e.name,s=T(e,["name"]);if(u)Object.entries(s).forEach(function(e){var n=function(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,r,i=t.call(e),a=[];try{for(;(void 0===n||n-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return a}(e,2),t=n[0],o=n[1];"string"==typeof o&&(s[t]=S(o))});else{if(!e.category||!e.action)return console.warn('LegacyAnalyticsEvent should have "category" and "action"',{category:e.category,action:e.action}),Promise.resolve();t=(n=e).category,o=n.action,r=n.label,i=n.value,a=T(n,["category","action","label","value"]),r||(r="null_label"),i||(i=0),s=b({eventCategory:t,eventAction:o,eventLabel:S(r),eventValue:i},a),u=e.category}return P({onAndroid:function(e){return e.logEvent&&e.logEvent(u,JSON.stringify(s)),Promise.resolve()},onIos:function(e){return e.postMessage({command:"logEvent",name:u,parameters:s}),Promise.resolve()},onWeb:function(e){return new Promise(function(n){e("NovumTracker.send","event",b(b({},s),{hitCallback:n}))})}})},e.logTiming=function(e){var n=e.category,t=void 0===n?"performance_timer":n,o=e.variable,r=e.value,i=e.label;if(!t||!o||!r)return console.warn('Analytics timing should have "category", "variable" and "value"',{category:t,variable:o,value:r}),Promise.resolve();var a={timingCategory:t,timingVar:o,timingValue:r=Math.round(r),timingLabel:i},u=t;return P({onAndroid:function(e){return e.logEvent&&e.logEvent(u,JSON.stringify(a)),Promise.resolve()},onIos:function(e){return e.postMessage({command:"logEvent",name:u,parameters:a}),Promise.resolve()},onWeb:function(e){return new Promise(function(n){var t;e("NovumTracker.send",b(((t={hitType:"timing",hitCallback:n})["dimension".concat(8)]=String(r),t),a))})}})},e.nativeAlert=function(e){var n=e.message,t=e.title,o=e.buttonText;return f()?p({type:"ALERT",payload:{title:t,message:n,buttonText:o}}):("undefined"!=typeof window&&window.alert(n),Promise.resolve())},e.nativeConfirm=function(e){var n=e.message,t=e.title,o=e.acceptText,r=e.cancelText;return f()?p({type:"CONFIRM",payload:{message:n,title:t,acceptText:o,cancelText:r}}).then(function(e){return e.result}):Promise.resolve("undefined"!=typeof window&&window.confirm(n))},e.nativeMessage=function(e){var n=e.message,t=e.duration,o=e.buttonText,r=e.type;return f()?p({type:"MESSAGE",payload:{message:n,duration:t,buttonText:o,type:r}}):("undefined"!=typeof window&&window.alert(n),Promise.resolve())},e.notifyBridgeReady=function(){return p({type:"BRIDGE_READY"})},e.notifyPageLoaded=function(){return p({type:"PAGE_LOADED"})},e.onNativeEvent=function(e){return y("NATIVE_EVENT",function(n){return{action:e({event:n.event}).action||"default"}})},e.onSessionRenewed=function(e){return y("SESSION_RENEWED",function(n){var t=n.accessToken;return e(t)})},e.renewSession=function(e,n){return void 0===n&&(n={}),p({type:"RENEW_SESSION",payload:{accessToken:e||null}},n.timeout).then(function(e){return e.accessToken})},e.reportStatus=function(e){var n=e.feature,t=e.status,o=e.reason;return p({type:"STATUS_REPORT",payload:{feature:n,status:t,reason:o}})},e.requestContact=function(e){var n=(void 0===e?{}:e).filter;return p({type:"GET_CONTACT_DATA",payload:{filter:void 0===n?"phone":n}})},e.requestDeviceImei=function(){return p({type:"IMEI"},200).then(function(e){return e.imei}).catch(function(){return null})},e.requestSimIcc=function(){return p({type:"SIM_ICC"},200).then(function(e){return e.icc}).catch(function(){return null})},e.requestSimImsi=function(){return p({type:"IMSI"},200).then(function(e){return e.imsi}).catch(function(){return null})},e.requestVibration=function(e){return p({type:"VIBRATION",payload:{type:e}})},e.setActionBehavior=function(e){return p({type:"SET_ACTION_BEHAVIOR",payload:{actions:e}}).catch(function(){})},e.setCustomerHash=function(e){return p({type:"SET_CUSTOMER_HASH",payload:{hash:e}})},e.setLogger=function(e){d=e},e.setScreenName=function(e,n){return e?P({onAndroid:function(n){return n.setScreenName&&n.setScreenName(e),Promise.resolve()},onIos:function(n){return n.postMessage({command:"setScreenName",name:e}),Promise.resolve()},onWeb:function(t){return new Promise(function(o){var r=e.startsWith("/")?e:"/".concat(e);r!==E?(E=r,t(function(){t.getAll().filter(A).forEach(function(e){e.set("page",r),e.send("pageView",b(b({},n),{hitCallback:o}))})})):o()})}}):(console.warn("Missing analytics screenName"),Promise.resolve())},e.setTrackingProperty=function(e,n,t){return p({type:"SET_TRACKING_PROPERTY",payload:{system:e,name:n,value:t}}).catch(function(){})},e.setUserProperty=function(e,n){return e&&n?(n=String(n),P({onAndroid:function(t){return t.setUserProperty&&t.setUserProperty(e,n),Promise.resolve()},onIos:function(t){return t.postMessage({command:"setUserProperty",name:e,value:n}),Promise.resolve()},onWeb:function(t){var o,r=_[e];return r?(t("NovumTracker.set",((o={})["dimension".concat(r)]=String(n),o)),Promise.resolve()):(console.warn("No custom dimension defined for user property",e),Promise.resolve())}})):(console.warn("Trying to set analytics user property without name or value",e,n),Promise.resolve())},e.setWebViewTitle=function(e){return f()?m({title:e}):("undefined"!=typeof document&&(document.title=e),Promise.resolve())},e.share=function(e){return p({type:"SHARE",payload:e})},e.updateNavigationBar=m,Object.defineProperty(e,"__esModule",{value:!0}),e}({});

@@ -69,2 +69,6 @@ (function (global, factory) {

};
var log = undefined;
var setLogger = function (logger) {
log = logger;
};
/**

@@ -84,2 +88,3 @@ * Returns true if there is a WebView Bridge installed

var message = JSON.stringify({ type: type, id: id, payload: payload });
log === null || log === void 0 ? void 0 : log('[WebView Bridge] SEND:', message);
if (!postMessage) {

@@ -130,2 +135,3 @@ return Promise.reject({

postMessage: function (jsonMessage) {
log === null || log === void 0 ? void 0 : log('[WebView Bridge] RCVD:', jsonMessage);
var message;

@@ -416,2 +422,13 @@ try {

};
/**
* Returns the Topaz SDK Token
* https://www.topaz.com.br/ofd/index.php
*/
var getTopazToken = function (options) {
if (options === void 0) { options = {}; }
return postMessageToNativeApp({
type: 'GET_TOPAZ_TOKEN',
payload: {},
}, options.timeout);
};

@@ -813,7 +830,8 @@ var msToS = function (ms) { return Math.floor(ms / 1000); };

*/
var renewSession = function (oldAccessToken) {
var renewSession = function (oldAccessToken, options) {
if (options === void 0) { options = {}; }
return postMessageToNativeApp({
type: 'RENEW_SESSION',
payload: { accessToken: oldAccessToken || null },
}).then(function (_a) {
}, options.timeout).then(function (_a) {
var accessToken = _a.accessToken;

@@ -848,2 +866,3 @@ return accessToken;

exports.getEsimInfo = getEsimInfo;
exports.getTopazToken = getTopazToken;
exports.highlightNavigationTab = highlightNavigationTab;

@@ -872,2 +891,3 @@ exports.internalNavigation = internalNavigation;

exports.setCustomerHash = setCustomerHash;
exports.setLogger = setLogger;
exports.setScreenName = setScreenName;

@@ -874,0 +894,0 @@ exports.setTrackingProperty = setTrackingProperty;

@@ -1,1 +0,1 @@

!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).webviewBridge={})}(this,function(e){"use strict";var n=1,t=function(){return"webapp-".concat(n++)},o="__tuenti_webview_bridge",r=function(){return!("undefined"==typeof window||!window.tuentiWebView||!window.tuentiWebView.postMessage)},i=function(){return!!("undefined"!=typeof window&&window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.tuentiWebView&&window.webkit.messageHandlers.tuentiWebView.postMessage)},a=function(){return"undefined"==typeof window?null:r()?function(e){window.tuentiWebView.postMessage(e)}:i()?function(e){window.webkit.messageHandlers.tuentiWebView.postMessage(e)}:null},u=[],s=function(e){u.push(e)},c=function(e){u=u.filter(function(n){return n!==e})},l=function(){var e;return"undefined"!=typeof window&&(!!function(){try{return window.self!==window.top}catch(e){return!0}}()&&!(null===(e=null===window||void 0===window?void 0:window.frameElement)||void 0===e?void 0:e.hasAttribute("data-enable-webview-bridge")))},d=function(){return!l()&&(r()||i())},f=function(e,n){var o=e.type,r=e.id,i=void 0===r?t():r,u=e.payload,l=a(),d=JSON.stringify({type:o,id:i,payload:u});return l?(setTimeout(function(){l(d)}),new Promise(function(e,t){var r=!1,a=function(n){n.id!==i||r||(n.type===o?e(n.payload):"ERROR"===n.type?t(n.payload):t({code:500,reason:"bad type: ".concat(n.type,". Expecting ").concat(o)}),c(a))};s(a),n&&setTimeout(function(){r=!0,c(a),t({code:408,reason:"request timeout"})},n)})):Promise.reject({code:500,reason:"WebView postMessage not available"})};"undefined"!=typeof window&&(window[o]=window[o]||{postMessage:function(e){var n;try{n=JSON.parse(e)}catch(n){throw Error("Problem parsing webview message: ".concat(e))}u.forEach(function(e){return e(n)})}});var p=function(e,n){var t=function(t){t.type===e&&Promise.resolve(n(t.payload)).then(function(e){var n=a();n&&n(JSON.stringify({type:t.type,id:t.id,payload:e}))})};return s(t),function(){c(t)}},y=function(e){var n=e.title,t=e.expandedTitle,o=e.showBackButton,r=e.showReloadButton,i=e.showProfileButton,a=e.backgroundColor;return d()?f({type:"NAVIGATION_BAR",payload:{title:n,expandedTitle:t,showBackButton:o,showReloadButton:r,showProfileButton:i,backgroundColor:a}}):(void 0!==n&&"undefined"!=typeof document&&(document.title=n),Promise.resolve())},m=null,v=function(e){return"true"===m.result[e]},w=function(e){return Math.floor(e/1e3)},g=function(){return(g=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)};function b(e,n){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&n.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)n.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]])}return t}var T,h=["NovumTracker","OBARGTracker"],E=function(e){return h.indexOf(e.get("name"))>=0},A=function(e){var n=e.onAndroid,t=e.onIos,o=e.onWeb;return"undefined"==typeof window?Promise.resolve():window.AnalyticsWebInterface?n(window.AnalyticsWebInterface):window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.firebase?t(window.webkit.messageHandlers.firebase):window.ga&&window.ga.loaded?o(window.ga):Promise.resolve()},P=function(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")},S={obIds:1,paymentModels:2,serviceWorkerStatus:3,isAdmin:5,hasIpComms:6,af_source:9,af_campaign:10,novum_uid_session:11,user_logged:12,currentSubscriptionId:13,currentSubscriptionType:14,currentPaymentModel:15,webviewBrowserVersion:16,activatedRoles:17,appInstanceId:18,experimentflag:20,friendsApps:24,accountLineSelector:25,OneClickDisplayed:26};e.CD_EVENT_VALUE=8,e.CD_NOVUM_UID=7,e.CD_WEBAPP_INSTALLED=4,e.attachToEmail=function(e){var n=e.url,t=e.subject,o=e.fileName,r=e.recipient,i=e.body;return f({type:"ATTACH_TO_EMAIL",payload:{url:n,subject:t,fileName:o,recipient:r,body:i}})},e.checkPermissionStatus=function(e,n){return f({type:"OS_PERMISSION_STATUS",payload:{feature:e,params:n}}).then(function(e){return e.granted})},e.createCalendarEvent=function(e){var n=e.beginTime,t=e.endTime,o=e.title;return f({type:"CREATE_CALENDAR_EVENT",payload:{beginTime:w(n),endTime:w(t),title:o}})},e.dismiss=function(e){return f({type:"DISMISS",payload:{onCompletionUrl:e}})},e.fetch=function(e){var n=e.url,t=e.method,o=e.headers,r=e.body;return d()?f({type:"FETCH",payload:{url:n,method:t,headers:o,body:r}}).catch(function(){return{status:500,headers:{},body:"Bridge call failed"}}):Promise.resolve({status:500,headers:{},body:"Bridge not available"})},e.fetchContactsByPhone=function(e){return f({type:"FETCH_CONTACTS_DATA",payload:{phoneNumbers:e}})},e.getAppMetadata=function(e){return f({type:"GET_APP_METADATA",payload:{appToken:e}})},e.getCustomerHash=function(){return f({type:"GET_CUSTOMER_HASH"})},e.getDiskSpaceInfo=function(){return f({type:"GET_DISK_SPACE_INFO"})},e.getEsimInfo=function(){return f({type:"GET_ESIM_INFO"}).catch(function(){return{supportsEsim:!1}})},e.highlightNavigationTab=function(e){var n=e.tab,t=e.highlight,o=e.count;return f({type:"HIGHLIGHT_TAB",payload:{tab:n,highlight:t,count:o}})},e.internalNavigation=function(e){return f({type:"INTERNAL_NAVIGATION",payload:{feature:e}})},e.isABTestingAvailable=function(e){if(m)return Promise.resolve(v(e));var n=new Promise(function(e){setTimeout(function(){e(!1)},500)}),t=f({type:"GET_REMOTE_CONFIG"}).then(function(n){return m=n,v(e)});return Promise.race([n,t])},e.isWebViewBridgeAvailable=d,e.logEcommerceEvent=function(e,n){return A({onAndroid:function(t){return t.logEvent&&t.logEvent(e,JSON.stringify(n)),Promise.resolve()},onIos:function(t){return t.postMessage({command:"logEvent",name:e,parameters:n}),Promise.resolve()},onWeb:function(){return Promise.resolve()}})},e.logEvent=function(e){var n,t,o,r,i,a,u=e.name,s=b(e,["name"]);if(u)Object.entries(s).forEach(function(e){var n=function(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,r,i=t.call(e),a=[];try{for(;(void 0===n||n-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return a}(e,2),t=n[0],o=n[1];"string"==typeof o&&(s[t]=P(o))});else{if(!e.category||!e.action)return console.warn('LegacyAnalyticsEvent should have "category" and "action"',{category:e.category,action:e.action}),Promise.resolve();t=(n=e).category,o=n.action,r=n.label,i=n.value,a=b(n,["category","action","label","value"]),r||(r="null_label"),i||(i=0),s=g({eventCategory:t,eventAction:o,eventLabel:P(r),eventValue:i},a),u=e.category}return A({onAndroid:function(e){return e.logEvent&&e.logEvent(u,JSON.stringify(s)),Promise.resolve()},onIos:function(e){return e.postMessage({command:"logEvent",name:u,parameters:s}),Promise.resolve()},onWeb:function(e){return new Promise(function(n){e("NovumTracker.send","event",g(g({},s),{hitCallback:n}))})}})},e.logTiming=function(e){var n=e.category,t=void 0===n?"performance_timer":n,o=e.variable,r=e.value,i=e.label;if(!t||!o||!r)return console.warn('Analytics timing should have "category", "variable" and "value"',{category:t,variable:o,value:r}),Promise.resolve();var a={timingCategory:t,timingVar:o,timingValue:r=Math.round(r),timingLabel:i},u=t;return A({onAndroid:function(e){return e.logEvent&&e.logEvent(u,JSON.stringify(a)),Promise.resolve()},onIos:function(e){return e.postMessage({command:"logEvent",name:u,parameters:a}),Promise.resolve()},onWeb:function(e){return new Promise(function(n){var t;e("NovumTracker.send",g(((t={hitType:"timing",hitCallback:n})["dimension".concat(8)]=String(r),t),a))})}})},e.nativeAlert=function(e){var n=e.message,t=e.title,o=e.buttonText;return d()?f({type:"ALERT",payload:{title:t,message:n,buttonText:o}}):("undefined"!=typeof window&&window.alert(n),Promise.resolve())},e.nativeConfirm=function(e){var n=e.message,t=e.title,o=e.acceptText,r=e.cancelText;return d()?f({type:"CONFIRM",payload:{message:n,title:t,acceptText:o,cancelText:r}}).then(function(e){return e.result}):Promise.resolve("undefined"!=typeof window&&window.confirm(n))},e.nativeMessage=function(e){var n=e.message,t=e.duration,o=e.buttonText,r=e.type;return d()?f({type:"MESSAGE",payload:{message:n,duration:t,buttonText:o,type:r}}):("undefined"!=typeof window&&window.alert(n),Promise.resolve())},e.notifyBridgeReady=function(){return f({type:"BRIDGE_READY"})},e.notifyPageLoaded=function(){return f({type:"PAGE_LOADED"})},e.onNativeEvent=function(e){return p("NATIVE_EVENT",function(n){return{action:e({event:n.event}).action||"default"}})},e.onSessionRenewed=function(e){return p("SESSION_RENEWED",function(n){var t=n.accessToken;return e(t)})},e.renewSession=function(e){return f({type:"RENEW_SESSION",payload:{accessToken:e||null}}).then(function(e){return e.accessToken})},e.reportStatus=function(e){var n=e.feature,t=e.status,o=e.reason;return f({type:"STATUS_REPORT",payload:{feature:n,status:t,reason:o}})},e.requestContact=function(e){var n=(void 0===e?{}:e).filter;return f({type:"GET_CONTACT_DATA",payload:{filter:void 0===n?"phone":n}})},e.requestDeviceImei=function(){return f({type:"IMEI"},200).then(function(e){return e.imei}).catch(function(){return null})},e.requestSimIcc=function(){return f({type:"SIM_ICC"},200).then(function(e){return e.icc}).catch(function(){return null})},e.requestSimImsi=function(){return f({type:"IMSI"},200).then(function(e){return e.imsi}).catch(function(){return null})},e.requestVibration=function(e){return f({type:"VIBRATION",payload:{type:e}})},e.setActionBehavior=function(e){return f({type:"SET_ACTION_BEHAVIOR",payload:{actions:e}}).catch(function(){})},e.setCustomerHash=function(e){return f({type:"SET_CUSTOMER_HASH",payload:{hash:e}})},e.setScreenName=function(e,n){return e?A({onAndroid:function(n){return n.setScreenName&&n.setScreenName(e),Promise.resolve()},onIos:function(n){return n.postMessage({command:"setScreenName",name:e}),Promise.resolve()},onWeb:function(t){return new Promise(function(o){var r=e.startsWith("/")?e:"/".concat(e);r!==T?(T=r,t(function(){t.getAll().filter(E).forEach(function(e){e.set("page",r),e.send("pageView",g(g({},n),{hitCallback:o}))})})):o()})}}):(console.warn("Missing analytics screenName"),Promise.resolve())},e.setTrackingProperty=function(e,n,t){return f({type:"SET_TRACKING_PROPERTY",payload:{system:e,name:n,value:t}}).catch(function(){})},e.setUserProperty=function(e,n){return e&&n?(n=String(n),A({onAndroid:function(t){return t.setUserProperty&&t.setUserProperty(e,n),Promise.resolve()},onIos:function(t){return t.postMessage({command:"setUserProperty",name:e,value:n}),Promise.resolve()},onWeb:function(t){var o,r=S[e];return r?(t("NovumTracker.set",((o={})["dimension".concat(r)]=String(n),o)),Promise.resolve()):(console.warn("No custom dimension defined for user property",e),Promise.resolve())}})):(console.warn("Trying to set analytics user property without name or value",e,n),Promise.resolve())},e.setWebViewTitle=function(e){return d()?y({title:e}):("undefined"!=typeof document&&(document.title=e),Promise.resolve())},e.share=function(e){return f({type:"SHARE",payload:e})},e.updateNavigationBar=y,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).webviewBridge={})}(this,function(e){"use strict";var n=1,t=function(){return"webapp-".concat(n++)},o="__tuenti_webview_bridge",r=function(){return!("undefined"==typeof window||!window.tuentiWebView||!window.tuentiWebView.postMessage)},i=function(){return!!("undefined"!=typeof window&&window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.tuentiWebView&&window.webkit.messageHandlers.tuentiWebView.postMessage)},a=function(){return"undefined"==typeof window?null:r()?function(e){window.tuentiWebView.postMessage(e)}:i()?function(e){window.webkit.messageHandlers.tuentiWebView.postMessage(e)}:null},u=[],s=function(e){u.push(e)},c=function(e){u=u.filter(function(n){return n!==e})},l=function(){var e;return"undefined"!=typeof window&&(!!function(){try{return window.self!==window.top}catch(e){return!0}}()&&!(null===(e=null===window||void 0===window?void 0:window.frameElement)||void 0===e?void 0:e.hasAttribute("data-enable-webview-bridge")))},d=void 0,f=function(){return!l()&&(r()||i())},p=function(e,n){var o=e.type,r=e.id,i=void 0===r?t():r,u=e.payload,l=a(),f=JSON.stringify({type:o,id:i,payload:u});return null===d||void 0===d||d("[WebView Bridge] SEND:",f),l?(setTimeout(function(){l(f)}),new Promise(function(e,t){var r=!1,a=function(n){n.id!==i||r||(n.type===o?e(n.payload):"ERROR"===n.type?t(n.payload):t({code:500,reason:"bad type: ".concat(n.type,". Expecting ").concat(o)}),c(a))};s(a),n&&setTimeout(function(){r=!0,c(a),t({code:408,reason:"request timeout"})},n)})):Promise.reject({code:500,reason:"WebView postMessage not available"})};"undefined"!=typeof window&&(window[o]=window[o]||{postMessage:function(e){var n;null===d||void 0===d||d("[WebView Bridge] RCVD:",e);try{n=JSON.parse(e)}catch(n){throw Error("Problem parsing webview message: ".concat(e))}u.forEach(function(e){return e(n)})}});var y=function(e,n){var t=function(t){t.type===e&&Promise.resolve(n(t.payload)).then(function(e){var n=a();n&&n(JSON.stringify({type:t.type,id:t.id,payload:e}))})};return s(t),function(){c(t)}},m=function(e){var n=e.title,t=e.expandedTitle,o=e.showBackButton,r=e.showReloadButton,i=e.showProfileButton,a=e.backgroundColor;return f()?p({type:"NAVIGATION_BAR",payload:{title:n,expandedTitle:t,showBackButton:o,showReloadButton:r,showProfileButton:i,backgroundColor:a}}):(void 0!==n&&"undefined"!=typeof document&&(document.title=n),Promise.resolve())},v=null,w=function(e){return"true"===v.result[e]},g=function(e){return Math.floor(e/1e3)},b=function(){return(b=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)};function T(e,n){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&n.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)n.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]])}return t}var E,h=["NovumTracker","OBARGTracker"],A=function(e){return h.indexOf(e.get("name"))>=0},P=function(e){var n=e.onAndroid,t=e.onIos,o=e.onWeb;return"undefined"==typeof window?Promise.resolve():window.AnalyticsWebInterface?n(window.AnalyticsWebInterface):window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.firebase?t(window.webkit.messageHandlers.firebase):window.ga&&window.ga.loaded?o(window.ga):Promise.resolve()},S=function(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")},_={obIds:1,paymentModels:2,serviceWorkerStatus:3,isAdmin:5,hasIpComms:6,af_source:9,af_campaign:10,novum_uid_session:11,user_logged:12,currentSubscriptionId:13,currentSubscriptionType:14,currentPaymentModel:15,webviewBrowserVersion:16,activatedRoles:17,appInstanceId:18,experimentflag:20,friendsApps:24,accountLineSelector:25,OneClickDisplayed:26};e.CD_EVENT_VALUE=8,e.CD_NOVUM_UID=7,e.CD_WEBAPP_INSTALLED=4,e.attachToEmail=function(e){var n=e.url,t=e.subject,o=e.fileName,r=e.recipient,i=e.body;return p({type:"ATTACH_TO_EMAIL",payload:{url:n,subject:t,fileName:o,recipient:r,body:i}})},e.checkPermissionStatus=function(e,n){return p({type:"OS_PERMISSION_STATUS",payload:{feature:e,params:n}}).then(function(e){return e.granted})},e.createCalendarEvent=function(e){var n=e.beginTime,t=e.endTime,o=e.title;return p({type:"CREATE_CALENDAR_EVENT",payload:{beginTime:g(n),endTime:g(t),title:o}})},e.dismiss=function(e){return p({type:"DISMISS",payload:{onCompletionUrl:e}})},e.fetch=function(e){var n=e.url,t=e.method,o=e.headers,r=e.body;return f()?p({type:"FETCH",payload:{url:n,method:t,headers:o,body:r}}).catch(function(){return{status:500,headers:{},body:"Bridge call failed"}}):Promise.resolve({status:500,headers:{},body:"Bridge not available"})},e.fetchContactsByPhone=function(e){return p({type:"FETCH_CONTACTS_DATA",payload:{phoneNumbers:e}})},e.getAppMetadata=function(e){return p({type:"GET_APP_METADATA",payload:{appToken:e}})},e.getCustomerHash=function(){return p({type:"GET_CUSTOMER_HASH"})},e.getDiskSpaceInfo=function(){return p({type:"GET_DISK_SPACE_INFO"})},e.getEsimInfo=function(){return p({type:"GET_ESIM_INFO"}).catch(function(){return{supportsEsim:!1}})},e.getTopazToken=function(e){return void 0===e&&(e={}),p({type:"GET_TOPAZ_TOKEN",payload:{}},e.timeout)},e.highlightNavigationTab=function(e){var n=e.tab,t=e.highlight,o=e.count;return p({type:"HIGHLIGHT_TAB",payload:{tab:n,highlight:t,count:o}})},e.internalNavigation=function(e){return p({type:"INTERNAL_NAVIGATION",payload:{feature:e}})},e.isABTestingAvailable=function(e){if(v)return Promise.resolve(w(e));var n=new Promise(function(e){setTimeout(function(){e(!1)},500)}),t=p({type:"GET_REMOTE_CONFIG"}).then(function(n){return v=n,w(e)});return Promise.race([n,t])},e.isWebViewBridgeAvailable=f,e.logEcommerceEvent=function(e,n){return P({onAndroid:function(t){return t.logEvent&&t.logEvent(e,JSON.stringify(n)),Promise.resolve()},onIos:function(t){return t.postMessage({command:"logEvent",name:e,parameters:n}),Promise.resolve()},onWeb:function(){return Promise.resolve()}})},e.logEvent=function(e){var n,t,o,r,i,a,u=e.name,s=T(e,["name"]);if(u)Object.entries(s).forEach(function(e){var n=function(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,r,i=t.call(e),a=[];try{for(;(void 0===n||n-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return a}(e,2),t=n[0],o=n[1];"string"==typeof o&&(s[t]=S(o))});else{if(!e.category||!e.action)return console.warn('LegacyAnalyticsEvent should have "category" and "action"',{category:e.category,action:e.action}),Promise.resolve();t=(n=e).category,o=n.action,r=n.label,i=n.value,a=T(n,["category","action","label","value"]),r||(r="null_label"),i||(i=0),s=b({eventCategory:t,eventAction:o,eventLabel:S(r),eventValue:i},a),u=e.category}return P({onAndroid:function(e){return e.logEvent&&e.logEvent(u,JSON.stringify(s)),Promise.resolve()},onIos:function(e){return e.postMessage({command:"logEvent",name:u,parameters:s}),Promise.resolve()},onWeb:function(e){return new Promise(function(n){e("NovumTracker.send","event",b(b({},s),{hitCallback:n}))})}})},e.logTiming=function(e){var n=e.category,t=void 0===n?"performance_timer":n,o=e.variable,r=e.value,i=e.label;if(!t||!o||!r)return console.warn('Analytics timing should have "category", "variable" and "value"',{category:t,variable:o,value:r}),Promise.resolve();var a={timingCategory:t,timingVar:o,timingValue:r=Math.round(r),timingLabel:i},u=t;return P({onAndroid:function(e){return e.logEvent&&e.logEvent(u,JSON.stringify(a)),Promise.resolve()},onIos:function(e){return e.postMessage({command:"logEvent",name:u,parameters:a}),Promise.resolve()},onWeb:function(e){return new Promise(function(n){var t;e("NovumTracker.send",b(((t={hitType:"timing",hitCallback:n})["dimension".concat(8)]=String(r),t),a))})}})},e.nativeAlert=function(e){var n=e.message,t=e.title,o=e.buttonText;return f()?p({type:"ALERT",payload:{title:t,message:n,buttonText:o}}):("undefined"!=typeof window&&window.alert(n),Promise.resolve())},e.nativeConfirm=function(e){var n=e.message,t=e.title,o=e.acceptText,r=e.cancelText;return f()?p({type:"CONFIRM",payload:{message:n,title:t,acceptText:o,cancelText:r}}).then(function(e){return e.result}):Promise.resolve("undefined"!=typeof window&&window.confirm(n))},e.nativeMessage=function(e){var n=e.message,t=e.duration,o=e.buttonText,r=e.type;return f()?p({type:"MESSAGE",payload:{message:n,duration:t,buttonText:o,type:r}}):("undefined"!=typeof window&&window.alert(n),Promise.resolve())},e.notifyBridgeReady=function(){return p({type:"BRIDGE_READY"})},e.notifyPageLoaded=function(){return p({type:"PAGE_LOADED"})},e.onNativeEvent=function(e){return y("NATIVE_EVENT",function(n){return{action:e({event:n.event}).action||"default"}})},e.onSessionRenewed=function(e){return y("SESSION_RENEWED",function(n){var t=n.accessToken;return e(t)})},e.renewSession=function(e,n){return void 0===n&&(n={}),p({type:"RENEW_SESSION",payload:{accessToken:e||null}},n.timeout).then(function(e){return e.accessToken})},e.reportStatus=function(e){var n=e.feature,t=e.status,o=e.reason;return p({type:"STATUS_REPORT",payload:{feature:n,status:t,reason:o}})},e.requestContact=function(e){var n=(void 0===e?{}:e).filter;return p({type:"GET_CONTACT_DATA",payload:{filter:void 0===n?"phone":n}})},e.requestDeviceImei=function(){return p({type:"IMEI"},200).then(function(e){return e.imei}).catch(function(){return null})},e.requestSimIcc=function(){return p({type:"SIM_ICC"},200).then(function(e){return e.icc}).catch(function(){return null})},e.requestSimImsi=function(){return p({type:"IMSI"},200).then(function(e){return e.imsi}).catch(function(){return null})},e.requestVibration=function(e){return p({type:"VIBRATION",payload:{type:e}})},e.setActionBehavior=function(e){return p({type:"SET_ACTION_BEHAVIOR",payload:{actions:e}}).catch(function(){})},e.setCustomerHash=function(e){return p({type:"SET_CUSTOMER_HASH",payload:{hash:e}})},e.setLogger=function(e){d=e},e.setScreenName=function(e,n){return e?P({onAndroid:function(n){return n.setScreenName&&n.setScreenName(e),Promise.resolve()},onIos:function(n){return n.postMessage({command:"setScreenName",name:e}),Promise.resolve()},onWeb:function(t){return new Promise(function(o){var r=e.startsWith("/")?e:"/".concat(e);r!==E?(E=r,t(function(){t.getAll().filter(A).forEach(function(e){e.set("page",r),e.send("pageView",b(b({},n),{hitCallback:o}))})})):o()})}}):(console.warn("Missing analytics screenName"),Promise.resolve())},e.setTrackingProperty=function(e,n,t){return p({type:"SET_TRACKING_PROPERTY",payload:{system:e,name:n,value:t}}).catch(function(){})},e.setUserProperty=function(e,n){return e&&n?(n=String(n),P({onAndroid:function(t){return t.setUserProperty&&t.setUserProperty(e,n),Promise.resolve()},onIos:function(t){return t.postMessage({command:"setUserProperty",name:e,value:n}),Promise.resolve()},onWeb:function(t){var o,r=_[e];return r?(t("NovumTracker.set",((o={})["dimension".concat(r)]=String(n),o)),Promise.resolve()):(console.warn("No custom dimension defined for user property",e),Promise.resolve())}})):(console.warn("Trying to set analytics user property without name or value",e,n),Promise.resolve())},e.setWebViewTitle=function(e){return f()?m({title:e}):("undefined"!=typeof document&&(document.title=e),Promise.resolve())},e.share=function(e){return p({type:"SHARE",payload:e})},e.updateNavigationBar=m,Object.defineProperty(e,"__esModule",{value:!0})});
{
"name": "@tef-novum/webview-bridge",
"version": "3.6.0",
"version": "3.7.0",
"description": "JavaScript library to access to native functionality. Requires a webview with a postMessage bridge.",

@@ -5,0 +5,0 @@ "main": "./dist/webview-bridge-cjs.js",

@@ -87,2 +87,5 @@ <p align="center">

- [setActionBehavior](#setActionBehavior)
- [renewSession](#renewSession)
- [onSessionRenewed](#onSessionRenewed)
- [getTopazToken](#getTopazToken)

@@ -779,2 +782,32 @@ ### isWebViewBridgeAvailable

### renewSession
Tell the app to renew the session.
```ts
renewSession = (
oldAccessToken: string | null,
options: {timeout?: number} = {},
) => Promise<string>
```
### onSessionRenewed
Defines a callback that will be executed when the native app renews the session.
Returns the unsubscribe function.
```ts
onSessionRenewed = (
handler: (newAccessToken: string) => void,
) => (() => void)
```
### getTopazToken
Returns the [Topaz](https://www.topaz.com.br/ofd/index.php) token.
```ts
getTopazToken = (options: {timeout?: number} = {}) => Promise<{token: string}>
```
## Error handling

@@ -781,0 +814,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc