slnodejs 6.1.1142 → 6.1.1147

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 (46) hide show
  1. package/package.json +1 -1
  2. package/tsOutputs/cli-parse/executors/nyc-report-executor.js +1 -2
  3. package/tsOutputs/cli-parse/executors/nyc-report-executor.js.map +1 -1
  4. package/tsOutputs/common/contracts.d.ts +1 -1
  5. package/tsOutputs/common/coverage-elements/original-module-loader.d.ts +1 -1
  6. package/tsOutputs/common/footprints-process-v6/collection-interval.js.map +1 -0
  7. package/tsOutputs/common/footprints-process-v6/index.js +1 -1
  8. package/tsOutputs/common/footprints-process-v6/index.js.map +1 -1
  9. package/tsOutputs/common/{footprints-process → footprints-process-v6}/istanbul-to-footprints-contract.d.ts +0 -7
  10. package/tsOutputs/common/footprints-process-v6/istanbul-to-footprints-contract.js +3 -0
  11. package/tsOutputs/common/footprints-process-v6/istanbul-to-footprints-contract.js.map +1 -0
  12. package/tsOutputs/common/sl-mapper-tokenizer.d.ts +21 -0
  13. package/tsOutputs/common/sl-mapper-tokenizer.js +12 -10
  14. package/tsOutputs/common/sl-mapper-tokenizer.js.map +1 -1
  15. package/tsOutputs/test-listener/agent.d.ts +1 -2
  16. package/tsOutputs/test-listener/agent.js.map +1 -1
  17. package/tsOutputs/test-listener/api.js +3 -7
  18. package/tsOutputs/test-listener/api.js.map +1 -1
  19. package/tsOutputs/test-listener/factory.d.ts +1 -6
  20. package/tsOutputs/test-listener/factory.js +1 -30
  21. package/tsOutputs/test-listener/factory.js.map +1 -1
  22. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js +1 -1
  23. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js.map +1 -1
  24. package/tsOutputs/test-listener/remote-agent.d.ts +1 -0
  25. package/tsOutputs/test-listener/remote-agent.js +7 -1
  26. package/tsOutputs/test-listener/remote-agent.js.map +1 -1
  27. package/tsOutputs/common/footprints-process/collection-interval.js.map +0 -1
  28. package/tsOutputs/common/footprints-process/footprints-service-proxy.d.ts +0 -13
  29. package/tsOutputs/common/footprints-process/footprints-service-proxy.js +0 -63
  30. package/tsOutputs/common/footprints-process/footprints-service-proxy.js.map +0 -1
  31. package/tsOutputs/common/footprints-process/index.d.ts +0 -72
  32. package/tsOutputs/common/footprints-process/index.js +0 -287
  33. package/tsOutputs/common/footprints-process/index.js.map +0 -1
  34. package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.js +0 -7
  35. package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.js.map +0 -1
  36. package/tsOutputs/common/footprints-process/istanbul-to-footprints.d.ts +0 -47
  37. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js +0 -426
  38. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js.map +0 -1
  39. package/tsOutputs/common/footprints-process/production-footprints-handler.d.ts +0 -55
  40. package/tsOutputs/common/footprints-process/production-footprints-handler.js +0 -278
  41. package/tsOutputs/common/footprints-process/production-footprints-handler.js.map +0 -1
  42. package/tsOutputs/common/messages-formatter.d.ts +0 -6
  43. package/tsOutputs/test-listener/nyc-report-executor.js +0 -108
  44. package/tsOutputs/test-listener/nyc-report-executor.js.map +0 -1
  45. /package/tsOutputs/common/{footprints-process → footprints-process-v6}/collection-interval.d.ts +0 -0
  46. /package/tsOutputs/common/{footprints-process → footprints-process-v6}/collection-interval.js +0 -0
