# extendify/trunk/src/AutoLaunch/fetchers/get-design.js

Extendify, version trunk. 21 lines.

- Page: https://pluginprobe.com/plugins/extendify/trunk/code/src/AutoLaunch/fetchers/get-design.js
- Raw: https://pluginprobe.com/plugins/extendify/trunk/raw/src/AutoLaunch/fetchers/get-design.js
- Modified: 2026-09-09T18:23:40+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/trunk/code/src/AutoLaunch/fetchers/get-design.js#L10-L20`.

```javascript
import { failWithFallback } from '@auto-launch/functions/helpers';
import { z } from 'zod';

/**
 * An unknown variable must not sink a design authored against a newer build.
 * A number is a CSS value too, so `0.88` is not dropped.
 */
export const designShape = z.object({
	vars: z.record(z.string(), z.union([z.string(), z.number()])).optional(),
	shader: z.string().optional(),
	logo: z.string().optional(),
	templates: z.record(z.string(), z.string()).optional(),
});

export const handleDesign = async () =>
	failWithFallback(
		async () => designShape.parse(window.extLaunchData?.customDesign ?? {}),
		{},
		{ error: { message: 'Design config unreadable', name: 'DesignError' } },
	);

```
