@grafana/faro-core 1.0.0-beta3 → 1.0.0-beta4
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/README.md +9 -8
- package/dist/bundle/faro-core.iife.js +1 -0
- package/dist/cjs/utils/deepEqual.js +58 -5
- package/dist/cjs/utils/deepEqual.js.map +1 -1
- package/dist/cjs/version.js +2 -2
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/utils/deepEqual.js +55 -2
- package/dist/esm/utils/deepEqual.js.map +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/esm/version.js.map +1 -1
- package/dist/{cjs → types}/api/events/index.d.ts +0 -0
- package/dist/{cjs → types}/api/events/initialize.d.ts +0 -0
- package/dist/{cjs → types}/api/events/types.d.ts +0 -0
- package/dist/{cjs → types}/api/exceptions/const.d.ts +0 -0
- package/dist/{cjs → types}/api/exceptions/index.d.ts +0 -0
- package/dist/{cjs → types}/api/exceptions/initialize.d.ts +0 -0
- package/dist/{cjs → types}/api/exceptions/types.d.ts +0 -0
- package/dist/{cjs → types}/api/index.d.ts +0 -0
- package/dist/{cjs → types}/api/initialize.d.ts +0 -0
- package/dist/{cjs → types}/api/logs/index.d.ts +0 -0
- package/dist/{cjs → types}/api/logs/initialize.d.ts +0 -0
- package/dist/{cjs → types}/api/logs/types.d.ts +0 -0
- package/dist/{cjs → types}/api/measurements/index.d.ts +0 -0
- package/dist/{cjs → types}/api/measurements/initialize.d.ts +0 -0
- package/dist/{cjs → types}/api/measurements/types.d.ts +0 -0
- package/dist/{cjs → types}/api/meta/index.d.ts +0 -0
- package/dist/{cjs → types}/api/meta/initialize.d.ts +0 -0
- package/dist/{cjs → types}/api/meta/types.d.ts +0 -0
- package/dist/{cjs → types}/api/traces/index.d.ts +0 -0
- package/dist/{cjs → types}/api/traces/initialize.d.ts +0 -0
- package/dist/{cjs → types}/api/traces/types.d.ts +0 -0
- package/dist/{cjs → types}/api/types.d.ts +0 -0
- package/dist/{cjs → types}/config/const.d.ts +0 -0
- package/dist/{cjs → types}/config/index.d.ts +0 -0
- package/dist/{cjs → types}/config/types.d.ts +0 -0
- package/dist/{cjs → types}/globalObject/globalObject.d.ts +0 -0
- package/dist/{cjs → types}/globalObject/index.d.ts +0 -0
- package/dist/{cjs → types}/index.d.ts +0 -0
- package/dist/{cjs → types}/initialize.d.ts +0 -0
- package/dist/{cjs → types}/instrumentations/base.d.ts +0 -0
- package/dist/{cjs → types}/instrumentations/index.d.ts +0 -0
- package/dist/{cjs → types}/instrumentations/initialize.d.ts +0 -0
- package/dist/{cjs → types}/instrumentations/types.d.ts +0 -0
- package/dist/{cjs → types}/internalLogger/const.d.ts +0 -0
- package/dist/{cjs → types}/internalLogger/createInternalLogger.d.ts +0 -0
- package/dist/{cjs → types}/internalLogger/index.d.ts +0 -0
- package/dist/{cjs → types}/internalLogger/initialize.d.ts +0 -0
- package/dist/{cjs → types}/internalLogger/types.d.ts +0 -0
- package/dist/{cjs → types}/metas/index.d.ts +0 -0
- package/dist/{cjs → types}/metas/initialize.d.ts +0 -0
- package/dist/{cjs → types}/metas/types.d.ts +0 -0
- package/dist/{cjs → types}/sdk/const.d.ts +0 -0
- package/dist/{cjs → types}/sdk/faroGlobalObject.d.ts +0 -0
- package/dist/{cjs → types}/sdk/index.d.ts +0 -0
- package/dist/{cjs → types}/sdk/internalFaroGlobalObject.d.ts +0 -0
- package/dist/{cjs → types}/sdk/register.d.ts +0 -0
- package/dist/{cjs → types}/sdk/types.d.ts +0 -0
- package/dist/{cjs → types}/semantic.d.ts +0 -0
- package/dist/{cjs → types}/testUtils/index.d.ts +0 -0
- package/dist/{cjs → types}/testUtils/mockConfig.d.ts +0 -0
- package/dist/{cjs → types}/testUtils/mockInternalLogger.d.ts +0 -0
- package/dist/{cjs → types}/testUtils/mockStacktraceParser.d.ts +0 -0
- package/dist/{cjs → types}/testUtils/mockTransport.d.ts +1 -1
- package/dist/{cjs → types}/testUtils/testPromise.d.ts +0 -0
- package/dist/{cjs → types}/transports/base.d.ts +0 -0
- package/dist/{cjs → types}/transports/const.d.ts +0 -0
- package/dist/{cjs → types}/transports/index.d.ts +0 -0
- package/dist/{cjs → types}/transports/initialize.d.ts +0 -0
- package/dist/{cjs → types}/transports/types.d.ts +0 -0
- package/dist/{cjs → types}/transports/utils.d.ts +0 -0
- package/dist/{cjs → types}/unpatchedConsole/const.d.ts +0 -0
- package/dist/{cjs → types}/unpatchedConsole/index.d.ts +0 -0
- package/dist/{cjs → types}/unpatchedConsole/initialize.d.ts +0 -0
- package/dist/{cjs → types}/unpatchedConsole/types.d.ts +0 -0
- package/dist/{cjs → types}/utils/baseObject.d.ts +0 -0
- package/dist/types/utils/deepEqual.d.ts +1 -0
- package/dist/{cjs → types}/utils/extensions.d.ts +0 -0
- package/dist/{cjs → types}/utils/getCurrentTimestamp.d.ts +0 -0
- package/dist/{cjs → types}/utils/index.d.ts +0 -0
- package/dist/{cjs → types}/utils/is.d.ts +0 -0
- package/dist/{cjs → types}/utils/logLevels.d.ts +0 -0
- package/dist/{cjs → types}/utils/noop.d.ts +0 -0
- package/dist/{cjs → types}/utils/promiseBuffer.d.ts +0 -0
- package/dist/{cjs → types}/utils/shortId.d.ts +0 -0
- package/dist/types/version.d.ts +1 -0
- package/package.json +20 -14
- package/dist/cjs/api/events/initialize.test.d.ts +0 -1
- package/dist/cjs/api/events/initialize.test.js +0 -92
- package/dist/cjs/api/events/initialize.test.js.map +0 -1
- package/dist/cjs/api/exceptions/initialize.test.d.ts +0 -1
- package/dist/cjs/api/exceptions/initialize.test.js +0 -138
- package/dist/cjs/api/exceptions/initialize.test.js.map +0 -1
- package/dist/cjs/api/logs/initialize.test.d.ts +0 -1
- package/dist/cjs/api/logs/initialize.test.js +0 -88
- package/dist/cjs/api/logs/initialize.test.js.map +0 -1
- package/dist/cjs/api/measurements/initialize.test.d.ts +0 -1
- package/dist/cjs/api/measurements/initialize.test.js +0 -123
- package/dist/cjs/api/measurements/initialize.test.js.map +0 -1
- package/dist/cjs/faro.test.d.ts +0 -1
- package/dist/cjs/faro.test.js +0 -42
- package/dist/cjs/faro.test.js.map +0 -1
- package/dist/cjs/metas/initialize.test.d.ts +0 -1
- package/dist/cjs/metas/initialize.test.js +0 -21
- package/dist/cjs/metas/initialize.test.js.map +0 -1
- package/dist/cjs/transports/transports.test.d.ts +0 -1
- package/dist/cjs/transports/transports.test.js +0 -141
- package/dist/cjs/transports/transports.test.js.map +0 -1
- package/dist/cjs/utils/deepEqual.d.ts +0 -2
- package/dist/cjs/utils/promiseBuffer.test.d.ts +0 -1
- package/dist/cjs/utils/promiseBuffer.test.js +0 -146
- package/dist/cjs/utils/promiseBuffer.test.js.map +0 -1
- package/dist/cjs/version.d.ts +0 -1
- package/dist/esm/api/events/index.d.ts +0 -2
- package/dist/esm/api/events/initialize.d.ts +0 -7
- package/dist/esm/api/events/initialize.test.d.ts +0 -1
- package/dist/esm/api/events/initialize.test.js +0 -87
- package/dist/esm/api/events/initialize.test.js.map +0 -1
- package/dist/esm/api/events/types.d.ts +0 -15
- package/dist/esm/api/exceptions/const.d.ts +0 -1
- package/dist/esm/api/exceptions/index.d.ts +0 -3
- package/dist/esm/api/exceptions/initialize.d.ts +0 -7
- package/dist/esm/api/exceptions/initialize.test.d.ts +0 -1
- package/dist/esm/api/exceptions/initialize.test.js +0 -133
- package/dist/esm/api/exceptions/initialize.test.js.map +0 -1
- package/dist/esm/api/exceptions/types.d.ts +0 -32
- package/dist/esm/api/index.d.ts +0 -9
- package/dist/esm/api/initialize.d.ts +0 -6
- package/dist/esm/api/logs/index.d.ts +0 -2
- package/dist/esm/api/logs/initialize.d.ts +0 -7
- package/dist/esm/api/logs/initialize.test.d.ts +0 -1
- package/dist/esm/api/logs/initialize.test.js +0 -83
- package/dist/esm/api/logs/initialize.test.js.map +0 -1
- package/dist/esm/api/logs/types.d.ts +0 -18
- package/dist/esm/api/measurements/index.d.ts +0 -2
- package/dist/esm/api/measurements/initialize.d.ts +0 -7
- package/dist/esm/api/measurements/initialize.test.d.ts +0 -1
- package/dist/esm/api/measurements/initialize.test.js +0 -107
- package/dist/esm/api/measurements/initialize.test.js.map +0 -1
- package/dist/esm/api/measurements/types.d.ts +0 -16
- package/dist/esm/api/meta/index.d.ts +0 -2
- package/dist/esm/api/meta/initialize.d.ts +0 -6
- package/dist/esm/api/meta/types.d.ts +0 -8
- package/dist/esm/api/traces/index.d.ts +0 -2
- package/dist/esm/api/traces/initialize.d.ts +0 -6
- package/dist/esm/api/traces/types.d.ts +0 -20
- package/dist/esm/api/types.d.ts +0 -8
- package/dist/esm/config/const.d.ts +0 -1
- package/dist/esm/config/index.d.ts +0 -2
- package/dist/esm/config/types.d.ts +0 -26
- package/dist/esm/faro.test.d.ts +0 -1
- package/dist/esm/faro.test.js +0 -40
- package/dist/esm/faro.test.js.map +0 -1
- package/dist/esm/globalObject/globalObject.d.ts +0 -7
- package/dist/esm/globalObject/index.d.ts +0 -2
- package/dist/esm/index.d.ts +0 -22
- package/dist/esm/initialize.d.ts +0 -3
- package/dist/esm/instrumentations/base.d.ts +0 -5
- package/dist/esm/instrumentations/index.d.ts +0 -3
- package/dist/esm/instrumentations/initialize.d.ts +0 -4
- package/dist/esm/instrumentations/types.d.ts +0 -10
- package/dist/esm/internalLogger/const.d.ts +0 -11
- package/dist/esm/internalLogger/createInternalLogger.d.ts +0 -4
- package/dist/esm/internalLogger/index.d.ts +0 -4
- package/dist/esm/internalLogger/initialize.d.ts +0 -5
- package/dist/esm/internalLogger/types.d.ts +0 -7
- package/dist/esm/metas/index.d.ts +0 -2
- package/dist/esm/metas/initialize.d.ts +0 -4
- package/dist/esm/metas/initialize.test.d.ts +0 -1
- package/dist/esm/metas/initialize.test.js +0 -19
- package/dist/esm/metas/initialize.test.js.map +0 -1
- package/dist/esm/metas/types.d.ts +0 -56
- package/dist/esm/sdk/const.d.ts +0 -1
- package/dist/esm/sdk/faroGlobalObject.d.ts +0 -2
- package/dist/esm/sdk/index.d.ts +0 -4
- package/dist/esm/sdk/internalFaroGlobalObject.d.ts +0 -4
- package/dist/esm/sdk/register.d.ts +0 -4
- package/dist/esm/sdk/types.d.ts +0 -18
- package/dist/esm/semantic.d.ts +0 -7
- package/dist/esm/testUtils/index.d.ts +0 -6
- package/dist/esm/testUtils/mockConfig.d.ts +0 -2
- package/dist/esm/testUtils/mockInternalLogger.d.ts +0 -2
- package/dist/esm/testUtils/mockStacktraceParser.d.ts +0 -2
- package/dist/esm/testUtils/mockTransport.d.ts +0 -12
- package/dist/esm/testUtils/testPromise.d.ts +0 -7
- package/dist/esm/transports/base.d.ts +0 -6
- package/dist/esm/transports/const.d.ts +0 -8
- package/dist/esm/transports/index.d.ts +0 -5
- package/dist/esm/transports/initialize.d.ts +0 -6
- package/dist/esm/transports/transports.test.d.ts +0 -1
- package/dist/esm/transports/transports.test.js +0 -110
- package/dist/esm/transports/transports.test.js.map +0 -1
- package/dist/esm/transports/types.d.ts +0 -37
- package/dist/esm/transports/utils.d.ts +0 -2
- package/dist/esm/unpatchedConsole/const.d.ts +0 -2
- package/dist/esm/unpatchedConsole/index.d.ts +0 -3
- package/dist/esm/unpatchedConsole/initialize.d.ts +0 -4
- package/dist/esm/unpatchedConsole/types.d.ts +0 -1
- package/dist/esm/utils/baseObject.d.ts +0 -6
- package/dist/esm/utils/deepEqual.d.ts +0 -2
- package/dist/esm/utils/extensions.d.ts +0 -19
- package/dist/esm/utils/getCurrentTimestamp.d.ts +0 -1
- package/dist/esm/utils/index.d.ts +0 -12
- package/dist/esm/utils/is.d.ts +0 -31
- package/dist/esm/utils/logLevels.d.ts +0 -10
- package/dist/esm/utils/noop.d.ts +0 -1
- package/dist/esm/utils/promiseBuffer.d.ts +0 -14
- package/dist/esm/utils/promiseBuffer.test.d.ts +0 -1
- package/dist/esm/utils/promiseBuffer.test.js +0 -87
- package/dist/esm/utils/promiseBuffer.test.js.map +0 -1
- package/dist/esm/utils/shortId.d.ts +0 -1
- package/dist/esm/version.d.ts +0 -1
|
@@ -1,87 +0,0 @@
|
|
|
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 { createTestPromise } from '../testUtils';
|
|
11
|
-
import { createPromiseBuffer } from './promiseBuffer';
|
|
12
|
-
function defer(fn) {
|
|
13
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
-
return new Promise((resolve) => {
|
|
15
|
-
setImmediate(() => {
|
|
16
|
-
fn();
|
|
17
|
-
resolve();
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
describe('PromiseBuffer', () => {
|
|
23
|
-
it('add() new promise that resolves when task is completed', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
-
const buf = createPromiseBuffer({ size: 2, concurrency: 2 });
|
|
25
|
-
expect(yield buf.add(() => Promise.resolve('hi'))).toEqual('hi');
|
|
26
|
-
}));
|
|
27
|
-
it('executes tasks concurrently, limited to concurrency setting', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
-
var _a, _b, _c, _d;
|
|
29
|
-
const promises = [];
|
|
30
|
-
const buf = createPromiseBuffer({
|
|
31
|
-
size: 10,
|
|
32
|
-
concurrency: 2,
|
|
33
|
-
});
|
|
34
|
-
const addTask = (id) => {
|
|
35
|
-
return buf.add(() => {
|
|
36
|
-
const prom = createTestPromise(id);
|
|
37
|
-
promises.push(prom);
|
|
38
|
-
return prom.promise;
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
addTask(1);
|
|
42
|
-
addTask(2);
|
|
43
|
-
addTask(3);
|
|
44
|
-
// 1 & 2 have started to execute. 3d is not started
|
|
45
|
-
expect(promises).toHaveLength(2);
|
|
46
|
-
expect((_a = promises[0]) === null || _a === void 0 ? void 0 : _a.id).toEqual(1);
|
|
47
|
-
expect((_b = promises[1]) === null || _b === void 0 ? void 0 : _b.id).toEqual(2);
|
|
48
|
-
// resolve first two
|
|
49
|
-
(_c = promises[0]) === null || _c === void 0 ? void 0 : _c.resolve();
|
|
50
|
-
(_d = promises[1]) === null || _d === void 0 ? void 0 : _d.resolve();
|
|
51
|
-
yield defer(() => {
|
|
52
|
-
var _a, _b;
|
|
53
|
-
// 3 has started to be executed
|
|
54
|
-
expect(promises).toHaveLength(3);
|
|
55
|
-
expect((_a = promises[2]) === null || _a === void 0 ? void 0 : _a.id).toEqual(3);
|
|
56
|
-
(_b = promises[2]) === null || _b === void 0 ? void 0 : _b.resolve();
|
|
57
|
-
});
|
|
58
|
-
}));
|
|
59
|
-
it('rejects tasks that exceed buffer size', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
-
var _e;
|
|
61
|
-
const promises = [];
|
|
62
|
-
const buf = createPromiseBuffer({
|
|
63
|
-
size: 3,
|
|
64
|
-
concurrency: 2,
|
|
65
|
-
});
|
|
66
|
-
const addTask = (id) => {
|
|
67
|
-
return buf.add(() => {
|
|
68
|
-
const prom = createTestPromise(id);
|
|
69
|
-
promises.push(prom);
|
|
70
|
-
return prom.promise;
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
// adding 3 tasks works, 2 of them begin executing
|
|
74
|
-
addTask(1);
|
|
75
|
-
addTask(2);
|
|
76
|
-
addTask(3);
|
|
77
|
-
expect(promises).toHaveLength(2);
|
|
78
|
-
// adding 4th task fails
|
|
79
|
-
expect(() => addTask(4)).toThrow('Task buffer full');
|
|
80
|
-
// finishing a task allows new tasks to be added again
|
|
81
|
-
(_e = promises[0]) === null || _e === void 0 ? void 0 : _e.resolve();
|
|
82
|
-
yield defer(() => {
|
|
83
|
-
addTask(4);
|
|
84
|
-
});
|
|
85
|
-
}));
|
|
86
|
-
});
|
|
87
|
-
//# sourceMappingURL=promiseBuffer.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promiseBuffer.test.js","sourceRoot":"","sources":["../../../src/utils/promiseBuffer.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { createTestPromise, TestPromise } from '../testUtils';\nimport { createPromiseBuffer } from './promiseBuffer';\n\nasync function defer(fn: () => void) {\n return new Promise<void>((resolve) => {\n setImmediate(() => {\n fn();\n resolve();\n });\n });\n}\n\ndescribe('PromiseBuffer', () => {\n it('add() new promise that resolves when task is completed', async () => {\n const buf = createPromiseBuffer({ size: 2, concurrency: 2 });\n expect(await buf.add(() => Promise.resolve('hi'))).toEqual('hi');\n });\n\n it('executes tasks concurrently, limited to concurrency setting', async () => {\n const promises: Array<TestPromise<void>> = [];\n const buf = createPromiseBuffer({\n size: 10,\n concurrency: 2,\n });\n\n const addTask = (id: number) => {\n return buf.add(() => {\n const prom = createTestPromise<void>(id);\n promises.push(prom);\n return prom.promise;\n });\n };\n\n addTask(1);\n addTask(2);\n addTask(3);\n\n // 1 & 2 have started to execute. 3d is not started\n expect(promises).toHaveLength(2);\n expect(promises[0]?.id).toEqual(1);\n expect(promises[1]?.id).toEqual(2);\n\n // resolve first two\n promises[0]?.resolve();\n promises[1]?.resolve();\n\n await defer(() => {\n // 3 has started to be executed\n expect(promises).toHaveLength(3);\n expect(promises[2]?.id).toEqual(3);\n promises[2]?.resolve();\n });\n });\n\n it('rejects tasks that exceed buffer size', async () => {\n const promises: Array<TestPromise<void>> = [];\n const buf = createPromiseBuffer({\n size: 3,\n concurrency: 2,\n });\n\n const addTask = (id: number) => {\n return buf.add(() => {\n const prom = createTestPromise<void>(id);\n promises.push(prom);\n return prom.promise;\n });\n };\n\n // adding 3 tasks works, 2 of them begin executing\n addTask(1);\n addTask(2);\n addTask(3);\n expect(promises).toHaveLength(2);\n // adding 4th task fails\n expect(() => addTask(4)).toThrow('Task buffer full');\n\n // finishing a task allows new tasks to be added again\n promises[0]?.resolve();\n\n await defer(() => {\n addTask(4);\n });\n });\n});\n\nexport {};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function genShortID(length?: number): string;
|
package/dist/esm/version.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const VERSION = "1.0.0-beta3";
|