@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.
- package/CHANGELOG.md +111 -5
- package/README.md +399 -300
- package/dist/apptics.esm.min.js +2 -2
- package/dist/apptics.esm.min.js.map +1 -1
- package/dist/apptics.min.js +2 -2
- package/dist/apptics.min.js.map +1 -1
- package/dist/chunks/lifecycle-VYr43KcB.min.js +3 -0
- package/dist/chunks/lifecycle-VYr43KcB.min.js.map +1 -0
- package/dist/cjs/auto-init.d.ts +3 -3
- package/dist/cjs/auto-init.js +1 -1
- package/dist/cjs/core/attempts.js +1 -1
- package/dist/cjs/core/batch.js +2 -1
- package/dist/cjs/core/callsite.d.ts +6 -0
- package/dist/cjs/core/callsite.js +25 -3
- package/dist/cjs/core/consent.d.ts +5 -1
- package/dist/cjs/core/consent.js +8 -6
- package/dist/cjs/core/constants.d.ts +35 -10
- package/dist/cjs/core/constants.js +31 -15
- package/dist/cjs/core/db.d.ts +12 -4
- package/dist/cjs/core/db.js +167 -34
- package/dist/cjs/core/debug.js +1 -1
- package/dist/cjs/core/env.js +1 -1
- package/dist/cjs/core/framework-id.d.ts +1 -1
- package/dist/cjs/core/framework-id.js +3 -3
- package/dist/cjs/core/guard.d.ts +9 -0
- package/dist/cjs/core/guard.js +27 -13
- package/dist/cjs/core/hooks.d.ts +2 -4
- package/dist/cjs/core/hooks.js +2 -3
- package/dist/cjs/core/locks.d.ts +9 -0
- package/dist/cjs/core/locks.js +22 -0
- package/dist/cjs/core/logger.d.ts +3 -4
- package/dist/cjs/core/logger.js +4 -40
- package/dist/cjs/core/state.d.ts +3 -2
- package/dist/cjs/core/state.js +2 -2
- package/dist/cjs/core/storage.d.ts +20 -5
- package/dist/cjs/core/storage.js +115 -17
- package/dist/cjs/core/stylesheet.d.ts +8 -0
- package/dist/cjs/core/stylesheet.js +29 -0
- package/dist/cjs/core/transport.d.ts +2 -0
- package/dist/cjs/core/transport.js +19 -4
- package/dist/cjs/core/utils.js +1 -1
- package/dist/cjs/core/validate.js +2 -2
- package/dist/cjs/device/appversion.d.ts +1 -6
- package/dist/cjs/device/appversion.js +13 -1
- package/dist/cjs/device/index.d.ts +11 -0
- package/dist/cjs/device/index.js +120 -20
- package/dist/cjs/engagement/api-rules.d.ts +32 -67
- package/dist/cjs/engagement/api-rules.js +144 -157
- package/dist/cjs/engagement/auto-api.js +2 -2
- package/dist/cjs/engagement/auto-screen.d.ts +2 -0
- package/dist/cjs/engagement/auto-screen.js +67 -3
- package/dist/cjs/engagement/defined-events.js +1 -1
- package/dist/cjs/engagement/send.js +6 -1
- package/dist/cjs/engagement/session.d.ts +12 -3
- package/dist/cjs/engagement/session.js +161 -25
- package/dist/cjs/engagement/track.js +45 -20
- package/dist/cjs/errors/send.js +1 -1
- package/dist/cjs/errors/track.d.ts +1 -1
- package/dist/cjs/errors/track.js +46 -6
- package/dist/cjs/feedback/controls.d.ts +6 -0
- package/dist/cjs/feedback/controls.js +31 -1
- package/dist/cjs/feedback/index.d.ts +8 -7
- package/dist/cjs/feedback/index.js +32 -13
- package/dist/cjs/feedback/logs.d.ts +10 -5
- package/dist/cjs/feedback/logs.js +52 -13
- package/dist/cjs/feedback/quartz.d.ts +18 -0
- package/dist/cjs/feedback/quartz.js +105 -0
- package/dist/cjs/feedback/send.d.ts +3 -0
- package/dist/cjs/feedback/send.js +28 -3
- package/dist/cjs/feedback/styles.d.ts +10 -0
- package/dist/cjs/feedback/styles.js +8 -0
- package/dist/cjs/feedback/template.d.ts +1 -1
- package/dist/cjs/feedback/template.js +12 -12
- package/dist/cjs/feedback/ui.d.ts +14 -6
- package/dist/cjs/feedback/ui.js +126 -48
- package/dist/cjs/heatmap/send.js +1 -1
- package/dist/cjs/heatmap/track.d.ts +1 -1
- package/dist/cjs/heatmap/track.js +87 -16
- package/dist/cjs/index.d.ts +17 -63
- package/dist/cjs/index.js +104 -92
- package/dist/cjs/lifecycle.d.ts +8 -1
- package/dist/cjs/lifecycle.js +258 -62
- package/dist/cjs/remoteconfig/country.d.ts +4 -0
- package/dist/cjs/remoteconfig/country.js +73 -0
- package/dist/cjs/remoteconfig/custom.d.ts +7 -7
- package/dist/cjs/remoteconfig/custom.js +31 -51
- package/dist/cjs/remoteconfig/evaluate.d.ts +3 -3
- package/dist/cjs/remoteconfig/evaluate.js +56 -43
- package/dist/cjs/remoteconfig/fetch.d.ts +3 -3
- package/dist/cjs/remoteconfig/fetch.js +9 -23
- package/dist/cjs/remoteconfig/index.d.ts +10 -8
- package/dist/cjs/remoteconfig/index.js +65 -39
- package/dist/cjs/remoteconfig/store.js +1 -1
- package/dist/cjs/remoteconfig/tz-countries.d.ts +8 -0
- package/dist/cjs/remoteconfig/tz-countries.js +13 -0
- package/dist/cjs/remotelog/gate.d.ts +2 -11
- package/dist/cjs/remotelog/gate.js +9 -35
- package/dist/cjs/remotelog/index.d.ts +4 -21
- package/dist/cjs/remotelog/logger.d.ts +11 -17
- package/dist/cjs/remotelog/logger.js +30 -58
- package/dist/cjs/remotelog/send.js +10 -10
- package/dist/cjs/remotelogger/index.d.ts +12 -0
- package/dist/cjs/remotelogger/index.js +18 -0
- package/dist/cjs/scheduler.js +2 -2
- package/dist/cjs/types.d.ts +155 -82
- package/dist/cjs/user/index.js +11 -6
- package/dist/esm/auto-init.d.ts +3 -3
- package/dist/esm/auto-init.js +1 -1
- package/dist/esm/core/attempts.js +1 -1
- package/dist/esm/core/batch.js +2 -1
- package/dist/esm/core/callsite.d.ts +6 -0
- package/dist/esm/core/callsite.js +25 -4
- package/dist/esm/core/consent.d.ts +5 -1
- package/dist/esm/core/consent.js +9 -7
- package/dist/esm/core/constants.d.ts +35 -10
- package/dist/esm/core/constants.js +30 -15
- package/dist/esm/core/db.d.ts +12 -4
- package/dist/esm/core/db.js +164 -35
- package/dist/esm/core/debug.js +1 -1
- package/dist/esm/core/env.js +1 -1
- package/dist/esm/core/framework-id.d.ts +1 -1
- package/dist/esm/core/framework-id.js +3 -3
- package/dist/esm/core/guard.d.ts +9 -0
- package/dist/esm/core/guard.js +27 -14
- package/dist/esm/core/hooks.d.ts +2 -4
- package/dist/esm/core/hooks.js +2 -3
- package/dist/esm/core/locks.d.ts +9 -0
- package/dist/esm/core/locks.js +20 -0
- package/dist/esm/core/logger.d.ts +3 -4
- package/dist/esm/core/logger.js +4 -40
- package/dist/esm/core/state.d.ts +3 -2
- package/dist/esm/core/state.js +2 -2
- package/dist/esm/core/storage.d.ts +20 -5
- package/dist/esm/core/storage.js +113 -18
- package/dist/esm/core/stylesheet.d.ts +8 -0
- package/dist/esm/core/stylesheet.js +27 -0
- package/dist/esm/core/transport.d.ts +2 -0
- package/dist/esm/core/transport.js +19 -5
- package/dist/esm/core/utils.js +1 -1
- package/dist/esm/core/validate.js +2 -2
- package/dist/esm/device/appversion.d.ts +1 -6
- package/dist/esm/device/appversion.js +13 -2
- package/dist/esm/device/index.d.ts +11 -0
- package/dist/esm/device/index.js +123 -24
- package/dist/esm/engagement/api-rules.d.ts +32 -67
- package/dist/esm/engagement/api-rules.js +143 -155
- package/dist/esm/engagement/auto-api.js +3 -3
- package/dist/esm/engagement/auto-screen.d.ts +2 -0
- package/dist/esm/engagement/auto-screen.js +67 -4
- package/dist/esm/engagement/defined-events.js +1 -1
- package/dist/esm/engagement/send.js +6 -1
- package/dist/esm/engagement/session.d.ts +12 -3
- package/dist/esm/engagement/session.js +162 -29
- package/dist/esm/engagement/track.js +52 -27
- package/dist/esm/errors/send.js +1 -1
- package/dist/esm/errors/track.d.ts +1 -1
- package/dist/esm/errors/track.js +46 -6
- package/dist/esm/feedback/controls.d.ts +6 -0
- package/dist/esm/feedback/controls.js +31 -2
- package/dist/esm/feedback/index.d.ts +8 -7
- package/dist/esm/feedback/index.js +34 -13
- package/dist/esm/feedback/logs.d.ts +10 -5
- package/dist/esm/feedback/logs.js +54 -15
- package/dist/esm/feedback/quartz.d.ts +18 -0
- package/dist/esm/feedback/quartz.js +99 -0
- package/dist/esm/feedback/send.d.ts +3 -0
- package/dist/esm/feedback/send.js +28 -5
- package/dist/esm/feedback/styles.d.ts +10 -0
- package/dist/esm/feedback/styles.js +4 -0
- package/dist/esm/feedback/template.d.ts +1 -1
- package/dist/esm/feedback/template.js +12 -12
- package/dist/esm/feedback/ui.d.ts +14 -6
- package/dist/esm/feedback/ui.js +126 -49
- package/dist/esm/heatmap/send.js +1 -1
- package/dist/esm/heatmap/track.d.ts +1 -1
- package/dist/esm/heatmap/track.js +87 -16
- package/dist/esm/index.d.ts +17 -63
- package/dist/esm/index.js +108 -80
- package/dist/esm/lifecycle.d.ts +8 -1
- package/dist/esm/lifecycle.js +266 -71
- package/dist/esm/remoteconfig/country.d.ts +4 -0
- package/dist/esm/remoteconfig/country.js +70 -0
- package/dist/esm/remoteconfig/custom.d.ts +7 -7
- package/dist/esm/remoteconfig/custom.js +32 -52
- package/dist/esm/remoteconfig/evaluate.d.ts +3 -3
- package/dist/esm/remoteconfig/evaluate.js +57 -44
- package/dist/esm/remoteconfig/fetch.d.ts +3 -3
- package/dist/esm/remoteconfig/fetch.js +9 -23
- package/dist/esm/remoteconfig/index.d.ts +10 -8
- package/dist/esm/remoteconfig/index.js +66 -40
- package/dist/esm/remoteconfig/store.js +1 -1
- package/dist/esm/remoteconfig/tz-countries.d.ts +8 -0
- package/dist/esm/remoteconfig/tz-countries.js +11 -0
- package/dist/esm/remotelog/gate.d.ts +2 -11
- package/dist/esm/remotelog/gate.js +10 -32
- package/dist/esm/remotelog/index.d.ts +4 -21
- package/dist/esm/remotelog/logger.d.ts +11 -17
- package/dist/esm/remotelog/logger.js +32 -60
- package/dist/esm/remotelog/send.js +12 -12
- package/dist/esm/remotelogger/index.d.ts +12 -0
- package/dist/esm/remotelogger/index.js +13 -0
- package/dist/esm/scheduler.js +2 -2
- package/dist/esm/types.d.ts +155 -82
- package/dist/esm/user/index.js +12 -6
- package/dist/feedback.esm.min.js +2 -2
- package/dist/feedback.esm.min.js.map +1 -1
- package/package.json +14 -16
- package/dist/chunks/batch-BU_mTpm1.min.js +0 -3
- package/dist/chunks/batch-BU_mTpm1.min.js.map +0 -1
- package/dist/chunks/logs-Bea5zUW_.min.js +0 -3
- package/dist/chunks/logs-Bea5zUW_.min.js.map +0 -1
- package/dist/cjs/heatmap/index.d.ts +0 -16
- package/dist/cjs/heatmap/index.js +0 -22
- package/dist/cjs/remotelog/index.js +0 -55
- package/dist/esm/heatmap/index.d.ts +0 -16
- package/dist/esm/heatmap/index.js +0 -17
- package/dist/esm/remotelog/index.js +0 -51
- package/dist/heatmap.esm.min.js +0 -3
- package/dist/heatmap.esm.min.js.map +0 -1
- package/dist/style.css +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
|
|
2
|
+
/**
|
|
3
|
+
* The country of every IANA time zone, by its ISO 3166 code: generated by
|
|
4
|
+
* scripts/tz-countries.mjs from tzdata 2026d-rearguard (zone.tab, and the old names its links keep).
|
|
5
|
+
* Do not edit by hand.
|
|
6
|
+
*
|
|
7
|
+
* Packed as "CC:Area/City,City|Area/City;CC:...": a country, then its zones grouped by area.
|
|
8
|
+
*/
|
|
9
|
+
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
|
|
10
|
+
|
|
11
|
+
export { TZ_COUNTRIES };
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
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,24 +1,17 @@
|
|
|
1
|
-
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
|
|
2
|
-
import {
|
|
1
|
+
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
|
|
2
|
+
import { _ZAP } from '../core/state.js';
|
|
3
3
|
import { is_apptics_disabled } from '../core/env.js';
|
|
4
4
|
import { shouldTrackOrSendData } from '../core/consent.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* The one switch both halves of the remote logger ask: may this line be recorded, and may
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
appLoggerOn = on;
|
|
14
|
-
}
|
|
15
|
-
function appLoggerEnabled() {
|
|
16
|
-
return appLoggerOn;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* What every remote-log line needs, whoever wrote it: a running SDK, a client we send anything
|
|
20
|
-
* for, the server's remote logger switch, and consent.
|
|
7
|
+
* The one switch both halves of the remote logger ask: may this line be recorded, and may what is
|
|
8
|
+
* stored be sent? It lives on its own so recording and sending don't import each other.
|
|
9
|
+
*
|
|
10
|
+
* There is no switch of the app's own: a line the app writes with AppticsLogger is recorded,
|
|
11
|
+
* whenever the SDK is running, the server has the remote logger on for the app, and the visitor
|
|
12
|
+
* allows tracking.
|
|
21
13
|
*/
|
|
14
|
+
/** Whether a remote log line may be recorded and sent now. */
|
|
22
15
|
function remoteLoggerReachable() {
|
|
23
16
|
if (!_ZAP._token || is_apptics_disabled()) {
|
|
24
17
|
return false;
|
|
@@ -29,20 +22,5 @@ function remoteLoggerReachable() {
|
|
|
29
22
|
}
|
|
30
23
|
return shouldTrackOrSendData();
|
|
31
24
|
}
|
|
32
|
-
/** The SDK's own diagnostics may be recorded: `remote_log` is on and the logger is reachable. */
|
|
33
|
-
function remoteLogEnabled() {
|
|
34
|
-
return getConfig('remote_log') && remoteLoggerReachable(); // no i18n
|
|
35
|
-
}
|
|
36
|
-
/** An app's own log line may be recorded: the app enabled the logger and it is reachable. */
|
|
37
|
-
function appLogEnabled() {
|
|
38
|
-
return appLoggerOn && remoteLoggerReachable();
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* What is stored may be sent. Either writer is enough: app logging works with `remote_log`
|
|
42
|
-
* off, since that switch covers only the SDK's own diagnostics.
|
|
43
|
-
*/
|
|
44
|
-
function remoteLogSendable() {
|
|
45
|
-
return (getConfig('remote_log') || appLoggerOn) && remoteLoggerReachable(); // no i18n
|
|
46
|
-
}
|
|
47
25
|
|
|
48
|
-
export {
|
|
26
|
+
export { remoteLoggerReachable };
|
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Remote logger: the
|
|
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
|
-
*
|
|
5
|
-
*
|
|
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
|
-
/**
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
|
|
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
|
-
/**
|
|
21
|
+
/** AppticsLogger: verbose / debug / info / warn / error(message, properties?). */
|
|
28
22
|
export declare const AppticsLogger: AppticsLogger;
|
|
@@ -1,28 +1,24 @@
|
|
|
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
|
import { LOG_FUNCTION_MAX } from '../core/constants.js';
|
|
3
3
|
import { callSite } from '../core/callsite.js';
|
|
4
|
-
import {
|
|
4
|
+
import { remotelog_transactions } from '../core/storage.js';
|
|
5
5
|
import { guard } from '../core/guard.js';
|
|
6
6
|
import { nowMs } from '../core/utils.js';
|
|
7
|
-
import {
|
|
8
|
-
import { appLoggerEnabled, setAppLogger, appLogEnabled } from './gate.js';
|
|
7
|
+
import { remoteLoggerReachable } from './gate.js';
|
|
9
8
|
import { scheduleSend } from './send.js';
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
|
-
* AppticsLogger
|
|
11
|
+
* AppticsLogger: lines the app writes, shown on the console's Remote Logger page.
|
|
13
12
|
*
|
|
14
|
-
* AppticsLogger.
|
|
15
|
-
* AppticsLogger.
|
|
16
|
-
* AppticsLogger.e('Checkout', 'Payment failed', err);
|
|
13
|
+
* AppticsLogger.info('Payment started');
|
|
14
|
+
* AppticsLogger.error('Payment failed', err);
|
|
17
15
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
16
|
+
* Nothing is logged on its own: only the lines the app writes, at five levels in the native SDKs'
|
|
17
|
+
* order (verbose, debug, info, warn, error, sent as 1 to 5, the scale the Remote Logger page reads
|
|
18
|
+
* back). A line is recorded as it is written, with no switch to turn on first, whenever the server
|
|
19
|
+
* has the remote logger on for the app and the visitor allows tracking.
|
|
22
20
|
*
|
|
23
|
-
* Lines
|
|
24
|
-
* they are sent and survive a failed send and a reload. They are a separate switch, though:
|
|
25
|
-
* `remote_log: false` silences the SDK's own failures, not the app's logging.
|
|
21
|
+
* Lines are stored before they are sent (send.ts), so they survive a failed send and a reload.
|
|
26
22
|
*/
|
|
27
23
|
/** The level numbers log/add takes and the Remote Logger page names, in the native SDKs' order. */
|
|
28
24
|
const LOG_LEVEL = Object.freeze({ VERBOSE: 1, DEBUG: 2, INFO: 3, WARN: 4, ERROR: 5 });
|
|
@@ -61,11 +57,12 @@ function describe(value) {
|
|
|
61
57
|
* it — which is why the time and call site are taken by the caller, not here.
|
|
62
58
|
*/
|
|
63
59
|
function record(level, message, details, at, site) {
|
|
64
|
-
if (!
|
|
60
|
+
if (!remoteLoggerReachable()) {
|
|
65
61
|
return;
|
|
66
62
|
}
|
|
67
63
|
var text = [message].concat(details).map(describe).join(' '); // no i18n
|
|
68
|
-
|
|
64
|
+
remotelog_transactions.add({
|
|
65
|
+
type: 'remotelog', // no i18n
|
|
69
66
|
module: functionName(site),
|
|
70
67
|
level: level,
|
|
71
68
|
happenedat: at,
|
|
@@ -77,60 +74,35 @@ function record(level, message, details, at, site) {
|
|
|
77
74
|
scheduleSend();
|
|
78
75
|
}
|
|
79
76
|
const recordLine = guard('AppticsLogger', record); // no i18n
|
|
80
|
-
/** The browser console method each level prints with under `show_logs`, as Logcat shows them. */
|
|
81
|
-
const CONSOLE_METHOD = Object.freeze({
|
|
82
|
-
1: 'debug', 2: 'debug', 3: 'info', 4: 'warn', 5: 'error', // no i18n
|
|
83
|
-
});
|
|
84
77
|
/**
|
|
85
|
-
*
|
|
86
|
-
* the
|
|
87
|
-
*
|
|
78
|
+
* A level's method, `verbose/debug/info/warn/error(message, properties?)` (Android's v/d/i/w/e,
|
|
79
|
+
* without the tag, which the Remote Logger page does not use). The function, file and line are
|
|
80
|
+
* the caller's.
|
|
88
81
|
*/
|
|
89
|
-
function
|
|
90
|
-
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
var method = CONSOLE_METHOD[level] || 'log'; // no i18n
|
|
94
|
-
if (typeof console !== 'undefined' && typeof console[method] === 'function') { // no i18n
|
|
95
|
-
console[method].apply(console, args);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* A level's Android-style method, `v/d/i/w/e(tag, message, ...details)`. The tag leads the
|
|
100
|
-
* message as `[tag]`; the function, file and line are still the caller's, as with the long names.
|
|
101
|
-
*/
|
|
102
|
-
function tagged(level) {
|
|
103
|
-
return function (tag, message, ...details) {
|
|
82
|
+
function atLevel(level) {
|
|
83
|
+
return function log(message, properties) {
|
|
104
84
|
try {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
85
|
+
void properties;
|
|
86
|
+
// everything after the message is appended to it: properties, and anything else a caller
|
|
87
|
+
// passed (an Error as well, say), as before
|
|
88
|
+
var details = Array.prototype.slice.call(arguments, 1);
|
|
108
89
|
// skip 1: this function's own frame, so the site is the app's line that logged
|
|
109
|
-
recordLine(level,
|
|
90
|
+
recordLine(level, message, details, nowMs(), callSite(1));
|
|
110
91
|
}
|
|
111
92
|
catch (err) {
|
|
112
93
|
// logging must never be the thing that breaks the app
|
|
113
94
|
}
|
|
114
95
|
};
|
|
115
96
|
}
|
|
116
|
-
/**
|
|
117
|
-
function enable(on) {
|
|
118
|
-
setAppLogger(on !== false);
|
|
119
|
-
}
|
|
120
|
-
/** Turns the app logger off, as AppticsLogger.disable() does; the same as enable(false). */
|
|
121
|
-
function disable() {
|
|
122
|
-
setAppLogger(false);
|
|
123
|
-
}
|
|
124
|
-
/** Android's AppticsLogger: enable, disable, isEnabled and v / d / i / w / e(tag, message). */
|
|
97
|
+
/** AppticsLogger: verbose / debug / info / warn / error(message, properties?). */
|
|
125
98
|
const AppticsLogger = {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
e: tagged(LOG_LEVEL.ERROR),
|
|
99
|
+
// not wrapped in a guard of their own: the call site is read a fixed number of frames up, and
|
|
100
|
+
// a frame more would report the SDK's own line instead of the app's
|
|
101
|
+
verbose: atLevel(LOG_LEVEL.VERBOSE),
|
|
102
|
+
debug: atLevel(LOG_LEVEL.DEBUG),
|
|
103
|
+
info: atLevel(LOG_LEVEL.INFO),
|
|
104
|
+
warn: atLevel(LOG_LEVEL.WARN),
|
|
105
|
+
error: atLevel(LOG_LEVEL.ERROR),
|
|
134
106
|
};
|
|
135
107
|
|
|
136
108
|
export { AppticsLogger, LOG_LEVEL };
|
|
@@ -1,11 +1,11 @@
|
|
|
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
|
import { LOG_FUNCTION_MAX, CONSOLE_LOG_MAX_BODY, REMOTE_LOG_LEVEL, LOG_FILENAME_MAX } from '../core/constants.js';
|
|
3
3
|
import { _ZAP } from '../core/state.js';
|
|
4
4
|
import { warnAlways, Console } from '../core/logger.js';
|
|
5
5
|
import { nowMs, isEmpty } from '../core/utils.js';
|
|
6
|
-
import {
|
|
6
|
+
import { remotelog_transactions } from '../core/storage.js';
|
|
7
7
|
import { postToApptics, apiHeaders, isPermanentRefusal, getMetaObj, postKeepalive } from '../core/transport.js';
|
|
8
|
-
import {
|
|
8
|
+
import { remoteLoggerReachable } from './gate.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Delivery for the remote logger.
|
|
@@ -85,7 +85,7 @@ function trim(items) {
|
|
|
85
85
|
if (keepFrom === 0) {
|
|
86
86
|
return items;
|
|
87
87
|
}
|
|
88
|
-
|
|
88
|
+
remotelog_transactions.remove(items.slice(0, keepFrom));
|
|
89
89
|
return items.slice(keepFrom);
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
@@ -93,21 +93,21 @@ function trim(items) {
|
|
|
93
93
|
* retrying it could only fail the same way and would hold every later line behind it.
|
|
94
94
|
*/
|
|
95
95
|
function sendStoredLogs() {
|
|
96
|
-
if (sending || !
|
|
96
|
+
if (sending || !remoteLoggerReachable() || navigator.onLine === false) {
|
|
97
97
|
return Promise.resolve();
|
|
98
98
|
}
|
|
99
99
|
sending = true;
|
|
100
|
-
return
|
|
100
|
+
return remotelog_transactions.all().then(function (stored) {
|
|
101
101
|
var batch = trim(stored).slice(0, MAX_PER_BATCH);
|
|
102
102
|
if (batch.length === 0) {
|
|
103
103
|
return undefined;
|
|
104
104
|
}
|
|
105
105
|
return postToApptics('consolelog', bodyFor(batch), apiHeaders(), LABEL).then(function () {
|
|
106
|
-
return
|
|
106
|
+
return remotelog_transactions.remove(batch);
|
|
107
107
|
}, function (err) {
|
|
108
108
|
if (isPermanentRefusal(err)) {
|
|
109
109
|
warnAlways('apptics: the server refused these log lines, so they were dropped: ' + String(err && err.message)); // no i18n
|
|
110
|
-
return
|
|
110
|
+
return remotelog_transactions.remove(batch);
|
|
111
111
|
}
|
|
112
112
|
Console.log(LABEL + ': ' + String(err)); // no i18n
|
|
113
113
|
return undefined;
|
|
@@ -124,20 +124,20 @@ function sendStoredLogs() {
|
|
|
124
124
|
* stay stored until the server has confirmed them.
|
|
125
125
|
*/
|
|
126
126
|
function forgetStoredLogs() {
|
|
127
|
-
if (!
|
|
127
|
+
if (!remoteLoggerReachable()) {
|
|
128
128
|
return Promise.resolve();
|
|
129
129
|
}
|
|
130
|
-
return
|
|
130
|
+
return remotelog_transactions.all().then(function (stored) {
|
|
131
131
|
if (stored.length === 0) {
|
|
132
132
|
return undefined;
|
|
133
133
|
}
|
|
134
134
|
var batch = stored.slice(0, MAX_PER_BATCH);
|
|
135
135
|
// removed once the server has them; lines whose answer never comes go on the next visit
|
|
136
136
|
postKeepalive('consolelog', bodyFor(batch), apiHeaders(), LABEL).then(function () {
|
|
137
|
-
return
|
|
137
|
+
return remotelog_transactions.remove(batch);
|
|
138
138
|
}, function (err) {
|
|
139
139
|
if (isPermanentRefusal(err)) {
|
|
140
|
-
return
|
|
140
|
+
return remotelog_transactions.remove(batch);
|
|
141
141
|
}
|
|
142
142
|
Console.log(LABEL + ': ' + String(err)); // no i18n
|
|
143
143
|
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,13 @@
|
|
|
1
|
+
/*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
|
|
2
|
+
import { AppticsLogger } from '../remotelog/logger.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The app logger, shipped as its own entry point:
|
|
6
|
+
* import { AppticsLogger } from '@zoho_apptics/apptics-js-sdk/remote-logger';
|
|
7
|
+
*
|
|
8
|
+
* AppticsLogger: verbose / debug / info / warn / error(message, props?), shown on the
|
|
9
|
+
* console's Remote Logger page. A line is recorded as it is written, with no switch to turn on.
|
|
10
|
+
* Apps that don't import it don't ship it.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export { AppticsLogger, AppticsLogger as default };
|
package/dist/esm/scheduler.js
CHANGED
|
@@ -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
|
import { _ZAP, getConfig } from './core/state.js';
|
|
3
3
|
import { nowMs } from './core/utils.js';
|
|
4
4
|
import { Console } from './core/logger.js';
|
|
@@ -23,7 +23,7 @@ function flush(forget) {
|
|
|
23
23
|
return sendEngagementData(forget).then(function () {
|
|
24
24
|
return sendErrorData(forget);
|
|
25
25
|
}).then(function () {
|
|
26
|
-
//
|
|
26
|
+
// the hook heatmap/send.ts sets
|
|
27
27
|
return hooks.sendHeatmaps(forget);
|
|
28
28
|
});
|
|
29
29
|
}
|