summaryrefslogtreecommitdiff
path: root/node_modules/@jet/engine/lib/metrics/aggregating
diff options
context:
space:
mode:
authorrxliuli <rxliuli@gmail.com>2025-11-04 05:03:50 +0800
committerrxliuli <rxliuli@gmail.com>2025-11-04 05:03:50 +0800
commitbce557cc2dc767628bed6aac87301a1be7c5431b (patch)
treeb51a051228d01fe3306cd7626d4a96768aadb944 /node_modules/@jet/engine/lib/metrics/aggregating
init commit
Diffstat (limited to 'node_modules/@jet/engine/lib/metrics/aggregating')
-rw-r--r--node_modules/@jet/engine/lib/metrics/aggregating/index.js16
-rw-r--r--node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-aggregator.js45
-rw-r--r--node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-builder.js15
-rw-r--r--node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-context.js2
-rw-r--r--node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-provider.js2
5 files changed, 80 insertions, 0 deletions
diff --git a/node_modules/@jet/engine/lib/metrics/aggregating/index.js b/node_modules/@jet/engine/lib/metrics/aggregating/index.js
new file mode 100644
index 0000000..e8d9f32
--- /dev/null
+++ b/node_modules/@jet/engine/lib/metrics/aggregating/index.js
@@ -0,0 +1,16 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+__exportStar(require("./metrics-fields-aggregator"), exports);
+__exportStar(require("./metrics-fields-builder"), exports);
+__exportStar(require("./metrics-fields-context"), exports);
+__exportStar(require("./metrics-fields-provider"), exports);
diff --git a/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-aggregator.js b/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-aggregator.js
new file mode 100644
index 0000000..b53d7a9
--- /dev/null
+++ b/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-aggregator.js
@@ -0,0 +1,45 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.MetricsFieldsAggregator = void 0;
+const optional_1 = require("@jet/environment/types/optional");
+const page_metrics_fields_provider_1 = require("../field-providers/page-metrics-fields-provider");
+class MetricsFieldsAggregator {
+ constructor() {
+ this.optInProviders = new Map();
+ this.optOutProviders = new Map();
+ }
+ static makeDefaultAggregator() {
+ const aggregator = new MetricsFieldsAggregator();
+ aggregator.addOptInProvider(new page_metrics_fields_provider_1.PageMetricsFieldsProvider(), "pageFields");
+ return aggregator;
+ }
+ addOptInProvider(provider, request) {
+ this.optInProviders.set(request, provider);
+ }
+ addOptOutProvider(provider, request) {
+ this.optOutProviders.set(request, provider);
+ }
+ removeOptInProvider(request) {
+ this.optInProviders.delete(request);
+ }
+ removeOptOutProvider(request) {
+ this.optOutProviders.delete(request);
+ }
+ addMetricsFields(options) {
+ options.including.forEach((request) => {
+ const provider = this.optInProviders.get(request);
+ if (optional_1.isNothing(provider)) {
+ // No provider registered
+ return;
+ }
+ provider.addMetricsFields(options.builder, options.context);
+ });
+ this.optOutProviders.forEach((provider, request) => {
+ if (optional_1.isNothing(provider) || options.excluding.includes(request)) {
+ return;
+ }
+ provider.addMetricsFields(options.builder, options.context);
+ });
+ }
+}
+exports.MetricsFieldsAggregator = MetricsFieldsAggregator;
diff --git a/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-builder.js b/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-builder.js
new file mode 100644
index 0000000..d00e47b
--- /dev/null
+++ b/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-builder.js
@@ -0,0 +1,15 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.SimpleMetricsFieldsBuilder = void 0;
+class SimpleMetricsFieldsBuilder {
+ constructor(baseFields) {
+ this.fields = baseFields;
+ }
+ addValue(value, field) {
+ this.fields[field] = value;
+ }
+ get allMetricsFields() {
+ return this.fields;
+ }
+}
+exports.SimpleMetricsFieldsBuilder = SimpleMetricsFieldsBuilder;
diff --git a/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-context.js b/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-context.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-context.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-provider.js b/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-provider.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-provider.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });