@segment/action-destinations 3.375.0 → 3.376.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-eventbridge/index.js +3 -5
- package/dist/destinations/amazon-eventbridge/index.js.map +1 -1
- package/dist/destinations/amazon-eventbridge/send/index.js +2 -1
- package/dist/destinations/amazon-eventbridge/send/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/addToCart/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/addToCart/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/addToCart2/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/addToCart2/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/custom/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/custom/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/custom2/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/custom2/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/fb-capi-user-data.d.ts +2 -1
- package/dist/destinations/facebook-conversions-api/fb-capi-user-data.js +16 -23
- package/dist/destinations/facebook-conversions-api/fb-capi-user-data.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/initiateCheckout/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/initiateCheckout/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/initiateCheckout2/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/initiateCheckout2/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/pageView/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/pageView/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/pageView2/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/pageView2/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/purchase/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/purchase/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/purchase2/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/purchase2/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/search/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/search/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/search2/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/search2/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/viewContent/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/viewContent/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/viewContent2/index.js +1 -1
- package/dist/destinations/facebook-conversions-api/viewContent2/index.js.map +1 -1
- package/dist/destinations/google-campaign-manager-360/conversionAdjustmentUpload/index.js +4 -4
- package/dist/destinations/google-campaign-manager-360/conversionAdjustmentUpload/index.js.map +1 -1
- package/dist/destinations/google-campaign-manager-360/conversionUpload/index.js +4 -4
- package/dist/destinations/google-campaign-manager-360/conversionUpload/index.js.map +1 -1
- package/dist/destinations/google-campaign-manager-360/utils.d.ts +3 -4
- package/dist/destinations/google-campaign-manager-360/utils.js +17 -24
- package/dist/destinations/google-campaign-manager-360/utils.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/functions.d.ts +2 -3
- package/dist/destinations/google-enhanced-conversions/functions.js +23 -24
- package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js +5 -6
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion2/index.js +5 -8
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion2/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js +35 -38
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment2/index.js +35 -38
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment2/index.js.map +1 -1
- package/dist/destinations/reddit-conversions-api/customEvent/index.js +4 -4
- package/dist/destinations/reddit-conversions-api/customEvent/index.js.map +1 -1
- package/dist/destinations/reddit-conversions-api/standardEvent/index.js +4 -4
- package/dist/destinations/reddit-conversions-api/standardEvent/index.js.map +1 -1
- package/dist/destinations/reddit-conversions-api/utils.d.ts +2 -2
- package/dist/destinations/reddit-conversions-api/utils.js +17 -28
- package/dist/destinations/reddit-conversions-api/utils.js.map +1 -1
- package/dist/destinations/snap-audiences/syncAudience/index.js +6 -7
- package/dist/destinations/snap-audiences/syncAudience/index.js.map +1 -1
- package/dist/destinations/snap-audiences/syncAudience/utils.d.ts +4 -3
- package/dist/destinations/snap-audiences/syncAudience/utils.js +14 -26
- package/dist/destinations/snap-audiences/syncAudience/utils.js.map +1 -1
- package/dist/destinations/snap-conversions-api/_tests_/index.test.js +98 -0
- package/dist/destinations/snap-conversions-api/_tests_/index.test.js.map +1 -1
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.d.ts +2 -2
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js +31 -29
- package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js.map +1 -1
- package/dist/destinations/tiktok-audiences/addToAudience/index.js +4 -4
- package/dist/destinations/tiktok-audiences/addToAudience/index.js.map +1 -1
- package/dist/destinations/tiktok-audiences/addUser/index.js +4 -4
- package/dist/destinations/tiktok-audiences/addUser/index.js.map +1 -1
- package/dist/destinations/tiktok-audiences/functions.d.ts +3 -3
- package/dist/destinations/tiktok-audiences/functions.js +10 -7
- package/dist/destinations/tiktok-audiences/functions.js.map +1 -1
- package/dist/destinations/tiktok-audiences/removeFromAudience/index.js +4 -4
- package/dist/destinations/tiktok-audiences/removeFromAudience/index.js.map +1 -1
- package/dist/destinations/tiktok-audiences/removeUser/index.js +4 -4
- package/dist/destinations/tiktok-audiences/removeUser/index.js.map +1 -1
- package/dist/destinations/tiktok-conversions/formatter.d.ts +5 -4
- package/dist/destinations/tiktok-conversions/formatter.js +19 -31
- package/dist/destinations/tiktok-conversions/formatter.js.map +1 -1
- package/dist/destinations/tiktok-conversions/reportWebEvent/index.js +2 -2
- package/dist/destinations/tiktok-conversions/reportWebEvent/index.js.map +1 -1
- package/dist/destinations/tiktok-conversions/utils.d.ts +2 -2
- package/dist/destinations/tiktok-conversions/utils.js +9 -9
- package/dist/destinations/tiktok-conversions/utils.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/formatter.d.ts +4 -3
- package/dist/destinations/tiktok-offline-conversions/formatter.js +17 -26
- package/dist/destinations/tiktok-offline-conversions/formatter.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/index.js +2 -2
- package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/index.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js +2 -2
- package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.js +2 -2
- package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/utils.d.ts +2 -2
- package/dist/destinations/tiktok-offline-conversions/utils.js +4 -4
- package/dist/destinations/tiktok-offline-conversions/utils.js.map +1 -1
- package/dist/lib/hashing-utils.js +12 -1
- package/dist/lib/hashing-utils.js.map +1 -1
- package/package.json +4 -4
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractUsers = exports.getIDSchema = exports.validate = exports.createAudience = exports.processPayload = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
|
-
const crypto_1 = require("crypto");
|
|
6
5
|
const api_1 = require("./api");
|
|
7
|
-
|
|
6
|
+
const hashing_utils_1 = require("../../lib/hashing-utils");
|
|
7
|
+
async function processPayload(request, settings, payloads, action, features) {
|
|
8
8
|
validate(payloads);
|
|
9
9
|
let selected_advertiser_id;
|
|
10
10
|
let advertiser_ids;
|
|
@@ -24,7 +24,7 @@ async function processPayload(request, settings, payloads, action) {
|
|
|
24
24
|
}
|
|
25
25
|
const id_schema = getIDSchema(payloads[0]);
|
|
26
26
|
const TikTokApiClient = new api_1.TikTokAudiences(request, selected_advertiser_id);
|
|
27
|
-
const users = extractUsers(payloads);
|
|
27
|
+
const users = extractUsers(payloads, features);
|
|
28
28
|
let res;
|
|
29
29
|
if (users.length > 0) {
|
|
30
30
|
const elements = {
|
|
@@ -69,7 +69,10 @@ function getIDSchema(payload) {
|
|
|
69
69
|
}
|
|
70
70
|
exports.getIDSchema = getIDSchema;
|
|
71
71
|
const isHashedInformation = (information) => new RegExp(/[0-9abcdef]{64}/gi).test(information);
|
|
72
|
-
|
|
72
|
+
const hash = (value, features) => {
|
|
73
|
+
return (0, hashing_utils_1.processHashing)(value, 'sha256', 'hex', features, 'actions-tiktok-audiences');
|
|
74
|
+
};
|
|
75
|
+
function extractUsers(payloads, features) {
|
|
73
76
|
const batch_data = [];
|
|
74
77
|
payloads.forEach((payload) => {
|
|
75
78
|
if (!payload.email && !payload.advertising_id) {
|
|
@@ -92,7 +95,7 @@ function extractUsers(payloads) {
|
|
|
92
95
|
.toLowerCase();
|
|
93
96
|
let hashedEmail = payload.email;
|
|
94
97
|
if (!isHashedInformation(payload.email)) {
|
|
95
|
-
hashedEmail = (
|
|
98
|
+
hashedEmail = hash(payload.email, features);
|
|
96
99
|
}
|
|
97
100
|
email_id = {
|
|
98
101
|
id: hashedEmail,
|
|
@@ -106,7 +109,7 @@ function extractUsers(payloads) {
|
|
|
106
109
|
if (payload.phone) {
|
|
107
110
|
let hashedPhone = payload.phone;
|
|
108
111
|
if (!isHashedInformation(payload.phone)) {
|
|
109
|
-
hashedPhone = (
|
|
112
|
+
hashedPhone = hash(payload.phone, features);
|
|
110
113
|
}
|
|
111
114
|
phone_id = {
|
|
112
115
|
id: hashedPhone,
|
|
@@ -119,7 +122,7 @@ function extractUsers(payloads) {
|
|
|
119
122
|
let advertising_id = {};
|
|
120
123
|
if (payload.advertising_id) {
|
|
121
124
|
advertising_id = {
|
|
122
|
-
id: (
|
|
125
|
+
id: hash(payload.advertising_id, features),
|
|
123
126
|
audience_ids: [external_audience_id]
|
|
124
127
|
};
|
|
125
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-audiences/functions.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-audiences/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,23 +18,23 @@ const action = {
|
|
|
18
18
|
enable_batching: { ...properties_1.enable_batching },
|
|
19
19
|
external_audience_id: { ...properties_1.external_audience_id }
|
|
20
20
|
},
|
|
21
|
-
perform: async (request, { audienceSettings, payload, statsContext }) => {
|
|
21
|
+
perform: async (request, { audienceSettings, payload, statsContext, features }) => {
|
|
22
22
|
const statsClient = statsContext?.statsClient;
|
|
23
23
|
const statsTag = statsContext?.tags;
|
|
24
24
|
if (!audienceSettings) {
|
|
25
25
|
throw new actions_core_1.IntegrationError('Bad Request: no audienceSettings found.', 'INVALID_REQUEST_DATA', 400);
|
|
26
26
|
}
|
|
27
27
|
statsClient?.incr('removeFromAudience', 1, statsTag);
|
|
28
|
-
return (0, functions_1.processPayload)(request, audienceSettings, [payload], 'delete');
|
|
28
|
+
return (0, functions_1.processPayload)(request, audienceSettings, [payload], 'delete', features || {});
|
|
29
29
|
},
|
|
30
|
-
performBatch: async (request, { audienceSettings, payload, statsContext }) => {
|
|
30
|
+
performBatch: async (request, { audienceSettings, payload, statsContext, features }) => {
|
|
31
31
|
const statsClient = statsContext?.statsClient;
|
|
32
32
|
const statsTag = statsContext?.tags;
|
|
33
33
|
if (!audienceSettings) {
|
|
34
34
|
throw new actions_core_1.IntegrationError('Bad Request: no audienceSettings found.', 'INVALID_REQUEST_DATA', 400);
|
|
35
35
|
}
|
|
36
36
|
statsClient?.incr('removeFromAudience', 1, statsTag);
|
|
37
|
-
return (0, functions_1.processPayload)(request, audienceSettings, payload, 'delete');
|
|
37
|
+
return (0, functions_1.processPayload)(request, audienceSettings, payload, 'delete', features || {});
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
exports.default = action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-audiences/removeFromAudience/index.ts"],"names":[],"mappings":";;AAGA,4CAA6C;AAC7C,8CAUsB;AACtB,wDAAwD;AAExD,MAAM,MAAM,GAA0D;IACpE,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,uEAAuE;IACpF,mBAAmB,EAAE,2BAA2B;IAChD,MAAM,EAAE;QACN,KAAK,EAAE,EAAE,GAAG,kBAAK,EAAE;QACnB,KAAK,EAAE,EAAE,GAAG,kBAAK,EAAE;QACnB,cAAc,EAAE,EAAE,GAAG,2BAAc,EAAE;QACrC,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,mBAAmB,EAAE,EAAE,GAAG,gCAAmB,EAAE;QAC/C,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,eAAe,EAAE,EAAE,GAAG,4BAAe,EAAE;QACvC,oBAAoB,EAAE,EAAE,GAAG,iCAAoB,EAAE;KAClD;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-audiences/removeFromAudience/index.ts"],"names":[],"mappings":";;AAGA,4CAA6C;AAC7C,8CAUsB;AACtB,wDAAwD;AAExD,MAAM,MAAM,GAA0D;IACpE,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,uEAAuE;IACpF,mBAAmB,EAAE,2BAA2B;IAChD,MAAM,EAAE;QACN,KAAK,EAAE,EAAE,GAAG,kBAAK,EAAE;QACnB,KAAK,EAAE,EAAE,GAAG,kBAAK,EAAE;QACnB,cAAc,EAAE,EAAE,GAAG,2BAAc,EAAE;QACrC,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,mBAAmB,EAAE,EAAE,GAAG,gCAAmB,EAAE;QAC/C,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,eAAe,EAAE,EAAE,GAAG,4BAAe,EAAE;QACvC,oBAAoB,EAAE,EAAE,GAAG,iCAAoB,EAAE;KAClD;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChF,MAAM,WAAW,GAAG,YAAY,EAAE,WAAW,CAAA;QAC7C,MAAM,QAAQ,GAAG,YAAY,EAAE,IAAI,CAAA;QAEnC,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,+BAAgB,CAAC,yCAAyC,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAA;SACnG;QAED,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QACpD,OAAO,IAAA,0BAAc,EAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IACvF,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrF,MAAM,WAAW,GAAG,YAAY,EAAE,WAAW,CAAA;QAC7C,MAAM,QAAQ,GAAG,YAAY,EAAE,IAAI,CAAA;QAEnC,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,+BAAgB,CAAC,yCAAyC,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAA;SACnG;QAED,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QACpD,OAAO,IAAA,0BAAc,EAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IACrF,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -60,13 +60,13 @@ const action = {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
|
-
perform: async (request, { settings, payload, statsContext }) => {
|
|
63
|
+
perform: async (request, { settings, payload, statsContext, features }) => {
|
|
64
64
|
statsContext?.statsClient?.incr('removeUserLegacy', 1, statsContext?.tags);
|
|
65
|
-
return (0, functions_1.processPayload)(request, settings, [payload], 'delete');
|
|
65
|
+
return (0, functions_1.processPayload)(request, settings, [payload], 'delete', features || {});
|
|
66
66
|
},
|
|
67
|
-
performBatch: async (request, { settings, payload, statsContext }) => {
|
|
67
|
+
performBatch: async (request, { settings, payload, statsContext, features }) => {
|
|
68
68
|
statsContext?.statsClient?.incr('removeUserLegacy', 1, statsContext?.tags);
|
|
69
|
-
return (0, functions_1.processPayload)(request, settings, payload, 'delete');
|
|
69
|
+
return (0, functions_1.processPayload)(request, settings, payload, 'delete', features || {});
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
exports.default = action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-audiences/removeUser/index.ts"],"names":[],"mappings":";;AAGA,4CAA6C;AAC7C,8CAWsB;AACtB,gCAAwC;AAMxC,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,uEAAuE;IACpF,mBAAmB,EAAE,2BAA2B;IAChD,MAAM,EAAE;QACN,sBAAsB,EAAE,EAAE,GAAG,mCAAsB,EAAE;QACrD,WAAW,EAAE,EAAE,GAAG,wBAAW,EAAE;QAC/B,KAAK,EAAE,EAAE,GAAG,kBAAK,EAAE;QACnB,KAAK,EAAE,EAAE,GAAG,kBAAK,EAAE;QACnB,cAAc,EAAE,EAAE,GAAG,2BAAc,EAAE;QACrC,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,mBAAmB,EAAE,EAAE,GAAG,gCAAmB,EAAE;QAC/C,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,eAAe,EAAE,EAAE,GAAG,4BAAe,EAAE;KACxC;IACD,aAAa,EAAE;QACb,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YACtD,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,qBAAe,CAAC,OAAO,CAAC,CAAA;gBAC3C,IAAI,QAAQ,CAAC,cAAc,EAAE;oBAC3B,OAAO,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;iBACxD;gBAED,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,iEAAiE,CAAC;wBAC1F,IAAI,EAAE,KAAK;qBACZ;iBACF,CAAA;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;wBAC5B,IAAI,EAAE,KAAK;qBACZ;iBACF,CAAA;aACF;QACH,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC1C,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,qBAAe,CAAC,OAAO,CAAC,CAAA;gBAE3C,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;aACnE;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;wBAC5B,IAAI,EAAE,KAAK;qBACZ;iBACF,CAAA;aACF;QACH,CAAC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-audiences/removeUser/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare
|
|
4
|
-
export declare function
|
|
1
|
+
import { Features } from '@segment/actions-core';
|
|
2
|
+
export declare const formatEmails: (email_addresses: string[] | undefined, features: Features) => string[];
|
|
3
|
+
export declare const formatPhones: (phone_numbers: string[] | undefined, features: Features) => string[];
|
|
4
|
+
export declare function formatUserIds(userIds: string[] | undefined, features: Features): string[];
|
|
5
|
+
export declare function formatString(str: string | undefined | null, features: Features): string | undefined;
|
|
5
6
|
export declare function formatAddress(address: string | undefined | null): string | undefined;
|
|
@@ -1,61 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatAddress = exports.formatString = exports.formatUserIds = exports.formatPhones = exports.formatEmails = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const formatEmails = (email_addresses) => {
|
|
4
|
+
const hashing_utils_1 = require("../../lib/hashing-utils");
|
|
5
|
+
const formatEmails = (email_addresses, features) => {
|
|
7
6
|
const result = [];
|
|
8
7
|
if (email_addresses) {
|
|
9
8
|
email_addresses.forEach((email) => {
|
|
10
|
-
|
|
11
|
-
if (isHashedInformation(email)) {
|
|
12
|
-
resolvedEmail = email;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
resolvedEmail = hashAndEncode(email.toLowerCase());
|
|
16
|
-
}
|
|
17
|
-
result.push(resolvedEmail);
|
|
9
|
+
result.push(hashAndEncode(email.toLowerCase(), features));
|
|
18
10
|
});
|
|
19
11
|
}
|
|
20
12
|
return result;
|
|
21
13
|
};
|
|
22
14
|
exports.formatEmails = formatEmails;
|
|
23
|
-
const formatPhones = (phone_numbers) => {
|
|
15
|
+
const formatPhones = (phone_numbers, features) => {
|
|
24
16
|
const result = [];
|
|
25
17
|
if (!phone_numbers)
|
|
26
18
|
return result;
|
|
27
19
|
phone_numbers.forEach((phone) => {
|
|
28
|
-
|
|
29
|
-
result.push(phone);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const validatedPhone = phone.match(/[0-9]{0,14}/g);
|
|
33
|
-
if (validatedPhone === null) {
|
|
34
|
-
throw new Error(`${phone} is not a valid E.164 phone number.`);
|
|
35
|
-
}
|
|
36
|
-
const formattedPhone = `+${phone.replace(/[^0-9]/g, '')}`;
|
|
37
|
-
result.push(hashAndEncode(formattedPhone.substring(0, 15)));
|
|
20
|
+
result.push(hashAndEncode(phone, features, cleanPhoneNumber));
|
|
38
21
|
});
|
|
39
22
|
return result;
|
|
40
23
|
};
|
|
41
24
|
exports.formatPhones = formatPhones;
|
|
42
|
-
|
|
25
|
+
const cleanPhoneNumber = (phone) => {
|
|
26
|
+
const validatedPhone = phone.match(/[0-9]{0,14}/g);
|
|
27
|
+
if (validatedPhone === null) {
|
|
28
|
+
throw new Error(`${phone} is not a valid E.164 phone number.`);
|
|
29
|
+
}
|
|
30
|
+
const formattedPhone = `+${phone.replace(/[^0-9]/g, '')}`;
|
|
31
|
+
return formattedPhone.substring(0, 15);
|
|
32
|
+
};
|
|
33
|
+
function formatUserIds(userIds, features) {
|
|
43
34
|
const result = [];
|
|
44
35
|
if (userIds) {
|
|
45
36
|
userIds.forEach((userId) => {
|
|
46
|
-
result.push(hashAndEncode(userId.toLowerCase()));
|
|
37
|
+
result.push(hashAndEncode(userId.toLowerCase(), features));
|
|
47
38
|
});
|
|
48
39
|
}
|
|
49
40
|
return result;
|
|
50
41
|
}
|
|
51
42
|
exports.formatUserIds = formatUserIds;
|
|
52
|
-
function formatString(str) {
|
|
43
|
+
function formatString(str, features) {
|
|
53
44
|
if (!str)
|
|
54
45
|
return '';
|
|
55
|
-
|
|
56
|
-
str = hashAndEncode(str.replace(/\s/g, '').toLowerCase());
|
|
57
|
-
}
|
|
58
|
-
return str;
|
|
46
|
+
return hashAndEncode(str.replace(/\s/g, '').toLowerCase(), features);
|
|
59
47
|
}
|
|
60
48
|
exports.formatString = formatString;
|
|
61
49
|
function formatAddress(address) {
|
|
@@ -64,7 +52,7 @@ function formatAddress(address) {
|
|
|
64
52
|
return address.replace(/[^A-Za-z0-9]/g, '').toLowerCase();
|
|
65
53
|
}
|
|
66
54
|
exports.formatAddress = formatAddress;
|
|
67
|
-
function hashAndEncode(property) {
|
|
68
|
-
return (0,
|
|
55
|
+
function hashAndEncode(property, features, cleaningFunction) {
|
|
56
|
+
return (0, hashing_utils_1.processHashing)(property, 'sha256', 'hex', features, 'tiktok-conversions', cleaningFunction);
|
|
69
57
|
}
|
|
70
58
|
//# sourceMappingURL=formatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-conversions/formatter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-conversions/formatter.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAIjD,MAAM,YAAY,GAAG,CAAC,eAAqC,EAAE,QAAkB,EAAY,EAAE;IAClG,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,eAAe,EAAE;QACnB,eAAe,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AARY,QAAA,YAAY,gBAQxB;AAOM,MAAM,YAAY,GAAG,CAAC,aAAmC,EAAE,QAAkB,EAAY,EAAE;IAChG,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,CAAC,aAAa;QAAE,OAAO,MAAM,CAAA;IAEjC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;QAEtC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AATY,QAAA,YAAY,gBASxB;AAED,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAU,EAAE;IACjD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAClD,IAAI,cAAc,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAA;KAC/D;IAED,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAA;IACzD,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA;AAOD,SAAgB,aAAa,CAAC,OAA6B,EAAE,QAAkB;IAC7E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AARD,sCAQC;AAED,SAAgB,YAAY,CAAC,GAA8B,EAAE,QAAkB;IAC7E,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAA;AACtE,CAAC;AAHD,oCAGC;AAED,SAAgB,aAAa,CAAC,OAAkC;IAC9D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAC3D,CAAC;AAHD,sCAGC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,QAAkB,EAAE,gBAA4C;IACvG,OAAO,IAAA,8BAAc,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,CAAA;AACpG,CAAC"}
|
|
@@ -8,8 +8,8 @@ const action = {
|
|
|
8
8
|
fields: {
|
|
9
9
|
...common_fields_1.commonFields
|
|
10
10
|
},
|
|
11
|
-
perform: (request, { payload, settings }) => {
|
|
12
|
-
return (0, utils_1.performWebEvent)(request, settings, payload);
|
|
11
|
+
perform: (request, { payload, settings, features }) => {
|
|
12
|
+
return (0, utils_1.performWebEvent)(request, settings, payload, features || {});
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
exports.default = action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-conversions/reportWebEvent/index.ts"],"names":[],"mappings":";;AAGA,oDAA+C;AAC/C,oCAA0C;AAE1C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,kBAAkB;IACzB,WAAW,EACT,iKAAiK;IACnK,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-conversions/reportWebEvent/index.ts"],"names":[],"mappings":";;AAGA,oDAA+C;AAC/C,oCAA0C;AAE1C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,kBAAkB;IACzB,WAAW,EACT,iKAAiK;IACnK,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpD,OAAO,IAAA,uBAAe,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequestClient } from '@segment/actions-core';
|
|
1
|
+
import { Features, RequestClient } from '@segment/actions-core';
|
|
2
2
|
import { Settings } from './generated-types';
|
|
3
3
|
import { Payload } from './reportWebEvent/generated-types';
|
|
4
|
-
export declare function performWebEvent(request: RequestClient, settings: Settings, payload: Payload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
4
|
+
export declare function performWebEvent(request: RequestClient, settings: Settings, payload: Payload, features: Features): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.performWebEvent = void 0;
|
|
4
4
|
const formatter_1 = require("./formatter");
|
|
5
|
-
function performWebEvent(request, settings, payload) {
|
|
6
|
-
const requestUser = validateRequestUser(payload);
|
|
5
|
+
function performWebEvent(request, settings, payload, features) {
|
|
6
|
+
const requestUser = validateRequestUser(payload, features);
|
|
7
7
|
const requestProperties = validateRequestProperties(payload);
|
|
8
8
|
const requestPage = validateRequestPage(payload);
|
|
9
9
|
const requestJson = {
|
|
@@ -31,10 +31,10 @@ function performWebEvent(request, settings, payload) {
|
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
exports.performWebEvent = performWebEvent;
|
|
34
|
-
function validateRequestUser(payload) {
|
|
35
|
-
const phone_numbers = (0, formatter_1.formatPhones)(payload.phone_number);
|
|
36
|
-
const emails = (0, formatter_1.formatEmails)(payload.email);
|
|
37
|
-
const userIds = (0, formatter_1.formatUserIds)(payload.external_id);
|
|
34
|
+
function validateRequestUser(payload, features) {
|
|
35
|
+
const phone_numbers = (0, formatter_1.formatPhones)(payload.phone_number, features);
|
|
36
|
+
const emails = (0, formatter_1.formatEmails)(payload.email, features);
|
|
37
|
+
const userIds = (0, formatter_1.formatUserIds)(payload.external_id, features);
|
|
38
38
|
let payloadUrl, urlTtclid;
|
|
39
39
|
if (payload.url) {
|
|
40
40
|
try {
|
|
@@ -49,12 +49,12 @@ function validateRequestUser(payload) {
|
|
|
49
49
|
external_id: userIds,
|
|
50
50
|
phone: phone_numbers,
|
|
51
51
|
email: emails,
|
|
52
|
-
first_name: (0, formatter_1.formatString)(payload.first_name),
|
|
53
|
-
last_name: (0, formatter_1.formatString)(payload.last_name),
|
|
52
|
+
first_name: (0, formatter_1.formatString)(payload.first_name, features),
|
|
53
|
+
last_name: (0, formatter_1.formatString)(payload.last_name, features),
|
|
54
54
|
city: (0, formatter_1.formatAddress)(payload.address?.city),
|
|
55
55
|
state: (0, formatter_1.formatAddress)(payload.address?.state),
|
|
56
56
|
country: (0, formatter_1.formatAddress)(payload.address?.country),
|
|
57
|
-
zip_code: (0, formatter_1.formatString)(payload.address?.zip_code)
|
|
57
|
+
zip_code: (0, formatter_1.formatString)(payload.address?.zip_code, features)
|
|
58
58
|
};
|
|
59
59
|
if (payload.ttclid || urlTtclid) {
|
|
60
60
|
requestUser.ttclid = urlTtclid || payload.ttclid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-conversions/utils.ts"],"names":[],"mappings":";;;AAGA,2CAAoG;AAQpG,SAAgB,eAAe,CAAC,OAAsB,EAAE,QAAkB,EAAE,OAAgB;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-conversions/utils.ts"],"names":[],"mappings":";;;AAGA,2CAAoG;AAQpG,SAAgB,eAAe,CAAC,OAAsB,EAAE,QAAkB,EAAE,OAAgB,EAAE,QAAkB;IAC9G,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC1D,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAEhD,MAAM,WAAW,GAA6B;QAC5C,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,QAAQ,CAAC,SAAS;QACnC,YAAY,EAAE,SAAS;QACvB,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QAC9E,IAAI,EAAE;YACJ;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,SAAS;oBAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;oBAC1D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAC3C,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC9D,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE,iBAAiB;gBAC7B,IAAI,EAAE,WAAW;gBACjB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK;aAC9E;SACF;KACF,CAAA;IAGD,OAAO,OAAO,CAAC,4DAA4D,EAAE;QAC3E,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,WAAW;KAClB,CAAC,CAAA;AACJ,CAAC;AA9BD,0CA8BC;AAED,SAAS,mBAAmB,CAAC,OAAgB,EAAE,QAAkB;IAC/D,MAAM,aAAa,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAE5D,IAAI,UAAU,EAAE,SAAS,CAAA;IACzB,IAAI,OAAO,CAAC,GAAG,EAAE;QACf,IAAI;YACF,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SAClC;QAAC,OAAO,KAAK,EAAE;SAEf;KACF;IAED,IAAI,UAAU;QAAE,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEjE,MAAM,WAAW,GAA0B;QACzC,WAAW,EAAE,OAAO;QACpB,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,IAAA,wBAAY,EAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;QACtD,SAAS,EAAE,IAAA,wBAAY,EAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;QACpD,IAAI,EAAE,IAAA,yBAAa,EAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;QAC1C,KAAK,EAAE,IAAA,yBAAa,EAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;QAC5C,OAAO,EAAE,IAAA,yBAAa,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;QAChD,QAAQ,EAAE,IAAA,wBAAY,EAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAC5D,CAAA;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;QAC/B,WAAW,CAAC,MAAM,GAAG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAA;KACjD;IAED,IAAI,OAAO,CAAC,OAAO,EAAE;QACnB,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;KACtC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE;QACf,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;KAC9B;IAED,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;KAC5B;IAED,IAAI,OAAO,CAAC,UAAU,EAAE;QACtB,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;KAC5C;IAED,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;KACpC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgB;IACjD,MAAM,iBAAiB,GAAgC;QACrD,QAAQ,EAAE,EAAE;KACb,CAAA;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG;gBACjB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACzD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;gBACjF,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAC/D,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBACrE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACjD,CAAA;YACD,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;KACH;IAED,IAAI,OAAO,CAAC,YAAY,EAAE;QACxB,iBAAiB,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;KACtD;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,iBAAiB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;KAC9C;IAED,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE;QACxC,iBAAiB,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;KACxC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE;QACjB,iBAAiB,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;KACxC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE;QACvB,iBAAiB,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;KACpD;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,iBAAiB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;KAC9C;IAED,IAAI,OAAO,CAAC,OAAO,EAAE;QACnB,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;KAC5C;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,MAAM,WAAW,GAA0B,EAAE,CAAA;IAE7C,IAAI,OAAO,CAAC,GAAG,EAAE;QACf,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;KAC9B;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;KACxC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare
|
|
1
|
+
import { Features } from '@segment/actions-core';
|
|
2
|
+
export declare const formatEmails: (email_addresses: string[] | undefined, features: Features) => string[];
|
|
3
|
+
export declare const formatPhones: (phone_numbers: string[] | undefined, features: Features) => string[];
|
|
4
|
+
export declare function formatUserIds(userIds: string[] | undefined, features: Features): string[];
|
|
@@ -1,55 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatUserIds = exports.formatPhones = exports.formatEmails = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const formatEmails = (email_addresses) => {
|
|
4
|
+
const hashing_utils_1 = require("../../lib/hashing-utils");
|
|
5
|
+
const formatEmails = (email_addresses, features) => {
|
|
7
6
|
const result = [];
|
|
8
7
|
if (email_addresses) {
|
|
9
8
|
email_addresses.forEach((email) => {
|
|
10
|
-
|
|
11
|
-
if (isHashedInformation(email)) {
|
|
12
|
-
resolvedEmail = email;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
resolvedEmail = hashAndEncode(email.toLowerCase());
|
|
16
|
-
}
|
|
17
|
-
result.push(resolvedEmail);
|
|
9
|
+
result.push(hashAndEncode(email.toLowerCase(), features));
|
|
18
10
|
});
|
|
19
11
|
}
|
|
20
12
|
return result;
|
|
21
13
|
};
|
|
22
14
|
exports.formatEmails = formatEmails;
|
|
23
|
-
const formatPhones = (phone_numbers) => {
|
|
15
|
+
const formatPhones = (phone_numbers, features) => {
|
|
24
16
|
const result = [];
|
|
25
17
|
if (!phone_numbers)
|
|
26
18
|
return result;
|
|
27
19
|
phone_numbers.forEach((phone) => {
|
|
28
|
-
|
|
29
|
-
result.push(phone);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const validatedPhone = phone.match(/[0-9]{0,14}/g);
|
|
33
|
-
if (validatedPhone === null) {
|
|
34
|
-
throw new Error(`${phone} is not a valid E.164 phone number.`);
|
|
35
|
-
}
|
|
36
|
-
const formattedPhone = `+${phone.replace(/[^0-9]/g, '')}`;
|
|
37
|
-
result.push(hashAndEncode(formattedPhone.substring(0, 15)));
|
|
20
|
+
result.push(hashAndEncode(phone, features, cleaningFunction));
|
|
38
21
|
});
|
|
39
22
|
return result;
|
|
40
23
|
};
|
|
41
24
|
exports.formatPhones = formatPhones;
|
|
42
|
-
|
|
25
|
+
const cleaningFunction = (phone) => {
|
|
26
|
+
const validatedPhone = phone.match(/[0-9]{0,14}/g);
|
|
27
|
+
if (validatedPhone === null) {
|
|
28
|
+
throw new Error(`${phone} is not a valid E.164 phone number.`);
|
|
29
|
+
}
|
|
30
|
+
const formattedPhone = `+${phone.replace(/[^0-9]/g, '')}`;
|
|
31
|
+
return formattedPhone.substring(0, 15);
|
|
32
|
+
};
|
|
33
|
+
function formatUserIds(userIds, features) {
|
|
43
34
|
const result = [];
|
|
44
35
|
if (userIds) {
|
|
45
36
|
userIds.forEach((userId) => {
|
|
46
|
-
result.push(hashAndEncode(userId.toLowerCase()));
|
|
37
|
+
result.push(hashAndEncode(userId.toLowerCase(), features));
|
|
47
38
|
});
|
|
48
39
|
}
|
|
49
40
|
return result;
|
|
50
41
|
}
|
|
51
42
|
exports.formatUserIds = formatUserIds;
|
|
52
|
-
function hashAndEncode(property) {
|
|
53
|
-
return (0,
|
|
43
|
+
function hashAndEncode(property, features, cleaningFunction) {
|
|
44
|
+
return (0, hashing_utils_1.processHashing)(property, 'sha256', 'hex', features, 'actions-tiktok-offline-conversions', cleaningFunction);
|
|
54
45
|
}
|
|
55
46
|
//# sourceMappingURL=formatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/formatter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/formatter.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAIjD,MAAM,YAAY,GAAG,CAAC,eAAqC,EAAE,QAAkB,EAAY,EAAE;IAClG,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,eAAe,EAAE;QACnB,eAAe,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AARY,QAAA,YAAY,gBAQxB;AAOM,MAAM,YAAY,GAAG,CAAC,aAAmC,EAAE,QAAkB,EAAY,EAAE;IAChG,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,CAAC,aAAa;QAAE,OAAO,MAAM,CAAA;IAEjC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;QAEtC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AATY,QAAA,YAAY,gBASxB;AAED,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAU,EAAE;IACjD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAClD,IAAI,cAAc,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAA;KAC/D;IAED,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAA;IACzD,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA;AAOD,SAAgB,aAAa,CAAC,OAA6B,EAAE,QAAkB;IAC7E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AARD,sCAQC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,QAAkB,EAAE,gBAA4C;IACvG,OAAO,IAAA,8BAAc,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,oCAAoC,EAAE,gBAAgB,CAAC,CAAA;AACpH,CAAC"}
|
|
@@ -8,8 +8,8 @@ const action = {
|
|
|
8
8
|
fields: {
|
|
9
9
|
...common_fields_1.commonFields
|
|
10
10
|
},
|
|
11
|
-
perform: (request, { payload, settings }) => {
|
|
12
|
-
return (0, utils_1.performOfflineEvent)(request, settings, payload);
|
|
11
|
+
perform: (request, { payload, settings, features }) => {
|
|
12
|
+
return (0, utils_1.performOfflineEvent)(request, settings, payload, features || {});
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
exports.default = action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/reportOfflineEvent/index.ts"],"names":[],"mappings":";;AAGA,oDAA+C;AAC/C,oCAA8C;AAE9C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,2FAA2F;IACxG,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/reportOfflineEvent/index.ts"],"names":[],"mappings":";;AAGA,oDAA+C;AAC/C,oCAA8C;AAE9C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,2FAA2F;IACxG,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpD,OAAO,IAAA,2BAAmB,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js
CHANGED
|
@@ -8,8 +8,8 @@ const action = {
|
|
|
8
8
|
fields: {
|
|
9
9
|
...common_fields_1.commonFields
|
|
10
10
|
},
|
|
11
|
-
perform: (request, { payload, settings }) => {
|
|
12
|
-
return (0, utils_1.performOfflineEvent)(request, settings, payload);
|
|
11
|
+
perform: (request, { payload, settings, features }) => {
|
|
12
|
+
return (0, utils_1.performOfflineEvent)(request, settings, payload, features || {});
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
exports.default = action;
|
package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.ts"],"names":[],"mappings":";;AAGA,oDAA+C;AAC/C,oCAA8C;AAE9C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,mDAAmD;IAC1D,WAAW,EACT,wLAAwL;IAC1L,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.ts"],"names":[],"mappings":";;AAGA,oDAA+C;AAC/C,oCAA8C;AAE9C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,mDAAmD;IAC1D,WAAW,EACT,wLAAwL;IAC1L,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpD,OAAO,IAAA,2BAAmB,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -8,8 +8,8 @@ const action = {
|
|
|
8
8
|
fields: {
|
|
9
9
|
...common_fields_1.commonFields
|
|
10
10
|
},
|
|
11
|
-
perform: (request, { payload, settings }) => {
|
|
12
|
-
return (0, utils_1.performOfflineEvent)(request, settings, payload);
|
|
11
|
+
perform: (request, { payload, settings, features }) => {
|
|
12
|
+
return (0, utils_1.performOfflineEvent)(request, settings, payload, features || {});
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
exports.default = action;
|
package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.ts"],"names":[],"mappings":";;AAGA,oDAA+C;AAC/C,oCAA8C;AAE9C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,+CAA+C;IACtD,WAAW,EACT,2MAA2M;IAC7M,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.ts"],"names":[],"mappings":";;AAGA,oDAA+C;AAC/C,oCAA8C;AAE9C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,+CAA+C;IACtD,WAAW,EACT,2MAA2M;IAC7M,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpD,OAAO,IAAA,2BAAmB,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { RequestClient } from '@segment/actions-core';
|
|
1
|
+
import { RequestClient, Features } from '@segment/actions-core';
|
|
2
2
|
import { Settings } from './generated-types';
|
|
3
3
|
import { Payload as ReportOfflineEventPayload } from './reportOfflineEvent/generated-types';
|
|
4
4
|
import { Payload as TrackNonPaymentOfflineConversionPayload } from './trackNonPaymentOfflineConversion/generated-types';
|
|
5
5
|
import { Payload as TrackPaymentOfflineConversionPayload } from './trackPaymentOfflineConversion/generated-types';
|
|
6
6
|
type OfflineEventPayload = ReportOfflineEventPayload | TrackNonPaymentOfflineConversionPayload | TrackPaymentOfflineConversionPayload;
|
|
7
|
-
export declare function performOfflineEvent(request: RequestClient, settings: Settings, payload: OfflineEventPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
7
|
+
export declare function performOfflineEvent(request: RequestClient, settings: Settings, payload: OfflineEventPayload, features: Features): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
8
8
|
export {};
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.performOfflineEvent = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
5
|
const formatter_1 = require("./formatter");
|
|
6
|
-
function performOfflineEvent(request, settings, payload) {
|
|
7
|
-
const phone_numbers = (0, formatter_1.formatPhones)(payload.phone_numbers);
|
|
8
|
-
const emails = (0, formatter_1.formatEmails)(payload.email_addresses);
|
|
9
|
-
const userIds = (0, formatter_1.formatUserIds)(payload.external_ids);
|
|
6
|
+
function performOfflineEvent(request, settings, payload, features) {
|
|
7
|
+
const phone_numbers = (0, formatter_1.formatPhones)(payload.phone_numbers, features);
|
|
8
|
+
const emails = (0, formatter_1.formatEmails)(payload.email_addresses, features);
|
|
9
|
+
const userIds = (0, formatter_1.formatUserIds)(payload.external_ids, features);
|
|
10
10
|
if (phone_numbers.length < 1 && emails.length < 1 && userIds.length < 1)
|
|
11
11
|
throw new actions_core_1.PayloadValidationError('TikTok Offline Conversions API requires an email address and/or phone number and or a userId');
|
|
12
12
|
let payloadUrl, urlTtclid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/utils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,18 @@ exports.hashConfigs = {
|
|
|
35
35
|
sha384: { lengthHex: 96, lengthBase64: 64 },
|
|
36
36
|
sha512: { lengthHex: 128, lengthBase64: 88 }
|
|
37
37
|
};
|
|
38
|
-
const slugsToBypassFeatureFlag = [
|
|
38
|
+
const slugsToBypassFeatureFlag = [
|
|
39
|
+
'actions-facebook-custom-audiences',
|
|
40
|
+
'actions-linkedin-audiences',
|
|
41
|
+
'actions-tiktok-offline-conversions',
|
|
42
|
+
'tiktok-conversions',
|
|
43
|
+
'actions-snap-audiences',
|
|
44
|
+
'actions-snap-conversions',
|
|
45
|
+
'actions-google-enhanced-conversions',
|
|
46
|
+
'actions-google-campaign-manager-360',
|
|
47
|
+
'actions-facebook-conversions-api',
|
|
48
|
+
'actions-tiktok-audiences'
|
|
49
|
+
];
|
|
39
50
|
class SmartHashing {
|
|
40
51
|
constructor(encryptionMethod = 'sha256', digest = 'hex') {
|
|
41
52
|
this.encryptionMethod = encryptionMethod;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashing-utils.js","sourceRoot":"","sources":["../../src/lib/hashing-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,+CAAgC;AAGnB,QAAA,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAGpF,QAAA,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU,CAAA;AAKxC,QAAA,WAAW,GAEpB;IACF,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IACxC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IACzC,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3C,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3C,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3C,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE;CAC7C,CAAA;AAED,MAAM,wBAAwB,GAAG,
|
|
1
|
+
{"version":3,"file":"hashing-utils.js","sourceRoot":"","sources":["../../src/lib/hashing-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,+CAAgC;AAGnB,QAAA,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAGpF,QAAA,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU,CAAA;AAKxC,QAAA,WAAW,GAEpB;IACF,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IACxC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IACzC,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3C,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3C,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3C,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE;CAC7C,CAAA;AAED,MAAM,wBAAwB,GAAG;IAC/B,mCAAmC;IACnC,4BAA4B;IAC5B,oCAAoC;IACpC,oBAAoB;IACpB,wBAAwB;IACxB,0BAA0B;IAC1B,qCAAqC;IACrC,qCAAqC;IACrC,kCAAkC;IAClC,0BAA0B;CAC3B,CAAA;AAED,MAAM,YAAY;IAQhB,YAAmB,mBAAqC,QAAQ,EAAS,SAAqB,KAAK;QAAhF,qBAAgB,GAAhB,gBAAgB,CAA6B;QAAS,WAAM,GAAN,MAAM,CAAoB;QACjG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,MAAM,MAAM,GAAG,mBAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAEvF,IAAI,KAAa,CAAA;QACjB,QAAQ,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,KAAK;gBACR,KAAK,GAAG,IAAI,MAAM,CAAC,aAAa,MAAM,CAAC,SAAS,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC1D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvE,MAAK;YACP,KAAK,QAAQ;gBACX,KAAK,GAAG,IAAI,MAAM,CAAC,8DAA8D,CAAC,CAAA;gBAClF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC1E,MAAK;YACP;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;SAC7D;QAED,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;SAC/C;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,KAAK,CAAA;SACb;QAED,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnF,CAAC;CACF;AAaD,SAAgB,cAAc,CAC5B,KAAa,EACb,gBAAkC,EAClC,MAAkB,EAClB,QAA8B,EAC9B,wBAAgC,EAChC,gBAAmC;IAEnC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvB,OAAO,EAAE,CAAA;KACV;IAED,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IAK/D,MAAM,UAAU,GAAG,wBAAwB,IAAI,wBAAwB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAA;IAG1G,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE;QAC3D,IAAI,gBAAgB,EAAE;YACpB,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;SAChC;QACD,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAChC;IAED,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;QACvC,OAAO,KAAK,CAAA;KACb;IAED,IAAI,gBAAgB,EAAE;QACpB,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;KAChC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AApCD,wCAoCC"}
|