33 lines
815 B
TypeScript
33 lines
815 B
TypeScript
export const CANVAS_LOCAL_EDIT_CONFIG_KEY = "canvas_local_edit_config";
|
|
|
|
export type CanvasLocalEditConfig = {
|
|
modelId: string;
|
|
scaleAdjustModelId: string;
|
|
};
|
|
|
|
export function defaultCanvasLocalEditConfig(): CanvasLocalEditConfig {
|
|
return {
|
|
modelId: "",
|
|
scaleAdjustModelId: "",
|
|
};
|
|
}
|
|
|
|
function normalizeModelRef(value: unknown) {
|
|
return String(value || "").trim().slice(0, 128);
|
|
}
|
|
|
|
export function normalizeCanvasLocalEditConfig(
|
|
value: unknown
|
|
): CanvasLocalEditConfig {
|
|
const defaults = defaultCanvasLocalEditConfig();
|
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
return defaults;
|
|
}
|
|
|
|
const raw = value as Record<string, unknown>;
|
|
return {
|
|
modelId: normalizeModelRef(raw.modelId),
|
|
scaleAdjustModelId: normalizeModelRef(raw.scaleAdjustModelId),
|
|
};
|
|
}
|