// @ts-nocheck
/**
 * 檢查對象或數組是否具有指定的屬性或鍵
 * @param obj 要檢查的對象或數組
 * @param key 指定的屬性或鍵
 * @returns 如果對象或數組具有指定的屬性或鍵，則返回true；否則返回false
 */
function hasOwn(obj: UTSJSONObject, key: string): boolean
function hasOwn(obj: Map<string, unknown>, key: string): boolean
function hasOwn(obj: any, key: string): boolean {
  if(obj instanceof UTSJSONObject){
	 return obj[key] != null
  }
  if(obj instanceof Map<string, unknown>){
  	 return (obj as Map<string, unknown>).has(key)
  }
  return false
}
export {
	hasOwn
}
// 示例
// const obj = { name: 'John', age: 30 };

// if (hasOwn(obj, 'name')) {
//   console.log("對象具有 'name' 屬性");
// } else {
//   console.log("對象不具有 'name' 屬性");
// }
// // 輸出: 對象具有 'name' 屬性

// const arr = [1, 2, 3];

// if (hasOwn(arr, 'length')) {
//   console.log("數組具有 'length' 屬性");
// } else {
//   console.log("數組不具有 'length' 屬性");
// }
// 輸出: 數組具有 'length' 屬性