@cloudcare/browser-core 3.1.7 → 3.1.10

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 (37) hide show
  1. package/cjs/browser/fetchObservable.js +11 -3
  2. package/cjs/browser/fetchObservable.js.map +1 -1
  3. package/cjs/browser/pageExitObservable.js +1 -2
  4. package/cjs/browser/pageExitObservable.js.map +1 -1
  5. package/cjs/browser/xhrObservable.js +2 -3
  6. package/cjs/browser/xhrObservable.js.map +1 -1
  7. package/cjs/console/consoleObservable.js +1 -2
  8. package/cjs/console/consoleObservable.js.map +1 -1
  9. package/cjs/dataMap.js +4 -1
  10. package/cjs/dataMap.js.map +1 -1
  11. package/cjs/helper/observable.js +2 -3
  12. package/cjs/helper/observable.js.map +1 -1
  13. package/cjs/report/reportObservable.js +2 -2
  14. package/cjs/report/reportObservable.js.map +1 -1
  15. package/esm/browser/fetchObservable.js +11 -3
  16. package/esm/browser/fetchObservable.js.map +1 -1
  17. package/esm/browser/pageExitObservable.js +1 -2
  18. package/esm/browser/pageExitObservable.js.map +1 -1
  19. package/esm/browser/xhrObservable.js +2 -3
  20. package/esm/browser/xhrObservable.js.map +1 -1
  21. package/esm/console/consoleObservable.js +1 -2
  22. package/esm/console/consoleObservable.js.map +1 -1
  23. package/esm/dataMap.js +4 -1
  24. package/esm/dataMap.js.map +1 -1
  25. package/esm/helper/observable.js +2 -3
  26. package/esm/helper/observable.js.map +1 -1
  27. package/esm/report/reportObservable.js +2 -2
  28. package/esm/report/reportObservable.js.map +1 -1
  29. package/package.json +5 -3
  30. package/src/browser/fetchObservable.js +15 -4
  31. package/src/browser/pageExitObservable.js +1 -3
  32. package/src/browser/xhrObservable.js +2 -3
  33. package/src/console/consoleObservable.js +1 -2
  34. package/src/dataMap.js +4 -1
  35. package/src/helper/observable.js +2 -3
  36. package/src/report/reportObservable.js +2 -2
  37. package/types/index.d.ts +92 -0
@@ -17,7 +17,7 @@ function initFetchObservable() {
17
17
  return fetchObservable;
18
18
  }
