24 lines
		
	
	
	
		
			765 B
			
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			765 B
			
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
// Copyright 2016 Signal Messenger, LLC
 | 
						|
// SPDX-License-Identifier: AGPL-3.0-only
 | 
						|
 | 
						|
import type { MessageReceiptType } from './MessageReceipts';
 | 
						|
 | 
						|
// This function is necessary because the only thing we can guarantee will be unique is
 | 
						|
//  three pieces of data: sender, deviceId, and timestamp.
 | 
						|
// Because we don't care which device interacted with our message, we collapse this down
 | 
						|
//  to: sender + timestamp.
 | 
						|
// In some cases, modifiers are stored in the same map, so we also add the modifier type
 | 
						|
 | 
						|
type ModifierType = MessageReceiptType | 'readsync' | 'viewsync';
 | 
						|
 | 
						|
export function generateCacheKey({
 | 
						|
  sender,
 | 
						|
  timestamp,
 | 
						|
  type,
 | 
						|
}: {
 | 
						|
  sender: string;
 | 
						|
  timestamp: number;
 | 
						|
  type: ModifierType;
 | 
						|
}): string {
 | 
						|
  return `cacheKey-${sender}-${timestamp}-${type}`;
 | 
						|
}
 |