My client has developed their own app using Chromium, with a navigator.appVersion of AppleWebkit/534+
https://i.sstatic.net/zEZy6.jpg
To my surprise, they have replaced the standard JavaScript built-in objects with their own version. For instance, take a look at their custom Map implementation below:
Their Map object includes methods like:
arr:Array[0]
isEmpty:function
remove:function
However, it lacks the standard Map methods such as has
, keys
, and values
. You can compare it to the standard Map object documentation here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map (By the way, we require a Map object here instead of a plain JavaScript object because we need the keys to be something other than strings)
I am intrigued by how they managed to achieve this. What could be the reason behind such customization?
And more importantly, how can I revert back to the default built-in version?