@open-condo/miniapp-utils
Version:
A set of helper functions / components / hooks used to build new condo apps fast
64 lines (61 loc) • 3.19 kB
TypeScript
import { z } from 'zod';
declare const domainsMapping: z.ZodArray<z.ZodObject<{
from: z.ZodString;
to: z.ZodString;
}, z.core.$strip>>;
declare const IFRAME_PERMISSIONS_SCHEMA: z.ZodDefault<z.ZodObject<{
isFullscreenAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
isMicrophoneAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
isCameraAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
isSpeakerSelectionAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
isClipboardWriteAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
}, z.core.$strip>>;
declare const IFRAME_METADATA_SCHEMA: z.ZodObject<{
domainsMapping: z.ZodArray<z.ZodObject<{
from: z.ZodString;
to: z.ZodString;
}, z.core.$strip>>;
permissions: z.ZodDefault<z.ZodObject<{
isFullscreenAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
isMicrophoneAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
isCameraAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
isSpeakerSelectionAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
isClipboardWriteAllowed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>, z.ZodTransform<boolean, boolean | null | undefined>>;
}, z.core.$strip>>;
}, z.core.$strip>;
declare function buildAllowString(permissions: Partial<IFramePermissions>): string;
type DomainsMapping = z.infer<typeof domainsMapping>;
type IFramePermissions = z.infer<typeof IFRAME_PERMISSIONS_SCHEMA>;
type IFrameMetadata = z.infer<typeof IFRAME_METADATA_SCHEMA>;
type GetAppEntrypointParams = {
appUrl: string;
domainsMapping: Array<{
from: string;
to: string;
}>;
};
declare function getAppEntrypoint({ appUrl, domainsMapping }: GetAppEntrypointParams): string;
type MiniappType = {
id: string;
name?: string | null;
appUrl?: string | null;
domains?: {
mapping: Array<{
from: string;
to: string;
}>;
} | null;
isFullscreenAllowed?: boolean | null;
isMicrophoneAllowed?: boolean | null;
isCameraAllowed?: boolean | null;
isSpeakerSelectionAllowed?: boolean | null;
};
type MiniappMetaData = {
id: string;
name: string | null;
entrypoint: string;
domainsMapping: DomainsMapping;
permissions: IFramePermissions;
};
declare function extractMiniappMetadata(app: MiniappType): MiniappMetaData | null;
export { type DomainsMapping, IFRAME_METADATA_SCHEMA, IFRAME_PERMISSIONS_SCHEMA, type IFrameMetadata, type IFramePermissions, type MiniappMetaData, buildAllowString, extractMiniappMetadata, getAppEntrypoint };