// @ts-nocheck
import { isNumber } from '../isNumber'
import { isString } from '../isString'
// 函數重載，定義多個函數簽名
// function toBoolean(value : any) : boolean;
// function toBoolean(value : string) : boolean;
// function toBoolean(value : number) : boolean;
// function toBoolean(value : boolean) : boolean;

// #ifdef APP-IOS || APP-ANDROID
function toBoolean(value : any | null) : boolean {
	// 根據輸入值的類型，返回相應的布爾值
	// if (isNumber(value)) {
	// 	return (value as number) != 0;
	// }
	// if (isString(value)) {
	// 	return `${value}`.length > 0;
	// }
	// if (typeof value == 'boolean') {
	// 	return value as boolean;
	// }
	// #ifdef APP-IOS
	return value != null && value != undefined
	// #endif
	// #ifdef APP-ANDROID
	return value != null
	// #endif
}
// #endif


// #ifndef APP-IOS || APP-ANDROID
function toBoolean(value : any | null) : value is NonNullable<typeof value> {
	return !!value//value !== null && value !== undefined;
}
// #endif

export {
	toBoolean
}