@@ -15,93 +15,42 @@ npm install --save @polywrap/client-js
1515
1616## Usage
1717
18- ### Instantiate the client
18+ ### Instantiate
19+
20+ Use the PolywrapClient [ constructor] ( #constructor ) to instantiate the client with the default configuration bundle.
21+
1922``` ts
20- import { PolywrapClient } from " @polywrap/client-js" ;
23+ import { PolywrapClient } from " @polywrap/client-js" ;
2124
22- const client = new PolywrapClient ();
25+ const client = new PolywrapClient ();
2326```
2427
25- ### Invoke a wrapper
28+ ### Configure
29+
30+ Use the ` @polywrap/client-config-builder-js ` package to build a custom configuration for your project.
2631
2732``` ts
28- await client .invoke ({
29- uri: " ens/helloworld.dev.polywrap.eth" ,
30- method: " logMessage" ,
31- args: {
32- message: " Hello World!"
33- }
34- });
33+ const config = new ClientConfigBuilder ().addDefaults ().buildCoreConfig ();
34+
35+ const client = new PolywrapClient (config , { noDefaults: true });
3536```
3637
37- ### Configure the client
38+ ### Invoke
39+
40+ Invoke a wrapper.
3841
3942``` ts
40- const config = {
41- // redirect invocations from one uri to another
42- redirects: [
43- {
44- from: " wrap://ens/from.eth" ,
45- to: " wrap://ens/to.eth" ,
43+ const result = await client .invoke ({
44+ uri: " ens/helloworld.dev.polywrap.eth" ,
45+ method: " logMessage" ,
46+ args: {
47+ message: " Hello World!"
4648 }
47- ],
48- // add embedded Wasm wrappers
49- wrappers: [
50- {
51- uri: " wrap://fs/simple/wrapper/uri/build" ,
52- wrapper: WasmWrapper .from (
53- fs .readFileSync (path .join (simpleWrapperPath , " build/wrap.info" )),
54- fs .readFileSync (path .join (simpleWrapperPath , " build/wrap.wasm" ))
55- )
56- }
57- ],
58- // add and configure embedded plugin wrappers
59- packages: [
60- {
61- uri: " wrap://ens/ipfs.polywrap.eth" ,
62- package: ipfsPlugin ({}),
63- },
64- ],
65- // declare interface implementations
66- interfaces: [
67- {
68- interface: " wrap://ens/uri-resolver.core.polywrap.eth" ,
69- implementations: [
70- " wrap://ens/ipfs-resolver.polywrap.eth" ,
71- ],
72- },
73- ],
74- // set environmental variables for a wrapper
75- envs: [
76- {
77- uri: " wrap://ens/ipfs.polywrap.eth" ,
78- env: {
79- provider: " https://ipfs.wrappers.io" ,
80- },
81- },
82- ],
83- // customize URI resolution
84- resolvers: [
85- new RecursiveResolver (
86- new PackageToWrapperCacheResolver (wrapperCache , [
87- new ExtendableUriResolver (),
88- ])
89- )
90- ],
91-
92- // custom wrapper cache
93- wrapperCache: new WrapperCache (),
94-
95- // tracer configuration - see @polywrap/tracing-js package
96- tracerConfig: { ... },
97- };
98- ```
99- ``` ts
100- // create a client by modifying the default configuration bundle
101- const client = new PolywrapClient (config );
49+ });
50+
51+ if (! result .ok ) throw result .error ;
10252
103- // or remove and replace the default configuration
104- const altClient = new PolywrapClient (config , { noDefaults: true });
53+ const value = result .value ;
10554```
10655
10756# Reference
0 commit comments