diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-07-22 13:23:25 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-07-22 13:23:25 -0400 |
| commit | d063284dea10e82a23c2c332ecd4901d7254171b (patch) | |
| tree | 8433fc86936229eeb01d4b200fbb93da0dec8d18 /scripts | |
| parent | df0635f1bba611b8b44975057acd579102d209dd (diff) | |
| download | decky-lsfg-vk-d063284dea10e82a23c2c332ecd4901d7254171b.tar.gz decky-lsfg-vk-d063284dea10e82a23c2c332ecd4901d7254171b.zip | |
use generated kwargs and config in more hardcoded places
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/generate_python_boilerplate.py | 16 | ||||
| -rw-r--r-- | scripts/generate_ts_schema.py | 9 |
2 files changed, 22 insertions, 3 deletions
diff --git a/scripts/generate_python_boilerplate.py b/scripts/generate_python_boilerplate.py index 0101ae4..b16aa3f 100644 --- a/scripts/generate_python_boilerplate.py +++ b/scripts/generate_python_boilerplate.py @@ -76,12 +76,12 @@ def generate_function_signature() -> str: def generate_config_dict_creation() -> str: """Generate dictionary creation for create_config_from_args""" - lines = [" return cast(ConfigurationData, {"] + lines = [" return cast(ConfigurationData, {"] for field_name in CONFIG_SCHEMA_DEF.keys(): - lines.append(f' "{field_name}": {field_name},') + lines.append(f' "{field_name}": kwargs.get("{field_name}"),') - lines.append(" })") + lines.append(" })") return "\n".join(lines) @@ -180,6 +180,13 @@ def generate_log_statement() -> str: def generate_complete_schema_file() -> str: """Generate complete config_schema_generated.py file""" + + # Generate field name constants + field_constants = [] + for field_name in CONFIG_SCHEMA_DEF.keys(): + const_name = field_name.upper() + field_constants.append(f'{const_name} = "{field_name}"') + lines = [ '"""', 'Auto-generated configuration schema components from shared_config.py', @@ -195,6 +202,9 @@ def generate_complete_schema_file() -> str: 'sys.path.insert(0, str(Path(__file__).parent.parent.parent))', 'from shared_config import CONFIG_SCHEMA_DEF, ConfigFieldType', '', + '# Field name constants for type-safe access', + ] + field_constants + [ + '', '', generate_typed_dict(), '', diff --git a/scripts/generate_ts_schema.py b/scripts/generate_ts_schema.py index 1997c55..c4c0e8a 100644 --- a/scripts/generate_ts_schema.py +++ b/scripts/generate_ts_schema.py @@ -19,6 +19,12 @@ from shared_config import CONFIG_SCHEMA_DEF, ConfigFieldType def generate_typescript_schema(): """Generate generatedConfigSchema.ts from Python schema""" + # Generate field name constants + field_constants = [] + for field_name in CONFIG_SCHEMA_DEF.keys(): + const_name = field_name.upper() + field_constants.append(f'export const {const_name} = "{field_name}" as const;') + # Generate enum enum_lines = [ "// src/config/generatedConfigSchema.ts", @@ -30,6 +36,9 @@ def generate_typescript_schema(): " STRING = \"string\"", "}", "", + "// Field name constants for type-safe access", + ] + field_constants + [ + "", "// Configuration field definition", "export interface ConfigField {", " name: string;", |
