Skip to content

Commit

Permalink
fix(didc-js): wasm-pack build targets bundler mode (#578)
Browse files Browse the repository at this point in the history
* fix(didc-js): wasm-pack build targets bundler mode

* bump to 0.0.2

* fix typo
  • Loading branch information
keplervital authored Oct 28, 2024
1 parent 1c1cf80 commit 021b7fc
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 88 deletions.
65 changes: 0 additions & 65 deletions tools/didc-js/README.md
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",
});
```
24 changes: 3 additions & 21 deletions tools/didc-js/wasm-package/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ export const IDL = `
// Example returned value: ['store_number', 'get_number']
const methods = getServiceMethods(IDL);

// Encodes a candid text representation of a value to a hex representation.
// Encodes a candid in text format to a hex representation.
//
// Example returned value: '4449444c016c01c98dea8b0a7801005a00000000000000'
const encoded encode({
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.
// Decodes a hex representation of a candid value to a text format.
//
// Example returned value: '(90 : nat64)'
const decoded = decode({
Expand All @@ -48,21 +48,3 @@ const decoded = decode({
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",
});
```
2 changes: 1 addition & 1 deletion tools/didc-js/wasm-package/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -120,5 +120,5 @@ if [[ "$BUILD_TARGET" == "nodejs" ]]; then
else
echo "Building the library for the web..."

./node_modules/wasm-pack/run.js build --target $BUILD_TARGET --out-name $LIBRARY_NAME --out-dir $OUT_DIR $RUST_BUILD_MODE --no-pack
./node_modules/wasm-pack/run.js build --target bundler --out-name $LIBRARY_NAME --out-dir $OUT_DIR $RUST_BUILD_MODE --no-pack
fi
2 changes: 1 addition & 1 deletion tools/didc-js/wasm-package/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@dfinity/didc",
"description": "Utility tools for candid.",
"version": "0.0.1",
"version": "0.0.2",
"author": "DFINITY Stiftung",
"license": "Apache-2.0",
"repository": "github:dfinity/candid",
Expand Down

0 comments on commit 021b7fc

Please sign in to comment.