video-share.ts 588 B

1234567891011121314151617
  1. import { VideoShareModel } from '../../../models/video/video-share'
  2. import { PickWith } from '../../utils'
  3. import { MActorDefault } from '../account'
  4. import { MVideo } from './video'
  5. type Use<K extends keyof VideoShareModel, M> = PickWith<VideoShareModel, K, M>
  6. // ############################################################################
  7. export type MVideoShare = Omit<VideoShareModel, 'Actor' | 'Video'>
  8. export type MVideoShareActor = MVideoShare &
  9. Use<'Actor', MActorDefault>
  10. export type MVideoShareFull = MVideoShare &
  11. Use<'Actor', MActorDefault> &
  12. Use<'Video', MVideo>