收口移动文件导出响应边界
将 Expo 文本、图片和音频导出成功响应包装收口到 files 模块 让移动 dispatch 只委托文件导出请求 同步移动壳配置门禁和共享记忆
This commit is contained in:
@@ -1676,32 +1676,41 @@ assertMobileDocumentPickerBoundary(
|
||||
'MOBILE_AUDIO_DOCUMENT_PICKER_TYPES',
|
||||
);
|
||||
|
||||
for (const [wrapperName, importCall] of [
|
||||
for (const [wrapperName, fileCall] of [
|
||||
['exportMobileHostBridgeTextFile', 'ok(request, await exportTextFile(request.payload))'],
|
||||
['importMobileHostBridgeTextFile', 'ok(request, await importTextFile())'],
|
||||
['importMobileHostBridgeDocumentFile', 'ok(request, await importDocumentFile())'],
|
||||
['exportMobileHostBridgeImageFile', 'ok(request, await exportImageFile(request.payload))'],
|
||||
['importMobileHostBridgeImageFile', 'ok(request, await importImageFile())'],
|
||||
['captureMobileHostBridgeImageFile', 'ok(request, await captureImageFile())'],
|
||||
['exportMobileHostBridgeAudioFile', 'ok(request, await exportAudioFile(request.payload))'],
|
||||
['importMobileHostBridgeAudioFile', 'ok(request, await importAudioFile())'],
|
||||
]) {
|
||||
const wrapperBody = extractFunctionBody(filesSource, wrapperName);
|
||||
if (!wrapperBody.includes(importCall)) {
|
||||
throw new Error(`mobile shell file import HostBridge wrapper missing ${importCall}`);
|
||||
if (!wrapperBody.includes(fileCall)) {
|
||||
throw new Error(`mobile shell file HostBridge wrapper missing ${fileCall}`);
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
!dispatchSource.includes('exportMobileHostBridgeTextFile(request)') ||
|
||||
!dispatchSource.includes('importMobileHostBridgeTextFile(request)') ||
|
||||
!dispatchSource.includes('importMobileHostBridgeDocumentFile(request)') ||
|
||||
!dispatchSource.includes('exportMobileHostBridgeImageFile(request)') ||
|
||||
!dispatchSource.includes('importMobileHostBridgeImageFile(request)') ||
|
||||
!dispatchSource.includes('captureMobileHostBridgeImageFile(request)') ||
|
||||
!dispatchSource.includes('exportMobileHostBridgeAudioFile(request)') ||
|
||||
!dispatchSource.includes('importMobileHostBridgeAudioFile(request)') ||
|
||||
dispatchSource.includes('ok(request, await exportTextFile(request.payload))') ||
|
||||
dispatchSource.includes('ok(request, await importTextFile())') ||
|
||||
dispatchSource.includes('ok(request, await importDocumentFile())') ||
|
||||
dispatchSource.includes('ok(request, await exportImageFile(request.payload))') ||
|
||||
dispatchSource.includes('ok(request, await importImageFile())') ||
|
||||
dispatchSource.includes('ok(request, await captureImageFile())') ||
|
||||
dispatchSource.includes('ok(request, await exportAudioFile(request.payload))') ||
|
||||
dispatchSource.includes('ok(request, await importAudioFile())')
|
||||
) {
|
||||
throw new Error('mobile shell dispatch must delegate file imports to files.ts');
|
||||
throw new Error('mobile shell dispatch must delegate file requests to files.ts');
|
||||
}
|
||||
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user