fk-platform-sdk 1.0.2 → 1.0.3-7.beta4

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.
Files changed (127) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/analytics/index.js +1 -0
  3. package/dist/FKPlatform.js +1 -2
  4. package/dist/analytics/Bill.d.ts +31 -0
  5. package/dist/analytics/Bill.js +103 -0
  6. package/dist/analytics/Cab.d.ts +26 -0
  7. package/dist/analytics/Cab.js +66 -0
  8. package/dist/analytics/EventValidator.d.ts +6 -0
  9. package/dist/analytics/EventValidator.js +15 -0
  10. package/dist/analytics/FoodDelivery.d.ts +45 -0
  11. package/dist/analytics/FoodDelivery.js +131 -0
  12. package/dist/analytics/FoodDish.d.ts +7 -0
  13. package/dist/analytics/FoodDish.js +12 -0
  14. package/dist/analytics/Healthcare.d.ts +131 -0
  15. package/dist/analytics/Healthcare.js +231 -0
  16. package/dist/analytics/Person.d.ts +6 -0
  17. package/dist/analytics/Person.js +11 -0
  18. package/dist/analytics/Recharge.d.ts +27 -0
  19. package/dist/analytics/Recharge.js +82 -0
  20. package/dist/analytics/ShowTicket.d.ts +36 -0
  21. package/dist/analytics/ShowTicket.js +97 -0
  22. package/dist/analytics/Travel.d.ts +45 -0
  23. package/dist/analytics/Travel.js +126 -0
  24. package/dist/analytics/index.d.ts +8 -0
  25. package/dist/analytics/index.js +16 -0
  26. package/dist/analytics/interfaces/AnalyticsEvent.d.ts +5 -0
  27. package/dist/analytics/interfaces/AnalyticsEvent.js +13 -0
  28. package/dist/analytics/interfaces/AnalyticsHelper.d.ts +61 -0
  29. package/dist/analytics/interfaces/AnalyticsModule.d.ts +5 -0
  30. package/dist/analytics/validation/ValidationMetadata.d.ts +10 -0
  31. package/dist/analytics/validation/ValidationTypes.d.ts +6 -0
  32. package/dist/analytics/validation/ValidationTypes.js +12 -0
  33. package/dist/analytics/validation/Validator.d.ts +3 -0
  34. package/dist/analytics/validation/Validator.js +38 -0
  35. package/dist/analytics/validation/decorators.d.ts +16 -0
  36. package/dist/analytics/validation/decorators.js +67 -0
  37. package/dist/analytics/web/bill-index.d.ts +1 -0
  38. package/dist/analytics/web/bill-index.js +4 -0
  39. package/dist/analytics/web/cab-index.d.ts +1 -0
  40. package/dist/analytics/web/cab-index.js +4 -0
  41. package/dist/analytics/web/food-delivery-index.d.ts +1 -0
  42. package/dist/analytics/web/food-delivery-index.js +4 -0
  43. package/dist/analytics/web/recharge-index.d.ts +1 -0
  44. package/dist/analytics/web/recharge-index.js +4 -0
  45. package/dist/analytics/web/ticket-index.d.ts +1 -0
  46. package/dist/analytics/web/ticket-index.js +4 -0
  47. package/dist/analytics/web/travel-index.d.ts +1 -0
  48. package/dist/analytics/web/travel-index.js +4 -0
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.js +2 -2
  51. package/dist/interfaces/FKExtension.d.ts +2 -0
  52. package/dist/interfaces/FKWindow.d.ts +4 -0
  53. package/dist/interfaces/NativeModuleManagerProvider.d.ts +12 -8
  54. package/dist/interfaces/modules/AppVersionModule.d.ts +5 -0
  55. package/dist/interfaces/{ContactsModule.d.ts → modules/ContactsModule.d.ts} +5 -2
  56. package/dist/interfaces/modules/DownloaderModule.d.ts +5 -0
  57. package/dist/interfaces/modules/FontModule.d.ts +5 -0
  58. package/dist/interfaces/modules/FontModule.js +2 -0
  59. package/dist/interfaces/modules/GenericUltraShareModule.d.ts +5 -0
  60. package/dist/interfaces/modules/GenericUltraShareModule.js +2 -0
  61. package/dist/interfaces/modules/LocationModule.d.ts +7 -0
  62. package/dist/interfaces/modules/LocationModule.js +2 -0
  63. package/dist/interfaces/modules/NavigationModule.js +2 -0
  64. package/dist/interfaces/modules/PermissionsModule.d.ts +18 -0
  65. package/dist/interfaces/modules/SMSModule.d.ts +5 -0
  66. package/dist/interfaces/modules/SMSModule.js +2 -0
  67. package/dist/managers/ModuleManager.d.ts +17 -3
  68. package/dist/managers/ModuleManager.js +42 -0
  69. package/dist/managers/NativeModuleCallbackManager.js +17 -12
  70. package/dist/managers/{modules/NativeModuleManager.d.ts → NativeModuleHelper.d.ts} +9 -5
  71. package/dist/managers/NativeModuleHelper.js +65 -0
  72. package/dist/modules/AnalyticsModuleImpl.d.ts +9 -0
  73. package/dist/modules/AnalyticsModuleImpl.js +54 -0
  74. package/dist/modules/AppVersionModuleImpl.d.ts +9 -0
  75. package/dist/modules/AppVersionModuleImpl.js +30 -0
  76. package/dist/modules/AuthModuleImpl.d.ts +2 -3
  77. package/dist/modules/AuthModuleImpl.js +7 -4
  78. package/dist/modules/ContactsModuleImpl.d.ts +3 -4
  79. package/dist/modules/ContactsModuleImpl.js +12 -5
  80. package/dist/modules/DownloaderModuleImpl.d.ts +9 -0
  81. package/dist/modules/DownloaderModuleImpl.js +32 -0
  82. package/dist/modules/FontModuleImpl.d.ts +9 -0
  83. package/dist/modules/FontModuleImpl.js +32 -0
  84. package/dist/modules/LocationModuleImpl.d.ts +11 -0
  85. package/dist/modules/LocationModuleImpl.js +40 -0
  86. package/dist/modules/NavigationModuleImpl.d.ts +3 -4
  87. package/dist/modules/NavigationModuleImpl.js +25 -11
  88. package/dist/modules/PermissionsModuleImpl.d.ts +3 -4
  89. package/dist/modules/PermissionsModuleImpl.js +12 -8
  90. package/dist/modules/SMSModuleImpl.d.ts +9 -0
  91. package/dist/modules/SMSModuleImpl.js +30 -0
  92. package/dist/modules/ShareModuleImpl.d.ts +9 -0
  93. package/dist/modules/ShareModuleImpl.js +33 -0
  94. package/dist/private/tracking-setup-index.js +12 -5
  95. package/dist/setup/SetupHelper.d.ts +16 -0
  96. package/dist/setup/SetupHelper.js +218 -0
  97. package/dist/types/AppVersionManagerResponse.d.ts +3 -0
  98. package/dist/types/AppVersionManagerResponse.js +2 -0
  99. package/dist/types/DeviceInfoResponse.d.ts +3 -0
  100. package/dist/types/DeviceInfoResponse.js +2 -0
  101. package/dist/types/DownloadManagerResponse.d.ts +3 -0
  102. package/dist/types/DownloadManagerResponse.js +2 -0
  103. package/dist/types/FontsManagerResponse.d.ts +3 -0
  104. package/dist/types/FontsManagerResponse.js +2 -0
  105. package/dist/types/GenericShareManagerResponse.d.ts +3 -0
  106. package/dist/types/GenericShareManagerResponse.js +2 -0
  107. package/dist/types/LocationManagerResponse.d.ts +3 -0
  108. package/dist/types/LocationManagerResponse.js +2 -0
  109. package/dist/types/SMSManagerResponse.d.ts +3 -0
  110. package/dist/types/SMSManagerResponse.js +2 -0
  111. package/dist/web/index.d.ts +1 -1
  112. package/dist/web/index.js +2 -2
  113. package/package.json +2 -1
  114. package/dist/interfaces/PermissionsModule.d.ts +0 -9
  115. package/dist/managers/modules/AuthModuleManager.d.ts +0 -4
  116. package/dist/managers/modules/ContactsModuleManager.d.ts +0 -9
  117. package/dist/managers/modules/NativeModuleManager.js +0 -30
  118. package/dist/managers/modules/NavigationModuleManager.d.ts +0 -10
  119. package/dist/managers/modules/PermissionsModuleManager.d.ts +0 -14
  120. /package/dist/{interfaces/ContactsModule.js → analytics/interfaces/AnalyticsHelper.js} +0 -0
  121. /package/dist/{interfaces/NavigationModule.js → analytics/interfaces/AnalyticsModule.js} +0 -0
  122. /package/dist/{interfaces/PermissionsModule.js → analytics/validation/ValidationMetadata.js} +0 -0
  123. /package/dist/{managers/modules/AuthModuleManager.js → interfaces/modules/AppVersionModule.js} +0 -0
  124. /package/dist/{managers/modules/ContactsModuleManager.js → interfaces/modules/ContactsModule.js} +0 -0
  125. /package/dist/{managers/modules/NavigationModuleManager.js → interfaces/modules/DownloaderModule.js} +0 -0
  126. /package/dist/interfaces/{NavigationModule.d.ts → modules/NavigationModule.d.ts} +0 -0
  127. /package/dist/{managers/modules/PermissionsModuleManager.js → interfaces/modules/PermissionsModule.js} +0 -0
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var Travel = require("./Travel");
4
+ exports.Travel = Travel;
5
+ var Cab = require("./Cab");
6
+ exports.Cab = Cab;
7
+ var Recharge = require("./Recharge");
8
+ exports.Recharge = Recharge;
9
+ var Bill = require("./Bill");
10
+ exports.Bill = Bill;
11
+ var Ticket = require("./ShowTicket");
12
+ exports.Ticket = Ticket;
13
+ var FoodDelivery = require("./FoodDelivery");
14
+ exports.FoodDelivery = FoodDelivery;
15
+ var Healthcare = require("./Healthcare");
16
+ exports.Healthcare = Healthcare;
@@ -0,0 +1,5 @@
1
+ import { EventValidator } from "../EventValidator";
2
+ export declare abstract class AnalyticsEvent {
3
+ type: string;
4
+ getValidator(): EventValidator;
5
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var EventValidator_1 = require("../EventValidator");
4
+ var AnalyticsEvent = /** @class */ (function () {
5
+ function AnalyticsEvent() {
6
+ this.type = "";
7
+ }
8
+ AnalyticsEvent.prototype.getValidator = function () {
9
+ return new EventValidator_1.EventValidator(new Array());
10
+ };
11
+ return AnalyticsEvent;
12
+ }());
13
+ exports.AnalyticsEvent = AnalyticsEvent;
@@ -0,0 +1,61 @@
1
+ import { Bill, Cab, FoodDelivery, Recharge, Ticket, Travel, Healthcare } from "../";
2
+ import { FoodDish } from "../FoodDish";
3
+ import { Person } from "../Person";
4
+ export interface AnalyticsHelper {
5
+ bill?: BillAnalyticsHelper;
6
+ cab?: CabAnalyticsHelper;
7
+ foodDelivery?: FoodDeliveryAnalyticsHelper;
8
+ recharge?: RechargeAnalyticsHelper;
9
+ ticket?: TicketAnalyticsHelper;
10
+ travel?: TravelAnalyticsHelper;
11
+ healthcare?: HealthcareAnalyticsHelper;
12
+ }
13
+ export interface BillAnalyticsHelper {
14
+ select: (productName: string, connectionNumber: string, category: string, price: number) => Bill.Select;
15
+ proceedToPay: (amountToPay: number, offerAmount: number) => Bill.ProceedToPay;
16
+ customerDetails: (phoneNumber: string, billingAddress: string) => Bill.CustomerDetails;
17
+ orderConfirmation: (orderAmount: number, paymentMethod: string) => Bill.OrderConfirmation;
18
+ }
19
+ export interface CabAnalyticsHelper {
20
+ select: (source: string, destination: string[], cab_type: string, rideNow: boolean, rideLaterTime: Date) => Cab.Select;
21
+ orderConfirmation: (amount: number, paymentMethod: string, couponCode: string) => Cab.OrderConfirmation;
22
+ orderCancellation: (cancellationReason: string) => Cab.OrderCancellation;
23
+ }
24
+ export interface FoodDeliveryAnalyticsHelper {
25
+ search: (searchQuery: string, searchCategory: string) => FoodDelivery.Search;
26
+ select: (restaurant: string) => FoodDelivery.Select;
27
+ checkOut: (products: FoodDish[]) => FoodDelivery.CheckOut;
28
+ proceedToPay: (amountToPay: number, offerAmount: number, deliveryCharge: number, packingCharge: number) => FoodDelivery.ProceedToPay;
29
+ customerDetails: (deliveryAddress: string, addressType: string) => FoodDelivery.CustomerDetails;
30
+ orderConfirmation: (amountToPay: number, paymentMethod: string) => FoodDelivery.OrderConfirmation;
31
+ }
32
+ export interface RechargeAnalyticsHelper {
33
+ select: (phoneNumber: string, operator: string, circle: string, category: string, expiry: Date, amount: number) => Recharge.Select;
34
+ proceedToPay: (amountToPay: number, offerAmount: number) => Recharge.ProceedToPay;
35
+ orderConfirmation: (orderAmount: number, paymentMethod: string) => Recharge.OrderConfirmation;
36
+ }
37
+ export interface TicketAnalyticsHelper {
38
+ select: (name: string, category: string, time: Date, eventLocation: string, noOfPeople: number) => Ticket.Select;
39
+ addToCart: (ticketClass: string, price: number, eventTime: Date) => Ticket.AddToCart;
40
+ proceedToPay: (amountToPay: number, offerAmount: number, noOfTickets: number, bookingCharge: number) => Ticket.ProceedToPay;
41
+ orderConfirmation: (amountToPay: number, paymentMethod: string) => Ticket.OrderConfirmation;
42
+ }
43
+ export interface TravelAnalyticsHelper {
44
+ search: (fromLocation: string, toLocation: string[], date: Date[], roundTrip: boolean, travellerCount: number) => Travel.Search;
45
+ select: (name: string, category: string, price: number) => Travel.Select;
46
+ proceedToPayEvent: (amountToPay: number, offerAmount: number, bookingCharge: number, vasCharge: number) => Travel.ProceedToPay;
47
+ customerDetails: (email: string, phoneNumber: string, travellers: Person[]) => Travel.CustomerDetails;
48
+ orderConfirmation: (amountToPay: number, paymentMethod: string) => Travel.OrderConfirmation;
49
+ }
50
+ export interface HealthcareAnalyticsHelper {
51
+ orderConfirmation: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, order_amount: number, offer_amount: number, payment_method: string, fkh_order_id: string, fkh_order_status: string, page_visit_timestamp: number) => Healthcare.OrderConfirmation;
52
+ proceedToPay: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, order_amount: number, offer_amount: number, payment_method: string, order_id: string, page_visit_timestamp: number) => Healthcare.ProceedToPay;
53
+ uploadPrescription: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, page_name: string, page_visit_timestamp: number) => Healthcare.UploadPrescription;
54
+ addToCart: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, product_name: string, product_id: string, price: number, quantity: number, source: string, page_visit_timestamp: number) => Healthcare.AddToCart;
55
+ search: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, search_query: string, page_visit_timestamp: number) => Healthcare.Search;
56
+ locationPincodeEnter: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, city: string, state: string, page_visit_timestamp: number) => Healthcare.LocationPincodeEnter;
57
+ pageView: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, page_name: string, page_visit_timestamp: number) => Healthcare.PageView;
58
+ addAddress: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, address_tag: string, subarea: string, page_visit_timestamp: number) => Healthcare.AddAddress;
59
+ obpUploadPrescription: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, rx_file_size: number, no_of_rx_uploaded: number, rx_source: string, page_visit_timestamp: number) => Healthcare.ObpUploadPrescription;
60
+ cartContinueButton: (fk_accountid: string, fkh_userid: string, token_id: string, pincode: string, coupon_code: string, cart_value: number, cart_unit_count: number, cart_savings_value: number, cart_item_count: number, page_visit_timestamp: number) => Healthcare.CartContinueButton;
61
+ }
@@ -0,0 +1,5 @@
1
+ import { AnalyticsEvent } from "./AnalyticsEvent";
2
+ export interface AnalyticsModule {
3
+ pushEvent: (event: AnalyticsEvent) => void;
4
+ forceFlushEvents: () => void;
5
+ }
@@ -0,0 +1,10 @@
1
+ export interface ValidationMetadata {
2
+ /**
3
+ * Validation type.
4
+ */
5
+ type: string;
6
+ /**
7
+ * Property of the object to be validated.
8
+ */
9
+ propertyName: string;
10
+ }
@@ -0,0 +1,6 @@
1
+ export declare class ValidationTypes {
2
+ static POSITIVE: string;
3
+ static NON_EMPTY: string;
4
+ static NON_NEGATIVE: string;
5
+ static NON_NULL: string;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var ValidationTypes = /** @class */ (function () {
4
+ function ValidationTypes() {
5
+ }
6
+ ValidationTypes.POSITIVE = "Positive";
7
+ ValidationTypes.NON_EMPTY = "NonEmpty";
8
+ ValidationTypes.NON_NEGATIVE = "NonNegative";
9
+ ValidationTypes.NON_NULL = "NonNull";
10
+ return ValidationTypes;
11
+ }());
12
+ exports.ValidationTypes = ValidationTypes;
@@ -0,0 +1,3 @@
1
+ export declare function validate(metadataMap: any, obj: {
2
+ [index: string]: any;
3
+ }, className: string): string[];
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var ValidationTypes_1 = require("./ValidationTypes");
4
+ function validate(metadataMap, obj, className) {
5
+ var invalidValues = new Array();
6
+ var metadata = metadataMap[className];
7
+ metadata.forEach(function (element) {
8
+ if (element.type === ValidationTypes_1.ValidationTypes.POSITIVE) {
9
+ var num = obj[element.propertyName];
10
+ if (!num) {
11
+ invalidValues.push(element.propertyName + " should not be empty");
12
+ }
13
+ else if (num < 0) {
14
+ invalidValues.push(element.propertyName + " should not be negative");
15
+ }
16
+ }
17
+ else if (element.type === ValidationTypes_1.ValidationTypes.NON_EMPTY) {
18
+ var str = obj[element.propertyName];
19
+ if (!str || str === "") {
20
+ invalidValues.push(element.propertyName + " should not be empty");
21
+ }
22
+ }
23
+ else if (element.type === ValidationTypes_1.ValidationTypes.NON_NEGATIVE) {
24
+ var num = obj[element.propertyName];
25
+ if (num && num < 0) {
26
+ invalidValues.push(element.propertyName + " should not be negative");
27
+ }
28
+ }
29
+ else if (element.type === ValidationTypes_1.ValidationTypes.NON_NULL) {
30
+ var value = obj[element.propertyName];
31
+ if (value === null) {
32
+ invalidValues.push(element.propertyName + " should not be null");
33
+ }
34
+ }
35
+ });
36
+ return invalidValues;
37
+ }
38
+ exports.validate = validate;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Checks that the string should not be empty
3
+ */
4
+ export declare function NonEmpty(metadataMap: any, className: string): any;
5
+ /**
6
+ * Checks that the number should be positive
7
+ */
8
+ export declare function Positive(metadataMap: any, className: string): any;
9
+ /**
10
+ * Checks that the number should not be negative, null is fine
11
+ */
12
+ export declare function NonNegative(metadataMap: any, className: string): any;
13
+ /**
14
+ * Checks that the value should not be null
15
+ */
16
+ export declare function NonNull(metadataMap: any, className: string): any;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var ValidationTypes_1 = require("./ValidationTypes");
4
+ /**
5
+ * Checks that the string should not be empty
6
+ */
7
+ function NonEmpty(metadataMap, className) {
8
+ return function (object, name) {
9
+ var args = {
10
+ type: ValidationTypes_1.ValidationTypes.NON_EMPTY,
11
+ propertyName: name,
12
+ };
13
+ if (!metadataMap[className]) {
14
+ metadataMap[className] = new Array();
15
+ }
16
+ metadataMap[className].push(args);
17
+ };
18
+ }
19
+ exports.NonEmpty = NonEmpty;
20
+ /**
21
+ * Checks that the number should be positive
22
+ */
23
+ function Positive(metadataMap, className) {
24
+ return function (object, name) {
25
+ var args = {
26
+ type: ValidationTypes_1.ValidationTypes.POSITIVE,
27
+ propertyName: name,
28
+ };
29
+ if (!metadataMap[className]) {
30
+ metadataMap[className] = new Array();
31
+ }
32
+ metadataMap[className].push(args);
33
+ };
34
+ }
35
+ exports.Positive = Positive;
36
+ /**
37
+ * Checks that the number should not be negative, null is fine
38
+ */
39
+ function NonNegative(metadataMap, className) {
40
+ return function (object, name) {
41
+ var args = {
42
+ type: ValidationTypes_1.ValidationTypes.NON_NEGATIVE,
43
+ propertyName: name,
44
+ };
45
+ if (!metadataMap[className]) {
46
+ metadataMap[className] = new Array();
47
+ }
48
+ metadataMap[className].push(args);
49
+ };
50
+ }
51
+ exports.NonNegative = NonNegative;
52
+ /**
53
+ * Checks that the value should not be null
54
+ */
55
+ function NonNull(metadataMap, className) {
56
+ return function (object, name) {
57
+ var args = {
58
+ type: ValidationTypes_1.ValidationTypes.NON_NULL,
59
+ propertyName: name,
60
+ };
61
+ if (!metadataMap[className]) {
62
+ metadataMap[className] = new Array();
63
+ }
64
+ metadataMap[className].push(args);
65
+ };
66
+ }
67
+ exports.NonNull = NonNull;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var SetupHelper_1 = require("../../setup/SetupHelper");
4
+ SetupHelper_1.SetupHelper.setupBillAnalyticsForBrowser();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var SetupHelper_1 = require("../../setup/SetupHelper");
4
+ SetupHelper_1.SetupHelper.setupCabAnalyticsForBrowser();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var SetupHelper_1 = require("../../setup/SetupHelper");
4
+ SetupHelper_1.SetupHelper.setupFoodDeliveryAnalyticsForBrowser();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var SetupHelper_1 = require("../../setup/SetupHelper");
4
+ SetupHelper_1.SetupHelper.setupRechargeAnalyticsForBrowser();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var SetupHelper_1 = require("../../setup/SetupHelper");
4
+ SetupHelper_1.SetupHelper.setupTicketAnalyticsForBrowser();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var SetupHelper_1 = require("../../setup/SetupHelper");
4
+ SetupHelper_1.SetupHelper.setupTravelAnalyticsForBrowser();
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { FKPlatformError } from "./errors/FKPlatformError";
2
2
  import FKPlatform from "./FKPlatform";
3
- import { Scope } from "./managers/modules/PermissionsModuleManager";
3
+ import { Scope } from "./interfaces/modules/PermissionsModule";
4
4
  export default FKPlatform;
5
5
  export { Scope, FKPlatformError, };
package/dist/index.js CHANGED
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var FKPlatformError_1 = require("./errors/FKPlatformError");
4
4
  exports.FKPlatformError = FKPlatformError_1.FKPlatformError;
5
5
  var FKPlatform_1 = require("./FKPlatform");
6
- var PermissionsModuleManager_1 = require("./managers/modules/PermissionsModuleManager");
7
- exports.Scope = PermissionsModuleManager_1.Scope;
8
6
  var SetupHelper_1 = require("./setup/SetupHelper");
9
7
  var WindowManager_1 = require("./managers/WindowManager");
10
8
  var react_native_1 = require("react-native");
9
+ var PermissionsModule_1 = require("./interfaces/modules/PermissionsModule");
10
+ exports.Scope = PermissionsModule_1.Scope;
11
11
  if (WindowManager_1.WindowManager.isBrowser()) {
12
12
  throw new FKPlatformError_1.FKPlatformError("React Native Environment not detected. Incase of browser, import from fk-platform-sdk/web");
13
13
  }
@@ -1,9 +1,11 @@
1
1
  import { NativeModuleError } from "../errors/NativeModuleError";
2
2
  import FKPlatform from "../FKPlatform";
3
3
  import { NativeModuleResponseInternal } from "./NativeModuleResponse";
4
+ import { AnalyticsHelper } from "../analytics/interfaces/AnalyticsHelper";
4
5
  export interface FKExtension {
5
6
  isPlatformAvailable: () => boolean;
6
7
  newPlatformInstance: (clientId: string) => FKPlatform;
7
8
  nativeModuleResolve?: (response: NativeModuleResponseInternal) => void;
8
9
  nativeModuleReject?: (error: NativeModuleError) => void;
10
+ analyticsHelper?: AnalyticsHelper;
9
11
  }
@@ -4,4 +4,8 @@ export interface FKWindow extends Window, NativeModuleManagerProvider {
4
4
  FKExtension: FKExtension;
5
5
  Promise: any;
6
6
  nativeModules?: NativeModuleManagerProvider;
7
+ webkit?: WebKit;
8
+ }
9
+ export interface WebKit {
10
+ messageHandlers: NativeModuleManagerProvider;
7
11
  }
@@ -1,10 +1,14 @@
1
- import { AuthModuleManager } from "../managers/modules/AuthModuleManager";
2
- import { NavigationModuleManager } from "../managers/modules/NavigationModuleManager";
3
- import { PermissionsModuleManager } from "../managers/modules/PermissionsModuleManager";
4
- import { ContactsModuleManager } from "../managers/modules/ContactsModuleManager";
1
+ import { NativeModuleManager } from "../managers/NativeModuleHelper";
5
2
  export interface NativeModuleManagerProvider {
6
- PermissionsModule: PermissionsModuleManager;
7
- NavigationModule: NavigationModuleManager;
8
- AuthModule: AuthModuleManager;
9
- ContactsModule: ContactsModuleManager;
3
+ PermissionsModule: NativeModuleManager;
4
+ NavigationModule: NativeModuleManager;
5
+ AuthModule: NativeModuleManager;
6
+ ContactsModule: NativeModuleManager;
7
+ AnalyticsModule: NativeModuleManager;
8
+ SMSModule: NativeModuleManager;
9
+ LocationModule: NativeModuleManager;
10
+ AppVersionModule: NativeModuleManager;
11
+ DownloaderModule: NativeModuleManager;
12
+ FontModule: NativeModuleManager;
13
+ GenericUltraShareModule: NativeModuleManager;
10
14
  }
@@ -0,0 +1,5 @@
1
+ import { AppVersionManagerResponse } from "../../types/AppVersionManagerResponse";
2
+ import { NativeModuleResponse } from "../NativeModuleResponse";
3
+ export interface AppVersionModule {
4
+ getApkVersion: () => Promise<NativeModuleResponse<AppVersionManagerResponse>>;
5
+ }
@@ -1,5 +1,8 @@
1
- import { NativeModuleResponse } from "./NativeModuleResponse";
2
- import { Contact } from "../managers/modules/ContactsModuleManager";
1
+ import { NativeModuleResponse } from "../NativeModuleResponse";
2
+ export interface Contact {
3
+ name: string;
4
+ phoneNumber: string;
5
+ }
3
6
  export interface ContactsModule {
4
7
  pickPhoneNumber: () => Promise<NativeModuleResponse<Contact>>;
5
8
  getContactInfo: (phoneNumbers: string[]) => Promise<NativeModuleResponse<{
@@ -0,0 +1,5 @@
1
+ import { NativeModuleResponse } from "../NativeModuleResponse";
2
+ import { DownloadManagerResponse } from "../../types/DownloadManagerResponse";
3
+ export interface DownloaderModule {
4
+ fileDownload: (url: string, mimeType: string) => Promise<NativeModuleResponse<DownloadManagerResponse>>;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { NativeModuleResponse } from "../NativeModuleResponse";
2
+ import { FontsManagerResponse } from "../../types/FontsManagerResponse";
3
+ export interface FontModule {
4
+ downloadFont: (fontFamily: string, url: string) => Promise<NativeModuleResponse<FontsManagerResponse>>;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import { NativeModuleResponse } from "../NativeModuleResponse";
2
+ import { GenericShareManagerResponse } from "../../types/GenericShareManagerResponse";
3
+ export interface GenericUltraShareModule {
4
+ share: (title: string, text: string, url: string) => Promise<NativeModuleResponse<GenericShareManagerResponse>>;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { DeviceInfoResponse } from "../../types/DeviceInfoResponse";
2
+ import { LocationManagerResponse } from "../../types/LocationManagerResponse";
3
+ import { NativeModuleResponse } from "../NativeModuleResponse";
4
+ export interface LocationModule {
5
+ getUserPinCode: (clientID: string) => Promise<NativeModuleResponse<LocationManagerResponse>>;
6
+ getUserDeviceId: () => Promise<NativeModuleResponse<DeviceInfoResponse>>;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ import { PermissionsManagerResponse } from "../../types/PermissionsManagerResponse";
2
+ import { NativeModuleResponse } from "../NativeModuleResponse";
3
+ export declare enum Scope {
4
+ USER_NAME = "user.name",
5
+ USER_EMAIL = "user.email",
6
+ USER_MOBILE = "user.mobile"
7
+ }
8
+ export interface ScopeAccessRequest {
9
+ scope: Scope;
10
+ isMandatory?: boolean;
11
+ shouldVerify?: boolean;
12
+ }
13
+ export interface PermissionsModule {
14
+ getToken: (scopeRequests: ScopeAccessRequest[]) => Promise<NativeModuleResponse<PermissionsManagerResponse>>;
15
+ getScopes: () => {
16
+ [key: string]: Scope;
17
+ };
18
+ }
@@ -0,0 +1,5 @@
1
+ import { NativeModuleResponse } from "../NativeModuleResponse";
2
+ import { SMSManagerResponse } from "../../types/SMSManagerResponse";
3
+ export interface SMSModule {
4
+ captureMessage: () => Promise<NativeModuleResponse<SMSManagerResponse>>;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,13 +1,27 @@
1
- import { NavigationModule } from "../interfaces/NavigationModule";
2
- import { PermissionsModule } from "../interfaces/PermissionsModule";
3
- import { ContactsModule } from "../interfaces/ContactsModule";
1
+ import { NavigationModule } from "../interfaces/modules/NavigationModule";
2
+ import { PermissionsModule } from "../interfaces/modules/PermissionsModule";
3
+ import { ContactsModule } from "../interfaces/modules/ContactsModule";
4
4
  import { NativeModuleCallbackManager } from "./NativeModuleCallbackManager";
5
+ import { AnalyticsModule } from "../analytics/interfaces/AnalyticsModule";
6
+ import { SMSModule } from "../interfaces/modules/SMSModule";
7
+ import { LocationModule } from "../interfaces/modules/LocationModule";
8
+ import { AppVersionModule } from "../interfaces/modules/AppVersionModule";
9
+ import { DownloaderModule } from "../interfaces/modules/DownloaderModule";
10
+ import { FontModule } from "../interfaces/modules/FontModule";
11
+ import { GenericUltraShareModule } from "../interfaces/modules/GenericUltraShareModule";
5
12
  export declare class ModuleManager {
6
13
  private moduleMap;
7
14
  constructor(nativeModuleCallbackManager: NativeModuleCallbackManager);
8
15
  getNavigationModule(): NavigationModule;
9
16
  getPermissionsModule(): PermissionsModule;
10
17
  getContactsModule(): ContactsModule;
18
+ getAnalyticsModule(): AnalyticsModule;
19
+ getSMSModule(): SMSModule;
20
+ getLocationModule(): LocationModule;
21
+ getAppVersionModule(): AppVersionModule;
22
+ getDownloaderModule(): DownloaderModule;
23
+ getFontModule(): FontModule;
24
+ getShareModule(): GenericUltraShareModule;
11
25
  private addModule;
12
26
  private getModule;
13
27
  }
@@ -3,11 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var NavigationModuleImpl_1 = require("../modules/NavigationModuleImpl");
4
4
  var PermissionsModuleImpl_1 = require("../modules/PermissionsModuleImpl");
5
5
  var ContactsModuleImpl_1 = require("../modules/ContactsModuleImpl");
6
+ var AnalyticsModuleImpl_1 = require("../modules/AnalyticsModuleImpl");
7
+ var SMSModuleImpl_1 = require("../modules/SMSModuleImpl");
8
+ var LocationModuleImpl_1 = require("../modules/LocationModuleImpl");
9
+ var AppVersionModuleImpl_1 = require("../modules/AppVersionModuleImpl");
10
+ var DownloaderModuleImpl_1 = require("../modules/DownloaderModuleImpl");
11
+ var FontModuleImpl_1 = require("../modules/FontModuleImpl");
12
+ var ShareModuleImpl_1 = require("../modules/ShareModuleImpl");
6
13
  var MODULE_NAME;
7
14
  (function (MODULE_NAME) {
8
15
  MODULE_NAME[MODULE_NAME["PERMISSION_MODULE"] = 0] = "PERMISSION_MODULE";
9
16
  MODULE_NAME[MODULE_NAME["NAVIGATION_MODULE"] = 1] = "NAVIGATION_MODULE";
10
17
  MODULE_NAME[MODULE_NAME["CONTACTS_MODULE"] = 2] = "CONTACTS_MODULE";
18
+ MODULE_NAME[MODULE_NAME["ANALYTICS_MODULE"] = 3] = "ANALYTICS_MODULE";
19
+ MODULE_NAME[MODULE_NAME["SMS_MODULE"] = 4] = "SMS_MODULE";
20
+ MODULE_NAME[MODULE_NAME["LOCATION_MODULE"] = 5] = "LOCATION_MODULE";
21
+ MODULE_NAME[MODULE_NAME["APP_VERSION_MODULE"] = 6] = "APP_VERSION_MODULE";
22
+ MODULE_NAME[MODULE_NAME["DOWNLOADER_MODULE"] = 7] = "DOWNLOADER_MODULE";
23
+ MODULE_NAME[MODULE_NAME["FONT_MODULE"] = 8] = "FONT_MODULE";
24
+ MODULE_NAME[MODULE_NAME["SHARE_MODULE"] = 9] = "SHARE_MODULE";
11
25
  })(MODULE_NAME || (MODULE_NAME = {}));
12
26
  var ModuleManager = /** @class */ (function () {
13
27
  function ModuleManager(nativeModuleCallbackManager) {
@@ -15,6 +29,13 @@ var ModuleManager = /** @class */ (function () {
15
29
  this.addModule(MODULE_NAME.PERMISSION_MODULE, new PermissionsModuleImpl_1.PermissionsModuleImpl(nativeModuleCallbackManager));
16
30
  this.addModule(MODULE_NAME.NAVIGATION_MODULE, new NavigationModuleImpl_1.NavigationModuleImpl(nativeModuleCallbackManager));
17
31
  this.addModule(MODULE_NAME.CONTACTS_MODULE, new ContactsModuleImpl_1.ContactsModuleImpl(nativeModuleCallbackManager));
32
+ this.addModule(MODULE_NAME.ANALYTICS_MODULE, new AnalyticsModuleImpl_1.AnalyticsModuleImpl(nativeModuleCallbackManager));
33
+ this.addModule(MODULE_NAME.SMS_MODULE, new SMSModuleImpl_1.SMSModuleImpl(nativeModuleCallbackManager));
34
+ this.addModule(MODULE_NAME.LOCATION_MODULE, new LocationModuleImpl_1.LocationModuleImpl(nativeModuleCallbackManager));
35
+ this.addModule(MODULE_NAME.APP_VERSION_MODULE, new AppVersionModuleImpl_1.AppVersionModuleImpl(nativeModuleCallbackManager));
36
+ this.addModule(MODULE_NAME.DOWNLOADER_MODULE, new DownloaderModuleImpl_1.DownloaderModuleImpl(nativeModuleCallbackManager));
37
+ this.addModule(MODULE_NAME.FONT_MODULE, new FontModuleImpl_1.FontModuleImpl(nativeModuleCallbackManager));
38
+ this.addModule(MODULE_NAME.SHARE_MODULE, new ShareModuleImpl_1.ShareModuleImpl(nativeModuleCallbackManager));
18
39
  }
19
40
  ModuleManager.prototype.getNavigationModule = function () {
20
41
  return this.getModule(MODULE_NAME.NAVIGATION_MODULE);
@@ -25,6 +46,27 @@ var ModuleManager = /** @class */ (function () {
25
46
  ModuleManager.prototype.getContactsModule = function () {
26
47
  return this.getModule(MODULE_NAME.CONTACTS_MODULE);
27
48
  };
49
+ ModuleManager.prototype.getAnalyticsModule = function () {
50
+ return this.getModule(MODULE_NAME.ANALYTICS_MODULE);
51
+ };
52
+ ModuleManager.prototype.getSMSModule = function () {
53
+ return this.getModule(MODULE_NAME.SMS_MODULE);
54
+ };
55
+ ModuleManager.prototype.getLocationModule = function () {
56
+ return this.getModule(MODULE_NAME.LOCATION_MODULE);
57
+ };
58
+ ModuleManager.prototype.getAppVersionModule = function () {
59
+ return this.getModule(MODULE_NAME.APP_VERSION_MODULE);
60
+ };
61
+ ModuleManager.prototype.getDownloaderModule = function () {
62
+ return this.getModule(MODULE_NAME.DOWNLOADER_MODULE);
63
+ };
64
+ ModuleManager.prototype.getFontModule = function () {
65
+ return this.getModule(MODULE_NAME.FONT_MODULE);
66
+ };
67
+ ModuleManager.prototype.getShareModule = function () {
68
+ return this.getModule(MODULE_NAME.SHARE_MODULE);
69
+ };
28
70
  ModuleManager.prototype.addModule = function (moduleName, nativeModule) {
29
71
  this.moduleMap[moduleName] = nativeModule;
30
72
  };
@@ -26,20 +26,25 @@ var NativeModuleCallbackManager = /** @class */ (function () {
26
26
  this.callbackQueue = {};
27
27
  }
28
28
  NativeModuleCallbackManager.prototype.executeOnBridge = function (moduleInvoker) {
29
- var tcs = new tcs_instanceqm_1.TaskCompletionSource();
30
- var newRequestId = this.getNewCallbackId();
31
- this.queueCallbackIfRequired(newRequestId, tcs);
32
- moduleInvoker(newRequestId);
33
- return new Promise(function (resolve, reject) {
34
- tcs.getResultAsync().then(function (response) {
35
- resolve({
36
- grantToken: response.grantToken,
37
- result: response.result,
29
+ try {
30
+ var tcs_1 = new tcs_instanceqm_1.TaskCompletionSource();
31
+ var newRequestId = this.getNewCallbackId();
32
+ this.queueCallbackIfRequired(newRequestId, tcs_1);
33
+ moduleInvoker(newRequestId);
34
+ return new Promise(function (resolve, reject) {
35
+ tcs_1.getResultAsync().then(function (response) {
36
+ resolve({
37
+ grantToken: response.grantToken,
38
+ result: response.result,
39
+ });
40
+ }).catch(function (error) {
41
+ reject(error);
38
42
  });
39
- }).catch(function (error) {
40
- reject(error);
41
43
  });
42
- });
44
+ }
45
+ catch (error) {
46
+ return Promise.reject(error);
47
+ }
43
48
  };
44
49
  NativeModuleCallbackManager.prototype.checkInit = function () {
45
50
  var windowObj = WindowManager_1.WindowManager.getWindow();