@elaraai/east-node-io

中文文档
1.0.107发布于 2026/11/13AGPL-3.0-or-laterTypeScriptES Module构建来源已验证近 30 天下载 3668

节点上东方语言的 I/O 平台功能

中文使用文档
文档目录23 节
  1. 特征
  2. 安装
  3. 快速启动
  4. SQL 数据库查询
  5. S3 文件上传/下载
  6. 红色缓存
  7. 文件格式处理
  8. 平台函数
  9. SQL 组合键
  10. 存储
  11. 转让
  12. 无 SQL
  13. 格式
  14. 压缩
  15. 发展
  16. 测试
  17. 文档
  18. Claude 代码插件
  19. 许可证
  20. 依赖关系
  21. 生态系统
  22. 链接
  23. 关于埃拉拉

东节点 IO

节点上东方语言的 I/O 平台功能

License Node Version

东节点 IO 提供类型安全 I/O 平台功能 东 在Node.js上运行的程序,允许数据库操作,云存储,文件传输,NoSQL操作,文件格式处理,以及压缩.

特征

  • SQL 数据库: SQLite, PostgreSQL, MySQL 连接集, 微软访问( 只读)
  • 云存储: S3和S3相容对象存储(MINIO等)
  • 文件传输:促进遗留系统整合的FTP和SFTP
  • 无 SQL: Redis 缓存和 MongoDB 文档存储
  • 文件格式: XLSX (Excel), CSV, 以及 XML 解析和序列化
  • 压缩: Gzip, Zip,和Tar 压缩和去压
  • 类型安全: 完全东方类型系统集成
  • 自动同步 I/ 欧: 所有操作使用 implementAsync 用于非阻塞 I/ 欧

安装

npm install @elaraai/east-node-io

快速启动

SQL 数据库查询

import { East, StringType, IntegerType, NullType } from "@elaraai/east";
import { SQL } from "@elaraai/east-node-io";

const getUserById = East.function([IntegerType], NullType, ($, userId) => {
    const config = $.let({
        host: "localhost",
        port: 5432n,
        database: "myapp",
        user: "postgres",
        password: "secret",
        ssl: East.variant('none', null),
        maxConnections: East.variant('none', null),
    });

    const conn = $.let(SQL.Postgres.connect(config));
    $(SQL.Postgres.query(
        conn,
        "SELECT name FROM users WHERE id = $1",
        [East.variant("Integer", userId)]
    ));
    $(SQL.Postgres.close(conn));

    return $.return(null);
});

const compiled = East.compileAsync(getUserById.toIR(), SQL.Postgres.Implementation);
await compiled(42n);

S3 文件上传/下载

import { Storage } from "@elaraai/east-node-io";
import { East, StringType, BlobType } from "@elaraai/east";

const uploadFile = East.function([StringType, BlobType], StringType, ($, filename, data) => {
    const config = $.let({
        region: "us-east-1",
        bucket: "my-bucket",
        accessKeyId: East.variant('none', null),
        secretAccessKey: East.variant('none', null),
        endpoint: East.variant('none', null),
    });

    $(Storage.S3.putObject(config, filename, data));
    return Storage.S3.presignUrl(config, filename, 3600n);
});

const compiled = East.compileAsync(uploadFile.toIR(), Storage.S3.Implementation);
const url = await compiled("report.pdf", pdfBlob);

红色缓存

import { East, StringType, OptionType } from "@elaraai/east";
import { NoSQL } from "@elaraai/east-node-io";

const cacheGet = East.function([StringType], OptionType(StringType), ($, key) => {
    const config = $.let({
        host: "localhost",
        port: 6379n,
        password: East.variant('none', null),
        db: East.variant('none', null),
        keyPrefix: East.variant('none', null),
    });

    const conn = $.let(NoSQL.Redis.connect(config));
    const value = $.let(NoSQL.Redis.get(conn, key));
    $(NoSQL.Redis.close(conn));

    return $.return(value);
});

const compiled = East.compileAsync(cacheGet.toIR(), NoSQL.Redis.Implementation);
const cached = await compiled("user:42");  // some("...") or none

