@newrelic/browser-agent 0.0.7

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 (62) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +187 -0
  3. package/dist/bundled/es5/index.js +2 -0
  4. package/dist/bundled/es5/index.js.map +1 -0
  5. package/dist/bundled/es6/index.js +2 -0
  6. package/dist/bundled/es6/index.js.map +1 -0
  7. package/dist/cjs/index.d.ts +19 -0
  8. package/dist/cjs/index.js +59 -0
  9. package/dist/cjs/index.js.map +1 -0
  10. package/dist/cjs/types.d.ts +94 -0
  11. package/dist/cjs/types.js +28 -0
  12. package/dist/cjs/types.js.map +1 -0
  13. package/dist/cjs/utils/api/api.d.ts +10 -0
  14. package/dist/cjs/utils/api/api.js +40 -0
  15. package/dist/cjs/utils/api/api.js.map +1 -0
  16. package/dist/cjs/utils/config/build-configs.d.ts +6 -0
  17. package/dist/cjs/utils/config/build-configs.js +68 -0
  18. package/dist/cjs/utils/config/build-configs.js.map +1 -0
  19. package/dist/cjs/utils/features/features.d.ts +5 -0
  20. package/dist/cjs/utils/features/features.js +14 -0
  21. package/dist/cjs/utils/features/features.js.map +1 -0
  22. package/dist/cjs/utils/features/initialize.d.ts +5 -0
  23. package/dist/cjs/utils/features/initialize.js +51 -0
  24. package/dist/cjs/utils/features/initialize.js.map +1 -0
  25. package/dist/es/index.d.ts +19 -0
  26. package/dist/es/index.js +55 -0
  27. package/dist/es/index.js.map +1 -0
  28. package/dist/es/types.d.ts +94 -0
  29. package/dist/es/types.js +24 -0
  30. package/dist/es/types.js.map +1 -0
  31. package/dist/es/utils/api/api.d.ts +10 -0
  32. package/dist/es/utils/api/api.js +36 -0
  33. package/dist/es/utils/api/api.js.map +1 -0
  34. package/dist/es/utils/config/build-configs.d.ts +6 -0
  35. package/dist/es/utils/config/build-configs.js +64 -0
  36. package/dist/es/utils/config/build-configs.js.map +1 -0
  37. package/dist/es/utils/features/features.d.ts +5 -0
  38. package/dist/es/utils/features/features.js +10 -0
  39. package/dist/es/utils/features/features.js.map +1 -0
  40. package/dist/es/utils/features/initialize.d.ts +5 -0
  41. package/dist/es/utils/features/initialize.js +24 -0
  42. package/dist/es/utils/features/initialize.js.map +1 -0
  43. package/dist/umd/index.d.ts +19 -0
  44. package/dist/umd/index.js +69 -0
  45. package/dist/umd/index.js.map +1 -0
  46. package/dist/umd/types.d.ts +94 -0
  47. package/dist/umd/types.js +38 -0
  48. package/dist/umd/types.js.map +1 -0
  49. package/dist/umd/utils/api/api.d.ts +10 -0
  50. package/dist/umd/utils/api/api.js +50 -0
  51. package/dist/umd/utils/api/api.js.map +1 -0
  52. package/dist/umd/utils/config/build-configs.d.ts +6 -0
  53. package/dist/umd/utils/config/build-configs.js +78 -0
  54. package/dist/umd/utils/config/build-configs.js.map +1 -0
  55. package/dist/umd/utils/features/features.d.ts +5 -0
  56. package/dist/umd/utils/features/features.js +24 -0
  57. package/dist/umd/utils/features/features.js.map +1 -0
  58. package/dist/umd/utils/features/initialize.d.ts +5 -0
  59. package/dist/umd/utils/features/initialize.js +63 -0
  60. package/dist/umd/utils/features/initialize.js.map +1 -0
  61. package/dist/webpack-analysis.html +38 -0
  62. package/package.json +77 -0
