东节点 IO
节点上东方语言的 I/O 平台功能
东节点 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,数据库和系统操作的功能.
- @elaraai/东节点-std: 控制台、 文件系统、 获取、 加密、 时间、 路径、 随机
- @elaraai/东-北-欧: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, 压缩
- @elaraai/东-节点-cli: 用于在 Node.js 运行 East IR 程序的 CLI
-
东 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代码预览.
- @elaraai/东-伊: 50+ 键入的UI 组件用于布局,窗体,图表,表格,对话框
- @elaraai/ 东- ui- 组件: 带有 Chakra UI v3 样式的反相渲染器
- @elaraai/e3-ui (英语):e3 + UI桥-数据绑定,
e3.ui()任务,显示 - @elaai/e3-ui-组件: 为 e3 API 执行查询钩和预览组件
-
e3——东行发动机: 大规模运行东方管线的持久执行引擎。 类似Git的内容可处理存储,自动记忆,反应数据流,实时监测.
- @elaraai/e3 请检查url=值 (帮助): SDK 用于编写带有打字任务和管道的 E3 包
- @elaraai/e3-core (英语): 对象存储、数据流管弦器、执行状态
- @elaai/e3型: e3 包的共享类型定义
- @elaraai/e3-cli (英语)数字 :
e3 repo, (中文(简体) ),e3 package, (中文(简体) ),e3 workspace, (中文(简体) ),e3 dataflow run, (中文(简体) ),e3 watch, (中文(简体) ),e3 task logs命令 - @elaraai/e3-api-客户端远程 e3 寄存器的 HTTP 客户端
- @elaraai/e3-api-服务器: 用于 e3 寄存器的 REST API 服务器
- @elaraai/e3-api测试: 共享 API 合规测试套件
链接
- 网站数字 : https://elaai.com/ (中文(简体) )
- 东仓库数字 : https://github.com/elaraai/east-workspace/tree/main/libs/east 页面存档备份,存于互联网档案馆
- 问题数字 : https://github.com/elaraai/east-workspace/issues (中文(简体) )
- 电子邮件数字 : 支助@elara.ai
关于埃拉拉
东方由 Elara AI Pty有限公司一个由AI驱动的平台 创造经济数字双胞胎 企业优化业绩。 Elara将业务目标、决定和数据结合起来,以帮助各组织在业务、采购、销售和客户参与以及项目和投资规划方面作出由数据驱动的决定。 东能给以埃拉拉解决方案的计算层,使得复杂的商业逻辑和数据能够以简单,类型安全和可移植的语言来表达.
开发者 Elara AI Pty有限公司。 。 。 .
开发者 Elara AI Pty有限公司