feat: add merge_all_wren utility, strutil demo, and 7 new API manual pages

Add WrenFileReader class in apps/merge_all_wren.wren for recursive .wren file discovery and content printing. Introduce example/strutil_demo.wren demonstrating case conversion, hex encoding, SHA256 hashing, string repetition, padding, HTML/JSON escaping, and URL encoding/decoding. Create manual/api pages for argparse, dataset, html, markdown, uuid, wdantic, and web modules. Update manual/api/index.html sidebar and module count from 21 to 28, adding links and cards for the new modules.
This commit is contained in:
2026-01-25 01:47:47 +00:00
parent 5a4054ec66
commit 74ef5cbc11
74 changed files with 7749 additions and 292 deletions
+29
View File
@@ -0,0 +1,29 @@
// retoor <retoor@molodetz.nl>
import "dataset" for Dataset
var ds = Dataset.memory()
var users = ds["users"]
var user = users.insert({"name": "Alice"})
var uid = user["uid"]
System.print(users.count()) // expect: 1
users.delete(uid)
System.print(users.count()) // expect: 0
var softDeleted = ds.db.query("SELECT * FROM users WHERE uid = ?", [uid])
System.print(softDeleted.count) // expect: 1
System.print(softDeleted[0]["deleted_at"] != null) // expect: true
var user2 = users.insert({"name": "Bob"})
var uid2 = user2["uid"]
System.print(users.hardDelete(uid2)) // expect: true
var hardDeleted = ds.db.query("SELECT * FROM users WHERE uid = ?", [uid2])
System.print(hardDeleted.count) // expect: 0
System.print(users.hardDelete("nonexistent")) // expect: false
ds.close()