@grafana/faro-core 1.0.0-beta4 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/README.md +5 -4
  2. package/dist/bundle/faro-core.iife.js +1 -1
  3. package/dist/cjs/api/events/initialize.js +1 -1
  4. package/dist/cjs/api/events/initialize.js.map +1 -1
  5. package/dist/cjs/api/exceptions/initialize.js +1 -1
  6. package/dist/cjs/api/exceptions/initialize.js.map +1 -1
  7. package/dist/cjs/api/initialize.js +3 -3
  8. package/dist/cjs/api/initialize.js.map +1 -1
  9. package/dist/cjs/api/logs/initialize.js +1 -1
  10. package/dist/cjs/api/logs/initialize.js.map +1 -1
  11. package/dist/cjs/api/measurements/initialize.js +4 -3
  12. package/dist/cjs/api/measurements/initialize.js.map +1 -1
  13. package/dist/cjs/api/measurements/types.js.map +1 -1
  14. package/dist/cjs/api/meta/initialize.js +14 -1
  15. package/dist/cjs/api/meta/initialize.js.map +1 -1
  16. package/dist/cjs/api/meta/types.js.map +1 -1
  17. package/dist/cjs/api/traces/initialize.js +1 -1
  18. package/dist/cjs/api/traces/initialize.js.map +1 -1
  19. package/dist/cjs/config/types.js.map +1 -1
  20. package/dist/cjs/{utils/extensions.js → extensions/baseExtension.js} +15 -17
  21. package/dist/cjs/extensions/baseExtension.js.map +1 -0
  22. package/dist/cjs/extensions/index.js +6 -0
  23. package/dist/cjs/extensions/index.js.map +1 -0
  24. package/dist/cjs/extensions/types.js +3 -0
  25. package/dist/cjs/extensions/types.js.map +1 -0
  26. package/dist/cjs/index.js +12 -11
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/initialize.js +11 -21
  29. package/dist/cjs/initialize.js.map +1 -1
  30. package/dist/cjs/instrumentations/base.js +6 -3
  31. package/dist/cjs/instrumentations/base.js.map +1 -1
  32. package/dist/cjs/instrumentations/index.js +3 -1
  33. package/dist/cjs/instrumentations/index.js.map +1 -1
  34. package/dist/cjs/instrumentations/initialize.js +8 -2
  35. package/dist/cjs/instrumentations/initialize.js.map +1 -1
  36. package/dist/cjs/instrumentations/registerInitial.js +9 -0
  37. package/dist/cjs/instrumentations/registerInitial.js.map +1 -0
  38. package/dist/cjs/instrumentations/types.js.map +1 -1
  39. package/dist/cjs/internalLogger/const.js.map +1 -1
  40. package/dist/cjs/internalLogger/createInternalLogger.js.map +1 -1
  41. package/dist/cjs/internalLogger/index.js +2 -1
  42. package/dist/cjs/internalLogger/index.js.map +1 -1
  43. package/dist/cjs/internalLogger/initialize.js.map +1 -1
  44. package/dist/cjs/metas/index.js +3 -1
  45. package/dist/cjs/metas/index.js.map +1 -1
  46. package/dist/cjs/metas/initialize.js +4 -30
  47. package/dist/cjs/metas/initialize.js.map +1 -1
  48. package/dist/cjs/metas/registerInitial.js +42 -0
  49. package/dist/cjs/metas/registerInitial.js.map +1 -0
  50. package/dist/cjs/metas/types.js.map +1 -1
  51. package/dist/cjs/sdk/faroGlobalObject.js.map +1 -1
  52. package/dist/cjs/sdk/index.js +3 -3
  53. package/dist/cjs/sdk/index.js.map +1 -1
  54. package/dist/cjs/sdk/internalFaroGlobalObject.js.map +1 -1
  55. package/dist/cjs/sdk/{register.js → registerFaro.js} +13 -3
  56. package/dist/cjs/sdk/registerFaro.js.map +1 -0
  57. package/dist/cjs/semantic.js +1 -0
  58. package/dist/cjs/semantic.js.map +1 -1
  59. package/dist/cjs/testUtils/mockConfig.js.map +1 -1
  60. package/dist/cjs/transports/base.js +2 -2
  61. package/dist/cjs/transports/base.js.map +1 -1
  62. package/dist/cjs/transports/index.js +3 -1
  63. package/dist/cjs/transports/index.js.map +1 -1
  64. package/dist/cjs/transports/initialize.js +5 -4
  65. package/dist/cjs/transports/initialize.js.map +1 -1
  66. package/dist/cjs/transports/registerInitial.js +11 -0
  67. package/dist/cjs/transports/registerInitial.js.map +1 -0
  68. package/dist/cjs/transports/types.js.map +1 -1
  69. package/dist/cjs/unpatchedConsole/initialize.js.map +1 -1
  70. package/dist/cjs/utils/index.js +1 -3
  71. package/dist/cjs/utils/index.js.map +1 -1
  72. package/dist/cjs/utils/shortId.js.map +1 -1
  73. package/dist/cjs/version.js +1 -1
  74. package/dist/cjs/version.js.map +1 -1
  75. package/dist/esm/api/events/initialize.js +1 -1
  76. package/dist/esm/api/events/initialize.js.map +1 -1
  77. package/dist/esm/api/exceptions/initialize.js +1 -1
  78. package/dist/esm/api/exceptions/initialize.js.map +1 -1
  79. package/dist/esm/api/initialize.js +3 -3
  80. package/dist/esm/api/initialize.js.map +1 -1
  81. package/dist/esm/api/logs/initialize.js +1 -1
  82. package/dist/esm/api/logs/initialize.js.map +1 -1
  83. package/dist/esm/api/measurements/initialize.js +4 -3
  84. package/dist/esm/api/measurements/initialize.js.map +1 -1
  85. package/dist/esm/api/measurements/types.js.map +1 -1
  86. package/dist/esm/api/meta/initialize.js +14 -1
  87. package/dist/esm/api/meta/initialize.js.map +1 -1
  88. package/dist/esm/api/meta/types.js.map +1 -1
  89. package/dist/esm/api/traces/initialize.js +1 -1
  90. package/dist/esm/api/traces/initialize.js.map +1 -1
  91. package/dist/esm/config/types.js.map +1 -1
  92. package/dist/esm/extensions/baseExtension.js +23 -0
  93. package/dist/esm/extensions/baseExtension.js.map +1 -0
  94. package/dist/esm/extensions/index.js +2 -0
  95. package/dist/esm/extensions/index.js.map +1 -0
  96. package/dist/esm/extensions/types.js +2 -0
  97. package/dist/esm/extensions/types.js.map +1 -0
  98. package/dist/esm/index.js +4 -3
  99. package/dist/esm/index.js.map +1 -1
  100. package/dist/esm/initialize.js +14 -23
  101. package/dist/esm/initialize.js.map +1 -1
  102. package/dist/esm/instrumentations/base.js +6 -1
  103. package/dist/esm/instrumentations/base.js.map +1 -1
  104. package/dist/esm/instrumentations/index.js +1 -0
  105. package/dist/esm/instrumentations/index.js.map +1 -1
  106. package/dist/esm/instrumentations/initialize.js +8 -2
  107. package/dist/esm/instrumentations/initialize.js.map +1 -1
  108. package/dist/esm/instrumentations/registerInitial.js +4 -0
  109. package/dist/esm/instrumentations/registerInitial.js.map +1 -0
  110. package/dist/esm/instrumentations/types.js.map +1 -1
  111. package/dist/esm/internalLogger/const.js.map +1 -1
  112. package/dist/esm/internalLogger/createInternalLogger.js.map +1 -1
  113. package/dist/esm/internalLogger/index.js +1 -1
  114. package/dist/esm/internalLogger/index.js.map +1 -1
  115. package/dist/esm/internalLogger/initialize.js.map +1 -1
  116. package/dist/esm/metas/index.js +1 -0
  117. package/dist/esm/metas/index.js.map +1 -1
  118. package/dist/esm/metas/initialize.js +4 -18
  119. package/dist/esm/metas/initialize.js.map +1 -1
  120. package/dist/esm/metas/registerInitial.js +25 -0
  121. package/dist/esm/metas/registerInitial.js.map +1 -0
  122. package/dist/esm/metas/types.js.map +1 -1
  123. package/dist/esm/sdk/faroGlobalObject.js.map +1 -1
  124. package/dist/esm/sdk/index.js +1 -1
  125. package/dist/esm/sdk/index.js.map +1 -1
  126. package/dist/esm/sdk/internalFaroGlobalObject.js.map +1 -1
  127. package/dist/esm/sdk/registerFaro.js +21 -0
  128. package/dist/esm/sdk/registerFaro.js.map +1 -0
  129. package/dist/esm/semantic.js +1 -0
  130. package/dist/esm/semantic.js.map +1 -1
  131. package/dist/esm/testUtils/mockConfig.js.map +1 -1
  132. package/dist/esm/transports/base.js +1 -1
  133. package/dist/esm/transports/base.js.map +1 -1
  134. package/dist/esm/transports/index.js +1 -0
  135. package/dist/esm/transports/index.js.map +1 -1
  136. package/dist/esm/transports/initialize.js +5 -4
  137. package/dist/esm/transports/initialize.js.map +1 -1
  138. package/dist/esm/transports/registerInitial.js +6 -0
  139. package/dist/esm/transports/registerInitial.js.map +1 -0
  140. package/dist/esm/transports/types.js.map +1 -1
  141. package/dist/esm/unpatchedConsole/initialize.js.map +1 -1
  142. package/dist/esm/utils/index.js +0 -1
  143. package/dist/esm/utils/index.js.map +1 -1
  144. package/dist/esm/utils/shortId.js.map +1 -1
  145. package/dist/esm/version.js +1 -1
  146. package/dist/esm/version.js.map +1 -1
  147. package/dist/types/api/events/initialize.d.ts +2 -1
  148. package/dist/types/api/exceptions/initialize.d.ts +2 -1
  149. package/dist/types/api/initialize.d.ts +2 -1
  150. package/dist/types/api/logs/initialize.d.ts +2 -1
  151. package/dist/types/api/measurements/initialize.d.ts +2 -1
  152. package/dist/types/api/measurements/types.d.ts +2 -1
  153. package/dist/types/api/meta/initialize.d.ts +2 -1
  154. package/dist/types/api/meta/types.d.ts +5 -3
  155. package/dist/types/api/traces/initialize.d.ts +2 -1
  156. package/dist/types/config/types.d.ts +2 -1
  157. package/dist/types/extensions/baseExtension.d.ts +15 -0
  158. package/dist/types/extensions/index.d.ts +2 -0
  159. package/dist/types/extensions/types.d.ts +16 -0
  160. package/dist/types/index.d.ts +7 -5
  161. package/dist/types/instrumentations/base.d.ts +5 -1
  162. package/dist/types/instrumentations/index.d.ts +1 -0
  163. package/dist/types/instrumentations/initialize.d.ts +5 -1
  164. package/dist/types/instrumentations/registerInitial.d.ts +2 -0
  165. package/dist/types/instrumentations/types.d.ts +5 -1
  166. package/dist/types/internalLogger/index.d.ts +1 -1
  167. package/dist/types/metas/index.d.ts +2 -1
  168. package/dist/types/metas/initialize.d.ts +2 -1
  169. package/dist/types/metas/registerInitial.d.ts +2 -0
  170. package/dist/types/metas/types.d.ts +6 -1
  171. package/dist/types/sdk/index.d.ts +1 -1
  172. package/dist/types/sdk/registerFaro.d.ts +10 -0
  173. package/dist/types/semantic.d.ts +1 -0
  174. package/dist/types/testUtils/mockTransport.d.ts +1 -1
  175. package/dist/types/transports/base.d.ts +1 -1
  176. package/dist/types/transports/index.d.ts +1 -0
  177. package/dist/types/transports/initialize.d.ts +3 -1
  178. package/dist/types/transports/registerInitial.d.ts +2 -0
  179. package/dist/types/transports/types.d.ts +1 -1
  180. package/dist/types/utils/index.d.ts +0 -2
  181. package/dist/types/version.d.ts +1 -1
  182. package/package.json +4 -4
  183. package/dist/cjs/sdk/register.js.map +0 -1
  184. package/dist/cjs/utils/extensions.js.map +0 -1
  185. package/dist/esm/sdk/register.js +0 -11
  186. package/dist/esm/sdk/register.js.map +0 -1
  187. package/dist/esm/utils/extensions.js +0 -23
  188. package/dist/esm/utils/extensions.js.map +0 -1
  189. package/dist/types/sdk/register.d.ts +0 -4
  190. package/dist/types/utils/extensions.d.ts +0 -19
