30 lines
		
	
	
		
			790 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			790 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import type { RecordOf } from 'immutable';
 | |
| import { Record } from 'immutable';
 | |
| 
 | |
| import type { ApiRelationshipJSON } from 'mastodon/api_types/relationships';
 | |
| 
 | |
| type RelationshipShape = Required<ApiRelationshipJSON>; // no changes from server shape
 | |
| export type Relationship = RecordOf<RelationshipShape>;
 | |
| 
 | |
| const RelationshipFactory = Record<RelationshipShape>({
 | |
|   blocked_by: false,
 | |
|   blocking: false,
 | |
|   domain_blocking: false,
 | |
|   endorsed: false,
 | |
|   followed_by: false,
 | |
|   following: false,
 | |
|   id: '',
 | |
|   languages: null,
 | |
|   muting_notifications: false,
 | |
|   muting: false,
 | |
|   note: '',
 | |
|   notifying: false,
 | |
|   requested_by: false,
 | |
|   requested: false,
 | |
|   showing_reblogs: false,
 | |
| });
 | |
| 
 | |
| export function createRelationship(attributes: Partial<RelationshipShape>) {
 | |
|   return RelationshipFactory(attributes);
 | |
| }
 |