|
|
|
|
@ -157,27 +157,23 @@ function coerceToString(val: LuaType, errorMessage?: string): string {
|
|
|
|
|
throwCoerceError(val, errorMessage)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function coerceArg<T>(
|
|
|
|
|
value: LuaType,
|
|
|
|
|
coerceFunc: (val: LuaType, errorMessage?: string) => T,
|
|
|
|
|
typ: 'number' | 'string' | 'boolean',
|
|
|
|
|
funcName: string,
|
|
|
|
|
index: number
|
|
|
|
|
): T {
|
|
|
|
|
return coerceFunc(value, `bad argument #${index} to '${funcName}' (${typ} expected, got %type)`)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function coerceArgToNumber(value: LuaType, funcName: string, index: number): number {
|
|
|
|
|
return coerceArg<number>(value, coerceToNumber, 'number', funcName, index)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function coerceArgToString(value: LuaType, funcName: string, index: number): string {
|
|
|
|
|
return coerceArg<string>(value, coerceToString, 'string', funcName, index)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function coerceArgToBoolean(value: LuaType, funcName: string, index: number): boolean {
|
|
|
|
|
return coerceArg<boolean>(value, coerceToBoolean, 'boolean', funcName, index)
|
|
|
|
|
}
|
|
|
|
|
function coerceArg<T>(
|
|
|
|
|
value: LuaType,
|
|
|
|
|
coerceFunc: (val: LuaType, errorMessage?: string) => T,
|
|
|
|
|
typ: 'number' | 'string',
|
|
|
|
|
funcName: string,
|
|
|
|
|
index: number
|
|
|
|
|
): T {
|
|
|
|
|
return coerceFunc(value, `bad argument #${index} to '${funcName}' (${typ} expected, got %type)`)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function coerceArgToNumber(value: LuaType, funcName: string, index: number): number {
|
|
|
|
|
return coerceArg<number>(value, coerceToNumber, 'number', funcName, index)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function coerceArgToString(value: LuaType, funcName: string, index: number): string {
|
|
|
|
|
return coerceArg<string>(value, coerceToString, 'string', funcName, index)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function coerceArgToTable(value: LuaType, funcName: string, index: number): Table {
|
|
|
|
|
if (value instanceof Table) {
|
|
|
|
|
@ -207,15 +203,14 @@ export {
|
|
|
|
|
Config,
|
|
|
|
|
type,
|
|
|
|
|
tostring,
|
|
|
|
|
posrelat,
|
|
|
|
|
coerceToBoolean,
|
|
|
|
|
coerceToNumber,
|
|
|
|
|
coerceToString,
|
|
|
|
|
coerceArgToBoolean,
|
|
|
|
|
coerceArgToNumber,
|
|
|
|
|
coerceArgToString,
|
|
|
|
|
coerceArgToTable,
|
|
|
|
|
coerceArgToFunction,
|
|
|
|
|
ensureArray,
|
|
|
|
|
hasOwnProperty
|
|
|
|
|
}
|
|
|
|
|
posrelat,
|
|
|
|
|
coerceToBoolean,
|
|
|
|
|
coerceToNumber,
|
|
|
|
|
coerceToString,
|
|
|
|
|
coerceArgToNumber,
|
|
|
|
|
coerceArgToString,
|
|
|
|
|
coerceArgToTable,
|
|
|
|
|
coerceArgToFunction,
|
|
|
|
|
ensureArray,
|
|
|
|
|
hasOwnProperty
|
|
|
|
|
}
|
|
|
|
|
|