glitch-soc/mastodon

View on GitHub
app/javascript/flavours/glitch/models/search.ts

Summary

Maintainability
A
2 hrs
Test Coverage
import type { ApiSearchResultsJSON } from 'flavours/glitch/api_types/search';
import type { ApiHashtagJSON } from 'flavours/glitch/api_types/tags';

export type SearchType = 'account' | 'hashtag' | 'accounts' | 'statuses';

export interface RecentSearch {
  q: string;
  type?: SearchType;
}

export interface SearchResults {
  accounts: string[];
  statuses: string[];
  hashtags: ApiHashtagJSON[];
}

export const createSearchResults = (serverJSON: ApiSearchResultsJSON) => ({
  accounts: serverJSON.accounts.map((account) => account.id),
  statuses: serverJSON.statuses.map((status) => status.id),
  hashtags: serverJSON.hashtags,
});