纳克( Nacre) (@fungi.computer/nacre(中文(简体) )
纳克是皮尔之母 内衬的牡蛎会生长在壳内. 这个软件包是App主机的衬里:窗口的 shell客户端, 命令、密钥和 App 目录从中构建。 牡蛎的页面用它,和 没有牡蛎服务器,任何外壳都可以导入.
安装或设置
pnpm add @fungi.computer/nacre
一揽子措施仅限无害环境管理。 这取决于 @fungi.computer/agar, (中文(简体) ),
@fungi.computer/ear-tag, (中文(简体) ), @fungi.computer/gills, (中文(简体) ), @fungi.computer/puffball, (中文(简体) ),
@fungi.computer/whistle, (中文(简体) ), effect 财务报告和审定财务报表 zod。 。 。 .
快开始
import { createWindowManager } from "@fungi.computer/nacre";
const windows = createWindowManager({
createContainer: () => ({}),
mount: () => ({
setVisibility: () => undefined,
reconfigure: () => undefined,
dispose: () => undefined,
}),
});
await windows.open({ windowId: "notes" });
核心概念
@fungi.computer/nacre 提供托管 Apps 的客户端。 可能是这样
独立于 Workers 服务器和节点包装辅助器导入。 一样
出口可通过重点条目获取:
| 条目 | 合同 |
|---|---|
./workbench | Workbench主机合同,共享儿童窗口主机,Gill布局和安排器形状. |
./command-host | 一个惠斯克图,它接受与经核实的释放声明相对的上架命令. |
./keys | DOM密钥发送并共享和弦匹配. |
./commands | 窗口, App picker 和命令调色板声明在主机回调时进行. |
./window-manager | 窗口生成,能见度,导航,取消和处置. |
./app-directory | App地址,可重用目录行和目录元数据. |
./shell-module 是宿主和它运行的外壳之间的契约
自行进口,而不是通过根条目。 shell 释放导出
mountShell(root, input) (单位:千美元)MountShell(三); input (单位:千美元)ShellMountInput载体
工作台把手, 外壳安装 AppStorage 财务报告和审定财务报表
methods.call(method, input) 用于其宣布的后端方法,这需要
输入为 JSON 文本并用已解码的 JSON 结果解决.
importShellModule(moduleUrl, hostOrigin) 导入选中的 shell 模块
检查其出口 mountShell拒绝
与 ShellModuleError 否则。 宿主从不捆绑外壳.
提供您自己的挂载适配器 createWindowManager它接收到
容器、发射说明、取消信号和导航回调
返回的手柄拥有能见度、重组和处置。 经理
处理 Stale 挂载并序列化每个窗口的更改 。 既不选
应用软件或授予能力.
createAppSurfaceCommandHost 拥有命令贡献和焦点. 给
mount(id, declarations) 经核实的释放声明
返回Agar的处理器 connectAppHost。挂载的 App 无法引入
未宣布的命令或要求保留外壳和弦。 放弃命令挂载
当其iframe关闭时,并用外壳处理命令主机.
installShellKeys 仅在调用时附加 DOM 听器; 其返回值
把他们带走。 终端弹壳可以不用命令和窗口所有者
DOM(英语:DOM).
目录元数据不是发射权限. 主机扩展了公共行计划 以自己的许可模式 并承认自己。 真菌队 目录、 团队设置能力和已签名的 Hub/host 协议在其 私人消费者;公共外壳无一进口.
API 参考
生成的引用在 文档/api。 。 。 .
实例和检查
pnpm --filter @fungi.computer/nacre test运行窗口管理器, 命令 主机,外壳模块和App目录测试.pnpm --filter @fungi.computer/nacre stranger装入包裹 排字检查,并运行一个消费者对焦油球.
限制和错误
目录元数据不是发射权限, 挂载的 App 无法引入
一个未宣布的命令. importShellModule 拒绝不导出模块
mountShell 与 ShellModuleError。 。 。 .
贡献和许可证
通过植物库改变土地. 麻省理工学院许可证;见 自由主义。 。 。 .