UNPKG

@megalo/api

Version:

重新封装各个端中的API,由 megalo 统一对外抛出方法名。目前微信小程序端提供的 API 最为丰富,所以 API 名称以微信小程序为准。

37 lines (31 loc) 857 B
function adaptApi(key, options = {}, apiDiffs) { let rawApi = key; Object.keys(apiDiffs).forEach(item => { const apiDiff = apiDiffs[item]; if (key === item) { if (apiDiff.alias) { rawApi = apiDiff.alias; } if (apiDiff.options) { const changes = apiDiff.options.changes; if (changes) { changes.forEach(change => { options[change.indv] = options[change.std]; delete options[change.std]; }); } const set = apiDiff.options.set; if (set) { set.forEach(setItem => { options[setItem.key] = typeof setItem.value === 'function' ? setItem.value(options) : setItem.value; }); } } } }); return { rawApi, options }; } export default adaptApi;