以浏览器编译客户端实现网页编译接口,进度与结果进入统一事件队列。
源码浏览已生成;不能解析的文件以纯文本展示,不表示通过类型检查。
# 网页编译浏览器适配
`编译。豫` 实现[网页编译接口](../../../豫言操作系统接口/网页编译/规范.汉语.md)的全部函数:`本地编译可用`、`启动本地编译`、`停止本地编译`。`实现接口。豫` 固定公共包身份与版本,接口检查器须在构建前核对签名。
**宿主原语**:适配只调用 `豫言_浏览器_网页能力`(同步)与 `豫言_浏览器_网页能力异步`(需要等待的操作)两个原语,操作名为 `编译.可用`、`编译.启动`、`编译.停止`;失败以(阴,错误文)返回,再由本适配转成豫言事故,不让 JavaScript 异常越过 Wasm 边界。
**宿主实现**:`宿主/浏览器/宿主.mjs` 的 `创建网页能力`。宿主按需动态加载“编译客户端”(默认页面基址目录下的 `编译/客户端.mjs`,可经 `创建浏览器宿主({编译客户端})` 换成对象或地址),调用其 `浏览器编译({files},true,报告)` 与 `停止编译()`;进度事件在宿主里 50 毫秒合批(至多 64 项),经背压管线投递为类型“编译”的“进度”事件,客户端结束后投递“完成”。同一时刻只有一个编译。
**运行要求**:等待类函数挂起豫言栈,浏览器须支持 JSPI;八个新包与网页事件包共用同一个统一事件队列。
**验收**:一致性验证见 `../网页定时/一致性验证/`(探针应用 `前端接口探针`、宿主单元测试与 JSDOM+真实 Wasm 的一致性测试,说明见其中的 `说明.汉语.md`)。
# 网页编译浏览器适配
`编译。豫` 行[网页编译之约](../../../豫言操作系统接口/网页编译/规范.文言.md)之诸函数:`本地编译可用`、`启动本地编译`、`停止本地编译`。`实现接口。豫` 定公共包之身与版,接口检查器当于构建前核其签。
**宿主原语**:适配惟调 `豫言_浏览器_网页能力`(同步)与 `豫言_浏览器_网页能力异步`(须候者)二原语,操作名为 `编译.可用`、`编译.启动`、`编译.停止`;败则以(阴,错误文)返,本适配转为豫言事故,不使 JavaScript 之异常越 Wasm 之界。
**宿主之行**:`宿主/浏览器/宿主.mjs` 之 `创建网页能力`。宿主按需动态载“编译客户端”(默认页面基址目录下之 `编译/客户端.mjs`,可由 `创建浏览器宿主({编译客户端})` 易为物或址),调其 `浏览器编译({files},true,报告)` 与 `停止编译()`;进度之事于宿主中五十毫秒而合批(至多六十四项),经背压管线投之,类曰“编译”、名曰“进度”,客户端毕则投“完成”。同时惟一编译。
**运行之要**:候事之函数挂豫言之栈,浏览器须支持 JSPI;八新包与网页事件包共一统一事列。
**验收**:一致性验证见 `../网页定时/一致性验证/`(探针应用“前端接口探针”、宿主单元测试与 JSDOM 加真实 Wasm 之一致性测试,说明见其中之 `说明.文言.md`)。