esewa-ui-library 1.10.5 → 1.10.7

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
@@ -1623,6 +1623,8 @@ This library provides a set of services that allow interaction between the merch
1623
1623
  - [Media Access Request](#media-access-request)
1624
1624
  - [Validate Payment](#validate-payment)
1625
1625
  - [Request Payment](#request-payment)
1626
+ - [Close App](#close-app)
1627
+ - [Request File Download](#request-file-download)
1626
1628
  - [Error Handling](#error-handling)
1627
1629
 
1628
1630
  ## Initialization
@@ -1864,6 +1866,106 @@ const onRequestPaymentClick = () => {
1864
1866
  };
1865
1867
  ```
1866
1868
 
1869
+ #### Close App
1870
+
1871
+ Pass the following to close the app.
1872
+
1873
+ ```tsx
1874
+ const onCloseRequestClick = () => {
1875
+ const obj: REQUEST_DATA_TYPE = {
1876
+ requestType: REQUEST_TYPE_ENUM.CLOSE_APP,
1877
+ callbackKey: CALLBACK_TYPE_ENUM.CLOSE_APP_CALLBACK
1878
+ }
1879
+
1880
+ requestFromMiniApp(
1881
+ obj
1882
+ )
1883
+ }
1884
+ ```
1885
+
1886
+ #### Request File Download
1887
+
1888
+ Pass the following to request file download.
1889
+
1890
+ **1. Link Type file download request**
1891
+
1892
+ const onPdfDownloadRequestClick = () => {
1893
+ const obj: REQUEST_DATA_TYPE = {
1894
+ requestType: REQUEST_TYPE_ENUM.FILE_DOWNLOAD,
1895
+ callbackKey: CALLBACK_TYPE_ENUM.FILE_DOWNLOAD_CALLBACK,
1896
+ data: {
1897
+ fileName: 'Statement-2025.pdf',
1898
+ type: 'url',
1899
+ content: 'https://www.aeee.in/wp-content/uploads/2020/08/Sample-pdf.pdf' //pass file url
1900
+ }
1901
+ }
1902
+
1903
+ const fileDownloadCallBack: any = (data: any) => {
1904
+ try{
1905
+ if (!data) {
1906
+ throw new Error('Received null or undefined response')
1907
+ }
1908
+ const res = data
1909
+ if (res?.error_message) { //fail case
1910
+ throw new Error('Error res', res.error_message)
1911
+ }
1912
+ else{
1913
+ console.log(res.message) //success case
1914
+ }
1915
+ }
1916
+ catch (error) {
1917
+ console.error('Error parsing response:', error)
1918
+ }
1919
+ }
1920
+
1921
+ requestFromMiniApp(
1922
+ obj,
1923
+ fileDownloadCallBack
1924
+ )
1925
+ }
1926
+
1927
+ **2. Base64 Encoded Type file download request**
1928
+
1929
+ const onPdfDownloadRequestClick = () => {
1930
+ const response = await fetch('/base64.txt');
1931
+ const content = await response.text(); //encoded pdf content/response from api
1932
+ let base64Content = content.includes(',')
1933
+ ? content
1934
+ : `data:application/pdf;base64,${content}`;
1935
+ const obj: REQUEST_DATA_TYPE = {
1936
+ requestType: REQUEST_TYPE_ENUM.FILE_DOWNLOAD,
1937
+ callbackKey: CALLBACK_TYPE_ENUM.FILE_DOWNLOAD_CALLBACK,
1938
+ data: {
1939
+ fileName: 'Statement-base64-2025.pdf',
1940
+ type: 'base64',
1941
+ content: base64Content
1942
+ }
1943
+ }
1944
+
1945
+ const fileDownloadCallBack: any = (data: any) => {
1946
+ try{
1947
+ if (!data) {
1948
+ throw new Error('Received null or undefined response')
1949
+ }
1950
+ const res = data
1951
+ if (res?.error_message) { //fail case
1952
+ throw new Error('Error res', res.error_message)
1953
+ }
1954
+ else{
1955
+ console.log(res.message) //success case
1956
+ }
1957
+ }
1958
+ catch (error) {
1959
+ console.error('Error parsing response:', error)
1960
+ }
1961
+ }
1962
+
1963
+ requestFromMiniApp(
1964
+ obj,
1965
+ fileDownloadCallBack
1966
+ )
1967
+ }
1968
+
1867
1969
  ## Error Handling
1868
1970
 
1869
1971
  Errors are returned as JSON responses with an `error_message` field.
@@ -1910,7 +2012,9 @@ enum REQUEST_TYPE_ENUM {
1910
2012
  USER_DETAIL_ACCESS = 'USER_DETAIL_ACCESS',
1911
2013
  MEDIA_ACCESS = 'MEDIA_ACCESS',
1912
2014
  LOCATION_ACCESS = 'LOCATION_ACCESS',
1913
- VALIDATE_TRANSACTION = 'VALIDATE_TRANSACTION'
2015
+ VALIDATE_TRANSACTION = 'VALIDATE_TRANSACTION',
2016
+ CLOSE_APP = 'CLOSE_APP',
2017
+ FILE_DOWNLOAD = 'FILE_DOWNLOAD'
1914
2018
  }
1915
2019
  ```
1916
2020
 
@@ -1927,7 +2031,9 @@ enum CALLBACK_TYPE_ENUM{
1927
2031
  USER_DETAIL_ACCESS_CALLBACK = 'USER_DETAIL_ACCESS_CALLBACK',
1928
2032
  MEDIA_ACCESS_CALLBACK = 'MEDIA_ACCESS_CALLBACK',
1929
2033
  LOCATION_ACCESS_CALLBACK = 'LOCATION_ACCESS_CALLBACK',
1930
- VALIDATE_TRANSACTION_CALLBACK = 'VALIDATE_TRANSACTION_CALLBACK'
2034
+ VALIDATE_TRANSACTION_CALLBACK = 'VALIDATE_TRANSACTION_CALLBACK',
2035
+ CLOSE_APP_CALLBACK = 'CLOSE_APP_CALLBACK',
2036
+ FILE_DOWNLOAD_CALLBACK = 'FILE_DOWNLOAD_CALLBACK'
1931
2037
  }
1932
2038
  ```
1933
2039
 
@@ -4,7 +4,9 @@ export declare enum REQUEST_TYPE_ENUM {
4
4
  USER_DETAIL_ACCESS = "USER_DETAIL_ACCESS",
5
5
  MEDIA_ACCESS = "MEDIA_ACCESS",
6
6
  LOCATION_ACCESS = "LOCATION_ACCESS",
7
- VALIDATE_TRANSACTION = "VALIDATE_TRANSACTION"
7
+ VALIDATE_TRANSACTION = "VALIDATE_TRANSACTION",
8
+ CLOSE_APP = "CLOSE_APP",
9
+ FILE_DOWNLOAD = "FILE_DOWNLOAD"
8
10
  }
9
11
  export declare enum CALLBACK_TYPE_ENUM {
10
12
  INIT_APP_CALLBACK = "INIT_APP_CALLBACK",
@@ -12,7 +14,9 @@ export declare enum CALLBACK_TYPE_ENUM {
12
14
  USER_DETAIL_ACCESS_CALLBACK = "USER_DETAIL_ACCESS_CALLBACK",
13
15
  MEDIA_ACCESS_CALLBACK = "MEDIA_ACCESS_CALLBACK",
14
16
  LOCATION_ACCESS_CALLBACK = "LOCATION_ACCESS_CALLBACK",
15
- VALIDATE_TRANSACTION_CALLBACK = "VALIDATE_TRANSACTION_CALLBACK"
17
+ VALIDATE_TRANSACTION_CALLBACK = "VALIDATE_TRANSACTION_CALLBACK",
18
+ CLOSE_APP_CALLBACK = "CLOSE_APP_CALLBACK",
19
+ FILE_DOWNLOAD_CALLBACK = "FILE_DOWNLOAD_CALLBACK"
16
20
  }
17
21
  export interface MINI_APP_RESPONSE_TYPE {
18
22
  requestType: string;
@@ -24,7 +28,7 @@ export interface REQUEST_DATA_TYPE {
24
28
  device_unique_id?: string;
25
29
  merchant_identifier?: string;
26
30
  vendorIdentifier?: any;
27
- requestType: REQUEST_TYPE_ENUM;
31
+ requestType?: REQUEST_TYPE_ENUM;
28
32
  method?: 'GET' | 'POST';
29
33
  data?: any;
30
34
  callbackKey?: string;
@@ -44,6 +48,8 @@ declare global {
44
48
  MEDIA_ACCESS_CALLBACK?: Callback | null;
45
49
  LOCATION_ACCESS_CALLBACK?: Callback | null;
46
50
  VALIDATE_TRANSACTION_CALLBACK?: Callback | null;
51
+ CLOSE_APP_CALLBACK?: Callback | null;
52
+ FILE_DOWNLOAD_CALLBACK?: Callback | null;
47
53
  };
48
54
  iOSNative: {
49
55
  INIT_APP_CALLBACK?: Callback | null;
@@ -52,6 +58,8 @@ declare global {
52
58
  MEDIA_ACCESS_CALLBACK?: Callback | null;
53
59
  LOCATION_ACCESS_CALLBACK?: Callback | null;
54
60
  VALIDATE_TRANSACTION_CALLBACK?: Callback | null;
61
+ CLOSE_APP_CALLBACK?: Callback | null;
62
+ FILE_DOWNLOAD_CALLBACK?: Callback | null;
55
63
  };
56
64
  webkit: {
57
65
  messageHandlers: {
package/dist/index.js CHANGED
@@ -7749,15 +7749,17 @@ var CONNECT_APP = function CONNECT_APP(data) {
7749
7749
  };
7750
7750
  var requestFromMiniApp = function requestFromMiniApp(data, callbackFn) {
7751
7751
  var callbackKey = data.callbackKey;
7752
- if (!callbackKey) {
7752
+ if (callbackFn && !callbackKey) {
7753
7753
  throw new Error('Callback key is missing in request data');
7754
7754
  }
7755
- if (isAndroid) {
7756
- window.Android = window.Android || {};
7757
- window.Android[callbackKey] = callbackFn;
7758
- } else if (isiOS) {
7759
- window.iOSNative = window.iOSNative || {};
7760
- window.iOSNative[callbackKey] = callbackFn;
7755
+ if (callbackFn) {
7756
+ if (isAndroid) {
7757
+ window.Android = window.Android || {};
7758
+ window.Android[callbackKey] = callbackFn;
7759
+ } else if (isiOS) {
7760
+ window.iOSNative = window.iOSNative || {};
7761
+ window.iOSNative[callbackKey] = callbackFn;
7762
+ }
7761
7763
  }
7762
7764
  CONNECT_APP(JSON.stringify(data));
7763
7765
  };
@@ -7811,6 +7813,8 @@ var reverseSnakeCase = function reverseSnakeCase(str) {
7811
7813
  REQUEST_TYPE_ENUM["MEDIA_ACCESS"] = "MEDIA_ACCESS";
7812
7814
  REQUEST_TYPE_ENUM["LOCATION_ACCESS"] = "LOCATION_ACCESS";
7813
7815
  REQUEST_TYPE_ENUM["VALIDATE_TRANSACTION"] = "VALIDATE_TRANSACTION";
7816
+ REQUEST_TYPE_ENUM["CLOSE_APP"] = "CLOSE_APP";
7817
+ REQUEST_TYPE_ENUM["FILE_DOWNLOAD"] = "FILE_DOWNLOAD";
7814
7818
  })(exports.REQUEST_TYPE_ENUM || (exports.REQUEST_TYPE_ENUM = {}));
7815
7819
  (function (CALLBACK_TYPE_ENUM) {
7816
7820
  CALLBACK_TYPE_ENUM["INIT_APP_CALLBACK"] = "INIT_APP_CALLBACK";
@@ -7819,6 +7823,8 @@ var reverseSnakeCase = function reverseSnakeCase(str) {
7819
7823
  CALLBACK_TYPE_ENUM["MEDIA_ACCESS_CALLBACK"] = "MEDIA_ACCESS_CALLBACK";
7820
7824
  CALLBACK_TYPE_ENUM["LOCATION_ACCESS_CALLBACK"] = "LOCATION_ACCESS_CALLBACK";
7821
7825
  CALLBACK_TYPE_ENUM["VALIDATE_TRANSACTION_CALLBACK"] = "VALIDATE_TRANSACTION_CALLBACK";
7826
+ CALLBACK_TYPE_ENUM["CLOSE_APP_CALLBACK"] = "CLOSE_APP_CALLBACK";
7827
+ CALLBACK_TYPE_ENUM["FILE_DOWNLOAD_CALLBACK"] = "FILE_DOWNLOAD_CALLBACK";
7822
7828
  })(exports.CALLBACK_TYPE_ENUM || (exports.CALLBACK_TYPE_ENUM = {}));
7823
7829
 
7824
7830
  var _templateObject$o;