Files
hakorune/plugins/nyash-json-plugin/src/constants.rs
Selfhosting Dev b4f6818f3b refactor: 大型プラグインのモジュール分割によるコード品質向上
nyash-json-plugin:
- 796行の単一ファイルから6モジュール構造へ分割
- constants.rs, provider.rs, doc_box.rs, node_box.rs, tlv_helpers.rs, ffi.rsに責任分離
- 最大ファイルサイズを374行に削減(53%削減)
- 共有状態管理をprovider.rsに集約

nyash-net-plugin:
- 1112行の巨大ファイルから17ファイル構造へ分割
- boxesサブディレクトリでBox実装を整理(server, client, request, response, socket系)
- 最大ファイルサイズを290行に削減(74%削減)
- logging, tlv, http_helpers等の共通機能を独立モジュール化

両プラグインともビルド成功確認済み、完全な後方互換性を維持

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-25 01:57:12 +09:00

32 lines
806 B
Rust

//! Constants and type definitions
// Result codes
pub const OK: i32 = 0;
pub const E_SHORT: i32 = -1;
pub const E_TYPE: i32 = -2;
pub const E_METHOD: i32 = -3;
pub const E_ARGS: i32 = -4;
pub const E_PLUGIN: i32 = -5;
pub const E_HANDLE: i32 = -8;
// Method IDs - JsonDocBox
pub const JD_BIRTH: u32 = 0;
pub const JD_PARSE: u32 = 1;
pub const JD_ROOT: u32 = 2;
pub const JD_ERROR: u32 = 3;
pub const JD_FINI: u32 = u32::MAX;
// Method IDs - JsonNodeBox
pub const JN_BIRTH: u32 = 0;
pub const JN_KIND: u32 = 1;
pub const JN_GET: u32 = 2;
pub const JN_SIZE: u32 = 3;
pub const JN_AT: u32 = 4;
pub const JN_STR: u32 = 5;
pub const JN_INT: u32 = 6;
pub const JN_BOOL: u32 = 7;
pub const JN_FINI: u32 = u32::MAX;
// Type IDs (for Handle TLV)
pub const T_JSON_DOC: u32 = 70;
pub const T_JSON_NODE: u32 = 71;