forked from off-topic/apps.apple.com
init commit
This commit is contained in:
64
node_modules/@jet/engine/lib/actions/action-dispatcher.js
generated
vendored
Normal file
64
node_modules/@jet/engine/lib/actions/action-dispatcher.js
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ActionDispatcher = void 0;
|
||||
const optional_1 = require("@jet/environment/types/optional");
|
||||
class ActionDispatcher {
|
||||
constructor(metricsPipeline) {
|
||||
this.implementations = {};
|
||||
this.metricsPipeline = metricsPipeline;
|
||||
}
|
||||
register(type, implementation) {
|
||||
if (type in this.implementations) {
|
||||
console.error(`An implementation is already registered for ${type}`);
|
||||
}
|
||||
this.implementations[type] = implementation;
|
||||
}
|
||||
async perform(action, metricsBehavior) {
|
||||
if (!(action.$kind in this.implementations)) {
|
||||
// 1. If there is no implementation registered for the type of action
|
||||
// we were passed, we check for a chained dispatcher to forward to.
|
||||
// If one is found, we forward this call without doing any work.
|
||||
// If none is found, we give up.
|
||||
if (optional_1.isSome(this.next)) {
|
||||
return await this.next.perform(action, metricsBehavior);
|
||||
}
|
||||
else {
|
||||
return "unsupported";
|
||||
}
|
||||
}
|
||||
// 2. We have an implementation for the action we were given.
|
||||
// We are responsible for processing metrics for that action.
|
||||
this.processMetrics(action, metricsBehavior);
|
||||
if (optional_1.isSome(this.next)) {
|
||||
// 3a. If we have another dispatcher we are chained to, we forward to it
|
||||
// if the implementation we have for the given action decides it cannot
|
||||
// support performing it.
|
||||
const outcome = await this.implementations[action.$kind](action);
|
||||
if (outcome === "unsupported") {
|
||||
return await this.next.perform(action, { behavior: "notProcessed" });
|
||||
}
|
||||
else {
|
||||
return outcome;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// 3b. We hand off control to the implementation we have for the given action type.
|
||||
// If the implementation cannot perform the action, we give up.
|
||||
return await this.implementations[action.$kind](action);
|
||||
}
|
||||
}
|
||||
processMetrics(action, metricsBehavior) {
|
||||
if (metricsBehavior.behavior === "notProcessed") {
|
||||
return;
|
||||
}
|
||||
const actionMetrics = action.actionMetrics;
|
||||
const context = {
|
||||
customMetrics: actionMetrics.custom,
|
||||
pageFields: metricsBehavior.context.pageFields,
|
||||
};
|
||||
action.actionMetrics.data.forEach((data) => {
|
||||
void this.metricsPipeline.process(data, context);
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.ActionDispatcher = ActionDispatcher;
|
||||
13
node_modules/@jet/engine/lib/actions/index.js
generated
vendored
Normal file
13
node_modules/@jet/engine/lib/actions/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"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("./action-dispatcher"), exports);
|
||||
17
node_modules/@jet/engine/lib/dependencies/index.js
generated
vendored
Normal file
17
node_modules/@jet/engine/lib/dependencies/index.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
"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("./jet-bag"), exports);
|
||||
__exportStar(require("./jet-host"), exports);
|
||||
__exportStar(require("./jet-network-fetch"), exports);
|
||||
__exportStar(require("./localized-strings-bundle"), exports);
|
||||
__exportStar(require("./localized-strings-json-object"), exports);
|
||||
40
node_modules/@jet/engine/lib/dependencies/jet-bag.js
generated
vendored
Normal file
40
node_modules/@jet/engine/lib/dependencies/jet-bag.js
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.JetBag = void 0;
|
||||
class JetBag {
|
||||
constructor(backing) {
|
||||
this.backing = backing;
|
||||
}
|
||||
registerBagKeys() {
|
||||
// do nothing.
|
||||
}
|
||||
string(key) {
|
||||
const value = this.backing[key];
|
||||
return typeof value === "string" || value === null ? value : undefined;
|
||||
}
|
||||
double(key) {
|
||||
const value = this.backing[key];
|
||||
return typeof value === "number" || value === null ? value : undefined;
|
||||
}
|
||||
integer(key) {
|
||||
const value = this.backing[key];
|
||||
return typeof value === "number" || value === null ? value : undefined;
|
||||
}
|
||||
boolean(key) {
|
||||
const value = this.backing[key];
|
||||
return typeof value === "boolean" || value === null ? value : undefined;
|
||||
}
|
||||
array(key) {
|
||||
const value = this.backing[key];
|
||||
return Array.isArray(value) || value === null ? value : undefined;
|
||||
}
|
||||
dictionary(key) {
|
||||
const value = this.backing[key];
|
||||
return typeof value === "object" ? value : undefined;
|
||||
}
|
||||
url(key) {
|
||||
const value = this.backing[key];
|
||||
return typeof value === "string" ? value : undefined;
|
||||
}
|
||||
}
|
||||
exports.JetBag = JetBag;
|
||||
19
node_modules/@jet/engine/lib/dependencies/jet-host.js
generated
vendored
Normal file
19
node_modules/@jet/engine/lib/dependencies/jet-host.js
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.JetHost = void 0;
|
||||
class JetHost {
|
||||
constructor(options) {
|
||||
this.osBuild = "unknown";
|
||||
this.deviceModel = "unknown";
|
||||
this.deviceModelFamily = "unknown";
|
||||
this.devicePhysicalModel = "unknown";
|
||||
this.deviceLocalizedModel = "unknown";
|
||||
this.clientIdentifier = "unknown";
|
||||
this.clientVersion = "unknown";
|
||||
this.platform = options.platform;
|
||||
}
|
||||
isOSAtLeast() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
exports.JetHost = JetHost;
|
||||
39
node_modules/@jet/engine/lib/dependencies/jet-network-fetch.js
generated
vendored
Normal file
39
node_modules/@jet/engine/lib/dependencies/jet-network-fetch.js
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.JetNetworkFetch = void 0;
|
||||
const optional_1 = require("@jet/environment/types/optional");
|
||||
class JetNetworkFetch {
|
||||
async fetch(request) {
|
||||
var _a, _b, _c;
|
||||
if (optional_1.isNothing(process === null || process === void 0 ? void 0 : process.env.MEDIA_API_TOKEN)) {
|
||||
return await Promise.reject(new Error("process.env.MEDIA_API_TOKEN must be specified"));
|
||||
}
|
||||
const headers = {
|
||||
...((_a = request.headers) !== null && _a !== void 0 ? _a : {}),
|
||||
authorization: `Bearer ${process === null || process === void 0 ? void 0 : process.env.MEDIA_API_TOKEN}`,
|
||||
};
|
||||
const response = await fetch(request.url, {
|
||||
body: request.body,
|
||||
method: (_b = request.method) !== null && _b !== void 0 ? _b : undefined,
|
||||
cache: (_c = request.cache) !== null && _c !== void 0 ? _c : undefined,
|
||||
headers: headers,
|
||||
});
|
||||
return {
|
||||
ok: response.ok,
|
||||
headers: Array.from(response.headers.keys()).reduce((previous, key) => {
|
||||
const value = response.headers.get(key);
|
||||
if (optional_1.isSome(value)) {
|
||||
previous[key] = value;
|
||||
}
|
||||
return previous;
|
||||
}, {}),
|
||||
redirected: response.redirected,
|
||||
status: response.status,
|
||||
statusText: response.statusText,
|
||||
url: response.url,
|
||||
body: await response.text(),
|
||||
metrics: [],
|
||||
};
|
||||
}
|
||||
}
|
||||
exports.JetNetworkFetch = JetNetworkFetch;
|
||||
68
node_modules/@jet/engine/lib/dependencies/localized-strings-bundle.js
generated
vendored
Normal file
68
node_modules/@jet/engine/lib/dependencies/localized-strings-bundle.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.LocalizedStringsBundle = void 0;
|
||||
const environment_1 = require("@jet/environment");
|
||||
const localized_strings_json_object_1 = require("./localized-strings-json-object");
|
||||
/**
|
||||
* A localized string data source which loads strings from the application bundle.
|
||||
*
|
||||
* The bundle used by this data source can be a web app webpack bundle
|
||||
* or a native app bundle bridged over to JS code.
|
||||
*/
|
||||
class LocalizedStringsBundle {
|
||||
// MARK: - Initialization
|
||||
/**
|
||||
* Create localized strings bundle with all required attributes.
|
||||
*
|
||||
* @param bundle - The app bundle object.
|
||||
*/
|
||||
constructor(bundle) {
|
||||
this.bundle = bundle;
|
||||
}
|
||||
// MARK: - LocalizedStringsDataSource
|
||||
async fetchStrings(language) {
|
||||
var _a;
|
||||
// Load the strings from bundle and cache them.
|
||||
const localizations = this.bundle.localizationsProperty;
|
||||
if (environment_1.isNothing(localizations)) {
|
||||
throw new Error("Localized strings bundle index file is missing 'localizations' property");
|
||||
}
|
||||
let strings;
|
||||
const format = (_a = localizations.format) !== null && _a !== void 0 ? _a : "json/inline" /* jsonInline */;
|
||||
if (format === "json/inline" /* jsonInline */) {
|
||||
const inlineLocalizations = localizations;
|
||||
strings = inlineLocalizations[language];
|
||||
}
|
||||
else {
|
||||
const externalLocalizations = localizations;
|
||||
switch (externalLocalizations.format) {
|
||||
case "json/multi-file" /* jsonMultiFile */:
|
||||
{
|
||||
// The path points to directory where JSON files are located.
|
||||
// We don't even have to list a directory, just construct a final path.
|
||||
// The path is also not an OS path but a bundle (e.g. JetPack) path.
|
||||
// Bundle APIs always use "/" in the path, same as the paths used in the
|
||||
// index.json (manifest) files.
|
||||
const jsonPath = `${externalLocalizations.path}/${language}.json`;
|
||||
strings = (await this.bundle.loadResource(jsonPath));
|
||||
}
|
||||
break;
|
||||
case "json/single-file" /* jsonSingleFile */:
|
||||
// The bundle contains single JSON file with all strings dictionary in it.
|
||||
strings = (await this.bundle.loadResource(externalLocalizations.path))[language];
|
||||
break;
|
||||
case "loctable" /* loctable */:
|
||||
throw new Error("Loctable format not supported in JS implementation");
|
||||
case "js" /* js */:
|
||||
throw new Error("Not yet implemented");
|
||||
default:
|
||||
throw new Error(`Unknown localization format: ${JSON.stringify(format)}`);
|
||||
}
|
||||
}
|
||||
if (environment_1.isNothing(strings)) {
|
||||
throw new Error(`Missing strings for ${language}`);
|
||||
}
|
||||
return new localized_strings_json_object_1.LocalizedStringsJSONObject(strings);
|
||||
}
|
||||
}
|
||||
exports.LocalizedStringsBundle = LocalizedStringsBundle;
|
||||
21
node_modules/@jet/engine/lib/dependencies/localized-strings-json-object.js
generated
vendored
Normal file
21
node_modules/@jet/engine/lib/dependencies/localized-strings-json-object.js
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.LocalizedStringsJSONObject = void 0;
|
||||
/**
|
||||
* A type providing access to underlying localized strings JSON object.
|
||||
*/
|
||||
class LocalizedStringsJSONObject {
|
||||
/**
|
||||
* Create localized strings JSON object.
|
||||
*
|
||||
* @param strings - A dictionary containing localized strings.
|
||||
*/
|
||||
constructor(strings) {
|
||||
this.strings = strings;
|
||||
}
|
||||
// MARK: - Localized Strings
|
||||
string(key) {
|
||||
return this.strings[key];
|
||||
}
|
||||
}
|
||||
exports.LocalizedStringsJSONObject = LocalizedStringsJSONObject;
|
||||
15
node_modules/@jet/engine/lib/index.js
generated
vendored
Normal file
15
node_modules/@jet/engine/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
"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("./actions"), exports);
|
||||
__exportStar(require("./dependencies"), exports);
|
||||
__exportStar(require("./metrics"), exports);
|
||||
16
node_modules/@jet/engine/lib/metrics/aggregating/index.js
generated
vendored
Normal file
16
node_modules/@jet/engine/lib/metrics/aggregating/index.js
generated
vendored
Normal file
@@ -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);
|
||||
45
node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-aggregator.js
generated
vendored
Normal file
45
node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-aggregator.js
generated
vendored
Normal file
@@ -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;
|
||||
15
node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-builder.js
generated
vendored
Normal file
15
node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-builder.js
generated
vendored
Normal file
@@ -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;
|
||||
2
node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-context.js
generated
vendored
Normal file
2
node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-context.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
2
node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-provider.js
generated
vendored
Normal file
2
node_modules/@jet/engine/lib/metrics/aggregating/metrics-fields-provider.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
13
node_modules/@jet/engine/lib/metrics/field-providers/index.js
generated
vendored
Normal file
13
node_modules/@jet/engine/lib/metrics/field-providers/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"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("./page-metrics-fields-provider"), exports);
|
||||
19
node_modules/@jet/engine/lib/metrics/field-providers/page-metrics-fields-provider.js
generated
vendored
Normal file
19
node_modules/@jet/engine/lib/metrics/field-providers/page-metrics-fields-provider.js
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.PageMetricsFieldsProvider = void 0;
|
||||
const optional_1 = require("@jet/environment/types/optional");
|
||||
class PageMetricsFieldsProvider {
|
||||
addMetricsFields(builder, context) {
|
||||
const pageFields = context.pageFields;
|
||||
if (optional_1.isNothing(pageFields)) {
|
||||
// No page fields
|
||||
return;
|
||||
}
|
||||
for (const field in pageFields) {
|
||||
if (Object.prototype.hasOwnProperty.call(pageFields, field)) {
|
||||
builder.addValue(pageFields[field], field);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.PageMetricsFieldsProvider = PageMetricsFieldsProvider;
|
||||
18
node_modules/@jet/engine/lib/metrics/index.js
generated
vendored
Normal file
18
node_modules/@jet/engine/lib/metrics/index.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
"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("./aggregating"), exports);
|
||||
__exportStar(require("./field-providers"), exports);
|
||||
__exportStar(require("./linting"), exports);
|
||||
__exportStar(require("./presenters"), exports);
|
||||
__exportStar(require("./metrics-pipeline"), exports);
|
||||
__exportStar(require("./recording"), exports);
|
||||
13
node_modules/@jet/engine/lib/metrics/linting/index.js
generated
vendored
Normal file
13
node_modules/@jet/engine/lib/metrics/linting/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"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-event-linter"), exports);
|
||||
2
node_modules/@jet/engine/lib/metrics/linting/metrics-event-linter.js
generated
vendored
Normal file
2
node_modules/@jet/engine/lib/metrics/linting/metrics-event-linter.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
34
node_modules/@jet/engine/lib/metrics/metrics-pipeline.js
generated
vendored
Normal file
34
node_modules/@jet/engine/lib/metrics/metrics-pipeline.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.MetricsPipeline = exports.FlushBehavior = void 0;
|
||||
const metrics_fields_builder_1 = require("./aggregating/metrics-fields-builder");
|
||||
var FlushBehavior;
|
||||
(function (FlushBehavior) {
|
||||
FlushBehavior[FlushBehavior["automatic"] = 0] = "automatic";
|
||||
FlushBehavior[FlushBehavior["never"] = 1] = "never";
|
||||
})(FlushBehavior = exports.FlushBehavior || (exports.FlushBehavior = {}));
|
||||
class MetricsPipeline {
|
||||
constructor(options) {
|
||||
var _a;
|
||||
this.aggregator = options.aggregator;
|
||||
this.linter = options.linter;
|
||||
this.recorder = options.recorder;
|
||||
this.flushBehavior = (_a = options.flushBehavior) !== null && _a !== void 0 ? _a : FlushBehavior.automatic;
|
||||
}
|
||||
async process(data, context) {
|
||||
const builder = new metrics_fields_builder_1.SimpleMetricsFieldsBuilder(data.fields);
|
||||
this.aggregator.addMetricsFields({
|
||||
including: data.includingFields,
|
||||
excluding: data.excludingFields,
|
||||
builder: builder,
|
||||
context: context,
|
||||
});
|
||||
const lintedEvent = await this.linter.processEvent(builder.allMetricsFields);
|
||||
this.recorder.record(lintedEvent, data.topic);
|
||||
if (data.shouldFlush && this.flushBehavior === FlushBehavior.automatic) {
|
||||
void this.recorder.flush();
|
||||
}
|
||||
return lintedEvent;
|
||||
}
|
||||
}
|
||||
exports.MetricsPipeline = MetricsPipeline;
|
||||
13
node_modules/@jet/engine/lib/metrics/presenters/index.js
generated
vendored
Normal file
13
node_modules/@jet/engine/lib/metrics/presenters/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"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("./page-metrics-presenter"), exports);
|
||||
52
node_modules/@jet/engine/lib/metrics/presenters/page-metrics-presenter.js
generated
vendored
Normal file
52
node_modules/@jet/engine/lib/metrics/presenters/page-metrics-presenter.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.PageMetricsPresenter = void 0;
|
||||
const optional_1 = require("@jet/environment/types/optional");
|
||||
class PageMetricsPresenter {
|
||||
constructor(metricsPipeline) {
|
||||
this.metricsPipeline = metricsPipeline;
|
||||
this.isViewAppeared = false;
|
||||
}
|
||||
set pageMetrics(pageMetrics) {
|
||||
this.pageMetricsStore = pageMetrics;
|
||||
if (optional_1.isSome(pageMetrics) && this.isViewAppeared) {
|
||||
void this.processInstructions("pageEnter");
|
||||
}
|
||||
}
|
||||
get pageMetrics() {
|
||||
return this.pageMetricsStore;
|
||||
}
|
||||
async processInstructions(invocationPoint) {
|
||||
var _a, _b, _c;
|
||||
if (optional_1.isNothing(this.pageMetrics)) {
|
||||
return;
|
||||
}
|
||||
// istanbul ignore next
|
||||
const invocationContext = {
|
||||
customMetrics: (_a = this.baseContext) === null || _a === void 0 ? void 0 : _a.customMetrics,
|
||||
pageFields: {
|
||||
...(_b = this.baseContext) === null || _b === void 0 ? void 0 : _b.pageFields,
|
||||
...(_c = this.pageMetrics) === null || _c === void 0 ? void 0 : _c.pageFields,
|
||||
},
|
||||
};
|
||||
await Promise.all(this.pageMetrics.instructions.map((instruction) => {
|
||||
const { invocationPoints } = instruction;
|
||||
if (invocationPoints.length === 0 || !invocationPoints.includes(invocationPoint)) {
|
||||
return;
|
||||
}
|
||||
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
||||
return this.metricsPipeline.process(instruction.data, invocationContext);
|
||||
}));
|
||||
}
|
||||
async didEnterPage() {
|
||||
this.isViewAppeared = true;
|
||||
if (optional_1.isSome(this.pageMetrics)) {
|
||||
await this.processInstructions("pageEnter");
|
||||
}
|
||||
}
|
||||
async didLeavePage() {
|
||||
await this.processInstructions("pageExit");
|
||||
this.isViewAppeared = false;
|
||||
}
|
||||
}
|
||||
exports.PageMetricsPresenter = PageMetricsPresenter;
|
||||
14
node_modules/@jet/engine/lib/metrics/recording/index.js
generated
vendored
Normal file
14
node_modules/@jet/engine/lib/metrics/recording/index.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
"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("./logging-event-recorder"), exports);
|
||||
__exportStar(require("./metrics-event-recorder"), exports);
|
||||
13
node_modules/@jet/engine/lib/metrics/recording/logging-event-recorder.js
generated
vendored
Normal file
13
node_modules/@jet/engine/lib/metrics/recording/logging-event-recorder.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.LoggingEventRecorder = void 0;
|
||||
class LoggingEventRecorder {
|
||||
record(event) {
|
||||
console.log(`Record Event [${String(event.fields.eventType)}]`, event);
|
||||
}
|
||||
async flush() {
|
||||
console.log("Flushing");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
exports.LoggingEventRecorder = LoggingEventRecorder;
|
||||
2
node_modules/@jet/engine/lib/metrics/recording/metrics-event-recorder.js
generated
vendored
Normal file
2
node_modules/@jet/engine/lib/metrics/recording/metrics-event-recorder.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
Reference in New Issue
Block a user