UNPKG

@snap/camera-kit

Version:
83 lines 3.81 kB
import { LaunchData } from "../generated-proto/pb_schema/lenses/launchdata"; import { isArrayOfType, isDateOrUndefined, isValidNumberOrUndefined, isRecord, isString, isStringOrUndefined, isUndefined, isValidNumber, predicateRecordValues, } from "../common/typeguards"; import { UserData_Zodiac } from "../generated-proto/pb_schema/lenses/user_data"; const zodiacMap = { aquarius: UserData_Zodiac.Aquarius, aries: UserData_Zodiac.Aries, cancer: UserData_Zodiac.Cancer, capricorn: UserData_Zodiac.Capricorn, gemini: UserData_Zodiac.Gemini, leo: UserData_Zodiac.Leo, libra: UserData_Zodiac.Libra, pisces: UserData_Zodiac.Pisces, sagittarius: UserData_Zodiac.Sagittarius, scorpio: UserData_Zodiac.Scorpio, taurus: UserData_Zodiac.Taurus, virgo: UserData_Zodiac.Virgo, }; const zodiacValueSet = new Set(Object.keys(zodiacMap)); export function isZodiac(value) { return zodiacValueSet.has(value); } export function isLensLaunchDataOrUndefined(value) { return isUndefined(value) || isLensLaunchData(value); } function isLensLaunchData(value) { return (isRecord(value) && isStringOrUndefined(value.userId) && isLensUserDataOrUndefined(value.userData) && isLensLaunchParamsOrUndefined(value.launchParams)); } function isLensUserDataOrUndefined(value) { return isUndefined(value) || isLensUserData(value); } function isLensUserData(value) { return (isRecord(value) && isStringOrUndefined(value.userId) && isStringOrUndefined(value.username) && isStringOrUndefined(value.birthdate) && isStringOrUndefined(value.displayName) && isStringOrUndefined(value.countrycode) && isStringOrUndefined(value.score) && isBitmojiUserInfoOrUndefined(value.bitmojiInfo) && isFriendUserInfoOrUndefined(value.friendInfo) && isZodiacOrUndefined(value.zodiac)); } function isBitmojiUserInfoOrUndefined(value) { return isUndefined(value) || isBitmojiUserInfo(value); } function isBitmojiUserInfo(value) { return isRecord(value) && isStringOrUndefined(value.avatarId) && isStringOrUndefined(value.selfieId); } function isFriendUserInfoOrUndefined(value) { return isUndefined(value) || isFriendUserInfo(value); } function isFriendUserInfo(value) { return (isRecord(value) && isDateOrUndefined(value.friendshipStart) && isDateOrUndefined(value.lastInteraction) && isValidNumberOrUndefined(value.streak)); } function isZodiacOrUndefined(value) { return isUndefined(value) || isZodiac(value); } function isLensLaunchParamsOrUndefined(value) { return isUndefined(value) || isLensLaunchParams(value); } function isLensLaunchParams(value) { return isRecord(value) && predicateRecordValues(isStringOrNumberOrArrayOfStringsOrNumbers)(value); } function isStringOrNumberOrArrayOfStringsOrNumbers(value) { return (isString(value) || isValidNumber(value) || isArrayOfType(isString, value) || isArrayOfType(isValidNumber, value)); } export const encodeLensLaunchData = (launchData, persistentStore) => { var _a; return LaunchData.encode(LaunchData.fromPartial(Object.assign(Object.assign({}, launchData), { userData: launchData.userData ? Object.assign(Object.assign({}, launchData.userData), { zodiac: ((_a = launchData.userData) === null || _a === void 0 ? void 0 : _a.zodiac) ? zodiacMap[launchData.userData.zodiac] : undefined }) : undefined, launchParams: launchData.launchParams ? encodeLensLaunchParams(launchData.launchParams) : undefined, persistentStore: { store: new Uint8Array(persistentStore) } }))) .finish() .slice(); }; function encodeLensLaunchParams(launchParams) { return { data: new TextEncoder().encode(JSON.stringify(launchParams)) }; } //# sourceMappingURL=LensLaunchData.js.map