文件格式处理

import { Format } from "@elaraai/east-node-io";
import { East, BlobType, IntegerType } from "@elaraai/east";

// Read Excel files
const countRows = East.function([BlobType], IntegerType, ($, xlsxBlob) => {
    const options = $.let({
        sheetName: East.variant('none', null),
    });

    const sheet = $.let(Format.XLSX.read(xlsxBlob, options));
    return $.return(sheet.size());
});

const compiled = East.compile(countRows, Format.XLSX.Implementation);
const rowCount = compiled(xlsxBlob);  // 100n

平台函数

SQL 组合键

  • SQL 点数字 : connect, (中文(简体) ), query, (中文(简体) ), select, (中文(简体) ), close
  • 邮递SQL数字 : connect, (中文(简体) ), query, (中文(简体) ), select, (中文(简体) ), close
  • MySQL 数据数字 : connect, (中文(简体) ), query, (中文(简体) ), select, (中文(简体) ), close
  • 访问数字 : open, (中文(简体) ), tables, (中文(简体) ), query, (中文(简体) ), close (只读,.mdb/.accdb)

存储

  • 第3条数字 : putObject, (中文(简体) ), getObject, (中文(简体) ), deleteObject, (中文(简体) ), listObjects, (中文(简体) ), presignUrl

转让

  • FTP 调试数字 : connect, (中文(简体) ), put, (中文(简体) ), get, (中文(简体) ), list, (中文(简体) ), delete, (中文(简体) ), close
  • SFTP 系统数字 : connect, (中文(简体) ), put, (中文(简体) ), get, (中文(简体) ), list, (中文(简体) ), delete, (中文(简体) ), close

无 SQL

  • 重写数字 : connect, (中文(简体) ), get, (中文(简体) ), set, (中文(简体) ), setex, (中文(简体) ), del, (中文(简体) ), close
  • 蒙戈DB数字 : connect, (中文(简体) ), insertOne, (中文(简体) ), findOne, (中文(简体) ), find, (中文(简体) ), updateOne, (中文(简体) ), deleteOne, (中文(简体) ), close

格式

  • XLSX 密码数字 : read, (中文(简体) ), write, (中文(简体) ), info - Excel电子表格处理
  • 简历数字 : parse, (中文(简体) ), serialize - 带标题支持的逗号分隔值
  • XML 数据数字 : parse, (中文(简体) ), serialize - XML 文档树处理

压缩

  • 吉普语Name数字 : compress, (中文(简体) ), decompress - Gzip压缩(1952年RFC)
  • 齐普数字 : compress, (中文(简体) ), decompress - ZIP档案的创建和提取
  • 塔尔数字 : create, (中文(简体) ), extract - TAR档案的创建和提取

发展

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run tests (requires Docker)
npm run test:integration

# Start Docker services for development
npm run dev:services

# Stop Docker services
npm run dev:services:down

# Lint code
npm run lint

测试

集成测试需要多克运行真实的数据库和服务:

# Start all services (PostgreSQL, MySQL, MongoDB, Redis, MinIO, FTP, SFTP)
npm run dev:services

# Run full integration test suite
npm run test:integration

# Stop all services
npm run dev:services:down

文档

Claude 代码插件

东方生态系统也运载a 克劳德代码 插件 — East 语言技能, 实例搜索, 以及 East 代码的先发制人诊断 elaraai 市场:

# Inside Claude Code
/plugin marketplace add elaraai/east-workspace
/plugin install east@elaraai
# From a terminal
claude plugin marketplace add elaraai/east-workspace
claude plugin install east@elaraai

许可证

版权(c)2025 Elara AI Pty有限公司

该项目根据GNU Affero General Public License v3.0 颁发许可证——见 利比里亚 详细文件.

