可插接- io- 框架
使用可插接源/ 连接 IO 框架 动态插件框架
关键特性
- 协议意识位置,作为字符串(
file:///data/a.txt, (中文(简体) ),s3://bucket/key, (中文(简体) ),https://host/a综合计划,例如:tams+https:; 空路径默认为file)或结构化{ protocol, location }对象。 选择已安装的提供者 该协议的插件 。 见 字符串和结构化位置。 。 。 . - A 类
ProviderRegistry按协议和有效载荷类型按键,有多个 执行并存的议定书(例如,联合来文和土著文书)file提供方). - 有效载荷种类、内存域和有效载荷类型的谈判 源和汇,倒入最便宜的注册有效载荷转换器 插件 .
copy编号 :move明确进入、集装箱和光滑模式目标, 与cp -r容器的语义学.- 直接提供者对提供者的转让,经谈判的多部分转让 部件大小,零副本租赁转至汇提供的缓冲器或平面 流出 - 自动选择 .
- 优雅地停站和取消,按部分重试,可续写和 实时源的自动重联与差距报告.
- 货币限制的递归和模式转移,有进展 遥测.
- 提供商构成:提供商可以解决其他已安装的提供商.
- 串流装饰 :
seekable财务报告和审定财务报表locallyCached。 。 。 . - Bun基于TypeScript,以原生的JavaScript模块来编写.
用法实例
- 流程描述器- io- cli 是一个基于此框架的 CLI 应用程序.
- io- plugin 文件系统
是参考文献
file提供者插件.
import {
DefaultPluginManager,
LocalFolderPluginRepository,
} from "@flowscripter/dynamic-plugin-framework";
import { copy, ProviderRegistry } from "@flowscripter/pluggable-io-framework";
const registry = new ProviderRegistry(
new DefaultPluginManager([new LocalFolderPluginRepository("./plugins")]),
);
await registry.discover();
const { source, dest, options } = await registry.createProvidersForTransfer(
"file:///data/in",
"s3://bucket/out",
);
const result = await copy(source.provider, source.target, dest.provider, dest.target, {
...options,
telemetry: { onProgress: (event) => console.log(event) },
});
console.log(result.path);
进一步详情
许可证
麻省理工学院