1615 lines
45 KiB
TypeScript
1615 lines
45 KiB
TypeScript
/* eslint-disable */
|
|
import Long from "long";
|
|
import { grpc } from "@improbable-eng/grpc-web";
|
|
import _m0 from "protobufjs/minimal";
|
|
import { Duration } from "./google/protobuf/duration";
|
|
import { Observable } from "rxjs";
|
|
import { BrowserHeaders } from "browser-headers";
|
|
import { share } from "rxjs/operators";
|
|
|
|
export const protobufPackage = "media_set";
|
|
|
|
export enum AudioFormat {
|
|
WAV = 0,
|
|
MP3 = 1,
|
|
UNRECOGNIZED = -1,
|
|
}
|
|
|
|
export function audioFormatFromJSON(object: any): AudioFormat {
|
|
switch (object) {
|
|
case 0:
|
|
case "WAV":
|
|
return AudioFormat.WAV;
|
|
case 1:
|
|
case "MP3":
|
|
return AudioFormat.MP3;
|
|
case -1:
|
|
case "UNRECOGNIZED":
|
|
default:
|
|
return AudioFormat.UNRECOGNIZED;
|
|
}
|
|
}
|
|
|
|
export function audioFormatToJSON(object: AudioFormat): string {
|
|
switch (object) {
|
|
case AudioFormat.WAV:
|
|
return "WAV";
|
|
case AudioFormat.MP3:
|
|
return "MP3";
|
|
default:
|
|
return "UNKNOWN";
|
|
}
|
|
}
|
|
|
|
export interface MediaSet {
|
|
id: string;
|
|
youtubeId: string;
|
|
audioChannels: number;
|
|
audioApproxFrames: number;
|
|
audioFrames: number;
|
|
audioSampleRate: number;
|
|
audioYoutubeItag: number;
|
|
audioMimeType: string;
|
|
videoDuration?: Duration;
|
|
videoYoutubeItag: number;
|
|
videoMimeType: string;
|
|
}
|
|
|
|
export interface GetRequest {
|
|
youtubeId: string;
|
|
}
|
|
|
|
export interface GetPeaksRequest {
|
|
id: string;
|
|
numBins: number;
|
|
}
|
|
|
|
export interface GetPeaksProgress {
|
|
peaks: number[];
|
|
percentComplete: number;
|
|
url: string;
|
|
}
|
|
|
|
export interface GetPeaksForSegmentRequest {
|
|
id: string;
|
|
numBins: number;
|
|
startFrame: number;
|
|
endFrame: number;
|
|
}
|
|
|
|
export interface GetPeaksForSegmentResponse {
|
|
peaks: number[];
|
|
}
|
|
|
|
export interface GetAudioSegmentRequest {
|
|
id: string;
|
|
startFrame: number;
|
|
endFrame: number;
|
|
format: AudioFormat;
|
|
}
|
|
|
|
export interface GetAudioSegmentProgress {
|
|
mimeType: string;
|
|
message: string;
|
|
percentComplete: number;
|
|
audioData: Uint8Array;
|
|
}
|
|
|
|
export interface GetVideoRequest {
|
|
id: string;
|
|
}
|
|
|
|
export interface GetVideoProgress {
|
|
percentComplete: number;
|
|
url: string;
|
|
}
|
|
|
|
export interface GetVideoThumbnailRequest {
|
|
id: string;
|
|
}
|
|
|
|
export interface GetVideoThumbnailResponse {
|
|
image: Uint8Array;
|
|
width: number;
|
|
height: number;
|
|
}
|
|
|
|
const baseMediaSet: object = {
|
|
id: "",
|
|
youtubeId: "",
|
|
audioChannels: 0,
|
|
audioApproxFrames: 0,
|
|
audioFrames: 0,
|
|
audioSampleRate: 0,
|
|
audioYoutubeItag: 0,
|
|
audioMimeType: "",
|
|
videoYoutubeItag: 0,
|
|
videoMimeType: "",
|
|
};
|
|
|
|
export const MediaSet = {
|
|
encode(
|
|
message: MediaSet,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.id !== "") {
|
|
writer.uint32(10).string(message.id);
|
|
}
|
|
if (message.youtubeId !== "") {
|
|
writer.uint32(18).string(message.youtubeId);
|
|
}
|
|
if (message.audioChannels !== 0) {
|
|
writer.uint32(24).int32(message.audioChannels);
|
|
}
|
|
if (message.audioApproxFrames !== 0) {
|
|
writer.uint32(32).int64(message.audioApproxFrames);
|
|
}
|
|
if (message.audioFrames !== 0) {
|
|
writer.uint32(40).int64(message.audioFrames);
|
|
}
|
|
if (message.audioSampleRate !== 0) {
|
|
writer.uint32(48).int32(message.audioSampleRate);
|
|
}
|
|
if (message.audioYoutubeItag !== 0) {
|
|
writer.uint32(56).int32(message.audioYoutubeItag);
|
|
}
|
|
if (message.audioMimeType !== "") {
|
|
writer.uint32(66).string(message.audioMimeType);
|
|
}
|
|
if (message.videoDuration !== undefined) {
|
|
Duration.encode(message.videoDuration, writer.uint32(74).fork()).ldelim();
|
|
}
|
|
if (message.videoYoutubeItag !== 0) {
|
|
writer.uint32(80).int32(message.videoYoutubeItag);
|
|
}
|
|
if (message.videoMimeType !== "") {
|
|
writer.uint32(90).string(message.videoMimeType);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(input: _m0.Reader | Uint8Array, length?: number): MediaSet {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = { ...baseMediaSet } as MediaSet;
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.id = reader.string();
|
|
break;
|
|
case 2:
|
|
message.youtubeId = reader.string();
|
|
break;
|
|
case 3:
|
|
message.audioChannels = reader.int32();
|
|
break;
|
|
case 4:
|
|
message.audioApproxFrames = longToNumber(reader.int64() as Long);
|
|
break;
|
|
case 5:
|
|
message.audioFrames = longToNumber(reader.int64() as Long);
|
|
break;
|
|
case 6:
|
|
message.audioSampleRate = reader.int32();
|
|
break;
|
|
case 7:
|
|
message.audioYoutubeItag = reader.int32();
|
|
break;
|
|
case 8:
|
|
message.audioMimeType = reader.string();
|
|
break;
|
|
case 9:
|
|
message.videoDuration = Duration.decode(reader, reader.uint32());
|
|
break;
|
|
case 10:
|
|
message.videoYoutubeItag = reader.int32();
|
|
break;
|
|
case 11:
|
|
message.videoMimeType = reader.string();
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): MediaSet {
|
|
const message = { ...baseMediaSet } as MediaSet;
|
|
message.id =
|
|
object.id !== undefined && object.id !== null ? String(object.id) : "";
|
|
message.youtubeId =
|
|
object.youtubeId !== undefined && object.youtubeId !== null
|
|
? String(object.youtubeId)
|
|
: "";
|
|
message.audioChannels =
|
|
object.audioChannels !== undefined && object.audioChannels !== null
|
|
? Number(object.audioChannels)
|
|
: 0;
|
|
message.audioApproxFrames =
|
|
object.audioApproxFrames !== undefined &&
|
|
object.audioApproxFrames !== null
|
|
? Number(object.audioApproxFrames)
|
|
: 0;
|
|
message.audioFrames =
|
|
object.audioFrames !== undefined && object.audioFrames !== null
|
|
? Number(object.audioFrames)
|
|
: 0;
|
|
message.audioSampleRate =
|
|
object.audioSampleRate !== undefined && object.audioSampleRate !== null
|
|
? Number(object.audioSampleRate)
|
|
: 0;
|
|
message.audioYoutubeItag =
|
|
object.audioYoutubeItag !== undefined && object.audioYoutubeItag !== null
|
|
? Number(object.audioYoutubeItag)
|
|
: 0;
|
|
message.audioMimeType =
|
|
object.audioMimeType !== undefined && object.audioMimeType !== null
|
|
? String(object.audioMimeType)
|
|
: "";
|
|
message.videoDuration =
|
|
object.videoDuration !== undefined && object.videoDuration !== null
|
|
? Duration.fromJSON(object.videoDuration)
|
|
: undefined;
|
|
message.videoYoutubeItag =
|
|
object.videoYoutubeItag !== undefined && object.videoYoutubeItag !== null
|
|
? Number(object.videoYoutubeItag)
|
|
: 0;
|
|
message.videoMimeType =
|
|
object.videoMimeType !== undefined && object.videoMimeType !== null
|
|
? String(object.videoMimeType)
|
|
: "";
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: MediaSet): unknown {
|
|
const obj: any = {};
|
|
message.id !== undefined && (obj.id = message.id);
|
|
message.youtubeId !== undefined && (obj.youtubeId = message.youtubeId);
|
|
message.audioChannels !== undefined &&
|
|
(obj.audioChannels = message.audioChannels);
|
|
message.audioApproxFrames !== undefined &&
|
|
(obj.audioApproxFrames = message.audioApproxFrames);
|
|
message.audioFrames !== undefined &&
|
|
(obj.audioFrames = message.audioFrames);
|
|
message.audioSampleRate !== undefined &&
|
|
(obj.audioSampleRate = message.audioSampleRate);
|
|
message.audioYoutubeItag !== undefined &&
|
|
(obj.audioYoutubeItag = message.audioYoutubeItag);
|
|
message.audioMimeType !== undefined &&
|
|
(obj.audioMimeType = message.audioMimeType);
|
|
message.videoDuration !== undefined &&
|
|
(obj.videoDuration = message.videoDuration
|
|
? Duration.toJSON(message.videoDuration)
|
|
: undefined);
|
|
message.videoYoutubeItag !== undefined &&
|
|
(obj.videoYoutubeItag = message.videoYoutubeItag);
|
|
message.videoMimeType !== undefined &&
|
|
(obj.videoMimeType = message.videoMimeType);
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<MediaSet>, I>>(object: I): MediaSet {
|
|
const message = { ...baseMediaSet } as MediaSet;
|
|
message.id = object.id ?? "";
|
|
message.youtubeId = object.youtubeId ?? "";
|
|
message.audioChannels = object.audioChannels ?? 0;
|
|
message.audioApproxFrames = object.audioApproxFrames ?? 0;
|
|
message.audioFrames = object.audioFrames ?? 0;
|
|
message.audioSampleRate = object.audioSampleRate ?? 0;
|
|
message.audioYoutubeItag = object.audioYoutubeItag ?? 0;
|
|
message.audioMimeType = object.audioMimeType ?? "";
|
|
message.videoDuration =
|
|
object.videoDuration !== undefined && object.videoDuration !== null
|
|
? Duration.fromPartial(object.videoDuration)
|
|
: undefined;
|
|
message.videoYoutubeItag = object.videoYoutubeItag ?? 0;
|
|
message.videoMimeType = object.videoMimeType ?? "";
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetRequest: object = { youtubeId: "" };
|
|
|
|
export const GetRequest = {
|
|
encode(
|
|
message: GetRequest,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.youtubeId !== "") {
|
|
writer.uint32(10).string(message.youtubeId);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(input: _m0.Reader | Uint8Array, length?: number): GetRequest {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = { ...baseGetRequest } as GetRequest;
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.youtubeId = reader.string();
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetRequest {
|
|
const message = { ...baseGetRequest } as GetRequest;
|
|
message.youtubeId =
|
|
object.youtubeId !== undefined && object.youtubeId !== null
|
|
? String(object.youtubeId)
|
|
: "";
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetRequest): unknown {
|
|
const obj: any = {};
|
|
message.youtubeId !== undefined && (obj.youtubeId = message.youtubeId);
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetRequest>, I>>(
|
|
object: I
|
|
): GetRequest {
|
|
const message = { ...baseGetRequest } as GetRequest;
|
|
message.youtubeId = object.youtubeId ?? "";
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetPeaksRequest: object = { id: "", numBins: 0 };
|
|
|
|
export const GetPeaksRequest = {
|
|
encode(
|
|
message: GetPeaksRequest,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.id !== "") {
|
|
writer.uint32(10).string(message.id);
|
|
}
|
|
if (message.numBins !== 0) {
|
|
writer.uint32(16).int32(message.numBins);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(input: _m0.Reader | Uint8Array, length?: number): GetPeaksRequest {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = { ...baseGetPeaksRequest } as GetPeaksRequest;
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.id = reader.string();
|
|
break;
|
|
case 2:
|
|
message.numBins = reader.int32();
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetPeaksRequest {
|
|
const message = { ...baseGetPeaksRequest } as GetPeaksRequest;
|
|
message.id =
|
|
object.id !== undefined && object.id !== null ? String(object.id) : "";
|
|
message.numBins =
|
|
object.numBins !== undefined && object.numBins !== null
|
|
? Number(object.numBins)
|
|
: 0;
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetPeaksRequest): unknown {
|
|
const obj: any = {};
|
|
message.id !== undefined && (obj.id = message.id);
|
|
message.numBins !== undefined && (obj.numBins = message.numBins);
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetPeaksRequest>, I>>(
|
|
object: I
|
|
): GetPeaksRequest {
|
|
const message = { ...baseGetPeaksRequest } as GetPeaksRequest;
|
|
message.id = object.id ?? "";
|
|
message.numBins = object.numBins ?? 0;
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetPeaksProgress: object = { peaks: 0, percentComplete: 0, url: "" };
|
|
|
|
export const GetPeaksProgress = {
|
|
encode(
|
|
message: GetPeaksProgress,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
writer.uint32(10).fork();
|
|
for (const v of message.peaks) {
|
|
writer.int32(v);
|
|
}
|
|
writer.ldelim();
|
|
if (message.percentComplete !== 0) {
|
|
writer.uint32(21).float(message.percentComplete);
|
|
}
|
|
if (message.url !== "") {
|
|
writer.uint32(26).string(message.url);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(input: _m0.Reader | Uint8Array, length?: number): GetPeaksProgress {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = { ...baseGetPeaksProgress } as GetPeaksProgress;
|
|
message.peaks = [];
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
if ((tag & 7) === 2) {
|
|
const end2 = reader.uint32() + reader.pos;
|
|
while (reader.pos < end2) {
|
|
message.peaks.push(reader.int32());
|
|
}
|
|
} else {
|
|
message.peaks.push(reader.int32());
|
|
}
|
|
break;
|
|
case 2:
|
|
message.percentComplete = reader.float();
|
|
break;
|
|
case 3:
|
|
message.url = reader.string();
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetPeaksProgress {
|
|
const message = { ...baseGetPeaksProgress } as GetPeaksProgress;
|
|
message.peaks = (object.peaks ?? []).map((e: any) => Number(e));
|
|
message.percentComplete =
|
|
object.percentComplete !== undefined && object.percentComplete !== null
|
|
? Number(object.percentComplete)
|
|
: 0;
|
|
message.url =
|
|
object.url !== undefined && object.url !== null ? String(object.url) : "";
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetPeaksProgress): unknown {
|
|
const obj: any = {};
|
|
if (message.peaks) {
|
|
obj.peaks = message.peaks.map((e) => e);
|
|
} else {
|
|
obj.peaks = [];
|
|
}
|
|
message.percentComplete !== undefined &&
|
|
(obj.percentComplete = message.percentComplete);
|
|
message.url !== undefined && (obj.url = message.url);
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetPeaksProgress>, I>>(
|
|
object: I
|
|
): GetPeaksProgress {
|
|
const message = { ...baseGetPeaksProgress } as GetPeaksProgress;
|
|
message.peaks = object.peaks?.map((e) => e) || [];
|
|
message.percentComplete = object.percentComplete ?? 0;
|
|
message.url = object.url ?? "";
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetPeaksForSegmentRequest: object = {
|
|
id: "",
|
|
numBins: 0,
|
|
startFrame: 0,
|
|
endFrame: 0,
|
|
};
|
|
|
|
export const GetPeaksForSegmentRequest = {
|
|
encode(
|
|
message: GetPeaksForSegmentRequest,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.id !== "") {
|
|
writer.uint32(10).string(message.id);
|
|
}
|
|
if (message.numBins !== 0) {
|
|
writer.uint32(16).int32(message.numBins);
|
|
}
|
|
if (message.startFrame !== 0) {
|
|
writer.uint32(24).int64(message.startFrame);
|
|
}
|
|
if (message.endFrame !== 0) {
|
|
writer.uint32(32).int64(message.endFrame);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(
|
|
input: _m0.Reader | Uint8Array,
|
|
length?: number
|
|
): GetPeaksForSegmentRequest {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = {
|
|
...baseGetPeaksForSegmentRequest,
|
|
} as GetPeaksForSegmentRequest;
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.id = reader.string();
|
|
break;
|
|
case 2:
|
|
message.numBins = reader.int32();
|
|
break;
|
|
case 3:
|
|
message.startFrame = longToNumber(reader.int64() as Long);
|
|
break;
|
|
case 4:
|
|
message.endFrame = longToNumber(reader.int64() as Long);
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetPeaksForSegmentRequest {
|
|
const message = {
|
|
...baseGetPeaksForSegmentRequest,
|
|
} as GetPeaksForSegmentRequest;
|
|
message.id =
|
|
object.id !== undefined && object.id !== null ? String(object.id) : "";
|
|
message.numBins =
|
|
object.numBins !== undefined && object.numBins !== null
|
|
? Number(object.numBins)
|
|
: 0;
|
|
message.startFrame =
|
|
object.startFrame !== undefined && object.startFrame !== null
|
|
? Number(object.startFrame)
|
|
: 0;
|
|
message.endFrame =
|
|
object.endFrame !== undefined && object.endFrame !== null
|
|
? Number(object.endFrame)
|
|
: 0;
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetPeaksForSegmentRequest): unknown {
|
|
const obj: any = {};
|
|
message.id !== undefined && (obj.id = message.id);
|
|
message.numBins !== undefined && (obj.numBins = message.numBins);
|
|
message.startFrame !== undefined && (obj.startFrame = message.startFrame);
|
|
message.endFrame !== undefined && (obj.endFrame = message.endFrame);
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetPeaksForSegmentRequest>, I>>(
|
|
object: I
|
|
): GetPeaksForSegmentRequest {
|
|
const message = {
|
|
...baseGetPeaksForSegmentRequest,
|
|
} as GetPeaksForSegmentRequest;
|
|
message.id = object.id ?? "";
|
|
message.numBins = object.numBins ?? 0;
|
|
message.startFrame = object.startFrame ?? 0;
|
|
message.endFrame = object.endFrame ?? 0;
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetPeaksForSegmentResponse: object = { peaks: 0 };
|
|
|
|
export const GetPeaksForSegmentResponse = {
|
|
encode(
|
|
message: GetPeaksForSegmentResponse,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
writer.uint32(10).fork();
|
|
for (const v of message.peaks) {
|
|
writer.int32(v);
|
|
}
|
|
writer.ldelim();
|
|
return writer;
|
|
},
|
|
|
|
decode(
|
|
input: _m0.Reader | Uint8Array,
|
|
length?: number
|
|
): GetPeaksForSegmentResponse {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = {
|
|
...baseGetPeaksForSegmentResponse,
|
|
} as GetPeaksForSegmentResponse;
|
|
message.peaks = [];
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
if ((tag & 7) === 2) {
|
|
const end2 = reader.uint32() + reader.pos;
|
|
while (reader.pos < end2) {
|
|
message.peaks.push(reader.int32());
|
|
}
|
|
} else {
|
|
message.peaks.push(reader.int32());
|
|
}
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetPeaksForSegmentResponse {
|
|
const message = {
|
|
...baseGetPeaksForSegmentResponse,
|
|
} as GetPeaksForSegmentResponse;
|
|
message.peaks = (object.peaks ?? []).map((e: any) => Number(e));
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetPeaksForSegmentResponse): unknown {
|
|
const obj: any = {};
|
|
if (message.peaks) {
|
|
obj.peaks = message.peaks.map((e) => e);
|
|
} else {
|
|
obj.peaks = [];
|
|
}
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetPeaksForSegmentResponse>, I>>(
|
|
object: I
|
|
): GetPeaksForSegmentResponse {
|
|
const message = {
|
|
...baseGetPeaksForSegmentResponse,
|
|
} as GetPeaksForSegmentResponse;
|
|
message.peaks = object.peaks?.map((e) => e) || [];
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetAudioSegmentRequest: object = {
|
|
id: "",
|
|
startFrame: 0,
|
|
endFrame: 0,
|
|
format: 0,
|
|
};
|
|
|
|
export const GetAudioSegmentRequest = {
|
|
encode(
|
|
message: GetAudioSegmentRequest,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.id !== "") {
|
|
writer.uint32(10).string(message.id);
|
|
}
|
|
if (message.startFrame !== 0) {
|
|
writer.uint32(16).int64(message.startFrame);
|
|
}
|
|
if (message.endFrame !== 0) {
|
|
writer.uint32(24).int64(message.endFrame);
|
|
}
|
|
if (message.format !== 0) {
|
|
writer.uint32(32).int32(message.format);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(
|
|
input: _m0.Reader | Uint8Array,
|
|
length?: number
|
|
): GetAudioSegmentRequest {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = { ...baseGetAudioSegmentRequest } as GetAudioSegmentRequest;
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.id = reader.string();
|
|
break;
|
|
case 2:
|
|
message.startFrame = longToNumber(reader.int64() as Long);
|
|
break;
|
|
case 3:
|
|
message.endFrame = longToNumber(reader.int64() as Long);
|
|
break;
|
|
case 4:
|
|
message.format = reader.int32() as any;
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetAudioSegmentRequest {
|
|
const message = { ...baseGetAudioSegmentRequest } as GetAudioSegmentRequest;
|
|
message.id =
|
|
object.id !== undefined && object.id !== null ? String(object.id) : "";
|
|
message.startFrame =
|
|
object.startFrame !== undefined && object.startFrame !== null
|
|
? Number(object.startFrame)
|
|
: 0;
|
|
message.endFrame =
|
|
object.endFrame !== undefined && object.endFrame !== null
|
|
? Number(object.endFrame)
|
|
: 0;
|
|
message.format =
|
|
object.format !== undefined && object.format !== null
|
|
? audioFormatFromJSON(object.format)
|
|
: 0;
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetAudioSegmentRequest): unknown {
|
|
const obj: any = {};
|
|
message.id !== undefined && (obj.id = message.id);
|
|
message.startFrame !== undefined && (obj.startFrame = message.startFrame);
|
|
message.endFrame !== undefined && (obj.endFrame = message.endFrame);
|
|
message.format !== undefined &&
|
|
(obj.format = audioFormatToJSON(message.format));
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetAudioSegmentRequest>, I>>(
|
|
object: I
|
|
): GetAudioSegmentRequest {
|
|
const message = { ...baseGetAudioSegmentRequest } as GetAudioSegmentRequest;
|
|
message.id = object.id ?? "";
|
|
message.startFrame = object.startFrame ?? 0;
|
|
message.endFrame = object.endFrame ?? 0;
|
|
message.format = object.format ?? 0;
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetAudioSegmentProgress: object = {
|
|
mimeType: "",
|
|
message: "",
|
|
percentComplete: 0,
|
|
};
|
|
|
|
export const GetAudioSegmentProgress = {
|
|
encode(
|
|
message: GetAudioSegmentProgress,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.mimeType !== "") {
|
|
writer.uint32(10).string(message.mimeType);
|
|
}
|
|
if (message.message !== "") {
|
|
writer.uint32(18).string(message.message);
|
|
}
|
|
if (message.percentComplete !== 0) {
|
|
writer.uint32(29).float(message.percentComplete);
|
|
}
|
|
if (message.audioData.length !== 0) {
|
|
writer.uint32(34).bytes(message.audioData);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(
|
|
input: _m0.Reader | Uint8Array,
|
|
length?: number
|
|
): GetAudioSegmentProgress {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = {
|
|
...baseGetAudioSegmentProgress,
|
|
} as GetAudioSegmentProgress;
|
|
message.audioData = new Uint8Array();
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.mimeType = reader.string();
|
|
break;
|
|
case 2:
|
|
message.message = reader.string();
|
|
break;
|
|
case 3:
|
|
message.percentComplete = reader.float();
|
|
break;
|
|
case 4:
|
|
message.audioData = reader.bytes();
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetAudioSegmentProgress {
|
|
const message = {
|
|
...baseGetAudioSegmentProgress,
|
|
} as GetAudioSegmentProgress;
|
|
message.mimeType =
|
|
object.mimeType !== undefined && object.mimeType !== null
|
|
? String(object.mimeType)
|
|
: "";
|
|
message.message =
|
|
object.message !== undefined && object.message !== null
|
|
? String(object.message)
|
|
: "";
|
|
message.percentComplete =
|
|
object.percentComplete !== undefined && object.percentComplete !== null
|
|
? Number(object.percentComplete)
|
|
: 0;
|
|
message.audioData =
|
|
object.audioData !== undefined && object.audioData !== null
|
|
? bytesFromBase64(object.audioData)
|
|
: new Uint8Array();
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetAudioSegmentProgress): unknown {
|
|
const obj: any = {};
|
|
message.mimeType !== undefined && (obj.mimeType = message.mimeType);
|
|
message.message !== undefined && (obj.message = message.message);
|
|
message.percentComplete !== undefined &&
|
|
(obj.percentComplete = message.percentComplete);
|
|
message.audioData !== undefined &&
|
|
(obj.audioData = base64FromBytes(
|
|
message.audioData !== undefined ? message.audioData : new Uint8Array()
|
|
));
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetAudioSegmentProgress>, I>>(
|
|
object: I
|
|
): GetAudioSegmentProgress {
|
|
const message = {
|
|
...baseGetAudioSegmentProgress,
|
|
} as GetAudioSegmentProgress;
|
|
message.mimeType = object.mimeType ?? "";
|
|
message.message = object.message ?? "";
|
|
message.percentComplete = object.percentComplete ?? 0;
|
|
message.audioData = object.audioData ?? new Uint8Array();
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetVideoRequest: object = { id: "" };
|
|
|
|
export const GetVideoRequest = {
|
|
encode(
|
|
message: GetVideoRequest,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.id !== "") {
|
|
writer.uint32(10).string(message.id);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(input: _m0.Reader | Uint8Array, length?: number): GetVideoRequest {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = { ...baseGetVideoRequest } as GetVideoRequest;
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.id = reader.string();
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetVideoRequest {
|
|
const message = { ...baseGetVideoRequest } as GetVideoRequest;
|
|
message.id =
|
|
object.id !== undefined && object.id !== null ? String(object.id) : "";
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetVideoRequest): unknown {
|
|
const obj: any = {};
|
|
message.id !== undefined && (obj.id = message.id);
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetVideoRequest>, I>>(
|
|
object: I
|
|
): GetVideoRequest {
|
|
const message = { ...baseGetVideoRequest } as GetVideoRequest;
|
|
message.id = object.id ?? "";
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetVideoProgress: object = { percentComplete: 0, url: "" };
|
|
|
|
export const GetVideoProgress = {
|
|
encode(
|
|
message: GetVideoProgress,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.percentComplete !== 0) {
|
|
writer.uint32(13).float(message.percentComplete);
|
|
}
|
|
if (message.url !== "") {
|
|
writer.uint32(18).string(message.url);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(input: _m0.Reader | Uint8Array, length?: number): GetVideoProgress {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = { ...baseGetVideoProgress } as GetVideoProgress;
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.percentComplete = reader.float();
|
|
break;
|
|
case 2:
|
|
message.url = reader.string();
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetVideoProgress {
|
|
const message = { ...baseGetVideoProgress } as GetVideoProgress;
|
|
message.percentComplete =
|
|
object.percentComplete !== undefined && object.percentComplete !== null
|
|
? Number(object.percentComplete)
|
|
: 0;
|
|
message.url =
|
|
object.url !== undefined && object.url !== null ? String(object.url) : "";
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetVideoProgress): unknown {
|
|
const obj: any = {};
|
|
message.percentComplete !== undefined &&
|
|
(obj.percentComplete = message.percentComplete);
|
|
message.url !== undefined && (obj.url = message.url);
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetVideoProgress>, I>>(
|
|
object: I
|
|
): GetVideoProgress {
|
|
const message = { ...baseGetVideoProgress } as GetVideoProgress;
|
|
message.percentComplete = object.percentComplete ?? 0;
|
|
message.url = object.url ?? "";
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetVideoThumbnailRequest: object = { id: "" };
|
|
|
|
export const GetVideoThumbnailRequest = {
|
|
encode(
|
|
message: GetVideoThumbnailRequest,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.id !== "") {
|
|
writer.uint32(10).string(message.id);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(
|
|
input: _m0.Reader | Uint8Array,
|
|
length?: number
|
|
): GetVideoThumbnailRequest {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = {
|
|
...baseGetVideoThumbnailRequest,
|
|
} as GetVideoThumbnailRequest;
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.id = reader.string();
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetVideoThumbnailRequest {
|
|
const message = {
|
|
...baseGetVideoThumbnailRequest,
|
|
} as GetVideoThumbnailRequest;
|
|
message.id =
|
|
object.id !== undefined && object.id !== null ? String(object.id) : "";
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetVideoThumbnailRequest): unknown {
|
|
const obj: any = {};
|
|
message.id !== undefined && (obj.id = message.id);
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetVideoThumbnailRequest>, I>>(
|
|
object: I
|
|
): GetVideoThumbnailRequest {
|
|
const message = {
|
|
...baseGetVideoThumbnailRequest,
|
|
} as GetVideoThumbnailRequest;
|
|
message.id = object.id ?? "";
|
|
return message;
|
|
},
|
|
};
|
|
|
|
const baseGetVideoThumbnailResponse: object = { width: 0, height: 0 };
|
|
|
|
export const GetVideoThumbnailResponse = {
|
|
encode(
|
|
message: GetVideoThumbnailResponse,
|
|
writer: _m0.Writer = _m0.Writer.create()
|
|
): _m0.Writer {
|
|
if (message.image.length !== 0) {
|
|
writer.uint32(10).bytes(message.image);
|
|
}
|
|
if (message.width !== 0) {
|
|
writer.uint32(16).int32(message.width);
|
|
}
|
|
if (message.height !== 0) {
|
|
writer.uint32(24).int32(message.height);
|
|
}
|
|
return writer;
|
|
},
|
|
|
|
decode(
|
|
input: _m0.Reader | Uint8Array,
|
|
length?: number
|
|
): GetVideoThumbnailResponse {
|
|
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
const message = {
|
|
...baseGetVideoThumbnailResponse,
|
|
} as GetVideoThumbnailResponse;
|
|
message.image = new Uint8Array();
|
|
while (reader.pos < end) {
|
|
const tag = reader.uint32();
|
|
switch (tag >>> 3) {
|
|
case 1:
|
|
message.image = reader.bytes();
|
|
break;
|
|
case 2:
|
|
message.width = reader.int32();
|
|
break;
|
|
case 3:
|
|
message.height = reader.int32();
|
|
break;
|
|
default:
|
|
reader.skipType(tag & 7);
|
|
break;
|
|
}
|
|
}
|
|
return message;
|
|
},
|
|
|
|
fromJSON(object: any): GetVideoThumbnailResponse {
|
|
const message = {
|
|
...baseGetVideoThumbnailResponse,
|
|
} as GetVideoThumbnailResponse;
|
|
message.image =
|
|
object.image !== undefined && object.image !== null
|
|
? bytesFromBase64(object.image)
|
|
: new Uint8Array();
|
|
message.width =
|
|
object.width !== undefined && object.width !== null
|
|
? Number(object.width)
|
|
: 0;
|
|
message.height =
|
|
object.height !== undefined && object.height !== null
|
|
? Number(object.height)
|
|
: 0;
|
|
return message;
|
|
},
|
|
|
|
toJSON(message: GetVideoThumbnailResponse): unknown {
|
|
const obj: any = {};
|
|
message.image !== undefined &&
|
|
(obj.image = base64FromBytes(
|
|
message.image !== undefined ? message.image : new Uint8Array()
|
|
));
|
|
message.width !== undefined && (obj.width = message.width);
|
|
message.height !== undefined && (obj.height = message.height);
|
|
return obj;
|
|
},
|
|
|
|
fromPartial<I extends Exact<DeepPartial<GetVideoThumbnailResponse>, I>>(
|
|
object: I
|
|
): GetVideoThumbnailResponse {
|
|
const message = {
|
|
...baseGetVideoThumbnailResponse,
|
|
} as GetVideoThumbnailResponse;
|
|
message.image = object.image ?? new Uint8Array();
|
|
message.width = object.width ?? 0;
|
|
message.height = object.height ?? 0;
|
|
return message;
|
|
},
|
|
};
|
|
|
|
export interface MediaSetService {
|
|
Get(
|
|
request: DeepPartial<GetRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Promise<MediaSet>;
|
|
GetPeaks(
|
|
request: DeepPartial<GetPeaksRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Observable<GetPeaksProgress>;
|
|
GetPeaksForSegment(
|
|
request: DeepPartial<GetPeaksForSegmentRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Promise<GetPeaksForSegmentResponse>;
|
|
GetAudioSegment(
|
|
request: DeepPartial<GetAudioSegmentRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Observable<GetAudioSegmentProgress>;
|
|
GetVideo(
|
|
request: DeepPartial<GetVideoRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Observable<GetVideoProgress>;
|
|
GetVideoThumbnail(
|
|
request: DeepPartial<GetVideoThumbnailRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Promise<GetVideoThumbnailResponse>;
|
|
}
|
|
|
|
export class MediaSetServiceClientImpl implements MediaSetService {
|
|
private readonly rpc: Rpc;
|
|
|
|
constructor(rpc: Rpc) {
|
|
this.rpc = rpc;
|
|
this.Get = this.Get.bind(this);
|
|
this.GetPeaks = this.GetPeaks.bind(this);
|
|
this.GetPeaksForSegment = this.GetPeaksForSegment.bind(this);
|
|
this.GetAudioSegment = this.GetAudioSegment.bind(this);
|
|
this.GetVideo = this.GetVideo.bind(this);
|
|
this.GetVideoThumbnail = this.GetVideoThumbnail.bind(this);
|
|
}
|
|
|
|
Get(
|
|
request: DeepPartial<GetRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Promise<MediaSet> {
|
|
return this.rpc.unary(
|
|
MediaSetServiceGetDesc,
|
|
GetRequest.fromPartial(request),
|
|
metadata
|
|
);
|
|
}
|
|
|
|
GetPeaks(
|
|
request: DeepPartial<GetPeaksRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Observable<GetPeaksProgress> {
|
|
return this.rpc.invoke(
|
|
MediaSetServiceGetPeaksDesc,
|
|
GetPeaksRequest.fromPartial(request),
|
|
metadata
|
|
);
|
|
}
|
|
|
|
GetPeaksForSegment(
|
|
request: DeepPartial<GetPeaksForSegmentRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Promise<GetPeaksForSegmentResponse> {
|
|
return this.rpc.unary(
|
|
MediaSetServiceGetPeaksForSegmentDesc,
|
|
GetPeaksForSegmentRequest.fromPartial(request),
|
|
metadata
|
|
);
|
|
}
|
|
|
|
GetAudioSegment(
|
|
request: DeepPartial<GetAudioSegmentRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Observable<GetAudioSegmentProgress> {
|
|
return this.rpc.invoke(
|
|
MediaSetServiceGetAudioSegmentDesc,
|
|
GetAudioSegmentRequest.fromPartial(request),
|
|
metadata
|
|
);
|
|
}
|
|
|
|
GetVideo(
|
|
request: DeepPartial<GetVideoRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Observable<GetVideoProgress> {
|
|
return this.rpc.invoke(
|
|
MediaSetServiceGetVideoDesc,
|
|
GetVideoRequest.fromPartial(request),
|
|
metadata
|
|
);
|
|
}
|
|
|
|
GetVideoThumbnail(
|
|
request: DeepPartial<GetVideoThumbnailRequest>,
|
|
metadata?: grpc.Metadata
|
|
): Promise<GetVideoThumbnailResponse> {
|
|
return this.rpc.unary(
|
|
MediaSetServiceGetVideoThumbnailDesc,
|
|
GetVideoThumbnailRequest.fromPartial(request),
|
|
metadata
|
|
);
|
|
}
|
|
}
|
|
|
|
export const MediaSetServiceDesc = {
|
|
serviceName: "media_set.MediaSetService",
|
|
};
|
|
|
|
export const MediaSetServiceGetDesc: UnaryMethodDefinitionish = {
|
|
methodName: "Get",
|
|
service: MediaSetServiceDesc,
|
|
requestStream: false,
|
|
responseStream: false,
|
|
requestType: {
|
|
serializeBinary() {
|
|
return GetRequest.encode(this).finish();
|
|
},
|
|
} as any,
|
|
responseType: {
|
|
deserializeBinary(data: Uint8Array) {
|
|
return {
|
|
...MediaSet.decode(data),
|
|
toObject() {
|
|
return this;
|
|
},
|
|
};
|
|
},
|
|
} as any,
|
|
};
|
|
|
|
export const MediaSetServiceGetPeaksDesc: UnaryMethodDefinitionish = {
|
|
methodName: "GetPeaks",
|
|
service: MediaSetServiceDesc,
|
|
requestStream: false,
|
|
responseStream: true,
|
|
requestType: {
|
|
serializeBinary() {
|
|
return GetPeaksRequest.encode(this).finish();
|
|
},
|
|
} as any,
|
|
responseType: {
|
|
deserializeBinary(data: Uint8Array) {
|
|
return {
|
|
...GetPeaksProgress.decode(data),
|
|
toObject() {
|
|
return this;
|
|
},
|
|
};
|
|
},
|
|
} as any,
|
|
};
|
|
|
|
export const MediaSetServiceGetPeaksForSegmentDesc: UnaryMethodDefinitionish = {
|
|
methodName: "GetPeaksForSegment",
|
|
service: MediaSetServiceDesc,
|
|
requestStream: false,
|
|
responseStream: false,
|
|
requestType: {
|
|
serializeBinary() {
|
|
return GetPeaksForSegmentRequest.encode(this).finish();
|
|
},
|
|
} as any,
|
|
responseType: {
|
|
deserializeBinary(data: Uint8Array) {
|
|
return {
|
|
...GetPeaksForSegmentResponse.decode(data),
|
|
toObject() {
|
|
return this;
|
|
},
|
|
};
|
|
},
|
|
} as any,
|
|
};
|
|
|
|
export const MediaSetServiceGetAudioSegmentDesc: UnaryMethodDefinitionish = {
|
|
methodName: "GetAudioSegment",
|
|
service: MediaSetServiceDesc,
|
|
requestStream: false,
|
|
responseStream: true,
|
|
requestType: {
|
|
serializeBinary() {
|
|
return GetAudioSegmentRequest.encode(this).finish();
|
|
},
|
|
} as any,
|
|
responseType: {
|
|
deserializeBinary(data: Uint8Array) {
|
|
return {
|
|
...GetAudioSegmentProgress.decode(data),
|
|
toObject() {
|
|
return this;
|
|
},
|
|
};
|
|
},
|
|
} as any,
|
|
};
|
|
|
|
export const MediaSetServiceGetVideoDesc: UnaryMethodDefinitionish = {
|
|
methodName: "GetVideo",
|
|
service: MediaSetServiceDesc,
|
|
requestStream: false,
|
|
responseStream: true,
|
|
requestType: {
|
|
serializeBinary() {
|
|
return GetVideoRequest.encode(this).finish();
|
|
},
|
|
} as any,
|
|
responseType: {
|
|
deserializeBinary(data: Uint8Array) {
|
|
return {
|
|
...GetVideoProgress.decode(data),
|
|
toObject() {
|
|
return this;
|
|
},
|
|
};
|
|
},
|
|
} as any,
|
|
};
|
|
|
|
export const MediaSetServiceGetVideoThumbnailDesc: UnaryMethodDefinitionish = {
|
|
methodName: "GetVideoThumbnail",
|
|
service: MediaSetServiceDesc,
|
|
requestStream: false,
|
|
responseStream: false,
|
|
requestType: {
|
|
serializeBinary() {
|
|
return GetVideoThumbnailRequest.encode(this).finish();
|
|
},
|
|
} as any,
|
|
responseType: {
|
|
deserializeBinary(data: Uint8Array) {
|
|
return {
|
|
...GetVideoThumbnailResponse.decode(data),
|
|
toObject() {
|
|
return this;
|
|
},
|
|
};
|
|
},
|
|
} as any,
|
|
};
|
|
|
|
interface UnaryMethodDefinitionishR
|
|
extends grpc.UnaryMethodDefinition<any, any> {
|
|
requestStream: any;
|
|
responseStream: any;
|
|
}
|
|
|
|
type UnaryMethodDefinitionish = UnaryMethodDefinitionishR;
|
|
|
|
interface Rpc {
|
|
unary<T extends UnaryMethodDefinitionish>(
|
|
methodDesc: T,
|
|
request: any,
|
|
metadata: grpc.Metadata | undefined
|
|
): Promise<any>;
|
|
invoke<T extends UnaryMethodDefinitionish>(
|
|
methodDesc: T,
|
|
request: any,
|
|
metadata: grpc.Metadata | undefined
|
|
): Observable<any>;
|
|
}
|
|
|
|
export class GrpcWebImpl {
|
|
private host: string;
|
|
private options: {
|
|
transport?: grpc.TransportFactory;
|
|
streamingTransport?: grpc.TransportFactory;
|
|
debug?: boolean;
|
|
metadata?: grpc.Metadata;
|
|
};
|
|
|
|
constructor(
|
|
host: string,
|
|
options: {
|
|
transport?: grpc.TransportFactory;
|
|
streamingTransport?: grpc.TransportFactory;
|
|
debug?: boolean;
|
|
metadata?: grpc.Metadata;
|
|
}
|
|
) {
|
|
this.host = host;
|
|
this.options = options;
|
|
}
|
|
|
|
unary<T extends UnaryMethodDefinitionish>(
|
|
methodDesc: T,
|
|
_request: any,
|
|
metadata: grpc.Metadata | undefined
|
|
): Promise<any> {
|
|
const request = { ..._request, ...methodDesc.requestType };
|
|
const maybeCombinedMetadata =
|
|
metadata && this.options.metadata
|
|
? new BrowserHeaders({
|
|
...this.options?.metadata.headersMap,
|
|
...metadata?.headersMap,
|
|
})
|
|
: metadata || this.options.metadata;
|
|
return new Promise((resolve, reject) => {
|
|
grpc.unary(methodDesc, {
|
|
request,
|
|
host: this.host,
|
|
metadata: maybeCombinedMetadata,
|
|
transport: this.options.transport,
|
|
debug: this.options.debug,
|
|
onEnd: function (response) {
|
|
if (response.status === grpc.Code.OK) {
|
|
resolve(response.message);
|
|
} else {
|
|
const err = new Error(response.statusMessage) as any;
|
|
err.code = response.status;
|
|
err.metadata = response.trailers;
|
|
reject(err);
|
|
}
|
|
},
|
|
});
|
|
});
|
|
}
|
|
|
|
invoke<T extends UnaryMethodDefinitionish>(
|
|
methodDesc: T,
|
|
_request: any,
|
|
metadata: grpc.Metadata | undefined
|
|
): Observable<any> {
|
|
// Status Response Codes (https://developers.google.com/maps-booking/reference/grpc-api/status_codes)
|
|
const upStreamCodes = [2, 4, 8, 9, 10, 13, 14, 15];
|
|
const DEFAULT_TIMEOUT_TIME: number = 3_000;
|
|
const request = { ..._request, ...methodDesc.requestType };
|
|
const maybeCombinedMetadata =
|
|
metadata && this.options.metadata
|
|
? new BrowserHeaders({
|
|
...this.options?.metadata.headersMap,
|
|
...metadata?.headersMap,
|
|
})
|
|
: metadata || this.options.metadata;
|
|
return new Observable((observer) => {
|
|
const upStream = () => {
|
|
const client = grpc.invoke(methodDesc, {
|
|
host: this.host,
|
|
request,
|
|
transport: this.options.streamingTransport || this.options.transport,
|
|
metadata: maybeCombinedMetadata,
|
|
debug: this.options.debug,
|
|
onMessage: (next) => observer.next(next),
|
|
onEnd: (code: grpc.Code, message: string) => {
|
|
if (code === 0) {
|
|
observer.complete();
|
|
} else if (upStreamCodes.includes(code)) {
|
|
setTimeout(upStream, DEFAULT_TIMEOUT_TIME);
|
|
} else {
|
|
observer.error(new Error(`Error ${code} ${message}`));
|
|
}
|
|
},
|
|
});
|
|
observer.add(() => client.close());
|
|
};
|
|
upStream();
|
|
}).pipe(share());
|
|
}
|
|
}
|
|
|
|
declare var self: any | undefined;
|
|
declare var window: any | undefined;
|
|
declare var global: any | undefined;
|
|
var globalThis: any = (() => {
|
|
if (typeof globalThis !== "undefined") return globalThis;
|
|
if (typeof self !== "undefined") return self;
|
|
if (typeof window !== "undefined") return window;
|
|
if (typeof global !== "undefined") return global;
|
|
throw "Unable to locate global object";
|
|
})();
|
|
|
|
const atob: (b64: string) => string =
|
|
globalThis.atob ||
|
|
((b64) => globalThis.Buffer.from(b64, "base64").toString("binary"));
|
|
function bytesFromBase64(b64: string): Uint8Array {
|
|
const bin = atob(b64);
|
|
const arr = new Uint8Array(bin.length);
|
|
for (let i = 0; i < bin.length; ++i) {
|
|
arr[i] = bin.charCodeAt(i);
|
|
}
|
|
return arr;
|
|
}
|
|
|
|
const btoa: (bin: string) => string =
|
|
globalThis.btoa ||
|
|
((bin) => globalThis.Buffer.from(bin, "binary").toString("base64"));
|
|
function base64FromBytes(arr: Uint8Array): string {
|
|
const bin: string[] = [];
|
|
for (const byte of arr) {
|
|
bin.push(String.fromCharCode(byte));
|
|
}
|
|
return btoa(bin.join(""));
|
|
}
|
|
|
|
type Builtin =
|
|
| Date
|
|
| Function
|
|
| Uint8Array
|
|
| string
|
|
| number
|
|
| boolean
|
|
| undefined;
|
|
|
|
export type DeepPartial<T> = T extends Builtin
|
|
? T
|
|
: T extends Array<infer U>
|
|
? Array<DeepPartial<U>>
|
|
: T extends ReadonlyArray<infer U>
|
|
? ReadonlyArray<DeepPartial<U>>
|
|
: T extends {}
|
|
? { [K in keyof T]?: DeepPartial<T[K]> }
|
|
: Partial<T>;
|
|
|
|
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
export type Exact<P, I extends P> = P extends Builtin
|
|
? P
|
|
: P & { [K in keyof P]: Exact<P[K], I[K]> } & Record<
|
|
Exclude<keyof I, KeysOfUnion<P>>,
|
|
never
|
|
>;
|
|
|
|
function longToNumber(long: Long): number {
|
|
if (long.gt(Number.MAX_SAFE_INTEGER)) {
|
|
throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
|
|
}
|
|
return long.toNumber();
|
|
}
|
|
|
|
if (_m0.util.Long !== Long) {
|
|
_m0.util.Long = Long as any;
|
|
_m0.configure();
|
|
}
|