@forge/util 1.4.10 → 2.0.0-next.0

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 (56) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +2 -5
  3. package/scripts/build.sh +0 -3
  4. package/packages/in-memory-metrics/CHANGELOG.md +0 -13
  5. package/packages/in-memory-metrics/README.md +0 -18
  6. package/packages/in-memory-metrics/dist/index.d.ts +0 -3
  7. package/packages/in-memory-metrics/dist/index.d.ts.map +0 -1
  8. package/packages/in-memory-metrics/dist/index.js +0 -6
  9. package/packages/in-memory-metrics/dist/index.js.map +0 -1
  10. package/packages/in-memory-metrics/dist/metric/counter.d.ts +0 -11
  11. package/packages/in-memory-metrics/dist/metric/counter.d.ts.map +0 -1
  12. package/packages/in-memory-metrics/dist/metric/counter.js +0 -27
  13. package/packages/in-memory-metrics/dist/metric/counter.js.map +0 -1
  14. package/packages/in-memory-metrics/dist/metric/gauge.d.ts +0 -8
  15. package/packages/in-memory-metrics/dist/metric/gauge.d.ts.map +0 -1
  16. package/packages/in-memory-metrics/dist/metric/gauge.js +0 -18
  17. package/packages/in-memory-metrics/dist/metric/gauge.js.map +0 -1
  18. package/packages/in-memory-metrics/dist/metric/metric.d.ts +0 -9
  19. package/packages/in-memory-metrics/dist/metric/metric.d.ts.map +0 -1
  20. package/packages/in-memory-metrics/dist/metric/metric.js +0 -17
  21. package/packages/in-memory-metrics/dist/metric/metric.js.map +0 -1
  22. package/packages/in-memory-metrics/dist/metric/timed.d.ts +0 -13
  23. package/packages/in-memory-metrics/dist/metric/timed.d.ts.map +0 -1
  24. package/packages/in-memory-metrics/dist/metric/timed.js +0 -48
  25. package/packages/in-memory-metrics/dist/metric/timed.js.map +0 -1
  26. package/packages/in-memory-metrics/dist/metrics.d.ts +0 -33
  27. package/packages/in-memory-metrics/dist/metrics.d.ts.map +0 -1
  28. package/packages/in-memory-metrics/dist/metrics.js +0 -103
  29. package/packages/in-memory-metrics/dist/metrics.js.map +0 -1
  30. package/packages/in-memory-metrics/package.json +0 -31
  31. package/packages/logger-interface/CHANGELOG.md +0 -105
  32. package/packages/logger-interface/README.md +0 -33
  33. package/packages/logger-interface/dist/index.d.ts +0 -24
  34. package/packages/logger-interface/dist/index.d.ts.map +0 -1
  35. package/packages/logger-interface/dist/index.js +0 -33
  36. package/packages/logger-interface/dist/index.js.map +0 -1
  37. package/packages/logger-interface/dist/mocks/index.d.ts +0 -11
  38. package/packages/logger-interface/dist/mocks/index.d.ts.map +0 -1
  39. package/packages/logger-interface/dist/mocks/index.js +0 -22
  40. package/packages/logger-interface/dist/mocks/index.js.map +0 -1
  41. package/packages/logger-interface/package.json +0 -36
  42. package/packages/metrics-interface/CHANGELOG.md +0 -226
  43. package/packages/metrics-interface/README.md +0 -63
  44. package/packages/metrics-interface/dist/index.d.ts +0 -2
  45. package/packages/metrics-interface/dist/index.d.ts.map +0 -1
  46. package/packages/metrics-interface/dist/index.js +0 -18
  47. package/packages/metrics-interface/dist/index.js.map +0 -1
  48. package/packages/metrics-interface/dist/metrics.d.ts +0 -48
  49. package/packages/metrics-interface/dist/metrics.d.ts.map +0 -1
  50. package/packages/metrics-interface/dist/metrics.js +0 -70
  51. package/packages/metrics-interface/dist/metrics.js.map +0 -1
  52. package/packages/metrics-interface/dist/mocks/index.d.ts +0 -43
  53. package/packages/metrics-interface/dist/mocks/index.d.ts.map +0 -1
  54. package/packages/metrics-interface/dist/mocks/index.js +0 -54
  55. package/packages/metrics-interface/dist/mocks/index.js.map +0 -1
  56. package/packages/metrics-interface/package.json +0 -36
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isLogger = exports.isHierachicalLogger = exports.NoLogger = void 0;
4
- class NoLogger {
5
- /* eslint-disable @typescript-eslint/no-unused-vars */
6
- debug(..._data) { }
7
- info(..._data) { }
8
- warn(..._data) { }
9
- error(..._data) { }
10
- fatal(..._data) { }
11
- child(..._data) {
12
- return this;
13
- }
14
- }
15
- exports.NoLogger = NoLogger;
16
- function isHierachicalLogger(obj) {
17
- return 'child' in obj && typeof obj.child === 'function';
18
- }
19
- exports.isHierachicalLogger = isHierachicalLogger;
20
- function isLogger(obj) {
21
- return ('debug' in obj &&
22
- typeof obj.debug === 'function' &&
23
- 'info' in obj &&
24
- typeof obj.info === 'function' &&
25
- 'warn' in obj &&
26
- typeof obj.warn === 'function' &&
27
- 'error' in obj &&
28
- typeof obj.error === 'function' &&
29
- 'fatal' in obj &&
30
- typeof obj.fatal === 'function');
31
- }
32
- exports.isLogger = isLogger;
33
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAgBA,MAAa,QAAQ;IACnB,sDAAsD;IAC/C,KAAK,CAAC,GAAG,KAAY,IAAS,CAAC;IAC/B,IAAI,CAAC,GAAG,KAAY,IAAS,CAAC;IAC9B,IAAI,CAAC,GAAG,KAAY,IAAS,CAAC;IAC9B,KAAK,CAAC,GAAG,KAAY,IAAS,CAAC;IAC/B,KAAK,CAAC,GAAG,KAAY,IAAS,CAAC;IAC/B,KAAK,CAAC,GAAG,KAAY;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AAXD,4BAWC;AAED,SAAgB,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,OAAO,IAAI,GAAG,IAAI,OAAQ,GAA0B,CAAC,KAAK,KAAK,UAAU,CAAC;AACnF,CAAC;AAFD,kDAEC;AAED,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,OAAO,CACL,OAAO,IAAI,GAAG;QACd,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;QAC/B,MAAM,IAAI,GAAG;QACb,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;QAC9B,MAAM,IAAI,GAAG;QACb,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;QAC9B,OAAO,IAAI,GAAG;QACd,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;QAC/B,OAAO,IAAI,GAAG;QACd,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,CAChC,CAAC;AACJ,CAAC;AAbD,4BAaC"}
@@ -1,11 +0,0 @@
1
- import { HierarchicalLogger, LogMethod } from '../index';
2
- export declare class MockLogger implements HierarchicalLogger {
3
- debug: LogMethod;
4
- info: LogMethod;
5
- warn: LogMethod;
6
- error: LogMethod;
7
- fatal: LogMethod;
8
- child: () => HierarchicalLogger;
9
- private _children;
10
- }
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGzD,qBAAa,UAAW,YAAW,kBAAkB;IAC5C,KAAK,EAAE,SAAS,CAAa;IAC7B,IAAI,EAAE,SAAS,CAAa;IAC5B,IAAI,EAAE,SAAS,CAAa;IAC5B,KAAK,EAAE,SAAS,CAAa;IAC7B,KAAK,EAAE,SAAS,CAAa;IAE7B,KAAK,EAAE,MAAM,kBAAkB,CAInC;IAGH,OAAO,CAAC,SAAS,CAAoB;CACtC"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockLogger = void 0;
4
- // Export a mock so any users of this library that use jest can use it.
5
- class MockLogger {
6
- constructor() {
7
- this.debug = jest.fn();
8
- this.info = jest.fn();
9
- this.warn = jest.fn();
10
- this.error = jest.fn();
11
- this.fatal = jest.fn();
12
- this.child = jest.fn(() => {
13
- const childLogger = new MockLogger();
14
- this._children.push(childLogger);
15
- return childLogger;
16
- });
17
- // A property to check children created by this logger.
18
- this._children = [];
19
- }
20
- }
21
- exports.MockLogger = MockLogger;
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":";;;AAEA,uEAAuE;AACvE,MAAa,UAAU;IAAvB;QACS,UAAK,GAAc,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,SAAI,GAAc,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5B,SAAI,GAAc,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5B,UAAK,GAAc,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,UAAK,GAAc,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,UAAK,GAA6B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YACpD,MAAM,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,uDAAuD;QAC/C,cAAS,GAAiB,EAAE,CAAC;IACvC,CAAC;CAAA;AAfD,gCAeC"}
@@ -1,36 +0,0 @@
1
- {
2
- "name": "logger-interface",
3
- "description": "Typescript interface that provides standard logging levels `debug`, `info`, `warn`, `error`, and `fatal`",
4
- "version": "2.0.3",
5
- "contributors": [
6
- {
7
- "name": "Callum Osmotherly",
8
- "email": "cosmotherly@atlassian.com"
9
- },
10
- {
11
- "name": "Luciano Leggieri",
12
- "email": "lleggieri@atlassian.com"
13
- }
14
- ],
15
- "main": "dist/index",
16
- "license": "Proprietary",
17
- "repository": {
18
- "directory": "src/packages/logging/logger-interface",
19
- "type": "git",
20
- "url": "git@bitbucket.org:atlassian/node-monorepo.git"
21
- },
22
- "homepage": "https://bitbucket.org/atlassian/node-monorepo/src/master/src/packages/logging/logger-interface",
23
- "files": [
24
- "bin/",
25
- "dist/",
26
- "package.json",
27
- "CHANGELOG.md",
28
- "README.md"
29
- ],
30
- "types": "dist/index.d.ts",
31
- "typings": "dist/index.d.ts",
32
- "config": {
33
- "registry": "atlassian",
34
- "isPlatformPackage": true
35
- }
36
- }
@@ -1,226 +0,0 @@
1
- # @atlassian/metrics-interface
2
-
3
- ## 4.0.0
4
-
5
- ### Major Changes
6
-
7
- - 6215e00df: Upgrade Node version to 20
8
-
9
- ## 3.0.2
10
-
11
- ### Patch Changes
12
-
13
- - 172390575: added list of onboarded packages and updated package descriptions
14
-
15
- ## 3.0.1
16
-
17
- ### Patch Changes
18
-
19
- - 39e14c1c: onboarding metrics as platform packages
20
-
21
- ## 3.0.0
22
-
23
- ### Major Changes
24
-
25
- - e93d72e: Add histogram() method to Metrics interface.
26
-
27
- ### Migration
28
-
29
- This is a relatively safe change, but it might break your builds if you use `Metrics` type as now it should have a
30
- "histogram" method.
31
-
32
- ### Example
33
-
34
- Here's how you can use histograms in your code:
35
-
36
- ```typescript
37
- import { Metrics } from '@atlassian/metrics-interface';
38
-
39
- const metrics: Metrics = {
40
- /* ... */
41
- };
42
-
43
- const buckets = [10, 50, 100];
44
- const tags = {
45
- /* ... */
46
- };
47
- const timer = metrics.histogram('metricName', buckets, extraTags).measure();
48
-
49
- // ...some I/O operation
50
-
51
- const extraTags = {
52
- /* ... */
53
- };
54
- timer.stop(extraTags);
55
- ```
56
-
57
- ## 2.3.0
58
-
59
- ### Minor Changes
60
-
61
- - bdcf6df: Add support for set metric type: https://github.com/statsd/statsd/blob/master/docs/metric_types.md#sets.
62
- Counts the number of unique values between flushes.
63
-
64
- ```javascript
65
- metrics.set('aSet', { foo: 'bar' }).add('foo');
66
- metrics.set('aSet', { foo: 'bar' }).add('bar');
67
- metrics.set('aSet', { foo: 'bar' }).add('foo');
68
-
69
- // results in metric aSet reporting a count of 2 (2 unique values 'foo' and 'bar' added to set in the flush interval)
70
- ```
71
-
72
- ## 2.2.0
73
-
74
- ### Minor Changes
75
-
76
- - 1505248: Use the "node:" style import declaration for NodeJS builtins
77
-
78
- ## 2.1.1
79
-
80
- ### Patch Changes
81
-
82
- - d46b350: Bind now one time instead of every time measure is called.
83
-
84
- ## 2.1.0
85
-
86
- ### Minor Changes
87
-
88
- - 1b15f45: Fix for Node 20
89
-
90
- ## 2.0.1
91
-
92
- ### Patch Changes
93
-
94
- - 174f3f5: incredible-monorepo renamed to node-monorepo
95
-
96
- ## 2.0.0
97
-
98
- ### Major Changes
99
-
100
- - b6125f0: Upgrade NodeJS typings to v16. Package now targets NodeJS runtime 16 and above, all previous NodeJS versions
101
- are now unsupported.
102
-
103
- ### Minor Changes
104
-
105
- - b6125f0: Add support for passing in a function to get the current time, defaults to `performance.now`.
106
-
107
- ## 1.3.3
108
-
109
- ### Patch Changes
110
-
111
- - c0069ef: Package is now compiled with Typescript 4.4
112
-
113
- Useful links:
114
-
115
- - https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#more-compliant-indirect-calls-for-imported-functions
116
- - http://perfectionkills.com/global-eval-what-are-the-options/
117
-
118
- ## 1.3.2
119
-
120
- ### Patch Changes
121
-
122
- - fae10a6: Fixed an issue with compiled typings files after upgrading to TypeScript 4.3. The imports in the typings.d.ts
123
- files were compiled with paths relative to the monorepo root, rather than absolute package paths. This problem has now
124
- been fixed.
125
-
126
- ## 1.3.1
127
-
128
- ### Patch Changes
129
-
130
- - fae1cc7: Minor type changes and tweaks so the package now builds with TypeScript ~4.3
131
-
132
- ## 1.3.0
133
-
134
- ### Minor Changes
135
-
136
- - 9913f59: feat: Added configurable timing precision, repalced hrtime with performance from perf_hooks
137
-
138
- ## 1.2.4
139
-
140
- ### Patch Changes
141
-
142
- - fae14d5: An upgrade to prettier caused some changes to linting
143
-
144
- ## 1.2.3
145
-
146
- ### Patch Changes
147
-
148
- - fae196c: Added a feature to the monorepo so packages with non js entrypoints can be used
149
-
150
- ## 1.2.2
151
-
152
- ### Patch Changes
153
-
154
- - fae1709: Fixed an issue during package building, so bumping all packages to ensure distribution assets are valid
155
-
156
- ## 1.2.1
157
-
158
- ### Patch Changes
159
-
160
- - 97644a1: Set Typescript Compiler target to ES2018
161
-
162
- ## 1.2.0
163
-
164
- ### Minor Changes
165
-
166
- - 3e7f6c1: feat: metrics.timing() supports passing tags in stop() function, stop() returns value
167
-
168
- ## 1.1.2
169
-
170
- ### Patch Changes
171
-
172
- - fae1a543: In files where @typescript-eslint/no-namespaces is already ignored, also ignore import/export.
173
-
174
- ## 1.1.1
175
-
176
- ### Patch Changes
177
-
178
- - fae18d7: linting updates to the monorepo
179
-
180
- ## 1.1.0
181
-
182
- ### Minor Changes
183
-
184
- - 1f4aaad: feat: metrics.counter has new 'incrBy' and 'decrBy' interface
185
-
186
- ## 1.0.15
187
-
188
- ### Patch Changes
189
-
190
- - 85bb2aa: monorepo changes: rename packageJson.publishConfig to packageJson.config.publishOverrides
191
-
192
- ## 1.0.14
193
-
194
- ### Patch Changes
195
-
196
- - 645304b: fix: ensure all monorepo packages do not use ranges in their dependencies (for changeset's automatic bumps)
197
-
198
- ## 1.0.13
199
-
200
- ### Patch Changes
201
-
202
- - 6af309e: chore: update homepage field in package.json
203
-
204
- ## 1.0.12
205
-
206
- ### Patch Changes
207
-
208
- - 37e36f9: fix: the main, types and typings fields in package.json were incorrect on publish
209
-
210
- ## 1.0.11
211
-
212
- ### Patch Changes
213
-
214
- - b9aad92: fix: the previous patch version did not contain dist files
215
-
216
- ## 1.0.10
217
-
218
- ### Patch Changes
219
-
220
- - c255e4f: Dev improvements: Updated how the package is tested and published
221
-
222
- ## 1.0.9
223
-
224
- ### Patch Changes
225
-
226
- - 30c71b0: Add eslint import rules.
@@ -1,63 +0,0 @@
1
- # @atlassian/metrics-interface
2
-
3
- This module just exports an interface that provides better interoperability for TypeScript services that use any kind of
4
- metrics.
5
-
6
- ## Usage
7
-
8
- ```typescript
9
- // Import each type as required by your use-case.
10
- import { Metrics, Counter, Gauge, Tags, Timing } from '@atlassian/metrics-interface';
11
-
12
- export class MyMetricsClass implements Metrics {
13
- // Returns a Metrics instance to be used as child.
14
- child(name: string, tags?: Tags): Metrics {
15
- /* ... */
16
- }
17
-
18
- // Create a counter metric:
19
- // const counter = myMetrics.counter('page_visits');
20
- // counter.incr(); // <-- increase the count
21
- // counter.decr(); // <-- decrease the count
22
- counter(name: string, tags?: Tags): Counter {
23
- /* ... */
24
- }
25
-
26
- // Create a simple gauge metric:
27
- // const gauge = myMetrics.gauge('cpu_percentage');
28
- // gauge.set(75);
29
- gauge(name: string, tags?: Tags): Gauge {
30
- /* ... */
31
- }
32
-
33
- // Create a timer metric:
34
- // const initMetric = myMetrics.timing('initialisation');
35
- // const timer = initMetric.measure();
36
- // ...
37
- // timer.stop();
38
- timing(name: string, tags?: Tags): Timing {
39
- /* ... */
40
- }
41
-
42
- // Create a histogram metric:
43
- // const initMetric = myMetrics.histogram('latency', [10, 100, 500]);
44
- // const timer = initMetric.measure();
45
- // ...
46
- // timer.stop();
47
- histogram(name: string, buckets: number[], tags?: Tags): Timing {
48
- /* ... */
49
- }
50
-
51
- // Emit a custom event for your metrics:
52
- // myMetrics.event('something_happened', 'foo bar baz quix...');
53
- event(title: string, description?: string): void {
54
- /* ... */
55
- }
56
- }
57
- ```
58
-
59
- ## Implementations
60
-
61
- For great implementations of this interface, see the following:
62
-
63
- - [statsd-metrics](/platform/node/platform/packages/statsd-metrics-collector/)
@@ -1,2 +0,0 @@
1
- export * from './metrics';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -1,18 +0,0 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./metrics"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
@@ -1,48 +0,0 @@
1
- export interface Tags {
2
- [key: string]: string;
3
- }
4
- export interface Metrics {
5
- child(name: string, tags?: Tags): Metrics;
6
- counter(name: string, tags?: Tags): Counter;
7
- gauge(name: string, tags?: Tags): Gauge;
8
- set(name: string, tags?: Tags): Set;
9
- timing(name: string, tags?: Tags): Timing;
10
- histogram(name: string, buckets: number[], tags?: Tags): Timing;
11
- event(title: string, description?: string): void;
12
- }
13
- export interface Counter {
14
- incr(): void;
15
- decr(): void;
16
- incrBy(val: number): void;
17
- decrBy(val: number): void;
18
- }
19
- export interface Gauge {
20
- set(val: number): void;
21
- }
22
- export interface Timing {
23
- set(val: number, extraTags?: Tags): void;
24
- measure(): Timing.Stop;
25
- }
26
- export interface TimingOptions {
27
- precision?: number;
28
- now?: () => number;
29
- }
30
- export declare namespace Timing {
31
- interface Stop {
32
- stop(extraTags?: Tags, opts?: TimingOptions): number;
33
- }
34
- const measure: (cb: (val: number, extraTags?: Tags) => void, timingOptions?: TimingOptions) => Stop;
35
- }
36
- export interface Set {
37
- add(val: string | number, extraTags?: Tags): void;
38
- }
39
- export declare class NoMetrics implements Metrics {
40
- child(_name: string): Metrics;
41
- counter(_name: string): Counter;
42
- gauge(_name: string): Gauge;
43
- set(_name: string): Set;
44
- timing(_name: string): Timing;
45
- histogram(_name: string): Timing;
46
- event(_title: string, _description?: string): void;
47
- }
48
- //# sourceMappingURL=metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,IAAI;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IACxC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC1C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAChE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,KAAK;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAGD,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,yBAAiB,MAAM,CAAC;IACtB,UAAiB,IAAI;QACnB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;KACtD;IAEM,MAAM,OAAO,aAAc,MAAM,cAAc,IAAI,KAAK,IAAI,kBAAkB,aAAa,KAAG,IAWpG,CAAC;CACH;AAED,MAAM,WAAW,GAAG;IAClB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACnD;AAKD,qBAAa,SAAU,YAAW,OAAO;IACvC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI7B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAS/B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAM3B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAMvB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAW7B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAWhC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;CACnD"}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-namespace, import/export */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.NoMetrics = exports.Timing = void 0;
5
- const node_perf_hooks_1 = require("node:perf_hooks");
6
- const perfNow = node_perf_hooks_1.performance.now.bind(node_perf_hooks_1.performance);
7
- var Timing;
8
- (function (Timing) {
9
- Timing.measure = (cb, timingOptions) => {
10
- const now = timingOptions?.now || /* istanbul ignore next - relies on perf_hooks */ perfNow;
11
- const start = now();
12
- return {
13
- stop: (tags) => {
14
- const latency = now() - start;
15
- const result = parseFloat(latency.toFixed(timingOptions?.precision));
16
- cb(result, tags);
17
- return result;
18
- },
19
- };
20
- };
21
- })(Timing || (exports.Timing = Timing = {}));
22
- // A simple class that implements the interface without actually doing anything.
23
- // You can use this in tests as a stub, as part of an abstract class, or where
24
- // you need to have something that implements Metrics without its functionality.
25
- class NoMetrics {
26
- child(_name) {
27
- return this;
28
- }
29
- counter(_name) {
30
- return {
31
- incr: () => { },
32
- decr: () => { },
33
- incrBy: (_val) => { },
34
- decrBy: (_val) => { },
35
- };
36
- }
37
- gauge(_name) {
38
- return {
39
- set: (_val) => { },
40
- };
41
- }
42
- set(_name) {
43
- return {
44
- add: (_val) => { },
45
- };
46
- }
47
- timing(_name) {
48
- return {
49
- set: (_val) => { },
50
- measure: () => {
51
- return {
52
- stop: () => 0,
53
- };
54
- },
55
- };
56
- }
57
- histogram(_name) {
58
- return {
59
- set: (_val) => { },
60
- measure: () => {
61
- return {
62
- stop: () => 0,
63
- };
64
- },
65
- };
66
- }
67
- event(_title, _description) { }
68
- }
69
- exports.NoMetrics = NoMetrics;
70
- //# sourceMappingURL=metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":";AAAA,mEAAmE;;;AAEnE,qDAA8C;AAE9C,MAAM,OAAO,GAAG,6BAAW,CAAC,GAAG,CAAC,IAAI,CAAC,6BAAW,CAAC,CAAC;AAsClD,IAAiB,MAAM,CAiBtB;AAjBD,WAAiB,MAAM;IAKR,cAAO,GAAG,CAAC,EAA2C,EAAE,aAA6B,EAAQ,EAAE;QAC1G,MAAM,GAAG,GAAG,aAAa,EAAE,GAAG,IAAI,iDAAiD,CAAC,OAAO,CAAC;QAC5F,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,CAAC,IAAW,EAAE,EAAE;gBACpB,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;gBAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;gBACrE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjB,OAAO,MAAM,CAAC;YAChB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EAjBgB,MAAM,sBAAN,MAAM,QAiBtB;AAMD,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,MAAa,SAAS;IACpB,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO;YACL,IAAI,EAAE,GAAS,EAAE,GAAE,CAAC;YACpB,IAAI,EAAE,GAAS,EAAE,GAAE,CAAC;YACpB,MAAM,EAAE,CAAC,IAAY,EAAQ,EAAE,GAAE,CAAC;YAClC,MAAM,EAAE,CAAC,IAAY,EAAQ,EAAE,GAAE,CAAC;SACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,OAAO;YACL,GAAG,EAAE,CAAC,IAAY,EAAQ,EAAE,GAAE,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,KAAa;QACf,OAAO;YACL,GAAG,EAAE,CAAC,IAAqB,EAAQ,EAAE,GAAE,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO;YACL,GAAG,EAAE,CAAC,IAAY,EAAQ,EAAE,GAAE,CAAC;YAC/B,OAAO,EAAE,GAAgB,EAAE;gBACzB,OAAO;oBACL,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;iBACd,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO;YACL,GAAG,EAAE,CAAC,IAAY,EAAQ,EAAE,GAAE,CAAC;YAC/B,OAAO,EAAE,GAAgB,EAAE;gBACzB,OAAO;oBACL,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;iBACd,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,YAAqB,IAAS,CAAC;CACtD;AAjDD,8BAiDC"}
@@ -1,43 +0,0 @@
1
- /// <reference types="jest" />
2
- import { Counter, Gauge, Metrics, Set, Tags, Timing } from '../index';
3
- export declare class MockCounter implements Counter {
4
- name: string;
5
- tags?: Tags | undefined;
6
- incr: jest.Mock<any, any, any>;
7
- decr: jest.Mock<any, any, any>;
8
- incrBy: jest.Mock<any, any, any>;
9
- decrBy: jest.Mock<any, any, any>;
10
- constructor(name: string, tags?: Tags | undefined);
11
- }
12
- export declare class MockGauge implements Gauge {
13
- name: string;
14
- tags?: Tags | undefined;
15
- set: jest.Mock<any, any, any>;
16
- constructor(name: string, tags?: Tags | undefined);
17
- }
18
- export declare class MockSet implements Set {
19
- name: string;
20
- tags?: Tags | undefined;
21
- add: jest.Mock<any, any, any>;
22
- constructor(name: string, tags?: Tags | undefined);
23
- }
24
- export declare class MockTiming implements Timing {
25
- name: string;
26
- tags?: Tags | undefined;
27
- buckets?: number[] | undefined;
28
- set: jest.Mock<any, any, any>;
29
- measure: jest.Mock<{
30
- stop: jest.Mock<any, any, any>;
31
- }, [], any>;
32
- constructor(name: string, tags?: Tags | undefined, buckets?: number[] | undefined);
33
- }
34
- export declare class MockMetrics implements Metrics {
35
- child: jest.Mock<MockMetrics, [], any>;
36
- counter: jest.Mock<MockCounter, [name: any, tags: any], any>;
37
- gauge: jest.Mock<MockGauge, [name: any, tags: any], any>;
38
- set: jest.Mock<MockSet, [name: any, tags: any], any>;
39
- timing: jest.Mock<MockTiming, [name: any, tags: any], any>;
40
- histogram: jest.Mock<MockTiming, [name: any, buckets: any, tags: any], any>;
41
- event: jest.Mock<any, any, any>;
42
- }
43
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEtE,qBAAa,WAAY,YAAW,OAAO;IAKtB,IAAI,EAAE,MAAM;IAAS,IAAI,CAAC;IAJ7C,IAAI,2BAAa;IACjB,IAAI,2BAAa;IACjB,MAAM,2BAAa;IACnB,MAAM,2BAAa;gBACA,IAAI,EAAE,MAAM,EAAS,IAAI,CAAC,kBAAM;CACpD;AAED,qBAAa,SAAU,YAAW,KAAK;IAElB,IAAI,EAAE,MAAM;IAAS,IAAI,CAAC;IAD7C,GAAG,2BAAa;gBACG,IAAI,EAAE,MAAM,EAAS,IAAI,CAAC,kBAAM;CACpD;AAED,qBAAa,OAAQ,YAAW,GAAG;IAEd,IAAI,EAAE,MAAM;IAAS,IAAI,CAAC;IAD7C,GAAG,2BAAa;gBACG,IAAI,EAAE,MAAM,EAAS,IAAI,CAAC,kBAAM;CACpD;AAED,qBAAa,UAAW,YAAW,MAAM;IAGpB,IAAI,EAAE,MAAM;IAAS,IAAI,CAAC;IAAe,OAAO,CAAC;IAFpE,GAAG,2BAAa;IAChB,OAAO;;gBAAwC;gBAC5B,IAAI,EAAE,MAAM,EAAS,IAAI,CAAC,kBAAM,EAAS,OAAO,CAAC,sBAAU;CAC/E;AAGD,qBAAa,WAAY,YAAW,OAAO;IACzC,KAAK,kCAAoC;IACzC,OAAO,sDAAwD;IAC/D,KAAK,oDAAsD;IAC3D,GAAG,kDAAoD;IACvD,MAAM,qDAAuD;IAC7D,SAAS,mEAAyE;IAClF,KAAK,2BAAa;CACnB"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockMetrics = exports.MockTiming = exports.MockSet = exports.MockGauge = exports.MockCounter = void 0;
4
- class MockCounter {
5
- constructor(name, tags) {
6
- this.name = name;
7
- this.tags = tags;
8
- this.incr = jest.fn();
9
- this.decr = jest.fn();
10
- this.incrBy = jest.fn();
11
- this.decrBy = jest.fn();
12
- }
13
- }
14
- exports.MockCounter = MockCounter;
15
- class MockGauge {
16
- constructor(name, tags) {
17
- this.name = name;
18
- this.tags = tags;
19
- this.set = jest.fn();
20
- }
21
- }
22
- exports.MockGauge = MockGauge;
23
- class MockSet {
24
- constructor(name, tags) {
25
- this.name = name;
26
- this.tags = tags;
27
- this.add = jest.fn();
28
- }
29
- }
30
- exports.MockSet = MockSet;
31
- class MockTiming {
32
- constructor(name, tags, buckets) {
33
- this.name = name;
34
- this.tags = tags;
35
- this.buckets = buckets;
36
- this.set = jest.fn();
37
- this.measure = jest.fn(() => ({ stop: jest.fn() }));
38
- }
39
- }
40
- exports.MockTiming = MockTiming;
41
- // Export a mock so any users of this library that use jest can use it.
42
- class MockMetrics {
43
- constructor() {
44
- this.child = jest.fn(() => new MockMetrics());
45
- this.counter = jest.fn((name, tags) => new MockCounter(name, tags));
46
- this.gauge = jest.fn((name, tags) => new MockGauge(name, tags));
47
- this.set = jest.fn((name, tags) => new MockSet(name, tags));
48
- this.timing = jest.fn((name, tags) => new MockTiming(name, tags));
49
- this.histogram = jest.fn((name, buckets, tags) => new MockTiming(name, tags, buckets));
50
- this.event = jest.fn();
51
- }
52
- }
53
- exports.MockMetrics = MockMetrics;
54
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IAKtB,YAAmB,IAAY,EAAS,IAAW;QAAhC,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAO;QAJnD,SAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACjB,SAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACjB,WAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACnB,WAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACmC,CAAC;CACxD;AAND,kCAMC;AAED,MAAa,SAAS;IAEpB,YAAmB,IAAY,EAAS,IAAW;QAAhC,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAO;QADnD,QAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACsC,CAAC;CACxD;AAHD,8BAGC;AAED,MAAa,OAAO;IAElB,YAAmB,IAAY,EAAS,IAAW;QAAhC,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAO;QADnD,QAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACsC,CAAC;CACxD;AAHD,0BAGC;AAED,MAAa,UAAU;IAGrB,YAAmB,IAAY,EAAS,IAAW,EAAS,OAAkB;QAA3D,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAO;QAAS,YAAO,GAAP,OAAO,CAAW;QAF9E,QAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,YAAO,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACkC,CAAC;CACnF;AAJD,gCAIC;AAED,uEAAuE;AACvE,MAAa,WAAW;IAAxB;QACE,UAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACzC,YAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/D,UAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3D,QAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,WAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,cAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAClF,UAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpB,CAAC;CAAA;AARD,kCAQC"}