prog
This commit is contained in:
44
tools/util/type.py
Normal file
44
tools/util/type.py
Normal file
@@ -0,0 +1,44 @@
|
||||
def detectType(value: str) -> str:
|
||||
val = value.strip()
|
||||
# Boolean check
|
||||
if val.lower() in {'true', 'false'}:
|
||||
return 'Boolean'
|
||||
|
||||
# Int check
|
||||
try:
|
||||
int(val)
|
||||
return 'Int'
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
# Float check
|
||||
try:
|
||||
float(val)
|
||||
return 'Float'
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
# Default to String
|
||||
return 'String'
|
||||
|
||||
def typeToCType(valType: str) -> str:
|
||||
if valType == 'Int':
|
||||
return 'int'
|
||||
elif valType == 'Float':
|
||||
return 'float'
|
||||
elif valType == 'Boolean':
|
||||
return 'bool'
|
||||
else:
|
||||
return 'char_t*'
|
||||
|
||||
def stringToCType(value: str) -> str:
|
||||
valType = detectType(value)
|
||||
if valType == 'Int':
|
||||
return str(int(value))
|
||||
elif valType == 'Float':
|
||||
return str(float(value))
|
||||
elif valType == 'Boolean':
|
||||
return 'true' if value.lower() == 'true' else 'false'
|
||||
else:
|
||||
escaped = value.replace('\\', '\\\\').replace('"', '\\"')
|
||||
return f'"{escaped}"'
|
||||
Reference in New Issue
Block a user