@grabjs/superapp-sdk 1.4.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -49,13 +49,12 @@ Each resonse from the native bridge follows the same structure described bellow.
49
49
  | 500 | Internal Error | Unexpected internal error (e.g. failed to serialize response object) |
50
50
 
51
51
  ### Success response example
52
-
53
52
  ```json
54
53
  {
55
54
  "status_code": 200,
56
55
  "result": {
57
- "latitude": 1.234523,
58
- "longitude": 1.4356345
56
+ "latitude": 1.234567,
57
+ "longitude": -1.234567
59
58
  }
60
59
  }
61
60
  ```
@@ -68,3 +67,6 @@ Each resonse from the native bridge follows the same structure described bellow.
68
67
  "error": "Client doesn't have access to method \"getLocation\" in module \"LocationModule\""
69
68
  }
70
69
  ```
70
+ ---
71
+ * **GDMCOMMENT:** Latitudes and longitudes used in this file are either sourced from GrabPlaces, GrabMaps, OSM or randomly created by the developer and are not obtained from other external sources.
72
+
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self).SuperAppSDK={})}(this,function(e){"use strict";function n(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function t(e,n){for(var o=0;o<n.length;o++){var t=n[o];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function o(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var r,u,i=(function(e,n){function a(e){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];if(!e)return!1;var t=function(e){return Object.keys(e).concat(Object.getOwnPropertyNames(Object.getPrototypeOf(e)))}(e);return n.every(function(e){return 0<=t.indexOf(e)})}function l(r,e){var u=e.callbackNameFunc,i=e.funcToWrap;return function(e){return{subscribe:e,then:function(t,r){return new Promise(function(){try{var n=null,o=!1;n=e({next:function(e){t&&t(e),n&&n.unsubscribe(),o=!0}}),o&&n&&n.unsubscribe()}catch(e){r&&r(e)}})}}}(function(o){var n,t=u();return r[t]=function(e){if(a(e,"status_code"))if(a(e.result,"event"))switch(e.result.event){case d.StreamEvent.STREAM_TERMINATED:n.unsubscribe()}else o&&o.next&&o.next(e)},i(t),n=function(e){var n=!1;return{isUnsubscribed:function(){return n},unsubscribe:function(){n||(delete r[t],o&&o.complete&&o.complete(),n=!0)}}}()})}var d;((d=n).StreamEvent||(d.StreamEvent={})).STREAM_TERMINATED="STREAM_TERMINATED",d.wrapModule=function(u,i){u[function(e){return"Wrapped"+e}(i)]=function(e,t,n){var r={};return{invoke:function(n,o){return function(e,n){return n.funcNameToWrap,l(e,function(e,n){var o={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(o[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)n.indexOf(t[r])<0&&(o[t[r]]=e[t[r]])}return o}(n,["funcNameToWrap"]))}(e,{funcNameToWrap:n,callbackNameFunc:function(){var e=r[n]||0;return r[n]=e+1,function(e){var n=e.moduleName,o=e.funcName,t=e.requestID;return n+"_"+o+"Callback"+(null!==t?"_"+t:"")}({moduleName:t,requestID:e,funcName:n})},funcToWrap:function(e){return function(e){if(u[i])u[i][e.method](JSON.stringify(e));else{if(!(u.webkit&&u.webkit.messageHandlers&&u.webkit.messageHandlers[i]))throw new Error("Unexpected method '"+e.method+"' for module '"+i+"'");u.webkit.messageHandlers[i].postMessage(e)}}({callback:e,method:n,parameters:null!=o?o:{}})}})}}}(u,i)},Object.defineProperty(d,"__esModule",{value:!0})}(r={exports:{}},r.exports),r.exports),a=(u=i)&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u,l=function(){function e(){n(this,e),a.wrapModule(window,"LocaleModule")}return o(e,[{key:"getLanguageLocaleIdentifier",value:function(){return window.WrappedLocaleModule.invoke("getLanguageLocaleIdentifier")}}]),e}(),d=function(){function e(){n(this,e),a.wrapModule(window,"LocationModule")}return o(e,[{key:"getCoordinate",value:function(){return window.WrappedLocationModule.invoke("getCoordinate")}},{key:"observeLocationChange",value:function(){return window.WrappedLocationModule.invoke("observeLocationChange")}}]),e}(),c=function(){function e(){n(this,e),a.wrapModule(window,"MediaModule")}return o(e,[{key:"playDRMContent",value:function(e){return window.WrappedMediaModule.invoke("playDRMContent",{data:e})}}]),e}(),f=require("@grabjs/mobile-kit-bridge-sdk"),p=function(){function e(){n(this,e),f.wrapModule(window,"PlatformModule")}return o(e,[{key:"back",value:function(){return window.WrappedPlatformModule.invoke("back")}}]),e}(),s=function(){function e(){n(this,e),a.wrapModule(window,"ScopeModule")}return o(e,[{key:"hasAccessTo",value:function(e,n){return window.WrappedScopeModule.invoke("hasAccessTo",{module:e,method:n})}},{key:"reloadScopes",value:function(){return window.WrappedScopeModule.invoke("reloadScopes")}}]),e}(),w=require("@grabjs/mobile-kit-bridge-sdk"),v=function(){function e(){n(this,e),w.wrapModule(window,"StorageModule")}return o(e,[{key:"setBoolean",value:function(e,n){return window.WrappedStorageModule.invoke("setBoolean",{key:e,value:n})}},{key:"getBoolean",value:function(e){return window.WrappedStorageModule.invoke("getBoolean",{key:e})}},{key:"setInt",value:function(e,n){return window.WrappedStorageModule.invoke("setInt",{key:e,value:n})}},{key:"getInt",value:function(e){return window.WrappedStorageModule.invoke("getInt",{key:e})}},{key:"setString",value:function(e,n){return window.WrappedStorageModule.invoke("setString",{key:e,value:n})}},{key:"getString",value:function(e){return window.WrappedStorageModule.invoke("getString",{key:e})}},{key:"setDouble",value:function(e,n){return window.WrappedStorageModule.invoke("setDouble",{key:e,value:n})}},{key:"getDouble",value:function(e){return window.WrappedStorageModule.invoke("getDouble",{key:e})}},{key:"remove",value:function(e){return window.WrappedStorageModule.invoke("remove",{key:e})}},{key:"removeAll",value:function(){return window.WrappedStorageModule.invoke("removeAll")}}]),e}();e.LocaleModule=l,e.LocationModule=d,e.MediaModule=c,e.PlatformModule=p,e.ScopeModule=s,e.StorageModule=v,Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self).SuperAppSDK={})}(this,function(e){"use strict";function n(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function t(e,n){for(var o=0;o<n.length;o++){var t=n[o];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function o(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}var r=require("@grabjs/mobile-kit-bridge-sdk"),u=function(){function e(){n(this,e),r.wrapModule(window,"ContainerModule")}return o(e,[{key:"setHeaderBackgroundColor",value:function(e){return window.WrappedContainerModule.invoke("setHeaderBackgroundColor",{backgroundColor:e})}},{key:"setHeaderTitle",value:function(e){return window.WrappedContainerModule.invoke("setHeaderTitle",{title:e})}},{key:"setShareUrl",value:function(e){return window.WrappedContainerModule.invoke("setShareUrl",{url:e})}}]),e}();"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var i,a,l=(function(e,n){function a(e){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];if(!e)return!1;var t=function(e){return Object.keys(e).concat(Object.getOwnPropertyNames(Object.getPrototypeOf(e)))}(e);return n.every(function(e){return 0<=t.indexOf(e)})}function l(r,e){var u=e.callbackNameFunc,i=e.funcToWrap;return function(e){return{subscribe:e,then:function(t,r){return new Promise(function(){try{var n=null,o=!1;n=e({next:function(e){t&&t(e),n&&n.unsubscribe(),o=!0}}),o&&n&&n.unsubscribe()}catch(e){r&&r(e)}})}}}(function(o){var n,t=u();return r[t]=function(e){if(a(e,"status_code"))if(a(e.result,"event"))switch(e.result.event){case d.StreamEvent.STREAM_TERMINATED:n.unsubscribe()}else o&&o.next&&o.next(e)},i(t),n=function(e){var n=!1;return{isUnsubscribed:function(){return n},unsubscribe:function(){n||(delete r[t],o&&o.complete&&o.complete(),n=!0)}}}()})}var d;((d=n).StreamEvent||(d.StreamEvent={})).STREAM_TERMINATED="STREAM_TERMINATED",d.wrapModule=function(u,i){u[function(e){return"Wrapped"+e}(i)]=function(e,t,n){var r={};return{invoke:function(n,o){return function(e,n){return n.funcNameToWrap,l(e,function(e,n){var o={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(o[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)n.indexOf(t[r])<0&&(o[t[r]]=e[t[r]])}return o}(n,["funcNameToWrap"]))}(e,{funcNameToWrap:n,callbackNameFunc:function(){var e=r[n]||0;return r[n]=e+1,function(e){var n=e.moduleName,o=e.funcName,t=e.requestID;return n+"_"+o+"Callback"+(null!==t?"_"+t:"")}({moduleName:t,requestID:e,funcName:n})},funcToWrap:function(e){return function(e){if(u[i])u[i][e.method](JSON.stringify(e));else{if(!(u.webkit&&u.webkit.messageHandlers&&u.webkit.messageHandlers[i]))throw new Error("Unexpected method '"+e.method+"' for module '"+i+"'");u.webkit.messageHandlers[i].postMessage(e)}}({callback:e,method:n,module:t,parameters:null!=o?o:{}})}})}}}(u,i)},Object.defineProperty(d,"__esModule",{value:!0})}(i={exports:{}},i.exports),i.exports),d=(a=l)&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a,c=function(){function e(){n(this,e),d.wrapModule(window,"LocaleModule")}return o(e,[{key:"getLanguageLocaleIdentifier",value:function(){return window.WrappedLocaleModule.invoke("getLanguageLocaleIdentifier")}}]),e}(),f=function(){function e(){n(this,e),d.wrapModule(window,"LocationModule")}return o(e,[{key:"getCoordinate",value:function(){return window.WrappedLocationModule.invoke("getCoordinate")}},{key:"observeLocationChange",value:function(){return window.WrappedLocationModule.invoke("observeLocationChange")}}]),e}(),s=function(){function e(){n(this,e),d.wrapModule(window,"MediaModule")}return o(e,[{key:"playDRMContent",value:function(e){return window.WrappedMediaModule.invoke("playDRMContent",{data:e})}}]),e}(),p=require("@grabjs/mobile-kit-bridge-sdk"),w=function(){function e(){n(this,e),p.wrapModule(window,"PlatformModule")}return o(e,[{key:"back",value:function(){return window.WrappedPlatformModule.invoke("back")}}]),e}(),v=function(){function e(){n(this,e),d.wrapModule(window,"ScopeModule")}return o(e,[{key:"hasAccessTo",value:function(e,n){return window.WrappedScopeModule.invoke("hasAccessTo",{module:e,method:n})}},{key:"reloadScopes",value:function(){return window.WrappedScopeModule.invoke("reloadScopes")}}]),e}(),k=require("@grabjs/mobile-kit-bridge-sdk"),g=function(){function e(){n(this,e),k.wrapModule(window,"StorageModule")}return o(e,[{key:"setBoolean",value:function(e,n){return window.WrappedStorageModule.invoke("setBoolean",{key:e,value:n})}},{key:"getBoolean",value:function(e){return window.WrappedStorageModule.invoke("getBoolean",{key:e})}},{key:"setInt",value:function(e,n){return window.WrappedStorageModule.invoke("setInt",{key:e,value:n})}},{key:"getInt",value:function(e){return window.WrappedStorageModule.invoke("getInt",{key:e})}},{key:"setString",value:function(e,n){return window.WrappedStorageModule.invoke("setString",{key:e,value:n})}},{key:"getString",value:function(e){return window.WrappedStorageModule.invoke("getString",{key:e})}},{key:"setDouble",value:function(e,n){return window.WrappedStorageModule.invoke("setDouble",{key:e,value:n})}},{key:"getDouble",value:function(e){return window.WrappedStorageModule.invoke("getDouble",{key:e})}},{key:"remove",value:function(e){return window.WrappedStorageModule.invoke("remove",{key:e})}},{key:"removeAll",value:function(){return window.WrappedStorageModule.invoke("removeAll")}}]),e}();e.ContainerModule=u,e.LocaleModule=c,e.LocationModule=f,e.MediaModule=s,e.PlatformModule=w,e.ScopeModule=v,e.StorageModule=g,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -0,0 +1,102 @@
1
+ # ContainerModule
2
+
3
+ ## Description
4
+
5
+ Provides APIs to interract with the webview container.
6
+
7
+ ## Methods
8
+
9
+ ### 1. Set header background color
10
+
11
+ **Method name**: `setHeaderBackgroundColor`
12
+
13
+ **Arguments**
14
+
15
+ | Name | Type | Description |
16
+ | --------------- | ------ | ----------------------- |
17
+ | backgroundColor | String | Hexadecimal color value |
18
+
19
+ **Return type**
20
+
21
+ `None`
22
+
23
+ **Code example**
24
+
25
+ ```javascript
26
+ import { ContainerModule } from "@grabjs/superapp-sdk";
27
+
28
+ // Ideally, initialize this only one and reuse across app.
29
+ const containerModule = new ContainerModule();
30
+
31
+ containerModule
32
+ .setHeaderBackgroundColor("#ffffff")
33
+ .then(({ result, error }) => {
34
+ if (result) {
35
+ // There is a valid result.
36
+ } else if (error) {
37
+ // Some error happened.
38
+ }
39
+ });
40
+ ```
41
+
42
+ ### 2. Set header title
43
+
44
+ **Method name**: `setHeaderTitle`
45
+
46
+ **Arguments**
47
+
48
+ | Name | Type | Description |
49
+ | ----- | ------ | ----------------- |
50
+ | title | String | Title of the page |
51
+
52
+ **Return type**
53
+
54
+ `None`
55
+
56
+ **Code example**
57
+
58
+ ```javascript
59
+ import { ContainerModule } from "@grabjs/superapp-sdk";
60
+
61
+ // Ideally, initialize this only one and reuse across app.
62
+ const containerModule = new ContainerModule();
63
+
64
+ containerModule.setHeaderTitle("Home").then(({ result, error }) => {
65
+ if (result) {
66
+ // There is a valid result.
67
+ } else if (error) {
68
+ // Some error happened.
69
+ }
70
+ });
71
+ ```
72
+
73
+ ### 3. Set share URL
74
+
75
+ **Method name**: `setShareURL`
76
+
77
+ **Arguments**
78
+
79
+ | Name | Type | Description |
80
+ | ---- | ------ | ----------------------- |
81
+ | url | String | URL of the current page |
82
+
83
+ **Return type**
84
+
85
+ `None`
86
+
87
+ **Code example**
88
+
89
+ ```javascript
90
+ import { ContainerModule } from "@grabjs/superapp-sdk";
91
+
92
+ // Ideally, initialize this only one and reuse across app.
93
+ const containerModule = new ContainerModule();
94
+
95
+ containerModule.setShareURL("https://grab.com/").then(({ result, error }) => {
96
+ if (result) {
97
+ // There is a valid result.
98
+ } else if (error) {
99
+ // Some error happened.
100
+ }
101
+ });
102
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grabjs/superapp-sdk",
3
- "version": "1.4.1",
3
+ "version": "1.6.0",
4
4
  "description": "SDK for Grab SuperApp WebView.",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "homepage": "https://github.com/grab/superapp-sdk#readme",
36
36
  "dependencies": {
37
- "@grabjs/mobile-kit-bridge-sdk": "^1.0.0"
37
+ "@grabjs/mobile-kit-bridge-sdk": "^1.1.1"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@babel/core": "^7.4.3",