Initial Dever 0.0.1

This commit is contained in:
Codex committed 2026-11-03 03:32:07 +00:00
commit 81233d098c
1479 files changed
+163782

No files matched your search

+116
View File
@@ -0,0 +1,116 @@
# 文件与标准输出
File 副本共用游标和关闭状态。文件操作同步执行;异步流程用 blocking,不能在 pure 函数中调用。
## dever.io.OpenResult
打开或新建文件的结果。
分支:
- `Opened(file: dever.system.File)`:成功状态
- `error Failed(message: Text)`:失败原因
## dever.io.ReadState
一次读取可短于请求长度;End 表示文件结束。
分支:
- `Read(bytes: Bytes)`:成功状态
- `End`:成功状态
## dever.io.ReadResult
显式捕获读取失败时保留 ReadState。
分支:
- `Done(state: ReadState)`:成功状态
- `error Failed(message: Text)`:失败原因
## dever.io.SystemReadResult
底层文件读取结果,在库内转换为 ReadState。
分支:
- `Read(bytes: Bytes)`:成功状态
- `End`:成功状态
- `error Failed(message: Text)`:失败原因
## dever.io.WriteResult
写入全部字节或返回失败。
分支:
- `Done`:成功状态
- `error Failed(message: Text)`:失败原因
## dever.io.CloseResult
关闭共享文件句柄或返回失败。关闭不承诺数据已落盘。
分支:
- `Closed`:成功状态
- `error Failed(message: Text)`:失败原因
## dever.io.ReadEvent
流每次产生一个数据块;终止错误只产生一次,然后结束。
分支:
- `Chunk(bytes: Bytes)`:读取的数据
- `error Failed(message: Text)`:读取失败
## dever.io.ReadStreamResult
捕获流创建失败,已创建的流仍按需读取。
分支:
- `Streaming(stream: Stream<ReadEvent>)`:共享游标的同步流
- `error Failed(message: Text)`:创建失败
## dever.io.println
写入文本及换行;标准输出失败为带源码位置的 Fault。
## dever.io.open
以只读方式打开现有文件。失败默认沿调用链传播。
## dever.io.create
新建可读写文件;路径已经存在则失败,绝不截断现有文件。
## dever.io.opened
成功时取得共享文件资源,失败时保留 OpenResult 错误身份。
## dever.io.read
读取最多 limit 字节并推进共享游标;limit 必须为正,EOF 返回 End。
## dever.io.readState
把底层读取结果转换为 ReadState;失败时传播 ReadResult.Failed。
## dever.io.write
写入全部字节;失败使用 WriteResult 传播,空字节同样验证文件是否已关闭。
## dever.io.wrote
成功时无输出,失败时保留 WriteResult 身份。
## dever.io.close
关闭底层文件使所有别名失效;重复关闭失败。最后一个别名离开作用域也会释放文件。
## dever.io.closed
成功时无输出,失败时保留 CloseResult 身份。
## dever.io.chunks
先验证正数 limit 和文件未关闭,再创建按需读取的同步流。close(stream) 幂等,释放源别名但不关闭外部文件别名。
## dever.io.readStream
成功时返回共享流,失败时保留创建错误身份。