@mongodb-js/compass-logging 0.0.0-next-887a3dabb2b894331aec6aa894bc425e2dc591b5 → 0.0.0-next-c5eba7335c2da0b9754b4e52495c98f48ec15463
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -111
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +13 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +114 -0
- package/dist/logger.js.map +1 -0
- package/dist/react.d.ts +21 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +38 -0
- package/dist/react.js.map +1 -0
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
@@ -1,12 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
export declare function createLoggerAndTelemetry(component: string): {
|
6
|
-
log: ReturnType<MongoLogWriter['bindComponent']>;
|
7
|
-
mongoLogId: typeof mongoLogId;
|
8
|
-
debug: ReturnType<typeof createDebug>;
|
9
|
-
track: TrackFunction;
|
10
|
-
};
|
11
|
-
export default createLoggerAndTelemetry;
|
1
|
+
export { createLoggerAndTelemetry } from './logger';
|
2
|
+
export { createLoggerAndTelemetry as default } from './logger';
|
3
|
+
export type { LoggerAndTelemetry } from './logger';
|
4
|
+
export { useLoggerAndTelemetry, useTrackOnChange, withLoggerAndTelemetry, } from './react';
|
12
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
@@ -1,114 +1,12 @@
|
|
1
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
-
};
|
28
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.createLoggerAndTelemetry = void 0;
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
process.emit(event, data);
|
39
|
-
}
|
40
|
-
}
|
41
|
-
function createLoggerAndTelemetry(component) {
|
42
|
-
const ipc = is_electron_renderer_1.default
|
43
|
-
? require('hadron-ipc')
|
44
|
-
: null;
|
45
|
-
const target = {
|
46
|
-
write(line, callback) {
|
47
|
-
emit(ipc, 'compass:log', { line });
|
48
|
-
callback();
|
49
|
-
},
|
50
|
-
end(callback) {
|
51
|
-
callback();
|
52
|
-
},
|
53
|
-
};
|
54
|
-
const writer = new mongodb_log_writer_1.MongoLogWriter('', null, target);
|
55
|
-
const track = (...args) => {
|
56
|
-
void Promise.resolve()
|
57
|
-
.then(() => trackAsync(...args))
|
58
|
-
.catch((error) => debug('track failed', error));
|
59
|
-
};
|
60
|
-
const trackAsync = async (event, properties = {}) => {
|
61
|
-
try {
|
62
|
-
preferences !== null && preferences !== void 0 ? preferences : (preferences = (await Promise.resolve().then(() => __importStar(require('compass-preferences-model'))))
|
63
|
-
.preferencesAccess);
|
64
|
-
}
|
65
|
-
catch (_a) {
|
66
|
-
preferences !== null && preferences !== void 0 ? preferences : (preferences = {
|
67
|
-
getPreferences() {
|
68
|
-
return { trackUsageStatistics: true };
|
69
|
-
},
|
70
|
-
});
|
71
|
-
}
|
72
|
-
const { trackUsageStatistics = true } = preferences === null || preferences === void 0 ? void 0 : preferences.getPreferences();
|
73
|
-
if (!trackUsageStatistics) {
|
74
|
-
return;
|
75
|
-
}
|
76
|
-
const data = {
|
77
|
-
event,
|
78
|
-
properties,
|
79
|
-
};
|
80
|
-
if (typeof properties === 'function') {
|
81
|
-
try {
|
82
|
-
data.properties = await properties();
|
83
|
-
}
|
84
|
-
catch (error) {
|
85
|
-
emit(ipc, 'compass:track', {
|
86
|
-
event: 'Error Fetching Attributes',
|
87
|
-
properties: {
|
88
|
-
event_name: event,
|
89
|
-
},
|
90
|
-
});
|
91
|
-
return;
|
92
|
-
}
|
93
|
-
}
|
94
|
-
emit(ipc, 'compass:track', data);
|
95
|
-
};
|
96
|
-
const debug = (0, debug_1.default)(`mongodb-compass:${component.toLowerCase()}`);
|
97
|
-
writer.on('log', ({ s, ctx, msg, attr }) => {
|
98
|
-
if (attr) {
|
99
|
-
debug(msg, { s, ctx, ...attr });
|
100
|
-
}
|
101
|
-
else {
|
102
|
-
debug(msg, { s, ctx });
|
103
|
-
}
|
104
|
-
});
|
105
|
-
return {
|
106
|
-
log: writer.bindComponent(component),
|
107
|
-
mongoLogId: mongodb_log_writer_1.mongoLogId,
|
108
|
-
debug,
|
109
|
-
track,
|
110
|
-
};
|
111
|
-
}
|
112
|
-
exports.createLoggerAndTelemetry = createLoggerAndTelemetry;
|
113
|
-
exports.default = createLoggerAndTelemetry;
|
3
|
+
exports.withLoggerAndTelemetry = exports.useTrackOnChange = exports.useLoggerAndTelemetry = exports.default = exports.createLoggerAndTelemetry = void 0;
|
4
|
+
var logger_1 = require("./logger");
|
5
|
+
Object.defineProperty(exports, "createLoggerAndTelemetry", { enumerable: true, get: function () { return logger_1.createLoggerAndTelemetry; } });
|
6
|
+
var logger_2 = require("./logger");
|
7
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return logger_2.createLoggerAndTelemetry; } });
|
8
|
+
var react_1 = require("./react");
|
9
|
+
Object.defineProperty(exports, "useLoggerAndTelemetry", { enumerable: true, get: function () { return react_1.useLoggerAndTelemetry; } });
|
10
|
+
Object.defineProperty(exports, "useTrackOnChange", { enumerable: true, get: function () { return react_1.useTrackOnChange; } });
|
11
|
+
Object.defineProperty(exports, "withLoggerAndTelemetry", { enumerable: true, get: function () { return react_1.withLoggerAndTelemetry; } });
|
114
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAA3C,kHAAA,wBAAwB,OAAA;AACjC,mCAA+D;AAAtD,iGAAA,wBAAwB,OAAW;AAE5C,iCAIiB;AAHf,8GAAA,qBAAqB,OAAA;AACrB,yGAAA,gBAAgB,OAAA;AAChB,+GAAA,sBAAsB,OAAA"}
|
package/dist/logger.d.ts
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
import { MongoLogWriter, mongoLogId } from 'mongodb-log-writer';
|
2
|
+
import createDebug from 'debug';
|
3
|
+
declare type TrackProps = Record<string, any> | (() => Record<string, any>);
|
4
|
+
declare type TrackFunction = (event: string, properties?: TrackProps) => void;
|
5
|
+
export declare type LoggerAndTelemetry = {
|
6
|
+
log: ReturnType<MongoLogWriter['bindComponent']>;
|
7
|
+
mongoLogId: typeof mongoLogId;
|
8
|
+
debug: ReturnType<typeof createDebug>;
|
9
|
+
track: TrackFunction;
|
10
|
+
};
|
11
|
+
export declare function createLoggerAndTelemetry(component: string): LoggerAndTelemetry;
|
12
|
+
export default createLoggerAndTelemetry;
|
13
|
+
//# sourceMappingURL=logger.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,WAAW,MAAM,OAAO,CAAC;AAQhC,aAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AACpE,aAAK,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;AAetE,oBAAY,kBAAkB,GAAG;IAC/B,GAAG,EAAE,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IACjD,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IACtC,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,GAChB,kBAAkB,CA0FpB;AAED,eAAe,wBAAwB,CAAC"}
|
package/dist/logger.js
ADDED
@@ -0,0 +1,114 @@
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
exports.createLoggerAndTelemetry = void 0;
|
30
|
+
const mongodb_log_writer_1 = require("mongodb-log-writer");
|
31
|
+
const is_electron_renderer_1 = __importDefault(require("is-electron-renderer"));
|
32
|
+
const debug_1 = __importDefault(require("debug"));
|
33
|
+
let preferences;
|
34
|
+
function emit(ipc, event, data) {
|
35
|
+
var _a;
|
36
|
+
void ((_a = ipc === null || ipc === void 0 ? void 0 : ipc.callQuiet) === null || _a === void 0 ? void 0 : _a.call(ipc, event, data));
|
37
|
+
if (typeof process !== 'undefined' && typeof process.emit === 'function') {
|
38
|
+
process.emit(event, data);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
function createLoggerAndTelemetry(component) {
|
42
|
+
const ipc = is_electron_renderer_1.default
|
43
|
+
? require('hadron-ipc')
|
44
|
+
: null;
|
45
|
+
const target = {
|
46
|
+
write(line, callback) {
|
47
|
+
emit(ipc, 'compass:log', { line });
|
48
|
+
callback();
|
49
|
+
},
|
50
|
+
end(callback) {
|
51
|
+
callback();
|
52
|
+
},
|
53
|
+
};
|
54
|
+
const writer = new mongodb_log_writer_1.MongoLogWriter('', null, target);
|
55
|
+
const track = (...args) => {
|
56
|
+
void Promise.resolve()
|
57
|
+
.then(() => trackAsync(...args))
|
58
|
+
.catch((error) => debug('track failed', error));
|
59
|
+
};
|
60
|
+
const trackAsync = async (event, properties = {}) => {
|
61
|
+
try {
|
62
|
+
preferences !== null && preferences !== void 0 ? preferences : (preferences = (await Promise.resolve().then(() => __importStar(require('compass-preferences-model'))))
|
63
|
+
.preferencesAccess);
|
64
|
+
}
|
65
|
+
catch (_a) {
|
66
|
+
preferences !== null && preferences !== void 0 ? preferences : (preferences = {
|
67
|
+
getPreferences() {
|
68
|
+
return { trackUsageStatistics: true };
|
69
|
+
},
|
70
|
+
});
|
71
|
+
}
|
72
|
+
const { trackUsageStatistics = true } = preferences === null || preferences === void 0 ? void 0 : preferences.getPreferences();
|
73
|
+
if (!trackUsageStatistics) {
|
74
|
+
return;
|
75
|
+
}
|
76
|
+
const data = {
|
77
|
+
event,
|
78
|
+
properties,
|
79
|
+
};
|
80
|
+
if (typeof properties === 'function') {
|
81
|
+
try {
|
82
|
+
data.properties = await properties();
|
83
|
+
}
|
84
|
+
catch (error) {
|
85
|
+
emit(ipc, 'compass:track', {
|
86
|
+
event: 'Error Fetching Attributes',
|
87
|
+
properties: {
|
88
|
+
event_name: event,
|
89
|
+
},
|
90
|
+
});
|
91
|
+
return;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
emit(ipc, 'compass:track', data);
|
95
|
+
};
|
96
|
+
const debug = (0, debug_1.default)(`mongodb-compass:${component.toLowerCase()}`);
|
97
|
+
writer.on('log', ({ s, ctx, msg, attr }) => {
|
98
|
+
if (attr) {
|
99
|
+
debug(msg, { s, ctx, ...attr });
|
100
|
+
}
|
101
|
+
else {
|
102
|
+
debug(msg, { s, ctx });
|
103
|
+
}
|
104
|
+
});
|
105
|
+
return {
|
106
|
+
log: writer.bindComponent(component),
|
107
|
+
mongoLogId: mongodb_log_writer_1.mongoLogId,
|
108
|
+
debug,
|
109
|
+
track,
|
110
|
+
};
|
111
|
+
}
|
112
|
+
exports.createLoggerAndTelemetry = createLoggerAndTelemetry;
|
113
|
+
exports.default = createLoggerAndTelemetry;
|
114
|
+
//# sourceMappingURL=logger.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/react.d.ts
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
import type { LoggerAndTelemetry } from './logger';
|
2
|
+
export declare function useLoggerAndTelemetry(component: string, React: {
|
3
|
+
useRef: any;
|
4
|
+
}): LoggerAndTelemetry;
|
5
|
+
export declare function useTrackOnChange(component: string, onChange: (track: LoggerAndTelemetry['track']) => void, dependencies: unknown[], options: {
|
6
|
+
skipOnMount: boolean;
|
7
|
+
} | undefined, React: {
|
8
|
+
useRef: any;
|
9
|
+
useEffect: any;
|
10
|
+
}): void;
|
11
|
+
declare type ComponentProps<T> = T extends (props: infer P) => any ? P : T extends {
|
12
|
+
new (props: infer P): any;
|
13
|
+
} ? P : never;
|
14
|
+
declare type ComponentReturnType<T> = T extends (...args: any[]) => infer R ? R : T extends {
|
15
|
+
new (...args: any[]): {
|
16
|
+
render(...args: any[]): infer R;
|
17
|
+
};
|
18
|
+
} ? R : never;
|
19
|
+
export declare function withLoggerAndTelemetry<T = any>(ReactComponent: T, component: string, React: any): (props: Omit<ComponentProps<T>, 'logger'>) => ComponentReturnType<T>;
|
20
|
+
export {};
|
21
|
+
//# sourceMappingURL=react.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GACrB,kBAAkB,CAMpB;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAI,EACtD,YAAY,EAAE,OAAO,EAAE,EACvB,OAAO;iBAAiB,OAAO;aAA2B,EAC1D,KAAK,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,GAAG,CAAA;CAAE,QAavC;AAED,aAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,GACtD,CAAC,GACD,CAAC,SAAS;IAAE,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAA;CAAE,GACvC,CAAC,GACD,KAAK,CAAC;AAEV,aAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAC/D,CAAC,GACD,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG;QAAE,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GACvE,CAAC,GACD,KAAK,CAAC;AAEV,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAC5C,cAAc,EAAE,CAAC,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,GAAG,WAGD,KAAK,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,KACvC,oBAAoB,CAAC,CAAC,CAK1B"}
|
package/dist/react.js
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.withLoggerAndTelemetry = exports.useTrackOnChange = exports.useLoggerAndTelemetry = void 0;
|
7
|
+
const logger_1 = __importDefault(require("./logger"));
|
8
|
+
function useLoggerAndTelemetry(component, React) {
|
9
|
+
const loggerRef = React.useRef();
|
10
|
+
if (!loggerRef.current) {
|
11
|
+
loggerRef.current = (0, logger_1.default)(component);
|
12
|
+
}
|
13
|
+
return loggerRef.current;
|
14
|
+
}
|
15
|
+
exports.useLoggerAndTelemetry = useLoggerAndTelemetry;
|
16
|
+
function useTrackOnChange(component, onChange, dependencies, options = { skipOnMount: false }, React) {
|
17
|
+
const onChangeRef = React.useRef(onChange);
|
18
|
+
onChangeRef.current = onChange;
|
19
|
+
const { track } = useLoggerAndTelemetry(component, React);
|
20
|
+
let initial = true;
|
21
|
+
React.useEffect(() => {
|
22
|
+
if (options.skipOnMount && initial) {
|
23
|
+
initial = false;
|
24
|
+
return;
|
25
|
+
}
|
26
|
+
onChangeRef.current(track);
|
27
|
+
}, [...dependencies, track]);
|
28
|
+
}
|
29
|
+
exports.useTrackOnChange = useTrackOnChange;
|
30
|
+
function withLoggerAndTelemetry(ReactComponent, component, React) {
|
31
|
+
const WithLoggerAndTelemetry = (props) => {
|
32
|
+
const logger = useLoggerAndTelemetry(component, React);
|
33
|
+
return React.createElement(ReactComponent, { ...props, logger });
|
34
|
+
};
|
35
|
+
return WithLoggerAndTelemetry;
|
36
|
+
}
|
37
|
+
exports.withLoggerAndTelemetry = withLoggerAndTelemetry;
|
38
|
+
//# sourceMappingURL=react.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAgD;AAGhD,SAAgB,qBAAqB,CACnC,SAAiB,EACjB,KAAsB;IAEtB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;QACtB,SAAS,CAAC,OAAO,GAAG,IAAA,gBAAwB,EAAC,SAAS,CAAC,CAAC;KACzD;IACD,OAAO,SAAS,CAAC,OAA6B,CAAC;AACjD,CAAC;AATD,sDASC;AAED,SAAgB,gBAAgB,CAC9B,SAAiB,EACjB,QAAsD,EACtD,YAAuB,EACvB,UAAoC,EAAE,WAAW,EAAE,KAAK,EAAE,EAC1D,KAAsC;IAEtC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,EAAE;YAClC,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO;SACR;QACD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/B,CAAC;AAlBD,4CAkBC;AAcD,SAAgB,sBAAsB,CACpC,cAAiB,EACjB,SAAiB,EACjB,KAAU;IAEV,MAAM,sBAAsB,GAAG,CAC7B,KAAwC,EAChB,EAAE;QAC1B,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAZD,wDAYC"}
|
package/package.json
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
"email": "compass@mongodb.com"
|
14
14
|
},
|
15
15
|
"homepage": "https://github.com/mongodb-js/compass",
|
16
|
-
"version": "0.0.0-next-
|
16
|
+
"version": "0.0.0-next-c5eba7335c2da0b9754b4e52495c98f48ec15463",
|
17
17
|
"repository": {
|
18
18
|
"type": "git",
|
19
19
|
"url": "https://github.com/mongodb-js/compass.git"
|
@@ -53,17 +53,17 @@
|
|
53
53
|
"mongodb-log-writer": "^1.1.5"
|
54
54
|
},
|
55
55
|
"devDependencies": {
|
56
|
-
"@mongodb-js/eslint-config-compass": "0.0.0-next-
|
57
|
-
"@mongodb-js/mocha-config-compass": "0.0.0-next-
|
58
|
-
"@mongodb-js/prettier-config-compass": "0.0.0-next-
|
59
|
-
"@mongodb-js/tsconfig-compass": "0.0.0-next-
|
56
|
+
"@mongodb-js/eslint-config-compass": "0.0.0-next-c5eba7335c2da0b9754b4e52495c98f48ec15463",
|
57
|
+
"@mongodb-js/mocha-config-compass": "0.0.0-next-c5eba7335c2da0b9754b4e52495c98f48ec15463",
|
58
|
+
"@mongodb-js/prettier-config-compass": "0.0.0-next-c5eba7335c2da0b9754b4e52495c98f48ec15463",
|
59
|
+
"@mongodb-js/tsconfig-compass": "0.0.0-next-c5eba7335c2da0b9754b4e52495c98f48ec15463",
|
60
60
|
"@types/chai": "^4.2.21",
|
61
61
|
"@types/mocha": "^9.0.0",
|
62
62
|
"@types/sinon-chai": "^3.2.5",
|
63
63
|
"chai": "^4.3.4",
|
64
64
|
"depcheck": "^1.4.1",
|
65
65
|
"eslint": "^7.25.0",
|
66
|
-
"hadron-ipc": "0.0.0-next-
|
66
|
+
"hadron-ipc": "0.0.0-next-c5eba7335c2da0b9754b4e52495c98f48ec15463",
|
67
67
|
"mocha": "^8.4.0",
|
68
68
|
"nyc": "^15.1.0",
|
69
69
|
"prettier": "^2.7.1",
|
@@ -73,5 +73,5 @@
|
|
73
73
|
"optionalPeerDependencies": {
|
74
74
|
"compass-preferences-model": "^2.0.0"
|
75
75
|
},
|
76
|
-
"gitHead": "
|
76
|
+
"gitHead": "c5eba7335c2da0b9754b4e52495c98f48ec15463"
|
77
77
|
}
|