Files
makelore/shared/module-access.ts
2026-09-04 12:14:53 +08:00

28 lines
766 B
TypeScript

export const MODULE_ACCESS_KEYS = [
'programming',
'design',
'robot',
] as const;
export type ModuleAccessKey = typeof MODULE_ACCESS_KEYS[number];
export type ModuleAccess = Record<ModuleAccessKey, boolean>;
export const DEFAULT_MODULE_ACCESS: ModuleAccess = {
programming: true,
design: true,
robot: true,
};
export function normalizeModuleAccess(value: unknown): ModuleAccess {
const record = value && typeof value === 'object' && !Array.isArray(value)
? value as Record<string, unknown>
: {};
return {
programming: typeof record.programming === 'boolean' ? record.programming : true,
design: typeof record.design === 'boolean' ? record.design : true,
robot: typeof record.robot === 'boolean' ? record.robot : true,
};
}