import isWindow from './isWindow.mjs'
/**
* 取得運行環境中的頂層物件
*
* Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/getGlobal.test.mjs Github}
* @memberOf wsemi
* @returns {Object} 回傳頂層物件,若無法取得則回傳null
* @example
*
* console.log(getGlobal())
* // => global object in running environment
*
*/
function getGlobal() {
if (typeof self !== 'undefined') {
return self
}
if (isWindow()) {
return window //於borwser的型別為[object Window]
}
if (typeof global !== 'undefined') {
return global //於nodejs的型別為[object global]
}
return null
}
export default getGlobal