@segment/analytics-browser-actions-facebook-conversions-api-web 1.9.1-staging-99a2d468f.1 → 1.11.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.
Files changed (55) hide show
  1. package/dist/cjs/functions.d.ts +0 -1
  2. package/dist/cjs/functions.js +2 -11
  3. package/dist/cjs/functions.js.map +1 -1
  4. package/dist/cjs/generated-types.d.ts +1 -0
  5. package/dist/cjs/index.d.ts +6 -2
  6. package/dist/cjs/index.js +17 -5
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/send/depends-on.js +11 -40
  9. package/dist/cjs/send/depends-on.js.map +1 -1
  10. package/dist/cjs/send/fields.js +18 -5
  11. package/dist/cjs/send/fields.js.map +1 -1
  12. package/dist/cjs/send/functions.d.ts +2 -2
  13. package/dist/cjs/send/functions.js +40 -29
  14. package/dist/cjs/send/functions.js.map +1 -1
  15. package/dist/cjs/send/generated-types.d.ts +2 -0
  16. package/dist/cjs/send/index.d.ts +5 -2
  17. package/dist/cjs/send/index.js +1 -1
  18. package/dist/cjs/send/index.js.map +1 -1
  19. package/dist/cjs/types.d.ts +10 -0
  20. package/dist/cjs/types.js.map +1 -1
  21. package/dist/esm/functions.d.ts +0 -1
  22. package/dist/esm/functions.js +2 -10
  23. package/dist/esm/functions.js.map +1 -1
  24. package/dist/esm/generated-types.d.ts +1 -0
  25. package/dist/esm/index.d.ts +6 -2
  26. package/dist/esm/index.js +17 -5
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/esm/send/depends-on.js +11 -40
  29. package/dist/esm/send/depends-on.js.map +1 -1
  30. package/dist/esm/send/fields.js +18 -5
  31. package/dist/esm/send/fields.js.map +1 -1
  32. package/dist/esm/send/functions.d.ts +2 -2
  33. package/dist/esm/send/functions.js +40 -29
  34. package/dist/esm/send/functions.js.map +1 -1
  35. package/dist/esm/send/generated-types.d.ts +2 -0
  36. package/dist/esm/send/index.d.ts +5 -2
  37. package/dist/esm/send/index.js +1 -1
  38. package/dist/esm/send/index.js.map +1 -1
  39. package/dist/esm/types.d.ts +10 -0
  40. package/dist/esm/types.js.map +1 -1
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +3 -3
  43. package/src/__tests__/functions.test.ts +159 -0
  44. package/src/constants.ts +1 -1
  45. package/src/functions.ts +66 -65
  46. package/src/generated-types.ts +4 -0
  47. package/src/index.ts +43 -26
  48. package/src/send/__tests__/depends-on.test.ts +28 -0
  49. package/src/send/__tests__/functions.test.ts +1178 -0
  50. package/src/send/depends-on.ts +41 -69
  51. package/src/send/fields.ts +304 -299
  52. package/src/send/functions.ts +213 -153
  53. package/src/send/generated-types.ts +10 -2
  54. package/src/send/index.ts +4 -4
  55. package/src/types.ts +33 -21
@@ -2,79 +2,51 @@ import { DependsOnConditions, Condition } from '@segment/actions-core/destinatio
2
2
  import type { FBStandardEventType, FBNonStandardEventType } from '../types'
3
3
 
4
4
  export const fieldDependencies: Record<string, (FBStandardEventType | FBNonStandardEventType)[]> = {
5
- custom_event_name: ['CustomEvent'],
6
- content_category: ['PageView', 'ViewContent', 'Search'],
7
- content_ids: [
8
- 'AddPaymentInfo',
9
- 'AddToCart',
10
- 'AddToWishlist',
11
- 'InitiateCheckout',
12
- 'Purchase',
13
- 'Search',
14
- 'ViewContent'
15
- ],
16
- content_name: ['PageView', 'ViewContent', 'Search'],
17
- content_type: ['AddToCart', 'Purchase', 'Search', 'ViewContent'],
18
- contents: ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'InitiateCheckout', 'Purchase', 'Search', 'ViewContent'],
19
- currency: [
20
- 'AddPaymentInfo',
21
- 'AddToCart',
22
- 'AddToWishlist',
23
- 'CompleteRegistration',
24
- 'InitiateCheckout',
25
- 'Lead',
26
- 'Purchase',
27
- 'Search',
28
- 'StartTrial',
29
- 'Subscribe',
30
- 'ViewContent'
31
- ],
32
- delivery_category: ['Purchase', 'InitiateCheckout'],
33
- num_items: ['InitiateCheckout'],
34
- predicted_ltv: ['Purchase', 'Subscribe', 'StartTrial', 'CompleteRegistration', 'AddPaymentInfo', 'CustomEvent'],
35
- net_revenue: ['Purchase'],
36
- search_string: ['Search'],
37
- status: ['CompleteRegistration'],
38
- value: [
39
- 'AddPaymentInfo',
40
- 'AddToCart',
41
- 'AddToWishlist',
42
- 'CompleteRegistration',
43
- 'InitiateCheckout',
44
- 'Lead',
45
- 'Purchase',
46
- 'Search',
47
- 'StartTrial',
48
- 'Subscribe',
49
- 'ViewContent'
50
- ]
5
+ custom_event_name: ['CustomEvent'],
6
+ content_category: ['PageView', 'ViewContent', 'Search'],
7
+ content_ids: ['AddPaymentInfo','AddToCart','AddToWishlist','InitiateCheckout','Purchase','Search','ViewContent'],
8
+ content_name: ['PageView', 'ViewContent', 'Search'],
9
+ content_type: ['AddToCart', 'Purchase', 'Search', 'ViewContent'],
10
+ contents: ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'InitiateCheckout', 'Purchase', 'Search', 'ViewContent'],
11
+ currency: ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'CompleteRegistration', 'InitiateCheckout', 'Lead', 'Purchase', 'Search', 'StartTrial', 'Subscribe', 'ViewContent'],
12
+ delivery_category: ['Purchase', 'InitiateCheckout'],
13
+ num_items: ['InitiateCheckout'],
14
+ predicted_ltv: ['Purchase', 'Subscribe', 'StartTrial', 'CompleteRegistration', 'AddPaymentInfo', 'CustomEvent' ],
15
+ net_revenue: ['Purchase'],
16
+ search_string: ['Search'],
17
+ status: ['CompleteRegistration'],
18
+ value: ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'CompleteRegistration', 'InitiateCheckout', 'Lead', 'Purchase', 'Search', 'StartTrial', 'Subscribe', 'ViewContent'],
51
19
  }
52
20
 
53
21
  export function getDependenciesFor(fieldName: string): DependsOnConditions {
54
- const conditions: Condition[] = [
55
- {
56
- fieldKey: 'event_config.show_fields',
57
- operator: 'is',
58
- value: 'true'
22
+ const conditions: Condition[] = [
23
+ {
24
+ fieldKey: 'event_config.show_fields',
25
+ operator: 'is',
26
+ value: 'true'
27
+ }
28
+ ]
29
+
30
+ const dependencies = fieldDependencies[fieldName]
31
+
32
+ if(Array.isArray(dependencies) && dependencies.length > 1) {
33
+ dependencies.forEach(dep => {
34
+ conditions.push({
35
+ fieldKey: 'event_config.event_name',
36
+ operator: 'is',
37
+ value: dep
38
+ })
39
+ })
40
+ }
41
+
42
+ return {
43
+ match: 'any',
44
+ conditions
59
45
  }
60
- ]
61
-
62
- if (fieldDependencies[fieldName]) {
63
- conditions.push({
64
- fieldKey: 'event_config.event_name',
65
- operator: 'is',
66
- value: fieldDependencies[fieldName]
67
- })
68
- }
69
-
70
- return {
71
- match: 'any',
72
- conditions
73
- }
74
46
  }
75
47
 
76
48
  export function getNotVisibleForEvent(event: FBStandardEventType | FBNonStandardEventType): string[] {
77
- return Object.entries(fieldDependencies)
78
- .filter(([_, events]) => !events.includes(event))
79
- .map(([fieldName]) => fieldName)
80
- }
49
+ return Object.entries(fieldDependencies)
50
+ .filter(([_, events]) => !events.includes(event))
51
+ .map(([fieldName]) => fieldName)
52
+ }