This is an experimental project to evaluate how AssemblyScript could be used as a CDK and should not be used for any production purposes.
Command | |
---|---|
➖ | call_data_append |
➖ | call_funds_add |
➖ | call_new |
➖ | call_perform |
✅ | canister_balance |
✅ | canister_self_copy |
✅ | canister_self_size |
✅ | canister_update |
✅ | canister_query |
✅ | canister_pre_upgrade |
✅ | canister_post_upgrade |
✅ | canister_query |
✅ | debug_print |
✅ | msg_arg_data_copy |
✅ | msg_arg_data_size |
✅ | msg_caller_copy |
✅ | msg_caller_size |
✅ | msg_funds_available |
➖ | msg_funds_refunded |
➖ | msg_funds_accept |
✅ | msg_reject_code |
✅ | msg_reject_msg_size |
✅ | msg_reject_msg_copy |
✅ | msg_reject |
✅ | msg_reply_data_append |
✅ | msg_reply |
✅ | trap |
✅ | stable_write |
✅ | stable_read |
✅ | stable_size |
✅ | stable_grow |
✅ | time |
DFX Primitive | AS Primitive | |
---|---|---|
✅ | Null |
null |
✅ | Bool |
bool |
➖ | Nat |
u∞ |
✅ | Nat8 |
u8 |
✅ | Nat16 |
u16 |
✅ | Nat32 |
u32 |
✅ | Nat64 |
u64 |
➖ | Int |
i∞ |
✅ | Int8 |
i8 |
✅ | Int16 |
i16 |
✅ | Int32 |
i32 |
✅ | Int64 |
i64 |
✅ | Float32 |
f32 |
✅ | Float32 |
f64 |
✅ | Text |
string |
➖ | Reserved |
N/A |
✅ | Empty |
N/A |
- For Int/Nat AS currently does not have an arbitrary length integer
DFX Types | AS Type | |
---|---|---|
✅ | Opt |
Return Only <> Basic Types can't be nullable |
✅ | Vec |
Array<Object> or Object[] (Supports Multi Dimensional) |
✅ | Record |
Models (No Cyclical Relationships) |
➖ | Variant |
TBD |
- TBD Field Types, Reference Types, Method Types
In DFINITY Int and Nat are represented as arbitrary length signed/unsighed integers. BigInt's are currently not supported by cdk-as
.
TBD
- visitor-as - For Encode/Decode