依赖关系

  • SQL 组合键数字 : better-sqlite3, (中文(简体) ), pg, (中文(简体) ), mysql2, (中文(简体) ), mdb-reader
  • 存储数字 : @aws-sdk/client-s3, (中文(简体) ), @aws-sdk/s3-request-presigner
  • 转让数字 : basic-ftp, (中文(简体) ), ssh2-sftp-client
  • 无 SQL数字 : ioredis, (中文(简体) ), mongodb
  • 格式数字 : xlsx 用于Excel 文件处理

生态系统

  • 东: statical地打出,以表达为主的语言有可序列的IR. 运行跨 TypeScript, Python, C 等运行时间的可移植逻辑.

    • @elaraai/东边: 有类型系统、表达式和参考JS编译器的核心语言SDK
  • 东节点: Node.js 平台用于I/O,数据库和系统操作的功能.

  • 东 C: C11本土运行时间用于执行东IR. 通过npm(发射器+每个平面的可选依赖)进行分配,并在每个GitHub放出上作为tarball.

    • @elaraai/东-克-克利: npm 发射器 – 安装匹配的本地二进制作为可选依赖
    • east-c: Core 运行时间 – 类型系统,IR 解释器,内置,序列化(Beast2, JSON, CSV, East text)
    • east-c-std: 控制台、 文件系统、 获取、 加密、 时间、 路径、 随机
    • east-c-cli: 用于在本地运行 East IR 程序的 CLI
  • 东 Py: Python 运行时间,标准平台,I/O,以及数据科学平台功能. 发布至PyPI.

    • 东平: Core Python 运行时间——类型系统,IR编译器,212+内建,Cython加速热路
    • 东平-上: 控制台、 文件系统、 获取、 加密、 时间、 路径、 随机
    • 东比欧: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, 压缩
    • 东-平-克利: 用于在 Python 运行 East IR 程序的 CLI
    • 东平数据科学 (平价)+ @elaraai/东平数据科学 (npm):优化(MADS, Optuna, ALNS, GoogleOR),ML(XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), 贝叶斯推论(PyMC),可解释性(SHAP),相通性预测(MAPIE)
  • 东方大学:已打入UI组件定义和React渲染器,外加VS代码预览.

  • e3——东行发动机: 大规模运行东方管线的持久执行引擎。 类似Git的内容可处理存储,自动记忆,反应数据流,实时监测.

关于埃拉拉

东方由 Elara AI Pty有限公司一个由AI驱动的平台 创造经济数字双胞胎 企业优化业绩。 Elara将业务目标、决定和数据结合起来,以帮助各组织在业务、采购、销售和客户参与以及项目和投资规划方面作出由数据驱动的决定。 东能给以埃拉拉解决方案的计算层,使得复杂的商业逻辑和数据能够以简单,类型安全和可移植的语言来表达.


开发者 Elara AI Pty有限公司。 。 。 .


开发者 Elara AI Pty有限公司

版本与发布记录

@elaraai/east-node-io 共发布 148 个版本,首次发布于 2025/12/04;过去 12 个月发布了 148 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.107latest2026/11/13今天
1.0.1062026/11/094 天前
1.0.1052026/11/085 天前
1.0.1042026/11/067 天前
1.0.1032026/11/049 天前
1.0.1022026/11/0310 天前

其他发布通道:beta → 0.0.1-beta.39。

关于 @elaraai/east-node-io 的常见问题

@elaraai/east-node-io 是什么?

节点上东方语言的 I/O 平台功能

如何安装 @elaraai/east-node-io?

在项目目录运行 npm install @elaraai/east-node-io,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@elaraai/east(1.0.107)、@elaraai/east-node-std(1.0.107)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@elaraai/east-node-io 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@elaraai/east-node-io 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@elaraai/east-node-io 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@elaraai/east-node-io 可以商用吗?

@elaraai/east-node-io 使用 AGPL-3.0-or-later 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

@elaraai/east-node-io 的下载量有多少?

根据 npm 官方下载统计,@elaraai/east-node-io 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,668 次,日均约 122 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@elaraai/east-node-io 还在维护吗?

最新版本 1.0.107 发布于 2026/11/13(今天);至今共发布 148 个版本,其中过去 12 个月发布了 148 个;首次发布于 2025/12/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。