豫言 / 豫言操作系统文字规整适配 @ 0.1.0

经云工通用句柄桥调用 JS 的 String 与 RegExp 对象实现文字规整接口。

源码浏览已生成;不能解析的文件以纯文本展示,不表示通过类型检查。

说明.汉语.md

# 文字规整云工适配

四个函数都经云工通用句柄桥调用宿主 JS:适配把输入字符串的 UTF-8 字节交给宿主,由 `TextDecoder`(`ignoreBOM: true`,文首的 U+FEFF 不丢)还原成 JS 字符串,再用 `云工构造对象『String』` 得 String 对象句柄,随后 `云工调用方法` 调 `trim`、`toLowerCase`,`云工读取属性` 读 `length`;`全为字母或数字吗`(0.2.0 新增)另用 `云工构造对象『RegExp』` 造 `/^[\p{L}\p{N}]+$/u` 并对 String 对象调 `test`。结果字符串同样不经豫言的 JSON 解析:宿主返回的 JSON 字面量再交给 `TextEncoder` 编成字节取回,豫言用 `TextDecoder` 还原,所以控制字符、引号、反斜线、U+2028 与 BOM 都精确往返,也不受当前 JSON 库对 `\u` 转义的限制。每次调用用完即释放 String 对象、解码器、编码器和字节句柄,单个事件内可以调用任意多次而不耗尽句柄表。输入上限 1 MiB 由适配在交给宿主之前检查。

真实本地 workerd 实测:`去首尾空白`、`转小写`、`UTF16长度` 的结果与 Node 一致(同为 V8)。综合场景见 `../消息队列/一致性验证/真实工作者/`。

`一致性验证/` 里有试验应用、真实 Wasm 的 Node 测试(含全部 Unicode 码点分块对拍)和复跑说明。

说明.文言.md

# 文字规整云工适配

四术皆经云工通用句柄桥以呼宿主 JS:适配以入文之 UTF-8 字节授宿主,由 `TextDecoder`(`ignoreBOM: true`,文首之 U+FEFF 不失)还为 JS 字符串,复以 `云工构造对象『String』` 得 String 对象之柄,继以 `云工调用方法` 呼 `trim`、`toLowerCase`,以 `云工读取属性` 读 `length`;`全为字母或数字吗`(二版新增)另以 `云工构造对象『RegExp』` 造 `/^[\p{L}\p{N}]+$/u` 而对 String 对象呼 `test`。果文亦不经豫言之 JSON 析:宿主所返之 JSON 字面量再授 `TextEncoder` 编为字节而取回,豫言以 `TextDecoder` 还之,故控制之字、引号、反斜线、U+2028 及 BOM 皆精确往返,亦不受今 JSON 库于 `\u` 转义之限。每呼一次,用毕即释 String 对象、解码器、编码器与字节之柄,故单事之内可屡呼而不竭柄表。入文一 MiB 之限,由适配于授宿主之前验之。

真本地 workerd 实测:`去首尾空白`、`转小写`、`UTF16长度` 之果与 Node 同(皆 V8 也)。综合之场见 `../消息队列/一致性验证/真实工作者/`。

`一致性验证/` 有试应用、真 Wasm 之 Node 测试(含全 Unicode 码点分块对拍)及复行之说明。