Add complete Tryton RPC client implementation with examples and tests

This commit is contained in:
2025-09-26 14:04:07 -05:00
parent 6543e80525
commit 0771466433
13 changed files with 3333 additions and 0 deletions

72
CHANGELOG.md Normal file
View File

@@ -0,0 +1,72 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.0] - 2025-09-26
### Added
- Initial release of Tryton RPC Client for JavaScript
- Full JSON-RPC implementation compatible with Tryton server
- TrytonClient class with comprehensive API
- Connection pooling support with ServerPool
- Smart caching system with LRU cache and expiration
- Automatic session management and authentication
- Helper methods for CRUD operations (create, read, write, delete)
- Helper methods for search operations (search, searchRead, searchCount)
- Type-safe serialization/deserialization of Tryton data types:
- Date/DateTime objects
- Decimal numbers
- Bytes/Buffer objects
- TimeDelta values
- Comprehensive error handling:
- Fault errors for RPC issues
- ProtocolError for HTTP/connection issues
- ResponseError for invalid responses
- Retry logic for failed requests
- SSL/TLS support
- Configurable timeouts and connection limits
- Verbose logging support
- Multiple example files demonstrating usage
- Complete documentation in README.md
- MIT-compatible dependencies (none required)
### Features
- ✅ Connection management with automatic session handling
- ✅ Pool of reusable connections for efficiency
- ✅ Smart caching with configurable expiration
- ✅ Complete CRUD operation helpers
- ✅ Advanced search functionality
- ✅ Batch operations support
- ✅ Parallel request execution
- ✅ Comprehensive error handling
- ✅ Type safety for Tryton data types
- ✅ Server information methods
- ✅ Cache management utilities
- ✅ Connection cloning support
- ✅ Configurable client options
### Documentation
- Complete API documentation in README.md
- Basic usage examples
- Advanced usage patterns
- Error handling examples
- Configuration options documentation
### Examples
- `examples/basic.js` - Simple usage example
- `examples/test.js` - Comprehensive test suite
- `examples/advanced.js` - Advanced patterns and best practices
### Compatibility
- Node.js >= 12.0.0
- Tryton Server 6.x and 7.x
- JSON-RPC protocol support
- No external dependencies required