orpc-bracket-notation
Represent structured data in limited formats such as URL queries and form data.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Represent structured data in limited formats such as URL queries and form data.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Quick reference for Better Notify configuration, patterns, and common gotchas
Interactive setup wizard for adding Better Notify to a TypeScript/JavaScript project
Context and API guidance for Better Notify — end-to-end typed notification infrastructure for Node.js
Seamlessly use AI SDK inside your oRPC projects without any extra overhead.
Use oRPC inside an Astro project.
Functions to encode and decode base64url strings (URL-safe variant of base64).
| name | oRPC Bracket Notation |
| description | Represent structured data in limited formats such as URL queries and form data. |
| license | MIT |
| metadata | {"author":"Ali Torki","homepage":"https://github.com/ali-master","version":"1.0.0"} |
Bracket Notation encodes structured data in formats with limited syntax, like URL queries and form data. It is used by OpenAPIHandler and OpenAPILink.
Same name (>=2 elements) are represented as an array.
color=red&color=blue → { color: ["red", "blue"] }
Append [] at the end to denote an array.
color[]=red&color[]=blue → { color: ["red", "blue"] }
Append [number] to specify an array index (missing indexes create sparse arrays).
color[0]=red&color[2]=blue → { color: ["red", <empty>, "blue"] }
Array indexes must be less than 10,000 by default to prevent memory exhaustion. Configure with
maxBracketNotationArrayIndex.
Append [key] to denote an object property.
color[red]=true&color[blue]=false → { color: { red: true, blue: false } }
curl http://example.com/api/example?name[first]=John&name[last]=Doe
Parsed as:
{ "name": { "first": "John", "last": "Doe" } }
curl -X POST http://example.com/api/example \
-F 'name[first]=John' \
-F 'name[last]=Doe'
curl -X POST http://example.com/api/example \
-F 'data[names][0][first]=John1' \
-F 'data[names][0][last]=Doe1' \
-F 'data[ages][0]=18' \
-F 'data[ages][2]=25' \
-F 'data[files][]=@/path/to/file1'
Parsed as:
{
"data": {
"names": [{ "first": "John1", "last": "Doe1" }],
"ages": ["18", "<empty>", "25"],
"files": ["<binary data>"]
}
}