@@ -1,4 +1,9 @@
1
- import { BaseExtension } from '../utils';
1
+ import { BaseExtension } from '../extensions';
2
2
  export class BaseInstrumentation extends BaseExtension {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.api = {};
6
+ this.transports = {};
7
+ }
3
8
  }
4
9
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/instrumentations/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,OAAgB,mBAAoB,SAAQ,aAAa;CAE9D","sourcesContent":["import { BaseExtension } from '../utils';\nimport type { Instrumentation } from './types';\n\nexport abstract class BaseInstrumentation extends BaseExtension implements Instrumentation {\n abstract initialize(): void;\n}\n"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/instrumentations/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,MAAM,OAAgB,mBAAoB,SAAQ,aAAa;IAA/D;;QACE,QAAG,GAAQ,EAAS,CAAC;QACrB,eAAU,GAAe,EAAgB,CAAC;IAG5C,CAAC;CAAA","sourcesContent":["import type { API } from '../api';\nimport { BaseExtension } from '../extensions';\nimport type { Transports } from '../transports';\n\nimport type { Instrumentation } from './types';\n\nexport abstract class BaseInstrumentation extends BaseExtension implements Instrumentation {\n api: API = {} as API;\n transports: Transports = {} as Transports;\n\n abstract initialize(): void;\n}\n"]}
@@ -1,3 +1,4 @@
1
1
  export { BaseInstrumentation } from './base';
2
2
  export { initializeInstrumentations } from './initialize';
