-
Notifications
You must be signed in to change notification settings - Fork 81
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(didc-js): wasm-pack build targets bundler mode (#578)
* fix(didc-js): wasm-pack build targets bundler mode * bump to 0.0.2 * fix typo
- Loading branch information
1 parent
1c1cf80
commit 021b7fc
Showing
4 changed files
with
5 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,68 +1,3 @@ | ||
# @dfinity/didc | ||
|
||
A multi-purpose Candid tool for JavaScript projects, including encoding and decoding Candid values. | ||
|
||
## Usage | ||
|
||
```javascript | ||
import { getServiceMethods, encode, decode } from "@dfinity/didc"; | ||
|
||
// The IDL in text format to be used, most canisters expose their IDL through | ||
// the `candid:service` public metadata. | ||
// | ||
// You can fetch the IDL with an agent call or dfx with `dfx canister metadata <canisterId> candid:service` | ||
export const IDL = ` | ||
type StoreNumberInput = record { | ||
number : nat64; | ||
}; | ||
service : { | ||
store_number : (input : StoreNumberInput) -> (); | ||
get_number : () -> (nat64) query; | ||
}; | ||
`; | ||
|
||
// Gets the service methods from the IDL and returns an array of the methods. | ||
// | ||
// Example returned value: ['store_number', 'get_number'] | ||
const methods = getServiceMethods(IDL); | ||
|
||
// Encodes a candid text representation of a value to a hex representation. | ||
// | ||
// Example returned value: '4449444c016c01c98dea8b0a7801005a00000000000000' | ||
const encoded encode({ | ||
idl: IDL, | ||
input: "(record { number=90; })", | ||
serviceMethod: "store_number", | ||
targetFormat: "hex", | ||
}); | ||
// Decodes a hex representation of a candid value to a text representation. | ||
// | ||
// Example returned value: '(90 : nat64)' | ||
const decoded = decode({ | ||
idl: IDL, | ||
input: "4449444c0001785a00000000000000", | ||
serviceMethod: "get_number", | ||
inputFormat: "hex", | ||
targetFormat: "candid", | ||
}); | ||
``` | ||
### Web Usage | ||
For web usage, you need to initialize the async wasm module before using the functions. | ||
```javascript | ||
import init, { encode } from "@dfinity/didc"; | ||
await init(); | ||
// then you can use the functions because the wasm will be initialized | ||
const encoded = encode({ | ||
idl: IDL, | ||
input: "(record { number=90; })", | ||
serviceMethod: "store_number", | ||
targetFormat: "hex", | ||
}); | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters