@adtrackify/at-service-common 4.0.13 → 4.0.15

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 (109) hide show
  1. package/dist/cjs/__tests__/identity-cache/helpers.spec.js +37 -38
  2. package/dist/cjs/__tests__/identity-cache/helpers.spec.js.map +1 -1
  3. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js +92 -349
  4. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  5. package/dist/cjs/__tests__/identity-cache/identity-client.spec.js +360 -0
  6. package/dist/cjs/__tests__/identity-cache/identity-client.spec.js.map +1 -0
  7. package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-hit.spec.js +138 -0
  8. package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-hit.spec.js.map +1 -0
  9. package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-miss.spec.js +153 -0
  10. package/dist/cjs/__tests__/identity-cache/identity-gateway-cache-miss.spec.js.map +1 -0
  11. package/dist/cjs/__tests__/identity-cache/identity-gateway-constructor.spec.js +72 -0
  12. package/dist/cjs/__tests__/identity-cache/identity-gateway-constructor.spec.js.map +1 -0
  13. package/dist/cjs/__tests__/identity-cache/identity-gateway-edge-cases.spec.js +89 -0
  14. package/dist/cjs/__tests__/identity-cache/identity-gateway-edge-cases.spec.js.map +1 -0
  15. package/dist/cjs/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js +136 -0
  16. package/dist/cjs/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js.map +1 -0
  17. package/dist/cjs/__tests__/identity-cache/identity-gateway-stale-cache.spec.js +224 -0
  18. package/dist/cjs/__tests__/identity-cache/identity-gateway-stale-cache.spec.js.map +1 -0
  19. package/dist/cjs/__tests__/identity-cache/identity-gateway-test-setup.d.ts +28 -0
  20. package/dist/cjs/__tests__/identity-cache/identity-gateway-test-setup.js +90 -0
  21. package/dist/cjs/__tests__/identity-cache/identity-gateway-test-setup.js.map +1 -0
  22. package/dist/cjs/clients/internal-api/identity-client.d.ts +12 -2
  23. package/dist/cjs/clients/internal-api/identity-client.js +59 -13
  24. package/dist/cjs/clients/internal-api/identity-client.js.map +1 -1
  25. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +1 -7
  26. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js +0 -305
  27. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -1
  28. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +14 -14
  29. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +122 -330
  30. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
  31. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.d.ts +0 -1
  32. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js +0 -1
  33. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js.map +1 -1
  34. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.d.ts +8 -158
  35. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js +1 -15
  36. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
  37. package/dist/esm/__tests__/identity-cache/helpers.spec.js +26 -27
  38. package/dist/esm/__tests__/identity-cache/helpers.spec.js.map +1 -1
  39. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js +92 -349
  40. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  41. package/dist/esm/__tests__/identity-cache/identity-client.spec.js +358 -0
  42. package/dist/esm/__tests__/identity-cache/identity-client.spec.js.map +1 -0
  43. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-hit.spec.d.ts +1 -0
  44. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-hit.spec.js +136 -0
  45. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-hit.spec.js.map +1 -0
  46. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-miss.spec.d.ts +1 -0
  47. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-miss.spec.js +151 -0
  48. package/dist/esm/__tests__/identity-cache/identity-gateway-cache-miss.spec.js.map +1 -0
  49. package/dist/esm/__tests__/identity-cache/identity-gateway-constructor.spec.d.ts +1 -0
  50. package/dist/esm/__tests__/identity-cache/identity-gateway-constructor.spec.js +70 -0
  51. package/dist/esm/__tests__/identity-cache/identity-gateway-constructor.spec.js.map +1 -0
  52. package/dist/esm/__tests__/identity-cache/identity-gateway-edge-cases.spec.d.ts +1 -0
  53. package/dist/esm/__tests__/identity-cache/identity-gateway-edge-cases.spec.js +87 -0
  54. package/dist/esm/__tests__/identity-cache/identity-gateway-edge-cases.spec.js.map +1 -0
  55. package/dist/esm/__tests__/identity-cache/identity-gateway-enqueue-async.spec.d.ts +1 -0
  56. package/dist/esm/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js +134 -0
  57. package/dist/esm/__tests__/identity-cache/identity-gateway-enqueue-async.spec.js.map +1 -0
  58. package/dist/esm/__tests__/identity-cache/identity-gateway-stale-cache.spec.d.ts +1 -0
  59. package/dist/esm/__tests__/identity-cache/identity-gateway-stale-cache.spec.js +222 -0
  60. package/dist/esm/__tests__/identity-cache/identity-gateway-stale-cache.spec.js.map +1 -0
  61. package/dist/esm/__tests__/identity-cache/identity-gateway-test-setup.d.ts +28 -0
  62. package/dist/esm/__tests__/identity-cache/identity-gateway-test-setup.js +83 -0
  63. package/dist/esm/__tests__/identity-cache/identity-gateway-test-setup.js.map +1 -0
  64. package/dist/esm/clients/internal-api/identity-client.d.ts +12 -2
  65. package/dist/esm/clients/internal-api/identity-client.js +60 -14
  66. package/dist/esm/clients/internal-api/identity-client.js.map +1 -1
  67. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +1 -7
  68. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js +1 -303
  69. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -1
  70. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +14 -14
  71. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +125 -330
  72. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
  73. package/dist/esm/services/db/identity-cache-dynamodb-service/index.d.ts +0 -1
  74. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js +0 -1
  75. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js.map +1 -1
  76. package/dist/esm/services/db/identity-cache-dynamodb-service/types.d.ts +8 -158
  77. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js +0 -14
  78. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
  79. package/package.json +2 -2
  80. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js +0 -646
  81. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js.map +0 -1
  82. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +0 -325
  83. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +0 -1
  84. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +0 -1286
  85. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +0 -1
  86. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js +0 -2170
  87. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js.map +0 -1
  88. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.d.ts +0 -26
  89. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js +0 -252
  90. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js.map +0 -1
  91. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js +0 -644
  92. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js.map +0 -1
  93. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +0 -323
  94. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +0 -1
  95. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +0 -1284
  96. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +0 -1
  97. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js +0 -2168
  98. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js.map +0 -1
  99. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.d.ts +0 -26
  100. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js +0 -235
  101. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js.map +0 -1
  102. /package/dist/cjs/__tests__/identity-cache/{identity-cache-dynamodb-db-service-v2-comparison.spec.d.ts → identity-client.spec.d.ts} +0 -0
  103. /package/dist/cjs/__tests__/identity-cache/{identity-cache-dynamodb-service-v2-comparison.spec.d.ts → identity-gateway-cache-hit.spec.d.ts} +0 -0
  104. /package/dist/cjs/__tests__/identity-cache/{identity-cache-dynamodb-service.spec.d.ts → identity-gateway-cache-miss.spec.d.ts} +0 -0
  105. /package/dist/cjs/__tests__/identity-cache/{identity-gateway-service.spec.d.ts → identity-gateway-constructor.spec.d.ts} +0 -0
  106. /package/dist/{esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.d.ts → cjs/__tests__/identity-cache/identity-gateway-edge-cases.spec.d.ts} +0 -0
  107. /package/dist/{esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.d.ts → cjs/__tests__/identity-cache/identity-gateway-enqueue-async.spec.d.ts} +0 -0
  108. /package/dist/{esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.d.ts → cjs/__tests__/identity-cache/identity-gateway-stale-cache.spec.d.ts} +0 -0
  109. /package/dist/esm/__tests__/identity-cache/{identity-gateway-service.spec.d.ts → identity-client.spec.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity-gateway-service.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-gateway-service.spec.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { EventIdentity } from '@adtrackify/at-tracking-event-types';
2
- import { IDENTITY_CACHE_STALENESS_TIER, IdentityCacheStaleTracker } from '@adtrackify/at-shared-utils';
3
- import { CACHE_WRITE_REASON, IdentityCacheTraitChanges, IdentityCacheLookupResult, IdentityCacheLookupState, IdentityCacheLookupStateSummaryInput, IdentityCacheLookupSummary, IdentityCacheLookupSummaryInput, IdentityCacheWithCachingResult, IdentityCacheWithCachingState, IdentityCacheWithCachingStateSummaryInput, IdentityCacheWithCachingSummary, IdentityCacheWithCachingSummaryInput } from './types.js';
4
- export declare function createIdentityCacheLookupState(pixelId: string, incomingIdentity: EventIdentity): IdentityCacheLookupState;
5
- export declare function createIdentityCacheLookupSummary({ outcome, pixelId, identityId, didLookupByIdentityId, didLookupByEmail, isDeepEqual, isCacheStale, staleTier, staleTraits, writeReason, skipNeptune, cachedIdentity, incomingIdentity, mergedIdentity, resolvedIdentity, discoveredIdentityId, errorMessage, }: IdentityCacheLookupSummaryInput): IdentityCacheLookupSummary;
6
- export declare function createIdentityCacheLookupResult(cacheResult: IdentityCacheLookupResult['cacheResult'], summaryInput: IdentityCacheLookupSummaryInput): IdentityCacheLookupResult;
7
- export declare function createIdentityCacheLookupResultFromState(state: IdentityCacheLookupState, cacheResult: IdentityCacheLookupResult['cacheResult'], summaryInput: IdentityCacheLookupStateSummaryInput): IdentityCacheLookupResult;
8
- export declare function createCacheMissLookupResult(state: IdentityCacheLookupState, outcome: IdentityCacheLookupStateSummaryInput['outcome'], summaryOverrides?: Partial<IdentityCacheLookupStateSummaryInput>): IdentityCacheLookupResult;
9
- export declare function createIdentityCacheWithCachingSummary({ outcome, pixelId, identityId, writeReason, staleTier, staleTraits, didReadCache, didCallNeptune, didWriteCache, didSkipNeptune, didFallbackToIncoming, didEnqueueAsync, cachedIdentity, incomingIdentity, identityForNeptune, resolvedIdentity, neptuneIdentity, traitChanges, hasDiscoveredIdentityId, lookupSummary, errorMessage, }: IdentityCacheWithCachingSummaryInput): IdentityCacheWithCachingSummary;
10
- export declare function createIdentityCacheWithCachingResult(identity: EventIdentity | undefined, summaryInput: IdentityCacheWithCachingSummaryInput): IdentityCacheWithCachingResult;
11
- export declare function createIdentityCacheWithCachingResultFromState(state: IdentityCacheWithCachingState, identity: EventIdentity | undefined, summaryInput: IdentityCacheWithCachingStateSummaryInput): IdentityCacheWithCachingResult;
12
- export declare function stripAddressTimestamps(identity: EventIdentity): EventIdentity;
13
- export declare function computeTraitChanges(cachedIdentity: EventIdentity, resolvedIdentity: EventIdentity): IdentityCacheTraitChanges;
14
- export interface CacheHitProcessingResult {
15
- mergedIdentity: EventIdentity;
16
- staleTier: IDENTITY_CACHE_STALENESS_TIER;
17
- staleTracker: IdentityCacheStaleTracker;
18
- staleTraits: string[];
19
- isCacheStale: boolean;
20
- isDeepEqual: boolean;
21
- isVolatileOnly: boolean;
22
- isAddressUpdate: boolean;
23
- skipNeptune: boolean;
24
- writeReason: CACHE_WRITE_REASON;
25
- }
26
- export declare function processCacheHit(incomingIdentity: EventIdentity, cachedIdentity: EventIdentity): CacheHitProcessingResult;
@@ -1,235 +0,0 @@
1
- import { IDENTITY_CACHE_STALENESS_TIER, mergeAndComputeIdentityStaleness, } from '@adtrackify/at-shared-utils';
2
- import fastDeepEqual from 'fast-deep-equal';
3
- import { CACHE_WRITE_REASON, } from './types.js';
4
- export function createIdentityCacheLookupState(pixelId, incomingIdentity) {
5
- return {
6
- pixelId,
7
- incomingIdentity,
8
- didLookupByIdentityId: false,
9
- didLookupByEmail: false,
10
- isCacheStale: false,
11
- staleTraits: [],
12
- };
13
- }
14
- export function createIdentityCacheLookupSummary({ outcome, pixelId, identityId, didLookupByIdentityId, didLookupByEmail, isDeepEqual, isCacheStale, staleTier, staleTraits, writeReason, skipNeptune, cachedIdentity, incomingIdentity, mergedIdentity, resolvedIdentity, discoveredIdentityId, errorMessage, }) {
15
- return {
16
- outcome,
17
- pixelId,
18
- identityId: identityId ?? resolvedIdentity?.identityId ?? mergedIdentity?.identityId ?? cachedIdentity?.identityId ?? incomingIdentity?.identityId,
19
- didLookupByIdentityId: didLookupByIdentityId ?? false,
20
- didLookupByEmail: didLookupByEmail ?? false,
21
- isDeepEqual,
22
- isCacheStale: isCacheStale ?? false,
23
- staleTier,
24
- staleTraits: staleTraits ?? [],
25
- writeReason,
26
- skipNeptune,
27
- cachedIdentity,
28
- incomingIdentity,
29
- mergedIdentity,
30
- resolvedIdentity,
31
- discoveredIdentityId,
32
- incomingClick: incomingIdentity?.traits?.click ?? null,
33
- cachedClick: cachedIdentity?.traits?.click ?? null,
34
- mergedClick: mergedIdentity?.traits?.click ?? null,
35
- errorMessage,
36
- };
37
- }
38
- export function createIdentityCacheLookupResult(cacheResult, summaryInput) {
39
- return {
40
- cacheResult,
41
- summary: createIdentityCacheLookupSummary(summaryInput),
42
- };
43
- }
44
- export function createIdentityCacheLookupResultFromState(state, cacheResult, summaryInput) {
45
- return createIdentityCacheLookupResult(cacheResult, {
46
- pixelId: state.pixelId,
47
- identityId: state.incomingIdentity?.identityId,
48
- didLookupByIdentityId: state.didLookupByIdentityId,
49
- didLookupByEmail: state.didLookupByEmail,
50
- isDeepEqual: state.isDeepEqual,
51
- isCacheStale: state.isCacheStale,
52
- staleTier: state.staleTier,
53
- staleTraits: state.staleTraits,
54
- writeReason: state.writeReason,
55
- skipNeptune: state.skipNeptune,
56
- cachedIdentity: state.cachedIdentity,
57
- incomingIdentity: state.incomingIdentity,
58
- mergedIdentity: state.mergedIdentity,
59
- resolvedIdentity: state.resolvedIdentity,
60
- discoveredIdentityId: state.discoveredIdentityId,
61
- ...summaryInput,
62
- });
63
- }
64
- export function createCacheMissLookupResult(state, outcome, summaryOverrides = {}) {
65
- const cacheResult = {
66
- resolvedIdentity: undefined,
67
- isCacheStale: true,
68
- writeReason: state.writeReason,
69
- };
70
- return createIdentityCacheLookupResultFromState(state, cacheResult, {
71
- outcome,
72
- isCacheStale: true,
73
- writeReason: state.writeReason,
74
- ...summaryOverrides,
75
- });
76
- }
77
- export function createIdentityCacheWithCachingSummary({ outcome, pixelId, identityId, writeReason, staleTier, staleTraits, didReadCache, didCallNeptune, didWriteCache, didSkipNeptune, didFallbackToIncoming, didEnqueueAsync, cachedIdentity, incomingIdentity, identityForNeptune, resolvedIdentity, neptuneIdentity, traitChanges, hasDiscoveredIdentityId, lookupSummary, errorMessage, }) {
78
- return {
79
- outcome,
80
- pixelId,
81
- identityId: identityId ?? resolvedIdentity?.identityId ?? neptuneIdentity?.identityId ?? identityForNeptune?.identityId ?? incomingIdentity?.identityId,
82
- writeReason,
83
- staleTier,
84
- staleTraits: staleTraits ?? [],
85
- didReadCache: didReadCache ?? false,
86
- didCallNeptune: didCallNeptune ?? false,
87
- didWriteCache: didWriteCache ?? false,
88
- didSkipNeptune: didSkipNeptune ?? false,
89
- didFallbackToIncoming: didFallbackToIncoming ?? false,
90
- didEnqueueAsync: didEnqueueAsync ?? false,
91
- cachedIdentity,
92
- incomingIdentity,
93
- identityForNeptune,
94
- resolvedIdentity,
95
- neptuneIdentity,
96
- incomingClick: incomingIdentity?.traits?.click ?? null,
97
- cachedClick: cachedIdentity?.traits?.click ?? null,
98
- resolvedClick: resolvedIdentity?.traits?.click ?? null,
99
- neptuneClick: neptuneIdentity?.traits?.click ?? null,
100
- traitChanges,
101
- hasDiscoveredIdentityId,
102
- lookupSummary,
103
- errorMessage,
104
- };
105
- }
106
- export function createIdentityCacheWithCachingResult(identity, summaryInput) {
107
- return {
108
- identity,
109
- summary: createIdentityCacheWithCachingSummary(summaryInput),
110
- };
111
- }
112
- export function createIdentityCacheWithCachingResultFromState(state, identity, summaryInput) {
113
- return createIdentityCacheWithCachingResult(identity, {
114
- pixelId: state.pixelId,
115
- incomingIdentity: state.incomingIdentity,
116
- cachedIdentity: state.cachedIdentity,
117
- identityForNeptune: state.identityForNeptune,
118
- resolvedIdentity: state.resolvedIdentity,
119
- neptuneIdentity: state.neptuneIdentity,
120
- writeReason: state.cacheResponse?.writeReason,
121
- staleTier: state.cacheResponse?.staleTier,
122
- staleTraits: state.staleTraits,
123
- didReadCache: state.didReadCache,
124
- didCallNeptune: state.didCallNeptune,
125
- didWriteCache: state.didWriteCache,
126
- didSkipNeptune: state.didSkipNeptune,
127
- didFallbackToIncoming: state.didFallbackToIncoming,
128
- didEnqueueAsync: state.didEnqueueAsync,
129
- lookupSummary: state.lookupSummary,
130
- ...summaryInput,
131
- });
132
- }
133
- export function stripAddressTimestamps(identity) {
134
- if (!identity?.traits?.addresses?.length) {
135
- return identity;
136
- }
137
- const strippedAddresses = identity.traits.addresses.map((addr) => {
138
- if (!addr)
139
- return addr;
140
- const { cra, upa, ...rest } = addr;
141
- return rest;
142
- });
143
- return {
144
- ...identity,
145
- traits: {
146
- ...identity.traits,
147
- addresses: strippedAddresses,
148
- },
149
- };
150
- }
151
- export function computeTraitChanges(cachedIdentity, resolvedIdentity) {
152
- const changes = {};
153
- const cachedTraits = cachedIdentity.traits ?? {};
154
- const resolvedTraits = resolvedIdentity.traits ?? {};
155
- const arrayTraits = [
156
- 'emails',
157
- 'phones',
158
- 'userIds',
159
- 'shopifyYIds',
160
- 'shopifyCustomerIds',
161
- 'klaviyoIds',
162
- 'genders',
163
- 'dobs',
164
- 'ids',
165
- ];
166
- for (const trait of arrayTraits) {
167
- const cachedValue = cachedTraits[trait];
168
- const resolvedValue = resolvedTraits[trait];
169
- if (!fastDeepEqual(cachedValue, resolvedValue)) {
170
- changes[trait] = {
171
- cached: cachedValue ?? [],
172
- resolved: resolvedValue ?? [],
173
- };
174
- }
175
- }
176
- if (!fastDeepEqual(cachedTraits.addresses, resolvedTraits.addresses)) {
177
- changes.addresses = {
178
- cached: cachedTraits.addresses ?? [],
179
- resolved: resolvedTraits.addresses ?? [],
180
- };
181
- }
182
- if (!fastDeepEqual(cachedTraits.click, resolvedTraits.click)) {
183
- changes.click = {
184
- cached: cachedTraits.click ?? {},
185
- resolved: resolvedTraits.click ?? {},
186
- };
187
- }
188
- if (cachedTraits.ipAddress !== resolvedTraits.ipAddress) {
189
- changes.ipAddress = {
190
- cached: cachedTraits.ipAddress,
191
- resolved: resolvedTraits.ipAddress,
192
- };
193
- }
194
- if (cachedTraits.userAgent !== resolvedTraits.userAgent) {
195
- changes.userAgent = {
196
- cached: cachedTraits.userAgent,
197
- resolved: resolvedTraits.userAgent,
198
- };
199
- }
200
- if (cachedIdentity.identityId !== resolvedIdentity.identityId) {
201
- changes.identityId = {
202
- cached: cachedIdentity.identityId,
203
- resolved: resolvedIdentity.identityId,
204
- };
205
- }
206
- return changes;
207
- }
208
- export function processCacheHit(incomingIdentity, cachedIdentity) {
209
- const stalenessResult = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
210
- const { mergedIdentity, staleTier, staleTracker, staleTraits } = stalenessResult;
211
- const cachedForComparison = stripAddressTimestamps(cachedIdentity);
212
- const mergedForComparison = stripAddressTimestamps(mergedIdentity);
213
- const isDeepEqual = fastDeepEqual(cachedForComparison, mergedForComparison);
214
- const isVolatileOnly = staleTier === IDENTITY_CACHE_STALENESS_TIER.VOLATILE_ONLY;
215
- const isAddressUpdate = staleTier === IDENTITY_CACHE_STALENESS_TIER.ADDRESS_UPDATE;
216
- const skipNeptune = isVolatileOnly || isAddressUpdate;
217
- const writeReason = isAddressUpdate ? CACHE_WRITE_REASON.ADDRESS_UPDATE : CACHE_WRITE_REASON.STALE_TRAITS;
218
- let isCacheStale = stalenessResult.isCacheStale;
219
- if (isDeepEqual || isVolatileOnly) {
220
- isCacheStale = false;
221
- }
222
- return {
223
- mergedIdentity,
224
- staleTier,
225
- staleTracker,
226
- staleTraits,
227
- isCacheStale,
228
- isDeepEqual,
229
- isVolatileOnly,
230
- isAddressUpdate,
231
- skipNeptune,
232
- writeReason,
233
- };
234
- }
235
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/helpers.ts"],"names":[],"mappings":"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"}