API

Exports shared by API methods.

/**
 * An instance of the Media Masher API,
 * providing methods for one or more of its
 * endpoints.
 */
interface Api 
extends WithId {
  add?: ApiAddFunction
  apis?: ApiApisFunction
  args: ApiOptions
  decode?: ApiDecodeFunction
  delete?: ApiDeleteFunction
  download?: ApiDownloadFunction
  encode?: ApiEncodeFunction
  find?: ApiFindFunction
  host: Plugins
  id: string
  insert?: ApiInsertFunction
  mash?: ApiMashFunction
  media?: ApiMediaFunction
  remove?: ApiRemoveFunction
  status?: ApiStatusFunction
  transcode?: ApiTranscodeFunction
  upload?: ApiUploadFunction
}
interface ApiCodeOptions  {
  addResource?: boolean
  requestResource?: boolean
  updateResource?: boolean
}
/** Configuration options for an Api. */
interface ApiOptions  {
  accountId: string
  count: number
  decode?: ApiDecodeOptions
  download?: ApiDownloadOptions
  encode?: ApiEncodeOptions
  endpoints: ApiEndpointIdRecord
  find?: Array<StoredMedia>
  icon?: string
  id: string
  label?: string
  mash?: StoredMedia
  prefix?: string
  request?: EndpointRequest
  transcode?: ApiTranscodeOptions
  updatedAt: number
  upload?: ApiUploadOptions
}
interface CodeArgs  {
  mediaId?: string
  opt?: object
  resourceId?: string
}
type CodeType = 'transcode' | 'encode' | 'decode'
interface OutputOptions 
extends Record<string, ValueRecord | Value | undefined> {
  basename?: string
  extension?: string
  format?: string
  options?: ValueRecord
}
/**
 * Base class for API implementations.
 * @implements Api
 */
class ApiClass {
  add?: ApiAddFunction
  apis?: ApiApisFunction
  args: ApiOptions
  decode?: ApiDecodeFunction
  delete?: ApiDeleteFunction
  download?: ApiDownloadFunction
  encode?: ApiEncodeFunction
  find?: ApiFindFunction
  host: Plugins
  id: string
  insert?: ApiInsertFunction
  mash?: ApiMashFunction
  media?: ApiMediaFunction
  remove?: ApiRemoveFunction
  status?: ApiStatusFunction
  transcode?: ApiTranscodeFunction
  upload?: ApiUploadFunction
}
/** @implements Api */
class ClientApi
extends ApiClass {
  add?: ApiAddFunction
  apis?: ApiApisFunction
  args: ApiOptions
  decode?: ApiDecodeFunction
  delete?: ApiDeleteFunction
  download?: ApiDownloadFunction
  encode?: ApiEncodeFunction
  find?: ApiFindFunction
  host: Plugins
  id: string
  insert?: ApiInsertFunction
  mash?: ApiMashFunction
  media?: ApiMediaFunction
  remove?: ApiRemoveFunction
  status?: ApiStatusFunction
  transcode?: ApiTranscodeFunction
  upload?: ApiUploadFunction
}
/** @implements Api */
class ServerApi
extends ApiClass {
  add?: ApiAddFunction
  apiStoreDelete: StoreDeleteFunction
  apis?: ApiApisFunction
  args: ApiOptions
  decode?: ApiDecodeFunction
  delete?: ApiDeleteFunction
  download?: ApiDownloadFunction
  encode?: ApiEncodeFunction
  find?: ApiFindFunction
  host: Plugins
  id: string
  insert?: ApiInsertFunction
  mash?: ApiMashFunction
  media?: ApiMediaFunction
  remove?: ApiRemoveFunction
  status?: ApiStatusFunction
  transcode?: ApiTranscodeFunction
  upload?: ApiUploadFunction
}
function apiSourceTypeKeys(
  source?: OrArray<string>, 
  type?: OrArray<string>, 
  users?: Strings
): Strings
function apiSourcesAndTypes(
  source?: OrArray<string>, 
  type?: OrArray<string>
): StringsTuple
function createProgress(
  signals: SignalsRecord, 
  id?: string
): JobProgress | undefined
/**
 * Returns default transparent output
 * options for a given transcode source.
 */
function typeOutputAlphaOptions(
  type: string, 
  overrides?: OutputOptions
): OutputOptions
/**
 * Returns default output options for a
 * given transcode source.
 */
function typeOutputOptions(
  type: string, 
  overrides?: OutputOptions
): OutputOptions