@@ -1,426 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IstanbulToFootprints = void 0;
4
- const messages_formatter_1 = require("../messages-formatter");
5
- const original_module_loader_1 = require("../coverage-elements/original-module-loader");
6
- const source_maps_utils_1 = require("../source-maps-utils");
7
- const sl_env_vars_1 = require("../constants/sl-env-vars");
8
- const source_map_handler_1 = require("../source-map-handler");
9
- const new_id_resolver_1 = require("../coverage-elements/new-id-resolver");
10
- const GLOBAL_ISTANBUL_CONTAINER_NAMES = ['__coverage__'];
11
- class IstanbulToFootprints {
12
- constructor(cfg, logger) {
13
- this.cfg = cfg;
14
- this.totalTests = 0;
15
- this.previousIstanbulCounters = {};
16
- this.relativeModulePaths = {};
17
- if (!logger)
18
- throw new Error('logger is required');
19
- if (!cfg)
20
- throw new Error('cfg is required');
21
- this.logger = logger;
22
- }
23
- resetState() {
24
- this.totalTests = 0;
25
- //Holds the a mapping between a uniqueId for an element in a test, to an index in this elements 'hits' array.
26
- this.eidToHitsIndex = {};
27
- this.uniqueIdToElement = {};
28
- this.testNameToTestData = {};
29
- this.fileNameToAppFile = {};
30
- this.fileToSourceMapConsumer = {};
31
- }
32
- createFootprintsPackageFromQueue(queuedFootprints, extraData) {
33
- this.resetState();
34
- const result = this.createFootprintsAppData(extraData);
35
- const istanbulMaps = this.getIstanbulCounters();
36
- if (sl_env_vars_1.SlEnvVars.isUseNewUniqueId()) {
37
- this.loadOriginalModules();
38
- }
39
- queuedFootprints.forEach((fp) => {
40
- this.convertIstanbulDataToFootprints(fp, result, istanbulMaps);
41
- });
42
- return result;
43
- }
44
- createFootprintsPackageFromRawData(rawData, extraData) {
45
- this.resetState();
46
- this.nycFinalReportData = rawData.footprints;
47
- const result = this.createFootprintsAppData(extraData);
48
- if (sl_env_vars_1.SlEnvVars.isUseNewUniqueId()) {
49
- this.loadOriginalModules();
50
- }
51
- this.convertIstanbulDataToFootprints(rawData, result);
52
- return result;
53
- }
54
- convertIstanbulDataToFootprints(footprintsElement, result, istanbulMaps) {
55
- const test = this.getOrCreateTestData(footprintsElement, result);
56
- const app = result.apps[0]; // We assume single App for now.
57
- const fullIstanbulData = istanbulMaps || footprintsElement.footprints;
58
- for (const moduleName in footprintsElement.footprints) {
59
- let istanbulModule = footprintsElement.footprints[moduleName];
60
- let moduleWithMaps = fullIstanbulData[moduleName];
61
- if (!istanbulModule.f && istanbulModule.data) {
62
- istanbulModule = istanbulModule.data;
63
- moduleWithMaps = moduleWithMaps.data;
64
- }
65
- this.logger.debug('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
66
- this.logger.debug(`moduleName: ${moduleName}`);
67
- if (!moduleWithMaps) {
68
- this.logger.info(`Cannot find full istanbul data for ${moduleName}`);
69
- continue;
70
- }
71
- const relativePath = this.getRelativeModulePath(moduleWithMaps);
72
- const sourceMap = this.getSourceMapForModule(moduleName);
73
- const file = this.getOrCreateFootprintsAppFile(relativePath, app);
74
- if (istanbulModule.f) {
75
- this.handleFunctionsData(istanbulModule, moduleWithMaps, sourceMap, relativePath, moduleWithMaps.path, file, test);
76
- }
77
- if (istanbulModule.b) {
78
- this.handleBranchesData(istanbulModule, moduleWithMaps, sourceMap, relativePath, moduleWithMaps.path, file, test);
79
- }
80
- }
81
- }
82
- handleBranchesData(istanbulModule, moduleWithMaps, sourceMap, relPath, fullPath, file, test) {
83
- for (const branchId in istanbulModule.b) {
84
- const ifElseAndSwitchCasesArr = istanbulModule.b[branchId];
85
- const expressionInfo = moduleWithMaps.branchMap[branchId];
86
- for (let idx = 0; idx < ifElseAndSwitchCasesArr.length; idx++) {
87
- const branchInfo = expressionInfo.locations[idx];
88
- const hits = ifElseAndSwitchCasesArr[idx];
89
- if (hits > 0) {
90
- let start = branchInfo.start;
91
- const sourceMapData = this.readSourceMapData(sourceMap, start, relPath, fullPath);
92
- let filePath = relPath;
93
- let fullFilePath = fullPath;
94
- if (sourceMapData) {
95
- filePath = sourceMapData.relativePath;
96
- start = sourceMapData.originalStart;
97
- fullFilePath = sourceMapData.absolutePath;
98
- }
99
- let uniqueId = filePath + '|' + this.formatLoc(start) + '|' + idx;
100
- if (sl_env_vars_1.SlEnvVars.isUseNewUniqueId()) {
101
- const uniqueIdKey = filePath + '|' + this.formatLoc(start) + '|' + idx;
102
- uniqueId = (0, new_id_resolver_1.resolveNewId)(uniqueIdKey, fullFilePath, filePath, this.getCoverageObject(), this.logger);
103
- }
104
- if (!uniqueId) {
105
- continue;
106
- }
107
- const branchElement = this.getOrCreateBranchElement(uniqueId, file);
108
- if (this.cfg.extendedFootprints.value) {
109
- branchElement.branchInfo = JSON.stringify(branchInfo);
110
- branchElement.sourceMapData = JSON.stringify(sourceMapData);
111
- }
112
- this.addOrUpdateElementHits(test, uniqueId, branchElement, hits);
113
- }
114
- }
115
- }
116
- }
117
- handleFunctionsData(istanbulModule, moduleWithMaps, sourceMap, relativePath, fullPath, file, test) {
118
- for (const funcId in istanbulModule.f) {
119
- const hits = istanbulModule.f[funcId];
120
- if (hits > 0) {
121
- const funcInfo = moduleWithMaps.fnMap[funcId];
122
- let start = funcInfo.loc.start;
123
- const sourceMapData = this.readSourceMapData(sourceMap, start, relativePath, fullPath);
124
- let filePath = relativePath;
125
- let fullFilePath = fullPath;
126
- if (sourceMapData) {
127
- filePath = sourceMapData.relativePath;
128
- start = sourceMapData.originalStart;
129
- fullFilePath = sourceMapData.absolutePath;
130
- }
131
- let uniqueId = filePath + '@' + this.formatLoc(start);
132
- if (sl_env_vars_1.SlEnvVars.isUseNewUniqueId()) {
133
- const uniqueIdKey = filePath + '@' + this.formatLoc(start);
134
- uniqueId = (0, new_id_resolver_1.resolveNewId)(uniqueIdKey, fullFilePath, filePath, this.getCoverageObject(), this.logger);
135
- }
136
- if (!uniqueId) {
137
- continue;
138
- }
139
- const methodElement = this.getOrCreateMethodElement(uniqueId, file);
140
- if (this.cfg.extendedFootprints.value) {
141
- methodElement.funcInfo = JSON.stringify(funcInfo);
142
- methodElement.sourceMapData = JSON.stringify(sourceMapData);
143
- }
144
- this.addOrUpdateElementHits(test, uniqueId, methodElement, hits);
145
- if (funcInfo.decl) {
146
- this.addDeclarationFootprints(funcInfo, sourceMap, relativePath, file, fullPath, test, hits);
147
- }
148
- }
149
- }
150
- }
151
- addDeclarationFootprints(funcInfo, sourceMap, relativePath, file, fullpath, test, hits) {
152
- let declStart = funcInfo.decl.start; //For NYC
153
- const sourceMapData = this.readSourceMapData(sourceMap, declStart, relativePath, fullpath);
154
- if (sourceMapData) {
155
- relativePath = sourceMapData.relativePath;
156
- declStart = sourceMapData.originalStart;
157
- }
158
- let declUniqueId = relativePath + '@' + this.formatLoc(declStart);
159
- /*
160
- There is some edge case where 'loc' object of one method is same as 'decl' object of another method, and
161
- this can lead to missing coverage for first method when using new uniqueIds. because declaration key of
162
- second method already points to the first method so we add declaration footprints also.
163
- The cost effect is that hit of every method will doubled. (one for 'loc' and one for 'decl').
164
- */
165
- if (sl_env_vars_1.SlEnvVars.isUseNewUniqueId()) {
166
- const uniqueIdKey = relativePath + '@' + this.formatLoc(declStart);
167
- declUniqueId = (0, new_id_resolver_1.resolveNewId)(uniqueIdKey, fullpath, relativePath, this.getCoverageObject(), this.logger);
168
- }
169
- if (!declUniqueId) {
170
- return;
171
- }
172
- const declMethodElement = this.getOrCreateMethodElement(declUniqueId, file);
173
- this.addOrUpdateElementHits(test, declUniqueId, declMethodElement, hits);
174
- }
175
- getSourceMapForModule(relPath) {
176
- if (!this.fileToSourceMapConsumer[relPath]) {
177
- this.fileToSourceMapConsumer[relPath] =
178
- source_maps_utils_1.SourceMapsUtils.readSourceMaps(relPath);
179
- this.logger.debug("Read source maps for file':" + relPath + "'");
180
- }
181
- const sourceMap = this.fileToSourceMapConsumer[relPath];
182
- return sourceMap;
183
- }
184
- addOrUpdateElementHits(testData, elementUniqueId, element, hits) {
185
- const HITS_INDEX = 1;
186
- const eid = elementUniqueId + '|' + testData.index;
187
- const index = this.eidToHitsIndex[eid];
188
- if (index != null) {
189
- const testIndexAndHits = element.hits[index];
190
- let elementHits = testIndexAndHits[HITS_INDEX];
191
- elementHits = elementHits + hits;
192
- testIndexAndHits[HITS_INDEX] = elementHits;
193
- }
194
- else {
195
- const testIndexAndHits = new Array();
196
- testIndexAndHits.push(testData.index);
197
- testIndexAndHits.push(hits);
198
- const length = element.hits.push(testIndexAndHits);
199
- this.eidToHitsIndex[eid] = length - 1;
200
- }
201
- }
202
- getOrCreateTestData(footprintsElement, result) {
203
- if (!this.testNameToTestData[footprintsElement.testName]) {
204
- const test = {
205
- executionId: footprintsElement.executionId,
206
- localTime: footprintsElement.localTime,
207
- testName: footprintsElement.testName,
208
- collectionInterval: footprintsElement.collectionInterval,
209
- };
210
- result.tests.push(test);
211
- this.testNameToTestData[footprintsElement.testName] = {
212
- index: this.totalTests++,
213
- test: test,
214
- };
215
- }
216
- return this.testNameToTestData[footprintsElement.testName];
217
- }
218
- getOrCreateMethodElement(uniqueId, file) {
219
- if (!this.uniqueIdToElement[uniqueId]) {
220
- const x = {
221
- hits: new Array(),
222
- uniqueId: uniqueId,
223
- };
224
- this.uniqueIdToElement[uniqueId] = x;
225
- file.methods.push(x);
226
- }
227
- return this.uniqueIdToElement[uniqueId];
228
- }
229
- getOrCreateBranchElement(uniqueId, file) {
230
- if (!this.uniqueIdToElement[uniqueId]) {
231
- const x = {
232
- hits: new Array(),
233
- uniqueId: uniqueId,
234
- };
235
- this.uniqueIdToElement[uniqueId] = x;
236
- file.branches.push(x);
237
- }
238
- return this.uniqueIdToElement[uniqueId];
239
- }
240
- getOrCreateFootprintsAppFile(fileName, app) {
241
- if (this.fileNameToAppFile[fileName]) {
242
- return this.fileNameToAppFile[fileName];
243
- }
244
- //File doesn't exist in request.
245
- const file = {
246
- methods: new Array(),
247
- branches: new Array(),
248
- lines: new Array(),
249
- path: fileName,
250
- };
251
- app.files.push(file);
252
- this.fileNameToAppFile[fileName] = file;
253
- return file;
254
- }
255
- createFootprintsAppData(extraData) {
256
- //Supporting only one app right now
257
- const app = {
258
- appName: this.cfg.appName.value,
259
- branchName: this.cfg.branch.value,
260
- buildName: this.cfg.build.value,
261
- buildSessionId: this.cfg.buildSessionId.value,
262
- moduleName: null,
263
- files: new Array(),
264
- };
265
- extraData.apps.push(app);
266
- return extraData;
267
- }
268
- readSourceMapData(sourceMaps, start, coveragePath, fullPath) {
269
- if (sourceMaps) {
270
- const startPositionArr = [start.line, start.column];
271
- const handler = new source_map_handler_1.SourceMapHandler(sourceMaps, fullPath, startPositionArr, [], this.cfg.projectRoot.value, this.logger);
272
- handler.resolvePaths();
273
- if (!handler.shouldSkipped) {
274
- const result = {
275
- relativePath: handler.relativePath,
276
- originalStart: handler.start,
277
- absolutePath: handler.absolutePath,
278
- };
279
- return result;
280
- }
281
- }
282
- return null;
283
- }
284
- adjustPathSlashes(filePath) {
285
- filePath = (filePath || '').replace(/\\/g, '/');
286
- return filePath;
287
- }
288
- getIstanbulCounters() {
289
- if (this.globalCoverageContainer)
290
- return this.globalCoverageContainer;
291
- const re = /^\$\$cov_[0-9]+\$\$$/;
292
- const keys = Object.keys(global);
293
- for (let i = 0; i < keys.length; i++) {
294
- const k = keys[i];
295
- if (re.exec(k) !== null ||
296
- GLOBAL_ISTANBUL_CONTAINER_NAMES.indexOf(k) >= 0) {
297
- this.globalCoverageContainer = global[k];
298
- return this.globalCoverageContainer;
299
- }
300
- }
301
- return null;
302
- }
303
- getCoverageObject() {
304
- return this.nycFinalReportData || this.getIstanbulCounters();
305
- }
306
- getRelativeModulePath(module) {
307
- // Sometimes istanbul holds the 'path' under 'data' object. see coverage final attached in 'https://sealights.atlassian.net/browse/SLDEV-4421'
308
- if (typeof module.path !== 'string' &&
309
- module.data.path &&
310
- typeof module.data.path === 'string') {
311
- this.logger.debug(`Not extracting relative path for '${module.data.path}'. Using the same path as is.`);
312
- return module.data.path;
313
- }
314
- if (!this.relativeModulePaths[module.path]) {
315
- const absolutePath = this.adjustPathSlashes(module.path);
316
- let relativePath = absolutePath.replace(this.resolveProjectRoot(), '');
317
- if (relativePath.indexOf('/') === 0) {
318
- relativePath = relativePath.substring(1);
319
- }
320
- this.relativeModulePaths[module.path] = relativePath;
321
- }
322
- return this.relativeModulePaths[module.path];
323
- }
324
- formatLoc(loc) {
325
- return loc.line + ',' + loc.column;
326
- }
327
- getCurrentFootprints() {
328
- const diff = this.getIstanbulCountersDiff(this.getIstanbulCounters());
329
- return diff;
330
- }
331
- getIstanbulCountersDiff(currentCounters) {
332
- if (!currentCounters) {
333
- this.logger.error("Couldn't get istanbul counters, return empty diff.");
334
- return {};
335
- }
336
- const diff = {};
337
- let diffModule = null;
338
- function createModuleForDiff(istanbulModule) {
339
- diffModule = diff[istanbulModule] = { b: {}, f: {}, s: {} };
340
- return diffModule;
341
- }
342
- const prevCounters = this.previousIstanbulCounters;
343
- for (const istanbulModule in currentCounters) {
344
- diffModule = null;
345
- if (!prevCounters[istanbulModule]) {
346
- prevCounters[istanbulModule] = { b: {}, f: {}, s: {} };
347
- }
348
- const prevModule = prevCounters[istanbulModule];
349
- for (const funcId in currentCounters[istanbulModule].f) {
350
- if (prevModule.f[funcId] === undefined) {
351
- prevModule.f[funcId] = 0;
352
- }
353
- const currentFunctionHits = currentCounters[istanbulModule].f[funcId];
354
- const prevFunctionHits = prevModule.f[funcId] || 0;
355
- if (currentFunctionHits > prevFunctionHits) {
356
- //this is a diff
357
- diffModule = diffModule || createModuleForDiff(istanbulModule);
358
- diffModule.f[funcId] = currentFunctionHits - prevFunctionHits;
359
- prevModule.f[funcId] = currentFunctionHits;
360
- }
361
- }
362
- for (const branchId in currentCounters[istanbulModule].b) {
363
- const currentBranchesHits = currentCounters[istanbulModule].b[branchId];
364
- const prevBranchHits = prevModule.b[branchId];
365
- if (prevBranchHits) {
366
- for (let i = 0, j = currentBranchesHits.length; i < j; i++) {
367
- const currentHits = currentBranchesHits[i], previousHits = prevBranchHits[i] || 0;
368
- if (currentHits > previousHits) {
369
- //this is a diff
370
- diffModule = diffModule || createModuleForDiff(istanbulModule);
371
- diffModule.b[branchId] =
372
- diffModule.b[branchId] ||
373
- this.newNumberArray(currentBranchesHits.length);
374
- diffModule.b[branchId][i] = currentHits - previousHits;
375
- prevBranchHits[i] = currentHits;
376
- }
377
- }
378
- }
379
- else {
380
- prevModule.b[branchId] = currentBranchesHits.slice();
381
- let branchSetHasHits = false;
382
- for (let i = 0, j = currentBranchesHits.length; i < j && !branchSetHasHits; i++) {
383
- if (currentBranchesHits[i])
384
- branchSetHasHits = true;
385
- }
386
- if (branchSetHasHits) {
387
- diffModule = diffModule || createModuleForDiff(istanbulModule);
388
- diffModule.b[branchId] = currentBranchesHits.slice();
389
- }
390
- }
391
- }
392
- }
393
- this.logDiff(diff);
394
- return diff;
395
- }
396
- logDiff(diff) {
397
- if (!this.logger.isDebugEnabled()) {
398
- return;
399
- }
400
- const modules = Object.keys(diff);
401
- const formatter = new messages_formatter_1.MessagesFormatter();
402
- modules.forEach((module) => {
403
- const methods = diff[module].f || {};
404
- const branches = diff[module].b || {};
405
- const methodsSize = Object.keys(methods).length;
406
- const branchesSize = Object.keys(branches).length;
407
- formatter.addContent(`${module}: ${methodsSize} methods and ${branchesSize} branches`);
408
- });
409
- this.logger.debug(`Found coverage data for ${modules.length} files:\n ${formatter.content}`);
410
- }
411
- newNumberArray(length) {
412
- const arr = [];
413
- for (let i = 0; i < length; i++)
414
- arr.push(0);
415
- return arr;
416
- }
417
- loadOriginalModules() {
418
- const loader = new original_module_loader_1.OriginalModuleLoader(this.getCoverageObject(), this.logger);
419
- loader.load();
420
- }
421
- resolveProjectRoot() {
422
- return (this.cfg.projectRoot.value || process.cwd()).replace(/\\/g, '/');
423
- }
424
- }
425
- exports.IstanbulToFootprints = IstanbulToFootprints;
426
- //# sourceMappingURL=istanbul-to-footprints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"istanbul-to-footprints.js","sourceRoot":"","sources":["../../../common/footprints-process/istanbul-to-footprints.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import { Logger, IFootprintsFile, IFootprintsHandler } from '../contracts';
2
- import { AgentConfig } from '../config-process/config';
3
- import { AgentInstanceData } from '../../common/agent-instance-data';
4
- export interface IProductionDataMap {
5
- meta: {
6
- createdAt: number;
7
- lastModified: number;
8
- bsid: string;
9
- hostName: string;
10
- pid: number;
11
- customerId: string;
12
- appName: string;
13
- branchName: string;
14
- buildName: string;
15
- labId: string;
16
- };
17
- methodsHits: IMap<number>;
18
- }
19
- export interface IMap<T> {
20
- [name: string]: T;
21
- }
22
- export declare class ProductionFootprintsHandler implements IFootprintsHandler {
23
- private metaData;
24
- private logger;
25
- private methodIdToHits;
26
- private filename;
27
- private httpConfig;
28
- private httpClient;
29
- private agentConfig;
30
- private collectionStartDate;
31
- private saveToFile;
32
- private sendToServer;
33
- constructor(cfg: AgentConfig, agentInstanceData: AgentInstanceData, logger: Logger);
34
- private setupProdListenerModes;
35
- private initHttpConfig;
36
- handleFootprints(footprintsPacket: IFootprintsFile, callback: (err: Error) => void): void;
37
- private saveAndSendMethodsHits;
38
- private getHitFiles;
39
- private convertFootprintsToProductionData;
40
- private convertAndSubmitToServer;
41
- private addHitsFromFootprints;
42
- private tryParseFileContent;
43
- private validateConfig;
44
- private addHitsFromFile;
45
- private writeDataToFile;
46
- private createFilePath;
47
- private combineArgsWithDash;
48
- private updateHits;
49
- toJSonObject(): {
50
- meta: {};
51
- methodsHits: {
52
- [methodId: string]: number;
53
- };
54
- };
55
- }