@snap/camera-kit
Version:
Camera Kit Web
18 lines • 1.02 kB
JavaScript
import { __awaiter } from "tslib";
import { Injectable } from "@snap/ts-inject";
import { Envelope } from "../generated-proto/pb_schema/camera_kit/v3/export";
export const lensSourcesFactory = Injectable("lensSources", () => []);
export function loadLensesFromSources(sources, groupId, lensId) {
return __awaiter(this, void 0, void 0, function* () {
const source = sources.find((source) => source.isGroupOwner(groupId));
if (!source) {
throw new Error(`Cannot load lens ${lensId ? `${lensId} from ` : ""}group ${groupId}. ` +
`No LensSource claimed ownership of that lens group.`);
}
const envelope = lensId === undefined ? yield source.loadLensGroup(groupId) : yield source.loadLens(lensId, groupId);
return envelope instanceof ArrayBuffer || ArrayBuffer.isView(envelope)
? Envelope.decode(envelope instanceof Uint8Array ? envelope : new Uint8Array(envelope)).lenses
: [];
});
}
//# sourceMappingURL=LensSource.js.map