SmartParks_visitore/uni_modules/lime-shared/merge/index.ts

33 lines
878 B
TypeScript
Raw Normal View History

2025-08-21 11:23:54 +08:00
// @ts-nocheck
/**
*
*
* @template T -
* @param {T} obj -
* @param {T} defaults -
* @returns {T} obj参数
*/
export function merge<T>(obj : T, defaults : T) : T {
// #ifdef APP-ANDROID
try {
if(obj instanceof UTSJSONObject && defaults instanceof UTSJSONObject) {
return UTSJSONObject.assign<T>(obj, defaults)!// as T
}
const obj1 = { ...toRaw(obj) }
const obj2 = { ...toRaw(defaults) }
return UTSJSONObject.assign<T>(obj1, obj2)!
} catch (error) {
return defaults
}
// #endif
// #ifndef APP-ANDROID
for (const key in defaults) {
if (obj[key] === undefined || obj[key] === null) {
obj[key] = defaults[key];
}
}
return obj;
// #endif
}