@segment/action-destinations 3.259.0-staging-4c89a68 → 3.259.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.
- package/dist/destinations/amazon-ads/generated-types.d.ts +0 -9
- package/dist/destinations/amazon-ads/index.d.ts +2 -2
- package/dist/destinations/amazon-ads/index.js +3 -169
- package/dist/destinations/amazon-ads/index.js.map +1 -1
- package/dist/destinations/amazon-ads/syncAudiences/generated-types.d.ts +0 -19
- package/dist/destinations/amazon-ads/syncAudiences/index.js +7 -157
- package/dist/destinations/amazon-ads/syncAudiences/index.js.map +1 -1
- package/dist/destinations/engage/utils/EngageActionPerformer.js +0 -1
- package/dist/destinations/engage/utils/EngageActionPerformer.js.map +1 -1
- package/dist/destinations/engage/utils/ResponseError.d.ts +0 -1
- package/dist/destinations/engage/utils/ResponseError.js.map +1 -1
- package/dist/destinations/engage/utils/track.d.ts +17 -17
- package/dist/destinations/google-enhanced-conversions/functions.d.ts +0 -7
- package/dist/destinations/google-enhanced-conversions/functions.js +3 -7
- package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/kafka/index.js +7 -14
- package/dist/destinations/kafka/index.js.map +1 -1
- package/dist/destinations/kafka/utils.d.ts +0 -4
- package/dist/destinations/kafka/utils.js +1 -39
- package/dist/destinations/kafka/utils.js.map +1 -1
- package/dist/destinations/klaviyo/functions.d.ts +4 -7
- package/dist/destinations/klaviyo/functions.js +1 -80
- package/dist/destinations/klaviyo/functions.js.map +1 -1
- package/dist/destinations/klaviyo/types.d.ts +0 -97
- package/dist/destinations/klaviyo/upsertProfile/index.js +19 -29
- package/dist/destinations/klaviyo/upsertProfile/index.js.map +1 -1
- package/dist/destinations/segment/segment-properties.d.ts +0 -1
- package/dist/destinations/segment/segment-properties.js +1 -8
- package/dist/destinations/segment/segment-properties.js.map +1 -1
- package/dist/destinations/segment/sendGroup/generated-types.d.ts +0 -1
- package/dist/destinations/segment/sendGroup/index.js +0 -2
- package/dist/destinations/segment/sendGroup/index.js.map +1 -1
- package/dist/destinations/segment/sendIdentify/generated-types.d.ts +0 -1
- package/dist/destinations/segment/sendIdentify/index.js +0 -2
- package/dist/destinations/segment/sendIdentify/index.js.map +1 -1
- package/dist/destinations/segment/sendPage/generated-types.d.ts +0 -1
- package/dist/destinations/segment/sendPage/index.js +0 -2
- package/dist/destinations/segment/sendPage/index.js.map +1 -1
- package/dist/destinations/segment/sendScreen/generated-types.d.ts +0 -1
- package/dist/destinations/segment/sendScreen/index.js +0 -2
- package/dist/destinations/segment/sendScreen/index.js.map +1 -1
- package/dist/destinations/segment/sendTrack/generated-types.d.ts +0 -1
- package/dist/destinations/segment/sendTrack/index.js +0 -2
- package/dist/destinations/segment/sendTrack/index.js.map +1 -1
- package/dist/destinations/segment-profiles/segment-properties.d.ts +0 -1
- package/dist/destinations/segment-profiles/segment-properties.js +1 -8
- package/dist/destinations/segment-profiles/segment-properties.js.map +1 -1
- package/dist/destinations/segment-profiles/sendGroup/generated-types.d.ts +0 -1
- package/dist/destinations/segment-profiles/sendGroup/index.js +1 -3
- package/dist/destinations/segment-profiles/sendGroup/index.js.map +1 -1
- package/dist/destinations/segment-profiles/sendIdentify/generated-types.d.ts +0 -1
- package/dist/destinations/segment-profiles/sendIdentify/index.js +1 -3
- package/dist/destinations/segment-profiles/sendIdentify/index.js.map +1 -1
- package/dist/destinations/segment-profiles/sendSubscription/generated-types.d.ts +0 -1
- package/dist/destinations/segment-profiles/sendSubscription/index.js +1 -3
- package/dist/destinations/segment-profiles/sendSubscription/index.js.map +1 -1
- package/dist/destinations/segment-profiles/sendSubscription/subscription-properties.d.ts +0 -1
- package/dist/destinations/segment-profiles/sendSubscription/subscription-properties.js +1 -8
- package/dist/destinations/segment-profiles/sendSubscription/subscription-properties.js.map +1 -1
- package/dist/destinations/segment-profiles/sendTrack/generated-types.d.ts +0 -1
- package/dist/destinations/segment-profiles/sendTrack/index.js +1 -3
- package/dist/destinations/segment-profiles/sendTrack/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/destinations/amazon-ads/utils.d.ts +0 -25
- package/dist/destinations/amazon-ads/utils.js +0 -8
- package/dist/destinations/amazon-ads/utils.js.map +0 -1
- package/dist/destinations/engage/sendgrid/Profile.d.ts +0 -6
- package/dist/destinations/engage/sendgrid/Profile.js +0 -3
- package/dist/destinations/engage/sendgrid/Profile.js.map +0 -1
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +0 -18
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +0 -94
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEntered/generated-types.d.ts +0 -13
- package/dist/destinations/liveramp-audiences/audienceEntered/generated-types.js +0 -3
- package/dist/destinations/liveramp-audiences/audienceEntered/generated-types.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEntered/index.d.ts +0 -5
- package/dist/destinations/liveramp-audiences/audienceEntered/index.js +0 -95
- package/dist/destinations/liveramp-audiences/audienceEntered/index.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.d.ts +0 -6
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.js +0 -37
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.d.ts +0 -7
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.js +0 -52
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.js.map +0 -1
- package/dist/destinations/mixpanel/utils.d.ts +0 -13
- package/dist/destinations/mixpanel/utils.js +0 -117
- package/dist/destinations/mixpanel/utils.js.map +0 -1
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface Payload {
|
|
2
|
-
audience_key: string;
|
|
3
|
-
identifier_data?: {
|
|
4
|
-
[k: string]: unknown;
|
|
5
|
-
};
|
|
6
|
-
unhashed_identifier_data?: {
|
|
7
|
-
[k: string]: unknown;
|
|
8
|
-
};
|
|
9
|
-
delimiter: string;
|
|
10
|
-
filename: string;
|
|
11
|
-
enable_batching: boolean;
|
|
12
|
-
batch_size?: number;
|
|
13
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
-
const s3_1 = require("./s3");
|
|
5
|
-
const sftp_1 = require("./sftp");
|
|
6
|
-
const operations_1 = require("../operations");
|
|
7
|
-
const action = {
|
|
8
|
-
title: 'Audience Entered',
|
|
9
|
-
description: 'Uploads audience membership data to a file for LiveRamp ingestion.',
|
|
10
|
-
defaultSubscription: 'event = "Audience Entered"',
|
|
11
|
-
fields: {
|
|
12
|
-
audience_key: {
|
|
13
|
-
label: 'Audience Key',
|
|
14
|
-
description: 'Identifies the user within the entered audience.',
|
|
15
|
-
type: 'string',
|
|
16
|
-
required: true,
|
|
17
|
-
default: { '@path': '$.userId' }
|
|
18
|
-
},
|
|
19
|
-
identifier_data: {
|
|
20
|
-
label: 'Identifier Data',
|
|
21
|
-
description: `Additional data pertaining to the user to be written to the file.`,
|
|
22
|
-
type: 'object',
|
|
23
|
-
required: false,
|
|
24
|
-
defaultObjectUI: 'keyvalue:only'
|
|
25
|
-
},
|
|
26
|
-
unhashed_identifier_data: {
|
|
27
|
-
label: 'Hashable Identifier Data',
|
|
28
|
-
description: `Additional data pertaining to the user to be hashed before written to the file`,
|
|
29
|
-
type: 'object',
|
|
30
|
-
required: false,
|
|
31
|
-
defaultObjectUI: 'keyvalue:only'
|
|
32
|
-
},
|
|
33
|
-
delimiter: {
|
|
34
|
-
label: 'Delimeter',
|
|
35
|
-
description: `Character used to separate tokens in the resulting file.`,
|
|
36
|
-
type: 'string',
|
|
37
|
-
required: true,
|
|
38
|
-
default: ','
|
|
39
|
-
},
|
|
40
|
-
filename: {
|
|
41
|
-
label: 'Filename',
|
|
42
|
-
description: `Name of the CSV file to upload for LiveRamp ingestion.`,
|
|
43
|
-
type: 'string',
|
|
44
|
-
required: true,
|
|
45
|
-
default: { '@template': '{{properties.audience_key}}_PII_{{timestamp}}.csv' }
|
|
46
|
-
},
|
|
47
|
-
enable_batching: {
|
|
48
|
-
type: 'boolean',
|
|
49
|
-
label: 'Batch data',
|
|
50
|
-
description: 'Receive events in a batch payload. This is required for LiveRamp audiences ingestion.',
|
|
51
|
-
required: true,
|
|
52
|
-
default: true
|
|
53
|
-
},
|
|
54
|
-
batch_size: {
|
|
55
|
-
label: 'Batch Size',
|
|
56
|
-
description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
|
|
57
|
-
type: 'number',
|
|
58
|
-
required: false,
|
|
59
|
-
default: 1000000
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
perform: async (request, { settings, payload }) => {
|
|
63
|
-
return processData(request, settings, [payload]);
|
|
64
|
-
},
|
|
65
|
-
performBatch: (request, { settings, payload }) => {
|
|
66
|
-
return processData(request, settings, payload);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
async function processData(request, settings, payloads) {
|
|
70
|
-
const LIVERAMP_MIN_RECORD_COUNT = 25;
|
|
71
|
-
if (payloads.length < LIVERAMP_MIN_RECORD_COUNT) {
|
|
72
|
-
throw new actions_core_1.PayloadValidationError(`received payload count below LiveRamp's ingestion limits. expected: >=${LIVERAMP_MIN_RECORD_COUNT} actual: ${payloads.length}`);
|
|
73
|
-
}
|
|
74
|
-
switch (settings.upload_mode) {
|
|
75
|
-
case 'S3':
|
|
76
|
-
s3_1.validateS3(settings);
|
|
77
|
-
break;
|
|
78
|
-
case 'SFTP':
|
|
79
|
-
sftp_1.validateSFTP(settings);
|
|
80
|
-
break;
|
|
81
|
-
default:
|
|
82
|
-
throw new actions_core_1.InvalidAuthenticationError(`Unexpected upload mode: ${settings.upload_mode}`);
|
|
83
|
-
}
|
|
84
|
-
const { filename, fileContent } = operations_1.generateFile(payloads);
|
|
85
|
-
switch (settings.upload_mode) {
|
|
86
|
-
case 'S3':
|
|
87
|
-
return s3_1.uploadS3(settings, filename, fileContent, request);
|
|
88
|
-
case 'SFTP': {
|
|
89
|
-
const sftpClient = new sftp_1.Client();
|
|
90
|
-
return sftp_1.uploadSFTP(sftpClient, settings, filename, fileContent);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
exports.default = action;
|
|
95
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { ModifiedResponse, RequestOptions } from '@segment/actions-core';
|
|
3
|
-
import { Settings } from '../generated-types';
|
|
4
|
-
declare function validateS3(settings: Settings): void;
|
|
5
|
-
declare function uploadS3(settings: Settings, filename: string, fileContent: Buffer, request: <Data = unknown>(url: string, options?: RequestOptions) => Promise<ModifiedResponse<Data>>): Promise<ModifiedResponse<unknown>>;
|
|
6
|
-
export { validateS3, uploadS3 };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.uploadS3 = exports.validateS3 = void 0;
|
|
7
|
-
const s3_1 = __importDefault(require("../../../lib/AWS/s3"));
|
|
8
|
-
const actions_core_1 = require("@segment/actions-core");
|
|
9
|
-
function validateS3(settings) {
|
|
10
|
-
if (!settings.s3_aws_access_key) {
|
|
11
|
-
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Access Key');
|
|
12
|
-
}
|
|
13
|
-
if (!settings.s3_aws_secret_key) {
|
|
14
|
-
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Secret Key');
|
|
15
|
-
}
|
|
16
|
-
if (!settings.s3_aws_bucket_name) {
|
|
17
|
-
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS S3 bucket name');
|
|
18
|
-
}
|
|
19
|
-
if (!settings.s3_aws_region) {
|
|
20
|
-
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Region');
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.validateS3 = validateS3;
|
|
24
|
-
async function uploadS3(settings, filename, fileContent, request) {
|
|
25
|
-
const method = 'PUT';
|
|
26
|
-
const opts = await s3_1.default(settings.s3_aws_bucket_name, settings.s3_aws_region, filename, method, fileContent, settings.s3_aws_access_key, settings.s3_aws_secret_key);
|
|
27
|
-
if (!opts.headers || !opts.method || !opts.host || !opts.path) {
|
|
28
|
-
throw new actions_core_1.InvalidAuthenticationError('Unable to generate signature header for AWS S3 request.');
|
|
29
|
-
}
|
|
30
|
-
return await request(`https://${opts.host}/${opts.path}`, {
|
|
31
|
-
headers: opts.headers,
|
|
32
|
-
method,
|
|
33
|
-
body: opts.body
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
exports.uploadS3 = uploadS3;
|
|
37
|
-
//# sourceMappingURL=s3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/s3.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA0D;AAC1D,wDAAoG;AAGpG,SAAS,UAAU,CAAC,QAAkB;IACpC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;QAChC,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,iDAAiD,CAAC,CAAA;KACxF;AACH,CAAC;AA6BQ,gCAAU;AA3BnB,KAAK,UAAU,QAAQ,CACrB,QAAkB,EAClB,QAAgB,EAChB,WAAmB,EACnB,OAAmG;IAEnG,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,MAAM,YAAwB,CACzC,QAAQ,CAAC,kBAA4B,EACrC,QAAQ,CAAC,aAAuB,EAChC,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,CAAC,iBAA2B,EACpC,QAAQ,CAAC,iBAA2B,CACrC,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAC7D,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,OAAO,MAAM,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;QACxD,OAAO,EAAE,IAAI,CAAC,OAAiC;QAC/C,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAA;AACJ,CAAC;AAEoB,4BAAQ"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import Client from 'ssh2-sftp-client';
|
|
3
|
-
import { Settings } from '../generated-types';
|
|
4
|
-
declare function validateSFTP(settings: Settings): void;
|
|
5
|
-
declare function uploadSFTP(sftp: Client, settings: Settings, filename: string, fileContent: Buffer): Promise<unknown>;
|
|
6
|
-
declare function testAuthenticationSFTP(sftp: Client, settings: Settings): Promise<unknown>;
|
|
7
|
-
export { validateSFTP, uploadSFTP, testAuthenticationSFTP, Client };
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Client = exports.testAuthenticationSFTP = exports.uploadSFTP = exports.validateSFTP = void 0;
|
|
7
|
-
const actions_core_1 = require("@segment/actions-core");
|
|
8
|
-
const ssh2_sftp_client_1 = __importDefault(require("ssh2-sftp-client"));
|
|
9
|
-
exports.Client = ssh2_sftp_client_1.default;
|
|
10
|
-
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const LIVERAMP_SFTP_SERVER = 'files.liveramp.com';
|
|
12
|
-
const LIVERAMP_SFTP_PORT = 22;
|
|
13
|
-
function validateSFTP(settings) {
|
|
14
|
-
if (!settings.sftp_username) {
|
|
15
|
-
throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing credentials (Username)');
|
|
16
|
-
}
|
|
17
|
-
if (!settings.sftp_password) {
|
|
18
|
-
throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing credentials (Password)');
|
|
19
|
-
}
|
|
20
|
-
if (!settings.sftp_folder_path) {
|
|
21
|
-
throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing SFTP folder path.');
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.validateSFTP = validateSFTP;
|
|
25
|
-
async function uploadSFTP(sftp, settings, filename, fileContent) {
|
|
26
|
-
return doSFTP(sftp, settings, async (sftp) => {
|
|
27
|
-
const targetPath = path_1.default.join(settings.sftp_folder_path, filename);
|
|
28
|
-
return sftp.put(fileContent, targetPath);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
exports.uploadSFTP = uploadSFTP;
|
|
32
|
-
async function doSFTP(sftp, settings, action) {
|
|
33
|
-
await sftp.connect({
|
|
34
|
-
host: LIVERAMP_SFTP_SERVER,
|
|
35
|
-
port: LIVERAMP_SFTP_PORT,
|
|
36
|
-
username: settings.sftp_username,
|
|
37
|
-
password: settings.sftp_password
|
|
38
|
-
});
|
|
39
|
-
const retVal = await action(sftp);
|
|
40
|
-
await sftp.end();
|
|
41
|
-
return retVal;
|
|
42
|
-
}
|
|
43
|
-
async function testAuthenticationSFTP(sftp, settings) {
|
|
44
|
-
return doSFTP(sftp, settings, async (sftp) => {
|
|
45
|
-
return sftp.exists(settings.sftp_folder_path).then((fileType) => {
|
|
46
|
-
if (!fileType)
|
|
47
|
-
throw new Error(`Could not find path: ${settings.sftp_folder_path}`);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
exports.testAuthenticationSFTP = testAuthenticationSFTP;
|
|
52
|
-
//# sourceMappingURL=sftp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sftp.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/sftp.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkE;AAClE,wEAAqC;AAiDsB,iBAjDpD,0BAAM,CAiDoD;AAhDjE,gDAAuB;AAGvB,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AACjD,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B,SAAS,YAAY,CAAC,QAAkB;IACtC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,0DAA0D,CAAC,CAAA;KACjG;AACH,CAAC;AA8BQ,oCAAY;AA5BrB,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAkB,EAAE,QAAgB,EAAE,WAAmB;IAC/F,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAA0B,EAAE,QAAQ,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC;AAuBsB,gCAAU;AArBjC,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,QAAkB,EAAE,MAA4C;IAClG,MAAM,IAAI,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,QAAQ,CAAC,aAAa;QAChC,QAAQ,EAAE,QAAQ,CAAC,aAAa;KACjC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;IAChB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAkB;IACpE,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACxE,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAA;QACrF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAEkC,wDAAsB"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare enum ApiRegions {
|
|
2
|
-
US = "US \uD83C\uDDFA\uD83C\uDDF8",
|
|
3
|
-
EU = "EU \uD83C\uDDEA\uD83C\uDDFA"
|
|
4
|
-
}
|
|
5
|
-
export declare enum StrictMode {
|
|
6
|
-
ON = "1",
|
|
7
|
-
OFF = "0"
|
|
8
|
-
}
|
|
9
|
-
export declare function getConcatenatedName(firstName: unknown, lastName: unknown, name: unknown): unknown;
|
|
10
|
-
export declare function getApiServerUrl(apiRegion: string | undefined): "https://api-eu.mixpanel.com" | "https://api.mixpanel.com";
|
|
11
|
-
export declare function getBrowser(userAgent: string): string;
|
|
12
|
-
export declare function getBrowserVersion(userAgent: string): string | undefined;
|
|
13
|
-
export declare function cheapGuid(maxlen?: number): string;
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cheapGuid = exports.getBrowserVersion = exports.getBrowser = exports.getApiServerUrl = exports.getConcatenatedName = exports.StrictMode = exports.ApiRegions = void 0;
|
|
4
|
-
var ApiRegions;
|
|
5
|
-
(function (ApiRegions) {
|
|
6
|
-
ApiRegions["US"] = "US \uD83C\uDDFA\uD83C\uDDF8";
|
|
7
|
-
ApiRegions["EU"] = "EU \uD83C\uDDEA\uD83C\uDDFA";
|
|
8
|
-
})(ApiRegions = exports.ApiRegions || (exports.ApiRegions = {}));
|
|
9
|
-
var StrictMode;
|
|
10
|
-
(function (StrictMode) {
|
|
11
|
-
StrictMode["ON"] = "1";
|
|
12
|
-
StrictMode["OFF"] = "0";
|
|
13
|
-
})(StrictMode = exports.StrictMode || (exports.StrictMode = {}));
|
|
14
|
-
function getConcatenatedName(firstName, lastName, name) {
|
|
15
|
-
return name ?? (firstName && lastName ? `${firstName} ${lastName}` : undefined);
|
|
16
|
-
}
|
|
17
|
-
exports.getConcatenatedName = getConcatenatedName;
|
|
18
|
-
function getApiServerUrl(apiRegion) {
|
|
19
|
-
if (apiRegion == ApiRegions.EU) {
|
|
20
|
-
return 'https://api-eu.mixpanel.com';
|
|
21
|
-
}
|
|
22
|
-
return 'https://api.mixpanel.com';
|
|
23
|
-
}
|
|
24
|
-
exports.getApiServerUrl = getApiServerUrl;
|
|
25
|
-
function getBrowser(userAgent) {
|
|
26
|
-
if (userAgent.includes(' OPR/')) {
|
|
27
|
-
if (userAgent.includes('Mini')) {
|
|
28
|
-
return 'Opera Mini';
|
|
29
|
-
}
|
|
30
|
-
return 'Opera';
|
|
31
|
-
}
|
|
32
|
-
else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {
|
|
33
|
-
return 'BlackBerry';
|
|
34
|
-
}
|
|
35
|
-
else if (userAgent.includes('IEMobile') || userAgent.includes('WPDesktop')) {
|
|
36
|
-
return 'Internet Explorer Mobile';
|
|
37
|
-
}
|
|
38
|
-
else if (userAgent.includes('SamsungBrowser/')) {
|
|
39
|
-
return 'Samsung Internet';
|
|
40
|
-
}
|
|
41
|
-
else if (userAgent.includes('Edge') || userAgent.includes('Edg/')) {
|
|
42
|
-
return 'Microsoft Edge';
|
|
43
|
-
}
|
|
44
|
-
else if (userAgent.includes('FBIOS')) {
|
|
45
|
-
return 'Facebook Mobile';
|
|
46
|
-
}
|
|
47
|
-
else if (userAgent.includes('Chrome')) {
|
|
48
|
-
return 'Chrome';
|
|
49
|
-
}
|
|
50
|
-
else if (userAgent.includes('CriOS')) {
|
|
51
|
-
return 'Chrome iOS';
|
|
52
|
-
}
|
|
53
|
-
else if (userAgent.includes('UCWEB') || userAgent.includes('UCBrowser')) {
|
|
54
|
-
return 'UC Browser';
|
|
55
|
-
}
|
|
56
|
-
else if (userAgent.includes('FxiOS')) {
|
|
57
|
-
return 'Firefox iOS';
|
|
58
|
-
}
|
|
59
|
-
else if (userAgent.includes('Safari')) {
|
|
60
|
-
return 'Safari';
|
|
61
|
-
}
|
|
62
|
-
else if (userAgent.includes('Android')) {
|
|
63
|
-
return 'Android Mobile';
|
|
64
|
-
}
|
|
65
|
-
else if (userAgent.includes('Konqueror')) {
|
|
66
|
-
return 'Konqueror';
|
|
67
|
-
}
|
|
68
|
-
else if (userAgent.includes('Firefox')) {
|
|
69
|
-
return 'Firefox';
|
|
70
|
-
}
|
|
71
|
-
else if (userAgent.includes('MSIE') || userAgent.includes('Trident/')) {
|
|
72
|
-
return 'Internet Explorer';
|
|
73
|
-
}
|
|
74
|
-
else if (userAgent.includes('Gecko')) {
|
|
75
|
-
return 'Mozilla';
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
return '';
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
exports.getBrowser = getBrowser;
|
|
82
|
-
function getBrowserVersion(userAgent) {
|
|
83
|
-
const browser = getBrowser(userAgent);
|
|
84
|
-
const versionRegexs = {
|
|
85
|
-
'Internet Explorer Mobile': /rv:(\d+(\.\d+)?)/,
|
|
86
|
-
'Microsoft Edge': /Edge?\/(\d+(\.\d+)?)/,
|
|
87
|
-
Chrome: /Chrome\/(\d+(\.\d+)?)/,
|
|
88
|
-
'Chrome iOS': /CriOS\/(\d+(\.\d+)?)/,
|
|
89
|
-
'UC Browser': /(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,
|
|
90
|
-
Safari: /Version\/(\d+(\.\d+)?)/,
|
|
91
|
-
'Mobile Safari': /Version\/(\d+(\.\d+)?)/,
|
|
92
|
-
Opera: /(Opera|OPR)\/(\d+(\.\d+)?)/,
|
|
93
|
-
Firefox: /Firefox\/(\d+(\.\d+)?)/,
|
|
94
|
-
'Firefox iOS': /FxiOS\/(\d+(\.\d+)?)/,
|
|
95
|
-
Konqueror: /Konqueror:(\d+(\.\d+)?)/,
|
|
96
|
-
BlackBerry: /BlackBerry (\d+(\.\d+)?)/,
|
|
97
|
-
'Android Mobile': /android\s(\d+(\.\d+)?)/,
|
|
98
|
-
'Samsung Internet': /SamsungBrowser\/(\d+(\.\d+)?)/,
|
|
99
|
-
'Internet Explorer': /(rv:|MSIE )(\d+(\.\d+)?)/,
|
|
100
|
-
Mozilla: /rv:(\d+(\.\d+)?)/
|
|
101
|
-
};
|
|
102
|
-
const regex = versionRegexs[browser];
|
|
103
|
-
if (!regex)
|
|
104
|
-
return regex;
|
|
105
|
-
const matches = regex.exec(userAgent);
|
|
106
|
-
if (!matches) {
|
|
107
|
-
return undefined;
|
|
108
|
-
}
|
|
109
|
-
return matches[matches.length - 2];
|
|
110
|
-
}
|
|
111
|
-
exports.getBrowserVersion = getBrowserVersion;
|
|
112
|
-
function cheapGuid(maxlen) {
|
|
113
|
-
const guid = Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10);
|
|
114
|
-
return maxlen ? guid.substring(0, maxlen) : guid;
|
|
115
|
-
}
|
|
116
|
-
exports.cheapGuid = cheapGuid;
|
|
117
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/mixpanel/utils.ts"],"names":[],"mappings":"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"}
|