@zoho_apptics/apptics-js-sdk 2.0.0-beta → 2.0.0-beta.1

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 (220) hide show
  1. package/CHANGELOG.md +111 -5
  2. package/README.md +399 -300
  3. package/dist/apptics.esm.min.js +2 -2
  4. package/dist/apptics.esm.min.js.map +1 -1
  5. package/dist/apptics.min.js +2 -2
  6. package/dist/apptics.min.js.map +1 -1
  7. package/dist/chunks/lifecycle-VYr43KcB.min.js +3 -0
  8. package/dist/chunks/lifecycle-VYr43KcB.min.js.map +1 -0
  9. package/dist/cjs/auto-init.d.ts +3 -3
  10. package/dist/cjs/auto-init.js +1 -1
  11. package/dist/cjs/core/attempts.js +1 -1
  12. package/dist/cjs/core/batch.js +2 -1
  13. package/dist/cjs/core/callsite.d.ts +6 -0
  14. package/dist/cjs/core/callsite.js +25 -3
  15. package/dist/cjs/core/consent.d.ts +5 -1
  16. package/dist/cjs/core/consent.js +8 -6
  17. package/dist/cjs/core/constants.d.ts +35 -10
  18. package/dist/cjs/core/constants.js +31 -15
  19. package/dist/cjs/core/db.d.ts +12 -4
  20. package/dist/cjs/core/db.js +167 -34
  21. package/dist/cjs/core/debug.js +1 -1
  22. package/dist/cjs/core/env.js +1 -1
  23. package/dist/cjs/core/framework-id.d.ts +1 -1
  24. package/dist/cjs/core/framework-id.js +3 -3
  25. package/dist/cjs/core/guard.d.ts +9 -0
  26. package/dist/cjs/core/guard.js +27 -13
  27. package/dist/cjs/core/hooks.d.ts +2 -4
  28. package/dist/cjs/core/hooks.js +2 -3
  29. package/dist/cjs/core/locks.d.ts +9 -0
  30. package/dist/cjs/core/locks.js +22 -0
  31. package/dist/cjs/core/logger.d.ts +3 -4
  32. package/dist/cjs/core/logger.js +4 -40
  33. package/dist/cjs/core/state.d.ts +3 -2
  34. package/dist/cjs/core/state.js +2 -2
  35. package/dist/cjs/core/storage.d.ts +20 -5
  36. package/dist/cjs/core/storage.js +115 -17
  37. package/dist/cjs/core/stylesheet.d.ts +8 -0
  38. package/dist/cjs/core/stylesheet.js +29 -0
  39. package/dist/cjs/core/transport.d.ts +2 -0
  40. package/dist/cjs/core/transport.js +19 -4
  41. package/dist/cjs/core/utils.js +1 -1
  42. package/dist/cjs/core/validate.js +2 -2
  43. package/dist/cjs/device/appversion.d.ts +1 -6
  44. package/dist/cjs/device/appversion.js +13 -1
  45. package/dist/cjs/device/index.d.ts +11 -0
  46. package/dist/cjs/device/index.js +120 -20
  47. package/dist/cjs/engagement/api-rules.d.ts +32 -67
  48. package/dist/cjs/engagement/api-rules.js +144 -157
  49. package/dist/cjs/engagement/auto-api.js +2 -2
  50. package/dist/cjs/engagement/auto-screen.d.ts +2 -0
  51. package/dist/cjs/engagement/auto-screen.js +67 -3
  52. package/dist/cjs/engagement/defined-events.js +1 -1
  53. package/dist/cjs/engagement/send.js +6 -1
  54. package/dist/cjs/engagement/session.d.ts +12 -3
  55. package/dist/cjs/engagement/session.js +161 -25
  56. package/dist/cjs/engagement/track.js +45 -20
  57. package/dist/cjs/errors/send.js +1 -1
  58. package/dist/cjs/errors/track.d.ts +1 -1
  59. package/dist/cjs/errors/track.js +46 -6
  60. package/dist/cjs/feedback/controls.d.ts +6 -0
  61. package/dist/cjs/feedback/controls.js +31 -1
  62. package/dist/cjs/feedback/index.d.ts +8 -7
  63. package/dist/cjs/feedback/index.js +32 -13
  64. package/dist/cjs/feedback/logs.d.ts +10 -5
  65. package/dist/cjs/feedback/logs.js +52 -13
  66. package/dist/cjs/feedback/quartz.d.ts +18 -0
  67. package/dist/cjs/feedback/quartz.js +105 -0
  68. package/dist/cjs/feedback/send.d.ts +3 -0
  69. package/dist/cjs/feedback/send.js +28 -3
  70. package/dist/cjs/feedback/styles.d.ts +10 -0
  71. package/dist/cjs/feedback/styles.js +8 -0
  72. package/dist/cjs/feedback/template.d.ts +1 -1
  73. package/dist/cjs/feedback/template.js +12 -12
  74. package/dist/cjs/feedback/ui.d.ts +14 -6
  75. package/dist/cjs/feedback/ui.js +126 -48
  76. package/dist/cjs/heatmap/send.js +1 -1
  77. package/dist/cjs/heatmap/track.d.ts +1 -1
  78. package/dist/cjs/heatmap/track.js +87 -16
  79. package/dist/cjs/index.d.ts +17 -63
  80. package/dist/cjs/index.js +104 -92
  81. package/dist/cjs/lifecycle.d.ts +8 -1
  82. package/dist/cjs/lifecycle.js +258 -62
  83. package/dist/cjs/remoteconfig/country.d.ts +4 -0
  84. package/dist/cjs/remoteconfig/country.js +73 -0
  85. package/dist/cjs/remoteconfig/custom.d.ts +7 -7
  86. package/dist/cjs/remoteconfig/custom.js +31 -51
  87. package/dist/cjs/remoteconfig/evaluate.d.ts +3 -3
  88. package/dist/cjs/remoteconfig/evaluate.js +56 -43
  89. package/dist/cjs/remoteconfig/fetch.d.ts +3 -3
  90. package/dist/cjs/remoteconfig/fetch.js +9 -23
  91. package/dist/cjs/remoteconfig/index.d.ts +10 -8
  92. package/dist/cjs/remoteconfig/index.js +65 -39
  93. package/dist/cjs/remoteconfig/store.js +1 -1
  94. package/dist/cjs/remoteconfig/tz-countries.d.ts +8 -0
  95. package/dist/cjs/remoteconfig/tz-countries.js +13 -0
  96. package/dist/cjs/remotelog/gate.d.ts +2 -11
  97. package/dist/cjs/remotelog/gate.js +9 -35
  98. package/dist/cjs/remotelog/index.d.ts +4 -21
  99. package/dist/cjs/remotelog/logger.d.ts +11 -17
  100. package/dist/cjs/remotelog/logger.js +30 -58
  101. package/dist/cjs/remotelog/send.js +10 -10
  102. package/dist/cjs/remotelogger/index.d.ts +12 -0
  103. package/dist/cjs/remotelogger/index.js +18 -0
  104. package/dist/cjs/scheduler.js +2 -2
  105. package/dist/cjs/types.d.ts +155 -82
  106. package/dist/cjs/user/index.js +11 -6
  107. package/dist/esm/auto-init.d.ts +3 -3
  108. package/dist/esm/auto-init.js +1 -1
  109. package/dist/esm/core/attempts.js +1 -1
  110. package/dist/esm/core/batch.js +2 -1
  111. package/dist/esm/core/callsite.d.ts +6 -0
  112. package/dist/esm/core/callsite.js +25 -4
  113. package/dist/esm/core/consent.d.ts +5 -1
  114. package/dist/esm/core/consent.js +9 -7
  115. package/dist/esm/core/constants.d.ts +35 -10
  116. package/dist/esm/core/constants.js +30 -15
  117. package/dist/esm/core/db.d.ts +12 -4
  118. package/dist/esm/core/db.js +164 -35
  119. package/dist/esm/core/debug.js +1 -1
  120. package/dist/esm/core/env.js +1 -1
  121. package/dist/esm/core/framework-id.d.ts +1 -1
  122. package/dist/esm/core/framework-id.js +3 -3
  123. package/dist/esm/core/guard.d.ts +9 -0
  124. package/dist/esm/core/guard.js +27 -14
  125. package/dist/esm/core/hooks.d.ts +2 -4
  126. package/dist/esm/core/hooks.js +2 -3
  127. package/dist/esm/core/locks.d.ts +9 -0
  128. package/dist/esm/core/locks.js +20 -0
  129. package/dist/esm/core/logger.d.ts +3 -4
  130. package/dist/esm/core/logger.js +4 -40
  131. package/dist/esm/core/state.d.ts +3 -2
  132. package/dist/esm/core/state.js +2 -2
  133. package/dist/esm/core/storage.d.ts +20 -5
  134. package/dist/esm/core/storage.js +113 -18
  135. package/dist/esm/core/stylesheet.d.ts +8 -0
  136. package/dist/esm/core/stylesheet.js +27 -0
  137. package/dist/esm/core/transport.d.ts +2 -0
  138. package/dist/esm/core/transport.js +19 -5
  139. package/dist/esm/core/utils.js +1 -1
  140. package/dist/esm/core/validate.js +2 -2
  141. package/dist/esm/device/appversion.d.ts +1 -6
  142. package/dist/esm/device/appversion.js +13 -2
  143. package/dist/esm/device/index.d.ts +11 -0
  144. package/dist/esm/device/index.js +123 -24
  145. package/dist/esm/engagement/api-rules.d.ts +32 -67
  146. package/dist/esm/engagement/api-rules.js +143 -155
  147. package/dist/esm/engagement/auto-api.js +3 -3
  148. package/dist/esm/engagement/auto-screen.d.ts +2 -0
  149. package/dist/esm/engagement/auto-screen.js +67 -4
  150. package/dist/esm/engagement/defined-events.js +1 -1
  151. package/dist/esm/engagement/send.js +6 -1
  152. package/dist/esm/engagement/session.d.ts +12 -3
  153. package/dist/esm/engagement/session.js +162 -29
  154. package/dist/esm/engagement/track.js +52 -27
  155. package/dist/esm/errors/send.js +1 -1
  156. package/dist/esm/errors/track.d.ts +1 -1
  157. package/dist/esm/errors/track.js +46 -6
  158. package/dist/esm/feedback/controls.d.ts +6 -0
  159. package/dist/esm/feedback/controls.js +31 -2
  160. package/dist/esm/feedback/index.d.ts +8 -7
  161. package/dist/esm/feedback/index.js +34 -13
  162. package/dist/esm/feedback/logs.d.ts +10 -5
  163. package/dist/esm/feedback/logs.js +54 -15
  164. package/dist/esm/feedback/quartz.d.ts +18 -0
  165. package/dist/esm/feedback/quartz.js +99 -0
  166. package/dist/esm/feedback/send.d.ts +3 -0
  167. package/dist/esm/feedback/send.js +28 -5
  168. package/dist/esm/feedback/styles.d.ts +10 -0
  169. package/dist/esm/feedback/styles.js +4 -0
  170. package/dist/esm/feedback/template.d.ts +1 -1
  171. package/dist/esm/feedback/template.js +12 -12
  172. package/dist/esm/feedback/ui.d.ts +14 -6
  173. package/dist/esm/feedback/ui.js +126 -49
  174. package/dist/esm/heatmap/send.js +1 -1
  175. package/dist/esm/heatmap/track.d.ts +1 -1
  176. package/dist/esm/heatmap/track.js +87 -16
  177. package/dist/esm/index.d.ts +17 -63
  178. package/dist/esm/index.js +108 -80
  179. package/dist/esm/lifecycle.d.ts +8 -1
  180. package/dist/esm/lifecycle.js +266 -71
  181. package/dist/esm/remoteconfig/country.d.ts +4 -0
  182. package/dist/esm/remoteconfig/country.js +70 -0
  183. package/dist/esm/remoteconfig/custom.d.ts +7 -7
  184. package/dist/esm/remoteconfig/custom.js +32 -52
  185. package/dist/esm/remoteconfig/evaluate.d.ts +3 -3
  186. package/dist/esm/remoteconfig/evaluate.js +57 -44
  187. package/dist/esm/remoteconfig/fetch.d.ts +3 -3
  188. package/dist/esm/remoteconfig/fetch.js +9 -23
  189. package/dist/esm/remoteconfig/index.d.ts +10 -8
  190. package/dist/esm/remoteconfig/index.js +66 -40
  191. package/dist/esm/remoteconfig/store.js +1 -1
  192. package/dist/esm/remoteconfig/tz-countries.d.ts +8 -0
  193. package/dist/esm/remoteconfig/tz-countries.js +11 -0
  194. package/dist/esm/remotelog/gate.d.ts +2 -11
  195. package/dist/esm/remotelog/gate.js +10 -32
  196. package/dist/esm/remotelog/index.d.ts +4 -21
  197. package/dist/esm/remotelog/logger.d.ts +11 -17
  198. package/dist/esm/remotelog/logger.js +32 -60
  199. package/dist/esm/remotelog/send.js +12 -12
  200. package/dist/esm/remotelogger/index.d.ts +12 -0
  201. package/dist/esm/remotelogger/index.js +13 -0
  202. package/dist/esm/scheduler.js +2 -2
  203. package/dist/esm/types.d.ts +155 -82
  204. package/dist/esm/user/index.js +12 -6
  205. package/dist/feedback.esm.min.js +2 -2
  206. package/dist/feedback.esm.min.js.map +1 -1
  207. package/package.json +14 -16
  208. package/dist/chunks/batch-BU_mTpm1.min.js +0 -3
  209. package/dist/chunks/batch-BU_mTpm1.min.js.map +0 -1
  210. package/dist/chunks/logs-Bea5zUW_.min.js +0 -3
  211. package/dist/chunks/logs-Bea5zUW_.min.js.map +0 -1
  212. package/dist/cjs/heatmap/index.d.ts +0 -16
  213. package/dist/cjs/heatmap/index.js +0 -22
  214. package/dist/cjs/remotelog/index.js +0 -55
  215. package/dist/esm/heatmap/index.d.ts +0 -16
  216. package/dist/esm/heatmap/index.js +0 -17
  217. package/dist/esm/remotelog/index.js +0 -51
  218. package/dist/heatmap.esm.min.js +0 -3
  219. package/dist/heatmap.esm.min.js.map +0 -1
  220. package/dist/style.css +0 -1
@@ -0,0 +1,13 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ 'use strict';
3
+
4
+ /**
5
+ * The country of every IANA time zone, by its ISO 3166 code: generated by
6
+ * scripts/tz-countries.mjs from tzdata 2026d-rearguard (zone.tab, and the old names its links keep).
7
+ * Do not edit by hand.
8
+ *
9
+ * Packed as "CC:Area/City,City|Area/City;CC:...": a country, then its zones grouped by area.
10
+ */
11
+ const TZ_COUNTRIES = 'AD:Europe/Andorra;AE:Asia/Dubai;AF:Asia/Kabul;AG:America/Antigua;AI:America/Anguilla;AL:Europe/Tirane;AM:Asia/Yerevan;AO:Africa/Luanda;AQ:Antarctica/Casey,Davis,DumontDUrville,Mawson,McMurdo,Palmer,Rothera,Syowa,Troll,Vostok;AR:America/Argentina/Buenos_Aires,Argentina/Catamarca,Argentina/ComodRivadavia,Argentina/Cordoba,Argentina/Jujuy,Argentina/La_Rioja,Argentina/Mendoza,Argentina/Rio_Gallegos,Argentina/Salta,Argentina/San_Juan,Argentina/San_Luis,Argentina/Tucuman,Argentina/Ushuaia,Buenos_Aires,Catamarca,Cordoba,Jujuy,Mendoza,Rosario;AS:Pacific/Pago_Pago,Samoa|US/Samoa;AT:Europe/Vienna;AU:Antarctica/Macquarie|Australia/ACT,Adelaide,Brisbane,Broken_Hill,Canberra,Currie,Darwin,Eucla,Hobart,LHI,Lindeman,Lord_Howe,Melbourne,NSW,North,Perth,Queensland,South,Sydney,Tasmania,Victoria,West,Yancowinna;AW:America/Aruba;AX:Europe/Mariehamn;AZ:Asia/Baku;BA:Europe/Sarajevo;BB:America/Barbados;BD:Asia/Dacca,Dhaka;BE:CET,MET|Europe/Brussels;BF:Africa/Ouagadougou;BG:Europe/Sofia;BH:Asia/Bahrain;BI:Africa/Bujumbura;BJ:Africa/Porto-Novo;BL:America/St_Barthelemy;BM:Atlantic/Bermuda;BN:Asia/Brunei;BO:America/La_Paz;BQ:America/Kralendijk;BR:America/Araguaina,Bahia,Belem,Boa_Vista,Campo_Grande,Cuiaba,Eirunepe,Fortaleza,Maceio,Manaus,Noronha,Porto_Acre,Porto_Velho,Recife,Rio_Branco,Santarem,Sao_Paulo|Brazil/Acre,DeNoronha,East,West;BS:America/Nassau;BT:Asia/Thimbu,Thimphu;BW:Africa/Gaborone;BY:Europe/Minsk;BZ:America/Belize;CA:America/Atikokan,Blanc-Sablon,Cambridge_Bay,Creston,Dawson,Dawson_Creek,Edmonton,Fort_Nelson,Glace_Bay,Goose_Bay,Halifax,Inuvik,Iqaluit,Moncton,Montreal,Nipigon,Pangnirtung,Rainy_River,Rankin_Inlet,Regina,Resolute,St_Johns,Swift_Current,Thunder_Bay,Toronto,Vancouver,Whitehorse,Winnipeg,Yellowknife|Canada/Atlantic,Central,Eastern,Mountain,Newfoundland,Pacific,Saskatchewan,Yukon;CC:Indian/Cocos;CD:Africa/Kinshasa,Lubumbashi;CF:Africa/Bangui;CG:Africa/Brazzaville;CH:Europe/Zurich;CI:Africa/Abidjan,Timbuktu|Iceland;CK:Pacific/Rarotonga;CL:America/Coyhaique,Punta_Arenas,Santiago|Chile/Continental,EasterIsland|Pacific/Easter;CM:Africa/Douala;CN:Asia/Chongqing,Chungking,Harbin,Kashgar,Shanghai,Urumqi|PRC;CO:America/Bogota;CR:America/Costa_Rica;CU:America/Havana|Cuba;CV:Atlantic/Cape_Verde;CW:America/Curacao;CX:Indian/Christmas;CY:Asia/Famagusta,Nicosia|Europe/Nicosia;CZ:Europe/Prague;DE:Atlantic/Jan_Mayen|Europe/Berlin,Busingen;DJ:Africa/Djibouti;DK:Europe/Copenhagen;DM:America/Dominica;DO:America/Santo_Domingo;DZ:Africa/Algiers;EC:America/Guayaquil|Pacific/Galapagos;EE:Europe/Tallinn;EG:Africa/Cairo|Egypt;EH:Africa/El_Aaiun;ER:Africa/Asmara;ES:Africa/Ceuta|Atlantic/Canary|Europe/Madrid;ET:Africa/Addis_Ababa;FI:Europe/Helsinki;FJ:Pacific/Fiji;FK:Atlantic/Stanley;FM:Pacific/Chuuk,Kosrae,Pohnpei;FO:Atlantic/Faeroe,Faroe;FR:Europe/Paris;GA:Africa/Libreville;GB:Europe/Belfast,London|GB,GB-Eire;GD:America/Grenada;GE:Asia/Tbilisi;GF:America/Cayenne;GG:Europe/Guernsey;GH:Africa/Accra;GI:Europe/Gibraltar;GL:America/Danmarkshavn,Godthab,Nuuk,Scoresbysund,Thule;GM:Africa/Banjul;GN:Africa/Conakry;GP:America/Guadeloupe;GQ:Africa/Malabo;GR:EET|Europe/Athens;GS:Atlantic/South_Georgia;GT:America/Guatemala;GU:Pacific/Guam;GW:Africa/Bissau;GY:America/Guyana;HK:Asia/Hong_Kong|Hongkong;HN:America/Tegucigalpa;HR:Europe/Zagreb;HT:America/Port-au-Prince;HU:Europe/Budapest;ID:Asia/Jakarta,Jayapura,Makassar,Pontianak,Ujung_Pandang;IE:Eire|Europe/Dublin;IL:Asia/Jerusalem,Tel_Aviv|Israel;IM:Europe/Isle_of_Man;IN:Asia/Calcutta,Kolkata;IO:Indian/Chagos;IQ:Asia/Baghdad;IR:Asia/Tehran|Iran;IS:Atlantic/Reykjavik;IT:Europe/Rome;JE:Europe/Jersey;JM:America/Jamaica|Jamaica;JO:Asia/Amman;JP:Asia/Tokyo|Japan;KE:Africa/Asmera,Nairobi;KG:Asia/Bishkek;KH:Asia/Phnom_Penh;KI:Pacific/Enderbury,Kanton,Kiritimati,Tarawa;KM:Indian/Comoro;KN:America/St_Kitts;KP:Asia/Pyongyang;KR:Asia/Seoul|ROK;KW:Asia/Kuwait;KY:America/Cayman;KZ:Asia/Almaty,Aqtau,Aqtobe,Atyrau,Oral,Qostanay,Qyzylorda;LA:Asia/Vientiane;LB:Asia/Beirut;LC:America/St_Lucia;LI:Europe/Vaduz;LK:Asia/Colombo;LR:Africa/Monrovia;LS:Africa/Maseru;LT:Europe/Vilnius;LU:Europe/Luxembourg;LV:Europe/Riga;LY:Africa/Tripoli|Libya;MA:Africa/Casablanca;MC:Europe/Monaco;MD:Europe/Chisinau,Tiraspol;ME:Europe/Podgorica;MF:America/Marigot;MG:Indian/Antananarivo;MH:Kwajalein|Pacific/Kwajalein,Majuro;MK:Europe/Skopje;ML:Africa/Bamako;MM:Asia/Rangoon,Yangon;MN:Asia/Choibalsan,Hovd,Ulaanbaatar,Ulan_Bator;MO:Asia/Macao,Macau;MP:Pacific/Saipan;MQ:America/Martinique;MR:Africa/Nouakchott;MS:America/Montserrat;MT:Europe/Malta;MU:Indian/Mauritius;MV:Indian/Maldives;MW:Africa/Blantyre;MX:America/Bahia_Banderas,Cancun,Chihuahua,Ciudad_Juarez,Ensenada,Hermosillo,Matamoros,Mazatlan,Merida,Mexico_City,Monterrey,Ojinaga,Santa_Isabel,Tijuana|Mexico/BajaNorte,BajaSur,General;MY:Asia/Kuala_Lumpur,Kuching;MZ:Africa/Maputo;NA:Africa/Windhoek;NC:Pacific/Noumea;NE:Africa/Niamey;NF:Pacific/Norfolk;NG:Africa/Lagos;NI:America/Managua;NL:Europe/Amsterdam;NO:Europe/Oslo;NP:Asia/Kathmandu,Katmandu;NR:Pacific/Nauru;NU:Pacific/Niue;NZ:Antarctica/South_Pole|NZ,NZ-CHAT|Pacific/Auckland,Chatham;OM:Asia/Muscat;PA:America/Coral_Harbour,Panama|EST;PE:America/Lima;PF:Pacific/Gambier,Marquesas,Tahiti;PG:Pacific/Bougainville,Port_Moresby,Truk,Yap;PH:Asia/Manila;PK:Asia/Karachi;PL:Europe/Warsaw|Poland;PM:America/Miquelon;PN:Pacific/Pitcairn;PR:America/Puerto_Rico,Virgin;PS:Asia/Gaza,Hebron;PT:Atlantic/Azores,Madeira|Europe/Lisbon|Portugal,WET;PW:Pacific/Palau;PY:America/Asuncion;QA:Asia/Qatar;RE:Indian/Reunion;RO:Europe/Bucharest;RS:Europe/Belgrade;RU:Asia/Anadyr,Barnaul,Chita,Irkutsk,Kamchatka,Khandyga,Krasnoyarsk,Magadan,Novokuznetsk,Novosibirsk,Omsk,Sakhalin,Srednekolymsk,Tomsk,Ust-Nera,Vladivostok,Yakutsk,Yekaterinburg|Europe/Astrakhan,Kaliningrad,Kirov,Moscow,Samara,Saratov,Ulyanovsk,Volgograd|W-SU;RW:Africa/Kigali;SA:Asia/Riyadh;SB:Pacific/Guadalcanal,Ponape;SC:Indian/Mahe;SD:Africa/Khartoum;SE:Europe/Stockholm;SG:Asia/Singapore|Singapore;SH:Atlantic/St_Helena;SI:Europe/Ljubljana;SJ:Arctic/Longyearbyen;SK:Europe/Bratislava;SL:Africa/Freetown;SM:Europe/San_Marino;SN:Africa/Dakar;SO:Africa/Mogadishu;SR:America/Paramaribo;SS:Africa/Juba;ST:Africa/Sao_Tome;SV:America/El_Salvador;SX:America/Lower_Princes;SY:Asia/Damascus;SZ:Africa/Mbabane;TC:America/Grand_Turk;TD:Africa/Ndjamena;TF:Indian/Kerguelen;TG:Africa/Lome;TH:Asia/Bangkok;TJ:Asia/Dushanbe;TK:Pacific/Fakaofo;TL:Asia/Dili;TM:Asia/Ashgabat,Ashkhabad;TN:Africa/Tunis;TO:Pacific/Tongatapu;TR:Asia/Istanbul|Europe/Istanbul|Turkey;TT:America/Port_of_Spain;TV:Pacific/Funafuti;TW:Asia/Taipei|ROC;TZ:Africa/Dar_es_Salaam;UA:Europe/Kiev,Kyiv,Simferopol,Uzhgorod,Zaporozhye;UG:Africa/Kampala;UM:Pacific/Midway,Wake;US:America/Adak,Anchorage,Atka,Boise,Chicago,Denver,Detroit,Fort_Wayne,Indiana/Indianapolis,Indiana/Knox,Indiana/Marengo,Indiana/Petersburg,Indiana/Tell_City,Indiana/Vevay,Indiana/Vincennes,Indiana/Winamac,Indianapolis,Juneau,Kentucky/Louisville,Kentucky/Monticello,Knox_IN,Los_Angeles,Louisville,Menominee,Metlakatla,New_York,Nome,North_Dakota/Beulah,North_Dakota/Center,North_Dakota/New_Salem,Phoenix,Shiprock,Sitka,Yakutat|HST,MST,Navajo|Pacific/Honolulu,Johnston|US/Alaska,Aleutian,Arizona,Central,East-Indiana,Eastern,Hawaii,Indiana-Starke,Michigan,Mountain,Pacific;UY:America/Montevideo;UZ:Asia/Samarkand,Tashkent;VA:Europe/Vatican;VC:America/St_Vincent;VE:America/Caracas;VG:America/Tortola;VI:America/St_Thomas;VN:Asia/Ho_Chi_Minh,Saigon;VU:Pacific/Efate;WF:Pacific/Wallis;WS:Pacific/Apia;YE:Asia/Aden;YT:Indian/Mayotte;ZA:Africa/Johannesburg;ZM:Africa/Lusaka;ZW:Africa/Harare'; // no i18n
12
+
13
+ exports.TZ_COUNTRIES = TZ_COUNTRIES;
@@ -1,11 +1,2 @@
1
- export declare function setAppLogger(on: boolean): void;
2
- export declare function appLoggerEnabled(): boolean;
3
- /** The SDK's own diagnostics may be recorded: `remote_log` is on and the logger is reachable. */
4
- export declare function remoteLogEnabled(): boolean;
5
- /** An app's own log line may be recorded: the app enabled the logger and it is reachable. */
6
- export declare function appLogEnabled(): boolean;
7
- /**
8
- * What is stored may be sent. Either writer is enough: app logging works with `remote_log`
9
- * off, since that switch covers only the SDK's own diagnostics.
10
- */
11
- export declare function remoteLogSendable(): boolean;
1
+ /** Whether a remote log line may be recorded and sent now. */
2
+ export declare function remoteLoggerReachable(): boolean;
@@ -1,4 +1,4 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
2
  'use strict';
3
3
 
4
4
  var state = require('../core/state.js');
@@ -6,21 +6,14 @@ var env = require('../core/env.js');
6
6
  var consent = require('../core/consent.js');
7
7
 
8
8
  /**
9
- * The one switch both halves of the remote logger ask: may this line be recorded, and may
10
- * what is stored be sent? It lives on its own so recording and sending don't import each other.
11
- */
12
- /** The app logger's switch: off until the app calls logger.enable(), as on Android and iOS. */
13
- let appLoggerOn = false;
14
- function setAppLogger(on) {
15
- appLoggerOn = on;
16
- }
17
- function appLoggerEnabled() {
18
- return appLoggerOn;
19
- }
20
- /**
21
- * What every remote-log line needs, whoever wrote it: a running SDK, a client we send anything
22
- * for, the server's remote logger switch, and consent.
9
+ * The one switch both halves of the remote logger ask: may this line be recorded, and may what is
10
+ * stored be sent? It lives on its own so recording and sending don't import each other.
11
+ *
12
+ * There is no switch of the app's own: a line the app writes with AppticsLogger is recorded,
13
+ * whenever the SDK is running, the server has the remote logger on for the app, and the visitor
14
+ * allows tracking.
23
15
  */
16
+ /** Whether a remote log line may be recorded and sent now. */
24
17
  function remoteLoggerReachable() {
25
18
  if (!state._ZAP._token || env.is_apptics_disabled()) {
26
19
  return false;
@@ -31,24 +24,5 @@ function remoteLoggerReachable() {
31
24
  }
32
25
  return consent.shouldTrackOrSendData();
33
26
  }
34
- /** The SDK's own diagnostics may be recorded: `remote_log` is on and the logger is reachable. */
35
- function remoteLogEnabled() {
36
- return state.getConfig('remote_log') && remoteLoggerReachable(); // no i18n
37
- }
38
- /** An app's own log line may be recorded: the app enabled the logger and it is reachable. */
39
- function appLogEnabled() {
40
- return appLoggerOn && remoteLoggerReachable();
41
- }
42
- /**
43
- * What is stored may be sent. Either writer is enough: app logging works with `remote_log`
44
- * off, since that switch covers only the SDK's own diagnostics.
45
- */
46
- function remoteLogSendable() {
47
- return (state.getConfig('remote_log') || appLoggerOn) && remoteLoggerReachable(); // no i18n
48
- }
49
27
 
50
- exports.appLogEnabled = appLogEnabled;
51
- exports.appLoggerEnabled = appLoggerEnabled;
52
- exports.remoteLogEnabled = remoteLogEnabled;
53
- exports.remoteLogSendable = remoteLogSendable;
54
- exports.setAppLogger = setAppLogger;
28
+ exports.remoteLoggerReachable = remoteLoggerReachable;
@@ -1,25 +1,8 @@
1
1
  /**
2
- * Remote logger: the SDK's own diagnostics, sent to console/addlog.
2
+ * Remote logger delivery: the AppticsLogger lines (logger.ts) are stored in the remotelogs queue
3
+ * and sent from it to log/add by send.ts. gate.ts holds the switch both ask.
3
4
  *
4
- * This file is not the app-facing logging API — that is logger.ts, which shares this queue and
5
- * delivery but has its own switch. This file answers "this app reports no data — what is the SDK
6
- * actually doing on the user's machine?", so what it carries is the SDK's own failures, each
7
- * tagged with the module that was mid-flight (Session, Screen, Event, API, Properties).
8
- * App errors belong to exception/error, an app's remote log lines to logger.ts, and lines meant
9
- * for a feedback report to feedback/logs.ts.
10
- *
11
- * This file records lines, send.ts delivers them, and gate.ts holds the switch both ask.
12
- * Nothing here is exported to apps: the SDK writes these lines itself, through logFailure()
13
- * in core/logger.ts.
14
- */
15
- import { AP_LOG_MODULE } from '../core/constants.js';
16
- import { type CallSite } from '../core/callsite.js';
17
- /** One of console/addlog's `module` values. */
18
- export type LogModule = (typeof AP_LOG_MODULE)[keyof typeof AP_LOG_MODULE];
19
- /**
20
- * Records one line about `module` for console/addlog. Never throws and never blocks the caller:
21
- * a diagnostics channel that breaks the flow it reports on would be worse than no channel.
5
+ * The SDK writes nothing of its own here: its failures go to the browser console (core/logger.ts,
6
+ * in debug mode), and only the lines an app logs reach the Remote Logger page.
22
7
  */
23
- export declare function remoteLog(module: LogModule, message: unknown, site?: CallSite): void;
24
- export { remoteLogEnabled } from './gate.js';
25
8
  export { forgetStoredLogs, sendStoredLogs } from './send.js';
@@ -7,22 +7,16 @@ export declare const LOG_LEVEL: Readonly<{
7
7
  ERROR: 5;
8
8
  }>;
9
9
  export interface AppticsLogger {
10
- /** Starts recording log lines. Off until called. */
11
- enable(): void;
12
- /** Stops recording log lines. */
13
- disable(): void;
14
- /** Whether log lines are being recorded. */
15
- isEnabled(): boolean;
16
- /** Verbose, level 1. The tag leads the message as `[tag]`. */
17
- v(tag: string, message: unknown, ...details: unknown[]): void;
18
- /** Debug, level 2. */
19
- d(tag: string, message: unknown, ...details: unknown[]): void;
20
- /** Info, level 3. */
21
- i(tag: string, message: unknown, ...details: unknown[]): void;
22
- /** Warning, level 4. */
23
- w(tag: string, message: unknown, ...details: unknown[]): void;
24
- /** Error, level 5. */
25
- e(tag: string, message: unknown, ...details: unknown[]): void;
10
+ /** Verbose, level 1 (Android's v). `properties` (an object, as JSON; an Error, as its stack) is appended to the message. */
11
+ verbose(message: unknown, properties?: unknown): void;
12
+ /** Debug, level 2 (Android's d). */
13
+ debug(message: unknown, properties?: unknown): void;
14
+ /** Info, level 3 (Android's i). */
15
+ info(message: unknown, properties?: unknown): void;
16
+ /** Warning, level 4 (Android's w). */
17
+ warn(message: unknown, properties?: unknown): void;
18
+ /** Error, level 5 (Android's e). */
19
+ error(message: unknown, properties?: unknown): void;
26
20
  }
27
- /** Android's AppticsLogger: enable, disable, isEnabled and v / d / i / w / e(tag, message). */
21
+ /** AppticsLogger: verbose / debug / info / warn / error(message, properties?). */
28
22
  export declare const AppticsLogger: AppticsLogger;
@@ -1,4 +1,4 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
2
  'use strict';
3
3
 
4
4
  var constants = require('../core/constants.js');
@@ -6,25 +6,21 @@ var callsite = require('../core/callsite.js');
6
6
  var storage = require('../core/storage.js');
7
7
  var guard = require('../core/guard.js');
8
8
  var utils = require('../core/utils.js');
9
- var state = require('../core/state.js');
10
9
  var gate = require('./gate.js');
11
10
  var send = require('./send.js');
12
11
 
13
12
  /**
14
- * AppticsLogger, as on Android: lines the app writes, shown on the console's Remote Logger page.
13
+ * AppticsLogger: lines the app writes, shown on the console's Remote Logger page.
15
14
  *
16
- * AppticsLogger.enable();
17
- * AppticsLogger.i('Checkout', 'Payment started');
18
- * AppticsLogger.e('Checkout', 'Payment failed', err);
15
+ * AppticsLogger.info('Payment started');
16
+ * AppticsLogger.error('Payment failed', err);
19
17
  *
20
- * It mirrors the native SDKs so the page reads the same whatever sent the line: off until
21
- * enable() (AppticsLogger.enable() on Android, APLog.setShouldLog on iOS), and five levels in
22
- * the iOS order — verbose, debug, info, warn, error — sent as 1 to 5, which is the scale the
23
- * Remote Logger page reads back.
18
+ * Nothing is logged on its own: only the lines the app writes, at five levels in the native SDKs'
19
+ * order (verbose, debug, info, warn, error, sent as 1 to 5, the scale the Remote Logger page reads
20
+ * back). A line is recorded as it is written, with no switch to turn on first, whenever the server
21
+ * has the remote logger on for the app and the visitor allows tracking.
24
22
  *
25
- * Lines share the SDK diagnostics' queue and its log/add delivery, so they are stored before
26
- * they are sent and survive a failed send and a reload. They are a separate switch, though:
27
- * `remote_log: false` silences the SDK's own failures, not the app's logging.
23
+ * Lines are stored before they are sent (send.ts), so they survive a failed send and a reload.
28
24
  */
29
25
  /** The level numbers log/add takes and the Remote Logger page names, in the native SDKs' order. */
30
26
  const LOG_LEVEL = Object.freeze({ VERBOSE: 1, DEBUG: 2, INFO: 3, WARN: 4, ERROR: 5 });
@@ -63,11 +59,12 @@ function describe(value) {
63
59
  * it — which is why the time and call site are taken by the caller, not here.
64
60
  */
65
61
  function record(level, message, details, at, site) {
66
- if (!gate.appLogEnabled()) {
62
+ if (!gate.remoteLoggerReachable()) {
67
63
  return;
68
64
  }
69
65
  var text = [message].concat(details).map(describe).join(' '); // no i18n
70
- storage.consolelog_transactions.add({
66
+ storage.remotelog_transactions.add({
67
+ type: 'remotelog', // no i18n
71
68
  module: functionName(site),
72
69
  level: level,
73
70
  happenedat: at,
@@ -79,60 +76,35 @@ function record(level, message, details, at, site) {
79
76
  send.scheduleSend();
80
77
  }
81
78
  const recordLine = guard.guard('AppticsLogger', record); // no i18n
82
- /** The browser console method each level prints with under `show_logs`, as Logcat shows them. */
83
- const CONSOLE_METHOD = Object.freeze({
84
- 1: 'debug', 2: 'debug', 3: 'info', 4: 'warn', 5: 'error', // no i18n
85
- });
86
79
  /**
87
- * `show_logs`: the line in the browser console too, as Android's showLogs prints to Logcat. For
88
- * the developer, so it prints whether or not the remote logger is enabled or allowed to record,
89
- * and the arguments go over untouched so the console can still expand an object or an Error.
80
+ * A level's method, `verbose/debug/info/warn/error(message, properties?)` (Android's v/d/i/w/e,
81
+ * without the tag, which the Remote Logger page does not use). The function, file and line are
82
+ * the caller's.
90
83
  */
91
- function show(level, args) {
92
- if (state.getConfig('show_logs') !== true) {
93
- return;
94
- }
95
- var method = CONSOLE_METHOD[level] || 'log'; // no i18n
96
- if (typeof console !== 'undefined' && typeof console[method] === 'function') { // no i18n
97
- console[method].apply(console, args);
98
- }
99
- }
100
- /**
101
- * A level's Android-style method, `v/d/i/w/e(tag, message, ...details)`. The tag leads the
102
- * message as `[tag]`; the function, file and line are still the caller's, as with the long names.
103
- */
104
- function tagged(level) {
105
- return function (tag, message, ...details) {
84
+ function atLevel(level) {
85
+ return function log(message, properties) {
106
86
  try {
107
- var label = tag === undefined || tag === null ? '' : String(tag).trim(); // no i18n
108
- var parts = label === '' ? [message].concat(details) : ['[' + label + ']', message].concat(details); // no i18n
109
- show(level, parts);
87
+ void properties;
88
+ // everything after the message is appended to it: properties, and anything else a caller
89
+ // passed (an Error as well, say), as before
90
+ var details = Array.prototype.slice.call(arguments, 1);
110
91
  // skip 1: this function's own frame, so the site is the app's line that logged
111
- recordLine(level, parts[0], parts.slice(1), utils.nowMs(), callsite.callSite(1));
92
+ recordLine(level, message, details, utils.nowMs(), callsite.callSite(1));
112
93
  }
113
94
  catch (err) {
114
95
  // logging must never be the thing that breaks the app
115
96
  }
116
97
  };
117
98
  }
118
- /** Turns the app logger on, or off with `false`. Off by default. */
119
- function enable(on) {
120
- gate.setAppLogger(on !== false);
121
- }
122
- /** Turns the app logger off, as AppticsLogger.disable() does; the same as enable(false). */
123
- function disable() {
124
- gate.setAppLogger(false);
125
- }
126
- /** Android's AppticsLogger: enable, disable, isEnabled and v / d / i / w / e(tag, message). */
99
+ /** AppticsLogger: verbose / debug / info / warn / error(message, properties?). */
127
100
  const AppticsLogger = {
128
- enable: guard.guard('AppticsLogger.enable', function () { enable(true); }), // no i18n
129
- disable: guard.guard('AppticsLogger.disable', disable), // no i18n
130
- isEnabled: guard.guard('AppticsLogger.isEnabled', gate.appLoggerEnabled), // no i18n
131
- v: tagged(LOG_LEVEL.VERBOSE),
132
- d: tagged(LOG_LEVEL.DEBUG),
133
- i: tagged(LOG_LEVEL.INFO),
134
- w: tagged(LOG_LEVEL.WARN),
135
- e: tagged(LOG_LEVEL.ERROR),
101
+ // not wrapped in a guard of their own: the call site is read a fixed number of frames up, and
102
+ // a frame more would report the SDK's own line instead of the app's
103
+ verbose: atLevel(LOG_LEVEL.VERBOSE),
104
+ debug: atLevel(LOG_LEVEL.DEBUG),
105
+ info: atLevel(LOG_LEVEL.INFO),
106
+ warn: atLevel(LOG_LEVEL.WARN),
107
+ error: atLevel(LOG_LEVEL.ERROR),
136
108
  };
137
109
 
138
110
  exports.AppticsLogger = AppticsLogger;
@@ -1,4 +1,4 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
2
  'use strict';
3
3
 
4
4
  var constants = require('../core/constants.js');
@@ -87,7 +87,7 @@ function trim(items) {
87
87
  if (keepFrom === 0) {
88
88
  return items;
89
89
  }
90
- storage.consolelog_transactions.remove(items.slice(0, keepFrom));
90
+ storage.remotelog_transactions.remove(items.slice(0, keepFrom));
91
91
  return items.slice(keepFrom);
92
92
  }
93
93
  /**
@@ -95,21 +95,21 @@ function trim(items) {
95
95
  * retrying it could only fail the same way and would hold every later line behind it.
96
96
  */
97
97
  function sendStoredLogs() {
98
- if (sending || !gate.remoteLogSendable() || navigator.onLine === false) {
98
+ if (sending || !gate.remoteLoggerReachable() || navigator.onLine === false) {
99
99
  return Promise.resolve();
100
100
  }
101
101
  sending = true;
102
- return storage.consolelog_transactions.all().then(function (stored) {
102
+ return storage.remotelog_transactions.all().then(function (stored) {
103
103
  var batch = trim(stored).slice(0, MAX_PER_BATCH);
104
104
  if (batch.length === 0) {
105
105
  return undefined;
106
106
  }
107
107
  return transport.postToApptics('consolelog', bodyFor(batch), transport.apiHeaders(), LABEL).then(function () {
108
- return storage.consolelog_transactions.remove(batch);
108
+ return storage.remotelog_transactions.remove(batch);
109
109
  }, function (err) {
110
110
  if (transport.isPermanentRefusal(err)) {
111
111
  logger.warnAlways('apptics: the server refused these log lines, so they were dropped: ' + String(err && err.message)); // no i18n
112
- return storage.consolelog_transactions.remove(batch);
112
+ return storage.remotelog_transactions.remove(batch);
113
113
  }
114
114
  logger.Console.log(LABEL + ': ' + String(err)); // no i18n
115
115
  return undefined;
@@ -126,20 +126,20 @@ function sendStoredLogs() {
126
126
  * stay stored until the server has confirmed them.
127
127
  */
128
128
  function forgetStoredLogs() {
129
- if (!gate.remoteLogSendable()) {
129
+ if (!gate.remoteLoggerReachable()) {
130
130
  return Promise.resolve();
131
131
  }
132
- return storage.consolelog_transactions.all().then(function (stored) {
132
+ return storage.remotelog_transactions.all().then(function (stored) {
133
133
  if (stored.length === 0) {
134
134
  return undefined;
135
135
  }
136
136
  var batch = stored.slice(0, MAX_PER_BATCH);
137
137
  // removed once the server has them; lines whose answer never comes go on the next visit
138
138
  transport.postKeepalive('consolelog', bodyFor(batch), transport.apiHeaders(), LABEL).then(function () {
139
- return storage.consolelog_transactions.remove(batch);
139
+ return storage.remotelog_transactions.remove(batch);
140
140
  }, function (err) {
141
141
  if (transport.isPermanentRefusal(err)) {
142
- return storage.consolelog_transactions.remove(batch);
142
+ return storage.remotelog_transactions.remove(batch);
143
143
  }
144
144
  logger.Console.log(LABEL + ': ' + String(err)); // no i18n
145
145
  return undefined;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The app logger, shipped as its own entry point:
3
+ * import { AppticsLogger } from '@zoho_apptics/apptics-js-sdk/remote-logger';
4
+ *
5
+ * AppticsLogger: verbose / debug / info / warn / error(message, props?), shown on the
6
+ * console's Remote Logger page. A line is recorded as it is written, with no switch to turn on.
7
+ * Apps that don't import it don't ship it.
8
+ */
9
+ import { AppticsLogger } from '../remotelog/logger.js';
10
+ export { AppticsLogger };
11
+ export type { AppticsLogger as AppticsLoggerApi } from '../remotelog/logger.js';
12
+ export default AppticsLogger;
@@ -0,0 +1,18 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var logger = require('../remotelog/logger.js');
7
+
8
+ /**
9
+ * The app logger, shipped as its own entry point:
10
+ * import { AppticsLogger } from '@zoho_apptics/apptics-js-sdk/remote-logger';
11
+ *
12
+ * AppticsLogger: verbose / debug / info / warn / error(message, props?), shown on the
13
+ * console's Remote Logger page. A line is recorded as it is written, with no switch to turn on.
14
+ * Apps that don't import it don't ship it.
15
+ */
16
+
17
+ exports.AppticsLogger = logger.AppticsLogger;
18
+ exports.default = logger.AppticsLogger;
@@ -1,4 +1,4 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
2
  'use strict';
3
3
 
4
4
  var state = require('./core/state.js');
@@ -25,7 +25,7 @@ function flush(forget) {
25
25
  return send.sendEngagementData(forget).then(function () {
26
26
  return send$1.sendErrorData(forget);
27
27
  }).then(function () {
28
- // no-op unless the heatmap entry was imported, which is what sets the hook
28
+ // the hook heatmap/send.ts sets
29
29
  return hooks.hooks.sendHeatmaps(forget);
30
30
  });
31
31
  }