19
19
  function createFetchObservable() {
20
- var observable = new _observable.Observable(function () {
20
+ return new _observable.Observable(function (observable) {
21
21
  if (!window.fetch) {
22
22
  return;
23
23
  }
@@ -36,10 +36,18 @@ function createFetchObservable() {
36
36
  });
37
37
  return fetchMethod.stop;
38
38
  });
39
- return observable;
40
39
  }
41
40
  function beforeSend(observable, input, init) {
42
- var method = init && init.method || input instanceof Request && input.method || 'GET';
41
+ // var method =
42
+ // (init && init.method) || (input instanceof Request && input.method) || 'GET'
43
+ // const methodFromParams =
44
+ // (init && init.method) || (input instanceof Request && input.method)
45
+ // const method = methodFromParams ? methodFromParams.toUpperCase() : 'GET'
46
+ var methodFromParams = init && init.method;
47
+ if (methodFromParams === undefined && input instanceof Request) {
48
+ methodFromParams = input.method;
49
+ }
50
+ var method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';
43
51
  var url = input instanceof Request ? input.url : (0, _urlPolyfill.normalizeUrl)(String(input));
44
52
  var startClocks = (0, _tools.clocksNow)();
45
53
  var context = {
@@ -1 +1 @@
1
- {"version":3,"file":"fetchObservable.js","names":["_instrumentMethod","require","_observable","_tools","_monitor","_urlPolyfill","fetchObservable","initFetchObservable","createFetchObservable","observable","Observable","window","fetch","fetchMethod","instrumentMethod","originalFetch","input","init","responsePromise","context","callMonitored","beforeSend","call","afterSend","stop","method","Request","url","normalizeUrl","String","startClocks","clocksNow","state","notify","startContext","reportFetch","response","Error","status","isAborted","DOMException","code","ABORT_ERR","error","responseType","constructor","Response","type","err","then","monitor"],"sources":["../../src/browser/fetchObservable.js"],"sourcesContent":["import { instrumentMethod } from '../helper/instrumentMethod'\nimport { Observable } from '../helper/observable'\nimport { clocksNow } from '../helper/tools'\nimport { monitor, callMonitored } from '../helper/monitor'\nimport { normalizeUrl } from '../helper/urlPolyfill'\n\nvar fetchObservable\n\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable()\n }\n return fetchObservable\n}\n\nfunction createFetchObservable() {\n var observable = new Observable(function () {\n if (!window.fetch) {\n return\n }\n\n var fetchMethod = instrumentMethod(\n window,\n 'fetch',\n function (originalFetch) {\n return function (input, init) {\n var responsePromise\n var context = callMonitored(beforeSend, null, [\n observable,\n input,\n init\n ])\n if (context) {\n responsePromise = originalFetch.call(\n this,\n context.input,\n context.init\n )\n callMonitored(afterSend, null, [\n observable,\n responsePromise,\n context\n ])\n } else {\n responsePromise = originalFetch.call(this, input, init)\n }\n return responsePromise\n }\n }\n )\n return fetchMethod.stop\n })\n\n return observable\n}\n\nfunction beforeSend(observable, input, init) {\n var method =\n (init && init.method) || (input instanceof Request && input.method) || 'GET'\n var url = input instanceof Request ? input.url : normalizeUrl(String(input))\n\n var startClocks = clocksNow()\n\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url\n }\n\n observable.notify(context)\n\n return context\n}\n\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext\n context.state = 'resolve'\n // context.duration = elapsed(context.startClocks.timeStamp, timeStampNow())\n if ('stack' in response || response instanceof Error) {\n context.status = 0\n context.isAborted =\n response instanceof DOMException &&\n response.code === DOMException.ABORT_ERR\n context.error = response\n } else if ('status' in response) {\n context.response = response\n try {\n context.responseType =\n (response.constructor === Response && response.type) || '' // issue The Response type getter can only be used on instances of Response\n } catch (err) {\n context.responseType = ''\n }\n\n context.status = response.status\n context.isAborted = false\n }\n observable.notify(context)\n }\n responsePromise.then(monitor(reportFetch), monitor(reportFetch))\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"fetchObservable.js","names":["_instrumentMethod","require","_observable","_tools","_monitor","_urlPolyfill","fetchObservable","initFetchObservable","createFetchObservable","Observable","observable","window","fetch","fetchMethod","instrumentMethod","originalFetch","input","init","responsePromise","context","callMonitored","beforeSend","call","afterSend","stop","methodFromParams","method","undefined","Request","String","toUpperCase","url","normalizeUrl","startClocks","clocksNow","state","notify","startContext","reportFetch","response","Error","status","isAborted","DOMException","code","ABORT_ERR","error","responseType","constructor","Response","type","err","then","monitor"],"sources":["../../src/browser/fetchObservable.js"],"sourcesContent":["import { instrumentMethod } from '../helper/instrumentMethod'\nimport { Observable } from '../helper/observable'\nimport { clocksNow } from '../helper/tools'\nimport { monitor, callMonitored } from '../helper/monitor'\nimport { normalizeUrl } from '../helper/urlPolyfill'\n\nvar fetchObservable\n\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable()\n }\n return fetchObservable\n}\n\nfunction createFetchObservable() {\n return new Observable(function (observable) {\n if (!window.fetch) {\n return\n }\n\n var fetchMethod = instrumentMethod(\n window,\n 'fetch',\n function (originalFetch) {\n return function (input, init) {\n var responsePromise\n var context = callMonitored(beforeSend, null, [\n observable,\n input,\n init\n ])\n if (context) {\n responsePromise = originalFetch.call(\n this,\n context.input,\n context.init\n )\n callMonitored(afterSend, null, [\n observable,\n responsePromise,\n context\n ])\n } else {\n responsePromise = originalFetch.call(this, input, init)\n }\n return responsePromise\n }\n }\n )\n return fetchMethod.stop\n })\n}\n\nfunction beforeSend(observable, input, init) {\n // var method =\n // (init && init.method) || (input instanceof Request && input.method) || 'GET'\n // const methodFromParams =\n // (init && init.method) || (input instanceof Request && input.method)\n // const method = methodFromParams ? methodFromParams.toUpperCase() : 'GET'\n var methodFromParams = init && init.method\n\n if (methodFromParams === undefined && input instanceof Request) {\n methodFromParams = input.method\n }\n\n var method =\n methodFromParams !== undefined\n ? String(methodFromParams).toUpperCase()\n : 'GET'\n var url = input instanceof Request ? input.url : normalizeUrl(String(input))\n\n var startClocks = clocksNow()\n\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url\n }\n\n observable.notify(context)\n\n return context\n}\n\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext\n context.state = 'resolve'\n // context.duration = elapsed(context.startClocks.timeStamp, timeStampNow())\n if ('stack' in response || response instanceof Error) {\n context.status = 0\n context.isAborted =\n response instanceof DOMException &&\n response.code === DOMException.ABORT_ERR\n context.error = response\n } else if ('status' in response) {\n context.response = response\n try {\n context.responseType =\n (response.constructor === Response && response.type) || '' // issue The Response type getter can only be used on instances of Response\n } catch (err) {\n context.responseType = ''\n }\n\n context.status = response.status\n context.isAborted = false\n }\n observable.notify(context)\n }\n responsePromise.then(monitor(reportFetch), monitor(reportFetch))\n}\n"],"mappings":"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"}
@@ -18,7 +18,7 @@ var PageExitReason = {
18
18
  };
19
19
  exports.PageExitReason = PageExitReason;
20
20
  function createPageExitObservable() {
21
- var observable = new _observable.Observable(function () {
21
+ return new _observable.Observable(function (observable) {
22
22
  /**
23
23
  * Only event that guarantee to fire on mobile devices when the page transitions to background state
24
24
  * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.
@@ -60,7 +60,6 @@ function createPageExitObservable() {
60
60
  beforeUnloadListener.stop();
61
61
  };
62
62
  });
63
- return observable;
64
63
  }
65
64
  function isPageExitReason(reason) {
66
65
  return (0, _tools.includes)((0, _tools.values)(PageExitReason), reason);
@@ -1 +1 @@
1
- {"version":3,"file":"pageExitObservable.js","names":["_observable","require","_tools","_enums","_addEventListener","PageExitReason","HIDDEN","UNLOADING","PAGEHIDE","FROZEN","exports","createPageExitObservable","observable","Observable","visibilityChangeListener","addEventListeners","document","DOM_EVENT","VISIBILITY_CHANGE","FREEZE","PAGE_HIDE","event","type","visibilityState","notify","reason","capture","beforeUnloadListener","addEventListener","window","BEFORE_UNLOAD","stop","isPageExitReason","includes","values"],"sources":["../../src/browser/pageExitObservable.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { includes, values } from '../helper/tools'\nimport { DOM_EVENT } from '../helper/enums'\nimport {\n addEventListener,\n addEventListeners\n} from '../browser/addEventListener'\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen'\n}\n\nexport function createPageExitObservable() {\n var observable = new Observable(function () {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n var visibilityChangeListener = addEventListeners(\n document,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE, DOM_EVENT.PAGE_HIDE],\n function (event) {\n if (\n event.type === DOM_EVENT.VISIBILITY_CHANGE &&\n document.visibilityState === 'hidden'\n ) {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n /**\n * Safari does not support yet to send a request during:\n * - a visibility change during doc unload (cf: https://bugs.webkit.org/show_bug.cgi?id=194897)\n * - a page hide transition (cf: https://bugs.webkit.org/show_bug.cgi?id=188329)\n */\n var beforeUnloadListener = addEventListener(\n window,\n DOM_EVENT.BEFORE_UNLOAD,\n function () {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }\n )\n\n return function () {\n visibilityChangeListener.stop()\n beforeUnloadListener.stop()\n }\n })\n\n return observable\n}\n\nexport function isPageExitReason(reason) {\n return includes(values(PageExitReason), reason)\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAIO,IAAII,cAAc,GAAG;EAC1BC,MAAM,EAAE,mBAAmB;EAC3BC,SAAS,EAAE,eAAe;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,MAAM,EAAE;AACV,CAAC;AAAAC,OAAA,CAAAL,cAAA,GAAAA,cAAA;AAEM,SAASM,wBAAwBA,CAAA,EAAG;EACzC,IAAIC,UAAU,GAAG,IAAIC,sBAAU,CAAC,YAAY;IAC1C;AACJ;AACA;AACA;IACI,IAAIC,wBAAwB,GAAG,IAAAC,mCAAiB,EAC9CC,QAAQ,EACR,CAACC,gBAAS,CAACC,iBAAiB,EAAED,gBAAS,CAACE,MAAM,EAAEF,gBAAS,CAACG,SAAS,CAAC,EACpE,UAAUC,KAAK,EAAE;MACf,IACEA,KAAK,CAACC,IAAI,KAAKL,gBAAS,CAACC,iBAAiB,IAC1CF,QAAQ,CAACO,eAAe,KAAK,QAAQ,EACrC;QACA;AACV;AACA;AACA;QACUX,UAAU,CAACY,MAAM,CAAC;UAAEC,MAAM,EAAEpB,cAAc,CAACC;QAAO,CAAC,CAAC;MACtD,CAAC,MAAM,IAAIe,KAAK,CAACC,IAAI,KAAKL,gBAAS,CAACE,MAAM,EAAE;QAC1C;AACV;AACA;AACA;QACUP,UAAU,CAACY,MAAM,CAAC;UAAEC,MAAM,EAAEpB,cAAc,CAACI;QAAO,CAAC,CAAC;MACtD;IACF,CAAC,EACD;MAAEiB,OAAO,EAAE;IAAK,CAClB,CAAC;;IAED;AACJ;AACA;AACA;AACA;IACI,IAAIC,oBAAoB,GAAG,IAAAC,kCAAgB,EACzCC,MAAM,EACNZ,gBAAS,CAACa,aAAa,EACvB,YAAY;MACVlB,UAAU,CAACY,MAAM,CAAC;QAAEC,MAAM,EAAEpB,cAAc,CAACE;MAAU,CAAC,CAAC;IACzD,CACF,CAAC;IAED,OAAO,YAAY;MACjBO,wBAAwB,CAACiB,IAAI,CAAC,CAAC;MAC/BJ,oBAAoB,CAACI,IAAI,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;EAEF,OAAOnB,UAAU;AACnB;AAEO,SAASoB,gBAAgBA,CAACP,MAAM,EAAE;EACvC,OAAO,IAAAQ,eAAQ,EAAC,IAAAC,aAAM,EAAC7B,cAAc,CAAC,EAAEoB,MAAM,CAAC;AACjD"}
1
+ {"version":3,"file":"pageExitObservable.js","names":["_observable","require","_tools","_enums","_addEventListener","PageExitReason","HIDDEN","UNLOADING","PAGEHIDE","FROZEN","exports","createPageExitObservable","Observable","observable","visibilityChangeListener","addEventListeners","document","DOM_EVENT","VISIBILITY_CHANGE","FREEZE","PAGE_HIDE","event","type","visibilityState","notify","reason","capture","beforeUnloadListener","addEventListener","window","BEFORE_UNLOAD","stop","isPageExitReason","includes","values"],"sources":["../../src/browser/pageExitObservable.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { includes, values } from '../helper/tools'\nimport { DOM_EVENT } from '../helper/enums'\nimport {\n addEventListener,\n addEventListeners\n} from '../browser/addEventListener'\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen'\n}\n\nexport function createPageExitObservable() {\n return new Observable(function (observable) {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n var visibilityChangeListener = addEventListeners(\n document,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE, DOM_EVENT.PAGE_HIDE],\n function (event) {\n if (\n event.type === DOM_EVENT.VISIBILITY_CHANGE &&\n document.visibilityState === 'hidden'\n ) {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n /**\n * Safari does not support yet to send a request during:\n * - a visibility change during doc unload (cf: https://bugs.webkit.org/show_bug.cgi?id=194897)\n * - a page hide transition (cf: https://bugs.webkit.org/show_bug.cgi?id=188329)\n */\n var beforeUnloadListener = addEventListener(\n window,\n DOM_EVENT.BEFORE_UNLOAD,\n function () {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }\n )\n\n return function () {\n visibilityChangeListener.stop()\n beforeUnloadListener.stop()\n }\n })\n}\n\nexport function isPageExitReason(reason) {\n return includes(values(PageExitReason), reason)\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAIO,IAAII,cAAc,GAAG;EAC1BC,MAAM,EAAE,mBAAmB;EAC3BC,SAAS,EAAE,eAAe;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,MAAM,EAAE;AACV,CAAC;AAAAC,OAAA,CAAAL,cAAA,GAAAA,cAAA;AAEM,SAASM,wBAAwBA,CAAA,EAAG;EACzC,OAAO,IAAIC,sBAAU,CAAC,UAAUC,UAAU,EAAE;IAC1C;AACJ;AACA;AACA;IACI,IAAIC,wBAAwB,GAAG,IAAAC,mCAAiB,EAC9CC,QAAQ,EACR,CAACC,gBAAS,CAACC,iBAAiB,EAAED,gBAAS,CAACE,MAAM,EAAEF,gBAAS,CAACG,SAAS,CAAC,EACpE,UAAUC,KAAK,EAAE;MACf,IACEA,KAAK,CAACC,IAAI,KAAKL,gBAAS,CAACC,iBAAiB,IAC1CF,QAAQ,CAACO,eAAe,KAAK,QAAQ,EACrC;QACA;AACV;AACA;AACA;QACUV,UAAU,CAACW,MAAM,CAAC;UAAEC,MAAM,EAAEpB,cAAc,CAACC;QAAO,CAAC,CAAC;MACtD,CAAC,MAAM,IAAIe,KAAK,CAACC,IAAI,KAAKL,gBAAS,CAACE,MAAM,EAAE;QAC1C;AACV;AACA;AACA;QACUN,UAAU,CAACW,MAAM,CAAC;UAAEC,MAAM,EAAEpB,cAAc,CAACI;QAAO,CAAC,CAAC;MACtD;IACF,CAAC,EACD;MAAEiB,OAAO,EAAE;IAAK,CAClB,CAAC;;IAED;AACJ;AACA;AACA;AACA;IACI,IAAIC,oBAAoB,GAAG,IAAAC,kCAAgB,EACzCC,MAAM,EACNZ,gBAAS,CAACa,aAAa,EACvB,YAAY;MACVjB,UAAU,CAACW,MAAM,CAAC;QAAEC,MAAM,EAAEpB,cAAc,CAACE;MAAU,CAAC,CAAC;IACzD,CACF,CAAC;IAED,OAAO,YAAY;MACjBO,wBAAwB,CAACiB,IAAI,CAAC,CAAC;MAC/BJ,oBAAoB,CAACI,IAAI,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;AACJ;AAEO,SAASC,gBAAgBA,CAACP,MAAM,EAAE;EACvC,OAAO,IAAAQ,eAAQ,EAAC,IAAAC,aAAM,EAAC7B,cAAc,CAAC,EAAEoB,MAAM,CAAC;AACjD"}
@@ -19,7 +19,7 @@ function initXhrObservable() {
19
19
  return xhrObservable;
20
20
  }
21
21
  function createXhrObservable() {
22
- var observable = new _observable.Observable(function () {
22
+ return new _observable.Observable(function (observable) {
23
23
  var openInstrumentMethod = (0, _instrumentMethod.instrumentMethodAndCallOriginal)(XMLHttpRequest.prototype, 'open', {
24
24
  before: openXhr
25
25
  });
@@ -37,14 +37,13 @@ function createXhrObservable() {
37
37
  abortInstrumentMethod.stop();
38
38
  };
39
39
  });
40
- return observable;
41
40
  }
42
41
  function openXhr(method, url) {
43
42
  var requestUUID = this[DATA_FLUX_REQUEST_ID_KEY] || (0, _tools.UUID)();
44
43
  this[DATA_FLUX_REQUEST_ID_KEY] = requestUUID;
45
44
  xhrContexts[requestUUID] = {
46
45
  state: 'open',
47
- method: method,
46
+ method: String(method).toUpperCase(),
48
47
  url: (0, _urlPolyfill.normalizeUrl)(String(url))
49
48
  };
50
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xhrObservable.js","names":["_instrumentMethod","require","_observable","_urlPolyfill","_tools","_addEventListener","xhrObservable","xhrContexts","DATA_FLUX_REQUEST_ID_KEY","initXhrObservable","createXhrObservable","observable","Observable","openInstrumentMethod","instrumentMethodAndCallOriginal","XMLHttpRequest","prototype","before","openXhr","sendInstrumentMethod","sendXhr","call","abortInstrumentMethod","abortXhr","stop","method","url","requestUUID","UUID","state","normalizeUrl","String","context","startContext","startTime","relativeNow","startClocks","clocksNow","isAborted","xhr","hasBeenReported","stopInstrumentingOnReadyStateChange","readyState","DONE","onEnd","unsubscribeLoadEndListener","completeContext","duration","elapsed","timeStamp","timeStampNow","status","notify","shallowClone","clearRequestId","addEventListener"],"sources":["../../src/browser/xhrObservable.js"],"sourcesContent":["import { instrumentMethodAndCallOriginal } from '../helper/instrumentMethod'\nimport { Observable } from '../helper/observable'\nimport { normalizeUrl } from '../helper/urlPolyfill'\nimport {\n shallowClone,\n elapsed,\n relativeNow,\n clocksNow,\n timeStampNow,\n UUID\n} from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nvar xhrObservable\nvar xhrContexts = {}\nvar DATA_FLUX_REQUEST_ID_KEY = '_DATAFLUX_REQUEST_UUID'\nexport function initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable()\n }\n return xhrObservable\n}\n\nfunction createXhrObservable() {\n var observable = new Observable(function () {\n var openInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'open',\n {\n before: openXhr\n }\n )\n\n var sendInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'send',\n {\n before: function () {\n sendXhr.call(this, observable)\n }\n }\n )\n\n var abortInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'abort',\n {\n before: abortXhr\n }\n )\n\n return function () {\n openInstrumentMethod.stop()\n sendInstrumentMethod.stop()\n abortInstrumentMethod.stop()\n }\n })\n return observable\n}\n\nfunction openXhr(method, url) {\n var requestUUID = this[DATA_FLUX_REQUEST_ID_KEY] || UUID()\n this[DATA_FLUX_REQUEST_ID_KEY] = requestUUID\n xhrContexts[requestUUID] = {\n state: 'open',\n method: method,\n url: normalizeUrl(String(url))\n }\n}\n\nfunction sendXhr(observable) {\n var context = xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n if (!context) {\n return\n }\n var startContext = context\n startContext.state = 'start'\n startContext.startTime = relativeNow()\n startContext.startClocks = clocksNow()\n startContext.isAborted = false\n startContext.xhr = this\n var hasBeenReported = false\n var stopInstrumentingOnReadyStateChange = instrumentMethodAndCallOriginal(\n this,\n 'onreadystatechange',\n {\n before: function () {\n if (this.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during a onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd.call(this)\n }\n }\n }\n ).stop\n\n var onEnd = function () {\n unsubscribeLoadEndListener()\n stopInstrumentingOnReadyStateChange()\n if (hasBeenReported) {\n return\n }\n hasBeenReported = true\n var completeContext = context\n completeContext.state = 'complete'\n completeContext.duration = elapsed(\n startContext.startClocks.timeStamp,\n timeStampNow()\n )\n completeContext.status = this.status\n observable.notify(shallowClone(completeContext))\n clearRequestId.call(this)\n }\n var unsubscribeLoadEndListener = addEventListener(this, 'loadend', onEnd).stop\n observable.notify(startContext)\n}\nfunction clearRequestId() {\n delete xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n delete this[DATA_FLUX_REQUEST_ID_KEY]\n}\nfunction abortXhr() {\n var context = xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n if (context) {\n context.isAborted = true\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"xhrObservable.js","names":["_instrumentMethod","require","_observable","_urlPolyfill","_tools","_addEventListener","xhrObservable","xhrContexts","DATA_FLUX_REQUEST_ID_KEY","initXhrObservable","createXhrObservable","Observable","observable","openInstrumentMethod","instrumentMethodAndCallOriginal","XMLHttpRequest","prototype","before","openXhr","sendInstrumentMethod","sendXhr","call","abortInstrumentMethod","abortXhr","stop","method","url","requestUUID","UUID","state","String","toUpperCase","normalizeUrl","context","startContext","startTime","relativeNow","startClocks","clocksNow","isAborted","xhr","hasBeenReported","stopInstrumentingOnReadyStateChange","readyState","DONE","onEnd","unsubscribeLoadEndListener","completeContext","duration","elapsed","timeStamp","timeStampNow","status","notify","shallowClone","clearRequestId","addEventListener"],"sources":["../../src/browser/xhrObservable.js"],"sourcesContent":["import { instrumentMethodAndCallOriginal } from '../helper/instrumentMethod'\nimport { Observable } from '../helper/observable'\nimport { normalizeUrl } from '../helper/urlPolyfill'\nimport {\n shallowClone,\n elapsed,\n relativeNow,\n clocksNow,\n timeStampNow,\n UUID\n} from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nvar xhrObservable\nvar xhrContexts = {}\nvar DATA_FLUX_REQUEST_ID_KEY = '_DATAFLUX_REQUEST_UUID'\nexport function initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable()\n }\n return xhrObservable\n}\n\nfunction createXhrObservable() {\n return new Observable(function (observable) {\n var openInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'open',\n {\n before: openXhr\n }\n )\n\n var sendInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'send',\n {\n before: function () {\n sendXhr.call(this, observable)\n }\n }\n )\n\n var abortInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'abort',\n {\n before: abortXhr\n }\n )\n\n return function () {\n openInstrumentMethod.stop()\n sendInstrumentMethod.stop()\n abortInstrumentMethod.stop()\n }\n })\n}\n\nfunction openXhr(method, url) {\n var requestUUID = this[DATA_FLUX_REQUEST_ID_KEY] || UUID()\n this[DATA_FLUX_REQUEST_ID_KEY] = requestUUID\n xhrContexts[requestUUID] = {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url))\n }\n}\n\nfunction sendXhr(observable) {\n var context = xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n if (!context) {\n return\n }\n var startContext = context\n startContext.state = 'start'\n startContext.startTime = relativeNow()\n startContext.startClocks = clocksNow()\n startContext.isAborted = false\n startContext.xhr = this\n var hasBeenReported = false\n var stopInstrumentingOnReadyStateChange = instrumentMethodAndCallOriginal(\n this,\n 'onreadystatechange',\n {\n before: function () {\n if (this.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during a onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd.call(this)\n }\n }\n }\n ).stop\n\n var onEnd = function () {\n unsubscribeLoadEndListener()\n stopInstrumentingOnReadyStateChange()\n if (hasBeenReported) {\n return\n }\n hasBeenReported = true\n var completeContext = context\n completeContext.state = 'complete'\n completeContext.duration = elapsed(\n startContext.startClocks.timeStamp,\n timeStampNow()\n )\n completeContext.status = this.status\n observable.notify(shallowClone(completeContext))\n clearRequestId.call(this)\n }\n var unsubscribeLoadEndListener = addEventListener(this, 'loadend', onEnd).stop\n observable.notify(startContext)\n}\nfunction clearRequestId() {\n delete xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n delete this[DATA_FLUX_REQUEST_ID_KEY]\n}\nfunction abortXhr() {\n var context = xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n if (context) {\n context.isAborted = true\n }\n}\n"],"mappings":"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"}
@@ -24,7 +24,7 @@ function initConsoleObservable(apis) {
24
24
 
25
25
  /* eslint-disable no-console */
26
26
  function createConsoleObservable(api) {
27
- var observable = new _observable.Observable(function () {
27
+ return new _observable.Observable(function (observable) {
28
28
  var originalConsoleApi = console[api];
29
29
  console[api] = function () {
30
30
  var params = [].slice.call(arguments);
@@ -41,7 +41,6 @@ function createConsoleObservable(api) {
41
41
  return observable;
42
42
  }
43
43
  function buildConsoleLog(params, api, handlingStack) {
44
- // Todo: remove console error prefix in the next major version
45
44
  var message = (0, _tools.map)(params, function (param) {
46
45
  return formatConsoleParameters(param);
47
46
  }).join(' ');
@@ -1 +1 @@
1
- {"version":3,"file":"consoleObservable.js","names":["_tracekit","require","_errorTools","_observable","_tools","_jsonStringify","_display","_monitor","consoleObservablesByApi","initConsoleObservable","apis","consoleObservables","map","api","createConsoleObservable","mergeObservables","apply","observable","Observable","originalConsoleApi","console","params","slice","call","arguments","handlingStack","createHandlingStack","callMonitored","notify","buildConsoleLog","message","param","formatConsoleParameters","join","stack","ConsoleApiName","error","firstErrorParam","find","Error","toStackTraceString","computeStackTrace","undefined","formatErrorMessage","jsonStringify"],"sources":["../../src/console/consoleObservable.js"],"sourcesContent":["import { computeStackTrace } from '../tracekit'\nimport {\n createHandlingStack,\n formatErrorMessage,\n toStackTraceString\n} from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { find, map } from '../helper/tools'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\nimport { ConsoleApiName } from '../helper/display'\nimport { callMonitored } from '../helper/monitor'\nvar consoleObservablesByApi = {}\n\nexport function initConsoleObservable(apis) {\n var consoleObservables = map(apis, function (api) {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api)\n }\n return consoleObservablesByApi[api]\n })\n\n return mergeObservables.apply(this, consoleObservables)\n}\n\n/* eslint-disable no-console */\nfunction createConsoleObservable(api) {\n var observable = new Observable(function () {\n var originalConsoleApi = console[api]\n console[api] = function () {\n var params = [].slice.call(arguments)\n originalConsoleApi.apply(console, arguments)\n var handlingStack = createHandlingStack()\n callMonitored(function () {\n observable.notify(buildConsoleLog(params, api, handlingStack))\n })\n }\n return function () {\n console[api] = originalConsoleApi\n }\n })\n return observable\n}\n\nfunction buildConsoleLog(params, api, handlingStack) {\n // Todo: remove console error prefix in the next major version\n var message = map(params, function (param) {\n return formatConsoleParameters(param)\n }).join(' ')\n var stack\n\n if (api === ConsoleApiName.error) {\n var firstErrorParam = find(params, function (param) {\n return param instanceof Error\n })\n stack = firstErrorParam\n ? toStackTraceString(computeStackTrace(firstErrorParam))\n : undefined\n message = 'console error: ' + message\n }\n\n return {\n api: api,\n message: message,\n stack: stack,\n handlingStack: handlingStack\n }\n}\n\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return param\n }\n if (param instanceof Error) {\n return formatErrorMessage(computeStackTrace(param))\n }\n return jsonStringify(param, undefined, 2)\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAIO,uBAAuB,GAAG,CAAC,CAAC;AAEzB,SAASC,qBAAqBA,CAACC,IAAI,EAAE;EAC1C,IAAIC,kBAAkB,GAAG,IAAAC,UAAG,EAACF,IAAI,EAAE,UAAUG,GAAG,EAAE;IAChD,IAAI,CAACL,uBAAuB,CAACK,GAAG,CAAC,EAAE;MACjCL,uBAAuB,CAACK,GAAG,CAAC,GAAGC,uBAAuB,CAACD,GAAG,CAAC;IAC7D;IACA,OAAOL,uBAAuB,CAACK,GAAG,CAAC;EACrC,CAAC,CAAC;EAEF,OAAOE,4BAAgB,CAACC,KAAK,CAAC,IAAI,EAAEL,kBAAkB,CAAC;AACzD;;AAEA;AACA,SAASG,uBAAuBA,CAACD,GAAG,EAAE;EACpC,IAAII,UAAU,GAAG,IAAIC,sBAAU,CAAC,YAAY;IAC1C,IAAIC,kBAAkB,GAAGC,OAAO,CAACP,GAAG,CAAC;IACrCO,OAAO,CAACP,GAAG,CAAC,GAAG,YAAY;MACzB,IAAIQ,MAAM,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,CAAC;MACrCL,kBAAkB,CAACH,KAAK,CAACI,OAAO,EAAEI,SAAS,CAAC;MAC5C,IAAIC,aAAa,GAAG,IAAAC,+BAAmB,EAAC,CAAC;MACzC,IAAAC,sBAAa,EAAC,YAAY;QACxBV,UAAU,CAACW,MAAM,CAACC,eAAe,CAACR,MAAM,EAAER,GAAG,EAAEY,aAAa,CAAC,CAAC;MAChE,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,YAAY;MACjBL,OAAO,CAACP,GAAG,CAAC,GAAGM,kBAAkB;IACnC,CAAC;EACH,CAAC,CAAC;EACF,OAAOF,UAAU;AACnB;AAEA,SAASY,eAAeA,CAACR,MAAM,EAAER,GAAG,EAAEY,aAAa,EAAE;EACnD;EACA,IAAIK,OAAO,GAAG,IAAAlB,UAAG,EAACS,MAAM,EAAE,UAAUU,KAAK,EAAE;IACzC,OAAOC,uBAAuB,CAACD,KAAK,CAAC;EACvC,CAAC,CAAC,CAACE,IAAI,CAAC,GAAG,CAAC;EACZ,IAAIC,KAAK;EAET,IAAIrB,GAAG,KAAKsB,uBAAc,CAACC,KAAK,EAAE;IAChC,IAAIC,eAAe,GAAG,IAAAC,WAAI,EAACjB,MAAM,EAAE,UAAUU,KAAK,EAAE;MAClD,OAAOA,KAAK,YAAYQ,KAAK;IAC/B,CAAC,CAAC;IACFL,KAAK,GAAGG,eAAe,GACnB,IAAAG,8BAAkB,EAAC,IAAAC,2BAAiB,EAACJ,eAAe,CAAC,CAAC,GACtDK,SAAS;IACbZ,OAAO,GAAG,iBAAiB,GAAGA,OAAO;EACvC;EAEA,OAAO;IACLjB,GAAG,EAAEA,GAAG;IACRiB,OAAO,EAAEA,OAAO;IAChBI,KAAK,EAAEA,KAAK;IACZT,aAAa,EAAEA;EACjB,CAAC;AACH;AAEA,SAASO,uBAAuBA,CAACD,KAAK,EAAE;EACtC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EACA,IAAIA,KAAK,YAAYQ,KAAK,EAAE;IAC1B,OAAO,IAAAI,8BAAkB,EAAC,IAAAF,2BAAiB,EAACV,KAAK,CAAC,CAAC;EACrD;EACA,OAAO,IAAAa,4BAAa,EAACb,KAAK,EAAEW,SAAS,EAAE,CAAC,CAAC;AAC3C"}
1
+ {"version":3,"file":"consoleObservable.js","names":["_tracekit","require","_errorTools","_observable","_tools","_jsonStringify","_display","_monitor","consoleObservablesByApi","initConsoleObservable","apis","consoleObservables","map","api","createConsoleObservable","mergeObservables","apply","Observable","observable","originalConsoleApi","console","params","slice","call","arguments","handlingStack","createHandlingStack","callMonitored","notify","buildConsoleLog","message","param","formatConsoleParameters","join","stack","ConsoleApiName","error","firstErrorParam","find","Error","toStackTraceString","computeStackTrace","undefined","formatErrorMessage","jsonStringify"],"sources":["../../src/console/consoleObservable.js"],"sourcesContent":["import { computeStackTrace } from '../tracekit'\nimport {\n createHandlingStack,\n formatErrorMessage,\n toStackTraceString\n} from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { find, map } from '../helper/tools'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\nimport { ConsoleApiName } from '../helper/display'\nimport { callMonitored } from '../helper/monitor'\nvar consoleObservablesByApi = {}\n\nexport function initConsoleObservable(apis) {\n var consoleObservables = map(apis, function (api) {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api)\n }\n return consoleObservablesByApi[api]\n })\n\n return mergeObservables.apply(this, consoleObservables)\n}\n\n/* eslint-disable no-console */\nfunction createConsoleObservable(api) {\n return new Observable(function (observable) {\n var originalConsoleApi = console[api]\n console[api] = function () {\n var params = [].slice.call(arguments)\n originalConsoleApi.apply(console, arguments)\n var handlingStack = createHandlingStack()\n callMonitored(function () {\n observable.notify(buildConsoleLog(params, api, handlingStack))\n })\n }\n return function () {\n console[api] = originalConsoleApi\n }\n })\n return observable\n}\n\nfunction buildConsoleLog(params, api, handlingStack) {\n var message = map(params, function (param) {\n return formatConsoleParameters(param)\n }).join(' ')\n var stack\n\n if (api === ConsoleApiName.error) {\n var firstErrorParam = find(params, function (param) {\n return param instanceof Error\n })\n stack = firstErrorParam\n ? toStackTraceString(computeStackTrace(firstErrorParam))\n : undefined\n message = 'console error: ' + message\n }\n\n return {\n api: api,\n message: message,\n stack: stack,\n handlingStack: handlingStack\n }\n}\n\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return param\n }\n if (param instanceof Error) {\n return formatErrorMessage(computeStackTrace(param))\n }\n return jsonStringify(param, undefined, 2)\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAIO,uBAAuB,GAAG,CAAC,CAAC;AAEzB,SAASC,qBAAqBA,CAACC,IAAI,EAAE;EAC1C,IAAIC,kBAAkB,GAAG,IAAAC,UAAG,EAACF,IAAI,EAAE,UAAUG,GAAG,EAAE;IAChD,IAAI,CAACL,uBAAuB,CAACK,GAAG,CAAC,EAAE;MACjCL,uBAAuB,CAACK,GAAG,CAAC,GAAGC,uBAAuB,CAACD,GAAG,CAAC;IAC7D;IACA,OAAOL,uBAAuB,CAACK,GAAG,CAAC;EACrC,CAAC,CAAC;EAEF,OAAOE,4BAAgB,CAACC,KAAK,CAAC,IAAI,EAAEL,kBAAkB,CAAC;AACzD;;AAEA;AACA,SAASG,uBAAuBA,CAACD,GAAG,EAAE;EACpC,OAAO,IAAII,sBAAU,CAAC,UAAUC,UAAU,EAAE;IAC1C,IAAIC,kBAAkB,GAAGC,OAAO,CAACP,GAAG,CAAC;IACrCO,OAAO,CAACP,GAAG,CAAC,GAAG,YAAY;MACzB,IAAIQ,MAAM,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,CAAC;MACrCL,kBAAkB,CAACH,KAAK,CAACI,OAAO,EAAEI,SAAS,CAAC;MAC5C,IAAIC,aAAa,GAAG,IAAAC,+BAAmB,EAAC,CAAC;MACzC,IAAAC,sBAAa,EAAC,YAAY;QACxBT,UAAU,CAACU,MAAM,CAACC,eAAe,CAACR,MAAM,EAAER,GAAG,EAAEY,aAAa,CAAC,CAAC;MAChE,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,YAAY;MACjBL,OAAO,CAACP,GAAG,CAAC,GAAGM,kBAAkB;IACnC,CAAC;EACH,CAAC,CAAC;EACF,OAAOD,UAAU;AACnB;AAEA,SAASW,eAAeA,CAACR,MAAM,EAAER,GAAG,EAAEY,aAAa,EAAE;EACnD,IAAIK,OAAO,GAAG,IAAAlB,UAAG,EAACS,MAAM,EAAE,UAAUU,KAAK,EAAE;IACzC,OAAOC,uBAAuB,CAACD,KAAK,CAAC;EACvC,CAAC,CAAC,CAACE,IAAI,CAAC,GAAG,CAAC;EACZ,IAAIC,KAAK;EAET,IAAIrB,GAAG,KAAKsB,uBAAc,CAACC,KAAK,EAAE;IAChC,IAAIC,eAAe,GAAG,IAAAC,WAAI,EAACjB,MAAM,EAAE,UAAUU,KAAK,EAAE;MAClD,OAAOA,KAAK,YAAYQ,KAAK;IAC/B,CAAC,CAAC;IACFL,KAAK,GAAGG,eAAe,GACnB,IAAAG,8BAAkB,EAAC,IAAAC,2BAAiB,EAACJ,eAAe,CAAC,CAAC,GACtDK,SAAS;IACbZ,OAAO,GAAG,iBAAiB,GAAGA,OAAO;EACvC;EAEA,OAAO;IACLjB,GAAG,EAAEA,GAAG;IACRiB,OAAO,EAAEA,OAAO;IAChBI,KAAK,EAAEA,KAAK;IACZT,aAAa,EAAEA;EACjB,CAAC;AACH;AAEA,SAASO,uBAAuBA,CAACD,KAAK,EAAE;EACtC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EACA,IAAIA,KAAK,YAAYQ,KAAK,EAAE;IAC1B,OAAO,IAAAI,8BAAkB,EAAC,IAAAF,2BAAiB,EAACV,KAAK,CAAC,CAAC;EACrD;EACA,OAAO,IAAAa,4BAAa,EAACb,KAAK,EAAEW,SAAS,EAAE,CAAC,CAAC;AAC3C"}
package/cjs/dataMap.js CHANGED
@@ -46,7 +46,9 @@ var commonFields = {
46
46
  display: 'display',
47
47
  session_has_replay: 'session.has_replay',
48
48
  is_login: 'user.is_login',
49
- page_states: '_gc.page_states'
49
+ page_states: '_gc.page_states',
50
+ session_sample_rate: '_gc.configuration.session_sample_rate',
51
+ session_replay_sample_rate: '_gc.configuration.session_replay_sample_rate'
50
52
  };
51
53
  // 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]
52
54
  exports.commonFields = commonFields;
@@ -59,6 +61,7 @@ var dataMap = {
59
61
  view_privacy_replay_level: 'privacy.replay_level'
60
62
  },
61
63
  fields: {
64
+ sampled_for_replay: 'session.sampled_for_replay',
62
65
  is_active: 'view.is_active',
63
66
  session_replay_stats: '_gc.replay_stats',
64
67
  session_is_active: 'session.is_active',
@@ -1 +1 @@
1
- {"version":3,"file":"dataMap.js","names":["_enums","require","commonTags","sdk_name","sdk_version","app_id","env","service","version","userid","user_email","user_name","session_id","session_type","session_sampling","is_signin","os","os_version","os_version_major","browser","browser_version","browser_version_major","screen_size","network_type","device","view_id","view_referrer","view_url","view_host","view_path","view_name","view_path_group","exports","commonFields","view_url_query","action_id","action_ids","view_in_foreground","display","session_has_replay","is_login","page_states","dataMap","view","type","RumEventType","VIEW","tags","view_loading_type","view_apdex_level","view_privacy_replay_level","fields","is_active","session_replay_stats","session_is_active","view_error_count","view_resource_count","view_long_task_count","view_action_count","first_contentful_paint","largest_contentful_paint","largest_contentful_paint_element_selector","cumulative_layout_shift","cumulative_layout_shift_target_selector","first_input_delay","loading_time","dom_interactive","dom_content_loaded","dom_complete","load_event","first_input_time","first_input_target_selector","first_paint_time","interaction_to_next_paint","interaction_to_next_paint_target_selector","resource_load_time","time_to_interactive","dom","dom_ready","time_spent","first_byte","frustration_count","custom_timings","resource","RESOURCE","trace_id","span_id","resource_url","resource_url_host","resource_url_path","resource_url_path_group","resource_url_query","resource_type","resource_status","resource_status_group","resource_method","duration","resource_size","resource_encode_size","resource_render_blocking_status","resource_dns","resource_tcp","resource_ssl","resource_ttfb","resource_trans","resource_redirect","resource_first_byte","resource_dns_time","resource_download_time","resource_first_byte_time","resource_connect_time","resource_ssl_time","resource_redirect_time","error","ERROR","error_id","error_source","error_type","error_handling","error_message","error_stack","error_causes","long_task","LONG_TASK","long_task_id","action","ACTION","action_type","action_name","action_error_count","action_resource_count","action_frustration_types","action_long_task_count","action_target","action_position","telemetry","status","message","error_kind","browser_log","LOGGER","error_resource_url","error_resource_url_host","error_resource_url_path","error_resource_url_path_group","error_resource_status","error_resource_status_group","error_resource_method"],"sources":["../src/dataMap.js"],"sourcesContent":["import { RumEventType } from './helper/enums'\nexport var commonTags = {\n sdk_name: '_gc.sdk_name',\n sdk_version: '_gc.sdk_version',\n app_id: 'application.id',\n env: 'env',\n service: 'service',\n version: 'version',\n userid: 'user.id',\n user_email: 'user.email',\n user_name: 'user.name',\n session_id: 'session.id',\n session_type: 'session.type',\n session_sampling: 'session.is_sampling',\n is_signin: 'user.is_signin',\n os: 'device.os',\n os_version: 'device.os_version',\n os_version_major: 'device.os_version_major',\n browser: 'device.browser',\n browser_version: 'device.browser_version',\n browser_version_major: 'device.browser_version_major',\n screen_size: 'device.screen_size',\n network_type: 'device.network_type',\n device: 'device.device',\n view_id: 'view.id',\n view_referrer: 'view.referrer',\n view_url: 'view.url',\n view_host: 'view.host',\n view_path: 'view.path',\n view_name: 'view.path', // 冗余一个字段\n view_path_group: 'view.path_group'\n}\nexport var commonFields = {\n view_url_query: 'view.url_query',\n action_id: 'action.id',\n action_ids: 'action.ids',\n view_in_foreground: 'view.in_foreground',\n display: 'display',\n session_has_replay: 'session.has_replay',\n is_login: 'user.is_login',\n page_states: '_gc.page_states'\n}\n// 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]\nexport var dataMap = {\n view: {\n type: RumEventType.VIEW,\n tags: {\n view_loading_type: 'view.loading_type',\n view_apdex_level: 'view.apdex_level',\n view_privacy_replay_level: 'privacy.replay_level'\n },\n fields: {\n is_active: 'view.is_active',\n session_replay_stats: '_gc.replay_stats',\n session_is_active: 'session.is_active',\n view_error_count: 'view.error.count',\n view_resource_count: 'view.resource.count',\n view_long_task_count: 'view.long_task.count',\n view_action_count: 'view.action.count',\n first_contentful_paint: 'view.first_contentful_paint',\n largest_contentful_paint: 'view.largest_contentful_paint',\n largest_contentful_paint_element_selector:\n 'view.largest_contentful_paint_element_selector',\n cumulative_layout_shift: 'view.cumulative_layout_shift',\n cumulative_layout_shift_target_selector:\n 'view.cumulative_layout_shift_target_selector',\n first_input_delay: 'view.first_input_delay',\n loading_time: 'view.loading_time',\n dom_interactive: 'view.dom_interactive',\n dom_content_loaded: 'view.dom_content_loaded',\n dom_complete: 'view.dom_complete',\n load_event: 'view.load_event',\n first_input_time: 'view.first_input_time',\n first_input_target_selector: 'view.first_input_target_selector',\n first_paint_time: 'view.fpt',\n interaction_to_next_paint: 'view.interaction_to_next_paint',\n interaction_to_next_paint_target_selector:\n 'view.interaction_to_next_paint_target_selector',\n resource_load_time: 'view.resource_load_time',\n time_to_interactive: 'view.tti',\n dom: 'view.dom',\n dom_ready: 'view.dom_ready',\n time_spent: 'view.time_spent',\n first_byte: 'view.first_byte',\n frustration_count: 'view.frustration.count',\n custom_timings: 'view.custom_timings'\n }\n },\n resource: {\n type: RumEventType.RESOURCE,\n tags: {\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n resource_url: 'resource.url',\n resource_url_host: 'resource.url_host',\n resource_url_path: 'resource.url_path',\n resource_url_path_group: 'resource.url_path_group',\n resource_url_query: 'resource.url_query',\n resource_type: 'resource.type',\n resource_status: 'resource.status',\n resource_status_group: 'resource.status_group',\n resource_method: 'resource.method'\n },\n fields: {\n duration: 'resource.duration',\n resource_size: 'resource.size',\n resource_encode_size: 'resource.encode_size',\n resource_render_blocking_status: 'resource.render_blocking_status',\n resource_dns: 'resource.dns',\n resource_tcp: 'resource.tcp',\n resource_ssl: 'resource.ssl',\n resource_ttfb: 'resource.ttfb',\n resource_trans: 'resource.trans',\n resource_redirect: 'resource.redirect',\n resource_first_byte: 'resource.firstbyte',\n resource_dns_time: 'resource.dns_time',\n resource_download_time: 'resource.download_time',\n resource_first_byte_time: 'resource.first_byte_time',\n resource_connect_time: 'resource.connect_time',\n resource_ssl_time: 'resource.ssl_time',\n resource_redirect_time: 'resource.redirect_time'\n }\n },\n error: {\n type: RumEventType.ERROR,\n tags: {\n error_id: 'error.id',\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n error_source: 'error.source',\n error_type: 'error.type',\n error_handling: 'error.handling'\n // resource_url: 'error.resource.url',\n // resource_url_host: 'error.resource.url_host',\n // resource_url_path: 'error.resource.url_path',\n // resource_url_path_group: 'error.resource.url_path_group',\n // resource_status: 'error.resource.status',\n // resource_status_group: 'error.resource.status_group',\n // resource_method: 'error.resource.method'\n },\n fields: {\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack'],\n error_causes: ['string', 'error.causes']\n }\n },\n long_task: {\n type: RumEventType.LONG_TASK,\n tags: {\n long_task_id: 'long_task.id'\n },\n fields: {\n duration: 'long_task.duration'\n }\n },\n action: {\n type: RumEventType.ACTION,\n tags: {\n action_type: 'action.type'\n },\n fields: {\n action_name: 'action.target.name',\n duration: 'action.loading_time',\n action_error_count: 'action.error.count',\n action_resource_count: 'action.resource.count',\n action_frustration_types: 'action.frustration.type',\n action_long_task_count: 'action.long_task.count',\n action_target: '_gc.action.target',\n action_position: '_gc.action.position'\n }\n },\n telemetry: {\n type: 'telemetry',\n fields: {\n status: 'telemetry.status',\n message: ['string', 'telemetry.message'],\n type: 'telemetry.type',\n error_stack: ['string', 'telemetry.error.stack'],\n error_kind: ['string', 'telemetry.error.kind']\n }\n },\n browser_log: {\n type: RumEventType.LOGGER,\n tags: {\n error_source: 'error.source',\n error_type: 'error.type',\n error_resource_url: 'http.url',\n error_resource_url_host: 'http.url_host',\n error_resource_url_path: 'http.url_path',\n error_resource_url_path_group: 'http.url_path_group',\n error_resource_status: 'http.status_code',\n error_resource_status_group: 'http.status_group',\n error_resource_method: 'http.method',\n action_id: 'user_action.id',\n service: 'service',\n status: 'status'\n },\n fields: {\n message: ['string', 'message']\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dataMap.js","names":["_enums","require","commonTags","sdk_name","sdk_version","app_id","env","service","version","userid","user_email","user_name","session_id","session_type","session_sampling","is_signin","os","os_version","os_version_major","browser","browser_version","browser_version_major","screen_size","network_type","device","view_id","view_referrer","view_url","view_host","view_path","view_name","view_path_group","exports","commonFields","view_url_query","action_id","action_ids","view_in_foreground","display","session_has_replay","is_login","page_states","session_sample_rate","session_replay_sample_rate","dataMap","view","type","RumEventType","VIEW","tags","view_loading_type","view_apdex_level","view_privacy_replay_level","fields","sampled_for_replay","is_active","session_replay_stats","session_is_active","view_error_count","view_resource_count","view_long_task_count","view_action_count","first_contentful_paint","largest_contentful_paint","largest_contentful_paint_element_selector","cumulative_layout_shift","cumulative_layout_shift_target_selector","first_input_delay","loading_time","dom_interactive","dom_content_loaded","dom_complete","load_event","first_input_time","first_input_target_selector","first_paint_time","interaction_to_next_paint","interaction_to_next_paint_target_selector","resource_load_time","time_to_interactive","dom","dom_ready","time_spent","first_byte","frustration_count","custom_timings","resource","RESOURCE","trace_id","span_id","resource_url","resource_url_host","resource_url_path","resource_url_path_group","resource_url_query","resource_type","resource_status","resource_status_group","resource_method","duration","resource_size","resource_encode_size","resource_render_blocking_status","resource_dns","resource_tcp","resource_ssl","resource_ttfb","resource_trans","resource_redirect","resource_first_byte","resource_dns_time","resource_download_time","resource_first_byte_time","resource_connect_time","resource_ssl_time","resource_redirect_time","error","ERROR","error_id","error_source","error_type","error_handling","error_message","error_stack","error_causes","long_task","LONG_TASK","long_task_id","action","ACTION","action_type","action_name","action_error_count","action_resource_count","action_frustration_types","action_long_task_count","action_target","action_position","telemetry","status","message","error_kind","browser_log","LOGGER","error_resource_url","error_resource_url_host","error_resource_url_path","error_resource_url_path_group","error_resource_status","error_resource_status_group","error_resource_method"],"sources":["../src/dataMap.js"],"sourcesContent":["import { RumEventType } from './helper/enums'\nexport var commonTags = {\n sdk_name: '_gc.sdk_name',\n sdk_version: '_gc.sdk_version',\n app_id: 'application.id',\n env: 'env',\n service: 'service',\n version: 'version',\n userid: 'user.id',\n user_email: 'user.email',\n user_name: 'user.name',\n session_id: 'session.id',\n session_type: 'session.type',\n session_sampling: 'session.is_sampling',\n is_signin: 'user.is_signin',\n os: 'device.os',\n os_version: 'device.os_version',\n os_version_major: 'device.os_version_major',\n browser: 'device.browser',\n browser_version: 'device.browser_version',\n browser_version_major: 'device.browser_version_major',\n screen_size: 'device.screen_size',\n network_type: 'device.network_type',\n device: 'device.device',\n view_id: 'view.id',\n view_referrer: 'view.referrer',\n view_url: 'view.url',\n view_host: 'view.host',\n view_path: 'view.path',\n view_name: 'view.path', // 冗余一个字段\n view_path_group: 'view.path_group'\n}\nexport var commonFields = {\n view_url_query: 'view.url_query',\n action_id: 'action.id',\n action_ids: 'action.ids',\n view_in_foreground: 'view.in_foreground',\n display: 'display',\n session_has_replay: 'session.has_replay',\n is_login: 'user.is_login',\n page_states: '_gc.page_states',\n session_sample_rate: '_gc.configuration.session_sample_rate',\n session_replay_sample_rate: '_gc.configuration.session_replay_sample_rate'\n}\n// 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]\nexport var dataMap = {\n view: {\n type: RumEventType.VIEW,\n tags: {\n view_loading_type: 'view.loading_type',\n view_apdex_level: 'view.apdex_level',\n view_privacy_replay_level: 'privacy.replay_level'\n },\n fields: {\n sampled_for_replay: 'session.sampled_for_replay',\n is_active: 'view.is_active',\n session_replay_stats: '_gc.replay_stats',\n session_is_active: 'session.is_active',\n view_error_count: 'view.error.count',\n view_resource_count: 'view.resource.count',\n view_long_task_count: 'view.long_task.count',\n view_action_count: 'view.action.count',\n first_contentful_paint: 'view.first_contentful_paint',\n largest_contentful_paint: 'view.largest_contentful_paint',\n largest_contentful_paint_element_selector:\n 'view.largest_contentful_paint_element_selector',\n cumulative_layout_shift: 'view.cumulative_layout_shift',\n cumulative_layout_shift_target_selector:\n 'view.cumulative_layout_shift_target_selector',\n first_input_delay: 'view.first_input_delay',\n loading_time: 'view.loading_time',\n dom_interactive: 'view.dom_interactive',\n dom_content_loaded: 'view.dom_content_loaded',\n dom_complete: 'view.dom_complete',\n load_event: 'view.load_event',\n first_input_time: 'view.first_input_time',\n first_input_target_selector: 'view.first_input_target_selector',\n first_paint_time: 'view.fpt',\n interaction_to_next_paint: 'view.interaction_to_next_paint',\n interaction_to_next_paint_target_selector:\n 'view.interaction_to_next_paint_target_selector',\n resource_load_time: 'view.resource_load_time',\n time_to_interactive: 'view.tti',\n dom: 'view.dom',\n dom_ready: 'view.dom_ready',\n time_spent: 'view.time_spent',\n first_byte: 'view.first_byte',\n frustration_count: 'view.frustration.count',\n custom_timings: 'view.custom_timings'\n }\n },\n resource: {\n type: RumEventType.RESOURCE,\n tags: {\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n resource_url: 'resource.url',\n resource_url_host: 'resource.url_host',\n resource_url_path: 'resource.url_path',\n resource_url_path_group: 'resource.url_path_group',\n resource_url_query: 'resource.url_query',\n resource_type: 'resource.type',\n resource_status: 'resource.status',\n resource_status_group: 'resource.status_group',\n resource_method: 'resource.method'\n },\n fields: {\n duration: 'resource.duration',\n resource_size: 'resource.size',\n resource_encode_size: 'resource.encode_size',\n resource_render_blocking_status: 'resource.render_blocking_status',\n resource_dns: 'resource.dns',\n resource_tcp: 'resource.tcp',\n resource_ssl: 'resource.ssl',\n resource_ttfb: 'resource.ttfb',\n resource_trans: 'resource.trans',\n resource_redirect: 'resource.redirect',\n resource_first_byte: 'resource.firstbyte',\n resource_dns_time: 'resource.dns_time',\n resource_download_time: 'resource.download_time',\n resource_first_byte_time: 'resource.first_byte_time',\n resource_connect_time: 'resource.connect_time',\n resource_ssl_time: 'resource.ssl_time',\n resource_redirect_time: 'resource.redirect_time'\n }\n },\n error: {\n type: RumEventType.ERROR,\n tags: {\n error_id: 'error.id',\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n error_source: 'error.source',\n error_type: 'error.type',\n error_handling: 'error.handling'\n // resource_url: 'error.resource.url',\n // resource_url_host: 'error.resource.url_host',\n // resource_url_path: 'error.resource.url_path',\n // resource_url_path_group: 'error.resource.url_path_group',\n // resource_status: 'error.resource.status',\n // resource_status_group: 'error.resource.status_group',\n // resource_method: 'error.resource.method'\n },\n fields: {\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack'],\n error_causes: ['string', 'error.causes']\n }\n },\n long_task: {\n type: RumEventType.LONG_TASK,\n tags: {\n long_task_id: 'long_task.id'\n },\n fields: {\n duration: 'long_task.duration'\n }\n },\n action: {\n type: RumEventType.ACTION,\n tags: {\n action_type: 'action.type'\n },\n fields: {\n action_name: 'action.target.name',\n duration: 'action.loading_time',\n action_error_count: 'action.error.count',\n action_resource_count: 'action.resource.count',\n action_frustration_types: 'action.frustration.type',\n action_long_task_count: 'action.long_task.count',\n action_target: '_gc.action.target',\n action_position: '_gc.action.position'\n }\n },\n telemetry: {\n type: 'telemetry',\n fields: {\n status: 'telemetry.status',\n message: ['string', 'telemetry.message'],\n type: 'telemetry.type',\n error_stack: ['string', 'telemetry.error.stack'],\n error_kind: ['string', 'telemetry.error.kind']\n }\n },\n browser_log: {\n type: RumEventType.LOGGER,\n tags: {\n error_source: 'error.source',\n error_type: 'error.type',\n error_resource_url: 'http.url',\n error_resource_url_host: 'http.url_host',\n error_resource_url_path: 'http.url_path',\n error_resource_url_path_group: 'http.url_path_group',\n error_resource_status: 'http.status_code',\n error_resource_status_group: 'http.status_group',\n error_resource_method: 'http.method',\n action_id: 'user_action.id',\n service: 'service',\n status: 'status'\n },\n fields: {\n message: ['string', 'message']\n }\n }\n}\n"],"mappings":"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"}
@@ -14,7 +14,7 @@ var _Observable = function _Observable(onFirstSubscribe) {
14
14
  _Observable.prototype = {
15
15
  subscribe: function subscribe(f) {
16
16
  if (!this.observers.length && this.onFirstSubscribe) {
17
- this.onLastUnsubscribe = this.onFirstSubscribe() || undefined;
17
+ this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined;
18
18
  }
19
19
  this.observers.push(f);
20
20
  var _this = this;
@@ -39,7 +39,7 @@ var Observable = _Observable;
39
39
  exports.Observable = Observable;
40
40
  function mergeObservables() {
41
41
  var observables = [].slice.call(arguments);
42
- var globalObservable = new Observable(function () {
42
+ return new Observable(function (globalObservable) {
43
43
  var subscriptions = (0, _tools.map)(observables, function (observable) {
44
44
  return observable.subscribe(function (data) {
45
45
  return globalObservable.notify(data);
@@ -51,6 +51,5 @@ function mergeObservables() {
51
51
  });
52
52
  };
53
53
  });
54
- return globalObservable;
55
54
  }
56
55
  //# sourceMappingURL=observable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observable.js","names":["_tools","require","_Observable","onFirstSubscribe","observers","onLastUnsubscribe","undefined","prototype","subscribe","f","length","push","_this","unsubscribe","filter","other","notify","data","each","observer","Observable","exports","mergeObservables","observables","slice","call","arguments","globalObservable","subscriptions","map","observable","subscription"],"sources":["../../src/helper/observable.js"],"sourcesContent":["import { each, filter, map } from './tools'\nvar _Observable = function (onFirstSubscribe) {\n this.observers = []\n this.onLastUnsubscribe = undefined\n this.onFirstSubscribe = onFirstSubscribe\n}\n_Observable.prototype = {\n subscribe: function (f) {\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe() || undefined\n }\n this.observers.push(f)\n var _this = this\n return {\n unsubscribe: function () {\n _this.observers = filter(_this.observers, function (other) {\n return f !== other\n })\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe()\n }\n }\n }\n },\n notify: function (data) {\n each(this.observers, function (observer) {\n observer(data)\n })\n }\n}\nexport var Observable = _Observable\n\nexport function mergeObservables() {\n var observables = [].slice.call(arguments)\n var globalObservable = new Observable(function () {\n var subscriptions = map(observables, function (observable) {\n return observable.subscribe(function (data) {\n return globalObservable.notify(data)\n })\n })\n return function () {\n return each(subscriptions, function (subscription) {\n return subscription.unsubscribe()\n })\n }\n })\n return globalObservable\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAIC,WAAW,GAAG,SAAdA,WAAWA,CAAaC,gBAAgB,EAAE;EAC5C,IAAI,CAACC,SAAS,GAAG,EAAE;EACnB,IAAI,CAACC,iBAAiB,GAAGC,SAAS;EAClC,IAAI,CAACH,gBAAgB,GAAGA,gBAAgB;AAC1C,CAAC;AACDD,WAAW,CAACK,SAAS,GAAG;EACtBC,SAAS,EAAE,SAAAA,UAAUC,CAAC,EAAE;IACtB,IAAI,CAAC,IAAI,CAACL,SAAS,CAACM,MAAM,IAAI,IAAI,CAACP,gBAAgB,EAAE;MACnD,IAAI,CAACE,iBAAiB,GAAG,IAAI,CAACF,gBAAgB,CAAC,CAAC,IAAIG,SAAS;IAC/D;IACA,IAAI,CAACF,SAAS,CAACO,IAAI,CAACF,CAAC,CAAC;IACtB,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACR,SAAS,GAAG,IAAAU,aAAM,EAACF,KAAK,CAACR,SAAS,EAAE,UAAUW,KAAK,EAAE;UACzD,OAAON,CAAC,KAAKM,KAAK;QACpB,CAAC,CAAC;QACF,IAAI,CAACH,KAAK,CAACR,SAAS,CAACM,MAAM,IAAIE,KAAK,CAACP,iBAAiB,EAAE;UACtDO,KAAK,CAACP,iBAAiB,CAAC,CAAC;QAC3B;MACF;IACF,CAAC;EACH,CAAC;EACDW,MAAM,EAAE,SAAAA,OAAUC,IAAI,EAAE;IACtB,IAAAC,WAAI,EAAC,IAAI,CAACd,SAAS,EAAE,UAAUe,QAAQ,EAAE;MACvCA,QAAQ,CAACF,IAAI,CAAC;IAChB,CAAC,CAAC;EACJ;AACF,CAAC;AACM,IAAIG,UAAU,GAAGlB,WAAW;AAAAmB,OAAA,CAAAD,UAAA,GAAAA,UAAA;AAE5B,SAASE,gBAAgBA,CAAA,EAAG;EACjC,IAAIC,WAAW,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,CAAC;EAC1C,IAAIC,gBAAgB,GAAG,IAAIP,UAAU,CAAC,YAAY;IAChD,IAAIQ,aAAa,GAAG,IAAAC,UAAG,EAACN,WAAW,EAAE,UAAUO,UAAU,EAAE;MACzD,OAAOA,UAAU,CAACtB,SAAS,CAAC,UAAUS,IAAI,EAAE;QAC1C,OAAOU,gBAAgB,CAACX,MAAM,CAACC,IAAI,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,YAAY;MACjB,OAAO,IAAAC,WAAI,EAACU,aAAa,EAAE,UAAUG,YAAY,EAAE;QACjD,OAAOA,YAAY,CAAClB,WAAW,CAAC,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC;EACF,OAAOc,gBAAgB;AACzB"}
1
+ {"version":3,"file":"observable.js","names":["_tools","require","_Observable","onFirstSubscribe","observers","onLastUnsubscribe","undefined","prototype","subscribe","f","length","push","_this","unsubscribe","filter","other","notify","data","each","observer","Observable","exports","mergeObservables","observables","slice","call","arguments","globalObservable","subscriptions","map","observable","subscription"],"sources":["../../src/helper/observable.js"],"sourcesContent":["import { each, filter, map } from './tools'\nvar _Observable = function (onFirstSubscribe) {\n this.observers = []\n this.onLastUnsubscribe = undefined\n this.onFirstSubscribe = onFirstSubscribe\n}\n_Observable.prototype = {\n subscribe: function (f) {\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined\n }\n this.observers.push(f)\n var _this = this\n return {\n unsubscribe: function () {\n _this.observers = filter(_this.observers, function (other) {\n return f !== other\n })\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe()\n }\n }\n }\n },\n notify: function (data) {\n each(this.observers, function (observer) {\n observer(data)\n })\n }\n}\nexport var Observable = _Observable\n\nexport function mergeObservables() {\n var observables = [].slice.call(arguments)\n return new Observable(function (globalObservable) {\n var subscriptions = map(observables, function (observable) {\n return observable.subscribe(function (data) {\n return globalObservable.notify(data)\n })\n })\n return function () {\n return each(subscriptions, function (subscription) {\n return subscription.unsubscribe()\n })\n }\n })\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAIC,WAAW,GAAG,SAAdA,WAAWA,CAAaC,gBAAgB,EAAE;EAC5C,IAAI,CAACC,SAAS,GAAG,EAAE;EACnB,IAAI,CAACC,iBAAiB,GAAGC,SAAS;EAClC,IAAI,CAACH,gBAAgB,GAAGA,gBAAgB;AAC1C,CAAC;AACDD,WAAW,CAACK,SAAS,GAAG;EACtBC,SAAS,EAAE,SAAAA,UAAUC,CAAC,EAAE;IACtB,IAAI,CAAC,IAAI,CAACL,SAAS,CAACM,MAAM,IAAI,IAAI,CAACP,gBAAgB,EAAE;MACnD,IAAI,CAACE,iBAAiB,GAAG,IAAI,CAACF,gBAAgB,CAAC,IAAI,CAAC,IAAIG,SAAS;IACnE;IACA,IAAI,CAACF,SAAS,CAACO,IAAI,CAACF,CAAC,CAAC;IACtB,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACR,SAAS,GAAG,IAAAU,aAAM,EAACF,KAAK,CAACR,SAAS,EAAE,UAAUW,KAAK,EAAE;UACzD,OAAON,CAAC,KAAKM,KAAK;QACpB,CAAC,CAAC;QACF,IAAI,CAACH,KAAK,CAACR,SAAS,CAACM,MAAM,IAAIE,KAAK,CAACP,iBAAiB,EAAE;UACtDO,KAAK,CAACP,iBAAiB,CAAC,CAAC;QAC3B;MACF;IACF,CAAC;EACH,CAAC;EACDW,MAAM,EAAE,SAAAA,OAAUC,IAAI,EAAE;IACtB,IAAAC,WAAI,EAAC,IAAI,CAACd,SAAS,EAAE,UAAUe,QAAQ,EAAE;MACvCA,QAAQ,CAACF,IAAI,CAAC;IAChB,CAAC,CAAC;EACJ;AACF,CAAC;AACM,IAAIG,UAAU,GAAGlB,WAAW;AAAAmB,OAAA,CAAAD,UAAA,GAAAA,UAAA;AAE5B,SAASE,gBAAgBA,CAAA,EAAG;EACjC,IAAIC,WAAW,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,CAAC;EAC1C,OAAO,IAAIN,UAAU,CAAC,UAAUO,gBAAgB,EAAE;IAChD,IAAIC,aAAa,GAAG,IAAAC,UAAG,EAACN,WAAW,EAAE,UAAUO,UAAU,EAAE;MACzD,OAAOA,UAAU,CAACtB,SAAS,CAAC,UAAUS,IAAI,EAAE;QAC1C,OAAOU,gBAAgB,CAACX,MAAM,CAACC,IAAI,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,YAAY;MACjB,OAAO,IAAAC,WAAI,EAACU,aAAa,EAAE,UAAUG,YAAY,EAAE;QACjD,OAAOA,YAAY,CAAClB,WAAW,CAAC,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC;AACJ"}
@@ -31,7 +31,7 @@ function initReportObservable(configuration, apis) {
31
31
  return _observable.mergeObservables.apply(this, observables);
32
32
  }
33
33
  function createReportObservable(reportTypes) {
34
- var observable = new _observable.Observable(function () {
34
+ return new _observable.Observable(function (observable) {
35
35
  if (!window.ReportingObserver) {
36
36
  return;
37
37
  }
@@ -52,7 +52,7 @@ function createReportObservable(reportTypes) {
52
52
  return observable;
53
53
  }
54
54
  function createCspViolationReportObservable(configuration) {
55
- var observable = new _observable.Observable(function () {
55
+ return new _observable.Observable(function (observable) {
56
56
  var handleCspViolation = function handleCspViolation(event) {
57
57
  observable.notify(buildRawReportFromCspViolation(event));
58
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"reportObservable.js","names":["_errorTools","require","_observable","_tools","_addEventListener2","_enums","_monitor","RawReportType","intervention","deprecation","cspViolation","exports","initReportObservable","configuration","apis","observables","includes","push","createCspViolationReportObservable","reportTypes","filter","api","length","createReportObservable","mergeObservables","apply","observable","Observable","window","ReportingObserver","handleReports","monitor","reports","each","report","notify","buildRawReportFromReport","observer","types","buffered","observe","disconnect","handleCspViolation","event","buildRawReportFromCspViolation","_addEventListener","addEventListener","document","DOM_EVENT","SECURITY_POLICY_VIOLATION","stop","body","type","subtype","id","message","stack","buildStack","sourceFile","lineNumber","columnNumber","blockedURI","effectiveDirective","safeTruncate","originalPolicy","name","toStackTraceString","func","url","line","column"],"sources":["../../src/report/reportObservable.js"],"sourcesContent":["import { toStackTraceString } from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { includes, safeTruncate, filter, each } from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nimport { DOM_EVENT } from '../helper/enums'\nimport { monitor } from '../helper/monitor'\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation'\n}\nexport function initReportObservable(configuration, apis) {\n var observables = []\n\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration))\n }\n\n var reportTypes = filter(apis, function (api) {\n return api !== RawReportType.cspViolation\n })\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes))\n }\n return mergeObservables.apply(this, observables)\n}\n\nfunction createReportObservable(reportTypes) {\n var observable = new Observable(function () {\n if (!window.ReportingObserver) {\n return\n }\n\n var handleReports = monitor(function (reports) {\n each(reports, function (report) {\n observable.notify(buildRawReportFromReport(report))\n })\n })\n\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true\n })\n\n observer.observe()\n return function () {\n observer.disconnect()\n }\n })\n\n return observable\n}\n\nfunction createCspViolationReportObservable(configuration) {\n var observable = new Observable(function () {\n var handleCspViolation = function (event) {\n observable.notify(buildRawReportFromCspViolation(event))\n }\n\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.SECURITY_POLICY_VIOLATION,\n handleCspViolation\n )\n\n return _addEventListener.stop\n })\n return observable\n}\n\nfunction buildRawReportFromReport(report) {\n var body = report.body\n var type = report.type\n return {\n type: type,\n subtype: body.id,\n message: type + ': ' + body.message,\n stack: buildStack(\n body.id,\n body.message,\n body.sourceFile,\n body.lineNumber,\n body.columnNumber\n )\n }\n}\n\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation\n var message =\n \"'\" +\n event.blockedURI +\n \"' blocked by '\" +\n event.effectiveDirective +\n \"' directive\"\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: type + ': ' + message,\n stack: buildStack(\n event.effectiveDirective,\n message +\n ' of the policy \"' +\n safeTruncate(event.originalPolicy, 100, '...') +\n '\"',\n event.sourceFile,\n event.lineNumber,\n event.columnNumber\n )\n }\n}\n\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (\n sourceFile &&\n toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber\n }\n ]\n })\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"reportObservable.js","names":["_errorTools","require","_observable","_tools","_addEventListener2","_enums","_monitor","RawReportType","intervention","deprecation","cspViolation","exports","initReportObservable","configuration","apis","observables","includes","push","createCspViolationReportObservable","reportTypes","filter","api","length","createReportObservable","mergeObservables","apply","Observable","observable","window","ReportingObserver","handleReports","monitor","reports","each","report","notify","buildRawReportFromReport","observer","types","buffered","observe","disconnect","handleCspViolation","event","buildRawReportFromCspViolation","_addEventListener","addEventListener","document","DOM_EVENT","SECURITY_POLICY_VIOLATION","stop","body","type","subtype","id","message","stack","buildStack","sourceFile","lineNumber","columnNumber","blockedURI","effectiveDirective","safeTruncate","originalPolicy","name","toStackTraceString","func","url","line","column"],"sources":["../../src/report/reportObservable.js"],"sourcesContent":["import { toStackTraceString } from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { includes, safeTruncate, filter, each } from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nimport { DOM_EVENT } from '../helper/enums'\nimport { monitor } from '../helper/monitor'\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation'\n}\nexport function initReportObservable(configuration, apis) {\n var observables = []\n\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration))\n }\n\n var reportTypes = filter(apis, function (api) {\n return api !== RawReportType.cspViolation\n })\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes))\n }\n return mergeObservables.apply(this, observables)\n}\n\nfunction createReportObservable(reportTypes) {\n return new Observable(function (observable) {\n if (!window.ReportingObserver) {\n return\n }\n\n var handleReports = monitor(function (reports) {\n each(reports, function (report) {\n observable.notify(buildRawReportFromReport(report))\n })\n })\n\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true\n })\n\n observer.observe()\n return function () {\n observer.disconnect()\n }\n })\n\n return observable\n}\n\nfunction createCspViolationReportObservable(configuration) {\n return new Observable(function (observable) {\n var handleCspViolation = function (event) {\n observable.notify(buildRawReportFromCspViolation(event))\n }\n\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.SECURITY_POLICY_VIOLATION,\n handleCspViolation\n )\n\n return _addEventListener.stop\n })\n return observable\n}\n\nfunction buildRawReportFromReport(report) {\n var body = report.body\n var type = report.type\n return {\n type: type,\n subtype: body.id,\n message: type + ': ' + body.message,\n stack: buildStack(\n body.id,\n body.message,\n body.sourceFile,\n body.lineNumber,\n body.columnNumber\n )\n }\n}\n\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation\n var message =\n \"'\" +\n event.blockedURI +\n \"' blocked by '\" +\n event.effectiveDirective +\n \"' directive\"\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: type + ': ' + message,\n stack: buildStack(\n event.effectiveDirective,\n message +\n ' of the policy \"' +\n safeTruncate(event.originalPolicy, 100, '...') +\n '\"',\n event.sourceFile,\n event.lineNumber,\n event.columnNumber\n )\n }\n}\n\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (\n sourceFile &&\n toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber\n }\n ]\n })\n )\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACO,IAAIM,aAAa,GAAG;EACzBC,YAAY,EAAE,cAAc;EAC5BC,WAAW,EAAE,aAAa;EAC1BC,YAAY,EAAE;AAChB,CAAC;AAAAC,OAAA,CAAAJ,aAAA,GAAAA,aAAA;AACM,SAASK,oBAAoBA,CAACC,aAAa,EAAEC,IAAI,EAAE;EACxD,IAAIC,WAAW,GAAG,EAAE;EAEpB,IAAI,IAAAC,eAAQ,EAACF,IAAI,EAAEP,aAAa,CAACG,YAAY,CAAC,EAAE;IAC9CK,WAAW,CAACE,IAAI,CAACC,kCAAkC,CAACL,aAAa,CAAC,CAAC;EACrE;EAEA,IAAIM,WAAW,GAAG,IAAAC,aAAM,EAACN,IAAI,EAAE,UAAUO,GAAG,EAAE;IAC5C,OAAOA,GAAG,KAAKd,aAAa,CAACG,YAAY;EAC3C,CAAC,CAAC;EACF,IAAIS,WAAW,CAACG,MAAM,EAAE;IACtBP,WAAW,CAACE,IAAI,CAACM,sBAAsB,CAACJ,WAAW,CAAC,CAAC;EACvD;EACA,OAAOK,4BAAgB,CAACC,KAAK,CAAC,IAAI,EAAEV,WAAW,CAAC;AAClD;AAEA,SAASQ,sBAAsBA,CAACJ,WAAW,EAAE;EAC3C,OAAO,IAAIO,sBAAU,CAAC,UAAUC,UAAU,EAAE;IAC1C,IAAI,CAACC,MAAM,CAACC,iBAAiB,EAAE;MAC7B;IACF;IAEA,IAAIC,aAAa,GAAG,IAAAC,gBAAO,EAAC,UAAUC,OAAO,EAAE;MAC7C,IAAAC,WAAI,EAACD,OAAO,EAAE,UAAUE,MAAM,EAAE;QAC9BP,UAAU,CAACQ,MAAM,CAACC,wBAAwB,CAACF,MAAM,CAAC,CAAC;MACrD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAIG,QAAQ,GAAG,IAAIT,MAAM,CAACC,iBAAiB,CAACC,aAAa,EAAE;MACzDQ,KAAK,EAAEnB,WAAW;MAClBoB,QAAQ,EAAE;IACZ,CAAC,CAAC;IAEFF,QAAQ,CAACG,OAAO,CAAC,CAAC;IAClB,OAAO,YAAY;MACjBH,QAAQ,CAACI,UAAU,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,CAAC;EAEF,OAAOd,UAAU;AACnB;AAEA,SAAST,kCAAkCA,CAACL,aAAa,EAAE;EACzD,OAAO,IAAIa,sBAAU,CAAC,UAAUC,UAAU,EAAE;IAC1C,IAAIe,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAaC,KAAK,EAAE;MACxChB,UAAU,CAACQ,MAAM,CAACS,8BAA8B,CAACD,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,IAAIE,iBAAiB,GAAG,IAAAC,mCAAgB,EACtCC,QAAQ,EACRC,gBAAS,CAACC,yBAAyB,EACnCP,kBACF,CAAC;IAED,OAAOG,iBAAiB,CAACK,IAAI;EAC/B,CAAC,CAAC;EACF,OAAOvB,UAAU;AACnB;AAEA,SAASS,wBAAwBA,CAACF,MAAM,EAAE;EACxC,IAAIiB,IAAI,GAAGjB,MAAM,CAACiB,IAAI;EACtB,IAAIC,IAAI,GAAGlB,MAAM,CAACkB,IAAI;EACtB,OAAO;IACLA,IAAI,EAAEA,IAAI;IACVC,OAAO,EAAEF,IAAI,CAACG,EAAE;IAChBC,OAAO,EAAEH,IAAI,GAAG,IAAI,GAAGD,IAAI,CAACI,OAAO;IACnCC,KAAK,EAAEC,UAAU,CACfN,IAAI,CAACG,EAAE,EACPH,IAAI,CAACI,OAAO,EACZJ,IAAI,CAACO,UAAU,EACfP,IAAI,CAACQ,UAAU,EACfR,IAAI,CAACS,YACP;EACF,CAAC;AACH;AAEA,SAAShB,8BAA8BA,CAACD,KAAK,EAAE;EAC7C,IAAIS,IAAI,GAAG7C,aAAa,CAACG,YAAY;EACrC,IAAI6C,OAAO,GACT,GAAG,GACHZ,KAAK,CAACkB,UAAU,GAChB,gBAAgB,GAChBlB,KAAK,CAACmB,kBAAkB,GACxB,aAAa;EACf,OAAO;IACLV,IAAI,EAAE7C,aAAa,CAACG,YAAY;IAChC2C,OAAO,EAAEV,KAAK,CAACmB,kBAAkB;IACjCP,OAAO,EAAEH,IAAI,GAAG,IAAI,GAAGG,OAAO;IAC9BC,KAAK,EAAEC,UAAU,CACfd,KAAK,CAACmB,kBAAkB,EACxBP,OAAO,GACL,kBAAkB,GAClB,IAAAQ,mBAAY,EAACpB,KAAK,CAACqB,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,GAC9C,GAAG,EACLrB,KAAK,CAACe,UAAU,EAChBf,KAAK,CAACgB,UAAU,EAChBhB,KAAK,CAACiB,YACR;EACF,CAAC;AACH;AAEA,SAASH,UAAUA,CAACQ,IAAI,EAAEV,OAAO,EAAEG,UAAU,EAAEC,UAAU,EAAEC,YAAY,EAAE;EACvE,OACEF,UAAU,IACV,IAAAQ,8BAAkB,EAAC;IACjBD,IAAI,EAAEA,IAAI;IACVV,OAAO,EAAEA,OAAO;IAChBC,KAAK,EAAE,CACL;MACEW,IAAI,EAAE,GAAG;MACTC,GAAG,EAAEV,UAAU;MACfW,IAAI,EAAEV,UAAU;MAChBW,MAAM,EAAEV;IACV,CAAC;EAEL,CAAC,CAAC;AAEN"}
@@ -11,7 +11,7 @@ export function initFetchObservable() {
11
11
  return fetchObservable;
12
12
  }
13
13
  function createFetchObservable() {
14
- var observable = new Observable(function () {
14
+ return new Observable(function (observable) {
15
15
  if (!window.fetch) {
16
16
  return;
17
17
  }
@@ -30,10 +30,18 @@ function createFetchObservable() {
30
30
  });
31
31
  return fetchMethod.stop;
32
32
  });
33
- return observable;
34
33
  }
35
34
  function beforeSend(observable, input, init) {
36
- var method = init && init.method || input instanceof Request && input.method || 'GET';
35
+ // var method =
36
+ // (init && init.method) || (input instanceof Request && input.method) || 'GET'
37
+ // const methodFromParams =
38
+ // (init && init.method) || (input instanceof Request && input.method)
39
+ // const method = methodFromParams ? methodFromParams.toUpperCase() : 'GET'
40
+ var methodFromParams = init && init.method;
41
+ if (methodFromParams === undefined && input instanceof Request) {
42
+ methodFromParams = input.method;
43
+ }
44
+ var method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';
37
45
  var url = input instanceof Request ? input.url : normalizeUrl(String(input));
38
46
  var startClocks = clocksNow();
39
47
  var context = {
@@ -1 +1 @@
1
- {"version":3,"file":"fetchObservable.js","names":["instrumentMethod","Observable","clocksNow","monitor","callMonitored","normalizeUrl","fetchObservable","initFetchObservable","createFetchObservable","observable","window","fetch","fetchMethod","originalFetch","input","init","responsePromise","context","beforeSend","call","afterSend","stop","method","Request","url","String","startClocks","state","notify","startContext","reportFetch","response","Error","status","isAborted","DOMException","code","ABORT_ERR","error","responseType","constructor","Response","type","err","then"],"sources":["../../src/browser/fetchObservable.js"],"sourcesContent":["import { instrumentMethod } from '../helper/instrumentMethod'\nimport { Observable } from '../helper/observable'\nimport { clocksNow } from '../helper/tools'\nimport { monitor, callMonitored } from '../helper/monitor'\nimport { normalizeUrl } from '../helper/urlPolyfill'\n\nvar fetchObservable\n\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable()\n }\n return fetchObservable\n}\n\nfunction createFetchObservable() {\n var observable = new Observable(function () {\n if (!window.fetch) {\n return\n }\n\n var fetchMethod = instrumentMethod(\n window,\n 'fetch',\n function (originalFetch) {\n return function (input, init) {\n var responsePromise\n var context = callMonitored(beforeSend, null, [\n observable,\n input,\n init\n ])\n if (context) {\n responsePromise = originalFetch.call(\n this,\n context.input,\n context.init\n )\n callMonitored(afterSend, null, [\n observable,\n responsePromise,\n context\n ])\n } else {\n responsePromise = originalFetch.call(this, input, init)\n }\n return responsePromise\n }\n }\n )\n return fetchMethod.stop\n })\n\n return observable\n}\n\nfunction beforeSend(observable, input, init) {\n var method =\n (init && init.method) || (input instanceof Request && input.method) || 'GET'\n var url = input instanceof Request ? input.url : normalizeUrl(String(input))\n\n var startClocks = clocksNow()\n\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url\n }\n\n observable.notify(context)\n\n return context\n}\n\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext\n context.state = 'resolve'\n // context.duration = elapsed(context.startClocks.timeStamp, timeStampNow())\n if ('stack' in response || response instanceof Error) {\n context.status = 0\n context.isAborted =\n response instanceof DOMException &&\n response.code === DOMException.ABORT_ERR\n context.error = response\n } else if ('status' in response) {\n context.response = response\n try {\n context.responseType =\n (response.constructor === Response && response.type) || '' // issue The Response type getter can only be used on instances of Response\n } catch (err) {\n context.responseType = ''\n }\n\n context.status = response.status\n context.isAborted = false\n }\n observable.notify(context)\n }\n responsePromise.then(monitor(reportFetch), monitor(reportFetch))\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"fetchObservable.js","names":["instrumentMethod","Observable","clocksNow","monitor","callMonitored","normalizeUrl","fetchObservable","initFetchObservable","createFetchObservable","observable","window","fetch","fetchMethod","originalFetch","input","init","responsePromise","context","beforeSend","call","afterSend","stop","methodFromParams","method","undefined","Request","String","toUpperCase","url","startClocks","state","notify","startContext","reportFetch","response","Error","status","isAborted","DOMException","code","ABORT_ERR","error","responseType","constructor","Response","type","err","then"],"sources":["../../src/browser/fetchObservable.js"],"sourcesContent":["import { instrumentMethod } from '../helper/instrumentMethod'\nimport { Observable } from '../helper/observable'\nimport { clocksNow } from '../helper/tools'\nimport { monitor, callMonitored } from '../helper/monitor'\nimport { normalizeUrl } from '../helper/urlPolyfill'\n\nvar fetchObservable\n\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable()\n }\n return fetchObservable\n}\n\nfunction createFetchObservable() {\n return new Observable(function (observable) {\n if (!window.fetch) {\n return\n }\n\n var fetchMethod = instrumentMethod(\n window,\n 'fetch',\n function (originalFetch) {\n return function (input, init) {\n var responsePromise\n var context = callMonitored(beforeSend, null, [\n observable,\n input,\n init\n ])\n if (context) {\n responsePromise = originalFetch.call(\n this,\n context.input,\n context.init\n )\n callMonitored(afterSend, null, [\n observable,\n responsePromise,\n context\n ])\n } else {\n responsePromise = originalFetch.call(this, input, init)\n }\n return responsePromise\n }\n }\n )\n return fetchMethod.stop\n })\n}\n\nfunction beforeSend(observable, input, init) {\n // var method =\n // (init && init.method) || (input instanceof Request && input.method) || 'GET'\n // const methodFromParams =\n // (init && init.method) || (input instanceof Request && input.method)\n // const method = methodFromParams ? methodFromParams.toUpperCase() : 'GET'\n var methodFromParams = init && init.method\n\n if (methodFromParams === undefined && input instanceof Request) {\n methodFromParams = input.method\n }\n\n var method =\n methodFromParams !== undefined\n ? String(methodFromParams).toUpperCase()\n : 'GET'\n var url = input instanceof Request ? input.url : normalizeUrl(String(input))\n\n var startClocks = clocksNow()\n\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url\n }\n\n observable.notify(context)\n\n return context\n}\n\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext\n context.state = 'resolve'\n // context.duration = elapsed(context.startClocks.timeStamp, timeStampNow())\n if ('stack' in response || response instanceof Error) {\n context.status = 0\n context.isAborted =\n response instanceof DOMException &&\n response.code === DOMException.ABORT_ERR\n context.error = response\n } else if ('status' in response) {\n context.response = response\n try {\n context.responseType =\n (response.constructor === Response && response.type) || '' // issue The Response type getter can only be used on instances of Response\n } catch (err) {\n context.responseType = ''\n }\n\n context.status = response.status\n context.isAborted = false\n }\n observable.notify(context)\n }\n responsePromise.then(monitor(reportFetch), monitor(reportFetch))\n}\n"],"mappings":"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"}
@@ -9,7 +9,7 @@ export var PageExitReason = {
9
9
  FROZEN: 'page_frozen'
10
10
  };
11
11
  export function createPageExitObservable() {
12
- var observable = new Observable(function () {
12
+ return new Observable(function (observable) {
13
13
  /**
14
14
  * Only event that guarantee to fire on mobile devices when the page transitions to background state
15
15
  * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.
@@ -51,7 +51,6 @@ export function createPageExitObservable() {
51
51
  beforeUnloadListener.stop();
52
52
  };
53
53
  });
54
- return observable;
55
54
  }
56
55
  export function isPageExitReason(reason) {
57
56
  return includes(values(PageExitReason), reason);
@@ -1 +1 @@
1
- {"version":3,"file":"pageExitObservable.js","names":["Observable","includes","values","DOM_EVENT","addEventListener","addEventListeners","PageExitReason","HIDDEN","UNLOADING","PAGEHIDE","FROZEN","createPageExitObservable","observable","visibilityChangeListener","document","VISIBILITY_CHANGE","FREEZE","PAGE_HIDE","event","type","visibilityState","notify","reason","capture","beforeUnloadListener","window","BEFORE_UNLOAD","stop","isPageExitReason"],"sources":["../../src/browser/pageExitObservable.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { includes, values } from '../helper/tools'\nimport { DOM_EVENT } from '../helper/enums'\nimport {\n addEventListener,\n addEventListeners\n} from '../browser/addEventListener'\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen'\n}\n\nexport function createPageExitObservable() {\n var observable = new Observable(function () {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n var visibilityChangeListener = addEventListeners(\n document,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE, DOM_EVENT.PAGE_HIDE],\n function (event) {\n if (\n event.type === DOM_EVENT.VISIBILITY_CHANGE &&\n document.visibilityState === 'hidden'\n ) {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n /**\n * Safari does not support yet to send a request during:\n * - a visibility change during doc unload (cf: https://bugs.webkit.org/show_bug.cgi?id=194897)\n * - a page hide transition (cf: https://bugs.webkit.org/show_bug.cgi?id=188329)\n */\n var beforeUnloadListener = addEventListener(\n window,\n DOM_EVENT.BEFORE_UNLOAD,\n function () {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }\n )\n\n return function () {\n visibilityChangeListener.stop()\n beforeUnloadListener.stop()\n }\n })\n\n return observable\n}\n\nexport function isPageExitReason(reason) {\n return includes(values(PageExitReason), reason)\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,sBAAsB;AACjD,SAASC,QAAQ,EAAEC,MAAM,QAAQ,iBAAiB;AAClD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACEC,gBAAgB,EAChBC,iBAAiB,QACZ,6BAA6B;AACpC,OAAO,IAAIC,cAAc,GAAG;EAC1BC,MAAM,EAAE,mBAAmB;EAC3BC,SAAS,EAAE,eAAe;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,SAASC,wBAAwBA,CAAA,EAAG;EACzC,IAAIC,UAAU,GAAG,IAAIZ,UAAU,CAAC,YAAY;IAC1C;AACJ;AACA;AACA;IACI,IAAIa,wBAAwB,GAAGR,iBAAiB,CAC9CS,QAAQ,EACR,CAACX,SAAS,CAACY,iBAAiB,EAAEZ,SAAS,CAACa,MAAM,EAAEb,SAAS,CAACc,SAAS,CAAC,EACpE,UAAUC,KAAK,EAAE;MACf,IACEA,KAAK,CAACC,IAAI,KAAKhB,SAAS,CAACY,iBAAiB,IAC1CD,QAAQ,CAACM,eAAe,KAAK,QAAQ,EACrC;QACA;AACV;AACA;AACA;QACUR,UAAU,CAACS,MAAM,CAAC;UAAEC,MAAM,EAAEhB,cAAc,CAACC;QAAO,CAAC,CAAC;MACtD,CAAC,MAAM,IAAIW,KAAK,CAACC,IAAI,KAAKhB,SAAS,CAACa,MAAM,EAAE;QAC1C;AACV;AACA;AACA;QACUJ,UAAU,CAACS,MAAM,CAAC;UAAEC,MAAM,EAAEhB,cAAc,CAACI;QAAO,CAAC,CAAC;MACtD;IACF,CAAC,EACD;MAAEa,OAAO,EAAE;IAAK,CAClB,CAAC;;IAED;AACJ;AACA;AACA;AACA;IACI,IAAIC,oBAAoB,GAAGpB,gBAAgB,CACzCqB,MAAM,EACNtB,SAAS,CAACuB,aAAa,EACvB,YAAY;MACVd,UAAU,CAACS,MAAM,CAAC;QAAEC,MAAM,EAAEhB,cAAc,CAACE;MAAU,CAAC,CAAC;IACzD,CACF,CAAC;IAED,OAAO,YAAY;MACjBK,wBAAwB,CAACc,IAAI,CAAC,CAAC;MAC/BH,oBAAoB,CAACG,IAAI,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;EAEF,OAAOf,UAAU;AACnB;AAEA,OAAO,SAASgB,gBAAgBA,CAACN,MAAM,EAAE;EACvC,OAAOrB,QAAQ,CAACC,MAAM,CAACI,cAAc,CAAC,EAAEgB,MAAM,CAAC;AACjD"}
1
+ {"version":3,"file":"pageExitObservable.js","names":["Observable","includes","values","DOM_EVENT","addEventListener","addEventListeners","PageExitReason","HIDDEN","UNLOADING","PAGEHIDE","FROZEN","createPageExitObservable","observable","visibilityChangeListener","document","VISIBILITY_CHANGE","FREEZE","PAGE_HIDE","event","type","visibilityState","notify","reason","capture","beforeUnloadListener","window","BEFORE_UNLOAD","stop","isPageExitReason"],"sources":["../../src/browser/pageExitObservable.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { includes, values } from '../helper/tools'\nimport { DOM_EVENT } from '../helper/enums'\nimport {\n addEventListener,\n addEventListeners\n} from '../browser/addEventListener'\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen'\n}\n\nexport function createPageExitObservable() {\n return new Observable(function (observable) {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n var visibilityChangeListener = addEventListeners(\n document,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE, DOM_EVENT.PAGE_HIDE],\n function (event) {\n if (\n event.type === DOM_EVENT.VISIBILITY_CHANGE &&\n document.visibilityState === 'hidden'\n ) {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n /**\n * Safari does not support yet to send a request during:\n * - a visibility change during doc unload (cf: https://bugs.webkit.org/show_bug.cgi?id=194897)\n * - a page hide transition (cf: https://bugs.webkit.org/show_bug.cgi?id=188329)\n */\n var beforeUnloadListener = addEventListener(\n window,\n DOM_EVENT.BEFORE_UNLOAD,\n function () {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }\n )\n\n return function () {\n visibilityChangeListener.stop()\n beforeUnloadListener.stop()\n }\n })\n}\n\nexport function isPageExitReason(reason) {\n return includes(values(PageExitReason), reason)\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,sBAAsB;AACjD,SAASC,QAAQ,EAAEC,MAAM,QAAQ,iBAAiB;AAClD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACEC,gBAAgB,EAChBC,iBAAiB,QACZ,6BAA6B;AACpC,OAAO,IAAIC,cAAc,GAAG;EAC1BC,MAAM,EAAE,mBAAmB;EAC3BC,SAAS,EAAE,eAAe;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,SAASC,wBAAwBA,CAAA,EAAG;EACzC,OAAO,IAAIX,UAAU,CAAC,UAAUY,UAAU,EAAE;IAC1C;AACJ;AACA;AACA;IACI,IAAIC,wBAAwB,GAAGR,iBAAiB,CAC9CS,QAAQ,EACR,CAACX,SAAS,CAACY,iBAAiB,EAAEZ,SAAS,CAACa,MAAM,EAAEb,SAAS,CAACc,SAAS,CAAC,EACpE,UAAUC,KAAK,EAAE;MACf,IACEA,KAAK,CAACC,IAAI,KAAKhB,SAAS,CAACY,iBAAiB,IAC1CD,QAAQ,CAACM,eAAe,KAAK,QAAQ,EACrC;QACA;AACV;AACA;AACA;QACUR,UAAU,CAACS,MAAM,CAAC;UAAEC,MAAM,EAAEhB,cAAc,CAACC;QAAO,CAAC,CAAC;MACtD,CAAC,MAAM,IAAIW,KAAK,CAACC,IAAI,KAAKhB,SAAS,CAACa,MAAM,EAAE;QAC1C;AACV;AACA;AACA;QACUJ,UAAU,CAACS,MAAM,CAAC;UAAEC,MAAM,EAAEhB,cAAc,CAACI;QAAO,CAAC,CAAC;MACtD;IACF,CAAC,EACD;MAAEa,OAAO,EAAE;IAAK,CAClB,CAAC;;IAED;AACJ;AACA;AACA;AACA;IACI,IAAIC,oBAAoB,GAAGpB,gBAAgB,CACzCqB,MAAM,EACNtB,SAAS,CAACuB,aAAa,EACvB,YAAY;MACVd,UAAU,CAACS,MAAM,CAAC;QAAEC,MAAM,EAAEhB,cAAc,CAACE;MAAU,CAAC,CAAC;IACzD,CACF,CAAC;IAED,OAAO,YAAY;MACjBK,wBAAwB,CAACc,IAAI,CAAC,CAAC;MAC/BH,oBAAoB,CAACG,IAAI,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,gBAAgBA,CAACN,MAAM,EAAE;EACvC,OAAOrB,QAAQ,CAACC,MAAM,CAACI,cAAc,CAAC,EAAEgB,MAAM,CAAC;AACjD"}
@@ -13,7 +13,7 @@ export function initXhrObservable() {
13
13
  return xhrObservable;
14
14
  }
15
15
  function createXhrObservable() {
16
- var observable = new Observable(function () {
16
+ return new Observable(function (observable) {
17
17
  var openInstrumentMethod = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'open', {
18
18
  before: openXhr
19
19
  });
@@ -31,14 +31,13 @@ function createXhrObservable() {
31
31
  abortInstrumentMethod.stop();
32
32
  };
33
33
  });
34
- return observable;
35
34
  }
36
35
  function openXhr(method, url) {
37
36
  var requestUUID = this[DATA_FLUX_REQUEST_ID_KEY] || UUID();
38
37
  this[DATA_FLUX_REQUEST_ID_KEY] = requestUUID;
39
38
  xhrContexts[requestUUID] = {
40
39
  state: 'open',
41
- method: method,
40
+ method: String(method).toUpperCase(),
42
41
  url: normalizeUrl(String(url))
43
42
  };
44
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xhrObservable.js","names":["instrumentMethodAndCallOriginal","Observable","normalizeUrl","shallowClone","elapsed","relativeNow","clocksNow","timeStampNow","UUID","addEventListener","xhrObservable","xhrContexts","DATA_FLUX_REQUEST_ID_KEY","initXhrObservable","createXhrObservable","observable","openInstrumentMethod","XMLHttpRequest","prototype","before","openXhr","sendInstrumentMethod","sendXhr","call","abortInstrumentMethod","abortXhr","stop","method","url","requestUUID","state","String","context","startContext","startTime","startClocks","isAborted","xhr","hasBeenReported","stopInstrumentingOnReadyStateChange","readyState","DONE","onEnd","unsubscribeLoadEndListener","completeContext","duration","timeStamp","status","notify","clearRequestId"],"sources":["../../src/browser/xhrObservable.js"],"sourcesContent":["import { instrumentMethodAndCallOriginal } from '../helper/instrumentMethod'\nimport { Observable } from '../helper/observable'\nimport { normalizeUrl } from '../helper/urlPolyfill'\nimport {\n shallowClone,\n elapsed,\n relativeNow,\n clocksNow,\n timeStampNow,\n UUID\n} from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nvar xhrObservable\nvar xhrContexts = {}\nvar DATA_FLUX_REQUEST_ID_KEY = '_DATAFLUX_REQUEST_UUID'\nexport function initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable()\n }\n return xhrObservable\n}\n\nfunction createXhrObservable() {\n var observable = new Observable(function () {\n var openInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'open',\n {\n before: openXhr\n }\n )\n\n var sendInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'send',\n {\n before: function () {\n sendXhr.call(this, observable)\n }\n }\n )\n\n var abortInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'abort',\n {\n before: abortXhr\n }\n )\n\n return function () {\n openInstrumentMethod.stop()\n sendInstrumentMethod.stop()\n abortInstrumentMethod.stop()\n }\n })\n return observable\n}\n\nfunction openXhr(method, url) {\n var requestUUID = this[DATA_FLUX_REQUEST_ID_KEY] || UUID()\n this[DATA_FLUX_REQUEST_ID_KEY] = requestUUID\n xhrContexts[requestUUID] = {\n state: 'open',\n method: method,\n url: normalizeUrl(String(url))\n }\n}\n\nfunction sendXhr(observable) {\n var context = xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n if (!context) {\n return\n }\n var startContext = context\n startContext.state = 'start'\n startContext.startTime = relativeNow()\n startContext.startClocks = clocksNow()\n startContext.isAborted = false\n startContext.xhr = this\n var hasBeenReported = false\n var stopInstrumentingOnReadyStateChange = instrumentMethodAndCallOriginal(\n this,\n 'onreadystatechange',\n {\n before: function () {\n if (this.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during a onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd.call(this)\n }\n }\n }\n ).stop\n\n var onEnd = function () {\n unsubscribeLoadEndListener()\n stopInstrumentingOnReadyStateChange()\n if (hasBeenReported) {\n return\n }\n hasBeenReported = true\n var completeContext = context\n completeContext.state = 'complete'\n completeContext.duration = elapsed(\n startContext.startClocks.timeStamp,\n timeStampNow()\n )\n completeContext.status = this.status\n observable.notify(shallowClone(completeContext))\n clearRequestId.call(this)\n }\n var unsubscribeLoadEndListener = addEventListener(this, 'loadend', onEnd).stop\n observable.notify(startContext)\n}\nfunction clearRequestId() {\n delete xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n delete this[DATA_FLUX_REQUEST_ID_KEY]\n}\nfunction abortXhr() {\n var context = xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n if (context) {\n context.isAborted = true\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"xhrObservable.js","names":["instrumentMethodAndCallOriginal","Observable","normalizeUrl","shallowClone","elapsed","relativeNow","clocksNow","timeStampNow","UUID","addEventListener","xhrObservable","xhrContexts","DATA_FLUX_REQUEST_ID_KEY","initXhrObservable","createXhrObservable","observable","openInstrumentMethod","XMLHttpRequest","prototype","before","openXhr","sendInstrumentMethod","sendXhr","call","abortInstrumentMethod","abortXhr","stop","method","url","requestUUID","state","String","toUpperCase","context","startContext","startTime","startClocks","isAborted","xhr","hasBeenReported","stopInstrumentingOnReadyStateChange","readyState","DONE","onEnd","unsubscribeLoadEndListener","completeContext","duration","timeStamp","status","notify","clearRequestId"],"sources":["../../src/browser/xhrObservable.js"],"sourcesContent":["import { instrumentMethodAndCallOriginal } from '../helper/instrumentMethod'\nimport { Observable } from '../helper/observable'\nimport { normalizeUrl } from '../helper/urlPolyfill'\nimport {\n shallowClone,\n elapsed,\n relativeNow,\n clocksNow,\n timeStampNow,\n UUID\n} from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nvar xhrObservable\nvar xhrContexts = {}\nvar DATA_FLUX_REQUEST_ID_KEY = '_DATAFLUX_REQUEST_UUID'\nexport function initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable()\n }\n return xhrObservable\n}\n\nfunction createXhrObservable() {\n return new Observable(function (observable) {\n var openInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'open',\n {\n before: openXhr\n }\n )\n\n var sendInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'send',\n {\n before: function () {\n sendXhr.call(this, observable)\n }\n }\n )\n\n var abortInstrumentMethod = instrumentMethodAndCallOriginal(\n XMLHttpRequest.prototype,\n 'abort',\n {\n before: abortXhr\n }\n )\n\n return function () {\n openInstrumentMethod.stop()\n sendInstrumentMethod.stop()\n abortInstrumentMethod.stop()\n }\n })\n}\n\nfunction openXhr(method, url) {\n var requestUUID = this[DATA_FLUX_REQUEST_ID_KEY] || UUID()\n this[DATA_FLUX_REQUEST_ID_KEY] = requestUUID\n xhrContexts[requestUUID] = {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url))\n }\n}\n\nfunction sendXhr(observable) {\n var context = xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n if (!context) {\n return\n }\n var startContext = context\n startContext.state = 'start'\n startContext.startTime = relativeNow()\n startContext.startClocks = clocksNow()\n startContext.isAborted = false\n startContext.xhr = this\n var hasBeenReported = false\n var stopInstrumentingOnReadyStateChange = instrumentMethodAndCallOriginal(\n this,\n 'onreadystatechange',\n {\n before: function () {\n if (this.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during a onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd.call(this)\n }\n }\n }\n ).stop\n\n var onEnd = function () {\n unsubscribeLoadEndListener()\n stopInstrumentingOnReadyStateChange()\n if (hasBeenReported) {\n return\n }\n hasBeenReported = true\n var completeContext = context\n completeContext.state = 'complete'\n completeContext.duration = elapsed(\n startContext.startClocks.timeStamp,\n timeStampNow()\n )\n completeContext.status = this.status\n observable.notify(shallowClone(completeContext))\n clearRequestId.call(this)\n }\n var unsubscribeLoadEndListener = addEventListener(this, 'loadend', onEnd).stop\n observable.notify(startContext)\n}\nfunction clearRequestId() {\n delete xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n delete this[DATA_FLUX_REQUEST_ID_KEY]\n}\nfunction abortXhr() {\n var context = xhrContexts[this[DATA_FLUX_REQUEST_ID_KEY]]\n if (context) {\n context.isAborted = true\n }\n}\n"],"mappings":"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"}
@@ -18,7 +18,7 @@ export function initConsoleObservable(apis) {
18
18
 
19
19
  /* eslint-disable no-console */
20
20
  function createConsoleObservable(api) {
21
- var observable = new Observable(function () {
21
+ return new Observable(function (observable) {
22
22
  var originalConsoleApi = console[api];
23
23
  console[api] = function () {
24
24
  var params = [].slice.call(arguments);
@@ -35,7 +35,6 @@ function createConsoleObservable(api) {
35
35
  return observable;
36
36
  }
37
37
  function buildConsoleLog(params, api, handlingStack) {
38
- // Todo: remove console error prefix in the next major version
39
38
  var message = map(params, function (param) {
40
39
  return formatConsoleParameters(param);
41
40
  }).join(' ');
@@ -1 +1 @@
1
- {"version":3,"file":"consoleObservable.js","names":["computeStackTrace","createHandlingStack","formatErrorMessage","toStackTraceString","mergeObservables","Observable","find","map","jsonStringify","ConsoleApiName","callMonitored","consoleObservablesByApi","initConsoleObservable","apis","consoleObservables","api","createConsoleObservable","apply","observable","originalConsoleApi","console","params","slice","call","arguments","handlingStack","notify","buildConsoleLog","message","param","formatConsoleParameters","join","stack","error","firstErrorParam","Error","undefined"],"sources":["../../src/console/consoleObservable.js"],"sourcesContent":["import { computeStackTrace } from '../tracekit'\nimport {\n createHandlingStack,\n formatErrorMessage,\n toStackTraceString\n} from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { find, map } from '../helper/tools'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\nimport { ConsoleApiName } from '../helper/display'\nimport { callMonitored } from '../helper/monitor'\nvar consoleObservablesByApi = {}\n\nexport function initConsoleObservable(apis) {\n var consoleObservables = map(apis, function (api) {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api)\n }\n return consoleObservablesByApi[api]\n })\n\n return mergeObservables.apply(this, consoleObservables)\n}\n\n/* eslint-disable no-console */\nfunction createConsoleObservable(api) {\n var observable = new Observable(function () {\n var originalConsoleApi = console[api]\n console[api] = function () {\n var params = [].slice.call(arguments)\n originalConsoleApi.apply(console, arguments)\n var handlingStack = createHandlingStack()\n callMonitored(function () {\n observable.notify(buildConsoleLog(params, api, handlingStack))\n })\n }\n return function () {\n console[api] = originalConsoleApi\n }\n })\n return observable\n}\n\nfunction buildConsoleLog(params, api, handlingStack) {\n // Todo: remove console error prefix in the next major version\n var message = map(params, function (param) {\n return formatConsoleParameters(param)\n }).join(' ')\n var stack\n\n if (api === ConsoleApiName.error) {\n var firstErrorParam = find(params, function (param) {\n return param instanceof Error\n })\n stack = firstErrorParam\n ? toStackTraceString(computeStackTrace(firstErrorParam))\n : undefined\n message = 'console error: ' + message\n }\n\n return {\n api: api,\n message: message,\n stack: stack,\n handlingStack: handlingStack\n }\n}\n\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return param\n }\n if (param instanceof Error) {\n return formatErrorMessage(computeStackTrace(param))\n }\n return jsonStringify(param, undefined, 2)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"consoleObservable.js","names":["computeStackTrace","createHandlingStack","formatErrorMessage","toStackTraceString","mergeObservables","Observable","find","map","jsonStringify","ConsoleApiName","callMonitored","consoleObservablesByApi","initConsoleObservable","apis","consoleObservables","api","createConsoleObservable","apply","observable","originalConsoleApi","console","params","slice","call","arguments","handlingStack","notify","buildConsoleLog","message","param","formatConsoleParameters","join","stack","error","firstErrorParam","Error","undefined"],"sources":["../../src/console/consoleObservable.js"],"sourcesContent":["import { computeStackTrace } from '../tracekit'\nimport {\n createHandlingStack,\n formatErrorMessage,\n toStackTraceString\n} from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { find, map } from '../helper/tools'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\nimport { ConsoleApiName } from '../helper/display'\nimport { callMonitored } from '../helper/monitor'\nvar consoleObservablesByApi = {}\n\nexport function initConsoleObservable(apis) {\n var consoleObservables = map(apis, function (api) {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api)\n }\n return consoleObservablesByApi[api]\n })\n\n return mergeObservables.apply(this, consoleObservables)\n}\n\n/* eslint-disable no-console */\nfunction createConsoleObservable(api) {\n return new Observable(function (observable) {\n var originalConsoleApi = console[api]\n console[api] = function () {\n var params = [].slice.call(arguments)\n originalConsoleApi.apply(console, arguments)\n var handlingStack = createHandlingStack()\n callMonitored(function () {\n observable.notify(buildConsoleLog(params, api, handlingStack))\n })\n }\n return function () {\n console[api] = originalConsoleApi\n }\n })\n return observable\n}\n\nfunction buildConsoleLog(params, api, handlingStack) {\n var message = map(params, function (param) {\n return formatConsoleParameters(param)\n }).join(' ')\n var stack\n\n if (api === ConsoleApiName.error) {\n var firstErrorParam = find(params, function (param) {\n return param instanceof Error\n })\n stack = firstErrorParam\n ? toStackTraceString(computeStackTrace(firstErrorParam))\n : undefined\n message = 'console error: ' + message\n }\n\n return {\n api: api,\n message: message,\n stack: stack,\n handlingStack: handlingStack\n }\n}\n\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return param\n }\n if (param instanceof Error) {\n return formatErrorMessage(computeStackTrace(param))\n }\n return jsonStringify(param, undefined, 2)\n}\n"],"mappings":"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"}
package/esm/dataMap.js CHANGED
@@ -39,7 +39,9 @@ export var commonFields = {
39
39
  display: 'display',
40
40
  session_has_replay: 'session.has_replay',
41
41
  is_login: 'user.is_login',
42
- page_states: '_gc.page_states'
42
+ page_states: '_gc.page_states',
43
+ session_sample_rate: '_gc.configuration.session_sample_rate',
44
+ session_replay_sample_rate: '_gc.configuration.session_replay_sample_rate'
43
45
  };
44
46
  // 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]
45
47
  export var dataMap = {
@@ -51,6 +53,7 @@ export var dataMap = {
51
53
  view_privacy_replay_level: 'privacy.replay_level'
52
54
  },
53
55
  fields: {
56
+ sampled_for_replay: 'session.sampled_for_replay',
54
57
  is_active: 'view.is_active',
55
58
  session_replay_stats: '_gc.replay_stats',
56
59
  session_is_active: 'session.is_active',
@@ -1 +1 @@
1
- {"version":3,"file":"dataMap.js","names":["RumEventType","commonTags","sdk_name","sdk_version","app_id","env","service","version","userid","user_email","user_name","session_id","session_type","session_sampling","is_signin","os","os_version","os_version_major","browser","browser_version","browser_version_major","screen_size","network_type","device","view_id","view_referrer","view_url","view_host","view_path","view_name","view_path_group","commonFields","view_url_query","action_id","action_ids","view_in_foreground","display","session_has_replay","is_login","page_states","dataMap","view","type","VIEW","tags","view_loading_type","view_apdex_level","view_privacy_replay_level","fields","is_active","session_replay_stats","session_is_active","view_error_count","view_resource_count","view_long_task_count","view_action_count","first_contentful_paint","largest_contentful_paint","largest_contentful_paint_element_selector","cumulative_layout_shift","cumulative_layout_shift_target_selector","first_input_delay","loading_time","dom_interactive","dom_content_loaded","dom_complete","load_event","first_input_time","first_input_target_selector","first_paint_time","interaction_to_next_paint","interaction_to_next_paint_target_selector","resource_load_time","time_to_interactive","dom","dom_ready","time_spent","first_byte","frustration_count","custom_timings","resource","RESOURCE","trace_id","span_id","resource_url","resource_url_host","resource_url_path","resource_url_path_group","resource_url_query","resource_type","resource_status","resource_status_group","resource_method","duration","resource_size","resource_encode_size","resource_render_blocking_status","resource_dns","resource_tcp","resource_ssl","resource_ttfb","resource_trans","resource_redirect","resource_first_byte","resource_dns_time","resource_download_time","resource_first_byte_time","resource_connect_time","resource_ssl_time","resource_redirect_time","error","ERROR","error_id","error_source","error_type","error_handling","error_message","error_stack","error_causes","long_task","LONG_TASK","long_task_id","action","ACTION","action_type","action_name","action_error_count","action_resource_count","action_frustration_types","action_long_task_count","action_target","action_position","telemetry","status","message","error_kind","browser_log","LOGGER","error_resource_url","error_resource_url_host","error_resource_url_path","error_resource_url_path_group","error_resource_status","error_resource_status_group","error_resource_method"],"sources":["../src/dataMap.js"],"sourcesContent":["import { RumEventType } from './helper/enums'\nexport var commonTags = {\n sdk_name: '_gc.sdk_name',\n sdk_version: '_gc.sdk_version',\n app_id: 'application.id',\n env: 'env',\n service: 'service',\n version: 'version',\n userid: 'user.id',\n user_email: 'user.email',\n user_name: 'user.name',\n session_id: 'session.id',\n session_type: 'session.type',\n session_sampling: 'session.is_sampling',\n is_signin: 'user.is_signin',\n os: 'device.os',\n os_version: 'device.os_version',\n os_version_major: 'device.os_version_major',\n browser: 'device.browser',\n browser_version: 'device.browser_version',\n browser_version_major: 'device.browser_version_major',\n screen_size: 'device.screen_size',\n network_type: 'device.network_type',\n device: 'device.device',\n view_id: 'view.id',\n view_referrer: 'view.referrer',\n view_url: 'view.url',\n view_host: 'view.host',\n view_path: 'view.path',\n view_name: 'view.path', // 冗余一个字段\n view_path_group: 'view.path_group'\n}\nexport var commonFields = {\n view_url_query: 'view.url_query',\n action_id: 'action.id',\n action_ids: 'action.ids',\n view_in_foreground: 'view.in_foreground',\n display: 'display',\n session_has_replay: 'session.has_replay',\n is_login: 'user.is_login',\n page_states: '_gc.page_states'\n}\n// 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]\nexport var dataMap = {\n view: {\n type: RumEventType.VIEW,\n tags: {\n view_loading_type: 'view.loading_type',\n view_apdex_level: 'view.apdex_level',\n view_privacy_replay_level: 'privacy.replay_level'\n },\n fields: {\n is_active: 'view.is_active',\n session_replay_stats: '_gc.replay_stats',\n session_is_active: 'session.is_active',\n view_error_count: 'view.error.count',\n view_resource_count: 'view.resource.count',\n view_long_task_count: 'view.long_task.count',\n view_action_count: 'view.action.count',\n first_contentful_paint: 'view.first_contentful_paint',\n largest_contentful_paint: 'view.largest_contentful_paint',\n largest_contentful_paint_element_selector:\n 'view.largest_contentful_paint_element_selector',\n cumulative_layout_shift: 'view.cumulative_layout_shift',\n cumulative_layout_shift_target_selector:\n 'view.cumulative_layout_shift_target_selector',\n first_input_delay: 'view.first_input_delay',\n loading_time: 'view.loading_time',\n dom_interactive: 'view.dom_interactive',\n dom_content_loaded: 'view.dom_content_loaded',\n dom_complete: 'view.dom_complete',\n load_event: 'view.load_event',\n first_input_time: 'view.first_input_time',\n first_input_target_selector: 'view.first_input_target_selector',\n first_paint_time: 'view.fpt',\n interaction_to_next_paint: 'view.interaction_to_next_paint',\n interaction_to_next_paint_target_selector:\n 'view.interaction_to_next_paint_target_selector',\n resource_load_time: 'view.resource_load_time',\n time_to_interactive: 'view.tti',\n dom: 'view.dom',\n dom_ready: 'view.dom_ready',\n time_spent: 'view.time_spent',\n first_byte: 'view.first_byte',\n frustration_count: 'view.frustration.count',\n custom_timings: 'view.custom_timings'\n }\n },\n resource: {\n type: RumEventType.RESOURCE,\n tags: {\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n resource_url: 'resource.url',\n resource_url_host: 'resource.url_host',\n resource_url_path: 'resource.url_path',\n resource_url_path_group: 'resource.url_path_group',\n resource_url_query: 'resource.url_query',\n resource_type: 'resource.type',\n resource_status: 'resource.status',\n resource_status_group: 'resource.status_group',\n resource_method: 'resource.method'\n },\n fields: {\n duration: 'resource.duration',\n resource_size: 'resource.size',\n resource_encode_size: 'resource.encode_size',\n resource_render_blocking_status: 'resource.render_blocking_status',\n resource_dns: 'resource.dns',\n resource_tcp: 'resource.tcp',\n resource_ssl: 'resource.ssl',\n resource_ttfb: 'resource.ttfb',\n resource_trans: 'resource.trans',\n resource_redirect: 'resource.redirect',\n resource_first_byte: 'resource.firstbyte',\n resource_dns_time: 'resource.dns_time',\n resource_download_time: 'resource.download_time',\n resource_first_byte_time: 'resource.first_byte_time',\n resource_connect_time: 'resource.connect_time',\n resource_ssl_time: 'resource.ssl_time',\n resource_redirect_time: 'resource.redirect_time'\n }\n },\n error: {\n type: RumEventType.ERROR,\n tags: {\n error_id: 'error.id',\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n error_source: 'error.source',\n error_type: 'error.type',\n error_handling: 'error.handling'\n // resource_url: 'error.resource.url',\n // resource_url_host: 'error.resource.url_host',\n // resource_url_path: 'error.resource.url_path',\n // resource_url_path_group: 'error.resource.url_path_group',\n // resource_status: 'error.resource.status',\n // resource_status_group: 'error.resource.status_group',\n // resource_method: 'error.resource.method'\n },\n fields: {\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack'],\n error_causes: ['string', 'error.causes']\n }\n },\n long_task: {\n type: RumEventType.LONG_TASK,\n tags: {\n long_task_id: 'long_task.id'\n },\n fields: {\n duration: 'long_task.duration'\n }\n },\n action: {\n type: RumEventType.ACTION,\n tags: {\n action_type: 'action.type'\n },\n fields: {\n action_name: 'action.target.name',\n duration: 'action.loading_time',\n action_error_count: 'action.error.count',\n action_resource_count: 'action.resource.count',\n action_frustration_types: 'action.frustration.type',\n action_long_task_count: 'action.long_task.count',\n action_target: '_gc.action.target',\n action_position: '_gc.action.position'\n }\n },\n telemetry: {\n type: 'telemetry',\n fields: {\n status: 'telemetry.status',\n message: ['string', 'telemetry.message'],\n type: 'telemetry.type',\n error_stack: ['string', 'telemetry.error.stack'],\n error_kind: ['string', 'telemetry.error.kind']\n }\n },\n browser_log: {\n type: RumEventType.LOGGER,\n tags: {\n error_source: 'error.source',\n error_type: 'error.type',\n error_resource_url: 'http.url',\n error_resource_url_host: 'http.url_host',\n error_resource_url_path: 'http.url_path',\n error_resource_url_path_group: 'http.url_path_group',\n error_resource_status: 'http.status_code',\n error_resource_status_group: 'http.status_group',\n error_resource_method: 'http.method',\n action_id: 'user_action.id',\n service: 'service',\n status: 'status'\n },\n fields: {\n message: ['string', 'message']\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dataMap.js","names":["RumEventType","commonTags","sdk_name","sdk_version","app_id","env","service","version","userid","user_email","user_name","session_id","session_type","session_sampling","is_signin","os","os_version","os_version_major","browser","browser_version","browser_version_major","screen_size","network_type","device","view_id","view_referrer","view_url","view_host","view_path","view_name","view_path_group","commonFields","view_url_query","action_id","action_ids","view_in_foreground","display","session_has_replay","is_login","page_states","session_sample_rate","session_replay_sample_rate","dataMap","view","type","VIEW","tags","view_loading_type","view_apdex_level","view_privacy_replay_level","fields","sampled_for_replay","is_active","session_replay_stats","session_is_active","view_error_count","view_resource_count","view_long_task_count","view_action_count","first_contentful_paint","largest_contentful_paint","largest_contentful_paint_element_selector","cumulative_layout_shift","cumulative_layout_shift_target_selector","first_input_delay","loading_time","dom_interactive","dom_content_loaded","dom_complete","load_event","first_input_time","first_input_target_selector","first_paint_time","interaction_to_next_paint","interaction_to_next_paint_target_selector","resource_load_time","time_to_interactive","dom","dom_ready","time_spent","first_byte","frustration_count","custom_timings","resource","RESOURCE","trace_id","span_id","resource_url","resource_url_host","resource_url_path","resource_url_path_group","resource_url_query","resource_type","resource_status","resource_status_group","resource_method","duration","resource_size","resource_encode_size","resource_render_blocking_status","resource_dns","resource_tcp","resource_ssl","resource_ttfb","resource_trans","resource_redirect","resource_first_byte","resource_dns_time","resource_download_time","resource_first_byte_time","resource_connect_time","resource_ssl_time","resource_redirect_time","error","ERROR","error_id","error_source","error_type","error_handling","error_message","error_stack","error_causes","long_task","LONG_TASK","long_task_id","action","ACTION","action_type","action_name","action_error_count","action_resource_count","action_frustration_types","action_long_task_count","action_target","action_position","telemetry","status","message","error_kind","browser_log","LOGGER","error_resource_url","error_resource_url_host","error_resource_url_path","error_resource_url_path_group","error_resource_status","error_resource_status_group","error_resource_method"],"sources":["../src/dataMap.js"],"sourcesContent":["import { RumEventType } from './helper/enums'\nexport var commonTags = {\n sdk_name: '_gc.sdk_name',\n sdk_version: '_gc.sdk_version',\n app_id: 'application.id',\n env: 'env',\n service: 'service',\n version: 'version',\n userid: 'user.id',\n user_email: 'user.email',\n user_name: 'user.name',\n session_id: 'session.id',\n session_type: 'session.type',\n session_sampling: 'session.is_sampling',\n is_signin: 'user.is_signin',\n os: 'device.os',\n os_version: 'device.os_version',\n os_version_major: 'device.os_version_major',\n browser: 'device.browser',\n browser_version: 'device.browser_version',\n browser_version_major: 'device.browser_version_major',\n screen_size: 'device.screen_size',\n network_type: 'device.network_type',\n device: 'device.device',\n view_id: 'view.id',\n view_referrer: 'view.referrer',\n view_url: 'view.url',\n view_host: 'view.host',\n view_path: 'view.path',\n view_name: 'view.path', // 冗余一个字段\n view_path_group: 'view.path_group'\n}\nexport var commonFields = {\n view_url_query: 'view.url_query',\n action_id: 'action.id',\n action_ids: 'action.ids',\n view_in_foreground: 'view.in_foreground',\n display: 'display',\n session_has_replay: 'session.has_replay',\n is_login: 'user.is_login',\n page_states: '_gc.page_states',\n session_sample_rate: '_gc.configuration.session_sample_rate',\n session_replay_sample_rate: '_gc.configuration.session_replay_sample_rate'\n}\n// 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]\nexport var dataMap = {\n view: {\n type: RumEventType.VIEW,\n tags: {\n view_loading_type: 'view.loading_type',\n view_apdex_level: 'view.apdex_level',\n view_privacy_replay_level: 'privacy.replay_level'\n },\n fields: {\n sampled_for_replay: 'session.sampled_for_replay',\n is_active: 'view.is_active',\n session_replay_stats: '_gc.replay_stats',\n session_is_active: 'session.is_active',\n view_error_count: 'view.error.count',\n view_resource_count: 'view.resource.count',\n view_long_task_count: 'view.long_task.count',\n view_action_count: 'view.action.count',\n first_contentful_paint: 'view.first_contentful_paint',\n largest_contentful_paint: 'view.largest_contentful_paint',\n largest_contentful_paint_element_selector:\n 'view.largest_contentful_paint_element_selector',\n cumulative_layout_shift: 'view.cumulative_layout_shift',\n cumulative_layout_shift_target_selector:\n 'view.cumulative_layout_shift_target_selector',\n first_input_delay: 'view.first_input_delay',\n loading_time: 'view.loading_time',\n dom_interactive: 'view.dom_interactive',\n dom_content_loaded: 'view.dom_content_loaded',\n dom_complete: 'view.dom_complete',\n load_event: 'view.load_event',\n first_input_time: 'view.first_input_time',\n first_input_target_selector: 'view.first_input_target_selector',\n first_paint_time: 'view.fpt',\n interaction_to_next_paint: 'view.interaction_to_next_paint',\n interaction_to_next_paint_target_selector:\n 'view.interaction_to_next_paint_target_selector',\n resource_load_time: 'view.resource_load_time',\n time_to_interactive: 'view.tti',\n dom: 'view.dom',\n dom_ready: 'view.dom_ready',\n time_spent: 'view.time_spent',\n first_byte: 'view.first_byte',\n frustration_count: 'view.frustration.count',\n custom_timings: 'view.custom_timings'\n }\n },\n resource: {\n type: RumEventType.RESOURCE,\n tags: {\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n resource_url: 'resource.url',\n resource_url_host: 'resource.url_host',\n resource_url_path: 'resource.url_path',\n resource_url_path_group: 'resource.url_path_group',\n resource_url_query: 'resource.url_query',\n resource_type: 'resource.type',\n resource_status: 'resource.status',\n resource_status_group: 'resource.status_group',\n resource_method: 'resource.method'\n },\n fields: {\n duration: 'resource.duration',\n resource_size: 'resource.size',\n resource_encode_size: 'resource.encode_size',\n resource_render_blocking_status: 'resource.render_blocking_status',\n resource_dns: 'resource.dns',\n resource_tcp: 'resource.tcp',\n resource_ssl: 'resource.ssl',\n resource_ttfb: 'resource.ttfb',\n resource_trans: 'resource.trans',\n resource_redirect: 'resource.redirect',\n resource_first_byte: 'resource.firstbyte',\n resource_dns_time: 'resource.dns_time',\n resource_download_time: 'resource.download_time',\n resource_first_byte_time: 'resource.first_byte_time',\n resource_connect_time: 'resource.connect_time',\n resource_ssl_time: 'resource.ssl_time',\n resource_redirect_time: 'resource.redirect_time'\n }\n },\n error: {\n type: RumEventType.ERROR,\n tags: {\n error_id: 'error.id',\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n error_source: 'error.source',\n error_type: 'error.type',\n error_handling: 'error.handling'\n // resource_url: 'error.resource.url',\n // resource_url_host: 'error.resource.url_host',\n // resource_url_path: 'error.resource.url_path',\n // resource_url_path_group: 'error.resource.url_path_group',\n // resource_status: 'error.resource.status',\n // resource_status_group: 'error.resource.status_group',\n // resource_method: 'error.resource.method'\n },\n fields: {\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack'],\n error_causes: ['string', 'error.causes']\n }\n },\n long_task: {\n type: RumEventType.LONG_TASK,\n tags: {\n long_task_id: 'long_task.id'\n },\n fields: {\n duration: 'long_task.duration'\n }\n },\n action: {\n type: RumEventType.ACTION,\n tags: {\n action_type: 'action.type'\n },\n fields: {\n action_name: 'action.target.name',\n duration: 'action.loading_time',\n action_error_count: 'action.error.count',\n action_resource_count: 'action.resource.count',\n action_frustration_types: 'action.frustration.type',\n action_long_task_count: 'action.long_task.count',\n action_target: '_gc.action.target',\n action_position: '_gc.action.position'\n }\n },\n telemetry: {\n type: 'telemetry',\n fields: {\n status: 'telemetry.status',\n message: ['string', 'telemetry.message'],\n type: 'telemetry.type',\n error_stack: ['string', 'telemetry.error.stack'],\n error_kind: ['string', 'telemetry.error.kind']\n }\n },\n browser_log: {\n type: RumEventType.LOGGER,\n tags: {\n error_source: 'error.source',\n error_type: 'error.type',\n error_resource_url: 'http.url',\n error_resource_url_host: 'http.url_host',\n error_resource_url_path: 'http.url_path',\n error_resource_url_path_group: 'http.url_path_group',\n error_resource_status: 'http.status_code',\n error_resource_status_group: 'http.status_group',\n error_resource_method: 'http.method',\n action_id: 'user_action.id',\n service: 'service',\n status: 'status'\n },\n fields: {\n message: ['string', 'message']\n }\n }\n}\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ var _Observable = function _Observable(onFirstSubscribe) {
7
7
  _Observable.prototype = {
8
8
  subscribe: function subscribe(f) {
9
9
  if (!this.observers.length && this.onFirstSubscribe) {
10
- this.onLastUnsubscribe = this.onFirstSubscribe() || undefined;
10
+ this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined;
11
11
  }
12
12
  this.observers.push(f);
13
13
  var _this = this;
@@ -31,7 +31,7 @@ _Observable.prototype = {
31
31
  export var Observable = _Observable;
32
32
  export function mergeObservables() {
33
33
  var observables = [].slice.call(arguments);
34
- var globalObservable = new Observable(function () {
34
+ return new Observable(function (globalObservable) {
35
35
  var subscriptions = map(observables, function (observable) {
36
36
  return observable.subscribe(function (data) {
37
37
  return globalObservable.notify(data);
@@ -43,6 +43,5 @@ export function mergeObservables() {
43
43
  });
44
44
  };
45
45
  });
46
- return globalObservable;
47
46
  }
48
47
  //# sourceMappingURL=observable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observable.js","names":["each","filter","map","_Observable","onFirstSubscribe","observers","onLastUnsubscribe","undefined","prototype","subscribe","f","length","push","_this","unsubscribe","other","notify","data","observer","Observable","mergeObservables","observables","slice","call","arguments","globalObservable","subscriptions","observable","subscription"],"sources":["../../src/helper/observable.js"],"sourcesContent":["import { each, filter, map } from './tools'\nvar _Observable = function (onFirstSubscribe) {\n this.observers = []\n this.onLastUnsubscribe = undefined\n this.onFirstSubscribe = onFirstSubscribe\n}\n_Observable.prototype = {\n subscribe: function (f) {\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe() || undefined\n }\n this.observers.push(f)\n var _this = this\n return {\n unsubscribe: function () {\n _this.observers = filter(_this.observers, function (other) {\n return f !== other\n })\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe()\n }\n }\n }\n },\n notify: function (data) {\n each(this.observers, function (observer) {\n observer(data)\n })\n }\n}\nexport var Observable = _Observable\n\nexport function mergeObservables() {\n var observables = [].slice.call(arguments)\n var globalObservable = new Observable(function () {\n var subscriptions = map(observables, function (observable) {\n return observable.subscribe(function (data) {\n return globalObservable.notify(data)\n })\n })\n return function () {\n return each(subscriptions, function (subscription) {\n return subscription.unsubscribe()\n })\n }\n })\n return globalObservable\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,EAAEC,GAAG,QAAQ,SAAS;AAC3C,IAAIC,WAAW,GAAG,SAAdA,WAAWA,CAAaC,gBAAgB,EAAE;EAC5C,IAAI,CAACC,SAAS,GAAG,EAAE;EACnB,IAAI,CAACC,iBAAiB,GAAGC,SAAS;EAClC,IAAI,CAACH,gBAAgB,GAAGA,gBAAgB;AAC1C,CAAC;AACDD,WAAW,CAACK,SAAS,GAAG;EACtBC,SAAS,EAAE,SAAAA,UAAUC,CAAC,EAAE;IACtB,IAAI,CAAC,IAAI,CAACL,SAAS,CAACM,MAAM,IAAI,IAAI,CAACP,gBAAgB,EAAE;MACnD,IAAI,CAACE,iBAAiB,GAAG,IAAI,CAACF,gBAAgB,CAAC,CAAC,IAAIG,SAAS;IAC/D;IACA,IAAI,CAACF,SAAS,CAACO,IAAI,CAACF,CAAC,CAAC;IACtB,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACR,SAAS,GAAGJ,MAAM,CAACY,KAAK,CAACR,SAAS,EAAE,UAAUU,KAAK,EAAE;UACzD,OAAOL,CAAC,KAAKK,KAAK;QACpB,CAAC,CAAC;QACF,IAAI,CAACF,KAAK,CAACR,SAAS,CAACM,MAAM,IAAIE,KAAK,CAACP,iBAAiB,EAAE;UACtDO,KAAK,CAACP,iBAAiB,CAAC,CAAC;QAC3B;MACF;IACF,CAAC;EACH,CAAC;EACDU,MAAM,EAAE,SAAAA,OAAUC,IAAI,EAAE;IACtBjB,IAAI,CAAC,IAAI,CAACK,SAAS,EAAE,UAAUa,QAAQ,EAAE;MACvCA,QAAQ,CAACD,IAAI,CAAC;IAChB,CAAC,CAAC;EACJ;AACF,CAAC;AACD,OAAO,IAAIE,UAAU,GAAGhB,WAAW;AAEnC,OAAO,SAASiB,gBAAgBA,CAAA,EAAG;EACjC,IAAIC,WAAW,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,CAAC;EAC1C,IAAIC,gBAAgB,GAAG,IAAIN,UAAU,CAAC,YAAY;IAChD,IAAIO,aAAa,GAAGxB,GAAG,CAACmB,WAAW,EAAE,UAAUM,UAAU,EAAE;MACzD,OAAOA,UAAU,CAAClB,SAAS,CAAC,UAAUQ,IAAI,EAAE;QAC1C,OAAOQ,gBAAgB,CAACT,MAAM,CAACC,IAAI,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,YAAY;MACjB,OAAOjB,IAAI,CAAC0B,aAAa,EAAE,UAAUE,YAAY,EAAE;QACjD,OAAOA,YAAY,CAACd,WAAW,CAAC,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC;EACF,OAAOW,gBAAgB;AACzB"}
1
+ {"version":3,"file":"observable.js","names":["each","filter","map","_Observable","onFirstSubscribe","observers","onLastUnsubscribe","undefined","prototype","subscribe","f","length","push","_this","unsubscribe","other","notify","data","observer","Observable","mergeObservables","observables","slice","call","arguments","globalObservable","subscriptions","observable","subscription"],"sources":["../../src/helper/observable.js"],"sourcesContent":["import { each, filter, map } from './tools'\nvar _Observable = function (onFirstSubscribe) {\n this.observers = []\n this.onLastUnsubscribe = undefined\n this.onFirstSubscribe = onFirstSubscribe\n}\n_Observable.prototype = {\n subscribe: function (f) {\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined\n }\n this.observers.push(f)\n var _this = this\n return {\n unsubscribe: function () {\n _this.observers = filter(_this.observers, function (other) {\n return f !== other\n })\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe()\n }\n }\n }\n },\n notify: function (data) {\n each(this.observers, function (observer) {\n observer(data)\n })\n }\n}\nexport var Observable = _Observable\n\nexport function mergeObservables() {\n var observables = [].slice.call(arguments)\n return new Observable(function (globalObservable) {\n var subscriptions = map(observables, function (observable) {\n return observable.subscribe(function (data) {\n return globalObservable.notify(data)\n })\n })\n return function () {\n return each(subscriptions, function (subscription) {\n return subscription.unsubscribe()\n })\n }\n })\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,EAAEC,GAAG,QAAQ,SAAS;AAC3C,IAAIC,WAAW,GAAG,SAAdA,WAAWA,CAAaC,gBAAgB,EAAE;EAC5C,IAAI,CAACC,SAAS,GAAG,EAAE;EACnB,IAAI,CAACC,iBAAiB,GAAGC,SAAS;EAClC,IAAI,CAACH,gBAAgB,GAAGA,gBAAgB;AAC1C,CAAC;AACDD,WAAW,CAACK,SAAS,GAAG;EACtBC,SAAS,EAAE,SAAAA,UAAUC,CAAC,EAAE;IACtB,IAAI,CAAC,IAAI,CAACL,SAAS,CAACM,MAAM,IAAI,IAAI,CAACP,gBAAgB,EAAE;MACnD,IAAI,CAACE,iBAAiB,GAAG,IAAI,CAACF,gBAAgB,CAAC,IAAI,CAAC,IAAIG,SAAS;IACnE;IACA,IAAI,CAACF,SAAS,CAACO,IAAI,CAACF,CAAC,CAAC;IACtB,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACR,SAAS,GAAGJ,MAAM,CAACY,KAAK,CAACR,SAAS,EAAE,UAAUU,KAAK,EAAE;UACzD,OAAOL,CAAC,KAAKK,KAAK;QACpB,CAAC,CAAC;QACF,IAAI,CAACF,KAAK,CAACR,SAAS,CAACM,MAAM,IAAIE,KAAK,CAACP,iBAAiB,EAAE;UACtDO,KAAK,CAACP,iBAAiB,CAAC,CAAC;QAC3B;MACF;IACF,CAAC;EACH,CAAC;EACDU,MAAM,EAAE,SAAAA,OAAUC,IAAI,EAAE;IACtBjB,IAAI,CAAC,IAAI,CAACK,SAAS,EAAE,UAAUa,QAAQ,EAAE;MACvCA,QAAQ,CAACD,IAAI,CAAC;IAChB,CAAC,CAAC;EACJ;AACF,CAAC;AACD,OAAO,IAAIE,UAAU,GAAGhB,WAAW;AAEnC,OAAO,SAASiB,gBAAgBA,CAAA,EAAG;EACjC,IAAIC,WAAW,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,CAAC;EAC1C,OAAO,IAAIL,UAAU,CAAC,UAAUM,gBAAgB,EAAE;IAChD,IAAIC,aAAa,GAAGxB,GAAG,CAACmB,WAAW,EAAE,UAAUM,UAAU,EAAE;MACzD,OAAOA,UAAU,CAAClB,SAAS,CAAC,UAAUQ,IAAI,EAAE;QAC1C,OAAOQ,gBAAgB,CAACT,MAAM,CAACC,IAAI,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,YAAY;MACjB,OAAOjB,IAAI,CAAC0B,aAAa,EAAE,UAAUE,YAAY,EAAE;QACjD,OAAOA,YAAY,CAACd,WAAW,CAAC,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC;AACJ"}
@@ -23,7 +23,7 @@ export function initReportObservable(configuration, apis) {
23
23
  return mergeObservables.apply(this, observables);
24
24
  }
25
25
  function createReportObservable(reportTypes) {
26
- var observable = new Observable(function () {
26
+ return new Observable(function (observable) {
27
27
  if (!window.ReportingObserver) {
28
28
  return;
29
29
  }
@@ -44,7 +44,7 @@ function createReportObservable(reportTypes) {
44
44
  return observable;
45
45
  }
46
46
  function createCspViolationReportObservable(configuration) {
47
- var observable = new Observable(function () {
47
+ return new Observable(function (observable) {
48
48
  var handleCspViolation = function handleCspViolation(event) {
49
49
  observable.notify(buildRawReportFromCspViolation(event));
50
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"reportObservable.js","names":["toStackTraceString","mergeObservables","Observable","includes","safeTruncate","filter","each","addEventListener","DOM_EVENT","monitor","RawReportType","intervention","deprecation","cspViolation","initReportObservable","configuration","apis","observables","push","createCspViolationReportObservable","reportTypes","api","length","createReportObservable","apply","observable","window","ReportingObserver","handleReports","reports","report","notify","buildRawReportFromReport","observer","types","buffered","observe","disconnect","handleCspViolation","event","buildRawReportFromCspViolation","_addEventListener","document","SECURITY_POLICY_VIOLATION","stop","body","type","subtype","id","message","stack","buildStack","sourceFile","lineNumber","columnNumber","blockedURI","effectiveDirective","originalPolicy","name","func","url","line","column"],"sources":["../../src/report/reportObservable.js"],"sourcesContent":["import { toStackTraceString } from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { includes, safeTruncate, filter, each } from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nimport { DOM_EVENT } from '../helper/enums'\nimport { monitor } from '../helper/monitor'\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation'\n}\nexport function initReportObservable(configuration, apis) {\n var observables = []\n\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration))\n }\n\n var reportTypes = filter(apis, function (api) {\n return api !== RawReportType.cspViolation\n })\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes))\n }\n return mergeObservables.apply(this, observables)\n}\n\nfunction createReportObservable(reportTypes) {\n var observable = new Observable(function () {\n if (!window.ReportingObserver) {\n return\n }\n\n var handleReports = monitor(function (reports) {\n each(reports, function (report) {\n observable.notify(buildRawReportFromReport(report))\n })\n })\n\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true\n })\n\n observer.observe()\n return function () {\n observer.disconnect()\n }\n })\n\n return observable\n}\n\nfunction createCspViolationReportObservable(configuration) {\n var observable = new Observable(function () {\n var handleCspViolation = function (event) {\n observable.notify(buildRawReportFromCspViolation(event))\n }\n\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.SECURITY_POLICY_VIOLATION,\n handleCspViolation\n )\n\n return _addEventListener.stop\n })\n return observable\n}\n\nfunction buildRawReportFromReport(report) {\n var body = report.body\n var type = report.type\n return {\n type: type,\n subtype: body.id,\n message: type + ': ' + body.message,\n stack: buildStack(\n body.id,\n body.message,\n body.sourceFile,\n body.lineNumber,\n body.columnNumber\n )\n }\n}\n\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation\n var message =\n \"'\" +\n event.blockedURI +\n \"' blocked by '\" +\n event.effectiveDirective +\n \"' directive\"\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: type + ': ' + message,\n stack: buildStack(\n event.effectiveDirective,\n message +\n ' of the policy \"' +\n safeTruncate(event.originalPolicy, 100, '...') +\n '\"',\n event.sourceFile,\n event.lineNumber,\n event.columnNumber\n )\n }\n}\n\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (\n sourceFile &&\n toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber\n }\n ]\n })\n )\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,gBAAgB,EAAEC,UAAU,QAAQ,sBAAsB;AACnE,SAASC,QAAQ,EAAEC,YAAY,EAAEC,MAAM,EAAEC,IAAI,QAAQ,iBAAiB;AACtE,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,OAAO,QAAQ,mBAAmB;AAC3C,OAAO,IAAIC,aAAa,GAAG;EACzBC,YAAY,EAAE,cAAc;EAC5BC,WAAW,EAAE,aAAa;EAC1BC,YAAY,EAAE;AAChB,CAAC;AACD,OAAO,SAASC,oBAAoBA,CAACC,aAAa,EAAEC,IAAI,EAAE;EACxD,IAAIC,WAAW,GAAG,EAAE;EAEpB,IAAId,QAAQ,CAACa,IAAI,EAAEN,aAAa,CAACG,YAAY,CAAC,EAAE;IAC9CI,WAAW,CAACC,IAAI,CAACC,kCAAkC,CAACJ,aAAa,CAAC,CAAC;EACrE;EAEA,IAAIK,WAAW,GAAGf,MAAM,CAACW,IAAI,EAAE,UAAUK,GAAG,EAAE;IAC5C,OAAOA,GAAG,KAAKX,aAAa,CAACG,YAAY;EAC3C,CAAC,CAAC;EACF,IAAIO,WAAW,CAACE,MAAM,EAAE;IACtBL,WAAW,CAACC,IAAI,CAACK,sBAAsB,CAACH,WAAW,CAAC,CAAC;EACvD;EACA,OAAOnB,gBAAgB,CAACuB,KAAK,CAAC,IAAI,EAAEP,WAAW,CAAC;AAClD;AAEA,SAASM,sBAAsBA,CAACH,WAAW,EAAE;EAC3C,IAAIK,UAAU,GAAG,IAAIvB,UAAU,CAAC,YAAY;IAC1C,IAAI,CAACwB,MAAM,CAACC,iBAAiB,EAAE;MAC7B;IACF;IAEA,IAAIC,aAAa,GAAGnB,OAAO,CAAC,UAAUoB,OAAO,EAAE;MAC7CvB,IAAI,CAACuB,OAAO,EAAE,UAAUC,MAAM,EAAE;QAC9BL,UAAU,CAACM,MAAM,CAACC,wBAAwB,CAACF,MAAM,CAAC,CAAC;MACrD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAIG,QAAQ,GAAG,IAAIP,MAAM,CAACC,iBAAiB,CAACC,aAAa,EAAE;MACzDM,KAAK,EAAEd,WAAW;MAClBe,QAAQ,EAAE;IACZ,CAAC,CAAC;IAEFF,QAAQ,CAACG,OAAO,CAAC,CAAC;IAClB,OAAO,YAAY;MACjBH,QAAQ,CAACI,UAAU,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,CAAC;EAEF,OAAOZ,UAAU;AACnB;AAEA,SAASN,kCAAkCA,CAACJ,aAAa,EAAE;EACzD,IAAIU,UAAU,GAAG,IAAIvB,UAAU,CAAC,YAAY;IAC1C,IAAIoC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAaC,KAAK,EAAE;MACxCd,UAAU,CAACM,MAAM,CAACS,8BAA8B,CAACD,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,IAAIE,iBAAiB,GAAGlC,gBAAgB,CACtCmC,QAAQ,EACRlC,SAAS,CAACmC,yBAAyB,EACnCL,kBACF,CAAC;IAED,OAAOG,iBAAiB,CAACG,IAAI;EAC/B,CAAC,CAAC;EACF,OAAOnB,UAAU;AACnB;AAEA,SAASO,wBAAwBA,CAACF,MAAM,EAAE;EACxC,IAAIe,IAAI,GAAGf,MAAM,CAACe,IAAI;EACtB,IAAIC,IAAI,GAAGhB,MAAM,CAACgB,IAAI;EACtB,OAAO;IACLA,IAAI,EAAEA,IAAI;IACVC,OAAO,EAAEF,IAAI,CAACG,EAAE;IAChBC,OAAO,EAAEH,IAAI,GAAG,IAAI,GAAGD,IAAI,CAACI,OAAO;IACnCC,KAAK,EAAEC,UAAU,CACfN,IAAI,CAACG,EAAE,EACPH,IAAI,CAACI,OAAO,EACZJ,IAAI,CAACO,UAAU,EACfP,IAAI,CAACQ,UAAU,EACfR,IAAI,CAACS,YACP;EACF,CAAC;AACH;AAEA,SAASd,8BAA8BA,CAACD,KAAK,EAAE;EAC7C,IAAIO,IAAI,GAAGpC,aAAa,CAACG,YAAY;EACrC,IAAIoC,OAAO,GACT,GAAG,GACHV,KAAK,CAACgB,UAAU,GAChB,gBAAgB,GAChBhB,KAAK,CAACiB,kBAAkB,GACxB,aAAa;EACf,OAAO;IACLV,IAAI,EAAEpC,aAAa,CAACG,YAAY;IAChCkC,OAAO,EAAER,KAAK,CAACiB,kBAAkB;IACjCP,OAAO,EAAEH,IAAI,GAAG,IAAI,GAAGG,OAAO;IAC9BC,KAAK,EAAEC,UAAU,CACfZ,KAAK,CAACiB,kBAAkB,EACxBP,OAAO,GACL,kBAAkB,GAClB7C,YAAY,CAACmC,KAAK,CAACkB,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,GAC9C,GAAG,EACLlB,KAAK,CAACa,UAAU,EAChBb,KAAK,CAACc,UAAU,EAChBd,KAAK,CAACe,YACR;EACF,CAAC;AACH;AAEA,SAASH,UAAUA,CAACO,IAAI,EAAET,OAAO,EAAEG,UAAU,EAAEC,UAAU,EAAEC,YAAY,EAAE;EACvE,OACEF,UAAU,IACVpD,kBAAkB,CAAC;IACjB0D,IAAI,EAAEA,IAAI;IACVT,OAAO,EAAEA,OAAO;IAChBC,KAAK,EAAE,CACL;MACES,IAAI,EAAE,GAAG;MACTC,GAAG,EAAER,UAAU;MACfS,IAAI,EAAER,UAAU;MAChBS,MAAM,EAAER;IACV,CAAC;EAEL,CAAC,CAAC;AAEN"}
1
+ {"version":3,"file":"reportObservable.js","names":["toStackTraceString","mergeObservables","Observable","includes","safeTruncate","filter","each","addEventListener","DOM_EVENT","monitor","RawReportType","intervention","deprecation","cspViolation","initReportObservable","configuration","apis","observables","push","createCspViolationReportObservable","reportTypes","api","length","createReportObservable","apply","observable","window","ReportingObserver","handleReports","reports","report","notify","buildRawReportFromReport","observer","types","buffered","observe","disconnect","handleCspViolation","event","buildRawReportFromCspViolation","_addEventListener","document","SECURITY_POLICY_VIOLATION","stop","body","type","subtype","id","message","stack","buildStack","sourceFile","lineNumber","columnNumber","blockedURI","effectiveDirective","originalPolicy","name","func","url","line","column"],"sources":["../../src/report/reportObservable.js"],"sourcesContent":["import { toStackTraceString } from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { includes, safeTruncate, filter, each } from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nimport { DOM_EVENT } from '../helper/enums'\nimport { monitor } from '../helper/monitor'\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation'\n}\nexport function initReportObservable(configuration, apis) {\n var observables = []\n\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration))\n }\n\n var reportTypes = filter(apis, function (api) {\n return api !== RawReportType.cspViolation\n })\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes))\n }\n return mergeObservables.apply(this, observables)\n}\n\nfunction createReportObservable(reportTypes) {\n return new Observable(function (observable) {\n if (!window.ReportingObserver) {\n return\n }\n\n var handleReports = monitor(function (reports) {\n each(reports, function (report) {\n observable.notify(buildRawReportFromReport(report))\n })\n })\n\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true\n })\n\n observer.observe()\n return function () {\n observer.disconnect()\n }\n })\n\n return observable\n}\n\nfunction createCspViolationReportObservable(configuration) {\n return new Observable(function (observable) {\n var handleCspViolation = function (event) {\n observable.notify(buildRawReportFromCspViolation(event))\n }\n\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.SECURITY_POLICY_VIOLATION,\n handleCspViolation\n )\n\n return _addEventListener.stop\n })\n return observable\n}\n\nfunction buildRawReportFromReport(report) {\n var body = report.body\n var type = report.type\n return {\n type: type,\n subtype: body.id,\n message: type + ': ' + body.message,\n stack: buildStack(\n body.id,\n body.message,\n body.sourceFile,\n body.lineNumber,\n body.columnNumber\n )\n }\n}\n\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation\n var message =\n \"'\" +\n event.blockedURI +\n \"' blocked by '\" +\n event.effectiveDirective +\n \"' directive\"\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: type + ': ' + message,\n stack: buildStack(\n event.effectiveDirective,\n message +\n ' of the policy \"' +\n safeTruncate(event.originalPolicy, 100, '...') +\n '\"',\n event.sourceFile,\n event.lineNumber,\n event.columnNumber\n )\n }\n}\n\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (\n sourceFile &&\n toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber\n }\n ]\n })\n )\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@cloudcare/browser-core",
3
- "version": "3.1.7",
3
+ "version": "3.1.10",
4
4
  "main": "cjs/index.js",
5
5
  "module": "esm/index.js",
6
+ "types": "types/index.d.ts",
6
7
  "scripts": {
7
8
  "build": "run-p build:cjs build:esm",
8
9
  "build:cjs": "rm -rf cjs && babel --config-file ./babel.cjs.json --out-dir cjs ./src",
@@ -15,10 +16,11 @@
15
16
  ],
16
17
  "repository": {
17
18
  "url": "https://github.com/DataFlux-cn/datakit-js",
18
- "type": "git"
19
+ "type": "git",
20
+ "directory": "packages/core"
19
21
  },
20
22
  "author": "dataflux",
21
23
  "license": "MIT",
22
24
  "description": "DataFlux RUM Web 端数据指标监控",
23
- "gitHead": "4093a664f46522339538f008980660cdc772bd39"
25
+ "gitHead": "2361945f9933caee1559f4e3fd2c954488188844"
24
26
  }
@@ -14,7 +14,7 @@ export function initFetchObservable() {
14
14
  }
15
15
 
16
16
  function createFetchObservable() {
17
- var observable = new Observable(function () {
17
+ return new Observable(function (observable) {
18
18
  if (!window.fetch) {
19
19
  return
20
20
  }
@@ -50,13 +50,24 @@ function createFetchObservable() {
50
50
  )
51
51
  return fetchMethod.stop
52
52
  })
53
-
54
- return observable
55
53
  }
56
54
 
57
55
  function beforeSend(observable, input, init) {
56
+ // var method =
57
+ // (init && init.method) || (input instanceof Request && input.method) || 'GET'
58
+ // const methodFromParams =
59
+ // (init && init.method) || (input instanceof Request && input.method)
60
+ // const method = methodFromParams ? methodFromParams.toUpperCase() : 'GET'
61
+ var methodFromParams = init && init.method
62
+
63
+ if (methodFromParams === undefined && input instanceof Request) {
64
+ methodFromParams = input.method
65
+ }
66
+
58
67
  var method =
59
- (init && init.method) || (input instanceof Request && input.method) || 'GET'
68
+ methodFromParams !== undefined
69
+ ? String(methodFromParams).toUpperCase()
70
+ : 'GET'
60
71
  var url = input instanceof Request ? input.url : normalizeUrl(String(input))
61
72
 
62
73
  var startClocks = clocksNow()
@@ -13,7 +13,7 @@ export var PageExitReason = {
13
13
  }
14
14
 
15
15
  export function createPageExitObservable() {
16
- var observable = new Observable(function () {
16
+ return new Observable(function (observable) {
17
17
  /**
18
18
  * Only event that guarantee to fire on mobile devices when the page transitions to background state
19
19
  * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.
@@ -60,8 +60,6 @@ export function createPageExitObservable() {
60
60
  beforeUnloadListener.stop()
61
61
  }
62
62
  })
63
-
64
- return observable
65
63
  }
66
64
 
67
65
  export function isPageExitReason(reason) {
@@ -21,7 +21,7 @@ export function initXhrObservable() {
21
21
  }
22
22
 
23
23
  function createXhrObservable() {
24
- var observable = new Observable(function () {
24
+ return new Observable(function (observable) {
25
25
  var openInstrumentMethod = instrumentMethodAndCallOriginal(
26
26
  XMLHttpRequest.prototype,
27
27
  'open',
@@ -54,7 +54,6 @@ function createXhrObservable() {
54
54
  abortInstrumentMethod.stop()
55
55
  }
56
56
  })
57
- return observable
58
57
  }
59
58
 
60
59
  function openXhr(method, url) {
@@ -62,7 +61,7 @@ function openXhr(method, url) {
62
61
  this[DATA_FLUX_REQUEST_ID_KEY] = requestUUID
63
62
  xhrContexts[requestUUID] = {
64
63
  state: 'open',
65
- method: method,
64
+ method: String(method).toUpperCase(),
66
65
  url: normalizeUrl(String(url))
67
66
  }
68
67
  }
@@ -24,7 +24,7 @@ export function initConsoleObservable(apis) {
24
24
 
25
25
  /* eslint-disable no-console */
26
26
  function createConsoleObservable(api) {
27
- var observable = new Observable(function () {
27
+ return new Observable(function (observable) {
28
28
  var originalConsoleApi = console[api]
29
29
  console[api] = function () {
30
30
  var params = [].slice.call(arguments)
@@ -42,7 +42,6 @@ function createConsoleObservable(api) {
42
42
  }
43
43
 
44
44
  function buildConsoleLog(params, api, handlingStack) {
45
- // Todo: remove console error prefix in the next major version
46
45
  var message = map(params, function (param) {
47
46
  return formatConsoleParameters(param)
48
47
  }).join(' ')
package/src/dataMap.js CHANGED
@@ -38,7 +38,9 @@ export var commonFields = {
38
38
  display: 'display',
39
39
  session_has_replay: 'session.has_replay',
40
40
  is_login: 'user.is_login',
41
- page_states: '_gc.page_states'
41
+ page_states: '_gc.page_states',
42
+ session_sample_rate: '_gc.configuration.session_sample_rate',
43
+ session_replay_sample_rate: '_gc.configuration.session_replay_sample_rate'
42
44
  }
43
45
  // 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]
44
46
  export var dataMap = {
@@ -50,6 +52,7 @@ export var dataMap = {
50
52
  view_privacy_replay_level: 'privacy.replay_level'
51
53
  },
52
54
  fields: {
55
+ sampled_for_replay: 'session.sampled_for_replay',
53
56
  is_active: 'view.is_active',
54
57
  session_replay_stats: '_gc.replay_stats',
55
58
  session_is_active: 'session.is_active',
@@ -7,7 +7,7 @@ var _Observable = function (onFirstSubscribe) {
7
7
  _Observable.prototype = {
8
8
  subscribe: function (f) {
9
9
  if (!this.observers.length && this.onFirstSubscribe) {
10
- this.onLastUnsubscribe = this.onFirstSubscribe() || undefined
10
+ this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined
11
11
  }
12
12
  this.observers.push(f)
13
13
  var _this = this
@@ -32,7 +32,7 @@ export var Observable = _Observable
32
32
 
33
33
  export function mergeObservables() {
34
34
  var observables = [].slice.call(arguments)
35
- var globalObservable = new Observable(function () {
35
+ return new Observable(function (globalObservable) {
36
36
  var subscriptions = map(observables, function (observable) {
37
37
  return observable.subscribe(function (data) {
38
38
  return globalObservable.notify(data)
@@ -44,5 +44,4 @@ export function mergeObservables() {
44
44
  })
45
45
  }
46
46
  })
47
- return globalObservable
48
47
  }
@@ -26,7 +26,7 @@ export function initReportObservable(configuration, apis) {
26
26
  }
27
27
 
28
28
  function createReportObservable(reportTypes) {
29
- var observable = new Observable(function () {
29
+ return new Observable(function (observable) {
30
30
  if (!window.ReportingObserver) {
31
31
  return
32
32
  }
@@ -52,7 +52,7 @@ function createReportObservable(reportTypes) {
52
52
  }
53
53
 
54
54
  function createCspViolationReportObservable(configuration) {
55
- var observable = new Observable(function () {
55
+ return new Observable(function (observable) {
56
56
  var handleCspViolation = function (event) {
57
57
  observable.notify(buildRawReportFromCspViolation(event))
58
58
  }
@@ -0,0 +1,92 @@
1
+ export interface Context {
2
+ [x: string]: ContextValue
3
+ }
4
+ export interface User {
5
+ id?: string | undefined
6
+ email?: string | undefined
7
+ name?: string | undefined
8
+ [key: string]: unknown
9
+ }
10
+ export declare const ConsoleApiName: {
11
+ readonly log: 'log'
12
+ readonly debug: 'debug'
13
+ readonly info: 'info'
14
+ readonly warn: 'warn'
15
+ readonly error: 'error'
16
+ }
17
+ export type ConsoleApiName = typeof ConsoleApiName
18
+
19
+ export declare const RawReportType: {
20
+ readonly intervention: 'intervention'
21
+ readonly deprecation: 'deprecation'
22
+ readonly cspViolation: 'csp_violation'
23
+ }
24
+ export type RawReportType = (typeof RawReportType)[keyof typeof RawReportType]
25
+ export interface InitConfiguration {
26
+ clientToken?: string | undefined
27
+ beforeSend?: (event: any, context?: any) => unknown | undefined
28
+ sessionSampleRate?: number | undefined
29
+ telemetrySampleRate?: number | undefined
30
+ silentMultipleInit?: boolean | undefined
31
+ site?: string | undefined
32
+ datakitOrigin: string
33
+ service?: string | undefined
34
+ env?: string | undefined
35
+ version?: string | undefined
36
+ tracingSampleRate: number | undefined
37
+ /**
38
+ * @deprecated use usePartitionedCrossSiteSessionCookie instead
39
+ */
40
+ useCrossSiteSessionCookie?: boolean | undefined
41
+ useSecureSessionCookie?: boolean | undefined
42
+ trackSessionAcrossSubdomains?: boolean | undefined
43
+ storeContextsToLocal: boolean | undefined
44
+ sendContentTypeByJson: boolean | undefined
45
+ }
46
+ export enum TraceType {
47
+ DDTRACE = 'ddtrace',
48
+ ZIPKIN_MULTI_HEADER = 'zipkin',
49
+ ZIPKIN_SINGLE_HEADER = 'zipkin_single_header',
50
+ W3C_TRACEPARENT = 'w3c_traceparent',
51
+ W3C_TRACEPARENT_64 = 'w3c_traceparent_64bit',
52
+ SKYWALKING_V3 = 'skywalking_v3',
53
+ JAEGER = 'jaeger'
54
+ }
55
+ export declare const DefaultPrivacyLevel: {
56
+ readonly ALLOW: 'allow'
57
+ readonly MASK: 'mask'
58
+ readonly MASK_USER_INPUT: 'mask-user-input'
59
+ }
60
+ export type DefaultPrivacyLevel =
61
+ (typeof DefaultPrivacyLevel)[keyof typeof DefaultPrivacyLevel]
62
+
63
+ export type MatchOption = string | RegExp | ((value: string) => boolean)
64
+ export type TracingOption = {
65
+ match: MatchOption
66
+ traceType: TraceType
67
+ }
68
+
69
+ export declare function isMatchOption(item: unknown): item is MatchOption
70
+ /**
71
+ * Returns true if value can be matched by at least one of the provided MatchOptions.
72
+ * When comparing strings, setting useStartsWith to true will compare the value with the start of
73
+ * the option, instead of requiring an exact match.
74
+ */
75
+ export declare function matchList(
76
+ list: MatchOption[],
77
+ value: string,
78
+ useStartsWith?: boolean
79
+ ): boolean
80
+
81
+ export interface RumInitConfiguration extends InitConfiguration {
82
+ applicationId: string
83
+ excludedActivityUrls?: MatchOption[] | undefined
84
+ allowedTracingUrls?: Array<MatchOption | TracingOption> | undefined
85
+ defaultPrivacyLevel?: DefaultPrivacyLevel | undefined
86
+ sessionReplaySampleRate?: number | undefined
87
+ trackUserInteractions?: boolean | undefined
88
+ actionNameAttribute?: string | undefined
89
+ trackViewsManually?: boolean | undefined
90
+ traceType: TraceType
91
+ traceId128Bit: boolean | undefined
92
+ }