3
+ export { registerInitialInstrumentations } from './registerInitial';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instrumentations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { BaseInstrumentation } from './base';\n\nexport { initializeInstrumentations } from './initialize';\n\nexport type { Instrumentation, Instrumentations } from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instrumentations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { BaseInstrumentation } from './base';\n\nexport { initializeInstrumentations } from './initialize';\n\nexport { registerInitialInstrumentations } from './registerInitial';\n\nexport type { Instrumentation, Instrumentations } from './types';\n"]}
@@ -1,4 +1,4 @@
1
- export function initializeInstrumentations(internalLogger, _config) {
1
+ export function initializeInstrumentations(unpatchedConsole, internalLogger, config, metas, transports, api) {
2
2
  internalLogger.debug('Initializing instrumentations');
3
3
  const instrumentations = [];
4
4
  const add = (...newInstrumentations) => {
@@ -7,9 +7,15 @@ export function initializeInstrumentations(internalLogger, _config) {
7
7
  internalLogger.debug(`Adding "${newInstrumentation.name}" instrumentation`);
8
8
  const exists = instrumentations.some((existingInstrumentation) => existingInstrumentation.name === newInstrumentation.name);
9
9
  if (exists) {
10
- internalLogger.warn(`Transport ${newInstrumentation.name} is already added`);
10
+ internalLogger.warn(`Instrumentation ${newInstrumentation.name} is already added`);
11
11
  return;
12
12
  }
13
+ newInstrumentation.unpatchedConsole = unpatchedConsole;
14
+ newInstrumentation.internalLogger = internalLogger;
15
+ newInstrumentation.config = config;
16
+ newInstrumentation.metas = metas;
17
+ newInstrumentation.transports = transports;
18
+ newInstrumentation.api = api;
13
19
  instrumentations.push(newInstrumentation);
14
20
  newInstrumentation.initialize();
15
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/instrumentations/initialize.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,0BAA0B,CAAC,cAA8B,EAAE,OAAe;IACxF,cAAc,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAE/C,MAAM,GAAG,GAA4B,CAAC,GAAG,mBAAmB,EAAE,EAAE;QAC9D,cAAc,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAEhD,mBAAmB,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;YACjD,cAAc,CAAC,KAAK,CAAC,WAAW,kBAAkB,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAE5E,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAClC,CAAC,uBAAuB,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,CACtF,CAAC;YAEF,IAAI,MAAM,EAAE;gBACV,cAAc,CAAC,IAAI,CAAC,aAAa,kBAAkB,CAAC,IAAI,mBAAmB,CAAC,CAAC;gBAE7E,OAAO;aACR;YAED,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC1C,kBAAkB,CAAC,UAAU,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAA+B,CAAC,GAAG,wBAAwB,EAAE,EAAE;QACzE,cAAc,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAElD,wBAAwB,CAAC,OAAO,CAAC,CAAC,uBAAuB,EAAE,EAAE;;YAC3D,cAAc,CAAC,KAAK,CAAC,aAAa,uBAAuB,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEnF,MAAM,4BAA4B,GAAG,gBAAgB,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,EAAE;gBACvD,IAAI,GAAG,KAAK,IAAI,IAAI,uBAAuB,CAAC,IAAI,KAAK,uBAAuB,CAAC,IAAI,EAAE;oBACjF,OAAO,sBAAsB,CAAC;iBAC/B;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,EACD,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,4BAA4B,EAAE;gBACjC,cAAc,CAAC,IAAI,CAAC,oBAAoB,uBAAuB,CAAC,IAAI,gBAAgB,CAAC,CAAC;gBAEtF,OAAO;aACR;YAED,MAAA,MAAA,gBAAgB,CAAC,4BAA4B,CAAE,EAAC,OAAO,kDAAI,CAAC;YAC5D,gBAAgB,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,IAAI,gBAAgB;YAClB,OAAO,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM;KACP,CAAC;AACJ,CAAC","sourcesContent":["import type { Config } from '../config';\nimport type { InternalLogger } from '../internalLogger';\nimport type { Instrumentation, Instrumentations } from './types';\n\nexport function initializeInstrumentations(internalLogger: InternalLogger, _config: Config): Instrumentations {\n internalLogger.debug('Initializing instrumentations');\n\n const instrumentations: Instrumentation[] = [];\n\n const add: Instrumentations['add'] = (...newInstrumentations) => {\n internalLogger.debug('Adding instrumentations');\n\n newInstrumentations.forEach((newInstrumentation) => {\n internalLogger.debug(`Adding \"${newInstrumentation.name}\" instrumentation`);\n\n const exists = instrumentations.some(\n (existingInstrumentation) => existingInstrumentation.name === newInstrumentation.name\n );\n\n if (exists) {\n internalLogger.warn(`Transport ${newInstrumentation.name} is already added`);\n\n return;\n }\n\n instrumentations.push(newInstrumentation);\n newInstrumentation.initialize();\n });\n };\n\n const remove: Instrumentations['remove'] = (...instrumentationsToRemove) => {\n internalLogger.debug('Removing instrumentations');\n\n instrumentationsToRemove.forEach((instrumentationToRemove) => {\n internalLogger.debug(`Removing \"${instrumentationToRemove.name}\" instrumentation`);\n\n const existingInstrumentationIndex = instrumentations.reduce<number | null>(\n (acc, existingInstrumentation, existingTransportIndex) => {\n if (acc === null && existingInstrumentation.name === instrumentationToRemove.name) {\n return existingTransportIndex;\n }\n\n return null;\n },\n null\n );\n\n if (!existingInstrumentationIndex) {\n internalLogger.warn(`Instrumentation \"${instrumentationToRemove.name}\" is not added`);\n\n return;\n }\n\n instrumentations[existingInstrumentationIndex]!.destroy?.();\n instrumentations.splice(existingInstrumentationIndex, 1);\n });\n };\n\n return {\n add,\n get instrumentations() {\n return [...instrumentations];\n },\n remove,\n };\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/instrumentations/initialize.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,0BAA0B,CACxC,gBAAkC,EAClC,cAA8B,EAC9B,MAAc,EACd,KAAY,EACZ,UAAsB,EACtB,GAAQ;IAER,cAAc,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAE/C,MAAM,GAAG,GAA4B,CAAC,GAAG,mBAAmB,EAAE,EAAE;QAC9D,cAAc,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAEhD,mBAAmB,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;YACjD,cAAc,CAAC,KAAK,CAAC,WAAW,kBAAkB,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAE5E,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAClC,CAAC,uBAAuB,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,CACtF,CAAC;YAEF,IAAI,MAAM,EAAE;gBACV,cAAc,CAAC,IAAI,CAAC,mBAAmB,kBAAkB,CAAC,IAAI,mBAAmB,CAAC,CAAC;gBAEnF,OAAO;aACR;YAED,kBAAkB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACvD,kBAAkB,CAAC,cAAc,GAAG,cAAc,CAAC;YACnD,kBAAkB,CAAC,MAAM,GAAG,MAAM,CAAC;YACnC,kBAAkB,CAAC,KAAK,GAAG,KAAK,CAAC;YACjC,kBAAkB,CAAC,UAAU,GAAG,UAAU,CAAC;YAC3C,kBAAkB,CAAC,GAAG,GAAG,GAAG,CAAC;YAE7B,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE1C,kBAAkB,CAAC,UAAU,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAA+B,CAAC,GAAG,wBAAwB,EAAE,EAAE;QACzE,cAAc,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAElD,wBAAwB,CAAC,OAAO,CAAC,CAAC,uBAAuB,EAAE,EAAE;;YAC3D,cAAc,CAAC,KAAK,CAAC,aAAa,uBAAuB,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEnF,MAAM,4BAA4B,GAAG,gBAAgB,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,EAAE;gBACvD,IAAI,GAAG,KAAK,IAAI,IAAI,uBAAuB,CAAC,IAAI,KAAK,uBAAuB,CAAC,IAAI,EAAE;oBACjF,OAAO,sBAAsB,CAAC;iBAC/B;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,EACD,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,4BAA4B,EAAE;gBACjC,cAAc,CAAC,IAAI,CAAC,oBAAoB,uBAAuB,CAAC,IAAI,gBAAgB,CAAC,CAAC;gBAEtF,OAAO;aACR;YAED,MAAA,MAAA,gBAAgB,CAAC,4BAA4B,CAAE,EAAC,OAAO,kDAAI,CAAC;YAE5D,gBAAgB,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,IAAI,gBAAgB;YAClB,OAAO,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM;KACP,CAAC;AACJ,CAAC","sourcesContent":["import type { API } from '../api';\nimport type { Config } from '../config';\nimport type { InternalLogger } from '../internalLogger';\nimport type { Metas } from '../metas';\nimport type { Transports } from '../transports';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\n\nimport type { Instrumentation, Instrumentations } from './types';\n\nexport function initializeInstrumentations(\n unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n config: Config,\n metas: Metas,\n transports: Transports,\n api: API\n): Instrumentations {\n internalLogger.debug('Initializing instrumentations');\n\n const instrumentations: Instrumentation[] = [];\n\n const add: Instrumentations['add'] = (...newInstrumentations) => {\n internalLogger.debug('Adding instrumentations');\n\n newInstrumentations.forEach((newInstrumentation) => {\n internalLogger.debug(`Adding \"${newInstrumentation.name}\" instrumentation`);\n\n const exists = instrumentations.some(\n (existingInstrumentation) => existingInstrumentation.name === newInstrumentation.name\n );\n\n if (exists) {\n internalLogger.warn(`Instrumentation ${newInstrumentation.name} is already added`);\n\n return;\n }\n\n newInstrumentation.unpatchedConsole = unpatchedConsole;\n newInstrumentation.internalLogger = internalLogger;\n newInstrumentation.config = config;\n newInstrumentation.metas = metas;\n newInstrumentation.transports = transports;\n newInstrumentation.api = api;\n\n instrumentations.push(newInstrumentation);\n\n newInstrumentation.initialize();\n });\n };\n\n const remove: Instrumentations['remove'] = (...instrumentationsToRemove) => {\n internalLogger.debug('Removing instrumentations');\n\n instrumentationsToRemove.forEach((instrumentationToRemove) => {\n internalLogger.debug(`Removing \"${instrumentationToRemove.name}\" instrumentation`);\n\n const existingInstrumentationIndex = instrumentations.reduce<number | null>(\n (acc, existingInstrumentation, existingTransportIndex) => {\n if (acc === null && existingInstrumentation.name === instrumentationToRemove.name) {\n return existingTransportIndex;\n }\n\n return null;\n },\n null\n );\n\n if (!existingInstrumentationIndex) {\n internalLogger.warn(`Instrumentation \"${instrumentationToRemove.name}\" is not added`);\n\n return;\n }\n\n instrumentations[existingInstrumentationIndex]!.destroy?.();\n\n instrumentations.splice(existingInstrumentationIndex, 1);\n });\n };\n\n return {\n add,\n get instrumentations() {\n return [...instrumentations];\n },\n remove,\n };\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export function registerInitialInstrumentations(faro) {
2
+ faro.instrumentations.add(...faro.config.instrumentations);
3
+ }
4
+ //# sourceMappingURL=registerInitial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerInitial.js","sourceRoot":"","sources":["../../../src/instrumentations/registerInitial.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,+BAA+B,CAAC,IAAU;IACxD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC7D,CAAC","sourcesContent":["import type { Faro } from '../sdk';\n\nexport function registerInitialInstrumentations(faro: Faro): void {\n faro.instrumentations.add(...faro.config.instrumentations);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/instrumentations/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Extension } from '../utils';\n\nexport interface Instrumentation extends Extension {\n initialize: VoidFunction;\n\n destroy?: VoidFunction;\n}\n\nexport interface Instrumentations {\n add: (...instrumentations: Instrumentation[]) => void;\n instrumentations: Instrumentation[];\n remove: (...instrumentations: Instrumentation[]) => void;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/instrumentations/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { API } from '../api';\nimport type { Extension } from '../extensions';\nimport type { Transports } from '../transports';\n\nexport interface Instrumentation extends Extension {\n api: API;\n transports: Transports;\n\n initialize: VoidFunction;\n\n destroy?: VoidFunction;\n}\n\nexport interface Instrumentations {\n add: (...instrumentations: Instrumentation[]) => void;\n instrumentations: Instrumentation[];\n remove: (...instrumentations: Instrumentation[]) => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/internalLogger/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,2DAAO,CAAA;IACP,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,6DAAQ,CAAA;IACR,mEAAW,CAAA;AACb,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,2BAA2B;IACnC,IAAI,EAAE,IAAI;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,KAAK,CAAC","sourcesContent":["import { noop } from '../utils';\nimport type { InternalLogger } from './types';\n\nexport enum InternalLoggerLevel {\n OFF = 0,\n ERROR = 1,\n WARN = 2,\n INFO = 3,\n VERBOSE = 4,\n}\n\nexport const defaultInternalLoggerPrefix = 'Faro';\n\nexport const defaultInternalLogger: InternalLogger = {\n debug: noop,\n error: noop,\n info: noop,\n prefix: defaultInternalLoggerPrefix,\n warn: noop,\n} as const;\n\nexport const defaultInternalLoggerLevel = InternalLoggerLevel.ERROR;\n"]}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/internalLogger/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIhC,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,2DAAO,CAAA;IACP,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,6DAAQ,CAAA;IACR,mEAAW,CAAA;AACb,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,2BAA2B;IACnC,IAAI,EAAE,IAAI;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,KAAK,CAAC","sourcesContent":["import { noop } from '../utils';\n\nimport type { InternalLogger } from './types';\n\nexport enum InternalLoggerLevel {\n OFF = 0,\n ERROR = 1,\n WARN = 2,\n INFO = 3,\n VERBOSE = 4,\n}\n\nexport const defaultInternalLoggerPrefix = 'Faro';\n\nexport const defaultInternalLogger: InternalLogger = {\n debug: noop,\n error: noop,\n info: noop,\n prefix: defaultInternalLoggerPrefix,\n warn: noop,\n} as const;\n\nexport const defaultInternalLoggerLevel = InternalLoggerLevel.ERROR;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"createInternalLogger.js","sourceRoot":"","sources":["../../../src/internalLogger/createInternalLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGjG,MAAM,UAAU,oBAAoB,CAClC,mBAAqC,uBAAuB,EAC5D,mBAAmB,GAAG,0BAA0B;IAEhD,MAAM,cAAc,GAAG,qBAAqB,CAAC;IAE7C,IAAI,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,EAAE;QACjD,cAAc,CAAC,KAAK;YAClB,mBAAmB,IAAI,mBAAmB,CAAC,KAAK;gBAC9C,CAAC,CAAC,UAAU,GAAG,IAAI;oBACf,gBAAgB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBAChE,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;QAEX,cAAc,CAAC,IAAI;YACjB,mBAAmB,IAAI,mBAAmB,CAAC,IAAI;gBAC7C,CAAC,CAAC,UAAU,GAAG,IAAI;oBACf,gBAAgB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC/D,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;QAEX,cAAc,CAAC,IAAI;YACjB,mBAAmB,IAAI,mBAAmB,CAAC,IAAI;gBAC7C,CAAC,CAAC,UAAU,GAAG,IAAI;oBACf,gBAAgB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC/D,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;QAEX,cAAc,CAAC,KAAK;YAClB,mBAAmB,IAAI,mBAAmB,CAAC,OAAO;gBAChD,CAAC,CAAC,UAAU,GAAG,IAAI;oBACf,gBAAgB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBAChE,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;KACZ;IAED,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["import { defaultUnpatchedConsole } from '../unpatchedConsole';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\nimport { noop } from '../utils';\nimport { defaultInternalLogger, defaultInternalLoggerLevel, InternalLoggerLevel } from './const';\nimport type { InternalLogger } from './types';\n\nexport function createInternalLogger(\n unpatchedConsole: UnpatchedConsole = defaultUnpatchedConsole,\n internalLoggerLevel = defaultInternalLoggerLevel\n): InternalLogger {\n const internalLogger = defaultInternalLogger;\n\n if (internalLoggerLevel > InternalLoggerLevel.OFF) {\n internalLogger.error =\n internalLoggerLevel >= InternalLoggerLevel.ERROR\n ? function (...args) {\n unpatchedConsole.error(`${internalLogger.prefix}\\n`, ...args);\n }\n : noop;\n\n internalLogger.warn =\n internalLoggerLevel >= InternalLoggerLevel.WARN\n ? function (...args) {\n unpatchedConsole.warn(`${internalLogger.prefix}\\n`, ...args);\n }\n : noop;\n\n internalLogger.info =\n internalLoggerLevel >= InternalLoggerLevel.INFO\n ? function (...args) {\n unpatchedConsole.info(`${internalLogger.prefix}\\n`, ...args);\n }\n : noop;\n\n internalLogger.debug =\n internalLoggerLevel >= InternalLoggerLevel.VERBOSE\n ? function (...args) {\n unpatchedConsole.debug(`${internalLogger.prefix}\\n`, ...args);\n }\n : noop;\n }\n\n return internalLogger;\n}\n"]}
1
+ {"version":3,"file":"createInternalLogger.js","sourceRoot":"","sources":["../../../src/internalLogger/createInternalLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGjG,MAAM,UAAU,oBAAoB,CAClC,mBAAqC,uBAAuB,EAC5D,mBAAmB,GAAG,0BAA0B;IAEhD,MAAM,cAAc,GAAG,qBAAqB,CAAC;IAE7C,IAAI,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,EAAE;QACjD,cAAc,CAAC,KAAK;YAClB,mBAAmB,IAAI,mBAAmB,CAAC,KAAK;gBAC9C,CAAC,CAAC,UAAU,GAAG,IAAI;oBACf,gBAAgB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBAChE,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;QAEX,cAAc,CAAC,IAAI;YACjB,mBAAmB,IAAI,mBAAmB,CAAC,IAAI;gBAC7C,CAAC,CAAC,UAAU,GAAG,IAAI;oBACf,gBAAgB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC/D,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;QAEX,cAAc,CAAC,IAAI;YACjB,mBAAmB,IAAI,mBAAmB,CAAC,IAAI;gBAC7C,CAAC,CAAC,UAAU,GAAG,IAAI;oBACf,gBAAgB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC/D,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;QAEX,cAAc,CAAC,KAAK;YAClB,mBAAmB,IAAI,mBAAmB,CAAC,OAAO;gBAChD,CAAC,CAAC,UAAU,GAAG,IAAI;oBACf,gBAAgB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBAChE,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;KACZ;IAED,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["import { defaultUnpatchedConsole } from '../unpatchedConsole';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\nimport { noop } from '../utils';\n\nimport { defaultInternalLogger, defaultInternalLoggerLevel, InternalLoggerLevel } from './const';\nimport type { InternalLogger } from './types';\n\nexport function createInternalLogger(\n unpatchedConsole: UnpatchedConsole = defaultUnpatchedConsole,\n internalLoggerLevel = defaultInternalLoggerLevel\n): InternalLogger {\n const internalLogger = defaultInternalLogger;\n\n if (internalLoggerLevel > InternalLoggerLevel.OFF) {\n internalLogger.error =\n internalLoggerLevel >= InternalLoggerLevel.ERROR\n ? function (...args) {\n unpatchedConsole.error(`${internalLogger.prefix}\\n`, ...args);\n }\n : noop;\n\n internalLogger.warn =\n internalLoggerLevel >= InternalLoggerLevel.WARN\n ? function (...args) {\n unpatchedConsole.warn(`${internalLogger.prefix}\\n`, ...args);\n }\n : noop;\n\n internalLogger.info =\n internalLoggerLevel >= InternalLoggerLevel.INFO\n ? function (...args) {\n unpatchedConsole.info(`${internalLogger.prefix}\\n`, ...args);\n }\n : noop;\n\n internalLogger.debug =\n internalLoggerLevel >= InternalLoggerLevel.VERBOSE\n ? function (...args) {\n unpatchedConsole.debug(`${internalLogger.prefix}\\n`, ...args);\n }\n : noop;\n }\n\n return internalLogger;\n}\n"]}
@@ -1,4 +1,4 @@
1
- export { defaultInternalLoggerLevel, InternalLoggerLevel } from './const';
1
+ export { defaultInternalLogger, defaultInternalLoggerLevel, InternalLoggerLevel } from './const';
2
2
  export { createInternalLogger } from './createInternalLogger';
3
3
  export { initializeInternalLogger, internalLogger } from './initialize';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internalLogger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { defaultInternalLoggerLevel, InternalLoggerLevel } from './const';\n\nexport { createInternalLogger } from './createInternalLogger';\n\nexport { initializeInternalLogger, internalLogger } from './initialize';\n\nexport type { InternalLogger } from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internalLogger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { defaultInternalLogger, defaultInternalLoggerLevel, InternalLoggerLevel } from './const';\n\nexport { createInternalLogger } from './createInternalLogger';\n\nexport { initializeInternalLogger, internalLogger } from './initialize';\n\nexport type { InternalLogger } from './types';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/internalLogger/initialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,MAAM,CAAC,IAAI,cAAc,GAAmB,qBAAqB,CAAC;AAElE,MAAM,UAAU,wBAAwB,CAAC,gBAAkC,EAAE,MAAc;IACzF,cAAc,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEpF,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["import type { Config } from '../config';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\nimport { defaultInternalLogger } from './const';\nimport { createInternalLogger } from './createInternalLogger';\nimport type { InternalLogger } from './types';\n\nexport let internalLogger: InternalLogger = defaultInternalLogger;\n\nexport function initializeInternalLogger(unpatchedConsole: UnpatchedConsole, config: Config): InternalLogger {\n internalLogger = createInternalLogger(unpatchedConsole, config.internalLoggerLevel);\n\n return internalLogger;\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/internalLogger/initialize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,MAAM,CAAC,IAAI,cAAc,GAAmB,qBAAqB,CAAC;AAElE,MAAM,UAAU,wBAAwB,CAAC,gBAAkC,EAAE,MAAc;IACzF,cAAc,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEpF,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["import type { Config } from '../config';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\n\nimport { defaultInternalLogger } from './const';\nimport { createInternalLogger } from './createInternalLogger';\nimport type { InternalLogger } from './types';\n\nexport let internalLogger: InternalLogger = defaultInternalLogger;\n\nexport function initializeInternalLogger(unpatchedConsole: UnpatchedConsole, config: Config): InternalLogger {\n internalLogger = createInternalLogger(unpatchedConsole, config.internalLoggerLevel);\n\n return internalLogger;\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  export { initializeMetas } from './initialize';
2
+ export { registerInitialMetas } from './registerInitial';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { initializeMetas } from './initialize';\n\nexport type {\n Meta,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n} from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { initializeMetas } from './initialize';\n\nexport { registerInitialMetas } from './registerInitial';\n\nexport type {\n Meta,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n} from './types';\n"]}
@@ -1,7 +1,5 @@
1
1
  import { isFunction } from '../utils';
2
- import { VERSION } from '../version';
3
- export function initializeMetas(internalLogger, config) {
4
- var _a;
2
+ export function initializeMetas(_unpatchedConsole, internalLogger, _config) {
5
3
  let items = [];
6
4
  let listeners = [];
7
5
  const getValue = () => items.reduce((acc, item) => Object.assign(acc, isFunction(item) ? item() : item), {});
@@ -21,25 +19,13 @@ export function initializeMetas(internalLogger, config) {
21
19
  items = items.filter((currentItem) => !itemsToRemove.includes(currentItem));
22
20
  notifyListeners();
23
21
  };
24
- const initial = {
25
- sdk: {
26
- name: '@grafana/faro-core',
27
- version: VERSION,
28
- integrations: config.instrumentations.map(({ name, version }) => ({ name, version })),
29
- },
30
- };
31
- if (config.app) {
32
- initial.app = config.app;
33
- }
34
- if (config.user) {
35
- initial.user = config.user;
36
- }
37
- add(initial, ...((_a = config.metas) !== null && _a !== void 0 ? _a : []));
38
22
  const addListener = (listener) => {
23
+ internalLogger.debug('Adding metas listener\n', listener);
39
24
  listeners.push(listener);
40
25
  };
41
26
  const removeListener = (listener) => {
42
- listeners = listeners.filter((l) => l !== listener);
27
+ internalLogger.debug('Removing metas listener\n', listener);
28
+ listeners = listeners.filter((currentListener) => currentListener !== listener);
43
29
  };
44
30
  return {
45
31
  add,
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/metas/initialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,MAAM,UAAU,eAAe,CAAC,cAA8B,EAAE,MAAc;;IAC5E,IAAI,KAAK,GAAe,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAoB,EAAE,CAAC;IAEpC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnH,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;SAClD;IACH,CAAC,CAAC;IAEF,MAAM,GAAG,GAAiB,CAAC,GAAG,QAAQ,EAAE,EAAE;QACxC,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACxB,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAoB,CAAC,GAAG,aAAa,EAAE,EAAE;QACnD,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACxD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5E,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAS;QACpB,GAAG,EAAE;YACH,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SACtF;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;KAC1B;IAED,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;KAC5B;IAED,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAyB,CAAC,QAAQ,EAAE,EAAE;QACrD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,cAAc,GAA4B,CAAC,QAAQ,EAAE,EAAE;QAC3D,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,MAAM;QACN,WAAW;QACX,cAAc;QACd,IAAI,KAAK;YACP,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { Config } from '../config';\nimport type { InternalLogger } from '../internalLogger';\nimport { isFunction } from '../utils';\nimport { VERSION } from '../version';\nimport type { Meta, MetaItem, Metas, MetasListener } from './types';\n\nexport function initializeMetas(internalLogger: InternalLogger, config: Config): Metas {\n let items: MetaItem[] = [];\n let listeners: MetasListener[] = [];\n\n const getValue = () => items.reduce<Meta>((acc, item) => Object.assign(acc, isFunction(item) ? item() : item), {});\n\n const notifyListeners = () => {\n if (listeners.length) {\n const value = getValue();\n listeners.forEach((listener) => listener(value));\n }\n };\n\n const add: Metas['add'] = (...newItems) => {\n internalLogger.debug('Adding metas\\n', newItems);\n items.push(...newItems);\n notifyListeners();\n };\n\n const remove: Metas['remove'] = (...itemsToRemove) => {\n internalLogger.debug('Removing metas\\n', itemsToRemove);\n items = items.filter((currentItem) => !itemsToRemove.includes(currentItem));\n notifyListeners();\n };\n\n const initial: Meta = {\n sdk: {\n name: '@grafana/faro-core',\n version: VERSION,\n integrations: config.instrumentations.map(({ name, version }) => ({ name, version })),\n },\n };\n\n if (config.app) {\n initial.app = config.app;\n }\n\n if (config.user) {\n initial.user = config.user;\n }\n\n add(initial, ...(config.metas ?? []));\n\n const addListener: Metas['addListener'] = (listener) => {\n listeners.push(listener);\n };\n\n const removeListener: Metas['removeListener'] = (listener) => {\n listeners = listeners.filter((l) => l !== listener);\n };\n\n return {\n add,\n remove,\n addListener,\n removeListener,\n get value() {\n return getValue();\n },\n };\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/metas/initialize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC,MAAM,UAAU,eAAe,CAC7B,iBAAmC,EACnC,cAA8B,EAC9B,OAAe;IAEf,IAAI,KAAK,GAAe,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAoB,EAAE,CAAC;IAEpC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnH,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YAEzB,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;SAClD;IACH,CAAC,CAAC;IAEF,MAAM,GAAG,GAAiB,CAAC,GAAG,QAAQ,EAAE,EAAE;QACxC,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEjD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAExB,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAoB,CAAC,GAAG,aAAa,EAAE,EAAE;QACnD,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAExD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAE5E,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAyB,CAAC,QAAQ,EAAE,EAAE;QACrD,cAAc,CAAC,KAAK,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QAE1D,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,cAAc,GAA4B,CAAC,QAAQ,EAAE,EAAE;QAC3D,cAAc,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;QAE5D,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC;IAClF,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,MAAM;QACN,WAAW;QACX,cAAc;QACd,IAAI,KAAK;YACP,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { Config } from '../config';\nimport type { InternalLogger } from '../internalLogger';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\nimport { isFunction } from '../utils';\n\nimport type { Meta, MetaItem, Metas, MetasListener } from './types';\n\nexport function initializeMetas(\n _unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n _config: Config\n): Metas {\n let items: MetaItem[] = [];\n let listeners: MetasListener[] = [];\n\n const getValue = () => items.reduce<Meta>((acc, item) => Object.assign(acc, isFunction(item) ? item() : item), {});\n\n const notifyListeners = () => {\n if (listeners.length) {\n const value = getValue();\n\n listeners.forEach((listener) => listener(value));\n }\n };\n\n const add: Metas['add'] = (...newItems) => {\n internalLogger.debug('Adding metas\\n', newItems);\n\n items.push(...newItems);\n\n notifyListeners();\n };\n\n const remove: Metas['remove'] = (...itemsToRemove) => {\n internalLogger.debug('Removing metas\\n', itemsToRemove);\n\n items = items.filter((currentItem) => !itemsToRemove.includes(currentItem));\n\n notifyListeners();\n };\n\n const addListener: Metas['addListener'] = (listener) => {\n internalLogger.debug('Adding metas listener\\n', listener);\n\n listeners.push(listener);\n };\n\n const removeListener: Metas['removeListener'] = (listener) => {\n internalLogger.debug('Removing metas listener\\n', listener);\n\n listeners = listeners.filter((currentListener) => currentListener !== listener);\n };\n\n return {\n add,\n remove,\n addListener,\n removeListener,\n get value() {\n return getValue();\n },\n };\n}\n"]}
@@ -0,0 +1,25 @@
1
+ import { VERSION } from '../version';
2
+ export function registerInitialMetas(faro) {
3
+ var _a;
4
+ const initial = {
5
+ sdk: {
6
+ name: '@grafana/faro-core',
7
+ version: VERSION,
8
+ integrations: faro.config.instrumentations.map(({ name, version }) => ({ name, version })),
9
+ },
10
+ };
11
+ if (faro.config.session) {
12
+ faro.api.setSession(faro.config.session);
13
+ }
14
+ if (faro.config.app) {
15
+ initial.app = faro.config.app;
16
+ }
17
+ if (faro.config.user) {
18
+ initial.user = faro.config.user;
19
+ }
20
+ if (faro.config.view) {
21
+ initial.view = faro.config.view;
22
+ }
23
+ faro.metas.add(initial, ...((_a = faro.config.metas) !== null && _a !== void 0 ? _a : []));
24
+ }
25
+ //# sourceMappingURL=registerInitial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerInitial.js","sourceRoot":"","sources":["../../../src/metas/registerInitial.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,MAAM,UAAU,oBAAoB,CAAC,IAAU;;IAC7C,MAAM,OAAO,GAAS;QACpB,GAAG,EAAE;YACH,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SAC3F;KACF,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACvB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC1C;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;QACnB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;KAC/B;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;KACjC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;KACjC;IAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC","sourcesContent":["import type { Faro } from '../sdk';\nimport { VERSION } from '../version';\n\nimport type { Meta } from './types';\n\nexport function registerInitialMetas(faro: Faro): void {\n const initial: Meta = {\n sdk: {\n name: '@grafana/faro-core',\n version: VERSION,\n integrations: faro.config.instrumentations.map(({ name, version }) => ({ name, version })),\n },\n };\n\n if (faro.config.session) {\n faro.api.setSession(faro.config.session);\n }\n\n if (faro.config.app) {\n initial.app = faro.config.app;\n }\n\n if (faro.config.user) {\n initial.user = faro.config.user;\n }\n\n if (faro.config.view) {\n initial.view = faro.config.view;\n }\n\n faro.metas.add(initial, ...(faro.config.metas ?? []));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/metas/types.ts"],"names":[],"mappings":"","sourcesContent":["export type MetaGetter<P = Partial<Meta>> = () => P;\n\nexport type MetaItem<P = Partial<Meta>> = P | MetaGetter<P>;\n\nexport type MetasListener = (value: Meta) => void;\n\nexport interface Metas {\n add: (...getters: MetaItem[]) => void;\n remove: (...getters: MetaItem[]) => void;\n addListener: (listener: MetasListener) => void;\n removeListener: (listener: MetasListener) => void;\n value: Meta;\n}\n\nexport type MetaAttributes = Record<string, string>;\n\nexport interface MetaSDKIntegration {\n name?: string;\n version?: string;\n}\n\nexport interface MetaSDK {\n name?: string;\n version?: string;\n integrations?: MetaSDKIntegration[];\n}\n\nexport interface MetaApp {\n name?: string;\n release?: string;\n version?: string;\n environment?: string;\n}\n\nexport interface MetaUser {\n email?: string;\n id?: string;\n username?: string;\n attributes?: MetaAttributes;\n}\n\nexport interface MetaSession {\n id?: string;\n started?: string;\n attributes?: MetaAttributes;\n}\n\nexport interface MetaPage {\n id?: string;\n url?: string;\n attributes?: MetaAttributes;\n}\n\nexport interface MetaBrowser {\n name?: string;\n version?: string;\n os?: string;\n mobile?: boolean;\n}\n\nexport interface Meta {\n sdk?: MetaSDK;\n app?: MetaApp;\n user?: MetaUser;\n session?: MetaSession;\n page?: MetaPage;\n browser?: MetaBrowser;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/metas/types.ts"],"names":[],"mappings":"","sourcesContent":["export type MetaGetter<P = Partial<Meta>> = () => P;\n\nexport type MetaItem<P = Partial<Meta>> = P | MetaGetter<P>;\n\nexport type MetasListener = (value: Meta) => void;\n\nexport interface Metas {\n add: (...getters: MetaItem[]) => void;\n remove: (...getters: MetaItem[]) => void;\n addListener: (listener: MetasListener) => void;\n removeListener: (listener: MetasListener) => void;\n value: Meta;\n}\n\nexport type MetaAttributes = Record<string, string>;\n\nexport interface MetaSDKIntegration {\n name?: string;\n version?: string;\n}\n\nexport interface MetaSDK {\n name?: string;\n version?: string;\n integrations?: MetaSDKIntegration[];\n}\n\nexport interface MetaApp {\n name?: string;\n release?: string;\n version?: string;\n environment?: string;\n}\n\nexport interface MetaUser {\n email?: string;\n id?: string;\n username?: string;\n attributes?: MetaAttributes;\n}\n\nexport interface MetaSession {\n id?: string;\n attributes?: MetaAttributes;\n}\n\nexport interface MetaPage {\n id?: string;\n url?: string;\n attributes?: MetaAttributes;\n}\n\nexport interface MetaBrowser {\n name?: string;\n version?: string;\n os?: string;\n mobile?: boolean;\n userAgent?: string;\n language?: string;\n}\n\nexport interface MetaView {\n name: string;\n}\n\nexport interface Meta {\n sdk?: MetaSDK;\n app?: MetaApp;\n user?: MetaUser;\n session?: MetaSession;\n page?: MetaPage;\n browser?: MetaBrowser;\n view?: MetaView;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"faroGlobalObject.js","sourceRoot":"","sources":["../../../src/sdk/faroGlobalObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,UAAU,qBAAqB,CAAC,IAAU;IAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QACtC,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,gEAAgE,IAAI,CAAC,MAAM,CAAC,eAAe,OAAO,CACnG,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,YAAY,EAAE;YAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,4CAA4C,IAAI,CAAC,MAAM,CAAC,eAAe,+GAA+G,CACvL,CAAC;YAEF,OAAO;SACR;QAED,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YAC/D,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;KACJ;SAAM;QACL,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;KAC5F;AACH,CAAC","sourcesContent":["import { globalObject } from '../globalObject';\nimport type { Faro } from './types';\n\nexport function setFaroOnGlobalObject(faro: Faro): void {\n if (!faro.config.preventGlobalExposure) {\n faro.internalLogger.debug(\n `Registering public faro reference in the global scope using \"${faro.config.globalObjectKey}\" key`\n );\n\n if (faro.config.globalObjectKey in globalObject) {\n faro.internalLogger.warn(\n `Skipping global registration due to key \"${faro.config.globalObjectKey}\" being used already. Please set \"globalObjectKey\" to something else or set \"preventGlobalExposure\" to \"true\"`\n );\n\n return;\n }\n\n Object.defineProperty(globalObject, faro.config.globalObjectKey, {\n configurable: false,\n writable: false,\n value: faro,\n });\n } else {\n faro.internalLogger.debug('Skipping registering public Faro instance in the global scope');\n }\n}\n"]}
1
+ {"version":3,"file":"faroGlobalObject.js","sourceRoot":"","sources":["../../../src/sdk/faroGlobalObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,MAAM,UAAU,qBAAqB,CAAC,IAAU;IAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QACtC,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,gEAAgE,IAAI,CAAC,MAAM,CAAC,eAAe,OAAO,CACnG,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,YAAY,EAAE;YAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,4CAA4C,IAAI,CAAC,MAAM,CAAC,eAAe,+GAA+G,CACvL,CAAC;YAEF,OAAO;SACR;QAED,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YAC/D,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;KACJ;SAAM;QACL,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;KAC5F;AACH,CAAC","sourcesContent":["import { globalObject } from '../globalObject';\n\nimport type { Faro } from './types';\n\nexport function setFaroOnGlobalObject(faro: Faro): void {\n if (!faro.config.preventGlobalExposure) {\n faro.internalLogger.debug(\n `Registering public faro reference in the global scope using \"${faro.config.globalObjectKey}\" key`\n );\n\n if (faro.config.globalObjectKey in globalObject) {\n faro.internalLogger.warn(\n `Skipping global registration due to key \"${faro.config.globalObjectKey}\" being used already. Please set \"globalObjectKey\" to something else or set \"preventGlobalExposure\" to \"true\"`\n );\n\n return;\n }\n\n Object.defineProperty(globalObject, faro.config.globalObjectKey, {\n configurable: false,\n writable: false,\n value: faro,\n });\n } else {\n faro.internalLogger.debug('Skipping registering public Faro instance in the global scope');\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  export { internalGlobalObjectKey } from './const';
2
- export { faro, registerFaro } from './register';
2
+ export { faro, registerFaro } from './registerFaro';
3
3
  export { getInternalFromGlobalObject as getInternalFaroFromGlobalObject, isInternalFaroOnGlobalObject as isInternalFaroOnGlobalObject, setInternalFaroOnGlobalObject as setInternalFaroOnGlobalObject, } from './internalFaroGlobalObject';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EACL,2BAA2B,IAAI,+BAA+B,EAC9D,4BAA4B,IAAI,4BAA4B,EAC5D,6BAA6B,IAAI,6BAA6B,GAC/D,MAAM,4BAA4B,CAAC","sourcesContent":["export { internalGlobalObjectKey } from './const';\n\nexport { faro, registerFaro } from './register';\n\nexport {\n getInternalFromGlobalObject as getInternalFaroFromGlobalObject,\n isInternalFaroOnGlobalObject as isInternalFaroOnGlobalObject,\n setInternalFaroOnGlobalObject as setInternalFaroOnGlobalObject,\n} from './internalFaroGlobalObject';\n\nexport type { Faro } from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EACL,2BAA2B,IAAI,+BAA+B,EAC9D,4BAA4B,IAAI,4BAA4B,EAC5D,6BAA6B,IAAI,6BAA6B,GAC/D,MAAM,4BAA4B,CAAC","sourcesContent":["export { internalGlobalObjectKey } from './const';\n\nexport { faro, registerFaro } from './registerFaro';\n\nexport {\n getInternalFromGlobalObject as getInternalFaroFromGlobalObject,\n isInternalFaroOnGlobalObject as isInternalFaroOnGlobalObject,\n setInternalFaroOnGlobalObject as setInternalFaroOnGlobalObject,\n} from './internalFaroGlobalObject';\n\nexport type { Faro } from './types';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"internalFaroGlobalObject.js","sourceRoot":"","sources":["../../../src/sdk/internalFaroGlobalObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGlD,MAAM,UAAU,2BAA2B;IACzC,OAAO,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAU;IACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACxB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAEjF,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,uBAAuB,EAAE;YAC3D,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;KACJ;SAAM;QACL,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;KAC3F;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,uBAAuB,IAAI,YAAY,CAAC;AACjD,CAAC","sourcesContent":["import { globalObject } from '../globalObject';\nimport { internalGlobalObjectKey } from './const';\nimport type { Faro } from './types';\n\nexport function getInternalFromGlobalObject(): Faro | undefined {\n return globalObject[internalGlobalObjectKey];\n}\n\nexport function setInternalFaroOnGlobalObject(faro: Faro): void {\n if (!faro.config.isolate) {\n faro.internalLogger.debug('Registering internal Faro instance on global object');\n\n Object.defineProperty(globalObject, internalGlobalObjectKey, {\n configurable: false,\n enumerable: false,\n writable: false,\n value: faro,\n });\n } else {\n faro.internalLogger.debug('Skipping registering internal Faro instance on global object');\n }\n}\n\nexport function isInternalFaroOnGlobalObject(): boolean {\n return internalGlobalObjectKey in globalObject;\n}\n"]}
1
+ {"version":3,"file":"internalFaroGlobalObject.js","sourceRoot":"","sources":["../../../src/sdk/internalFaroGlobalObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGlD,MAAM,UAAU,2BAA2B;IACzC,OAAO,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAU;IACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACxB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAEjF,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,uBAAuB,EAAE;YAC3D,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;KACJ;SAAM;QACL,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;KAC3F;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,uBAAuB,IAAI,YAAY,CAAC;AACjD,CAAC","sourcesContent":["import { globalObject } from '../globalObject';\n\nimport { internalGlobalObjectKey } from './const';\nimport type { Faro } from './types';\n\nexport function getInternalFromGlobalObject(): Faro | undefined {\n return globalObject[internalGlobalObjectKey];\n}\n\nexport function setInternalFaroOnGlobalObject(faro: Faro): void {\n if (!faro.config.isolate) {\n faro.internalLogger.debug('Registering internal Faro instance on global object');\n\n Object.defineProperty(globalObject, internalGlobalObjectKey, {\n configurable: false,\n enumerable: false,\n writable: false,\n value: faro,\n });\n } else {\n faro.internalLogger.debug('Skipping registering internal Faro instance on global object');\n }\n}\n\nexport function isInternalFaroOnGlobalObject(): boolean {\n return internalGlobalObjectKey in globalObject;\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import { setFaroOnGlobalObject } from './faroGlobalObject';
2
+ import { setInternalFaroOnGlobalObject } from './internalFaroGlobalObject';
3
+ export let faro = {};
4
+ export function registerFaro(unpatchedConsole, internalLogger, config, metas, transports, api, instrumentations) {
5
+ internalLogger.debug('Initializing Faro');
6
+ faro = {
7
+ api,
8
+ config,
9
+ instrumentations,
10
+ internalLogger,
11
+ metas,
12
+ pause: transports.pause,
13
+ transports,
14
+ unpatchedConsole,
15
+ unpause: transports.unpause,
16
+ };
17
+ setInternalFaroOnGlobalObject(faro);
18
+ setFaroOnGlobalObject(faro);
19
+ return faro;
20
+ }
21
+ //# sourceMappingURL=registerFaro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerFaro.js","sourceRoot":"","sources":["../../../src/sdk/registerFaro.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAG3E,MAAM,CAAC,IAAI,IAAI,GAAS,EAAU,CAAC;AAEnC,MAAM,UAAU,YAAY,CAC1B,gBAAkC,EAClC,cAA8B,EAC9B,MAAc,EACd,KAAY,EACZ,UAAsB,EACtB,GAAQ,EACR,gBAAkC;IAElC,cAAc,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE1C,IAAI,GAAG;QACL,GAAG;QACH,MAAM;QACN,gBAAgB;QAChB,cAAc;QACd,KAAK;QACL,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,UAAU;QACV,gBAAgB;QAChB,OAAO,EAAE,UAAU,CAAC,OAAO;KAC5B,CAAC;IAEF,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAEpC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE5B,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import type { API } from '../api';\nimport type { Config } from '../config';\nimport type { Instrumentations } from '../instrumentations';\nimport type { InternalLogger } from '../internalLogger';\nimport type { Metas } from '../metas';\nimport type { Transports } from '../transports';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\n\nimport { setFaroOnGlobalObject } from './faroGlobalObject';\nimport { setInternalFaroOnGlobalObject } from './internalFaroGlobalObject';\nimport type { Faro } from './types';\n\nexport let faro: Faro = {} as Faro;\n\nexport function registerFaro(\n unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n config: Config,\n metas: Metas,\n transports: Transports,\n api: API,\n instrumentations: Instrumentations\n): Faro {\n internalLogger.debug('Initializing Faro');\n\n faro = {\n api,\n config,\n instrumentations,\n internalLogger,\n metas,\n pause: transports.pause,\n transports,\n unpatchedConsole,\n unpause: transports.unpause,\n };\n\n setInternalFaroOnGlobalObject(faro);\n\n setFaroOnGlobalObject(faro);\n\n return faro;\n}\n"]}
@@ -3,6 +3,7 @@ export const Conventions = {
3
3
  CLICK: 'click',
4
4
  NAVIGATION: 'navigation',
5
5
  SESSION_START: 'session_start',
6
+ VIEW_CHANGED: 'view_changed',
6
7
  },
7
8
  };
8
9
  //# sourceMappingURL=semantic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/semantic.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE;QACV,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,eAAe;KAC/B;CACO,CAAC","sourcesContent":["export const Conventions = {\n EventNames: {\n CLICK: 'click',\n NAVIGATION: 'navigation',\n SESSION_START: 'session_start',\n },\n} as const;\n"]}
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/semantic.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE;QACV,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,eAAe;QAC9B,YAAY,EAAE,cAAc;KAC7B;CACO,CAAC","sourcesContent":["export const Conventions = {\n EventNames: {\n CLICK: 'click',\n NAVIGATION: 'navigation',\n SESSION_START: 'session_start',\n VIEW_CHANGED: 'view_changed',\n },\n} as const;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mockConfig.js","sourceRoot":"","sources":["../../../src/testUtils/mockConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,YAA6B,EAAE;IACxD,uBACE,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;SACjB,EACD,MAAM,EAAE,IAAI,EACZ,eAAe,EAAE,MAAM,EACvB,mBAAmB,EAAE,0BAA0B,EAC/C,gBAAgB,EAAE,EAAE,EACpB,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,EAAE,EACT,eAAe,EAAE,oBAAoB,EACrC,MAAM,EAAE,KAAK,EACb,qBAAqB,EAAE,IAAI,EAC3B,UAAU,EAAE,EAAE,EACd,gBAAgB,EAAE,OAAO,IACtB,SAAS,EACZ;AACJ,CAAC","sourcesContent":["import type { Config } from '../config';\nimport { defaultInternalLoggerLevel } from '../internalLogger';\nimport { mockStacktraceParser } from './mockStacktraceParser';\n\nexport function mockConfig(overrides: Partial<Config> = {}): Config {\n return {\n app: {\n name: 'test',\n version: '1.0.0',\n },\n dedupe: true,\n globalObjectKey: 'faro',\n internalLoggerLevel: defaultInternalLoggerLevel,\n instrumentations: [],\n isolate: true,\n metas: [],\n parseStacktrace: mockStacktraceParser,\n paused: false,\n preventGlobalExposure: true,\n transports: [],\n unpatchedConsole: console,\n ...overrides,\n };\n}\n"]}
1
+ {"version":3,"file":"mockConfig.js","sourceRoot":"","sources":["../../../src/testUtils/mockConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,YAA6B,EAAE;IACxD,uBACE,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;SACjB,EACD,MAAM,EAAE,IAAI,EACZ,eAAe,EAAE,MAAM,EACvB,mBAAmB,EAAE,0BAA0B,EAC/C,gBAAgB,EAAE,EAAE,EACpB,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,EAAE,EACT,eAAe,EAAE,oBAAoB,EACrC,MAAM,EAAE,KAAK,EACb,qBAAqB,EAAE,IAAI,EAC3B,UAAU,EAAE,EAAE,EACd,gBAAgB,EAAE,OAAO,IACtB,SAAS,EACZ;AACJ,CAAC","sourcesContent":["import type { Config } from '../config';\nimport { defaultInternalLoggerLevel } from '../internalLogger';\n\nimport { mockStacktraceParser } from './mockStacktraceParser';\n\nexport function mockConfig(overrides: Partial<Config> = {}): Config {\n return {\n app: {\n name: 'test',\n version: '1.0.0',\n },\n dedupe: true,\n globalObjectKey: 'faro',\n internalLoggerLevel: defaultInternalLoggerLevel,\n instrumentations: [],\n isolate: true,\n metas: [],\n parseStacktrace: mockStacktraceParser,\n paused: false,\n preventGlobalExposure: true,\n transports: [],\n unpatchedConsole: console,\n ...overrides,\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { BaseExtension } from '../utils';
1
+ import { BaseExtension } from '../extensions';
2
2
  export class BaseTransport extends BaseExtension {
3
3
  getIgnoreUrls() {
4
4
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,OAAgB,aAAc,SAAQ,aAAa;IAGvD,aAAa;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;CACF","sourcesContent":["import { BaseExtension } from '../utils';\nimport type { Transport, TransportItem } from './types';\n\nexport abstract class BaseTransport extends BaseExtension implements Transport {\n abstract send(item: TransportItem): void | Promise<void>;\n\n getIgnoreUrls(): Array<string | RegExp> {\n return [];\n }\n}\n"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/transports/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,MAAM,OAAgB,aAAc,SAAQ,aAAa;IAGvD,aAAa;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;CACF","sourcesContent":["import { BaseExtension } from '../extensions';\n\nimport type { Transport, TransportItem } from './types';\n\nexport abstract class BaseTransport extends BaseExtension implements Transport {\n abstract send(item: TransportItem): void | Promise<void>;\n\n getIgnoreUrls(): Array<string | RegExp> {\n return [];\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  export { initializeTransports } from './initialize';
2
2
  export { BaseTransport } from './base';
3
3
  export { TransportItemType, transportItemTypeToBodyKey } from './const';
4
+ export { registerInitialTransports } from './registerInitial';
4
5
  export { getTransportBody } from './utils';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAWxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC","sourcesContent":["export { initializeTransports } from './initialize';\n\nexport { BaseTransport } from './base';\n\nexport { TransportItemType, transportItemTypeToBodyKey } from './const';\n\nexport type {\n BeforeSendHook,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n} from './types';\n\nexport { getTransportBody } from './utils';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAW9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC","sourcesContent":["export { initializeTransports } from './initialize';\n\nexport { BaseTransport } from './base';\n\nexport { TransportItemType, transportItemTypeToBodyKey } from './const';\n\nexport { registerInitialTransports } from './registerInitial';\n\nexport type {\n BeforeSendHook,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n} from './types';\n\nexport { getTransportBody } from './utils';\n"]}
@@ -17,7 +17,7 @@ export function createBeforeSendHookFromIgnorePatterns(patterns) {
17
17
  return item;
18
18
  };
19
19
  }
20
- export function initializeTransports(internalLogger, config) {
20
+ export function initializeTransports(unpatchedConsole, internalLogger, config, metas) {
21
21
  internalLogger.debug('Initializing transports');
22
22
  const transports = [];
23
23
  let paused = config.paused;
@@ -31,6 +31,10 @@ export function initializeTransports(internalLogger, config) {
31
31
  internalLogger.warn(`Transport ${newTransport.name} is already added`);
32
32
  return;
33
33
  }
34
+ newTransport.unpatchedConsole = unpatchedConsole;
35
+ newTransport.internalLogger = internalLogger;
36
+ newTransport.config = config;
37
+ newTransport.metas = metas;
34
38
  transports.push(newTransport);
35
39
  });
36
40
  };
@@ -91,9 +95,6 @@ export function initializeTransports(internalLogger, config) {
91
95
  internalLogger.debug('Unpausing transports');
92
96
  paused = false;
93
97
  };
94
- add(...config.transports);
95
- addBeforeSendHooks(config.beforeSend);
96
- addIgnoreErrorsPatterns(config.ignoreErrors);
97
98
  return {
98
99
  add,
99
100
  addBeforeSendHooks,
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/transports/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ExceptionEvent } from '../api';\nimport type { Config, Patterns } from '../config';\nimport type { InternalLogger } from '../internalLogger';\nimport { isString } from '../utils';\nimport { TransportItemType } from './const';\nimport type { BeforeSendHook, Transport, Transports } from './types';\n\nexport function shouldIgnoreEvent(patterns: Patterns, msg: string): boolean {\n return patterns.some((pattern) => {\n return isString(pattern) ? msg.includes(pattern) : !!msg.match(pattern);\n });\n}\n\nexport function createBeforeSendHookFromIgnorePatterns(patterns: Patterns): BeforeSendHook {\n return (item) => {\n if (item.type === TransportItemType.EXCEPTION && item.payload) {\n const evt = item.payload as ExceptionEvent;\n const msg = `${evt.type}: ${evt.value}`;\n\n if (shouldIgnoreEvent(patterns, msg)) {\n return null;\n }\n }\n\n return item;\n };\n}\n\nexport function initializeTransports(internalLogger: InternalLogger, config: Config): Transports {\n internalLogger.debug('Initializing transports');\n\n const transports: Transport[] = [];\n\n let paused = config.paused;\n\n let beforeSendHooks: BeforeSendHook[] = [];\n\n const add: Transports['add'] = (...newTransports) => {\n internalLogger.debug('Adding transports');\n\n newTransports.forEach((newTransport) => {\n internalLogger.debug(`Adding \"${newTransport.name}\" transport`);\n\n const exists = transports.some((existingTransport) => existingTransport === newTransport);\n\n if (exists) {\n internalLogger.warn(`Transport ${newTransport.name} is already added`);\n\n return;\n }\n\n transports.push(newTransport);\n });\n };\n\n const addBeforeSendHooks: Transports['addBeforeSendHooks'] = (...newBeforeSendHooks) => {\n internalLogger.debug('Adding beforeSendHooks\\n', beforeSendHooks);\n\n newBeforeSendHooks.forEach((beforeSendHook) => {\n if (beforeSendHook) {\n beforeSendHooks.push(beforeSendHook);\n }\n });\n };\n\n const addIgnoreErrorsPatterns: Transports['addIgnoreErrorsPatterns'] = (...ignoreErrorsPatterns) => {\n internalLogger.debug('Adding ignoreErrorsPatterns\\n', ignoreErrorsPatterns);\n\n ignoreErrorsPatterns.forEach((ignoreErrorsPattern) => {\n if (ignoreErrorsPattern) {\n beforeSendHooks.push(createBeforeSendHookFromIgnorePatterns(ignoreErrorsPattern));\n }\n });\n };\n\n const execute: Transports['execute'] = (item) => {\n if (!paused) {\n let actualItem = item;\n\n for (const hook of beforeSendHooks) {\n const modified = hook(actualItem);\n\n if (modified === null) {\n return;\n }\n\n actualItem = modified;\n }\n\n for (const transport of transports) {\n internalLogger.debug(`Transporting item using ${transport.name}\\n`, actualItem);\n\n transport.send(actualItem);\n }\n }\n };\n\n const getBeforeSendHooks: Transports['getBeforeSendHooks'] = () => [...beforeSendHooks];\n\n const isPaused: Transports['isPaused'] = () => paused;\n\n const pause: Transports['pause'] = () => {\n internalLogger.debug('Pausing transports');\n\n paused = true;\n };\n\n const remove: Transports['remove'] = (...transportsToRemove) => {\n internalLogger.debug('Removing transports');\n\n transportsToRemove.forEach((transportToRemove) => {\n internalLogger.debug(`Removing \"${transportToRemove.name}\" transport`);\n\n const existingTransportIndex = transports.indexOf(transportToRemove);\n\n if (existingTransportIndex === -1) {\n internalLogger.warn(`Transport \"${transportToRemove.name}\" is not added`);\n\n return;\n }\n\n transports.splice(existingTransportIndex, 1);\n });\n };\n\n const removeBeforeSendHooks: Transports['removeBeforeSendHooks'] = (...beforeSendHooksToRemove) => {\n beforeSendHooks.filter((beforeSendHook) => !beforeSendHooksToRemove.includes(beforeSendHook));\n };\n\n const unpause: Transports['unpause'] = () => {\n internalLogger.debug('Unpausing transports');\n\n paused = false;\n };\n\n add(...config.transports);\n addBeforeSendHooks(config.beforeSend);\n addIgnoreErrorsPatterns(config.ignoreErrors);\n\n return {\n add,\n addBeforeSendHooks,\n addIgnoreErrorsPatterns,\n getBeforeSendHooks,\n execute,\n isPaused,\n pause,\n remove,\n removeBeforeSendHooks,\n get transports() {\n return [...transports];\n },\n unpause,\n };\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/transports/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ExceptionEvent } from '../api';\nimport type { Config, Patterns } from '../config';\nimport type { InternalLogger } from '../internalLogger';\nimport type { Metas } from '../metas';\nimport type { UnpatchedConsole } from '../unpatchedConsole';\nimport { isString } from '../utils';\n\nimport { TransportItemType } from './const';\nimport type { BeforeSendHook, Transport, Transports } from './types';\n\nexport function shouldIgnoreEvent(patterns: Patterns, msg: string): boolean {\n return patterns.some((pattern) => {\n return isString(pattern) ? msg.includes(pattern) : !!msg.match(pattern);\n });\n}\n\nexport function createBeforeSendHookFromIgnorePatterns(patterns: Patterns): BeforeSendHook {\n return (item) => {\n if (item.type === TransportItemType.EXCEPTION && item.payload) {\n const evt = item.payload as ExceptionEvent;\n const msg = `${evt.type}: ${evt.value}`;\n\n if (shouldIgnoreEvent(patterns, msg)) {\n return null;\n }\n }\n\n return item;\n };\n}\n\nexport function initializeTransports(\n unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n config: Config,\n metas: Metas\n): Transports {\n internalLogger.debug('Initializing transports');\n\n const transports: Transport[] = [];\n\n let paused = config.paused;\n\n let beforeSendHooks: BeforeSendHook[] = [];\n\n const add: Transports['add'] = (...newTransports) => {\n internalLogger.debug('Adding transports');\n\n newTransports.forEach((newTransport) => {\n internalLogger.debug(`Adding \"${newTransport.name}\" transport`);\n\n const exists = transports.some((existingTransport) => existingTransport === newTransport);\n\n if (exists) {\n internalLogger.warn(`Transport ${newTransport.name} is already added`);\n\n return;\n }\n\n newTransport.unpatchedConsole = unpatchedConsole;\n newTransport.internalLogger = internalLogger;\n newTransport.config = config;\n newTransport.metas = metas;\n\n transports.push(newTransport);\n });\n };\n\n const addBeforeSendHooks: Transports['addBeforeSendHooks'] = (...newBeforeSendHooks) => {\n internalLogger.debug('Adding beforeSendHooks\\n', beforeSendHooks);\n\n newBeforeSendHooks.forEach((beforeSendHook) => {\n if (beforeSendHook) {\n beforeSendHooks.push(beforeSendHook);\n }\n });\n };\n\n const addIgnoreErrorsPatterns: Transports['addIgnoreErrorsPatterns'] = (...ignoreErrorsPatterns) => {\n internalLogger.debug('Adding ignoreErrorsPatterns\\n', ignoreErrorsPatterns);\n\n ignoreErrorsPatterns.forEach((ignoreErrorsPattern) => {\n if (ignoreErrorsPattern) {\n beforeSendHooks.push(createBeforeSendHookFromIgnorePatterns(ignoreErrorsPattern));\n }\n });\n };\n\n const execute: Transports['execute'] = (item) => {\n if (!paused) {\n let actualItem = item;\n\n for (const hook of beforeSendHooks) {\n const modified = hook(actualItem);\n\n if (modified === null) {\n return;\n }\n\n actualItem = modified;\n }\n\n for (const transport of transports) {\n internalLogger.debug(`Transporting item using ${transport.name}\\n`, actualItem);\n\n transport.send(actualItem);\n }\n }\n };\n\n const getBeforeSendHooks: Transports['getBeforeSendHooks'] = () => [...beforeSendHooks];\n\n const isPaused: Transports['isPaused'] = () => paused;\n\n const pause: Transports['pause'] = () => {\n internalLogger.debug('Pausing transports');\n\n paused = true;\n };\n\n const remove: Transports['remove'] = (...transportsToRemove) => {\n internalLogger.debug('Removing transports');\n\n transportsToRemove.forEach((transportToRemove) => {\n internalLogger.debug(`Removing \"${transportToRemove.name}\" transport`);\n\n const existingTransportIndex = transports.indexOf(transportToRemove);\n\n if (existingTransportIndex === -1) {\n internalLogger.warn(`Transport \"${transportToRemove.name}\" is not added`);\n\n return;\n }\n\n transports.splice(existingTransportIndex, 1);\n });\n };\n\n const removeBeforeSendHooks: Transports['removeBeforeSendHooks'] = (...beforeSendHooksToRemove) => {\n beforeSendHooks.filter((beforeSendHook) => !beforeSendHooksToRemove.includes(beforeSendHook));\n };\n\n const unpause: Transports['unpause'] = () => {\n internalLogger.debug('Unpausing transports');\n\n paused = false;\n };\n\n return {\n add,\n addBeforeSendHooks,\n addIgnoreErrorsPatterns,\n getBeforeSendHooks,\n execute,\n isPaused,\n pause,\n remove,\n removeBeforeSendHooks,\n get transports() {\n return [...transports];\n },\n unpause,\n };\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export function registerInitialTransports(faro) {
2
+ faro.transports.add(...faro.config.transports);
3
+ faro.transports.addBeforeSendHooks(faro.config.beforeSend);
4
+ faro.transports.addIgnoreErrorsPatterns(faro.config.ignoreErrors);
5
+ }
6
+ //# sourceMappingURL=registerInitial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerInitial.js","sourceRoot":"","sources":["../../../src/transports/registerInitial.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CAAC,IAAU;IAClD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACpE,CAAC","sourcesContent":["import type { Faro } from '../sdk';\n\nexport function registerInitialTransports(faro: Faro): void {\n faro.transports.add(...faro.config.transports);\n faro.transports.addBeforeSendHooks(faro.config.beforeSend);\n faro.transports.addIgnoreErrorsPatterns(faro.config.ignoreErrors);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transports/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { APIEvent, EventEvent, ExceptionEvent, LogEvent, MeasurementEvent, TraceEvent } from '../api';\nimport type { Patterns } from '../config';\nimport type { Meta } from '../metas';\nimport type { Extension } from '../utils';\nimport type { TransportItemType } from './const';\n\nexport type TransportItemPayload<P = APIEvent> = P;\n\nexport type BeforeSendHook<P = APIEvent> = (item: TransportItem<P>) => TransportItem<P> | null;\n\nexport interface TransportItem<P = APIEvent> {\n type: TransportItemType;\n payload: TransportItemPayload<P>;\n meta: Meta;\n}\n\nexport interface Transport extends Extension {\n send(item: TransportItem): void | Promise<void>;\n\n // returns URLs to be ignored by tracing, to not cause a feedback loop\n getIgnoreUrls(): Patterns;\n}\n\nexport interface TransportBody {\n meta: Meta;\n\n exceptions?: ExceptionEvent[];\n logs?: LogEvent[];\n measurements?: MeasurementEvent[];\n traces?: TraceEvent;\n events?: EventEvent[];\n}\n\nexport interface Transports {\n add: (...transports: Transport[]) => void;\n addBeforeSendHooks: (...hooks: Array<BeforeSendHook | undefined>) => void;\n addIgnoreErrorsPatterns: (...ignoreErrorsPatterns: Array<Patterns | undefined>) => void;\n execute: (transportItem: TransportItem) => void;\n getBeforeSendHooks: () => BeforeSendHook[];\n isPaused: () => boolean;\n remove: (...transports: Transport[]) => void;\n removeBeforeSendHooks: (...hooks: Array<BeforeSendHook | undefined>) => void;\n transports: Transport[];\n pause: () => void;\n unpause: () => void;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transports/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { APIEvent, EventEvent, ExceptionEvent, LogEvent, MeasurementEvent, TraceEvent } from '../api';\nimport type { Patterns } from '../config';\nimport type { Extension } from '../extensions';\nimport type { Meta } from '../metas';\n\nimport type { TransportItemType } from './const';\n\nexport type TransportItemPayload<P = APIEvent> = P;\n\nexport type BeforeSendHook<P = APIEvent> = (item: TransportItem<P>) => TransportItem<P> | null;\n\nexport interface TransportItem<P = APIEvent> {\n type: TransportItemType;\n payload: TransportItemPayload<P>;\n meta: Meta;\n}\n\nexport interface Transport extends Extension {\n send(item: TransportItem): void | Promise<void>;\n\n // returns URLs to be ignored by tracing, to not cause a feedback loop\n getIgnoreUrls(): Patterns;\n}\n\nexport interface TransportBody {\n meta: Meta;\n\n exceptions?: ExceptionEvent[];\n logs?: LogEvent[];\n measurements?: MeasurementEvent[];\n traces?: TraceEvent;\n events?: EventEvent[];\n}\n\nexport interface Transports {\n add: (...transports: Transport[]) => void;\n addBeforeSendHooks: (...hooks: Array<BeforeSendHook | undefined>) => void;\n addIgnoreErrorsPatterns: (...ignoreErrorsPatterns: Array<Patterns | undefined>) => void;\n execute: (transportItem: TransportItem) => void;\n getBeforeSendHooks: () => BeforeSendHook[];\n isPaused: () => boolean;\n remove: (...transports: Transport[]) => void;\n removeBeforeSendHooks: (...hooks: Array<BeforeSendHook | undefined>) => void;\n transports: Transport[];\n pause: () => void;\n unpause: () => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/unpatchedConsole/initialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGlD,MAAM,CAAC,IAAI,gBAAgB,GAAqB,uBAAuB,CAAC;AAExE,MAAM,UAAU,0BAA0B,CAAC,MAAc;;IACvD,gBAAgB,GAAG,MAAA,MAAM,CAAC,gBAAgB,mCAAI,gBAAgB,CAAC;IAE/D,OAAO,gBAAgB,CAAC;AAC1B,CAAC","sourcesContent":["import type { Config } from '../config';\nimport { defaultUnpatchedConsole } from './const';\nimport type { UnpatchedConsole } from './types';\n\nexport let unpatchedConsole: UnpatchedConsole = defaultUnpatchedConsole;\n\nexport function initializeUnpatchedConsole(config: Config): UnpatchedConsole {\n unpatchedConsole = config.unpatchedConsole ?? unpatchedConsole;\n\n return unpatchedConsole;\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/unpatchedConsole/initialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGlD,MAAM,CAAC,IAAI,gBAAgB,GAAqB,uBAAuB,CAAC;AAExE,MAAM,UAAU,0BAA0B,CAAC,MAAc;;IACvD,gBAAgB,GAAG,MAAA,MAAM,CAAC,gBAAgB,mCAAI,gBAAgB,CAAC;IAE/D,OAAO,gBAAgB,CAAC;AAC1B,CAAC","sourcesContent":["import type { Config } from '../config';\n\nimport { defaultUnpatchedConsole } from './const';\nimport type { UnpatchedConsole } from './types';\n\nexport let unpatchedConsole: UnpatchedConsole = defaultUnpatchedConsole;\n\nexport function initializeUnpatchedConsole(config: Config): UnpatchedConsole {\n unpatchedConsole = config.unpatchedConsole ?? unpatchedConsole;\n\n return unpatchedConsole;\n}\n"]}
@@ -1,4 +1,3 @@
1
- export { BaseExtension } from './extensions';
2
1
  export { deepEqual } from './deepEqual';
3
2
  export { getCurrentTimestamp } from './getCurrentTimestamp';
4
3
  export { isArray, isBoolean, isDomError, isDomException, isElement, isElementDefined, isError, isErrorDefined, isErrorEvent, isEvent, isEventDefined, isFunction, isInstanceOf, isInt, isMap, isMapDefined, isNull, isNumber, isObject, isPrimitive, isRegExp, isString, isSymbol, isSyntheticEvent, isThenable, isToString, isTypeof, isUndefined, } from './is';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { BaseExtension } from './extensions';\nexport type { Extension } from './extensions';\n\nexport type { BaseObject, BaseObjectKey, BaseObjectPrimitiveValue, BaseObjectValue } from './baseObject';\n\nexport { deepEqual } from './deepEqual';\n\nexport { getCurrentTimestamp } from './getCurrentTimestamp';\n\nexport {\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n} from './is';\nexport type { IsFnHelper } from './is';\n\nexport { allLogLevels, defaultLogLevel, LogLevel } from './logLevels';\n\nexport { noop } from './noop';\n\nexport { createPromiseBuffer } from './promiseBuffer';\nexport type { BufferItem, PromiseBuffer, PromiseBufferOptions, PromiseProducer } from './promiseBuffer';\n\nexport { genShortID } from './shortId';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export type { BaseObject, BaseObjectKey, BaseObjectPrimitiveValue, BaseObjectValue } from './baseObject';\n\nexport { deepEqual } from './deepEqual';\n\nexport { getCurrentTimestamp } from './getCurrentTimestamp';\n\nexport {\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n} from './is';\nexport type { IsFnHelper } from './is';\n\nexport { allLogLevels, defaultLogLevel, LogLevel } from './logLevels';\n\nexport { noop } from './noop';\n\nexport { createPromiseBuffer } from './promiseBuffer';\nexport type { BufferItem, PromiseBuffer, PromiseBufferOptions, PromiseProducer } from './promiseBuffer';\n\nexport { genShortID } from './shortId';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"shortId.js","sourceRoot":"","sources":["../../../src/utils/shortId.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,6DAA6D,CAAC;AAE/E,MAAM,UAAU,UAAU,CAAC,MAAM,GAAG,EAAE;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B,GAAG,CAAC,GAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAE,CAAC;SACzE,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC","sourcesContent":["const alphabet = 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ0123456789';\n\nexport function genShortID(length = 10): string {\n return Array.from(Array(length))\n .map((): string => alphabet[Math.floor(Math.random() * alphabet.length)]!)\n .join('');\n}\n"]}
1
+ {"version":3,"file":"shortId.js","sourceRoot":"","sources":["../../../src/utils/shortId.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,6DAA6D,CAAC;AAE/E,MAAM,UAAU,UAAU,CAAC,MAAM,GAAG,EAAE;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAE,CAAC;SACjE,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC","sourcesContent":["const alphabet = 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ0123456789';\n\nexport function genShortID(length = 10): string {\n return Array.from(Array(length))\n .map(() => alphabet[Math.floor(Math.random() * alphabet.length)]!)\n .join('');\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  // auto-generated by bin/genVersion.ts
2
- export const VERSION = '1.0.0-beta4';
2
+ export const VERSION = '1.0.1';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC","sourcesContent":["// auto-generated by bin/genVersion.ts\nexport const VERSION = '1.0.0-beta4';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["// auto-generated by bin/genVersion.ts\nexport const VERSION = '1.0.1';\n"]}
@@ -2,6 +2,7 @@ import type { Config } from '../../config';
2
2
  import type { InternalLogger } from '../../internalLogger';
3
3
  import type { Metas } from '../../metas';
4
4
  import { Transports } from '../../transports';
5
+ import type { UnpatchedConsole } from '../../unpatchedConsole';
5
6
  import type { TracesAPI } from '../traces';
6
7
  import type { EventsAPI } from './types';
7
- export declare function initializeEventsAPI(internalLogger: InternalLogger, config: Config, transports: Transports, metas: Metas, tracesApi: TracesAPI): EventsAPI;
8
+ export declare function initializeEventsAPI(_unpatchedConsole: UnpatchedConsole, internalLogger: InternalLogger, config: Config, metas: Metas, transports: Transports, tracesApi: TracesAPI): EventsAPI;
@@ -2,6 +2,7 @@ import type { Config } from '../../config';
2
2
  import type { InternalLogger } from '../../internalLogger';
3
3
  import type { Metas } from '../../metas';
4
4
  import type { Transports } from '../../transports';
5
+ import type { UnpatchedConsole } from '../../unpatchedConsole';
5
6
  import type { TracesAPI } from '../traces';
6
7
  import type { ExceptionsAPI } from './types';
7
- export declare function initializeExceptionsAPI(internalLogger: InternalLogger, config: Config, transports: Transports, metas: Metas, tracesApi: TracesAPI): ExceptionsAPI;
8
+ export declare function initializeExceptionsAPI(_unpatchedConsole: UnpatchedConsole, internalLogger: InternalLogger, config: Config, metas: Metas, transports: Transports, tracesApi: TracesAPI): ExceptionsAPI;
@@ -2,5 +2,6 @@ import type { Config } from '../config';
2
2
  import type { InternalLogger } from '../internalLogger';
3
3
  import type { Metas } from '../metas';
4
4
  import type { Transports } from '../transports';
5
+ import type { UnpatchedConsole } from '../unpatchedConsole';
5
6
  import type { API } from './types';
6
- export declare function initializeAPI(internalLogger: InternalLogger, config: Config, transports: Transports, metas: Metas): API;
7
+ export declare function initializeAPI(unpatchedConsole: UnpatchedConsole, internalLogger: InternalLogger, config: Config, metas: Metas, transports: Transports): API;
@@ -2,6 +2,7 @@ import type { Config } from '../../config';
2
2
  import type { InternalLogger } from '../../internalLogger';
3
3
  import type { Metas } from '../../metas';
4
4
  import type { Transports } from '../../transports';
5
+ import type { UnpatchedConsole } from '../../unpatchedConsole';
5
6
  import type { TracesAPI } from '../traces';
6
7
  import type { LogsAPI } from './types';
7
- export declare function initializeLogsAPI(internalLogger: InternalLogger, config: Config, transports: Transports, metas: Metas, tracesApi: TracesAPI): LogsAPI;
8
+ export declare function initializeLogsAPI(_unpatchedConsole: UnpatchedConsole, internalLogger: InternalLogger, config: Config, metas: Metas, transports: Transports, tracesApi: TracesAPI): LogsAPI;