Changeset View
Changeset View
Standalone View
Standalone View
lib/utils/message-ops-utils.js
// @flow | // @flow | ||||
import invariant from 'invariant'; | |||||
import _keyBy from 'lodash/fp/keyBy.js'; | import _keyBy from 'lodash/fp/keyBy.js'; | ||||
import { messageID } from '../shared/message-utils.js'; | import { messageID } from '../shared/message-utils.js'; | ||||
import { messageSpecs } from '../shared/messages/message-specs.js'; | import { messageSpecs } from '../shared/messages/message-specs.js'; | ||||
import type { | import type { | ||||
Media, | Media, | ||||
ClientDBMediaInfo, | ClientDBMediaInfo, | ||||
Image, | Image, | ||||
Show All 9 Lines | |||||
} from '../types/message-types.js'; | } from '../types/message-types.js'; | ||||
import type { MediaMessageServerDBContent } from '../types/messages/media.js'; | import type { MediaMessageServerDBContent } from '../types/messages/media.js'; | ||||
function translateMediaToClientDBMediaInfos( | function translateMediaToClientDBMediaInfos( | ||||
media: $ReadOnlyArray<Media>, | media: $ReadOnlyArray<Media>, | ||||
): $ReadOnlyArray<ClientDBMediaInfo> { | ): $ReadOnlyArray<ClientDBMediaInfo> { | ||||
const clientDBMediaInfos = []; | const clientDBMediaInfos = []; | ||||
for (const m of media) { | for (const m of media) { | ||||
invariant( | |||||
m.type === 'photo' || m.type === 'video', | |||||
'unimplemented media type', | |||||
); | |||||
clientDBMediaInfos.push({ | clientDBMediaInfos.push({ | ||||
id: m.id, | id: m.id, | ||||
uri: m.uri, | uri: m.uri, | ||||
type: m.type, | type: m.type, | ||||
extras: JSON.stringify({ | extras: JSON.stringify({ | ||||
dimensions: m.dimensions, | dimensions: m.dimensions, | ||||
loop: m.type === 'video' ? m.loop : false, | loop: m.type === 'video' ? m.loop : false, | ||||
local_media_selection: m.localMediaSelection, | local_media_selection: m.localMediaSelection, | ||||
▲ Show 20 Lines • Show All 172 Lines • Show Last 20 Lines |