@segment/action-destinations 3.244.0-staging-7136444b → 3.244.1
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/braze/updateUserProfile/__snapshots__/snapshot.test.d.ts +1 -0
- package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js +184 -0
- package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js.map +1 -0
- package/dist/destinations/customerio/deleteObject/generated-types.d.ts +4 -0
- package/dist/destinations/customerio/deleteObject/generated-types.js +3 -0
- package/dist/destinations/customerio/deleteObject/generated-types.js.map +1 -0
- package/dist/destinations/customerio/deleteObject/index.d.ts +5 -0
- package/dist/destinations/customerio/deleteObject/index.js +48 -0
- package/dist/destinations/customerio/deleteObject/index.js.map +1 -0
- package/dist/destinations/customerio/deletePerson/generated-types.d.ts +3 -0
- package/dist/destinations/customerio/deletePerson/generated-types.js +3 -0
- package/dist/destinations/customerio/deletePerson/generated-types.js.map +1 -0
- package/dist/destinations/customerio/deletePerson/index.d.ts +5 -0
- package/dist/destinations/customerio/deletePerson/index.js +41 -0
- package/dist/destinations/customerio/deletePerson/index.js.map +1 -0
- package/dist/destinations/customerio/deleteRelationship/generated-types.d.ts +6 -0
- package/dist/destinations/customerio/deleteRelationship/generated-types.js +3 -0
- package/dist/destinations/customerio/deleteRelationship/generated-types.js.map +1 -0
- package/dist/destinations/customerio/deleteRelationship/index.d.ts +5 -0
- package/dist/destinations/customerio/deleteRelationship/index.js +82 -0
- package/dist/destinations/customerio/deleteRelationship/index.js.map +1 -0
- package/dist/destinations/customerio/reportDeliveryEvent/generated-types.d.ts +10 -0
- package/dist/destinations/customerio/reportDeliveryEvent/generated-types.js +3 -0
- package/dist/destinations/customerio/reportDeliveryEvent/generated-types.js.map +1 -0
- package/dist/destinations/customerio/reportDeliveryEvent/index.d.ts +5 -0
- package/dist/destinations/customerio/reportDeliveryEvent/index.js +121 -0
- package/dist/destinations/customerio/reportDeliveryEvent/index.js.map +1 -0
- package/dist/destinations/customerio/suppressPerson/generated-types.d.ts +3 -0
- package/dist/destinations/customerio/suppressPerson/generated-types.js +3 -0
- package/dist/destinations/customerio/suppressPerson/generated-types.js.map +1 -0
- package/dist/destinations/customerio/suppressPerson/index.d.ts +5 -0
- package/dist/destinations/customerio/suppressPerson/index.js +41 -0
- package/dist/destinations/customerio/suppressPerson/index.js.map +1 -0
- package/dist/destinations/customerio/test-helper.d.ts +6 -0
- package/dist/destinations/customerio/test-helper.js +84 -0
- package/dist/destinations/customerio/test-helper.js.map +1 -0
- package/dist/destinations/customerio/unsuppressPerson/generated-types.d.ts +3 -0
- package/dist/destinations/customerio/unsuppressPerson/generated-types.js +3 -0
- package/dist/destinations/customerio/unsuppressPerson/generated-types.js.map +1 -0
- package/dist/destinations/customerio/unsuppressPerson/index.d.ts +5 -0
- package/dist/destinations/customerio/unsuppressPerson/index.js +41 -0
- package/dist/destinations/customerio/unsuppressPerson/index.js.map +1 -0
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +2 -5
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +18 -98
- package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +1 -1
- package/dist/destinations/engage/utils/track.d.ts +10 -10
- package/dist/destinations/klaviyo/removeProfileToList/generated-types.d.ts +4 -0
- package/dist/destinations/klaviyo/removeProfileToList/generated-types.js +3 -0
- package/dist/destinations/klaviyo/removeProfileToList/generated-types.js.map +1 -0
- package/dist/destinations/klaviyo/removeProfileToList/index.d.ts +5 -0
- package/dist/destinations/klaviyo/removeProfileToList/index.js +43 -0
- package/dist/destinations/klaviyo/removeProfileToList/index.js.map +1 -0
- package/dist/destinations/mixpanel/utils.d.ts +13 -0
- package/dist/destinations/mixpanel/utils.js +117 -0
- package/dist/destinations/mixpanel/utils.js.map +1 -0
- package/dist/destinations/movable-ink/categoryView/generated-types.d.ts +22 -0
- package/dist/destinations/movable-ink/categoryView/generated-types.js +3 -0
- package/dist/destinations/movable-ink/categoryView/generated-types.js.map +1 -0
- package/dist/destinations/movable-ink/categoryView/index.d.ts +5 -0
- package/dist/destinations/movable-ink/categoryView/index.js +43 -0
- package/dist/destinations/movable-ink/categoryView/index.js.map +1 -0
- package/dist/destinations/movable-ink/conversion/generated-types.d.ts +20 -0
- package/dist/destinations/movable-ink/conversion/generated-types.js +3 -0
- package/dist/destinations/movable-ink/conversion/generated-types.js.map +1 -0
- package/dist/destinations/movable-ink/conversion/index.d.ts +5 -0
- package/dist/destinations/movable-ink/conversion/index.js +45 -0
- package/dist/destinations/movable-ink/conversion/index.js.map +1 -0
- package/dist/destinations/movable-ink/fields.d.ts +21 -0
- package/dist/destinations/movable-ink/fields.js +236 -0
- package/dist/destinations/movable-ink/fields.js.map +1 -0
- package/dist/destinations/movable-ink/identify/generated-types.d.ts +7 -0
- package/dist/destinations/movable-ink/identify/generated-types.js +3 -0
- package/dist/destinations/movable-ink/identify/generated-types.js.map +1 -0
- package/dist/destinations/movable-ink/identify/index.d.ts +5 -0
- package/dist/destinations/movable-ink/identify/index.js +32 -0
- package/dist/destinations/movable-ink/identify/index.js.map +1 -0
- package/dist/destinations/movable-ink/productAdded/generated-types.d.ts +22 -0
- package/dist/destinations/movable-ink/productAdded/generated-types.js +3 -0
- package/dist/destinations/movable-ink/productAdded/generated-types.js.map +1 -0
- package/dist/destinations/movable-ink/productAdded/index.d.ts +5 -0
- package/dist/destinations/movable-ink/productAdded/index.js +43 -0
- package/dist/destinations/movable-ink/productAdded/index.js.map +1 -0
- package/dist/destinations/movable-ink/productViewed/generated-types.d.ts +21 -0
- package/dist/destinations/movable-ink/productViewed/generated-types.js +3 -0
- package/dist/destinations/movable-ink/productViewed/generated-types.js.map +1 -0
- package/dist/destinations/movable-ink/productViewed/index.d.ts +5 -0
- package/dist/destinations/movable-ink/productViewed/index.js +43 -0
- package/dist/destinations/movable-ink/productViewed/index.js.map +1 -0
- package/dist/destinations/movable-ink/search/generated-types.d.ts +12 -0
- package/dist/destinations/movable-ink/search/generated-types.js +3 -0
- package/dist/destinations/movable-ink/search/generated-types.js.map +1 -0
- package/dist/destinations/movable-ink/search/index.d.ts +5 -0
- package/dist/destinations/movable-ink/search/index.js +43 -0
- package/dist/destinations/movable-ink/search/index.js.map +1 -0
- package/dist/destinations/movable-ink/sendCustomEvent/generated-types.d.ts +25 -0
- package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js +3 -0
- package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js.map +1 -0
- package/dist/destinations/movable-ink/sendCustomEvent/index.d.ts +5 -0
- package/dist/destinations/movable-ink/sendCustomEvent/index.js +48 -0
- package/dist/destinations/movable-ink/sendCustomEvent/index.js.map +1 -0
- package/dist/destinations/segment/segment-properties.d.ts +1 -0
- package/dist/destinations/segment/segment-properties.js +7 -1
- package/dist/destinations/segment/segment-properties.js.map +1 -1
- package/dist/destinations/segment/sendGroup/generated-types.d.ts +1 -0
- package/dist/destinations/segment/sendGroup/index.js +39 -25
- package/dist/destinations/segment/sendGroup/index.js.map +1 -1
- package/dist/destinations/segment/sendIdentify/generated-types.d.ts +1 -0
- package/dist/destinations/segment/sendIdentify/index.js +39 -25
- package/dist/destinations/segment/sendIdentify/index.js.map +1 -1
- package/dist/destinations/segment/sendPage/generated-types.d.ts +1 -0
- package/dist/destinations/segment/sendPage/index.js +47 -33
- package/dist/destinations/segment/sendPage/index.js.map +1 -1
- package/dist/destinations/segment/sendScreen/generated-types.d.ts +1 -0
- package/dist/destinations/segment/sendScreen/index.js +40 -26
- package/dist/destinations/segment/sendScreen/index.js.map +1 -1
- package/dist/destinations/segment/sendTrack/generated-types.d.ts +1 -0
- package/dist/destinations/segment/sendTrack/index.js +43 -29
- package/dist/destinations/segment/sendTrack/index.js.map +1 -1
- package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +1 -0
- package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +381 -0
- package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +1 -0
- package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +1 -0
- package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +499 -0
- package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +1 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +4 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +97 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +1 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.d.ts +8 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js +126 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js.map +1 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.d.ts +13 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.js +40 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.js.map +1 -0
- package/dist/destinations/trackey/group.types.d.ts +11 -0
- package/dist/destinations/trackey/group.types.js +3 -0
- package/dist/destinations/trackey/group.types.js.map +1 -0
- package/dist/destinations/trackey/identify.types.d.ts +11 -0
- package/dist/destinations/trackey/identify.types.js +3 -0
- package/dist/destinations/trackey/identify.types.js.map +1 -0
- package/dist/destinations/trackey/track.types.d.ts +12 -0
- package/dist/destinations/trackey/track.types.js +3 -0
- package/dist/destinations/trackey/track.types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.performSnapCAPIv3 = exports.buildRequestURL = exports.validateAppOrPixelID = exports.formatPayload = exports.validatePayload = void 0;
|
|
4
|
+
const utils_1 = require("./utils");
|
|
5
|
+
const snap_capi_properties_1 = require("../snap-capi-properties");
|
|
6
|
+
const validatePayload = (payload) => {
|
|
7
|
+
utils_1.raiseMisconfiguredRequiredFieldErrorIf(!utils_1.isNullOrUndefined(payload.currency) && !snap_capi_properties_1.CURRENCY_ISO_4217_CODES.has(payload.currency.toUpperCase()), `${payload.currency} is not a valid currency code.`);
|
|
8
|
+
utils_1.raiseMisconfiguredRequiredFieldErrorIf(utils_1.isNullOrUndefined(payload.email) &&
|
|
9
|
+
utils_1.isNullOrUndefined(payload.phone_number) &&
|
|
10
|
+
utils_1.isNullOrUndefined(payload.mobile_ad_id) &&
|
|
11
|
+
(utils_1.isNullOrUndefined(payload.ip_address) || utils_1.isNullOrUndefined(payload.user_agent)), `Payload must contain values for Email or Phone Number or Mobile Ad Identifier or both IP Address and User Agent fields`);
|
|
12
|
+
return payload;
|
|
13
|
+
};
|
|
14
|
+
exports.validatePayload = validatePayload;
|
|
15
|
+
const eventConversionTypeToActionSource = {
|
|
16
|
+
WEB: 'website',
|
|
17
|
+
MOBILE_APP: 'app'
|
|
18
|
+
};
|
|
19
|
+
const iosAppIDRegex = new RegExp('^[0-9]+$');
|
|
20
|
+
const formatPayload = (payload, settings, isTest = true) => {
|
|
21
|
+
const action_source = eventConversionTypeToActionSource[payload.event_conversion_type] ?? 'other';
|
|
22
|
+
const event_id = utils_1.emptyToUndefined(payload.client_dedup_id);
|
|
23
|
+
const email = utils_1.hashEmailSafe(payload.email?.replace(/\s/g, '').toLowerCase());
|
|
24
|
+
const phone_number = utils_1.hash(payload.phone_number?.replace(/\D|^0+/g, ''));
|
|
25
|
+
const madid = payload.mobile_ad_id?.toLowerCase();
|
|
26
|
+
const products = (payload.products ?? []).filter(({ item_id }) => item_id != null);
|
|
27
|
+
const { content_ids, content_category, brands, num_items } = products.length > 0
|
|
28
|
+
? {
|
|
29
|
+
content_ids: products.map(({ item_id }) => item_id),
|
|
30
|
+
content_category: products.map(({ item_category }) => item_category),
|
|
31
|
+
brands: products.map((product) => product.brand ?? ''),
|
|
32
|
+
num_items: products.length
|
|
33
|
+
}
|
|
34
|
+
:
|
|
35
|
+
{
|
|
36
|
+
content_ids: payload.item_ids,
|
|
37
|
+
content_category: payload.item_category,
|
|
38
|
+
brands: payload.brands,
|
|
39
|
+
num_items: payload.number_items
|
|
40
|
+
};
|
|
41
|
+
const extInfoVersion = iosAppIDRegex.test((settings.app_id ?? '').trim()) ? 'i2' : 'a2';
|
|
42
|
+
const result = {
|
|
43
|
+
data: [
|
|
44
|
+
{
|
|
45
|
+
integration: 'segment',
|
|
46
|
+
event_id,
|
|
47
|
+
event_name: payload.event_type,
|
|
48
|
+
event_source_url: payload.page_url,
|
|
49
|
+
event_time: Date.parse(payload.timestamp),
|
|
50
|
+
user_data: {
|
|
51
|
+
client_ip_address: payload.ip_address,
|
|
52
|
+
client_user_agent: payload.user_agent,
|
|
53
|
+
em: utils_1.box(email),
|
|
54
|
+
madid,
|
|
55
|
+
ph: utils_1.box(phone_number),
|
|
56
|
+
sc_click_id: payload.click_id,
|
|
57
|
+
sc_cookie1: payload.uuid_c1
|
|
58
|
+
},
|
|
59
|
+
custom_data: {
|
|
60
|
+
brands,
|
|
61
|
+
content_category,
|
|
62
|
+
content_ids,
|
|
63
|
+
currency: payload.currency,
|
|
64
|
+
num_items,
|
|
65
|
+
order_id: utils_1.emptyToUndefined(payload.transaction_id),
|
|
66
|
+
search_string: payload.search_string,
|
|
67
|
+
sign_up_method: payload.sign_up_method,
|
|
68
|
+
value: payload.price
|
|
69
|
+
},
|
|
70
|
+
action_source,
|
|
71
|
+
app_data: !utils_1.isNullOrUndefined(payload.os_version ?? payload.device_model)
|
|
72
|
+
? {
|
|
73
|
+
extinfo: [
|
|
74
|
+
extInfoVersion,
|
|
75
|
+
'',
|
|
76
|
+
'',
|
|
77
|
+
'',
|
|
78
|
+
payload.os_version ?? '',
|
|
79
|
+
payload.device_model ?? '',
|
|
80
|
+
'',
|
|
81
|
+
'',
|
|
82
|
+
'',
|
|
83
|
+
'',
|
|
84
|
+
'',
|
|
85
|
+
'',
|
|
86
|
+
'',
|
|
87
|
+
'',
|
|
88
|
+
'',
|
|
89
|
+
''
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
: undefined
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
...(isTest ? { test_event_code: 'segment_test' } : {})
|
|
96
|
+
};
|
|
97
|
+
return result;
|
|
98
|
+
};
|
|
99
|
+
exports.formatPayload = formatPayload;
|
|
100
|
+
const validateAppOrPixelID = (settings, event_conversion_type) => {
|
|
101
|
+
const { snap_app_id, pixel_id } = settings;
|
|
102
|
+
const snapAppID = utils_1.emptyToUndefined(snap_app_id);
|
|
103
|
+
const snapPixelID = utils_1.emptyToUndefined(pixel_id);
|
|
104
|
+
const appOrPixelID = snapAppID ?? snapPixelID;
|
|
105
|
+
utils_1.raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined(appOrPixelID, 'Missing valid app or pixel ID');
|
|
106
|
+
utils_1.raiseMisconfiguredRequiredFieldErrorIf(event_conversion_type === 'MOBILE_APP' && utils_1.isNullOrUndefined(snapAppID), 'If event conversion type is "MOBILE_APP" then Snap App ID and App ID must be defined');
|
|
107
|
+
utils_1.raiseMisconfiguredRequiredFieldErrorIf(event_conversion_type === 'WEB' && utils_1.isNullOrUndefined(snapPixelID), `If event conversion type is "${event_conversion_type}" then Pixel ID must be defined`);
|
|
108
|
+
return appOrPixelID;
|
|
109
|
+
};
|
|
110
|
+
exports.validateAppOrPixelID = validateAppOrPixelID;
|
|
111
|
+
const buildRequestURL = (appOrPixelID, authToken) => `https://tr.snapchat.com/v3/${appOrPixelID}/events?access_token=${authToken}`;
|
|
112
|
+
exports.buildRequestURL = buildRequestURL;
|
|
113
|
+
const performSnapCAPIv3 = async (request, data, isTest = true) => {
|
|
114
|
+
const { payload, settings } = data;
|
|
115
|
+
const { event_conversion_type } = payload;
|
|
116
|
+
const authToken = data.auth?.accessToken;
|
|
117
|
+
utils_1.raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined(authToken, 'Missing valid auth token');
|
|
118
|
+
const url = exports.buildRequestURL(exports.validateAppOrPixelID(settings, event_conversion_type), authToken);
|
|
119
|
+
const json = exports.formatPayload(exports.validatePayload(payload), settings, isTest);
|
|
120
|
+
return request(url, {
|
|
121
|
+
method: 'post',
|
|
122
|
+
json
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
exports.performSnapCAPIv3 = performSnapCAPIv3;
|
|
126
|
+
//# sourceMappingURL=snap-capi-v3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snap-capi-v3.js","sourceRoot":"","sources":["../../../../src/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const isNullOrUndefined: <T>(v: T | null | undefined) => v is null | undefined;
|
|
2
|
+
export declare const hash: (value: string | undefined) => string | undefined;
|
|
3
|
+
export declare const isHashedEmail: (email: string) => boolean;
|
|
4
|
+
export declare const transformProperty: (property: string, items: Array<Record<string, string | number | undefined>>) => string;
|
|
5
|
+
export declare const hashEmailSafe: (email: string | undefined) => string | undefined;
|
|
6
|
+
export declare const emptyToUndefined: (str: string | undefined) => string | undefined;
|
|
7
|
+
export declare const raiseMisconfiguredRequiredFieldErrorIf: (condition: boolean, message: string) => void;
|
|
8
|
+
interface S {
|
|
9
|
+
raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined<T>(v: T | undefined, message: string): asserts v is T;
|
|
10
|
+
}
|
|
11
|
+
export declare const raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined: S['raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined'];
|
|
12
|
+
export declare const box: <T>(v: T | undefined) => readonly T[];
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.box = exports.raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined = exports.raiseMisconfiguredRequiredFieldErrorIf = exports.emptyToUndefined = exports.hashEmailSafe = exports.transformProperty = exports.isHashedEmail = exports.hash = exports.isNullOrUndefined = void 0;
|
|
4
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
5
|
+
const crypto_1 = require("crypto");
|
|
6
|
+
const isNullOrUndefined = (v) => v == null;
|
|
7
|
+
exports.isNullOrUndefined = isNullOrUndefined;
|
|
8
|
+
const hash = (value) => {
|
|
9
|
+
if (value === undefined)
|
|
10
|
+
return;
|
|
11
|
+
const hash = crypto_1.createHash('sha256');
|
|
12
|
+
hash.update(value);
|
|
13
|
+
return hash.digest('hex');
|
|
14
|
+
};
|
|
15
|
+
exports.hash = hash;
|
|
16
|
+
const isHashedEmail = (email) => new RegExp(/[0-9abcdef]{64}/gi).test(email);
|
|
17
|
+
exports.isHashedEmail = isHashedEmail;
|
|
18
|
+
const transformProperty = (property, items) => items
|
|
19
|
+
.map((i) => i[property] === undefined || i[property] === null
|
|
20
|
+
? ''
|
|
21
|
+
: typeof i[property] === 'number'
|
|
22
|
+
? i[property].toString()
|
|
23
|
+
: i[property].toString().replace(/;/g, ''))
|
|
24
|
+
.join(';');
|
|
25
|
+
exports.transformProperty = transformProperty;
|
|
26
|
+
const hashEmailSafe = (email) => exports.isHashedEmail(String(email)) ? email : exports.hash(email);
|
|
27
|
+
exports.hashEmailSafe = hashEmailSafe;
|
|
28
|
+
const emptyToUndefined = (str) => str != null && str === '' ? undefined : str;
|
|
29
|
+
exports.emptyToUndefined = emptyToUndefined;
|
|
30
|
+
const raiseMisconfiguredRequiredFieldErrorIf = (condition, message) => {
|
|
31
|
+
if (condition) {
|
|
32
|
+
throw new actions_core_1.IntegrationError(message, 'Misconfigured required field', 400);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
exports.raiseMisconfiguredRequiredFieldErrorIf = raiseMisconfiguredRequiredFieldErrorIf;
|
|
36
|
+
const raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined = (v, message) => exports.raiseMisconfiguredRequiredFieldErrorIf(exports.isNullOrUndefined(v), message);
|
|
37
|
+
exports.raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined = raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined;
|
|
38
|
+
const box = (v) => (!exports.isNullOrUndefined(v) ? [v] : []);
|
|
39
|
+
exports.box = box;
|
|
40
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/destinations/snap-conversions-api/reportConversionEvent/utils.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,mCAAmC;AAE5B,MAAM,iBAAiB,GAAG,CAAI,CAAuB,EAAyB,EAAE,CAAC,CAAC,IAAI,IAAI,CAAA;AAApF,QAAA,iBAAiB,qBAAmE;AAE1F,MAAM,IAAI,GAAG,CAAC,KAAyB,EAAsB,EAAE;IACpE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAM;IAE/B,MAAM,IAAI,GAAG,mBAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC,CAAA;AANY,QAAA,IAAI,QAMhB;AAEM,MAAM,aAAa,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAAvF,QAAA,aAAa,iBAA0E;AAE7F,MAAM,iBAAiB,GAAG,CAC/B,QAAgB,EAChB,KAAyD,EACjD,EAAE,CACV,KAAK;KACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI;IAC/C,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ;QACjC,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAY,CAAC,QAAQ,EAAE;QACpC,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CACzD;KACA,IAAI,CAAC,GAAG,CAAC,CAAA;AAZD,QAAA,iBAAiB,qBAYhB;AAEP,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAsB,EAAE,CAC7E,qBAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAI,CAAC,KAAK,CAAC,CAAA;AADvC,QAAA,aAAa,iBAC0B;AAE7C,MAAM,gBAAgB,GAAG,CAAC,GAAuB,EAAsB,EAAE,CAC9E,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAA;AADhC,QAAA,gBAAgB,oBACgB;AAEtC,MAAM,sCAAsC,GAAG,CAAC,SAAkB,EAAE,OAAe,EAAE,EAAE;IAC5F,IAAI,SAAS,EAAE;QACb,MAAM,IAAI,+BAAgB,CAAC,OAAO,EAAE,8BAA8B,EAAE,GAAG,CAAC,CAAA;KACzE;AACH,CAAC,CAAA;AAJY,QAAA,sCAAsC,0CAIlD;AAOM,MAAM,qDAAqD,GAChE,CAAI,CAAgB,EAAE,OAAe,EAAkB,EAAE,CACvD,8CAAsC,CAAC,yBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAF5D,QAAA,qDAAqD,yDAEO;AAElE,MAAM,GAAG,GAAG,CAAI,CAAgB,EAAgB,EAAE,CAAC,CAAC,CAAC,yBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAA/E,QAAA,GAAG,OAA4E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group.types.js","sourceRoot":"","sources":["../../../src/destinations/trackey/group.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identify.types.js","sourceRoot":"","sources":["../../../src/destinations/trackey/identify.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"track.types.js","sourceRoot":"","sources":["../../../src/destinations/trackey/track.types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@segment/action-destinations",
|
|
3
3
|
"description": "Destination Actions engine and definitions.",
|
|
4
|
-
"version": "3.244.
|
|
4
|
+
"version": "3.244.1",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|