@snap/camera-kit
Version:
Camera Kit Web
23 lines • 1.35 kB
JavaScript
import { __awaiter } from "tslib";
import { Injectable } from "@snap/ts-inject";
import { lensImagePickerError } from "../namedErrors";
import { getLogger } from "../logger/logger";
import { lensCoreFactory } from "../lens-core-module/loader/lensCoreFactory";
import { pickClientImage } from "./imagePicker";
import { filePickerFactory } from "./filePicker";
const logger = getLogger("lensClientInterface");
export const registerLensClientInterfaceHandler = Injectable("registerLensClientInterfaceHandler", [lensCoreFactory.token, filePickerFactory.token], (lensCore, filePicker) => {
if (!lensCore.setClientInterfaceRequestHandler) {
logger.warn("Current LensCore version doesn't support lens client interface requests");
return;
}
lensCore.setClientInterfaceRequestHandler(({ data, interfaceControl, interfaceAction }) => __awaiter(void 0, void 0, void 0, function* () {
if (interfaceControl === lensCore.InterfaceControl.ImagePicker &&
interfaceAction === lensCore.InterfaceAction.Show) {
yield pickClientImage(data, lensCore, filePicker).catch((error) => {
logger.error(lensImagePickerError("Error occurred while attempting to select an image file for the lens request.", error));
});
}
}));
});
//# sourceMappingURL=lensClientInterface.js.map