[eric] imports: extract schema getDefault into shared

This commit is contained in:
ciregenz
2026-05-23 07:21:57 -07:00
parent 37d1b067bf
commit c45972b2df
5 changed files with 34 additions and 34 deletions
@@ -0,0 +1,29 @@
export interface SchemaNode {
type?: string;
properties?: Record<string, SchemaNode>;
items?: SchemaNode;
required?: string[];
enum?: string[];
description?: string;
default?: any;
}
export function getDefault(schema: SchemaNode): any {
if (schema.default !== undefined) return schema.default;
switch (schema.type) {
case 'string': return '';
case 'number': return 0;
case 'boolean': return false;
case 'array': return [];
case 'object': {
const obj: Record<string, any> = {};
if (schema.properties) {
for (const [k, v] of Object.entries(schema.properties)) {
obj[k] = getDefault(v);
}
}
return obj;
}
default: return '';
}
}