-
Notifications
You must be signed in to change notification settings - Fork 7
feat: ts api jinja generator #250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
df8e6df to
983b927
Compare
packages/typescript/indexer_client/src/core/FetchHttpRequest.ts
Outdated
Show resolved
Hide resolved
b3ed18f to
6986612
Compare
|
@neilcampbell note current version duplicates SignedTransaction object from core from future branch on utils - for the time being until its movied to the monorepo |
6986612 to
f0fe799
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces TypeScript API client generation for Algorand algod and indexer services through a Jinja-based code generator. The implementation creates comprehensive TypeScript clients that support modern features like msgpack encoding, BigInt handling, and request/response transformation.
Key changes:
- Add TypeScript code generation commands for algod and indexer clients
- Implement comprehensive client libraries with typed models and APIs
- Add msgpack support for Algorand-compliant transaction encoding/decoding
- Include manual test suites for client functionality validation
Reviewed Changes
Copilot reviewed 232 out of 238 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/api_tools/src/main.rs | Adds new CLI commands for TypeScript client generation with cleaning, formatting, and building steps |
| packages/typescript//src/models/.ts | Generated TypeScript type definitions for all API models with proper BigInt support |
| packages/typescript//src/core/.ts | Core HTTP client infrastructure with msgpack, JSON parsing, and request handling |
| packages/typescript//src/apis/.ts | Generated API service classes with comprehensive endpoint coverage |
| packages/typescript//tests/.ts | Manual test suites for client functionality verification |
Comments suppressed due to low confidence (1)
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
packages/typescript/algod_client/src/models/accountapplicationinformation.ts
Outdated
Show resolved
Hide resolved
packages/typescript/algod_client/tests/simulateTransactions.spec.ts
Outdated
Show resolved
Hide resolved
|
@aorumbayev I noticed that the |
|
hi @aorumbayev, I tested the output from this branch and found some possible improvements
|
73124c1 to
bbe4668
Compare
bbe4668 to
3198ae0
Compare
1553069 to
902bb02
Compare
902bb02 to
b1a0745
Compare
eaf4abd to
f3f529a
Compare
should be fixed now |
this should now be consistent with rust, in ts those fields should be uint8arrays and decoder must convert the base64 strings to bytes. |
packages/typescript/algokit_utils/tests/algod/transactionParams.test.ts
Outdated
Show resolved
Hide resolved
4513339 to
6f2b563
Compare
6f2b563 to
f84c538
Compare
|
🎉 This PR is included in version 1.0.0-alpha.68 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Initial version of ts api jinja generator and resulting algod/indexer clients based off algo-fetch from awesomealgo.