pleroma/app/soapbox/normalizers/soapbox/ad.ts
2022-08-26 13:58:02 -05:00

20 lines
552 B
TypeScript

import {
Map as ImmutableMap,
Record as ImmutableRecord,
fromJS,
} from 'immutable';
import { CardRecord, normalizeCard } from '../card';
export const AdRecord = ImmutableRecord({
card: CardRecord(),
impression: undefined as string | undefined,
expires: undefined as Date | undefined,
});
/** Normalizes an ad from Soapbox Config. */
export const normalizeAd = (ad: Record<string, any>) => {
const map = ImmutableMap<string, any>(fromJS(ad));
const card = normalizeCard(map.get('card'));
return AdRecord(map.set('card', card));
};