Add boolean argument coercion helper

pull/30/head
Piotr 3 months ago
parent 22fb810725
commit 2574460a62

@ -8,7 +8,7 @@ import {
coerceArgToString,
hasOwnProperty,
LuaType,
coerceToBoolean
coerceArgToBoolean
} from '../utils'
const ROSETTA_STONE: Record<string, string> = {
@ -125,7 +125,7 @@ function find(s: LuaType, pattern: LuaType, init: LuaType, plain: LuaType): (num
const S = coerceArgToString(s, 'find', 1)
const P = coerceArgToString(pattern, 'find', 2)
const INIT = init === undefined ? 1 : coerceArgToNumber(init, 'find', 3)
const PLAIN = plain === undefined ? false : coerceToBoolean(plain)
const PLAIN = plain === undefined ? false : coerceArgToBoolean(plain, 'find', 4)
// Regex
if (!PLAIN) {

@ -160,7 +160,7 @@ function coerceToString(val: LuaType, errorMessage?: string): string {
function coerceArg<T>(
value: LuaType,
coerceFunc: (val: LuaType, errorMessage?: string) => T,
typ: 'number' | 'string',
typ: 'number' | 'string' | 'boolean',
funcName: string,
index: number
): T {
@ -175,6 +175,10 @@ function coerceArgToString(value: LuaType, funcName: string, index: number): str
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 coerceArgToTable(value: LuaType, funcName: string, index: number): Table {
if (value instanceof Table) {
return value
@ -207,6 +211,7 @@ export {
coerceToBoolean,
coerceToNumber,
coerceToString,
coerceArgToBoolean,
coerceArgToNumber,
coerceArgToString,
coerceArgToTable,

Loading…
Cancel
Save