Skip to content
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

Azle class-based IDL APIs refactor #1837

Open
31 of 36 tasks
lastmjs opened this issue Jun 13, 2024 · 0 comments
Open
31 of 36 tasks

Azle class-based IDL APIs refactor #1837

lastmjs opened this issue Jun 13, 2024 · 0 comments
Milestone

Comments

@lastmjs
Copy link
Member

lastmjs commented Jun 13, 2024

  • Should we export @dfinity/candid IDL, or should we make it a peer dependency??? The versions must be exactly the same, but a peer dependency could probably resolve this
  • query
  • update
  • dynamic method name gathering
  • All canister methods
    • init
    • pre upgrade
    • post upgrade
    • inspect message
    • heartbeat
  • cross-canister calls (just do call or callRaw style...probably call and callRaw are similar)
  • composite queries
  • manual
  • guard functions
  • callRaw
  • make sure context (this) is set correctly on all of the decorators
  • make sure all canister methods handle async appropriately
  • make sure only one class can be the true cannonical canister method class...maybe we need to extend from Canister then?
  • rename canister_syntax in package.json names to functional_syntax
  • get rid of azle/canisters
    • All stable APIs should be imported directly from azle
    • All experimental APIs should be imported directly from azle/experimental
  • ic and canisters need to be in experimental
  • Explore IDL.Type everywhere, we might be able to get some good type checking
  • check if the new native decorators can change param and return types of their functions
  • make sure there are only two possible imports, experimental and azle. Canisters should be under experimental, like icrc, management canister...though maybe we should make a way for people to abstract
  • automatically generate the candid and update all of the examples: change to automatic, remove candid line
  • can guard functions be async?
  • Update esbuild to the lastest version so we we can rid of experimental decorators
    • add vanilla js test back in and make sure it works with new decorators

Other things to consider

@lastmjs lastmjs added this to the 1.0 milestone Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant