@openreplay/tracker 3.6.1 → 3.6.5

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 (90) hide show
  1. package/.eslintignore +1 -1
  2. package/LICENSE +1 -1
  3. package/cjs/app/guards.d.ts +1 -2
  4. package/cjs/app/guards.js +1 -5
  5. package/cjs/app/index.d.ts +13 -16
  6. package/cjs/app/index.js +45 -47
  7. package/cjs/app/nodes.d.ts +1 -1
  8. package/cjs/app/nodes.js +0 -2
  9. package/cjs/app/observer/iframe_observer.js +2 -2
  10. package/cjs/app/observer/observer.js +13 -13
  11. package/cjs/app/observer/shadow_root_observer.js +2 -2
  12. package/cjs/app/observer/top_observer.d.ts +0 -11
  13. package/cjs/app/observer/top_observer.js +12 -46
  14. package/cjs/app/session.d.ts +0 -6
  15. package/cjs/app/session.js +0 -46
  16. package/cjs/common/messages.d.ts +444 -0
  17. package/cjs/common/messages.js +743 -0
  18. package/cjs/common/types.d.ts +9 -0
  19. package/cjs/common/{interaction.js → types.js} +0 -0
  20. package/cjs/common/{interaction.d.ts → webworker.d.ts} +3 -3
  21. package/cjs/common/{messages.gen.js → webworker.js} +0 -1
  22. package/cjs/index.d.ts +2 -2
  23. package/cjs/index.js +9 -14
  24. package/cjs/modules/connection.js +2 -2
  25. package/cjs/modules/console.js +20 -6
  26. package/cjs/modules/cssrules.js +12 -16
  27. package/cjs/modules/exception.d.ts +2 -2
  28. package/cjs/modules/exception.js +12 -16
  29. package/cjs/modules/img.js +21 -31
  30. package/cjs/modules/input.js +6 -6
  31. package/cjs/modules/longtasks.d.ts +2 -0
  32. package/cjs/modules/longtasks.js +34 -0
  33. package/cjs/modules/mouse.js +33 -42
  34. package/cjs/modules/performance.js +2 -2
  35. package/cjs/modules/scroll.js +7 -16
  36. package/cjs/modules/timing.js +4 -4
  37. package/cjs/modules/viewport.js +4 -4
  38. package/lib/app/guards.d.ts +1 -2
  39. package/lib/app/guards.js +0 -3
  40. package/lib/app/index.d.ts +13 -16
  41. package/lib/app/index.js +46 -48
  42. package/lib/app/nodes.d.ts +1 -1
  43. package/lib/app/nodes.js +0 -2
  44. package/lib/app/observer/iframe_observer.js +1 -1
  45. package/lib/app/observer/observer.js +12 -12
  46. package/lib/app/observer/shadow_root_observer.js +1 -1
  47. package/lib/app/observer/top_observer.d.ts +0 -11
  48. package/lib/app/observer/top_observer.js +12 -46
  49. package/lib/app/session.d.ts +0 -6
  50. package/lib/app/session.js +0 -46
  51. package/lib/common/messages.d.ts +444 -0
  52. package/lib/common/messages.js +739 -0
  53. package/lib/common/tsconfig.tsbuildinfo +1 -1
  54. package/lib/common/types.d.ts +9 -0
  55. package/lib/common/{interaction.js → types.js} +0 -0
  56. package/lib/common/{interaction.d.ts → webworker.d.ts} +3 -3
  57. package/lib/common/webworker.js +1 -0
  58. package/lib/index.d.ts +2 -2
  59. package/lib/index.js +9 -14
  60. package/lib/modules/connection.js +2 -2
  61. package/lib/modules/console.js +20 -6
  62. package/lib/modules/cssrules.js +12 -16
  63. package/lib/modules/exception.d.ts +2 -2
  64. package/lib/modules/exception.js +12 -16
  65. package/lib/modules/img.js +21 -31
  66. package/lib/modules/input.js +6 -6
  67. package/lib/modules/longtasks.d.ts +2 -0
  68. package/lib/modules/longtasks.js +31 -0
  69. package/lib/modules/mouse.js +34 -43
  70. package/lib/modules/performance.js +2 -2
  71. package/lib/modules/scroll.js +8 -17
  72. package/lib/modules/timing.js +4 -4
  73. package/lib/modules/viewport.js +4 -4
  74. package/package.json +4 -3
  75. package/.prettierignore +0 -1
  76. package/cjs/app/messages.d.ts +0 -52
  77. package/cjs/app/messages.gen.d.ts +0 -57
  78. package/cjs/app/messages.gen.js +0 -493
  79. package/cjs/app/messages.js +0 -234
  80. package/cjs/common/messages.gen.d.ts +0 -382
  81. package/cjs/modules/adoptedStyleSheets.d.ts +0 -2
  82. package/cjs/modules/adoptedStyleSheets.js +0 -127
  83. package/lib/app/messages.d.ts +0 -52
  84. package/lib/app/messages.gen.d.ts +0 -57
  85. package/lib/app/messages.gen.js +0 -434
  86. package/lib/app/messages.js +0 -181
  87. package/lib/common/messages.gen.d.ts +0 -382
  88. package/lib/common/messages.gen.js +0 -2
  89. package/lib/modules/adoptedStyleSheets.d.ts +0 -2
  90. package/lib/modules/adoptedStyleSheets.js +0 -124
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../src/common/messages.gen.ts","../../src/common/interaction.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/resolve/index.d.ts"],"fileInfos":[{"version":"ca3c1cd7464b613bf148a1422cb3201fe083e08565a02dc99eaad0d2977c16a7","affectsGlobalScope":true,"impliedFormat":1},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true,"impliedFormat":1},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"ca06fa264234f5895ebfe13ec1f578ee1c18a0d02219a54c3cdad296686251cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true,"impliedFormat":1},"1894830df5c4f48f2c9aaff16dbf9d0762bbbb1e739feae0e24df8d1fb5b2b40","68dcaf7bcaafa00e059a6c32fc519773fccdedbe51ba80c8962a944c36e5a77e","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true,"impliedFormat":1},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true,"impliedFormat":1},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","34ec1daf3566f26c43dbab380af0de1aac29166e57e4f9ef379a2f154e0cb290","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true,"impliedFormat":1},"2f60ac046e587e917d739f1edc77540eb0ec34f83090dae4ebd5f96c1c9578d4","a9b6b0f7b1e30359283b131ba6d1c51ee2d3601a2f12e1623141e6a1a60c92a5","aeee0090b38de0dd47ca9a79ad5c2d156e3e09d92306719b0b45a3e96098e564","7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","09416dd69576b03a3f485adf329a02f043e4a481e060ef5b208194e488d31fd9","8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","d270fd4b565eda11a0a737c181892316b7a1ace06c7988d0246219c3df11db06","4275d5f964e7fc7afc18538e26b3748c207dd772998346d17f409749aa1f3a63",{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true,"impliedFormat":1},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","556bf5c36deb62cffa1bf697c1789fe008ec82db0273025001db66732714e9d9","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true,"impliedFormat":1},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","653968fc1b35c5eb3d273d36fac1c1dc66f9537edf28f33485b8776bd956e23d",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true,"impliedFormat":1},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true,"impliedFormat":1},"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},"64d5585e08ad1ab194b18bf4e851f22a626eae33ac7312ca4ba90bb7ea7daf64","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede"],"options":{"composite":true,"declaration":true,"module":5,"noImplicitAny":true,"noImplicitThis":true,"outDir":"..","rootDir":"../../src","strictNullChecks":true,"target":2},"fileIdsList":[[86],[57,58,86,93,94],[42,86],[45,86],[46,51,86],[47,57,58,65,74,85,86],[47,48,57,65,86],[49,86],[50,51,58,66,86],[51,74,82,86],[52,54,57,65,86],[53,86],[54,55,86],[56,57,86],[57,86],[57,58,59,74,85,86],[57,58,59,74,77,86],[86,90],[60,65,74,85,86],[57,58,60,61,65,74,82,85,86],[60,62,74,82,85,86],[42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92],[57,63,86],[64,85,86],[54,57,65,74,86],[66,86],[67,86],[45,68,86],[69,84,86,90],[70,86],[71,86],[57,72,86],[72,73,86,88],[57,74,75,76,77,86],[74,76,86],[74,75,86],[77,86],[78,86],[57,80,81,86],[80,81,86],[51,65,74,82,86],[83,86],[65,84,86],[46,60,71,85,86],[51,86],[74,86,87],[86,88],[86,89],[46,51,57,59,68,74,85,86,88,90],[74,86,91],[86,93],[39,86]],"referencedMap":[[41,1],[95,2],[96,1],[94,1],[42,3],[43,3],[45,4],[46,5],[47,6],[48,7],[49,8],[50,9],[51,10],[52,11],[53,12],[54,13],[55,13],[56,14],[57,15],[58,16],[59,17],[44,18],[92,1],[60,19],[61,20],[62,21],[93,22],[63,23],[64,24],[65,25],[66,26],[67,27],[68,28],[69,29],[70,30],[71,31],[72,32],[73,33],[74,34],[76,35],[75,36],[77,37],[78,38],[79,1],[80,39],[81,40],[82,41],[83,42],[84,43],[85,44],[86,45],[87,46],[88,47],[89,48],[90,49],[91,50],[97,51],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[37,1],[33,1],[34,1],[35,1],[36,1],[1,1],[38,1],[40,52],[39,1]],"exportedModulesMap":[[41,1],[95,2],[96,1],[94,1],[42,3],[43,3],[45,4],[46,5],[47,6],[48,7],[49,8],[50,9],[51,10],[52,11],[53,12],[54,13],[55,13],[56,14],[57,15],[58,16],[59,17],[44,18],[92,1],[60,19],[61,20],[62,21],[93,22],[63,23],[64,24],[65,25],[66,26],[67,27],[68,28],[69,29],[70,30],[71,31],[72,32],[73,33],[74,34],[76,35],[75,36],[77,37],[78,38],[79,1],[80,39],[81,40],[82,41],[83,42],[84,43],[85,44],[86,45],[87,46],[88,47],[89,48],[90,49],[91,50],[97,51],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[37,1],[33,1],[34,1],[35,1],[36,1],[1,1],[38,1],[40,52],[39,1]],"semanticDiagnosticsPerFile":[41,95,96,94,42,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,44,92,60,61,62,93,63,64,65,66,67,68,69,70,71,72,73,74,76,75,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,97,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,40,39]},"version":"4.6.0-dev.20211126"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../src/common/types.ts","../../src/common/messages.ts","../../src/common/webworker.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/resolve/index.d.ts"],"fileInfos":[{"version":"ca3c1cd7464b613bf148a1422cb3201fe083e08565a02dc99eaad0d2977c16a7","affectsGlobalScope":true,"impliedFormat":1},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true,"impliedFormat":1},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"ca06fa264234f5895ebfe13ec1f578ee1c18a0d02219a54c3cdad296686251cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true,"impliedFormat":1},"2aeaaa3adfeae9052235f6f7f8118c5c276807d3c1d720b7c9a5987b857df947","85b5a05dd313d7e302b17f2ace389ef570cfc8d00cba087189f014c81cf552a0","814dbbf8b3638a1412184d18b1e4226d38d720a7c25520cf383076793088ac65","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true,"impliedFormat":1},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true,"impliedFormat":1},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","025fc13211ed47d2798269017af3ec869122a050d5431a6ad3c1997900e65c58","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true,"impliedFormat":1},"2f60ac046e587e917d739f1edc77540eb0ec34f83090dae4ebd5f96c1c9578d4","a9b6b0f7b1e30359283b131ba6d1c51ee2d3601a2f12e1623141e6a1a60c92a5","aeee0090b38de0dd47ca9a79ad5c2d156e3e09d92306719b0b45a3e96098e564","7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","09416dd69576b03a3f485adf329a02f043e4a481e060ef5b208194e488d31fd9","8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","d270fd4b565eda11a0a737c181892316b7a1ace06c7988d0246219c3df11db06","4275d5f964e7fc7afc18538e26b3748c207dd772998346d17f409749aa1f3a63",{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true,"impliedFormat":1},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","12a70315c8281e46d65696086dd25827408e967b305a22276ae2779fe519e0fe","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true,"impliedFormat":1},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","29d613c3964ea75b2b4e0d17098245c34529282e9cc72b7e4eeb2a7b12c27cb7",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true,"impliedFormat":1},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true,"impliedFormat":1},"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},"82fc37849846a3a0264047621d5beb6ce2ddeb2f83bdee2c79523af3c3282d97","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede"],"options":{"composite":true,"declaration":true,"module":5,"noImplicitAny":true,"noImplicitThis":true,"outDir":"..","rootDir":"../../src","strictNullChecks":true,"target":2},"fileIdsList":[[87],[58,59,87,94,95],[43,87],[46,87],[47,52,87],[48,58,59,66,75,86,87],[48,49,58,66,87],[50,87],[51,52,59,67,87],[52,75,83,87],[53,55,58,66,87],[54,87],[55,56,87],[57,58,87],[58,87],[58,59,60,75,86,87],[58,59,60,75,78,87],[87,91],[61,66,75,86,87],[58,59,61,62,66,75,83,86,87],[61,63,75,83,86,87],[43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],[58,64,87],[65,86,87],[55,58,66,75,87],[67,87],[68,87],[46,69,87],[70,85,87,91],[71,87],[72,87],[58,73,87],[73,74,87,89],[58,75,76,77,78,87],[75,77,87],[75,76,87],[78,87],[79,87],[58,81,82,87],[81,82,87],[52,66,75,83,87],[84,87],[66,85,87],[47,61,72,86,87],[52,87],[75,87,88],[87,89],[87,90],[47,52,58,60,69,75,86,87,89,91],[75,87,92],[87,94],[39,87]],"referencedMap":[[42,1],[96,2],[97,1],[95,1],[43,3],[44,3],[46,4],[47,5],[48,6],[49,7],[50,8],[51,9],[52,10],[53,11],[54,12],[55,13],[56,13],[57,14],[58,15],[59,16],[60,17],[45,18],[93,1],[61,19],[62,20],[63,21],[94,22],[64,23],[65,24],[66,25],[67,26],[68,27],[69,28],[70,29],[71,30],[72,31],[73,32],[74,33],[75,34],[77,35],[76,36],[78,37],[79,38],[80,1],[81,39],[82,40],[83,41],[84,42],[85,43],[86,44],[87,45],[88,46],[89,47],[90,48],[91,49],[92,50],[98,51],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[37,1],[33,1],[34,1],[35,1],[36,1],[1,1],[38,1],[40,52],[39,1],[41,1]],"exportedModulesMap":[[42,1],[96,2],[97,1],[95,1],[43,3],[44,3],[46,4],[47,5],[48,6],[49,7],[50,8],[51,9],[52,10],[53,11],[54,12],[55,13],[56,13],[57,14],[58,15],[59,16],[60,17],[45,18],[93,1],[61,19],[62,20],[63,21],[94,22],[64,23],[65,24],[66,25],[67,26],[68,27],[69,28],[70,29],[71,30],[72,31],[73,32],[74,33],[75,34],[77,35],[76,36],[78,37],[79,38],[80,1],[81,39],[82,40],[83,41],[84,42],[85,43],[86,44],[87,45],[88,46],[89,47],[90,48],[91,49],[92,50],[98,51],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[37,1],[33,1],[34,1],[35,1],[36,1],[1,1],[38,1],[40,52],[39,1],[41,1]],"semanticDiagnosticsPerFile":[42,96,97,95,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,45,93,61,62,63,94,64,65,66,67,68,69,70,71,72,73,74,75,77,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,98,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,40,39,41]},"version":"4.6.0-dev.20211126"}
@@ -0,0 +1,9 @@
1
+ export interface Writer {
2
+ uint(n: number): boolean;
3
+ int(n: number): boolean;
4
+ string(s: string): boolean;
5
+ boolean(b: boolean): boolean;
6
+ }
7
+ export interface Message {
8
+ encode(w: Writer): boolean;
9
+ }
File without changes
@@ -1,4 +1,3 @@
1
- import Message from './messages.gen.js';
2
1
  export interface Options {
3
2
  connAttemptCount?: number;
4
3
  connAttemptGap?: number;
@@ -8,12 +7,13 @@ declare type Start = {
8
7
  ingestPoint: string;
9
8
  pageNo: number;
10
9
  timestamp: number;
11
- url: string;
12
10
  } & Options;
13
11
  declare type Auth = {
14
12
  type: 'auth';
15
13
  token: string;
16
14
  beaconSizeLimit?: number;
17
15
  };
18
- export declare type WorkerMessageData = null | 'stop' | Start | Auth | Array<Message>;
16
+ export declare type WorkerMessageData = null | 'stop' | Start | Auth | Array<{
17
+ _id: number;
18
+ }>;
19
19
  export {};
@@ -0,0 +1 @@
1
+ export {};
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import App from './app/index.js';
2
2
  export { default as App } from './app/index.js';
3
- import * as _Messages from './app/messages.gen.js';
3
+ import * as _Messages from './common/messages.js';
4
4
  export declare const Messages: typeof _Messages;
5
5
  import type { Options as AppOptions } from './app/index.js';
6
6
  import type { Options as ConsoleOptions } from './modules/console.js';
@@ -25,7 +25,7 @@ export default class API {
25
25
  use<T>(fn: (app: App | null, options?: Options) => T): T;
26
26
  isActive(): boolean;
27
27
  start(startOpts?: Partial<StartOptions>): Promise<StartPromiseReturn>;
28
- stop(): string | undefined;
28
+ stop(): void;
29
29
  getSessionToken(): string | null | undefined;
30
30
  getSessionID(): string | null | undefined;
31
31
  sessionID(): string | null | undefined;
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import App, { DEFAULT_INGEST_POINT } from './app/index.js';
2
2
  export { default as App } from './app/index.js';
3
- import { UserAnonymousID, RawCustomEvent, CustomIssue } from './app/messages.gen.js';
4
- import * as _Messages from './app/messages.gen.js';
3
+ import { UserAnonymousID, RawCustomEvent, CustomIssue, } from './common/messages.js';
4
+ import * as _Messages from './common/messages.js';
5
5
  export const Messages = _Messages;
6
6
  import Connection from './modules/connection.js';
7
7
  import Console from './modules/console.js';
@@ -14,7 +14,6 @@ import Performance from './modules/performance.js';
14
14
  import Scroll from './modules/scroll.js';
15
15
  import Viewport from './modules/viewport.js';
16
16
  import CSSRules from './modules/cssrules.js';
17
- import AdoptedStyleSheets from './modules/adoptedStyleSheets.js';
18
17
  import { IN_BROWSER, deprecationWarn, DOCS_HOST } from './utils.js';
19
18
  const DOCS_SETUP = '/installation/setup-or';
20
19
  function processOptions(obj) {
@@ -39,8 +38,8 @@ function processOptions(obj) {
39
38
  obj.projectKey = obj.projectKey.toString();
40
39
  }
41
40
  }
42
- if (obj.sessionToken != null) {
43
- deprecationWarn('`sessionToken` option', '`sessionHash` start() option', '/');
41
+ if (typeof obj.sessionToken !== 'string' && obj.sessionToken != null) {
42
+ console.warn(`OpenReplay: invalid options argument type. Please, check documentation on ${DOCS_HOST}${DOCS_SETUP}`);
44
43
  }
45
44
  return true;
46
45
  }
@@ -93,7 +92,6 @@ export default class API {
93
92
  if (app !== null) {
94
93
  Viewport(app);
95
94
  CSSRules(app);
96
- AdoptedStyleSheets(app);
97
95
  Connection(app);
98
96
  Console(app, options);
99
97
  Exception(app, options);
@@ -127,7 +125,7 @@ export default class API {
127
125
  // no-cors issue only with text/plain or not-set Content-Type
128
126
  // req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
129
127
  req.send(JSON.stringify({
130
- trackerVersion: '3.6.1',
128
+ trackerVersion: '3.6.4',
131
129
  projectKey: options.projectKey,
132
130
  doNotTrack,
133
131
  // TODO: add precise reason (an exact API missing)
@@ -158,10 +156,7 @@ export default class API {
158
156
  if (this.app === null) {
159
157
  return;
160
158
  }
161
- this.app.stop();
162
- const sessionHash = this.app.session.getSessionHash();
163
- this.app.session.reset();
164
- return sessionHash;
159
+ this.app.stop(true);
165
160
  }
166
161
  getSessionToken() {
167
162
  if (this.app === null) {
@@ -196,7 +191,7 @@ export default class API {
196
191
  }
197
192
  setUserAnonymousID(id) {
198
193
  if (typeof id === 'string' && this.app !== null) {
199
- this.app.send(UserAnonymousID(id));
194
+ this.app.send(new UserAnonymousID(id));
200
195
  }
201
196
  }
202
197
  userAnonymousID(id) {
@@ -224,7 +219,7 @@ export default class API {
224
219
  catch (e) {
225
220
  return;
226
221
  }
227
- this.app.send(RawCustomEvent(key, payload));
222
+ this.app.send(new RawCustomEvent(key, payload));
228
223
  }
229
224
  }
230
225
  }
@@ -236,7 +231,7 @@ export default class API {
236
231
  catch (e) {
237
232
  return;
238
233
  }
239
- this.app.send(CustomIssue(key, payload));
234
+ this.app.send(new CustomIssue(key, payload));
240
235
  }
241
236
  }
242
237
  }
@@ -1,4 +1,4 @@
1
- import { ConnectionInformation } from '../app/messages.gen.js';
1
+ import { ConnectionInformation } from '../common/messages.js';
2
2
  export default function (app) {
3
3
  const connection = navigator.connection ||
4
4
  navigator.mozConnection ||
@@ -6,7 +6,7 @@ export default function (app) {
6
6
  if (connection === undefined) {
7
7
  return;
8
8
  }
9
- const sendConnectionInformation = () => app.send(ConnectionInformation(Math.round(connection.downlink * 1000), connection.type || 'unknown'));
9
+ const sendConnectionInformation = () => app.send(new ConnectionInformation(Math.round(connection.downlink * 1000), connection.type || 'unknown'));
10
10
  sendConnectionInformation();
11
11
  connection.addEventListener('change', sendConnectionInformation);
12
12
  }
@@ -1,5 +1,6 @@
1
+ import { hasTag } from '../app/guards.js';
1
2
  import { IN_BROWSER } from '../utils.js';
2
- import { ConsoleLog } from '../app/messages.gen.js';
3
+ import { ConsoleLog } from '../common/messages.js';
3
4
  const printError = IN_BROWSER && 'InstallTrigger' in window // detect Firefox
4
5
  ? (e) => e.message + '\n' + e.stack
5
6
  : (e) => e.stack || e.message;
@@ -89,7 +90,7 @@ export default function (app, opts) {
89
90
  if (!Array.isArray(options.consoleMethods) || options.consoleMethods.length === 0) {
90
91
  return;
91
92
  }
92
- const sendConsoleLog = app.safe((level, args) => app.send(ConsoleLog(level, printf(args))));
93
+ const sendConsoleLog = app.safe((level, args) => app.send(new ConsoleLog(level, printf(args))));
93
94
  let n;
94
95
  const reset = () => {
95
96
  n = 0;
@@ -98,7 +99,7 @@ export default function (app, opts) {
98
99
  app.ticker.attach(reset, 33, false);
99
100
  const patchConsole = (console) => options.consoleMethods.forEach((method) => {
100
101
  if (consoleMethods.indexOf(method) === -1) {
101
- app.debug.error(`OpenReplay: unsupported console method "${method}"`);
102
+ console.error(`OpenReplay: unsupported console method "${method}"`);
102
103
  return;
103
104
  }
104
105
  const fn = console[method];
@@ -110,7 +111,20 @@ export default function (app, opts) {
110
111
  sendConsoleLog(method, args);
111
112
  };
112
113
  });
113
- const patchContext = app.safe((context) => patchConsole(context.console));
114
- patchContext(window);
115
- app.observer.attachContextCallback(patchContext);
114
+ patchConsole(window.console);
115
+ app.nodes.attachNodeCallback(app.safe((node) => {
116
+ if (hasTag(node, 'IFRAME')) {
117
+ // TODO: newContextCallback
118
+ let context = node.contentWindow;
119
+ if (context) {
120
+ patchConsole(context.console);
121
+ }
122
+ app.attachEventListener(node, 'load', () => {
123
+ if (node.contentWindow !== context) {
124
+ context = node.contentWindow;
125
+ patchConsole(context.console);
126
+ }
127
+ });
128
+ }
129
+ }));
116
130
  }
@@ -1,17 +1,17 @@
1
- import { CSSInsertRuleURLBased, CSSDeleteRule, TechnicalInfo } from '../app/messages.gen.js';
1
+ import { CSSInsertRuleURLBased, CSSDeleteRule, TechnicalInfo } from '../common/messages.js';
2
2
  import { hasTag } from '../app/guards.js';
3
3
  export default function (app) {
4
4
  if (app === null) {
5
5
  return;
6
6
  }
7
7
  if (!window.CSSStyleSheet) {
8
- app.send(TechnicalInfo('no_stylesheet_prototype_in_window', ''));
8
+ app.send(new TechnicalInfo('no_stylesheet_prototype_in_window', ''));
9
9
  return;
10
10
  }
11
11
  const processOperation = app.safe((stylesheet, index, rule) => {
12
12
  const sendMessage = typeof rule === 'string'
13
- ? (nodeID) => app.send(CSSInsertRuleURLBased(nodeID, rule, index, app.getBaseHref()))
14
- : (nodeID) => app.send(CSSDeleteRule(nodeID, index));
13
+ ? (nodeID) => app.send(new CSSInsertRuleURLBased(nodeID, rule, index, app.getBaseHref()))
14
+ : (nodeID) => app.send(new CSSDeleteRule(nodeID, index));
15
15
  // TODO: Extend messages to maintain nested rules (CSSGroupingRule prototype, as well as CSSKeyframesRule)
16
16
  if (stylesheet.ownerNode == null) {
17
17
  throw new Error('Owner Node not found');
@@ -21,19 +21,15 @@ export default function (app) {
21
21
  sendMessage(nodeID);
22
22
  } // else error?
23
23
  });
24
- const patchContext = (context) => {
25
- const { insertRule, deleteRule } = context.CSSStyleSheet.prototype;
26
- context.CSSStyleSheet.prototype.insertRule = function (rule, index = 0) {
27
- processOperation(this, index, rule);
28
- return insertRule.call(this, rule, index);
29
- };
30
- context.CSSStyleSheet.prototype.deleteRule = function (index) {
31
- processOperation(this, index);
32
- return deleteRule.call(this, index);
33
- };
24
+ const { insertRule, deleteRule } = CSSStyleSheet.prototype;
25
+ CSSStyleSheet.prototype.insertRule = function (rule, index = 0) {
26
+ processOperation(this, index, rule);
27
+ return insertRule.call(this, rule, index);
28
+ };
29
+ CSSStyleSheet.prototype.deleteRule = function (index) {
30
+ processOperation(this, index);
31
+ return deleteRule.call(this, index);
34
32
  };
35
- patchContext(window);
36
- app.observer.attachContextCallback(patchContext);
37
33
  app.nodes.attachNodeCallback((node) => {
38
34
  if (!hasTag(node, 'STYLE') || !node.sheet) {
39
35
  return;
@@ -1,5 +1,5 @@
1
1
  import type App from '../app/index.js';
2
- import type Message from '../app/messages.gen.js';
2
+ import type Message from '../common/messages.js';
3
3
  export interface Options {
4
4
  captureExceptions: boolean;
5
5
  }
@@ -11,6 +11,6 @@ interface StackFrame {
11
11
  source?: string;
12
12
  }
13
13
  export declare function getExceptionMessage(error: Error, fallbackStack: Array<StackFrame>): Message;
14
- export declare function getExceptionMessageFromEvent(e: ErrorEvent | PromiseRejectionEvent, context?: typeof globalThis): Message | null;
14
+ export declare function getExceptionMessageFromEvent(e: ErrorEvent | PromiseRejectionEvent): Message | null;
15
15
  export default function (app: App, opts: Partial<Options>): void;
16
16
  export {};
@@ -1,4 +1,4 @@
1
- import { JSException } from '../app/messages.gen.js';
1
+ import { JSException } from '../common/messages.js';
2
2
  import ErrorStackParser from 'error-stack-parser';
3
3
  function getDefaultStack(e) {
4
4
  return [
@@ -17,9 +17,9 @@ export function getExceptionMessage(error, fallbackStack) {
17
17
  stack = ErrorStackParser.parse(error);
18
18
  }
19
19
  catch (e) { }
20
- return JSException(error.name, error.message, JSON.stringify(stack));
20
+ return new JSException(error.name, error.message, JSON.stringify(stack));
21
21
  }
22
- export function getExceptionMessageFromEvent(e, context = window) {
22
+ export function getExceptionMessageFromEvent(e) {
23
23
  if (e instanceof ErrorEvent) {
24
24
  if (e.error instanceof Error) {
25
25
  return getExceptionMessage(e.error, getDefaultStack(e));
@@ -30,10 +30,10 @@ export function getExceptionMessageFromEvent(e, context = window) {
30
30
  name = 'Error';
31
31
  message = e.message;
32
32
  }
33
- return JSException(name, message, JSON.stringify(getDefaultStack(e)));
33
+ return new JSException(name, message, JSON.stringify(getDefaultStack(e)));
34
34
  }
35
35
  }
36
- else if ('PromiseRejectionEvent' in context && e instanceof context.PromiseRejectionEvent) {
36
+ else if ('PromiseRejectionEvent' in window && e instanceof PromiseRejectionEvent) {
37
37
  if (e.reason instanceof Error) {
38
38
  return getExceptionMessage(e.reason, []);
39
39
  }
@@ -45,7 +45,7 @@ export function getExceptionMessageFromEvent(e, context = window) {
45
45
  catch (_) {
46
46
  message = String(e.reason);
47
47
  }
48
- return JSException('Unhandled Promise Rejection', message, '[]');
48
+ return new JSException('Unhandled Promise Rejection', message, '[]');
49
49
  }
50
50
  }
51
51
  return null;
@@ -54,18 +54,14 @@ export default function (app, opts) {
54
54
  const options = Object.assign({
55
55
  captureExceptions: true,
56
56
  }, opts);
57
- function patchContext(context) {
58
- function handler(e) {
59
- const msg = getExceptionMessageFromEvent(e, context);
57
+ if (options.captureExceptions) {
58
+ const handler = (e) => {
59
+ const msg = getExceptionMessageFromEvent(e);
60
60
  if (msg != null) {
61
61
  app.send(msg);
62
62
  }
63
- }
64
- app.attachEventListener(context, 'unhandledrejection', handler);
65
- app.attachEventListener(context, 'error', handler);
66
- }
67
- if (options.captureExceptions) {
68
- app.observer.attachContextCallback(patchContext);
69
- patchContext(window);
63
+ };
64
+ app.attachEventListener(window, 'unhandledrejection', (e) => handler(e));
65
+ app.attachEventListener(window, 'error', (e) => handler(e));
70
66
  }
71
67
  }
@@ -1,5 +1,5 @@
1
1
  import { timestamp, isURL } from '../utils.js';
2
- import { ResourceTiming, SetNodeAttributeURLBased, SetNodeAttribute } from '../app/messages.gen.js';
2
+ import { ResourceTiming, SetNodeAttributeURLBased, SetNodeAttribute, } from '../common/messages.js';
3
3
  import { hasTag } from '../app/guards.js';
4
4
  function resolveURL(url, location = document.location) {
5
5
  url = url.trim();
@@ -19,31 +19,16 @@ function resolveURL(url, location = document.location) {
19
19
  const PLACEHOLDER_SRC = 'https://static.openreplay.com/tracker/placeholder.jpeg';
20
20
  export default function (app) {
21
21
  function sendPlaceholder(id, node) {
22
- app.send(SetNodeAttribute(id, 'src', PLACEHOLDER_SRC));
22
+ app.send(new SetNodeAttribute(id, 'src', PLACEHOLDER_SRC));
23
23
  const { width, height } = node.getBoundingClientRect();
24
24
  if (!node.hasAttribute('width')) {
25
- app.send(SetNodeAttribute(id, 'width', String(width)));
25
+ app.send(new SetNodeAttribute(id, 'width', String(width)));
26
26
  }
27
27
  if (!node.hasAttribute('height')) {
28
- app.send(SetNodeAttribute(id, 'height', String(height)));
28
+ app.send(new SetNodeAttribute(id, 'height', String(height)));
29
29
  }
30
30
  }
31
- const sendSrcset = function (id, img) {
32
- const { srcset } = img;
33
- if (!srcset) {
34
- return;
35
- }
36
- const resolvedSrcset = srcset
37
- .split(',')
38
- .map((str) => resolveURL(str))
39
- .join(',');
40
- app.send(SetNodeAttribute(id, 'srcset', resolvedSrcset));
41
- };
42
- const sendSrc = function (id, img) {
43
- const src = img.src;
44
- app.send(SetNodeAttributeURLBased(id, 'src', src, app.getBaseHref()));
45
- };
46
- const sendImgAttrs = app.safe(function () {
31
+ const sendImgSrc = app.safe(function () {
47
32
  const id = app.nodes.getID(this);
48
33
  if (id === undefined) {
49
34
  return;
@@ -55,15 +40,21 @@ export default function (app) {
55
40
  const resolvedSrc = resolveURL(src || ''); // Src type is null sometimes. - is it true?
56
41
  if (naturalWidth === 0 && naturalHeight === 0) {
57
42
  if (isURL(resolvedSrc)) {
58
- app.send(ResourceTiming(timestamp(), 0, 0, 0, 0, 0, resolvedSrc, 'img'));
43
+ app.send(new ResourceTiming(timestamp(), 0, 0, 0, 0, 0, resolvedSrc, 'img'));
59
44
  }
60
45
  }
61
46
  else if (resolvedSrc.length >= 1e5 || app.sanitizer.isMasked(id)) {
62
47
  sendPlaceholder(id, this);
63
48
  }
64
49
  else {
65
- sendSrc(id, this);
66
- sendSrcset(id, this);
50
+ app.send(new SetNodeAttribute(id, 'src', resolvedSrc));
51
+ if (srcset) {
52
+ const resolvedSrcset = srcset
53
+ .split(',')
54
+ .map((str) => resolveURL(str))
55
+ .join(',');
56
+ app.send(new SetNodeAttribute(id, 'srcset', resolvedSrcset));
57
+ }
67
58
  }
68
59
  });
69
60
  const observer = new MutationObserver((mutations) => {
@@ -75,24 +66,23 @@ export default function (app) {
75
66
  return;
76
67
  }
77
68
  if (mutation.attributeName === 'src') {
78
- sendSrc(id, target);
69
+ const src = target.src;
70
+ app.send(new SetNodeAttributeURLBased(id, 'src', src, app.getBaseHref()));
79
71
  }
80
72
  if (mutation.attributeName === 'srcset') {
81
- sendSrcset(id, target);
73
+ const srcset = target.srcset;
74
+ app.send(new SetNodeAttribute(id, 'srcset', srcset));
82
75
  }
83
76
  }
84
77
  }
85
78
  });
86
- app.attachStopCallback(() => {
87
- observer.disconnect();
88
- });
89
79
  app.nodes.attachNodeCallback((node) => {
90
80
  if (!hasTag(node, 'IMG')) {
91
81
  return;
92
82
  }
93
- app.nodes.attachElementListener('error', node, sendImgAttrs.bind(node));
94
- app.nodes.attachElementListener('load', node, sendImgAttrs.bind(node));
95
- sendImgAttrs.call(node);
83
+ app.nodes.attachElementListener('error', node, sendImgSrc);
84
+ app.nodes.attachElementListener('load', node, sendImgSrc);
85
+ sendImgSrc.call(node);
96
86
  observer.observe(node, { attributes: true, attributeFilter: ['src', 'srcset'] });
97
87
  });
98
88
  }
@@ -1,6 +1,6 @@
1
1
  import { normSpaces, IN_BROWSER, getLabelAttribute, hasOpenreplayAttribute } from '../utils.js';
2
2
  import { hasTag } from '../app/guards.js';
3
- import { SetInputTarget, SetInputValue, SetInputChecked } from '../app/messages.gen.js';
3
+ import { SetInputTarget, SetInputValue, SetInputChecked } from '../common/messages.js';
4
4
  const INPUT_TYPES = ['text', 'password', 'email', 'search', 'number', 'range', 'date'];
5
5
  function isTextEditable(node) {
6
6
  if (hasTag(node, 'TEXTAREA')) {
@@ -40,7 +40,7 @@ const labelElementFor = IN_BROWSER && 'labels' in HTMLInputElement.prototype
40
40
  }
41
41
  const id = node.id;
42
42
  if (id) {
43
- const labels = node.ownerDocument.querySelectorAll('label[for="' + id + '"]');
43
+ const labels = document.querySelectorAll('label[for="' + id + '"]');
44
44
  if (labels !== null && labels.length === 1) {
45
45
  return labels[0];
46
46
  }
@@ -70,7 +70,7 @@ export default function (app, opts) {
70
70
  function sendInputTarget(id, node) {
71
71
  const label = getInputLabel(node);
72
72
  if (label !== '') {
73
- app.send(SetInputTarget(id, label));
73
+ app.send(new SetInputTarget(id, label));
74
74
  }
75
75
  }
76
76
  function sendInputValue(id, node) {
@@ -97,7 +97,7 @@ export default function (app, opts) {
97
97
  value = '';
98
98
  break;
99
99
  }
100
- app.send(SetInputValue(id, value, mask));
100
+ app.send(new SetInputValue(id, value, mask));
101
101
  }
102
102
  const inputValues = new Map();
103
103
  const checkableValues = new Map();
@@ -135,7 +135,7 @@ export default function (app, opts) {
135
135
  }
136
136
  if (checked !== node.checked) {
137
137
  checkableValues.set(id, node.checked);
138
- app.send(SetInputChecked(id, node.checked));
138
+ app.send(new SetInputChecked(id, node.checked));
139
139
  }
140
140
  });
141
141
  });
@@ -159,7 +159,7 @@ export default function (app, opts) {
159
159
  }
160
160
  if (isCheckable(node)) {
161
161
  checkableValues.set(id, node.checked);
162
- app.send(SetInputChecked(id, node.checked));
162
+ app.send(new SetInputChecked(id, node.checked));
163
163
  return;
164
164
  }
165
165
  }));
@@ -0,0 +1,2 @@
1
+ import type App from '../app/index.js';
2
+ export default function (app: App): void;
@@ -0,0 +1,31 @@
1
+ import { LongTask } from '../common/messages.js';
2
+ export default function (app) {
3
+ if (!('PerformanceObserver' in window) || !('PerformanceLongTaskTiming' in window)) {
4
+ return;
5
+ }
6
+ const contexts = [
7
+ 'unknown',
8
+ 'self',
9
+ 'same-origin-ancestor',
10
+ 'same-origin-descendant',
11
+ 'same-origin',
12
+ 'cross-origin-ancestor',
13
+ 'cross-origin-descendant',
14
+ 'cross-origin-unreachable',
15
+ 'multiple-contexts',
16
+ ];
17
+ const containerTypes = ['window', 'iframe', 'embed', 'object'];
18
+ function longTask(entry) {
19
+ let type = '', src = '', id = '', name = '';
20
+ const container = entry.attribution[0];
21
+ if (container != null) {
22
+ type = container.containerType;
23
+ name = container.containerName;
24
+ id = container.containerId;
25
+ src = container.containerSrc;
26
+ }
27
+ app.send(new LongTask(entry.startTime + performance.timing.navigationStart, entry.duration, Math.max(contexts.indexOf(entry.name), 0), Math.max(containerTypes.indexOf(type), 0), name, id, src));
28
+ }
29
+ const observer = new PerformanceObserver((list) => list.getEntries().forEach(longTask));
30
+ observer.observe({ entryTypes: ['longtask'] });
31
+ }