Commiting

This commit is contained in:
mgabdev
2020-11-15 12:48:32 -06:00
parent 62515bbaee
commit fb612f60c8
1011 changed files with 3507 additions and 49604 deletions

View File

@@ -1,12 +1,18 @@
import { normalizeAccount, normalizeStatus, normalizePoll } from './normalizer';
import isObject from 'lodash.isobject'
import {
normalizeAccount,
normalizeStatus,
normalizePoll,
} from './normalizer'
import { fetchContext } from '../statuses'
import { importGroups } from '../groups'
export const ACCOUNT_IMPORT = 'ACCOUNT_IMPORT';
export const ACCOUNTS_IMPORT = 'ACCOUNTS_IMPORT';
export const STATUS_IMPORT = 'STATUS_IMPORT';
export const STATUSES_IMPORT = 'STATUSES_IMPORT';
export const POLLS_IMPORT = 'POLLS_IMPORT';
export const ACCOUNT_FETCH_FAIL_FOR_USERNAME_LOOKUP = 'ACCOUNT_FETCH_FAIL_FOR_USERNAME_LOOKUP';
export const ACCOUNT_IMPORT = 'ACCOUNT_IMPORT'
export const ACCOUNTS_IMPORT = 'ACCOUNTS_IMPORT'
export const STATUS_IMPORT = 'STATUS_IMPORT'
export const STATUSES_IMPORT = 'STATUSES_IMPORT'
export const POLLS_IMPORT = 'POLLS_IMPORT'
export const ACCOUNT_FETCH_FAIL_FOR_USERNAME_LOOKUP = 'ACCOUNT_FETCH_FAIL_FOR_USERNAME_LOOKUP'
function pushUnique(array, object) {
if (array.every(element => element.id !== object.id)) {
@@ -14,34 +20,39 @@ function pushUnique(array, object) {
}
}
export function importAccount(account) {
return { type: ACCOUNT_IMPORT, account };
}
export const importAccount = (account) => ({
type: ACCOUNT_IMPORT,
account,
})
export function importAccounts(accounts) {
return { type: ACCOUNTS_IMPORT, accounts };
}
export const importAccounts = (accounts) => ({
type: ACCOUNTS_IMPORT,
accounts,
})
export function importStatus(status) {
return { type: STATUS_IMPORT, status };
}
export const importStatus = (status) => ({
type: STATUS_IMPORT,
status,
})
export function importStatuses(statuses) {
return { type: STATUSES_IMPORT, statuses };
}
export const importStatuses = (statuses) => ({
type: STATUSES_IMPORT,
statuses,
})
export function importPolls(polls) {
return { type: POLLS_IMPORT, polls };
}
export const importPolls = (polls) => ({
type: POLLS_IMPORT,
polls,
})
export function importFetchedAccount(account) {
export const importFetchedAccount = (account) => {
return importFetchedAccounts([account]);
}
export function importFetchedAccounts(accounts) {
export const importFetchedAccounts = (accounts) => {
const normalAccounts = [];
function processAccount(account) {
const processAccount = (account) => {
pushUnique(normalAccounts, normalizeAccount(account));
if (account.moved) {
@@ -54,47 +65,48 @@ export function importFetchedAccounts(accounts) {
return importAccounts(normalAccounts);
}
export function importFetchedStatus(status) {
export const importFetchedStatus = (status) => {
return importFetchedStatuses([status]);
}
export function importFetchedStatuses(statuses) {
return (dispatch, getState) => {
const accounts = [];
const normalStatuses = [];
const polls = [];
export const importFetchedStatuses = (statuses) => (dispatch, getState) => {
const accounts = []
const normalStatuses = []
const polls = []
const groups = []
function processStatus(status) {
pushUnique(normalStatuses, normalizeStatus(status, getState().getIn(['statuses', status.id])));
pushUnique(accounts, status.account);
const processStatus = (status) => {
pushUnique(normalStatuses, normalizeStatus(status, getState().getIn(['statuses', status.id])))
if (status.reblog && status.reblog.id) {
processStatus(status.reblog);
}
if (status.quote && status.quote.id) {
processStatus(status.quote);
}
if (status.poll && status.poll.id) {
pushUnique(polls, normalizePoll(status.poll));
}
if (isObject(status.account)) pushUnique(accounts, status.account)
if (isObject(status.group)) pushUnique(groups, status.group)
if (status.reblog && status.reblog.id) {
processStatus(status.reblog)
}
statuses.forEach(processStatus);
if (status.quote && status.quote.id) {
processStatus(status.quote)
}
dispatch(importPolls(polls));
dispatch(importFetchedAccounts(accounts));
dispatch(importStatuses(normalStatuses));
};
if (status.poll && status.poll.id) {
pushUnique(polls, normalizePoll(status.poll))
}
}
statuses.forEach(processStatus)
dispatch(importPolls(polls))
dispatch(importFetchedAccounts(accounts))
dispatch(importStatuses(normalStatuses))
dispatch(importGroups(groups))
}
export function importFetchedPoll(poll) {
return dispatch => {
dispatch(importPolls([normalizePoll(poll)]));
};
export const importFetchedPoll = (poll) => (dispatch) => {
dispatch(importPolls([normalizePoll(poll)]))
}
export function importErrorWhileFetchingAccountByUsername(username) {
return { type: ACCOUNT_FETCH_FAIL_FOR_USERNAME_LOOKUP, username };
};
export const importErrorWhileFetchingAccountByUsername = (username) => ({
type: ACCOUNT_FETCH_FAIL_FOR_USERNAME_LOOKUP,
username
})