import { compareVersion, createCommands } from '@jolibox/common'; import { convertVersionCodeToVString, createSyncAPI, registerCanIUse, t } from './base'; import { context } from '@/common/context'; const commands = createCommands(); const API_IS_NATIVE_SUPPORT = 'isNativeSupport'; const isNativeSupport = createSyncAPI(API_IS_NATIVE_SUPPORT, { paramsSchema: t.tuple( t.object({ version: t.string() }) ), implement: (params) => { const nativeCode = context.sdkInfo.nativeSDKVersionCode; const { version } = params; if (version) { const isSupport = compareVersion(convertVersionCodeToVString(nativeCode ?? 0), version, '>='); return { code: 'SUCCESS', data: isSupport }; } return { code: 'FAILURE', message: `[Jolibox SDK] api or versionCode is required`, data: false }; } }); commands.registerCommand('API.isNativeSupport', isNativeSupport); registerCanIUse('isNativeSupport', { version: '1.1.46' });