PHP 8.2.31
Preview: shape.js Size: 2.77 KB
/home/nshryvcy/radiantskinclinics.org/wp-content/plugins/extendify_old/src/AutoLaunch/fetchers/shape.js

import { z } from 'zod';

// get-home
const patternShape = z.looseObject({
	name: z.string(),
	code: z.string(),
	patternTypes: z.array(z.string()),
	contentGenerated: z.boolean().optional(),
	navSlug: z.string().optional(),
	navLabel: z.string().optional(),
});
export const homeTemplateShape = z.looseObject({
	id: z.string(),
	slug: z.string(),
	headerCode: z.string().optional(),
	footerCode: z.string().optional(),
	patterns: z.array(patternShape),
});
export const getHomeShape = z.looseObject({
	home: homeTemplateShape,
});

// get-images
export const getImagesShape = z.looseObject({
	siteImages: z.array(z.string()),
});

// get-logo
export const getLogoShape = z.looseObject({
	logoUrl: z.url(),
});

// get-pages
export const pageTemplateShape = z.looseObject({
	id: z.string(),
	slug: z.string(),
	name: z.string(),
	patterns: z.array(patternShape),
	siteStyle: z.object(),
});
export const getPagesShape = z.looseObject({
	pages: z.array(pageTemplateShape),
});

// get-plugins
export const pluginShape = z.looseObject({
	name: z.string(),
	wordpressSlug: z.string(),
});
export const getPluginsShape = z.object({
	sitePlugins: z.array(pluginShape),
});

// get-profile
export const getProfileShape = z.looseObject({
	type: z.string(),
	title: z.string(),
	description: z.string(),
	descriptionRaw: z.string().optional(),
	objective: z.string(),
	category: z.string().optional(),
	structure: z.string(),
	imageSearchTerms: z.array(z.string()),
	tone: z.array(z.string()),
	logoObjectName: z.string(),
	products: z.union([z.string(), z.literal(false)]),
	appointments: z.boolean(),
	events: z.boolean(),
	donations: z.boolean(),
	multilingual: z.boolean(),
	contact: z.boolean(),
	address: z.union([z.boolean(), z.string()]),
	blog: z.boolean(),
	landingPage: z.boolean(),
	landingPageCTALink: z.union([z.literal(false), z.string()]),
	phoneNumber: z.union([z.boolean(), z.string()]).optional(),
});

// get-strings
export const getStringsShape = z.looseObject({
	aiHeaders: z.array(z.string()),
	aiBlogTitles: z.array(z.string()),
});

// get-style
export const styleShape = z.looseObject({
	vibe: z.string(),
	fonts: z.looseObject(),
	variation: z.looseObject(),
	colorPalette: z.string(),
	animation: z.string(),
});
export const getStyleShape = z.object({
	siteStyle: styleShape.extend({ variation: z.looseObject().optional() }),
});

// get-design-build
const designBuildShape = z.looseObject({
	siteProfile: getProfileShape,
	pages: z.array(
		z.object({
			slug: z.string(),
			name: z.string(),
			description: z.string().optional(),
		}),
	),
	patternId: z.string(),
	headerCode: z.string(),
	siteStyle: styleShape.omit({ variation: true }),
	selectedPlugins: z.array(pluginShape),
	html: z.string(),
	patternCode: z.string(),
	logoUrl: z.url().nullish(),
});
export const getDesignBuildShape = designBuildShape;

Directory Contents

Dirs: 0 × Files: 11

Name Size Perms Modified Actions
3.80 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
1.88 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
988 B lrw-r--r-- 2026-03-05 22:57:38
Edit Download
1.89 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
1.44 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
1.35 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
1.71 KB lrw-r--r-- 2026-03-05 22:57:38
Edit Download
978 B lrw-r--r-- 2026-03-05 22:57:38
Edit Download
1.66 KB lrw-r--r-- 2026-03-05 22:57:38
Edit Download
1.31 KB lrw-r--r-- 2026-04-09 23:45:00
Edit Download
2.77 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).