@@ -0,0 +1,19 @@
1
+ import { NrInfo, NrConfig, NrLoaderConfig, NrOptions } from './types';
2
+ import { Features } from './utils/features/features';
3
+ export declare class BrowserAgent {
4
+ private _initialized;
5
+ private _id;
6
+ private _api;
7
+ private _aggregator;
8
+ get config(): {
9
+ info: NrInfo;
10
+ config: NrConfig;
11
+ loader_config: NrLoaderConfig;
12
+ };
13
+ get initialized(): boolean;
14
+ get id(): any;
15
+ features: Features;
16
+ start: (options: NrOptions) => Promise<boolean>;
17
+ noticeError: (err: Error | String, customAttributes?: Object | undefined) => void;
18
+ }
19
+ export default BrowserAgent;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BrowserAgent = void 0;
13
+ const config_1 = require("@newrelic/browser-agent-core/common/config/config");
14
+ const api_1 = require("./utils/api/api");
15
+ const build_configs_1 = require("./utils/config/build-configs");
16
+ const features_1 = require("./utils/features/features");
17
+ const initialize_1 = require("./utils/features/initialize");
18
+ const nreum_1 = require("@newrelic/browser-agent-core/common/window/nreum");
19
+ const unique_id_1 = require("@newrelic/browser-agent-core/common/ids/unique-id");
20
+ const aggregator_1 = require("@newrelic/browser-agent-core/common/aggregate/aggregator");
21
+ class BrowserAgent {
22
+ constructor() {
23
+ this._initialized = false;
24
+ this._id = (0, unique_id_1.generateRandomHexString)(16);
25
+ this._api = new api_1.Api(this);
26
+ this._aggregator = new aggregator_1.Aggregator({ agentIdentifier: this._id });
27
+ this.features = new features_1.Features();
28
+ this.start = (options) => __awaiter(this, void 0, void 0, function* () {
29
+ if (this._initialized)
30
+ return false;
31
+ this._initialized = true;
32
+ const { info, config, loader_config } = (0, build_configs_1.buildConfigs)(options);
33
+ if (info)
34
+ (0, config_1.setInfo)(this._id, info);
35
+ if (config)
36
+ (0, config_1.setConfiguration)(this._id, config);
37
+ if (loader_config)
38
+ (0, config_1.setLoaderConfig)(this._id, config);
39
+ (0, config_1.setRuntime)(this._id, { maxBytes: 30000 });
40
+ const initializedFeatures = yield (0, initialize_1.initializeFeatures)(this._id, this._api, this._aggregator, this.features);
41
+ (0, nreum_1.gosNREUMInitializedAgents)(this._id, initializedFeatures, 'features');
42
+ return true;
43
+ });
44
+ this.noticeError = (err, customAttributes) => this._api.noticeError(err, customAttributes);
45
+ }
46
+ get config() {
47
+ return {
48
+ info: (0, config_1.getInfo)(this._id),
49
+ config: (0, config_1.getConfiguration)(this._id),
50
+ loader_config: (0, config_1.getLoaderConfig)(this._id)
51
+ };
52
+ }
53
+ get initialized() { return this._initialized; }
54
+ ;
55
+ get id() { return this._id; }
56
+ }
57
+ exports.BrowserAgent = BrowserAgent;
58
+ exports.default = BrowserAgent;
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAsK;AAGtK,yCAAqC;AACrC,gEAA2D;AAC3D,wDAAoD;AACpD,4DAAgE;AAChE,4EAA4F;AAC5F,iFAA2F;AAC3F,yFAAqF;AAGrF,MAAa,YAAY;IAAzB;QACU,iBAAY,GAAG,KAAK,CAAA;QACpB,QAAG,GAAG,IAAA,mCAAuB,EAAC,EAAE,CAAC,CAAC;QAClC,SAAI,GAAG,IAAI,SAAG,CAAC,IAAI,CAAC,CAAA;QACpB,gBAAW,GAAG,IAAI,uBAAU,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAW5D,aAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAA;QACzB,UAAK,GAAG,CAAO,OAAkB,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,YAAY;gBAAE,OAAO,KAAK,CAAA;YACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,4BAAY,EAAC,OAAO,CAAC,CAAA;YAC7D,IAAI,IAAI;gBAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,MAAM;gBAAE,IAAA,yBAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC9C,IAAI,aAAa;gBAAE,IAAA,wBAAe,EAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACpD,IAAA,mBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;YAEzC,MAAM,mBAAmB,GAAG,MAAM,IAAA,+BAAkB,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE1G,IAAA,iCAAyB,EAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAA;YAEpE,OAAO,IAAI,CAAA;QAEb,CAAC,CAAA,CAAA;QACM,gBAAW,GAAG,CAAC,GAAmB,EAAE,gBAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxH,CAAC;IA3BC,IAAW,MAAM;QACf,OAAO;YACL,IAAI,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,GAAG,CAAC;YACvB,MAAM,EAAE,IAAA,yBAAgB,EAAC,IAAI,CAAC,GAAG,CAAC;YAClC,aAAa,EAAE,IAAA,wBAAe,EAAC,IAAI,CAAC,GAAG,CAAC;SACzC,CAAA;IACH,CAAC;IACD,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAA,CAAC,CAAC;IAAA,CAAC;IACtD,IAAW,EAAE,KAAK,OAAO,IAAI,CAAC,GAAG,CAAA,CAAC,CAAC;CAmBpC;AAjCD,oCAiCC;AAED,kBAAe,YAAY,CAAA"}
@@ -0,0 +1,94 @@
1
+ export interface NrInterface {
2
+ config: {
3
+ info: NrInfo;
4
+ config: NrConfig;
5
+ loader_config: NrLoaderConfig;
6
+ };
7
+ features: AppFeatures;
8
+ start: NrInitialize;
9
+ noticeError: NrNoticeError;
10
+ }
11
+ export declare class NrFeature {
12
+ name: NrFeatures;
13
+ private _enabled;
14
+ private _auto;
15
+ constructor(name: NrFeatures);
16
+ get enabled(): boolean;
17
+ set enabled(val: boolean);
18
+ get auto(): boolean;
19
+ set auto(val: boolean);
20
+ }
21
+ export interface AppFeatures {
22
+ 'errors': NrFeature;
23
+ }
24
+ export interface NrOptions extends NrInfo, NrConfig, NrLoaderConfig {
25
+ }
26
+ interface NrShared {
27
+ applicationID?: string;
28
+ licenseKey?: string;
29
+ }
30
+ export interface NrInfo extends NrShared {
31
+ applicationID: string;
32
+ licenseKey: string;
33
+ beacon: string;
34
+ errorBeacon?: string;
35
+ sa?: number;
36
+ queueTime?: number;
37
+ applicationTime?: number;
38
+ ttGuid?: string;
39
+ user?: string;
40
+ account?: string;
41
+ product?: string;
42
+ extra?: string;
43
+ userAttributes?: string;
44
+ atts?: string;
45
+ transactionName?: string;
46
+ tNamePlain?: string;
47
+ }
48
+ export interface NrConfig {
49
+ privacy?: {
50
+ cookies_enabled?: boolean;
51
+ };
52
+ ajax?: {
53
+ deny_list?: string[];
54
+ };
55
+ distributed_tracing?: {
56
+ enabled?: boolean;
57
+ exclude_newrelic_header?: boolean;
58
+ cors_use_newrelic_header?: boolean;
59
+ cors_use_tracecontext_headers?: boolean;
60
+ allowed_origins?: string[];
61
+ };
62
+ page_view_timing?: {
63
+ enabled?: boolean;
64
+ };
65
+ ssl?: boolean;
66
+ obfuscate?: {
67
+ regex?: string | RegExp;
68
+ replacement?: string;
69
+ }[];
70
+ }
71
+ export interface NrLoaderConfig extends NrShared {
72
+ accountID?: string;
73
+ trustKey?: string;
74
+ agentID?: string;
75
+ xpid?: string;
76
+ licenseKey: string;
77
+ applicationID: string;
78
+ }
79
+ export declare enum NrFeatures {
80
+ JSERRORS = "js-errors"
81
+ }
82
+ export declare type NrStoreError = (err: Error | String, time?: Number, internal?: any, customAttributes?: any) => void;
83
+ export declare type NrInitialize = (opts: NrOptions) => Promise<Boolean>;
84
+ export declare type NrNoticeError = (err: Error | String, customAttributes: Object) => void;
85
+ export interface NrFeaturesWithApi {
86
+ [NrFeatures.JSERRORS]: {
87
+ noticeError: NrStoreError;
88
+ };
89
+ }
90
+ export interface NrImportPaths {
91
+ aggregate: string;
92
+ instrument: string;
93
+ }
94
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NrFeatures = exports.NrFeature = void 0;
4
+ class NrFeature {
5
+ constructor(name) {
6
+ this.name = name;
7
+ this._enabled = true;
8
+ this._auto = true;
9
+ }
10
+ get enabled() {
11
+ return this._enabled;
12
+ }
13
+ set enabled(val) {
14
+ this._enabled = Boolean(val);
15
+ }
16
+ get auto() {
17
+ return this._auto;
18
+ }
19
+ set auto(val) {
20
+ this._auto = val;
21
+ }
22
+ }
23
+ exports.NrFeature = NrFeature;
24
+ var NrFeatures;
25
+ (function (NrFeatures) {
26
+ NrFeatures["JSERRORS"] = "js-errors";
27
+ })(NrFeatures = exports.NrFeatures || (exports.NrFeatures = {}));
28
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAOA,MAAa,SAAS;IAIlB,YAAmB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAH3B,aAAQ,GAAY,IAAI,CAAA;QACxB,UAAK,GAAY,IAAI,CAAA;IAEQ,CAAC;IAEtC,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,GAAY;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,GAAY;QACjB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAA;IACpB,CAAC;CACJ;AArBD,8BAqBC;AAuDD,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,oCAAoB,CAAA;AAIxB,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB"}
@@ -0,0 +1,10 @@
1
+ import { NrStoreError } from "../../types";
2
+ export declare class Api {
3
+ importedMethods: {
4
+ storeError: NrStoreError | null;
5
+ };
6
+ private _initialized;
7
+ private _parent;
8
+ constructor(parent: any);
9
+ noticeError(err: Error | String, customAttributes?: Object): void;
10
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Api = void 0;
4
+ const types_1 = require("../../types");
5
+ const now_1 = require("@newrelic/browser-agent-core/common/timing/now");
6
+ class Api {
7
+ constructor(parent) {
8
+ this.importedMethods = {
9
+ storeError: null
10
+ };
11
+ this._initialized = false;
12
+ this._initialized = true;
13
+ this._parent = parent;
14
+ }
15
+ noticeError(err, customAttributes) {
16
+ if (this._initialized && !!this.importedMethods.storeError) {
17
+ if (typeof err !== 'string' && !(err instanceof Error))
18
+ return invalidCall('noticeError', err, 'Error | String');
19
+ err = typeof err === 'string' ? new Error(err) : err;
20
+ const time = (0, now_1.now)();
21
+ const internal = false;
22
+ return this.importedMethods.storeError(err, time, internal, customAttributes);
23
+ }
24
+ if (!this._parent.initialized && !this.importedMethods.storeError)
25
+ return notInitialized(this._parent.id, types_1.NrFeatures.JSERRORS);
26
+ if (this._parent.initialized && !this.importedMethods.storeError)
27
+ return isDisabled(this._parent.id, types_1.NrFeatures.JSERRORS, 'noticeError');
28
+ }
29
+ }
30
+ exports.Api = Api;
31
+ function notInitialized(agentIdentifier, featureName) {
32
+ console.warn(`Agent ${agentIdentifier} is calling a ${featureName} Feature API, but the Browser Agent has not been started... Please start the agent using .start({...opts})`);
33
+ }
34
+ function isDisabled(agentIdentifier, featureName, methodName) {
35
+ console.warn(`The ${featureName} Feature of agent ${agentIdentifier} Has Been Disabled. Method "${methodName}" will not do anything!`);
36
+ }
37
+ function invalidCall(methodName, argument, validType) {
38
+ console.warn(`"${methodName}" was called with an invalid argument: ${argument}. This method only accepts ${validType} types for that argument.`);
39
+ }
40
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/utils/api/api.ts"],"names":[],"mappings":";;;AAAA,uCAAsD;AACtD,wEAAoE;AAEpE,MAAa,GAAG;IAOd,YAAY,MAAM;QANlB,oBAAe,GAAwC;YACrD,UAAU,EAAE,IAAI;SACjB,CAAA;QACO,iBAAY,GAAG,KAAK,CAAA;QAI1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,WAAW,CAAC,GAAmB,EAAE,gBAAyB;QAExD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;YAC1D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;gBAAE,OAAO,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAA;YAEhH,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACpD,MAAM,IAAI,GAAG,IAAA,SAAG,GAAE,CAAA;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAA;YACtB,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;SAC9E;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;YAAE,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,kBAAU,CAAC,QAAQ,CAAC,CAAA;QAE9H,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;YAAE,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,kBAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;IAC1I,CAAC;CACF;AA3BD,kBA2BC;AAED,SAAS,cAAc,CAAC,eAAuB,EAAE,WAAuB;IACtE,OAAO,CAAC,IAAI,CAAC,SAAS,eAAe,iBAAiB,WAAW,4GAA4G,CAAC,CAAA;AAChL,CAAC;AAED,SAAS,UAAU,CAAC,eAAuB,EAAE,WAAuB,EAAE,UAAkB;IACtF,OAAO,CAAC,IAAI,CAAC,OAAO,WAAW,qBAAqB,eAAe,+BAA+B,UAAU,yBAAyB,CAAC,CAAA;AACxI,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB,EAAE,QAAa,EAAE,SAAc;IACpE,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,0CAA0C,QAAQ,8BAA8B,SAAS,2BAA2B,CAAC,CAAA;AAClJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { NrOptions, NrInfo, NrConfig, NrLoaderConfig } from '../../types';
2
+ export declare function buildConfigs(options: NrOptions): {
3
+ info: NrInfo;
4
+ config: NrConfig;
5
+ loader_config: NrLoaderConfig;
6
+ };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildConfigs = void 0;
4
+ function buildConfigs(options) {
5
+ const info = {
6
+ beacon: '',
7
+ errorBeacon: undefined,
8
+ licenseKey: '',
9
+ applicationID: '',
10
+ sa: undefined,
11
+ queueTime: undefined,
12
+ applicationTime: undefined,
13
+ ttGuid: undefined,
14
+ user: undefined,
15
+ account: undefined,
16
+ product: undefined,
17
+ extra: undefined,
18
+ userAttributes: undefined,
19
+ atts: undefined,
20
+ transactionName: undefined,
21
+ tNamePlain: undefined
22
+ };
23
+ const config = {
24
+ privacy: { cookies_enabled: undefined },
25
+ ajax: { deny_list: undefined },
26
+ distributed_tracing: {
27
+ enabled: undefined,
28
+ exclude_newrelic_header: undefined,
29
+ cors_use_newrelic_header: undefined,
30
+ cors_use_tracecontext_headers: undefined,
31
+ allowed_origins: undefined
32
+ },
33
+ page_view_timing: { enabled: undefined },
34
+ ssl: undefined,
35
+ obfuscate: undefined
36
+ };
37
+ const loader_config = {
38
+ accountID: undefined,
39
+ trustKey: undefined,
40
+ agentID: undefined,
41
+ licenseKey: '',
42
+ applicationID: '',
43
+ xpid: undefined
44
+ };
45
+ Object.keys(options).forEach(key => {
46
+ if (key === 'beacon') {
47
+ info.beacon = options[key];
48
+ info.errorBeacon = options[key];
49
+ }
50
+ if (Object.keys(info).includes(key))
51
+ info[key] = options[key];
52
+ if (Object.keys(config).includes(key))
53
+ config[key] = options[key];
54
+ if (Object.keys(loader_config).includes(key))
55
+ loader_config[key] = options[key];
56
+ });
57
+ if (!validateInfo(info) || !validateLoaderConfig(loader_config))
58
+ console.warn("Missing required config data");
59
+ return { info, config, loader_config };
60
+ }
61
+ exports.buildConfigs = buildConfigs;
62
+ function validateInfo(info) {
63
+ return !(!info.applicationID || !info.licenseKey || !info.beacon);
64
+ }
65
+ function validateLoaderConfig(loader_config) {
66
+ return !(!loader_config.applicationID || !loader_config.licenseKey);
67
+ }
68
+ //# sourceMappingURL=build-configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-configs.js","sourceRoot":"","sources":["../../../../src/utils/config/build-configs.ts"],"names":[],"mappings":";;;AAEA,SAAgB,YAAY,CAAC,OAAkB;IAC7C,MAAM,IAAI,GAAW;QACnB,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;QACjB,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;QACzB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,SAAS;QAC1B,UAAU,EAAE,SAAS;KACtB,CAAA;IAED,MAAM,MAAM,GAAa;QACvB,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE;QACvC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;QAC9B,mBAAmB,EAAE;YACnB,OAAO,EAAE,SAAS;YAClB,uBAAuB,EAAE,SAAS;YAClC,wBAAwB,EAAE,SAAS;YACnC,6BAA6B,EAAE,SAAS;YACxC,eAAe,EAAE,SAAS;SAC3B;QACD,gBAAgB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;QACxC,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,SAAS;KACrB,CAAA;IAED,MAAM,aAAa,GAAmB;QACpC,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,SAAS;KAChB,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjC,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YAC1B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;SAChC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC7G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AACxC,CAAC;AAxDD,oCAwDC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,aAA6B;IACzD,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;AACrE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { NrFeature } from "../../types";
2
+ export declare class Features {
3
+ errors: NrFeature;
4
+ getEnabledFeatures(): NrFeature[];
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Features = void 0;
4
+ const types_1 = require("../../types");
5
+ class Features {
6
+ constructor() {
7
+ this.errors = new types_1.NrFeature(types_1.NrFeatures.JSERRORS);
8
+ }
9
+ getEnabledFeatures() {
10
+ return Object.values(this).filter(feature => feature.enabled);
11
+ }
12
+ }
13
+ exports.Features = Features;
14
+ //# sourceMappingURL=features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../src/utils/features/features.ts"],"names":[],"mappings":";;;AAAA,uCAAmD;AAEnD,MAAa,QAAQ;IAArB;QACI,WAAM,GAAG,IAAI,iBAAS,CAAC,kBAAU,CAAC,QAAQ,CAAC,CAAA;IAK/C,CAAC;IAHG,kBAAkB;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE,CAAC;CACJ;AAND,4BAMC"}
@@ -0,0 +1,5 @@
1
+ import { NrFeatures } from '../../types';
2
+ import { Api } from '../api/api';
3
+ import { Features } from './features';
4
+ import { Aggregator } from '@newrelic/browser-agent-core/common/aggregate/aggregator';
5
+ export declare function initializeFeatures(agentIdentifier: string, api: Api, sharedAggregator: Aggregator, features: Features): Promise<NrFeatures[]>;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.initializeFeatures = void 0;
36
+ const types_1 = require("../../types");
37
+ function initializeFeatures(agentIdentifier, api, sharedAggregator, features) {
38
+ return Promise.all(features.getEnabledFeatures().map((feature) => __awaiter(this, void 0, void 0, function* () {
39
+ if (feature.auto) {
40
+ const { Instrument } = yield Promise.resolve().then(() => __importStar(require(`@newrelic/browser-agent-core/features/${feature.name}/instrument`)));
41
+ const featureInstrumentation = new Instrument(agentIdentifier);
42
+ }
43
+ const { Aggregate } = yield Promise.resolve().then(() => __importStar(require(`@newrelic/browser-agent-core/features/${feature.name}/aggregate`)));
44
+ const featureAggregator = new Aggregate(agentIdentifier, sharedAggregator);
45
+ if (feature.name === types_1.NrFeatures.JSERRORS)
46
+ api.importedMethods.storeError = (...args) => featureAggregator.storeError(...args);
47
+ return feature.name;
48
+ })));
49
+ }
50
+ exports.initializeFeatures = initializeFeatures;
51
+ //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/utils/features/initialize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAwC;AAKxC,SAAgB,kBAAkB,CAAC,eAAuB,EAAE,GAAQ,EAAE,gBAA4B,EAAE,QAAkB;IAElH,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAM,OAAO,EAAC,EAAE;QACjE,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,MAAM,EAAE,UAAU,EAAE,GAAwB,wDAAa,yCAAyC,OAAO,CAAC,IAAI,aAAa,GAAC,CAAA;YAC5H,MAAM,sBAAsB,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAA;SACjE;QACD,MAAM,EAAE,SAAS,EAAE,GAAuB,wDAAa,yCAAyC,OAAO,CAAC,IAAI,YAAY,GAAC,CAAA;QACzH,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;QAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAU,CAAC,QAAQ;YAAE,GAAG,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;QAC7H,OAAO,OAAO,CAAC,IAAI,CAAA;IACvB,CAAC,CAAA,CAAC,CAAC,CAAA;AACP,CAAC;AAZD,gDAYC"}
@@ -0,0 +1,19 @@
1
+ import { NrInfo, NrConfig, NrLoaderConfig, NrOptions } from './types';
2
+ import { Features } from './utils/features/features';
3
+ export declare class BrowserAgent {
4
+ private _initialized;
5
+ private _id;
6
+ private _api;
7
+ private _aggregator;
8
+ get config(): {
9
+ info: NrInfo;
10
+ config: NrConfig;
11
+ loader_config: NrLoaderConfig;
12
+ };
13
+ get initialized(): boolean;
14
+ get id(): any;
15
+ features: Features;
16
+ start: (options: NrOptions) => Promise<boolean>;
17
+ noticeError: (err: Error | String, customAttributes?: Object | undefined) => void;
18
+ }
19
+ export default BrowserAgent;
@@ -0,0 +1,55 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { setRuntime, setConfiguration, getConfiguration, setInfo, getInfo, setLoaderConfig, getLoaderConfig } from '@newrelic/browser-agent-core/common/config/config';
11
+ import { Api } from './utils/api/api';
12
+ import { buildConfigs } from './utils/config/build-configs';
13
+ import { Features } from './utils/features/features';
14
+ import { initializeFeatures } from './utils/features/initialize';
15
+ import { gosNREUMInitializedAgents } from '@newrelic/browser-agent-core/common/window/nreum';
16
+ import { generateRandomHexString } from '@newrelic/browser-agent-core/common/ids/unique-id';
17
+ import { Aggregator } from '@newrelic/browser-agent-core/common/aggregate/aggregator';
18
+ export class BrowserAgent {
19
+ constructor() {
20
+ this._initialized = false;
21
+ this._id = generateRandomHexString(16);
22
+ this._api = new Api(this);
23
+ this._aggregator = new Aggregator({ agentIdentifier: this._id });
24
+ this.features = new Features();
25
+ this.start = (options) => __awaiter(this, void 0, void 0, function* () {
26
+ if (this._initialized)
27
+ return false;
28
+ this._initialized = true;
29
+ const { info, config, loader_config } = buildConfigs(options);
30
+ if (info)
31
+ setInfo(this._id, info);
32
+ if (config)
33
+ setConfiguration(this._id, config);
34
+ if (loader_config)
35
+ setLoaderConfig(this._id, config);
36
+ setRuntime(this._id, { maxBytes: 30000 });
37
+ const initializedFeatures = yield initializeFeatures(this._id, this._api, this._aggregator, this.features);
38
+ gosNREUMInitializedAgents(this._id, initializedFeatures, 'features');
39
+ return true;
40
+ });
41
+ this.noticeError = (err, customAttributes) => this._api.noticeError(err, customAttributes);
42
+ }
43
+ get config() {
44
+ return {
45
+ info: getInfo(this._id),
46
+ config: getConfiguration(this._id),
47
+ loader_config: getLoaderConfig(this._id)
48
+ };
49
+ }
50
+ get initialized() { return this._initialized; }
51
+ ;
52
+ get id() { return this._id; }
53
+ }
54
+ export default BrowserAgent;
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAA;AAGtK,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAA;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,0DAA0D,CAAA;AAGrF,MAAM,OAAO,YAAY;IAAzB;QACU,iBAAY,GAAG,KAAK,CAAA;QACpB,QAAG,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAClC,SAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;QACpB,gBAAW,GAAG,IAAI,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAW5D,aAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QACzB,UAAK,GAAG,CAAO,OAAkB,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,YAAY;gBAAE,OAAO,KAAK,CAAA;YACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YAC7D,IAAI,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,MAAM;gBAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC9C,IAAI,aAAa;gBAAE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACpD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;YAEzC,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE1G,yBAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAA;YAEpE,OAAO,IAAI,CAAA;QAEb,CAAC,CAAA,CAAA;QACM,gBAAW,GAAG,CAAC,GAAmB,EAAE,gBAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxH,CAAC;IA3BC,IAAW,MAAM;QACf,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YACvB,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;YAClC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;SACzC,CAAA;IACH,CAAC;IACD,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAA,CAAC,CAAC;IAAA,CAAC;IACtD,IAAW,EAAE,KAAK,OAAO,IAAI,CAAC,GAAG,CAAA,CAAC,CAAC;CAmBpC;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,94 @@
1
+ export interface NrInterface {
2
+ config: {
3
+ info: NrInfo;
4
+ config: NrConfig;
5
+ loader_config: NrLoaderConfig;
6
+ };
7
+ features: AppFeatures;
8
+ start: NrInitialize;
9
+ noticeError: NrNoticeError;
10
+ }
11
+ export declare class NrFeature {
12
+ name: NrFeatures;
13
+ private _enabled;
14
+ private _auto;
15
+ constructor(name: NrFeatures);
16
+ get enabled(): boolean;
17
+ set enabled(val: boolean);
18
+ get auto(): boolean;
19
+ set auto(val: boolean);
20
+ }
21
+ export interface AppFeatures {
22
+ 'errors': NrFeature;
23
+ }
24
+ export interface NrOptions extends NrInfo, NrConfig, NrLoaderConfig {
25
+ }
26
+ interface NrShared {
27
+ applicationID?: string;
28
+ licenseKey?: string;
29
+ }
30
+ export interface NrInfo extends NrShared {
31
+ applicationID: string;
32
+ licenseKey: string;
33
+ beacon: string;
34
+ errorBeacon?: string;
35
+ sa?: number;
36
+ queueTime?: number;
37
+ applicationTime?: number;
38
+ ttGuid?: string;
39
+ user?: string;
40
+ account?: string;
41
+ product?: string;
42
+ extra?: string;
43
+ userAttributes?: string;
44
+ atts?: string;
45
+ transactionName?: string;
46
+ tNamePlain?: string;
47
+ }
48
+ export interface NrConfig {
49
+ privacy?: {
50
+ cookies_enabled?: boolean;
51
+ };
52
+ ajax?: {
53
+ deny_list?: string[];
54
+ };
55
+ distributed_tracing?: {
56
+ enabled?: boolean;
57
+ exclude_newrelic_header?: boolean;
58
+ cors_use_newrelic_header?: boolean;
59
+ cors_use_tracecontext_headers?: boolean;
60
+ allowed_origins?: string[];
61
+ };
62
+ page_view_timing?: {
63
+ enabled?: boolean;
64
+ };
65
+ ssl?: boolean;
66
+ obfuscate?: {
67
+ regex?: string | RegExp;
68
+ replacement?: string;
69
+ }[];
70
+ }
71
+ export interface NrLoaderConfig extends NrShared {
72
+ accountID?: string;
73
+ trustKey?: string;
74
+ agentID?: string;
75
+ xpid?: string;
76
+ licenseKey: string;
77
+ applicationID: string;
78
+ }
79
+ export declare enum NrFeatures {
80
+ JSERRORS = "js-errors"
81
+ }
82
+ export declare type NrStoreError = (err: Error | String, time?: Number, internal?: any, customAttributes?: any) => void;
83
+ export declare type NrInitialize = (opts: NrOptions) => Promise<Boolean>;
84
+ export declare type NrNoticeError = (err: Error | String, customAttributes: Object) => void;
85
+ export interface NrFeaturesWithApi {
86
+ [NrFeatures.JSERRORS]: {
87
+ noticeError: NrStoreError;
88
+ };
89
+ }
90
+ export interface NrImportPaths {
91
+ aggregate: string;
92
+ instrument: string;
93
+ }
94
+ export {};
@@ -0,0 +1,24 @@
1
+ export class NrFeature {
2
+ constructor(name) {
3
+ this.name = name;
4
+ this._enabled = true;
5
+ this._auto = true;
6
+ }
7
+ get enabled() {
8
+ return this._enabled;
9
+ }
10
+ set enabled(val) {
11
+ this._enabled = Boolean(val);
12
+ }
13
+ get auto() {
14
+ return this._auto;
15
+ }
16
+ set auto(val) {
17
+ this._auto = val;
18
+ }
19
+ }
20
+ export var NrFeatures;
21
+ (function (NrFeatures) {
22
+ NrFeatures["JSERRORS"] = "js-errors";
23
+ })(NrFeatures || (NrFeatures = {}));
24
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,SAAS;IAIlB,YAAmB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAH3B,aAAQ,GAAY,IAAI,CAAA;QACxB,UAAK,GAAY,IAAI,CAAA;IAEQ,CAAC;IAEtC,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,GAAY;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,GAAY;QACjB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAA;IACpB,CAAC;CACJ;AAuDD,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,oCAAoB,CAAA;AAIxB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
@@ -0,0 +1,10 @@
1
+ import { NrStoreError } from "../../types";
2
+ export declare class Api {
3
+ importedMethods: {
4
+ storeError: NrStoreError | null;
5
+ };
6
+ private _initialized;
7
+ private _parent;
8
+ constructor(parent: any);
9
+ noticeError(err: Error | String, customAttributes?: Object): void;
10
+ }