@oberoncms/core
Version:
OberonCMS is a cloud deployable CMS written in typescript based on the Puck visual editor
36 lines • 1.83 kB
TypeScript
import type { DefaultComponentProps, DefaultRootProps, Data } from "@measured/puck";
type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultRootProps = DefaultRootProps> = Partial<{
[ComponentName in keyof Props]: (props: Props[ComponentName] & {
[key: string]: any;
}) => Props[ComponentName];
} & {
root: (props: RootProps & {
[key: string]: any;
}) => RootProps;
}>;
export declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultRootProps = DefaultRootProps>(data: Data, propTransforms: PropTransform<Props, RootProps>): Promise<Data>;
import type { OberonConfig, OberonPage, OberonPageMeta, TransformResult, TransformVersions } from "../lib/dtd";
export declare function applyTransforms({ transforms, pages, getPageData, updatePageData, }: {
transforms: PropTransform;
pages: OberonPageMeta[];
getPageData: (key: string) => Promise<Data | null>;
updatePageData: (data: OberonPage) => Promise<void>;
}): AsyncGenerator<TransformResult, void, void>;
export declare function getComponentTransformVersions({ components }: OberonConfig): Record<string, number>;
export declare function getTransforms(currentTransformVersions: TransformVersions | undefined, { components }: OberonConfig): {
components: TransformVersions;
transforms: false | Partial<{
[x: string]: (props: any) => any;
} & {
root: (props: import("@measured/puck").DefaultRootFieldProps & {
children: import("react").ReactNode;
} & {
puck: import("@measured/puck").PuckContext;
editMode?: boolean;
} & {
[key: string]: any;
}) => DefaultRootProps;
}>;
};
export {};
//# sourceMappingURL=transforms.d.ts.map