diff --git a/assets/navigation.js b/assets/navigation.js index ffe6a2bcd6..7ff1dac18d 100644 --- a/assets/navigation.js +++ b/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/assets/search.js b/assets/search.js index 9bccfe967f..ba7613244c 100644 --- a/assets/search.js +++ b/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/classes/core.ActorManager.html b/classes/core.ActorManager.html deleted file mode 100644 index a2747ce556..0000000000 --- a/classes/core.ActorManager.html +++ /dev/null @@ -1,59 +0,0 @@ -ActorManager | ic-reactor -

Class ActorManager<A>

Type Parameters

Constructors

Properties

_actor: null | A = null
_agentManager: AgentManager
canisterId: types.CanisterId
actorStore: types.ActorStore<A>
visitFunction: types.VisitService<A>
initialState: types.ActorState<A> = ...
getState: (() => types.ActorState<A>) = ...

Type declaration

subscribeActorState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

setState: ((partial, replace?) => void) = ...

Type declaration

Accessors

Methods

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/classes/core.AgentManager.html b/classes/core.AgentManager.html deleted file mode 100644 index 4f76d062e5..0000000000 --- a/classes/core.AgentManager.html +++ /dev/null @@ -1,64 +0,0 @@ -AgentManager | ic-reactor -

Class AgentManager

Hierarchy (view full)

Constructors

Properties

_subscribers: ((agent) => void)[] = []

Type declaration

agentStore: types.AgentStore
authStore: types.AuthStore
isLocalEnv: boolean
initialAgentState: types.AgentState = ...
initialAuthState: types.AuthState = ...
getAgentState: (() => types.AgentState) = ...

Type declaration

subscribeAgentState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthState: (() => types.AuthState) = ...

Type declaration

subscribeAuthState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

Methods

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/classes/core.CandidAdapter.html b/classes/core.CandidAdapter.html deleted file mode 100644 index 9fdd3cf9e3..0000000000 --- a/classes/core.CandidAdapter.html +++ /dev/null @@ -1,48 +0,0 @@ -CandidAdapter | ic-reactor -

Class CandidAdapter

Constructors

Properties

didjsCanisterId: string

Methods

  • Returns "bd3sg-teaaa-aaaaa-qaaba-cai" | "a4gq6-oaaaa-aaaab-qaa4q-cai"

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/classes/core.classes.ActorManager.html b/classes/core.classes.ActorManager.html new file mode 100644 index 0000000000..8cfbeba220 --- /dev/null +++ b/classes/core.classes.ActorManager.html @@ -0,0 +1,59 @@ +ActorManager | ic-reactor +

Type Parameters

Constructors

Properties

_actor: null | A = null
_agentManager: classes.AgentManager
canisterId: types.CanisterId
actorStore: types.ActorStore<A>
visitFunction: types.VisitService<A>
initialState: types.ActorState<A> = ...
getState: (() => types.ActorState<A>) = ...

Type declaration

subscribeActorState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

setState: ((partial, replace?) => void) = ...

Type declaration

Accessors

Methods

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/classes/core.classes.AgentManager.html b/classes/core.classes.AgentManager.html new file mode 100644 index 0000000000..c26181157c --- /dev/null +++ b/classes/core.classes.AgentManager.html @@ -0,0 +1,64 @@ +AgentManager | ic-reactor +

Hierarchy (view full)

Constructors

Properties

_subscribers: ((agent) => void)[] = []

Type declaration

agentStore: types.AgentStore
authStore: types.AuthStore
isLocalEnv: boolean
initialAgentState: types.AgentState = ...
initialAuthState: types.AuthState = ...
getAgentState: (() => types.AgentState) = ...

Type declaration

subscribeAgentState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthState: (() => types.AuthState) = ...

Type declaration

subscribeAuthState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

Methods

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/classes/core.classes.CandidAdapter.html b/classes/core.classes.CandidAdapter.html new file mode 100644 index 0000000000..f141f7bcf2 --- /dev/null +++ b/classes/core.classes.CandidAdapter.html @@ -0,0 +1,48 @@ +CandidAdapter | ic-reactor +

Constructors

Properties

didjsCanisterId: string

Methods

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/classes/core.types.AuthClient.html b/classes/core.types.AuthClient.html index ca83df0938..ed11e37ad2 100644 --- a/classes/core.types.AuthClient.html +++ b/classes/core.types.AuthClient.html @@ -59,7 +59,7 @@

Example

const
  • Parameters

    • Optional options: {
          returnTo?: string;
      }
      • Optional returnTo?: string

    Returns Promise<void>

Generated using TypeDoc
+

Type Parameters

Constructors

Properties

_actor: any
_idlFactory: any
_agentManager: any
canisterId: types.CanisterId
actorStore: types.ActorStore<A>
visitFunction: types.VisitService<A>
initialState: any
updateState: any
updateMethodState: ((method, hash, newState) => void)

Type declaration

initialize: ((options?) => Promise<void>)

Type declaration

initializeActor: any
callMethod: (<M>(functionName, ...args) => Promise<types.ActorMethodReturnType<A[M]>>)

Type declaration

getActor: (() => null | A)

Type declaration

    • (): null | A
    • Returns null | A

getState: (() => types.ActorState<A>)

Type declaration

subscribeActorState: ((listener) => (() => void))

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

setState: ((partial, replace?) => void)

Type declaration

Accessors

Methods

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/classes/react.types.AgentManager.html b/classes/react.types.AgentManager.html new file mode 100644 index 0000000000..04a120810d --- /dev/null +++ b/classes/react.types.AgentManager.html @@ -0,0 +1,64 @@ +AgentManager | ic-reactor +

Hierarchy (view full)

Constructors

Properties

_agent: any
_subscribers: any
agentStore: types.AgentStore
authStore: types.AuthStore
isLocalEnv: boolean
initialAgentState: any
initialAuthState: any
updateAgentState: any
updateAuthState: any
initializeAgent: any
subscribeAgent: ((callback) => (() => void))

Type declaration

    • (callback): (() => void)
    • Parameters

      • callback: ((agent) => void)

      Returns (() => void)

        • (): void
        • Returns void

unsubscribeAgent: ((callback) => void)

Type declaration

    • (callback): void
    • Parameters

      • callback: ((agent) => void)

      Returns void

notifySubscribers: any
updateAgent: ((options?) => Promise<void>)

Type declaration

authenticate: (() => Promise<types.Identity>)

Type declaration

getAgent: (() => types.HttpAgent)

Type declaration

getAgentState: (() => types.AgentState)

Type declaration

subscribeAgentState: ((listener) => (() => void))

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthState: (() => types.AuthState)

Type declaration

subscribeAuthState: ((listener) => (() => void))

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthClient: (() => null | types.AuthClient)

Type declaration

getIdentity: (() => null | types.Identity)

Type declaration

getPrincipal: (() => null | types.Principal)

Type declaration

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/classes/react.types.AuthClient.html b/classes/react.types.AuthClient.html index df353cb4f3..fa63831ccc 100644 --- a/classes/react.types.AuthClient.html +++ b/classes/react.types.AuthClient.html @@ -59,7 +59,7 @@

Example

const
  • Parameters

    • Optional options: {
          returnTo?: string;
      }
      • Optional returnTo?: string

    Returns Promise<void>

Generated using TypeDoc

Class VisitDetails<A>

Visit the candid file and extract the details. It returns the extracted service details.

-

Type Parameters

Hierarchy (view full)

Constructors

Type Parameters

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

counter: number = 0
visitedRecursive: Record<string, true> = {}
visitInt: (<T>(t, __label) => InputDetails) = ...

Type declaration

visitNat: (<T>(t, __label) => InputDetails) = ...

Type declaration

visitFloat: (<T>(t, __label) => InputDetails) = ...

Type declaration

visitFixedInt: (<T>(t, __label) => InputDetails) = ...

Type declaration

visitFixedNat: (<T>(t, __label) => InputDetails) = ...

Type declaration

Methods

Generated using TypeDoc
+

Constructors

Properties

counter: number = 0
visitedRecursive: Record<string, true> = {}
visitInt: (<T>(t, __label) => InputDetails) = ...

Type declaration

visitNat: (<T>(t, __label) => InputDetails) = ...

Type declaration

visitFloat: (<T>(t, __label) => InputDetails) = ...

Type declaration

visitFixedInt: (<T>(t, __label) => InputDetails) = ...

Type declaration

visitFixedNat: (<T>(t, __label) => InputDetails) = ...

Type declaration

Methods

Generated using TypeDoc

Class VisitFields<A, M>

Visit the candid file and extract the fields. It returns the extracted service fields.

-

Type Parameters

Hierarchy (view full)

Constructors

Type Parameters

Hierarchy (view full)

Constructors

Methods

Generated using TypeDoc
+

Constructors

Methods

Generated using TypeDoc

Class VisitRandomArgs<A>

Visit the candid file and extract the fields. It returns the extracted service fields.

-

Type Parameters

Hierarchy (view full)

Constructors

Type Parameters

Hierarchy (view full)

Constructors

Properties

savedRec: Record<string, unknown> = {}

Methods

  • Type Parameters

    • T

    Parameters

    Returns unknown

  • Parameters

    Returns unknown

  • Type Parameters

    • T

    Parameters

    Returns unknown

Generated using TypeDoc
+

Constructors

Properties

savedRec: Record<string, unknown> = {}

Methods

  • Type Parameters

    • T

    Parameters

    Returns unknown

  • Parameters

    Returns unknown

  • Type Parameters

    • T

    Parameters

    Returns unknown

Generated using TypeDoc

Class VisitRandomResponse<A>

Visit the candid file and extract the fields. It returns the extracted service fields.

-

Type Parameters

Hierarchy (view full)

Constructors

Type Parameters

Hierarchy (view full)

Constructors

Properties

savedRec: Record<string, unknown> = {}

Methods

  • Parameters

    Returns unknown

  • Type Parameters

    • T

    Parameters

    Returns unknown

Generated using TypeDoc
+

Constructors

Properties

savedRec: Record<string, unknown> = {}

Methods

  • Parameters

    Returns unknown

  • Type Parameters

    • T

    Parameters

    Returns unknown

Generated using TypeDoc

Class VisitTransform<A, M>

Visit the candid file and extract the fields. It returns the extracted service fields.

-

Type Parameters

Hierarchy (view full)

Constructors

Type Parameters

Hierarchy (view full)

Constructors

Methods

  • Type Parameters

    • T

    Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Type Parameters

    • T

    Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

Generated using TypeDoc
+

Constructors

Methods

  • Type Parameters

    • T

    Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Type Parameters

    • T

    Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

Generated using TypeDoc

Class VisitTransformTable<A, M>

Visit the candid file and extract the fields. It returns the extracted service fields.

-

Type Parameters

Hierarchy (view full)

Constructors

Type Parameters

Hierarchy (view full)

Constructors

Methods

  • Type Parameters

    • T

    Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Type Parameters

    • T

    Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

Generated using TypeDoc
+

Constructors

Methods

  • Type Parameters

    • T

    Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

  • Type Parameters

    • T

    Parameters

    Returns MethodResult<A, M>

  • Parameters

    Returns MethodResult<A, M>

Generated using TypeDoc
-

Function createActorManager

Generated using TypeDoc
-

Function createAgentManager

Generated using TypeDoc
-

Function createCandidAdapter

  • The CandidAdapter class is used to interact with a canister and retrieve its Candid interface definition. +

    Function createCandidAdapter

    • The CandidAdapter class is used to interact with a canister and retrieve its Candid interface definition. It provides methods to fetch the Candid definition either from the canister's metadata or by using a temporary hack method. If both methods fail, it throws an error.

      Example


      import { createCandidAdapter } from "@ic-reactor/core"
      import { agentManager } from "./agent"

      const candidAdapter = createCandidAdapter({ agentManager })

      const canisterId = "ryjl3-tyaaa-aaaaa-aaaba-cai"

      // Usage example
      try {
      const definition = await candidAdapter.getCandidDefinition(canisterId)
      console.log(definition)
      } catch (error) {
      console.error(error)
      } @@ -7,10 +7,10 @@

      Using createReactorCore with CandidAdapter

      You can use the candidAdapter to fetch the Candid definition and then pass it to the createReactorCore function.

      import { createReactorCore, createCandidAdapter } from "@ic-reactor/core"
      import { agentManager } from "./agent"

      const candidAdapter = createCandidAdapter({ agentManager })

      const canisterId = "ryjl3-tyaaa-aaaaa-aaaba-cai" // NNS ICP Ledger Canister

      // Usage example
      try {
      const { idlFactory } = await candidAdapter.getCandidDefinition(canisterId)
      const { callMethod } = createReactorCore({
      agentManager,
      canisterId,
      idlFactory,
      })

      const name = await callMethod("name")
      console.log(name) // { name: 'Internet Computer' }
      } catch (error) {
      console.error(error)
      }
      -

      Parameters

      Returns CandidAdapter

    Generated using TypeDoc
    +

    Parameters

    Returns CandidAdapter

Generated using TypeDoc
-

Function createReactorCore

  • The Core module is the main entry point for the library. +

    Function createReactorCore

    • The Core module is the main entry point for the library. Create a new actor manager with the given options. Its create a new agent manager if not provided.

      Example


      import { createReactorCore } from "@ic-reactor/core"
      import { candid, canisterId, idlFactory } from "./declarations/candid"

      type Candid = typeof candid

      const { queryCall, updateCall, getPrincipal, login } =
      createReactorCore<Candid>({
      canisterId,
      idlFactory,
      withProcessEnv: true, // will use process.env.DFX_NETWORK
      }) @@ -7,10 +7,10 @@

      You can find All available methods are returned from the createReactorCore function here: ReactorCore

      // later in your code
      await login({
      onSuccess: () => {
      console.log("Logged in successfully")
      },
      onError: (error) => {
      console.error("Failed to login:", error)
      },
      })

      // queryCall, will automatically call and return a promise with the result
      const { dataPromise, call } = queryCall({
      functionName: "icrc1_balance_of",
      args: [{ owner: getPrincipal(), subaccount: [] }],
      })

      console.log(await dataPromise)

      // updateCall
      const { call, subscribe } = updateCall({
      functionName: "icrc1_transfer",
      args: [
      {
      to: { owner: getPrincipal(), subaccount: [] },
      amount: BigInt(10000000000),
      fee: [],
      memo: [],
      created_at_time: [],
      from_subaccount: [],
      },
      ],
      })
      // subscribe to the update call
      subscribe(({ loading, error, data }) => {
      console.log({ loading, error, data })
      })

      const result = await call()
      console.log(result)
      -

      Type Parameters

      Parameters

      Returns types.ReactorCore<A>

    Generated using TypeDoc
    +

    Type Parameters

    Returns types.CreateReactorCoreReturnType<A>

Generated using TypeDoc
-

Function createReactorStore

  • Create a new actor manager with the given options. +

    Function createReactorStore

    • Create a new actor manager with the given options. Its create a new agent manager if not provided. It also creates a new actor manager with the given options.

      Example


      import { createReactorStore } from "@ic-reactor/core"
      import { candid, canisterId, idlFactory } from "./declarations/candid"

      type Candid = typeof candid

      const { agentManager, callMethod } = createReactorStore<Candid>({
      canisterId,
      idlFactory,
      })

      // Usage example
      await agentManager.authenticate()
      const authClient = agentManager.getAuthClient()

      authClient?.login({
      onSuccess: () => {
      console.log("Logged in successfully")
      },
      onError: (error) => {
      console.error("Failed to login:", error)
      },
      })

      // Call a method
      const version = callMethod("version")

      console.log("Response from version method:", await version)
      -

      Type Parameters

      Parameters

      Returns ActorManager<A>

    Generated using TypeDoc
    +

    Type Parameters

    Returns classes.ActorManager<A>

Generated using TypeDoc
-

Function createStoreWithOptionalDevtools

  • Type Parameters

    • T

    Parameters

    • initialState: T
    • options: StoreOptions

    Returns WithDevtools<StoreApi<T>>

Generated using TypeDoc
+

Function createStoreWithOptionalDevtools

  • Type Parameters

    • T

    Parameters

    • initialState: T
    • config: StoreParameters

    Returns WithDevtools<StoreApi<T>>

Generated using TypeDoc
-

Function generateActorHash

Generated using TypeDoc
+

Function generateActorHash

Generated using TypeDoc
-

Function generateHash

Generated using TypeDoc
+

Function generateHash

Generated using TypeDoc
-

Function generateRequestHash

Generated using TypeDoc
+

Function generateRequestHash

Generated using TypeDoc
-

Function isInLocalOrDevelopment

Generated using TypeDoc
+

Function isInLocalOrDevelopment

Generated using TypeDoc
-

Function jsonToString

Generated using TypeDoc
+

Function jsonToString

Generated using TypeDoc
-

Function stringToHash

Generated using TypeDoc
+

Function stringToHash

Generated using TypeDoc
-

Function ActorProvider

Properties

propTypes? +

Function ActorProvider

Properties

propTypes? contextTypes? defaultProps? displayName? @@ -26,7 +26,7 @@

Example


const

Generated using TypeDoc
-

Function AgentProvider

Properties

propTypes? +

Function AgentProvider

Properties

propTypes? contextTypes? defaultProps? displayName? @@ -26,7 +26,7 @@

Example


const

Generated using TypeDoc
-

Function createActorManager

  • Actor manager handles the lifecycle of the actors. +

    Function createActorManager

    • Actor manager handles the lifecycle of the actors. It is responsible for creating and managing the actors. You can use it to call and visit the actor's methods. It also provides a way to interact with the actor's state.

      Example


      // actor.ts
      import { createActorManager } from "@ic-reactor/core"
      import { candid, canisterId, idlFactory } from "./declarations/candid"
      import { agentManager } from "./agent"

      type Candid = typeof candid

      const candidActor = createActorManager<Candid>({
      agentManager,
      canisterId,
      idlFactory,
      })

      // Usage example
      const data = await candidActor.callMethod("version")
      console.log(data)
      -

      Type Parameters

      Parameters

      Returns ActorManager<A>

    Generated using TypeDoc
    +

    Type Parameters

    Parameters

    Returns types.ActorManager<A>

Generated using TypeDoc
-

Function createAgentManager

  • Agent manager handles the lifecycle of the @dfinity/agent. +

    Function createAgentManager

    • Agent manager handles the lifecycle of the @dfinity/agent. It is responsible for creating agent and managing the agent's state. You can use it to subscribe to the agent changes. login and logout to the internet identity.

      @@ -12,10 +12,10 @@

      Alternatively, you can specify a host directly:

      // agent.ts
      import { createAgentManager } from "@ic-reactor/core"

      export const agentManager = createAgentManager({
      host: "http://localhost:8000",
      })
      -

      Parameters

      Returns AgentManager

    Generated using TypeDoc
    +

    Parameters

    Returns types.AgentManager

Generated using TypeDoc
-

Function createCandidAdapter

  • The CandidAdapter class is used to interact with a canister and retrieve its Candid interface definition. +

    Function createCandidAdapter

    • The CandidAdapter class is used to interact with a canister and retrieve its Candid interface definition. It provides methods to fetch the Candid definition either from the canister's metadata or by using a temporary hack method. If both methods fail, it throws an error.

      Example


      import { createCandidAdapter } from "@ic-reactor/core"
      import { agentManager } from "./agent"

      const candidAdapter = createCandidAdapter({ agentManager })

      const canisterId = "ryjl3-tyaaa-aaaaa-aaaba-cai"

      // Usage example
      try {
      const definition = await candidAdapter.getCandidDefinition(canisterId)
      console.log(definition)
      } catch (error) {
      console.error(error)
      } @@ -7,10 +7,10 @@

      Using createReactorCore with CandidAdapter

      You can use the candidAdapter to fetch the Candid definition and then pass it to the createReactorCore function.

      import { createReactorCore, createCandidAdapter } from "@ic-reactor/core"
      import { agentManager } from "./agent"

      const candidAdapter = createCandidAdapter({ agentManager })

      const canisterId = "ryjl3-tyaaa-aaaaa-aaaba-cai" // NNS ICP Ledger Canister

      // Usage example
      try {
      const { idlFactory } = await candidAdapter.getCandidDefinition(canisterId)
      const { callMethod } = createReactorCore({
      agentManager,
      canisterId,
      idlFactory,
      })

      const name = await callMethod("name")
      console.log(name) // { name: 'Internet Computer' }
      } catch (error) {
      console.error(error)
      }
      -

      Parameters

      Returns CandidAdapter

    Generated using TypeDoc
    +

    Parameters

    Returns CandidAdapter

Generated using TypeDoc
-

Function createReactorStore

  • Create a new actor manager with the given options. +

    Function createReactorStore

    • Create a new actor manager with the given options. Its create a new agent manager if not provided. It also creates a new actor manager with the given options.

      Example


      import { createReactorStore } from "@ic-reactor/core"
      import { candid, canisterId, idlFactory } from "./declarations/candid"

      type Candid = typeof candid

      const { agentManager, callMethod } = createReactorStore<Candid>({
      canisterId,
      idlFactory,
      })

      // Usage example
      await agentManager.authenticate()
      const authClient = agentManager.getAuthClient()

      authClient?.login({
      onSuccess: () => {
      console.log("Logged in successfully")
      },
      onError: (error) => {
      console.error("Failed to login:", error)
      },
      })

      // Call a method
      const version = callMethod("version")

      console.log("Response from version method:", await version)
      -

      Type Parameters

      Parameters

      Returns ActorManager<A>

    Generated using TypeDoc
    +

    Type Parameters

    Returns types.ActorManager<A>

Generated using TypeDoc
-

Function createActorContext

Generated using TypeDoc
+

Function createActorContext

  • Creates a React context specifically designed for managing the state and interactions with an actor on the Internet Computer (IC) blockchain. +This context facilitates the dynamic creation and management of IC actors within React applications, leveraging the provided configuration options.

    +

    Type Parameters

    Parameters

    Returns CreateActorContextReturnType<A>

    An object containing the ActorProvider component and various hooks for interacting with the actor.

    +
      +
    • ActorProvider: A context provider component that allows child components to access and interact with the configured actor.
    • +
    • Hooks: Custom hooks derived from the actor context, facilitating interactions like querying or updating the actor's state.
    • +
    +

    Example

    import React from 'react';
    import { createActorContext } from '@ic-reactor/react';
    import { backend, canisterId, idlFactory } from './declarations/candid'; // Assuming 'declarations/candid' is where your actor interface is defined.

    // Initialize the actor context with configuration options
    const { ActorProvider, useActorState, useQueryCall, useUpdateCall } = createActorContext<typeof backend>({
    canisterId,
    idlFactory, // Optional
    });

    // A sample component that utilizes the actor context
    const App = () => (
    <AgentProvider>
    <ActorProvider>
    <div>
    <h1>IC Actor Interaction Example</h1>
    <ActorComponent />
    </div>
    </ActorProvider>
    </AgentProvider>
    );

    export default App;

    // A sample component that uses the actor hooks
    const ActorComponent = () => {
    const { data, loading, error } = useQueryCall({
    functionName: 'backendMethodName',
    args: [],
    refetchInterval: 10000,
    refetchOnMount: true,
    });

    return (
    <div>
    {loading && <p>Loading...</p>}
    {error && <p>Error: {error.message}</p>}
    {data && <p>Actor data: {data}</p>}
    </div>
    );
    }; +
    +

    This function streamlines the process of setting up a context for IC actor interactions within a React app, making it easier +to manage actor state and perform actions such as queries or updates. It abstracts away the complexities involved in directly +managing IC agents and actors, providing a simple, declarative API for developers.

    +

Generated using TypeDoc
-

Function createAgentContext

Generated using TypeDoc
+

Function createAgentContext

  • Creates a React context for managing IC agent and authentication states, providing hooks for interacting with the IC blockchain. +This function initializes an AgentContext with a set of utilities and hooks based on the provided agent configuration.

    +

    Parameters

    Returns CreateAgentContextReturnType

    An object containing the AgentProvider component and various hooks for interacting with the agent and authentication state. +The AgentProvider component is a React context provider that should wrap your app or components needing access to agent functionalities.

    +

    Usage:

    +
      +
    • AgentProvider: React component to provide agent context to your application.
    • +
    • useAgent, useAuthClient, useAuthState, useAgentState, useAgentManager, useUserPrincipal: Hooks extracted from the created context for managing agent and authentication state within components.
    • +
    +

    Example

    // agent.ts
    import { createAgentContext } from "@ic-reactor/react";
    import { CreateAgentParameters } from "@ic-reactor/react/dist/types";

    // Optional: Define custom agent configuration
    const agentConfig: CreateAgentParameters = {
    host: "https://localhost:8000",
    // or
    // isLocalEnv: true,
    // port: 8000,
    };

    export const {
    AgentProvider,
    useAgent,
    useAuthClient,
    useAuthState,
    useAgentState,
    useAgentManager,
    useUserPrincipal,
    } = createAgentContext(agentConfig);

    // Now you can use the returned hooks in your React components

    // App.tsx
    import React from 'react';
    import { AgentProvider } from './agent';

    const App = () => (
    <AgentProvider>
    <Login />
    <YourActor />
    </AgentProvider>
    );

    const Login = () => {
    const { login } = useAuthClient()
    const principal = useUserPrincipal()

    return (
    <div>
    <button onClick={() => login()}>Login</button>
    <p>User: {principal?.toText()}</p>
    </div>
    )
    };
    +
    +

    This setup allows you to use the agent and authentication hooks within +the components wrapped by AgentProvider, facilitating interaction +with the Internet Computer blockchain.

    +

Generated using TypeDoc
-

Function createReactor

Generated using TypeDoc
+

Function createReactor

  • Initializes and configures the reactor environment for interacting with the Internet Computer (IC) blockchain within a React application. +It encapsulates the creation of actors, authentication, and agent management, offering a streamlined interface for blockchain interactions.

    +

    Type Parameters

    Parameters

    • config: CreateReactorParameters

      Configuration config for the reactor, including:

      +
        +
      • withProcessEnv (optional): Specifies whether to use process environment variables to determine if the environment is local or development. Defaults to false.
      • +
      • isLocalEnv (optional): Indicates if the current environment is local or development, influencing the agent and actor behavior. Useful for testing or development.
      • +
      • port (optional): Port number for the local or development environment. + Extends CreateReactorStoreParameters which includes HTTP agent config, actor manager config (excluding agentManager), and an optional custom agent manager.
      • +
      +

    Returns CreateReactorReturnType<A>

    An object containing various hooks and utilities:

    +
      +
    • getAgent: Function to retrieve the configured IC agent.
    • +
    • getVisitFunction: Function to access the visit function from the actor manager, used for visitor pattern implementations.
    • +
    • Includes actor, auth, and agent hooks for state management, authentication, and agent operations.
    • +
    +

    Example

    import { createReactor } from "@ic-reactor/react";
    import type { CreateReactorCoreParameters } from "@ic-reactor/react/dist/types";
    import { canisterId, idlFactory, yourActor } from "./declaration/yourActor"

    const config: CreateReactorCoreParameters = {
    canisterId,
    idlFactory,
    host: "https://localhost:8000", // IC network host |
    isLocalEnv: true, // Set true for local network | one of these
    withProcessEnv: true, // Use process.env to determine host |
    port: 8000, // Port number for local network |
    };

    export type YourActor = typeof yourActor;

    export const { useAuthClient, useQueryCall, useUpdateCall } = createReactor<YourActor>(config);
    // Now you can use the returned hooks in your React components +
    +

Generated using TypeDoc
-

Type alias ActorQueryArgs<A, M>

ActorQueryArgs<A, M>: {
    functionName: M;
    args?: types.ActorMethodArgs<A[M]>;
    refetchOnMount?: boolean;
    refetchInterval?: number | false;
}

Type Parameters

Type declaration

  • functionName: M
  • Optional args?: types.ActorMethodArgs<A[M]>
  • Optional refetchOnMount?: boolean
  • Optional refetchInterval?: number | false

Generated using TypeDoc
+actorHooks | ic-reactor +

  • Provides a set of React hooks designed for interacting with actors in an Internet Computer (IC) project using the React framework and Zustand for state management.

    +

    Type Parameters

    Parameters

    • actorManager: types.ActorManager<A>

      An instance of ActorManager containing methods and properties to manage actors, including the actorStore, canisterId, visitFunction, callMethod, and initialize function.

      +

    Returns ActorHooksReturnType<A>

    An object containing several hooks and utility functions for interacting with actors, managing state, and invoking actor methods.

    +

    Hooks included:

    +
      +
    • initialize: Function to initialize actor management.
    • +
    • useActorState: Hook for accessing the actor's state including the canister ID.
    • +
    • useVisitMethod: Hook for memoizing a method visit service for a given actor method name.
    • +
    • useQueryCall: Hook specifically designed for query calls to actors with features such as automatic refetching on mount and at specified intervals.
    • +
    • useUpdateCall: Hook specifically designed for update calls to actors with features such as error handling and loading state management.
    • +
    +

    Each hook is designed to simplify the process of interacting with actors in IC projects by abstracting away the complexity of state management, error handling, and method invocation.

    +

Generated using TypeDoc
-

Type alias ActorMethodArgs<T>

ActorMethodArgs<T>: T extends types.ActorMethod<infer Args, any>
    ? Args
    : never

Type Parameters

  • T

Generated using TypeDoc
+agentHooks | ic-reactor +

Generated using TypeDoc
-

Generated using TypeDoc
+authHooks | ic-reactor +

Generated using TypeDoc
-

Type alias ActorUpdateArgs<A, M>

ActorUpdateArgs<A, M>: {
    functionName: M;
    args?: types.ActorMethodArgs<A[M]>;
}

Type Parameters

Type declaration

Generated using TypeDoc
+extractActorContext | ic-reactor +

Function extractActorContext

Generated using TypeDoc
-

Function extractAgentHooks

  • This function facilitates the use of contextually provided agent functionalities, +extractAgentContext | ic-reactor +

    Function extractAgentContext

    • This function facilitates the use of contextually provided agent functionalities, such as managing the agent's state, authentication state, and user principal.

      Parameters

      • agentContext: Context<null | AgentContext>

        A React context object of type AgentContext or null, typically provided by an AgentProvider at a higher level in the component tree.

        -

      Returns Omit<CreateAgentContextReturn, "AgentProvider">

      An object containing the following hooks:

      +

Returns Omit<CreateAgentContextReturnType, "AgentProvider">

An object containing the following hooks:

  • useAgent: Hook for accessing the current agent instance.
  • useAuthState: Hook for accessing the current authentication state.
  • @@ -20,10 +20,10 @@

Integration

To use these hooks, ensure your components are wrapped in an AgentProvider that you've set up to supply the AgentContext. This context provides the necessary agent functionalities and state management capabilities required by the hooks.

-

Generated using TypeDoc
-

Function useReactor

  • A comprehensive hook that manages both the fetching of Candid interfaces +useActor | ic-reactor +

    Function useActor

    • A comprehensive hook that manages both the fetching of Candid interfaces and the initialization of actor stores for Internet Computer (IC) canisters. It simplifies the process of interacting with canisters by encapsulating the logic for Candid retrieval and actor store management.

      -

      By using this hook, you can create have full control over the lifecycle of -the actor store and the Candid interface. This hook is useful when you need -to manage the lifecycle of the actor store and Candid interface yourself.

      -

      Type Parameters

      Parameters

      Returns UseReactorReturn<A>

      Example

      import { AgentProvider, extractActorHooks, useReactor } from "@ic-reactor/react"
      import { createContext } from "react"
      import type { ActorHooks } from "@ic-reactor/react/dist/types"
      // With this import, you can have type safety for the actor's interface.
      // You can get it from the `.did.d.ts` file generated by the DFX tool.
      // or from dashboard https://dashboard.internetcomputer.org/canisters/<canister-id>
      import type { Ledger } from "../declarations/ledger"

      const ActorContext = createContext<ActorHooks<Ledger> | null>(null)

      const { useQueryCall } = extractActorHooks(ActorContext)

      const Reactor = () => {
      const { hooks, fetching, fetchError } = useReactor<Ledger>({
      canisterId: "ryjl3-tyaaa-aaaaa-aaaba-cai",
      })

      return (
      <ActorContext.Provider value={hooks}>
      <h2>IC Canister Interaction</h2>
      {fetching && <p>Loading Candid interface...</p>}
      {fetchError && <p>Error: {fetchError}</p>}
      {hooks && <CanisterName />}
      </ActorContext.Provider>
      )
      }

      const CanisterName = () => {
      const { data } = useQueryCall({
      functionName: "name",
      })

      return (
      <div>
      <h3>Query Call</h3>
      <p>Result: {JSON.stringify(data)}</p>
      </div>
      )
      }

      const App = () => (
      <AgentProvider withDevtools>
      <Reactor />
      </AgentProvider>
      )

      export default App
      +

      You can use react context to share the actor hooks across your application.

      +

      Type Parameters

      Parameters

      Returns UseActorReturn<A>

      Example

      import { AgentProvider, extractActorHooks, useActor } from "@ic-reactor/react"
      import { createContext } from "react"
      import type { ActorHooks } from "@ic-reactor/react/dist/types"
      // With this import, you can have type safety for the actor's interface.
      // You can get it from the `.did.d.ts` file generated by the DFX tool.
      // or from dashboard https://dashboard.internetcomputer.org/canisters/<canister-id>
      import type { Ledger } from "../declarations/ledger"

      const ActorContext = createContext<ActorHooks<Ledger> | null>(null)

      export const { useQueryCall, useUpdateCall } = extractActorHooks(ActorContext)

      const LedgerActor = () => {
      const { hooks, fetching, fetchError } = useActor<Ledger>({
      canisterId: "ryjl3-tyaaa-aaaaa-aaaba-cai", // ICP Ledger canister
      })

      return (
      <ActorContext.Provider value={hooks}>
      <h2>IC Canister Interaction</h2>
      {fetching && <p>Loading Candid interface...</p>}
      {fetchError && <p>Error: {fetchError}</p>}
      {hooks && <CanisterName />}
      </ActorContext.Provider>
      )
      }
      // later in the code
      const CanisterName = () => {
      const { data } = useQueryCall({
      functionName: "name",
      })

      return (
      <div>
      <h3>Query Call</h3>
      <p>Result: {JSON.stringify(data)}</p>
      </div>
      )
      }

      const App = () => (
      <AgentProvider withDevtools>
      <LedgerActor />
      </AgentProvider>
      )

      export default App
      -

    Generated using TypeDoc
    +

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Function useAgent

Generated using TypeDoc
+

Function useAgent

Generated using TypeDoc
-

Function useAgentManager

Generated using TypeDoc
+

Function useAgentManager

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Function useAuthClient

Generated using TypeDoc
+

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Function useMethodCall

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/functions/react.useQueryCall.html b/functions/react.useQueryCall.html index 6fe4d1a0c4..56c56f8350 100644 --- a/functions/react.useQueryCall.html +++ b/functions/react.useQueryCall.html @@ -1,8 +1,8 @@ useQueryCall | ic-reactor -

Function useQueryCall

Generated using TypeDoc
+

Function useQueryCall

Generated using TypeDoc
-

Function useUpdateCall

Generated using TypeDoc
+

Function useUpdateCall

Generated using TypeDoc
-

Function useUserPrincipal

Generated using TypeDoc
+

Function useUserPrincipal

Generated using TypeDoc
-

Function useVisitMethod

Generated using TypeDoc
+

Function useVisitMethod

Generated using TypeDoc
-

Function convertStringToNumber

Generated using TypeDoc
+

Function convertStringToNumber

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Function validateNumberError

  • Parameters

    Returns ((value) => string | true)

      • (value): string | true
      • Parameters

        • value: string

        Returns string | true

Generated using TypeDoc
+

Function validateNumberError

  • Parameters

    Returns ((value) => string | true)

      • (value): string | true
      • Parameters

        • value: string

        Returns string | true

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Interface ActorManagerOptions

interface ActorManagerOptions {
    agentManager: AgentManager;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
}

Properties

agentManager: AgentManager
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean

Generated using TypeDoc
+ActorManagerParameters | ic-reactor +

Interface ActorManagerParameters

interface ActorManagerParameters {
    agentManager: classes.AgentManager;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
}

Properties

agentManager: classes.AgentManager
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean

Generated using TypeDoc
-

Interface ActorMethodState<A, M>

interface ActorMethodState<A, M> {
    [key: string]: {
        data: types.ActorMethodReturnType<A[M]> | undefined;
        loading: boolean;
        error: Error | undefined;
    };
}

Type Parameters

Indexable

[key: string]: {
    data: types.ActorMethodReturnType<A[M]> | undefined;
    loading: boolean;
    error: Error | undefined;
}

Generated using TypeDoc
+

Interface ActorMethodState<A, M>

interface ActorMethodState<A, M> {
    [key: string]: {
        data: types.ActorMethodReturnType<A[M]> | undefined;
        loading: boolean;
        error: Error | undefined;
    };
}

Type Parameters

Indexable

[key: string]: {
    data: types.ActorMethodReturnType<A[M]> | undefined;
    loading: boolean;
    error: Error | undefined;
}

Generated using TypeDoc
-

Interface AgentManagerOptions

interface AgentManagerOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    port?: number;
    isLocalEnv?: boolean;
    withDevtools?: boolean;
}

Hierarchy (view full)

Properties

source? -fetch? -fetchOptions? -callOptions? -host? -identity? -credentials? -useQueryNonces? -retryTimes? -verifyQuerySignatures? -logToConsole? -port? -isLocalEnv? -withDevtools? +AgentManagerParameters | ic-reactor +

Interface AgentManagerParameters

interface AgentManagerParameters {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    port?: number;
    isLocalEnv?: boolean;
    withDevtools?: boolean;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. Enabling will prevent queries from being answered with a cached response.

@@ -27,10 +27,10 @@

Default

false
 

Default

true
 
logToConsole?: boolean

Whether to log to the console. Defaults to false.

-
port?: number
isLocalEnv?: boolean
withDevtools?: boolean

Generated using TypeDoc
+

port?: number
isLocalEnv?: boolean
withDevtools?: boolean

Generated using TypeDoc
-

Interface AgentState

interface AgentState {
    initialized: boolean;
    initializing: boolean;
    error: undefined | Error;
}

Properties

initialized +

Interface AgentState

interface AgentState {
    initialized: boolean;
    initializing: boolean;
    error: undefined | Error;
}

Properties

initialized: boolean
initializing: boolean
error: undefined | Error

Generated using TypeDoc
+

Properties

initialized: boolean
initializing: boolean
error: undefined | Error

Generated using TypeDoc
+

Interface AuthClientLoginOptions

interface AuthClientLoginOptions {
    identityProvider?: string | URL;
    maxTimeToLive?: bigint;
    derivationOrigin?: string | URL;
    windowOpenerFeatures?: string;
    onSuccess?: (() => void) | (() => Promise<void>);
    onError?: ((error?) => void) | ((error?) => Promise<void>);
}

Properties

identityProvider?: string | URL

Identity provider

+

Default

"https://identity.ic0.app"
+
+
maxTimeToLive?: bigint

Expiration of the authentication in nanoseconds

+

Default

BigInt(8) hours * BigInt(3_600_000_000_000) nanoseconds
+
+
derivationOrigin?: string | URL

Origin for Identity Provider to use while generating the delegated identity. For II, the derivation origin must authorize this origin by setting a record at <derivation-origin>/.well-known/ii-alternative-origins.

+
windowOpenerFeatures?: string

Auth Window feature config string

+

Example

"toolbar=0,location=0,menubar=0,width=500,height=500,left=100,top=100"
+
+
onSuccess?: (() => void) | (() => Promise<void>)

Callback once login has completed

+

Type declaration

    • (): void
    • Returns void

Type declaration

onError?: ((error?) => void) | ((error?) => Promise<void>)

Callback in case authentication fails

+

Type declaration

    • (error?): void
    • Parameters

      • Optional error: string

      Returns void

Type declaration

    • (error?): Promise<void>
    • Parameters

      • Optional error: string

      Returns Promise<void>

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/core.types.AuthState.html b/interfaces/core.types.AuthState.html index a299d7fa36..764248ee6b 100644 --- a/interfaces/core.types.AuthState.html +++ b/interfaces/core.types.AuthState.html @@ -1,13 +1,13 @@ AuthState | ic-reactor -

Interface AuthState

interface AuthState {
    identity: null | types.Identity;
    authClient: null | types.AuthClient;
    authenticating: boolean;
    authenticated: boolean;
    error: undefined | Error;
}

Properties

identity +

Interface AuthState

interface AuthState {
    identity: null | types.Identity;
    authClient: null | types.AuthClient;
    authenticating: boolean;
    authenticated: boolean;
    error: undefined | Error;
}

Properties

identity: null | types.Identity
authClient: null | types.AuthClient
authenticating: boolean
authenticated: boolean
error: undefined | Error

Generated using TypeDoc
+

Properties

identity: null | types.Identity
authClient: null | types.AuthClient
authenticating: boolean
authenticated: boolean
error: undefined | Error

Generated using TypeDoc
+

Interface CandidAdapterParameters

interface CandidAdapterParameters {
    agentManager?: classes.AgentManager;
    agent?: types.HttpAgent;
    didjsCanisterId?: string;
}

Properties

agentManager?: classes.AgentManager
didjsCanisterId?: string

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/core.types.CandidDefenition.html b/interfaces/core.types.CandidDefenition.html index 6d232282d7..cfadf63dbc 100644 --- a/interfaces/core.types.CandidDefenition.html +++ b/interfaces/core.types.CandidDefenition.html @@ -1,10 +1,10 @@ CandidDefenition | ic-reactor -

Interface CandidDefenition

interface CandidDefenition {
    idlFactory: types.IDL.InterfaceFactory;
    init: ((__namedParameters) => never[]);
}

Properties

idlFactory +

Interface CandidDefenition

interface CandidDefenition {
    idlFactory: types.IDL.InterfaceFactory;
    init: ((__namedParameters) => never[]);
}

Properties

Properties

init: ((__namedParameters) => never[])

Type declaration

    • (__namedParameters): never[]
    • Parameters

      • __namedParameters: {
            idl: IDL;
        }

      Returns never[]

Generated using TypeDoc
+

Properties

init: ((__namedParameters) => never[])

Type declaration

    • (__namedParameters): never[]
    • Parameters

      • __namedParameters: {
            idl: IDL;
        }

      Returns never[]

Generated using TypeDoc
+

Interface CreateReactorCoreParameters

interface CreateReactorCoreParameters {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    agentManager?: classes.AgentManager;
    isLocalEnv?: boolean;
    port?: number;
    withProcessEnv?: boolean;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. +Enabling will prevent queries from being answered with a cached response.

+

Example

const agent = new HttpAgent({ useQueryNonces: true });
agent.addTransform(makeNonceTransform(makeNonce); +
+

Default

false
+
+
retryTimes?: number

Number of times to retry requests before throwing an error

+

Default

3
+
+
verifyQuerySignatures?: boolean

Whether the agent should verify signatures signed by node keys on query responses. Increases security, but adds overhead and must make a separate request to cache the node keys for the canister's subnet.

+

Default

true
+
+
logToConsole?: boolean

Whether to log to the console. Defaults to false.

+
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
agentManager?: classes.AgentManager
isLocalEnv?: boolean
port?: number
withProcessEnv?: boolean

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/core.types.CreateReactorCoreReturnType.html b/interfaces/core.types.CreateReactorCoreReturnType.html new file mode 100644 index 0000000000..1d4dd18fb9 --- /dev/null +++ b/interfaces/core.types.CreateReactorCoreReturnType.html @@ -0,0 +1,70 @@ +CreateReactorCoreReturnType | ic-reactor +

Interface CreateReactorCoreReturnType<A>

interface CreateReactorCoreReturnType<A> {
    canisterId: types.CanisterId;
    actorStore: types.ActorStore<A>;
    visitFunction: types.VisitService<A>;
    agentManager: classes.AgentManager;
    getState: (() => types.ActorState<A>);
    subscribeActorState: ((listener) => (() => void));
    setState: ((partial, replace?) => void);
    agentStore: types.AgentStore;
    authStore: types.AuthStore;
    isLocalEnv: boolean;
    getAgentState: (() => types.AgentState);
    subscribeAgentState: ((listener) => (() => void));
    getAuthState: (() => types.AuthState);
    subscribeAuthState: ((listener) => (() => void));
    login: ((config?) => Promise<void>);
    logout: ((config?) => Promise<void>);
    queryCall: types.ActorQuery<A>;
    updateCall: types.ActorUpdate<A>;
    initialize(options?): Promise<void>;
    extractService(): types.VisitService<A>;
    callMethod<M>(functionName, ...args): Promise<types.ActorMethodReturnType<A[M]>>;
    getActor(): null | A;
    subscribeAgent(callback): (() => void);
    unsubscribeAgent(callback): void;
    updateAgent(options?): Promise<void>;
    authenticate(): Promise<types.Identity>;
    getAgent(): types.HttpAgent;
    getAuthClient(): null | types.AuthClient;
    getIdentity(): null | types.Identity;
    getPrincipal(): null | types.Principal;
}

Type Parameters

Hierarchy (view full)

Properties

canisterId: types.CanisterId
actorStore: types.ActorStore<A>
visitFunction: types.VisitService<A>
agentManager: classes.AgentManager
getState: (() => types.ActorState<A>) = ...

Type declaration

subscribeActorState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

setState: ((partial, replace?) => void) = ...

Type declaration

agentStore: types.AgentStore
authStore: types.AuthStore
isLocalEnv: boolean
getAgentState: (() => types.AgentState) = ...

Type declaration

subscribeAgentState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthState: (() => types.AuthState) = ...

Type declaration

subscribeAuthState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

login: ((config?) => Promise<void>)

Type declaration

logout: ((config?) => Promise<void>)

Type declaration

    • (config?): Promise<void>
    • Parameters

      • Optional config: {
            returnTo?: string;
        }
        • Optional returnTo?: string

      Returns Promise<void>

queryCall: types.ActorQuery<A>
updateCall: types.ActorUpdate<A>

Methods

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/core.types.CreateReactorOptions.html b/interfaces/core.types.CreateReactorOptions.html deleted file mode 100644 index 0d25771e4a..0000000000 --- a/interfaces/core.types.CreateReactorOptions.html +++ /dev/null @@ -1,74 +0,0 @@ -CreateReactorOptions | ic-reactor -

Interface CreateReactorOptions

interface CreateReactorOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    withProcessEnv?: boolean;
    agentManager?: AgentManager;
    isLocalEnv?: boolean;
    port?: number;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. -Enabling will prevent queries from being answered with a cached response.

-

Example

const agent = new HttpAgent({ useQueryNonces: true });
agent.addTransform(makeNonceTransform(makeNonce); -
-

Default

false
-
-
retryTimes?: number

Number of times to retry requests before throwing an error

-

Default

3
-
-
verifyQuerySignatures?: boolean

Whether the agent should verify signatures signed by node keys on query responses. Increases security, but adds overhead and must make a separate request to cache the node keys for the canister's subnet.

-

Default

true
-
-
logToConsole?: boolean

Whether to log to the console. Defaults to false.

-
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
withProcessEnv?: boolean
agentManager?: AgentManager
isLocalEnv?: boolean
port?: number

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/core.types.CreateReactorStoreOptions.html b/interfaces/core.types.CreateReactorStoreParameters.html similarity index 57% rename from interfaces/core.types.CreateReactorStoreOptions.html rename to interfaces/core.types.CreateReactorStoreParameters.html index 95e78571a9..556b590c5c 100644 --- a/interfaces/core.types.CreateReactorStoreOptions.html +++ b/interfaces/core.types.CreateReactorStoreParameters.html @@ -1,23 +1,24 @@ -CreateReactorStoreOptions | ic-reactor -

Interface CreateReactorStoreOptions

interface CreateReactorStoreOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    agentManager?: AgentManager;
    isLocalEnv?: boolean;
    port?: number;
}

Hierarchy (view full)

Properties

source? -fetch? -fetchOptions? -callOptions? -host? -identity? -credentials? -useQueryNonces? -retryTimes? -verifyQuerySignatures? -logToConsole? -idlFactory -canisterId -withVisitor? -withDevtools? -initializeOnCreate? -agentManager? -isLocalEnv? -port? +CreateReactorStoreParameters | ic-reactor +

Interface CreateReactorStoreParameters

interface CreateReactorStoreParameters {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    agentManager?: classes.AgentManager;
    withProcessEnv?: boolean;
    isLocalEnv?: boolean;
    port?: number;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. Enabling will prevent queries from being answered with a cached response.

@@ -32,10 +33,10 @@

Default

false
 

Default

true
 
logToConsole?: boolean

Whether to log to the console. Defaults to false.

-
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
agentManager?: AgentManager
isLocalEnv?: boolean
port?: number

Generated using TypeDoc
+

canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
agentManager?: classes.AgentManager
withProcessEnv?: boolean
isLocalEnv?: boolean
port?: number

Generated using TypeDoc
-

Interface DefaultActorType

interface DefaultActorType {
    [key: string]: types.ActorMethod;
}

Indexable

[key: string]: types.ActorMethod

Generated using TypeDoc
+

Interface DefaultActorType

interface DefaultActorType {
    [key: string]: types.ActorMethod;
}

Indexable

[key: string]: types.ActorMethod

Generated using TypeDoc
-

Interface HttpAgentOptions

interface HttpAgentOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
}

Hierarchy (view full)

Properties

source? +

Interface HttpAgentOptions

interface HttpAgentOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
}

Hierarchy (view full)

Properties

source? fetch? fetchOptions? callOptions? @@ -27,7 +27,7 @@

Default

false
 

Generated using TypeDoc
-

Interface ReactorCore<A>

interface ReactorCore<A> {
    canisterId: types.CanisterId;
    actorStore: types.ActorStore<A>;
    visitFunction: types.VisitService<A>;
    agentManager: AgentManager;
    getState: (() => types.ActorState<A>);
    subscribeActorState: ((listener) => (() => void));
    setState: ((partial, replace?) => void);
    agentStore: types.AgentStore;
    authStore: types.AuthStore;
    isLocalEnv: boolean;
    getAgentState: (() => types.AgentState);
    subscribeAgentState: ((listener) => (() => void));
    getAuthState: (() => types.AuthState);
    subscribeAuthState: ((listener) => (() => void));
    login: ((options?) => Promise<void>);
    logout: ((options?) => Promise<void>);
    queryCall: types.ActorQuery<A>;
    updateCall: types.ActorUpdate<A>;
    initialize(options?): Promise<void>;
    extractService(): types.VisitService<A>;
    callMethod<M>(functionName, ...args): Promise<types.ActorMethodReturnType<A[M]>>;
    getActor(): null | A;
    subscribeAgent(callback): (() => void);
    unsubscribeAgent(callback): void;
    updateAgent(options?): Promise<void>;
    authenticate(): Promise<types.Identity>;
    getAgent(): types.HttpAgent;
    getAuthClient(): null | types.AuthClient;
    getIdentity(): null | types.Identity;
    getPrincipal(): null | types.Principal;
}

Type Parameters

Hierarchy (view full)

Properties

canisterId: types.CanisterId
actorStore: types.ActorStore<A>
visitFunction: types.VisitService<A>
agentManager: AgentManager
getState: (() => types.ActorState<A>) = ...

Type declaration

subscribeActorState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

setState: ((partial, replace?) => void) = ...

Type declaration

agentStore: types.AgentStore
authStore: types.AuthStore
isLocalEnv: boolean
getAgentState: (() => types.AgentState) = ...

Type declaration

subscribeAgentState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthState: (() => types.AuthState) = ...

Type declaration

subscribeAuthState: ((listener) => (() => void)) = ...

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

login: ((options?) => Promise<void>)

Type declaration

    • (options?): Promise<void>
    • Parameters

      • Optional options: AuthClientLoginOptions

      Returns Promise<void>

logout: ((options?) => Promise<void>)

Type declaration

    • (options?): Promise<void>
    • Parameters

      • Optional options: {
            returnTo?: string;
        }
        • Optional returnTo?: string

      Returns Promise<void>

queryCall: types.ActorQuery<A>
updateCall: types.ActorUpdate<A>

Methods

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/core.types.UpdateAgentOptions.html b/interfaces/core.types.UpdateAgentParameters.html similarity index 69% rename from interfaces/core.types.UpdateAgentOptions.html rename to interfaces/core.types.UpdateAgentParameters.html index b3826e636f..cb0ccb361b 100644 --- a/interfaces/core.types.UpdateAgentOptions.html +++ b/interfaces/core.types.UpdateAgentParameters.html @@ -1,16 +1,16 @@ -UpdateAgentOptions | ic-reactor -

Interface UpdateAgentOptions

interface UpdateAgentOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    agent?: types.HttpAgent;
}

Hierarchy (view full)

Properties

source? -fetch? -fetchOptions? -callOptions? -host? -identity? -credentials? -useQueryNonces? -retryTimes? -verifyQuerySignatures? -logToConsole? -agent? +UpdateAgentParameters | ic-reactor +

Interface UpdateAgentParameters

interface UpdateAgentParameters {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    agent?: types.HttpAgent;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. Enabling will prevent queries from being answered with a cached response.

@@ -25,10 +25,10 @@

Default

false
 

Default

true
 
logToConsole?: boolean

Whether to log to the console. Defaults to false.

-

Generated using TypeDoc
+

Generated using TypeDoc
-

Interface ActorHooks<A>

interface ActorHooks<A> {
    initialize: (() => Promise<void>);
    useActorState: (() => UseActorState);
    useQueryCall: UseQueryCall<A>;
    useUpdateCall: UseUpdateCall<A>;
    useMethodCall: UseMethodCall<A>;
    useVisitMethod: (<M>(functionName) => types.VisitService<A>[M]);
}

Type Parameters

Hierarchy (view full)

Properties

initialize: (() => Promise<void>)

Type declaration

useActorState: (() => UseActorState)

Type declaration

useQueryCall: UseQueryCall<A>
useUpdateCall: UseUpdateCall<A>
useMethodCall: UseMethodCall<A>
useVisitMethod: (<M>(functionName) => types.VisitService<A>[M])

Type declaration

Generated using TypeDoc
+ActorHooksReturnType | ic-reactor +

Interface ActorHooksReturnType<A>

interface ActorHooksReturnType<A> {
    initialize: (() => Promise<void>);
    useActorState: (() => UseActorState);
    useQueryCall: UseQueryCall<A>;
    useUpdateCall: UseUpdateCall<A>;
    useVisitMethod: (<M>(functionName) => types.VisitService<A>[M]);
}

Type Parameters

Hierarchy (view full)

Properties

initialize: (() => Promise<void>)

Type declaration

useActorState: (() => UseActorState)

Type declaration

useQueryCall: UseQueryCall<A>
useUpdateCall: UseUpdateCall<A>
useVisitMethod: (<M>(functionName) => types.VisitService<A>[M])

Type declaration

Generated using TypeDoc
-

Interface ActorManagerOptions

interface ActorManagerOptions {
    agentManager: AgentManager;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
}

Properties

agentManager: AgentManager
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean

Generated using TypeDoc
+ActorManagerParameters | ic-reactor +

Interface ActorManagerParameters

interface ActorManagerParameters {
    agentManager: types.AgentManager;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
}

Properties

agentManager: types.AgentManager
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean

Generated using TypeDoc
-

Interface ActorMethodState<A, M>

interface ActorMethodState<A, M> {
    [key: string]: {
        data: types.ActorMethodReturnType<A[M]> | undefined;
        loading: boolean;
        error: Error | undefined;
    };
}

Type Parameters

Indexable

[key: string]: {
    data: types.ActorMethodReturnType<A[M]> | undefined;
    loading: boolean;
    error: Error | undefined;
}

Generated using TypeDoc
+

Interface ActorMethodState<A, M>

interface ActorMethodState<A, M> {
    [key: string]: {
        data: types.ActorMethodReturnType<A[M]> | undefined;
        loading: boolean;
        error: Error | undefined;
    };
}

Type Parameters

Indexable

[key: string]: {
    data: types.ActorMethodReturnType<A[M]> | undefined;
    loading: boolean;
    error: Error | undefined;
}

Generated using TypeDoc
-

Interface ActorProviderProps

interface ActorProviderProps {
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    didjsId?: string;
    canisterId?: string;
    agentContext?: Context<null | AgentContext>;
    idlFactory?: types.IDL.InterfaceFactory;
    children?: ReactNode;
    loadingComponent?: ReactNode;
}

Hierarchy (view full)

Properties

withVisitor? +

Interface ActorProviderProps

interface ActorProviderProps {
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    children?: ReactNode;
    loadingComponent?: ReactNode;
    didjsId?: string;
    canisterId?: string;
    agentContext?: Context<null | AgentContext>;
    idlFactory?: types.IDL.InterfaceFactory;
}

Hierarchy (view full)

Properties

withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
didjsId?: string
canisterId?: string
agentContext?: Context<null | AgentContext>
children?: ReactNode
loadingComponent?: ReactNode

Generated using TypeDoc
+

Properties

withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
children?: ReactNode
loadingComponent?: ReactNode
didjsId?: string
canisterId?: string
agentContext?: Context<null | AgentContext>

Generated using TypeDoc
-

Interface AgentContext

interface AgentContext {
    useAgent: (() => undefined | types.HttpAgent);
    useAgentState: (() => types.AgentState);
    useUserPrincipal: (() => undefined | types.Principal);
    useAuthState: (() => types.AuthState);
    useAuthClient: ((args?) => UseAuthClientReturn);
    agentManager: AgentManager;
}

Hierarchy (view full)

Properties

useAgent +

Interface AgentContext

interface AgentContext {
    useAgent: (() => undefined | types.HttpAgent);
    useAgentState: (() => types.AgentState);
    useUserPrincipal: (() => undefined | types.Principal);
    useAuthState: (() => types.AuthState);
    useAuthClient: ((args?) => UseAuthClientReturnType);
    agentManager: types.AgentManager;
}

Hierarchy (view full)

Properties

useAgent: (() => undefined | types.HttpAgent)

Type declaration

useAgentState: (() => types.AgentState)

Type declaration

useUserPrincipal: (() => undefined | types.Principal)

Type declaration

useAuthState: (() => types.AuthState)

Type declaration

useAuthClient: ((args?) => UseAuthClientReturn)

Type declaration

agentManager: AgentManager

Generated using TypeDoc
+

Properties

useAgent: (() => undefined | types.HttpAgent)

Type declaration

useAgentState: (() => types.AgentState)

Type declaration

useUserPrincipal: (() => undefined | types.Principal)

Type declaration

useAuthState: (() => types.AuthState)

Type declaration

useAuthClient: ((args?) => UseAuthClientReturnType)

Type declaration

agentManager: types.AgentManager

Generated using TypeDoc
-

Interface AgentHooks

interface AgentHooks {
    useAgent: (() => undefined | types.HttpAgent);
    useAgentState: (() => types.AgentState);
}

Hierarchy (view full)

Properties

Properties

useAgent: (() => undefined | types.HttpAgent)

Type declaration

useAgentState: (() => types.AgentState)

Type declaration

Generated using TypeDoc
+AgentHooksReturnType | ic-reactor +

Interface AgentHooksReturnType

interface AgentHooksReturnType {
    useAgent: (() => undefined | types.HttpAgent);
    useAgentState: (() => types.AgentState);
}

Hierarchy (view full)

Properties

Properties

useAgent: (() => undefined | types.HttpAgent)

Type declaration

useAgentState: (() => types.AgentState)

Type declaration

Generated using TypeDoc
-

Interface AgentManagerOptions

interface AgentManagerOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    port?: number;
    isLocalEnv?: boolean;
    withDevtools?: boolean;
}

Hierarchy (view full)

Properties

source? -fetch? -fetchOptions? -callOptions? -host? -identity? -credentials? -useQueryNonces? -retryTimes? -verifyQuerySignatures? -logToConsole? -port? -isLocalEnv? -withDevtools? +AgentManagerParameters | ic-reactor +

Interface AgentManagerParameters

interface AgentManagerParameters {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    port?: number;
    isLocalEnv?: boolean;
    withDevtools?: boolean;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. Enabling will prevent queries from being answered with a cached response.

@@ -27,10 +27,10 @@

Default

false
 

Default

true
 
logToConsole?: boolean

Whether to log to the console. Defaults to false.

-
port?: number
isLocalEnv?: boolean
withDevtools?: boolean

Generated using TypeDoc
+

port?: number
isLocalEnv?: boolean
withDevtools?: boolean

Generated using TypeDoc
-

Interface AgentProviderProps

interface AgentProviderProps {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    children?: ReactNode;
    port?: number;
    isLocalEnv?: boolean;
    withDevtools?: boolean;
    agentManager?: AgentManager;
}

Hierarchy (view full)

Properties

source? +

Interface AgentProviderProps

interface AgentProviderProps {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    children?: ReactNode;
    port?: number;
    isLocalEnv?: boolean;
    withDevtools?: boolean;
    agentManager?: types.AgentManager;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. +

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. Enabling will prevent queries from being answered with a cached response.

Example

const agent = new HttpAgent({ useQueryNonces: true });
agent.addTransform(makeNonceTransform(makeNonce);

Default

false
 
-
retryTimes?: number

Number of times to retry requests before throwing an error

+
retryTimes?: number

Number of times to retry requests before throwing an error

Default

3
 
-
verifyQuerySignatures?: boolean

Whether the agent should verify signatures signed by node keys on query responses. Increases security, but adds overhead and must make a separate request to cache the node keys for the canister's subnet.

+
verifyQuerySignatures?: boolean

Whether the agent should verify signatures signed by node keys on query responses. Increases security, but adds overhead and must make a separate request to cache the node keys for the canister's subnet.

Default

true
 
-
logToConsole?: boolean

Whether to log to the console. Defaults to false.

-
children?: ReactNode
port?: number
isLocalEnv?: boolean
withDevtools?: boolean
agentManager?: AgentManager

Generated using TypeDoc
+

logToConsole?: boolean

Whether to log to the console. Defaults to false.

+
children?: ReactNode
port?: number
isLocalEnv?: boolean
withDevtools?: boolean
agentManager?: types.AgentManager

Generated using TypeDoc
-

Interface AgentState

interface AgentState {
    initialized: boolean;
    initializing: boolean;
    error: undefined | Error;
}

Properties

initialized +

Interface AgentState

interface AgentState {
    initialized: boolean;
    initializing: boolean;
    error: undefined | Error;
}

Properties

initialized: boolean
initializing: boolean
error: undefined | Error

Generated using TypeDoc
+

Properties

initialized: boolean
initializing: boolean
error: undefined | Error

Generated using TypeDoc
+

Interface AuthClientLoginOptions

interface AuthClientLoginOptions {
    identityProvider?: string | URL;
    maxTimeToLive?: bigint;
    derivationOrigin?: string | URL;
    windowOpenerFeatures?: string;
    onSuccess?: (() => void) | (() => Promise<void>);
    onError?: ((error?) => void) | ((error?) => Promise<void>);
}

Properties

identityProvider?: string | URL

Identity provider

+

Default

"https://identity.ic0.app"
+
+
maxTimeToLive?: bigint

Expiration of the authentication in nanoseconds

+

Default

BigInt(8) hours * BigInt(3_600_000_000_000) nanoseconds
+
+
derivationOrigin?: string | URL

Origin for Identity Provider to use while generating the delegated identity. For II, the derivation origin must authorize this origin by setting a record at <derivation-origin>/.well-known/ii-alternative-origins.

+
windowOpenerFeatures?: string

Auth Window feature config string

+

Example

"toolbar=0,location=0,menubar=0,width=500,height=500,left=100,top=100"
+
+
onSuccess?: (() => void) | (() => Promise<void>)

Callback once login has completed

+

Type declaration

    • (): void
    • Returns void

Type declaration

onError?: ((error?) => void) | ((error?) => Promise<void>)

Callback in case authentication fails

+

Type declaration

    • (error?): void
    • Parameters

      • Optional error: string

      Returns void

Type declaration

    • (error?): Promise<void>
    • Parameters

      • Optional error: string

      Returns Promise<void>

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/react.types.AuthHooks.html b/interfaces/react.types.AuthHooksReturnType.html similarity index 67% rename from interfaces/react.types.AuthHooks.html rename to interfaces/react.types.AuthHooksReturnType.html index 0e9820a8a2..e6e67364fa 100644 --- a/interfaces/react.types.AuthHooks.html +++ b/interfaces/react.types.AuthHooksReturnType.html @@ -1,11 +1,11 @@ -AuthHooks | ic-reactor -
interface AuthHooks {
    useUserPrincipal: (() => undefined | types.Principal);
    useAuthState: (() => types.AuthState);
    useAuthClient: ((args?) => UseAuthClientReturn);
}

Hierarchy (view full)

Properties

useUserPrincipal: (() => undefined | types.Principal)

Type declaration

useAuthState: (() => types.AuthState)

Type declaration

useAuthClient: ((args?) => UseAuthClientReturn)

Type declaration

Generated using TypeDoc
+AuthHooksReturnType | ic-reactor +

Interface AuthHooksReturnType

interface AuthHooksReturnType {
    useUserPrincipal: (() => undefined | types.Principal);
    useAuthState: (() => types.AuthState);
    useAuthClient: ((args?) => UseAuthClientReturnType);
}

Hierarchy (view full)

Properties

useUserPrincipal: (() => undefined | types.Principal)

Type declaration

useAuthState: (() => types.AuthState)

Type declaration

useAuthClient: ((args?) => UseAuthClientReturnType)

Type declaration

Generated using TypeDoc
-

interface AuthState {
    identity: null | types.Identity;
    authClient: null | types.AuthClient;
    authenticating: boolean;
    authenticated: boolean;
    error: undefined | Error;
}

Properties

identity +
interface AuthState {
    identity: null | types.Identity;
    authClient: null | types.AuthClient;
    authenticating: boolean;
    authenticated: boolean;
    error: undefined | Error;
}

Properties

identity: null | types.Identity
authClient: null | types.AuthClient
authenticating: boolean
authenticated: boolean
error: undefined | Error

Generated using TypeDoc
+

Properties

identity: null | types.Identity
authClient: null | types.AuthClient
authenticating: boolean
authenticated: boolean
error: undefined | Error

Generated using TypeDoc
-

Interface CandidAdapterOptions

interface CandidAdapterOptions {
    agentManager?: AgentManager;
    agent?: types.HttpAgent;
    didjsCanisterId?: string;
}

Properties

agentManager?: AgentManager
didjsCanisterId?: string

Generated using TypeDoc
+CandidAdapterParameters | ic-reactor +

Interface CandidAdapterParameters

interface CandidAdapterParameters {
    agentManager?: types.AgentManager;
    agent?: types.HttpAgent;
    didjsCanisterId?: string;
}

Properties

agentManager?: types.AgentManager
didjsCanisterId?: string

Generated using TypeDoc
-

Interface CandidDefenition

interface CandidDefenition {
    idlFactory: types.IDL.InterfaceFactory;
    init: ((__namedParameters) => never[]);
}

Properties

idlFactory +

Interface CandidDefenition

interface CandidDefenition {
    idlFactory: types.IDL.InterfaceFactory;
    init: ((__namedParameters) => never[]);
}

Properties

Properties

init: ((__namedParameters) => never[])

Type declaration

    • (__namedParameters): never[]
    • Parameters

      • __namedParameters: {
            idl: IDL;
        }

      Returns never[]

Generated using TypeDoc
+

Properties

init: ((__namedParameters) => never[])

Type declaration

    • (__namedParameters): never[]
    • Parameters

      • __namedParameters: {
            idl: IDL;
        }

      Returns never[]

Generated using TypeDoc
-

Interface CreateActorContextOptions

interface CreateActorContextOptions {
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    didjsId?: string;
    canisterId?: string;
    agentContext?: Context<null | AgentContext>;
    idlFactory?: types.IDL.InterfaceFactory;
    loadingComponent?: ReactNode;
}

Hierarchy (view full)

Properties

withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
didjsId?: string
canisterId?: string
agentContext?: Context<null | AgentContext>
loadingComponent?: ReactNode

Generated using TypeDoc
+CreateActorContextParameters | ic-reactor +

Interface CreateActorContextParameters

interface CreateActorContextParameters {
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    didjsId?: string;
    canisterId?: string;
    agentContext?: Context<null | AgentContext>;
    idlFactory?: types.IDL.InterfaceFactory;
    loadingComponent?: ReactNode;
}

Hierarchy (view full)

Properties

withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
didjsId?: string
canisterId?: string
agentContext?: Context<null | AgentContext>
loadingComponent?: ReactNode

Generated using TypeDoc
-

Interface CreateActorContextReturn<A>

interface CreateActorContextReturn<A> {
    initialize: (() => Promise<void>);
    useActorState: (() => UseActorState);
    useQueryCall: UseQueryCall<A>;
    useUpdateCall: UseUpdateCall<A>;
    useMethodCall: UseMethodCall<A>;
    useVisitMethod: (<M>(functionName) => types.VisitService<A>[M]);
    ActorProvider: FC<ActorProviderProps>;
}

Type Parameters

Hierarchy (view full)

Properties

initialize: (() => Promise<void>)

Type declaration

useActorState: (() => UseActorState)

Type declaration

useQueryCall: UseQueryCall<A>
useUpdateCall: UseUpdateCall<A>
useMethodCall: UseMethodCall<A>
useVisitMethod: (<M>(functionName) => types.VisitService<A>[M])

Type declaration

ActorProvider: FC<ActorProviderProps>

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.CreateActorContextReturnType.html b/interfaces/react.types.CreateActorContextReturnType.html new file mode 100644 index 0000000000..c0309d813a --- /dev/null +++ b/interfaces/react.types.CreateActorContextReturnType.html @@ -0,0 +1,46 @@ +CreateActorContextReturnType | ic-reactor +

Interface CreateActorContextReturnType<A>

interface CreateActorContextReturnType<A> {
    initialize: (() => Promise<void>);
    useActorState: (() => UseActorState);
    useQueryCall: UseQueryCall<A>;
    useUpdateCall: UseUpdateCall<A>;
    useVisitMethod: (<M>(functionName) => types.VisitService<A>[M]);
    ActorProvider: FC<ActorProviderProps>;
}

Type Parameters

Hierarchy (view full)

Properties

initialize: (() => Promise<void>)

Type declaration

useActorState: (() => UseActorState)

Type declaration

useQueryCall: UseQueryCall<A>
useUpdateCall: UseUpdateCall<A>
useVisitMethod: (<M>(functionName) => types.VisitService<A>[M])

Type declaration

ActorProvider: FC<ActorProviderProps>

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/react.types.CreateAgentContextReturn.html b/interfaces/react.types.CreateAgentContextReturn.html deleted file mode 100644 index 3852ae3131..0000000000 --- a/interfaces/react.types.CreateAgentContextReturn.html +++ /dev/null @@ -1,47 +0,0 @@ -CreateAgentContextReturn | ic-reactor -

Interface CreateAgentContextReturn

interface CreateAgentContextReturn {
    useAgent: (() => undefined | types.HttpAgent);
    useAgentState: (() => types.AgentState);
    useUserPrincipal: (() => undefined | types.Principal);
    useAuthState: (() => types.AuthState);
    useAuthClient: ((args?) => UseAuthClientReturn);
    useAgentManager: ((agentContext?) => AgentManager);
    AgentProvider: FC<AgentProviderProps>;
}

Hierarchy (view full)

Properties

useAgent: (() => undefined | types.HttpAgent)

Type declaration

useAgentState: (() => types.AgentState)

Type declaration

useUserPrincipal: (() => undefined | types.Principal)

Type declaration

useAuthState: (() => types.AuthState)

Type declaration

useAuthClient: ((args?) => UseAuthClientReturn)

Type declaration

useAgentManager: ((agentContext?) => AgentManager)

Type declaration

AgentProvider: FC<AgentProviderProps>

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.CreateAgentContextReturnType.html b/interfaces/react.types.CreateAgentContextReturnType.html new file mode 100644 index 0000000000..47fbb13184 --- /dev/null +++ b/interfaces/react.types.CreateAgentContextReturnType.html @@ -0,0 +1,47 @@ +CreateAgentContextReturnType | ic-reactor +

Interface CreateAgentContextReturnType

interface CreateAgentContextReturnType {
    useAgent: (() => undefined | types.HttpAgent);
    useAgentState: (() => types.AgentState);
    useUserPrincipal: (() => undefined | types.Principal);
    useAuthState: (() => types.AuthState);
    useAuthClient: ((args?) => UseAuthClientReturnType);
    useAgentManager: ((agentContext?) => types.AgentManager);
    AgentProvider: FC<AgentProviderProps>;
}

Hierarchy (view full)

Properties

useAgent: (() => undefined | types.HttpAgent)

Type declaration

useAgentState: (() => types.AgentState)

Type declaration

useUserPrincipal: (() => undefined | types.Principal)

Type declaration

useAuthState: (() => types.AuthState)

Type declaration

useAuthClient: ((args?) => UseAuthClientReturnType)

Type declaration

useAgentManager: ((agentContext?) => types.AgentManager)

Type declaration

AgentProvider: FC<AgentProviderProps>

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/react.types.CreateReactorCoreParameters.html b/interfaces/react.types.CreateReactorCoreParameters.html new file mode 100644 index 0000000000..a34bcbab62 --- /dev/null +++ b/interfaces/react.types.CreateReactorCoreParameters.html @@ -0,0 +1,74 @@ +CreateReactorCoreParameters | ic-reactor +

Interface CreateReactorCoreParameters

interface CreateReactorCoreParameters {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    agentManager?: types.AgentManager;
    isLocalEnv?: boolean;
    port?: number;
    withProcessEnv?: boolean;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. +Enabling will prevent queries from being answered with a cached response.

+

Example

const agent = new HttpAgent({ useQueryNonces: true });
agent.addTransform(makeNonceTransform(makeNonce); +
+

Default

false
+
+
retryTimes?: number

Number of times to retry requests before throwing an error

+

Default

3
+
+
verifyQuerySignatures?: boolean

Whether the agent should verify signatures signed by node keys on query responses. Increases security, but adds overhead and must make a separate request to cache the node keys for the canister's subnet.

+

Default

true
+
+
logToConsole?: boolean

Whether to log to the console. Defaults to false.

+
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
agentManager?: types.AgentManager
isLocalEnv?: boolean
port?: number
withProcessEnv?: boolean

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/react.types.CreateReactorCoreReturnType.html b/interfaces/react.types.CreateReactorCoreReturnType.html new file mode 100644 index 0000000000..cd38f479b2 --- /dev/null +++ b/interfaces/react.types.CreateReactorCoreReturnType.html @@ -0,0 +1,70 @@ +CreateReactorCoreReturnType | ic-reactor +

Interface CreateReactorCoreReturnType<A>

interface CreateReactorCoreReturnType<A> {
    canisterId: types.CanisterId;
    actorStore: types.ActorStore<A>;
    visitFunction: types.VisitService<A>;
    initialize: ((options?) => Promise<void>);
    callMethod: (<M>(functionName, ...args) => Promise<types.ActorMethodReturnType<A[M]>>);
    agentManager: types.AgentManager;
    getActor: (() => null | A);
    getState: (() => types.ActorState<A>);
    subscribeActorState: ((listener) => (() => void));
    setState: ((partial, replace?) => void);
    agentStore: types.AgentStore;
    authStore: types.AuthStore;
    isLocalEnv: boolean;
    subscribeAgent: ((callback) => (() => void));
    unsubscribeAgent: ((callback) => void);
    updateAgent: ((options?) => Promise<void>);
    authenticate: (() => Promise<types.Identity>);
    getAgent: (() => types.HttpAgent);
    getAgentState: (() => types.AgentState);
    subscribeAgentState: ((listener) => (() => void));
    getAuthState: (() => types.AuthState);
    subscribeAuthState: ((listener) => (() => void));
    getAuthClient: (() => null | types.AuthClient);
    getIdentity: (() => null | types.Identity);
    getPrincipal: (() => null | types.Principal);
    login: ((config?) => Promise<void>);
    logout: ((config?) => Promise<void>);
    queryCall: types.ActorQuery<A>;
    updateCall: types.ActorUpdate<A>;
    extractService(): types.VisitService<A>;
}

Type Parameters

Hierarchy (view full)

Properties

canisterId: types.CanisterId
actorStore: types.ActorStore<A>
visitFunction: types.VisitService<A>
initialize: ((options?) => Promise<void>)

Type declaration

callMethod: (<M>(functionName, ...args) => Promise<types.ActorMethodReturnType<A[M]>>)

Type declaration

agentManager: types.AgentManager
getActor: (() => null | A)

Type declaration

    • (): null | A
    • Returns null | A

getState: (() => types.ActorState<A>)

Type declaration

subscribeActorState: ((listener) => (() => void))

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

setState: ((partial, replace?) => void)

Type declaration

agentStore: types.AgentStore
authStore: types.AuthStore
isLocalEnv: boolean
subscribeAgent: ((callback) => (() => void))

Type declaration

    • (callback): (() => void)
    • Parameters

      • callback: ((agent) => void)

      Returns (() => void)

        • (): void
        • Returns void

unsubscribeAgent: ((callback) => void)

Type declaration

    • (callback): void
    • Parameters

      • callback: ((agent) => void)

      Returns void

updateAgent: ((options?) => Promise<void>)

Type declaration

authenticate: (() => Promise<types.Identity>)

Type declaration

getAgent: (() => types.HttpAgent)

Type declaration

getAgentState: (() => types.AgentState)

Type declaration

subscribeAgentState: ((listener) => (() => void))

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthState: (() => types.AuthState)

Type declaration

subscribeAuthState: ((listener) => (() => void))

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthClient: (() => null | types.AuthClient)

Type declaration

getIdentity: (() => null | types.Identity)

Type declaration

getPrincipal: (() => null | types.Principal)

Type declaration

login: ((config?) => Promise<void>)

Type declaration

logout: ((config?) => Promise<void>)

Type declaration

    • (config?): Promise<void>
    • Parameters

      • Optional config: {
            returnTo?: string;
        }
        • Optional returnTo?: string

      Returns Promise<void>

queryCall: types.ActorQuery<A>
updateCall: types.ActorUpdate<A>

Methods

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/react.types.CreateReactorOptions.html b/interfaces/react.types.CreateReactorOptions.html deleted file mode 100644 index a18e7d6a79..0000000000 --- a/interfaces/react.types.CreateReactorOptions.html +++ /dev/null @@ -1,74 +0,0 @@ -CreateReactorOptions | ic-reactor -

Interface CreateReactorOptions

interface CreateReactorOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    withProcessEnv?: boolean;
    agentManager?: AgentManager;
    isLocalEnv?: boolean;
    port?: number;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. -Enabling will prevent queries from being answered with a cached response.

-

Example

const agent = new HttpAgent({ useQueryNonces: true });
agent.addTransform(makeNonceTransform(makeNonce); -
-

Default

false
-
-
retryTimes?: number

Number of times to retry requests before throwing an error

-

Default

3
-
-
verifyQuerySignatures?: boolean

Whether the agent should verify signatures signed by node keys on query responses. Increases security, but adds overhead and must make a separate request to cache the node keys for the canister's subnet.

-

Default

true
-
-
logToConsole?: boolean

Whether to log to the console. Defaults to false.

-
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
withProcessEnv?: boolean
agentManager?: AgentManager
isLocalEnv?: boolean
port?: number

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.CreateReactorParameters.html b/interfaces/react.types.CreateReactorParameters.html new file mode 100644 index 0000000000..936eebb954 --- /dev/null +++ b/interfaces/react.types.CreateReactorParameters.html @@ -0,0 +1,74 @@ +CreateReactorParameters | ic-reactor +

Interface CreateReactorParameters

interface CreateReactorParameters {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    agentManager?: types.AgentManager;
    isLocalEnv?: boolean;
    port?: number;
    withProcessEnv?: boolean;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. +Enabling will prevent queries from being answered with a cached response.

+

Example

const agent = new HttpAgent({ useQueryNonces: true });
agent.addTransform(makeNonceTransform(makeNonce); +
+

Default

false
+
+
retryTimes?: number

Number of times to retry requests before throwing an error

+

Default

3
+
+
verifyQuerySignatures?: boolean

Whether the agent should verify signatures signed by node keys on query responses. Increases security, but adds overhead and must make a separate request to cache the node keys for the canister's subnet.

+

Default

true
+
+
logToConsole?: boolean

Whether to log to the console. Defaults to false.

+
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
agentManager?: types.AgentManager
isLocalEnv?: boolean
port?: number
withProcessEnv?: boolean

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/react.types.CreateReactorReturn.html b/interfaces/react.types.CreateReactorReturn.html deleted file mode 100644 index f5fbbde246..0000000000 --- a/interfaces/react.types.CreateReactorReturn.html +++ /dev/null @@ -1,53 +0,0 @@ -CreateReactorReturn | ic-reactor -

Interface CreateReactorReturn<A>

interface CreateReactorReturn<A> {
    useAgent: (() => undefined | types.HttpAgent);
    useAgentState: (() => types.AgentState);
    useUserPrincipal: (() => undefined | types.Principal);
    useAuthState: (() => types.AuthState);
    useAuthClient: ((args?) => UseAuthClientReturn);
    initialize: (() => Promise<void>);
    useActorState: (() => UseActorState);
    useQueryCall: UseQueryCall<A>;
    useUpdateCall: UseUpdateCall<A>;
    useMethodCall: UseMethodCall<A>;
    useVisitMethod: (<M>(functionName) => types.VisitService<A>[M]);
    getAgent: (() => types.HttpAgent);
    getVisitFunction: (() => types.VisitService<A>);
}

Type Parameters

  • A

Hierarchy (view full)

Properties

useAgent: (() => undefined | types.HttpAgent)

Type declaration

useAgentState: (() => types.AgentState)

Type declaration

useUserPrincipal: (() => undefined | types.Principal)

Type declaration

useAuthState: (() => types.AuthState)

Type declaration

useAuthClient: ((args?) => UseAuthClientReturn)

Type declaration

initialize: (() => Promise<void>)

Type declaration

useActorState: (() => UseActorState)

Type declaration

useQueryCall: UseQueryCall<A>
useUpdateCall: UseUpdateCall<A>
useMethodCall: UseMethodCall<A>
useVisitMethod: (<M>(functionName) => types.VisitService<A>[M])

Type declaration

getAgent: (() => types.HttpAgent)

Type declaration

getVisitFunction: (() => types.VisitService<A>)

Type declaration

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.CreateReactorReturnType.html b/interfaces/react.types.CreateReactorReturnType.html new file mode 100644 index 0000000000..b47dab9abb --- /dev/null +++ b/interfaces/react.types.CreateReactorReturnType.html @@ -0,0 +1,52 @@ +CreateReactorReturnType | ic-reactor +

Interface CreateReactorReturnType<A>

interface CreateReactorReturnType<A> {
    useAgent: (() => undefined | types.HttpAgent);
    useAgentState: (() => types.AgentState);
    useUserPrincipal: (() => undefined | types.Principal);
    useAuthState: (() => types.AuthState);
    useAuthClient: ((args?) => UseAuthClientReturnType);
    initialize: (() => Promise<void>);
    useActorState: (() => UseActorState);
    useQueryCall: UseQueryCall<A>;
    useUpdateCall: UseUpdateCall<A>;
    useVisitMethod: (<M>(functionName) => types.VisitService<A>[M]);
    getAgent: (() => types.HttpAgent);
    getVisitFunction: (() => types.VisitService<A>);
}

Type Parameters

  • A

Hierarchy (view full)

Properties

useAgent: (() => undefined | types.HttpAgent)

Type declaration

useAgentState: (() => types.AgentState)

Type declaration

useUserPrincipal: (() => undefined | types.Principal)

Type declaration

useAuthState: (() => types.AuthState)

Type declaration

useAuthClient: ((args?) => UseAuthClientReturnType)

Type declaration

initialize: (() => Promise<void>)

Type declaration

useActorState: (() => UseActorState)

Type declaration

useQueryCall: UseQueryCall<A>
useUpdateCall: UseUpdateCall<A>
useVisitMethod: (<M>(functionName) => types.VisitService<A>[M])

Type declaration

getAgent: (() => types.HttpAgent)

Type declaration

getVisitFunction: (() => types.VisitService<A>)

Type declaration

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/react.types.CreateReactorStoreOptions.html b/interfaces/react.types.CreateReactorStoreParameters.html similarity index 57% rename from interfaces/react.types.CreateReactorStoreOptions.html rename to interfaces/react.types.CreateReactorStoreParameters.html index 7d792bb1df..0e4d7c49e8 100644 --- a/interfaces/react.types.CreateReactorStoreOptions.html +++ b/interfaces/react.types.CreateReactorStoreParameters.html @@ -1,23 +1,24 @@ -CreateReactorStoreOptions | ic-reactor -

Interface CreateReactorStoreOptions

interface CreateReactorStoreOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    agentManager?: AgentManager;
    isLocalEnv?: boolean;
    port?: number;
}

Hierarchy (view full)

Properties

source? -fetch? -fetchOptions? -callOptions? -host? -identity? -credentials? -useQueryNonces? -retryTimes? -verifyQuerySignatures? -logToConsole? -idlFactory -canisterId -withVisitor? -withDevtools? -initializeOnCreate? -agentManager? -isLocalEnv? -port? +CreateReactorStoreParameters | ic-reactor +

Interface CreateReactorStoreParameters

interface CreateReactorStoreParameters {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    idlFactory: types.IDL.InterfaceFactory;
    canisterId: types.CanisterId;
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    agentManager?: types.AgentManager;
    withProcessEnv?: boolean;
    isLocalEnv?: boolean;
    port?: number;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. Enabling will prevent queries from being answered with a cached response.

@@ -32,10 +33,10 @@

Default

false
 

Default

true
 
logToConsole?: boolean

Whether to log to the console. Defaults to false.

-
canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
agentManager?: AgentManager
isLocalEnv?: boolean
port?: number

Generated using TypeDoc
+

canisterId: types.CanisterId
withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
agentManager?: types.AgentManager
withProcessEnv?: boolean
isLocalEnv?: boolean
port?: number

Generated using TypeDoc
-

Interface DefaultActorType

interface DefaultActorType {
    [key: string]: types.ActorMethod;
}

Indexable

[key: string]: types.ActorMethod

Generated using TypeDoc
+

Interface DefaultActorType

interface DefaultActorType {
    [key: string]: types.ActorMethod;
}

Indexable

[key: string]: types.ActorMethod

Generated using TypeDoc
-

Interface HttpAgentOptions

interface HttpAgentOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
}

Hierarchy (view full)

Properties

source? +

Interface HttpAgentOptions

interface HttpAgentOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
}

Hierarchy (view full)

Properties

source? fetch? fetchOptions? callOptions? @@ -27,7 +27,7 @@

Default

false
 

Generated using TypeDoc
-

Interface ReactorCallReturn<A, M>

interface ReactorCallReturn<A, M> {
    data: undefined | types.ActorMethodReturnType<A[M]>;
    error: undefined | Error;
    loading: boolean;
    reset: (() => void);
    call: ((eventOrReplaceArgs?) => Promise<undefined | types.ActorMethodReturnType<A[M]>>);
}

Type Parameters

Hierarchy (view full)

Properties

Properties

data: undefined | types.ActorMethodReturnType<A[M]>
error: undefined | Error
loading: boolean
reset: (() => void)

Type declaration

    • (): void
    • Returns void

call: ((eventOrReplaceArgs?) => Promise<undefined | types.ActorMethodReturnType<A[M]>>)

Type declaration

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.ReactorCore.html b/interfaces/react.types.ReactorCore.html deleted file mode 100644 index 784774f75c..0000000000 --- a/interfaces/react.types.ReactorCore.html +++ /dev/null @@ -1,70 +0,0 @@ -ReactorCore | ic-reactor -

Interface ReactorCore<A>

interface ReactorCore<A> {
    canisterId: types.CanisterId;
    actorStore: types.ActorStore<A>;
    visitFunction: types.VisitService<A>;
    initialize: ((options?) => Promise<void>);
    callMethod: (<M>(functionName, ...args) => Promise<types.ActorMethodReturnType<A[M]>>);
    agentManager: AgentManager;
    getActor: (() => null | A);
    getState: (() => types.ActorState<A>);
    subscribeActorState: ((listener) => (() => void));
    setState: ((partial, replace?) => void);
    agentStore: types.AgentStore;
    authStore: types.AuthStore;
    isLocalEnv: boolean;
    subscribeAgent: ((callback) => (() => void));
    unsubscribeAgent: ((callback) => void);
    updateAgent: ((options?) => Promise<void>);
    authenticate: (() => Promise<types.Identity>);
    getAgent: (() => types.HttpAgent);
    getAgentState: (() => types.AgentState);
    subscribeAgentState: ((listener) => (() => void));
    getAuthState: (() => types.AuthState);
    subscribeAuthState: ((listener) => (() => void));
    getAuthClient: (() => null | types.AuthClient);
    getIdentity: (() => null | types.Identity);
    getPrincipal: (() => null | types.Principal);
    login: ((options?) => Promise<void>);
    logout: ((options?) => Promise<void>);
    queryCall: types.ActorQuery<A>;
    updateCall: types.ActorUpdate<A>;
    extractService(): types.VisitService<A>;
}

Type Parameters

Hierarchy (view full)

Properties

canisterId: types.CanisterId
actorStore: types.ActorStore<A>
visitFunction: types.VisitService<A>
initialize: ((options?) => Promise<void>)

Type declaration

callMethod: (<M>(functionName, ...args) => Promise<types.ActorMethodReturnType<A[M]>>)

Type declaration

agentManager: AgentManager
getActor: (() => null | A)

Type declaration

    • (): null | A
    • Returns null | A

getState: (() => types.ActorState<A>)

Type declaration

subscribeActorState: ((listener) => (() => void))

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

setState: ((partial, replace?) => void)

Type declaration

agentStore: types.AgentStore
authStore: types.AuthStore
isLocalEnv: boolean
subscribeAgent: ((callback) => (() => void))

Type declaration

    • (callback): (() => void)
    • Parameters

      • callback: ((agent) => void)

      Returns (() => void)

        • (): void
        • Returns void

unsubscribeAgent: ((callback) => void)

Type declaration

    • (callback): void
    • Parameters

      • callback: ((agent) => void)

      Returns void

updateAgent: ((options?) => Promise<void>)

Type declaration

authenticate: (() => Promise<types.Identity>)

Type declaration

getAgent: (() => types.HttpAgent)

Type declaration

getAgentState: (() => types.AgentState)

Type declaration

subscribeAgentState: ((listener) => (() => void))

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthState: (() => types.AuthState)

Type declaration

subscribeAuthState: ((listener) => (() => void))

Type declaration

    • (listener): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

getAuthClient: (() => null | types.AuthClient)

Type declaration

getIdentity: (() => null | types.Identity)

Type declaration

getPrincipal: (() => null | types.Principal)

Type declaration

login: ((options?) => Promise<void>)

Type declaration

    • (options?): Promise<void>
    • Parameters

      • Optional options: AuthClientLoginOptions

      Returns Promise<void>

logout: ((options?) => Promise<void>)

Type declaration

    • (options?): Promise<void>
    • Parameters

      • Optional options: {
            returnTo?: string;
        }
        • Optional returnTo?: string

      Returns Promise<void>

queryCall: types.ActorQuery<A>
updateCall: types.ActorUpdate<A>

Methods

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.UpdateAgentOptions.html b/interfaces/react.types.UpdateAgentParameters.html similarity index 68% rename from interfaces/react.types.UpdateAgentOptions.html rename to interfaces/react.types.UpdateAgentParameters.html index 4a02c26446..e35ecadf8f 100644 --- a/interfaces/react.types.UpdateAgentOptions.html +++ b/interfaces/react.types.UpdateAgentParameters.html @@ -1,16 +1,16 @@ -UpdateAgentOptions | ic-reactor -

Interface UpdateAgentOptions

interface UpdateAgentOptions {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    agent?: types.HttpAgent;
}

Hierarchy (view full)

Properties

source? -fetch? -fetchOptions? -callOptions? -host? -identity? -credentials? -useQueryNonces? -retryTimes? -verifyQuerySignatures? -logToConsole? -agent? +UpdateAgentParameters | ic-reactor +

Interface UpdateAgentParameters

interface UpdateAgentParameters {
    source?: types.HttpAgent;
    fetch?: {
        (input, init?): Promise<Response>;
        (input, init?): Promise<Response>;
    };
    fetchOptions?: Record<string, unknown>;
    callOptions?: Record<string, unknown>;
    host?: string;
    identity?: types.Identity | Promise<types.Identity>;
    credentials?: {
        name: string;
        password?: string;
    };
    useQueryNonces?: boolean;
    retryTimes?: number;
    verifyQuerySignatures?: boolean;
    logToConsole?: boolean;
    agent?: types.HttpAgent;
}

Hierarchy (view full)

Properties

source?: types.HttpAgent
fetch?: {
    (input, init?): Promise<Response>;
    (input, init?): Promise<Response>;
}

Type declaration

fetchOptions?: Record<string, unknown>
callOptions?: Record<string, unknown>
host?: string
credentials?: {
    name: string;
    password?: string;
}

Type declaration

  • name: string
  • Optional password?: string
useQueryNonces?: boolean

Adds a unique Nonce with each query. Enabling will prevent queries from being answered with a cached response.

@@ -25,10 +25,10 @@

Default

false
 

Default

true
 
logToConsole?: boolean

Whether to log to the console. Defaults to false.

-

Generated using TypeDoc
+

Generated using TypeDoc
-

Interface UseReactorReturn<A>

interface UseReactorReturn<A> {
    hooks: null | ActorHooks<A>;
    fetching: boolean;
    fetchError: null | string;
}

Type Parameters

Properties

Properties

hooks: null | ActorHooks<A>
fetching: boolean
fetchError: null | string

Generated using TypeDoc
+UseActorParameters | ic-reactor +

Interface UseActorParameters

interface UseActorParameters {
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    canisterId: string;
    idlFactory?: types.IDL.InterfaceFactory;
    agentContext?: Context<null | AgentContext>;
    didjsCanisterId?: string;
}

Hierarchy

Properties

withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
canisterId: string
agentContext?: Context<null | AgentContext>
didjsCanisterId?: string

Generated using TypeDoc
-

Interface CandidAdapterOptions

interface CandidAdapterOptions {
    agentManager?: AgentManager;
    agent?: types.HttpAgent;
    didjsCanisterId?: string;
}

Properties

agentManager?: AgentManager
didjsCanisterId?: string

Generated using TypeDoc
+UseActorReturn | ic-reactor +

Interface UseActorReturn<A>

interface UseActorReturn<A> {
    hooks: null | ActorHooksReturnType<A>;
    fetching: boolean;
    fetchError: null | string;
}

Type Parameters

Properties

Properties

hooks: null | ActorHooksReturnType<A>
fetching: boolean
fetchError: null | string

Generated using TypeDoc
-

Interface UseActorState

interface UseActorState {
    initialized: boolean;
    initializing: boolean;
    error: undefined | Error;
    canisterId: types.CanisterId;
}

Hierarchy

Properties

initialized +

Interface UseActorState

interface UseActorState {
    initialized: boolean;
    initializing: boolean;
    error: undefined | Error;
    canisterId: types.CanisterId;
}

Hierarchy

Properties

initialized: boolean
initializing: boolean
error: undefined | Error
canisterId: types.CanisterId

Generated using TypeDoc
+

Properties

initialized: boolean
initializing: boolean
error: undefined | Error
canisterId: types.CanisterId

Generated using TypeDoc
-

Interface UseAuthClientArgs

interface UseAuthClientArgs {
    onAuthentication?: ((promise) => void);
    onAuthenticationSuccess?: ((identity) => void);
    onAuthenticationFailure?: ((error) => void);
    onLoginSuccess?: ((principal) => void);
    onLoginError?: ((error) => void);
    onLogin?: ((promise) => void);
    onLoggedOut?: (() => void);
}

Properties

onAuthentication?: ((promise) => void)

Type declaration

onAuthenticationSuccess?: ((identity) => void)

Type declaration

onAuthenticationFailure?: ((error) => void)

Type declaration

    • (error): void
    • Parameters

      Returns void

onLoginSuccess?: ((principal) => void)

Type declaration

onLoginError?: ((error) => void)

Type declaration

    • (error): void
    • Parameters

      Returns void

onLogin?: ((promise) => void)

Type declaration

onLoggedOut?: (() => void)

Type declaration

    • (): void
    • Returns void

Generated using TypeDoc
+UseAuthClientParameters | ic-reactor +

Interface UseAuthClientParameters

interface UseAuthClientParameters {
    onAuthentication?: ((promise) => void);
    onAuthenticationSuccess?: ((identity) => void);
    onAuthenticationFailure?: ((error) => void);
    onLoginSuccess?: ((principal) => void);
    onLoginError?: ((error) => void);
    onLogin?: ((promise) => void);
    onLoggedOut?: (() => void);
}

Properties

onAuthentication?: ((promise) => void)

Type declaration

onAuthenticationSuccess?: ((identity) => void)

Type declaration

onAuthenticationFailure?: ((error) => void)

Type declaration

    • (error): void
    • Parameters

      Returns void

onLoginSuccess?: ((principal) => void)

Type declaration

onLoginError?: ((error) => void)

Type declaration

    • (error): void
    • Parameters

      Returns void

onLogin?: ((promise) => void)

Type declaration

onLoggedOut?: (() => void)

Type declaration

    • (): void
    • Returns void

Generated using TypeDoc
-

Interface UseAuthClientReturn

interface UseAuthClientReturn {
    error: undefined | Error;
    authClient: null | types.AuthClient;
    authenticated: boolean;
    authenticating: boolean;
    identity: null | types.Identity;
    login: ((options?) => Promise<void>);
    logout: ((options?) => Promise<void>);
    authenticate: (() => Promise<types.Identity>);
    loginLoading: boolean;
    loginError: null | Error;
}

Properties

error: undefined | Error
authClient: null | types.AuthClient
authenticated: boolean
authenticating: boolean
identity: null | types.Identity
login: ((options?) => Promise<void>)

Type declaration

    • (options?): Promise<void>
    • Parameters

      • Optional options: AuthClientLoginOptions

      Returns Promise<void>

logout: ((options?) => Promise<void>)

Type declaration

authenticate: (() => Promise<types.Identity>)

Type declaration

loginLoading: boolean
loginError: null | Error

Generated using TypeDoc
+UseAuthClientReturnType | ic-reactor +

Interface UseAuthClientReturnType

interface UseAuthClientReturnType {
    error: undefined | Error;
    authClient: null | types.AuthClient;
    authenticated: boolean;
    authenticating: boolean;
    identity: null | types.Identity;
    login: ((options?) => Promise<void>);
    logout: ((options?) => Promise<void>);
    authenticate: (() => Promise<types.Identity>);
    loginLoading: boolean;
    loginError: null | Error;
}

Properties

error: undefined | Error
authClient: null | types.AuthClient
authenticated: boolean
authenticating: boolean
identity: null | types.Identity
login: ((options?) => Promise<void>)

Type declaration

logout: ((options?) => Promise<void>)

Type declaration

authenticate: (() => Promise<types.Identity>)

Type declaration

loginLoading: boolean
loginError: null | Error

Generated using TypeDoc
-

Interface UseMethodCallReturn<A, M>

interface UseMethodCallReturn<A, M> {
    data: undefined | types.ActorMethodReturnType<A[M]>;
    call: ((eventOrReplaceArgs?) => Promise<undefined | types.ActorMethodReturnType<A[M]>>);
    visit: types.VisitService<A>[M];
    reset: (() => void);
    error: undefined | Error;
    loading: boolean;
}

Type Parameters

Hierarchy (view full)

Properties

Properties

data: undefined | types.ActorMethodReturnType<A[M]>
call: ((eventOrReplaceArgs?) => Promise<undefined | types.ActorMethodReturnType<A[M]>>)

Type declaration

reset: (() => void)

Type declaration

    • (): void
    • Returns void

error: undefined | Error
loading: boolean

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.UseMethodCallReturnType.html b/interfaces/react.types.UseMethodCallReturnType.html new file mode 100644 index 0000000000..466bc37783 --- /dev/null +++ b/interfaces/react.types.UseMethodCallReturnType.html @@ -0,0 +1,45 @@ +UseMethodCallReturnType | ic-reactor +

Interface UseMethodCallReturnType<A, M>

interface UseMethodCallReturnType<A, M> {
    data: undefined | types.ActorMethodReturnType<A[M]>;
    error: undefined | Error;
    loading: boolean;
    reset: (() => void);
    call: ((eventOrReplaceArgs?) => Promise<undefined | types.ActorMethodReturnType<A[M]>>);
}

Type Parameters

Hierarchy (view full)

Properties

Properties

data: undefined | types.ActorMethodReturnType<A[M]>
error: undefined | Error
loading: boolean
reset: (() => void)

Type declaration

    • (): void
    • Returns void

call: ((eventOrReplaceArgs?) => Promise<undefined | types.ActorMethodReturnType<A[M]>>)

Type declaration

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/react.types.UseQueryCallArgs.html b/interfaces/react.types.UseQueryCallArgs.html deleted file mode 100644 index bbd7019c2d..0000000000 --- a/interfaces/react.types.UseQueryCallArgs.html +++ /dev/null @@ -1,48 +0,0 @@ -UseQueryCallArgs | ic-reactor -

Interface UseQueryCallArgs<A, M>

interface UseQueryCallArgs<A, M> {
    functionName: M;
    args?: types.ActorMethodArgs<A[M]>;
    onLoading?: ((loading) => void);
    onError?: ((error) => void);
    onSuccess?: ((data) => void);
    throwOnError?: boolean;
    refetchOnMount?: boolean;
    refetchInterval?: number | false;
}

Type Parameters

Hierarchy (view full)

Properties

functionName: M
onLoading?: ((loading) => void)

Type declaration

    • (loading): void
    • Parameters

      • loading: boolean

      Returns void

onError?: ((error) => void)

Type declaration

    • (error): void
    • Parameters

      Returns void

onSuccess?: ((data) => void)

Type declaration

throwOnError?: boolean
refetchOnMount?: boolean
refetchInterval?: number | false

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.UseQueryCallParameters.html b/interfaces/react.types.UseQueryCallParameters.html new file mode 100644 index 0000000000..88b4601f20 --- /dev/null +++ b/interfaces/react.types.UseQueryCallParameters.html @@ -0,0 +1,48 @@ +UseQueryCallParameters | ic-reactor +

Interface UseQueryCallParameters<A, M>

interface UseQueryCallParameters<A, M> {
    functionName: M;
    args?: types.ActorMethodParameters<A[M]>;
    onLoading?: ((loading) => void);
    onError?: ((error) => void);
    onSuccess?: ((data) => void);
    throwOnError?: boolean;
    refetchOnMount?: boolean;
    refetchInterval?: number | false;
}

Type Parameters

Hierarchy (view full)

Properties

functionName: M
onLoading?: ((loading) => void)

Type declaration

    • (loading): void
    • Parameters

      • loading: boolean

      Returns void

onError?: ((error) => void)

Type declaration

    • (error): void
    • Parameters

      Returns void

onSuccess?: ((data) => void)

Type declaration

throwOnError?: boolean
refetchOnMount?: boolean
refetchInterval?: number | false

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/react.types.UseReactorOptions.html b/interfaces/react.types.UseReactorOptions.html deleted file mode 100644 index aaac89743b..0000000000 --- a/interfaces/react.types.UseReactorOptions.html +++ /dev/null @@ -1,47 +0,0 @@ -UseReactorOptions | ic-reactor -

Interface UseReactorOptions

interface UseReactorOptions {
    withVisitor?: boolean;
    withDevtools?: boolean;
    initializeOnCreate?: boolean;
    canisterId: string;
    idlFactory?: types.IDL.InterfaceFactory;
    agentContext?: Context<null | AgentContext>;
    didjsCanisterId?: string;
}

Hierarchy

Properties

withVisitor?: boolean
withDevtools?: boolean
initializeOnCreate?: boolean
canisterId: string
agentContext?: Context<null | AgentContext>
didjsCanisterId?: string

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.UseReactorState.html b/interfaces/react.types.UseReactorState.html deleted file mode 100644 index d62c1a8293..0000000000 --- a/interfaces/react.types.UseReactorState.html +++ /dev/null @@ -1,43 +0,0 @@ -UseReactorState | ic-reactor -

Interface UseReactorState

interface UseReactorState {
    idlFactory?: types.IDL.InterfaceFactory;
    fetching: boolean;
    fetchError: null | string;
}

Properties

fetching: boolean
fetchError: null | string

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.UseUpdateCallArgs.html b/interfaces/react.types.UseUpdateCallArgs.html deleted file mode 100644 index 69940efbd1..0000000000 --- a/interfaces/react.types.UseUpdateCallArgs.html +++ /dev/null @@ -1,46 +0,0 @@ -UseUpdateCallArgs | ic-reactor -

Interface UseUpdateCallArgs<A, M>

interface UseUpdateCallArgs<A, M> {
    functionName: M;
    args?: types.ActorMethodArgs<A[M]>;
    onLoading?: ((loading) => void);
    onError?: ((error) => void);
    onSuccess?: ((data) => void);
    throwOnError?: boolean;
}

Type Parameters

Hierarchy (view full)

Properties

functionName: M
onLoading?: ((loading) => void)

Type declaration

    • (loading): void
    • Parameters

      • loading: boolean

      Returns void

onError?: ((error) => void)

Type declaration

    • (error): void
    • Parameters

      Returns void

onSuccess?: ((data) => void)

Type declaration

throwOnError?: boolean

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/interfaces/react.types.UseUpdateCallParameters.html b/interfaces/react.types.UseUpdateCallParameters.html new file mode 100644 index 0000000000..ff65a223b1 --- /dev/null +++ b/interfaces/react.types.UseUpdateCallParameters.html @@ -0,0 +1,46 @@ +UseUpdateCallParameters | ic-reactor +

Interface UseUpdateCallParameters<A, M>

interface UseUpdateCallParameters<A, M> {
    functionName: M;
    args?: types.ActorMethodParameters<A[M]>;
    onLoading?: ((loading) => void);
    onError?: ((error) => void);
    onSuccess?: ((data) => void);
    throwOnError?: boolean;
}

Type Parameters

Hierarchy (view full)

Properties

functionName: M
onLoading?: ((loading) => void)

Type declaration

    • (loading): void
    • Parameters

      • loading: boolean

      Returns void

onError?: ((error) => void)

Type declaration

    • (error): void
    • Parameters

      Returns void

onSuccess?: ((data) => void)

Type declaration

throwOnError?: boolean

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/interfaces/visitor.types.DefaultField.html b/interfaces/visitor.types.DefaultField.html index 31d77cca4e..8334b9beae 100644 --- a/interfaces/visitor.types.DefaultField.html +++ b/interfaces/visitor.types.DefaultField.html @@ -1,15 +1,15 @@ DefaultField | ic-reactor -
interface DefaultField {
    maxLength?: number;
    minLength?: number;
    type: FieldType;
    label: string;
    validate: ((value) => string | boolean);
    defaultValue?: any;
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

maxLength? +
interface DefaultField {
    maxLength?: number;
    minLength?: number;
    type: FieldType;
    label: string;
    validate: ((value) => string | boolean);
    defaultValue?: any;
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

maxLength?: number
minLength?: number
type: FieldType
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValue?: any
defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
+

Properties

maxLength?: number
minLength?: number
type: FieldType
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValue?: any
defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
-

Interface DynamicDataArgs<V>

interface DynamicDataArgs<V> {
    label: string;
    value: V;
}

Type Parameters

  • V = unknown

Properties

label +

Interface DynamicDataArgs<V>

interface DynamicDataArgs<V> {
    label: string;
    value: V;
}

Type Parameters

  • V = unknown

Properties

Properties

label: string
value: V

Generated using TypeDoc
+

Properties

label: string
value: V

Generated using TypeDoc
-

Interface ExtractedServiceDetails<A>

interface ExtractedServiceDetails<A> {
    canisterId: string;
    description: string;
    methodDetails: ServiceDetails<A>;
}

Type Parameters

Properties

canisterId +

Interface ExtractedServiceDetails<A>

interface ExtractedServiceDetails<A> {
    canisterId: string;
    description: string;
    methodDetails: ServiceDetails<A>;
}

Type Parameters

Properties

canisterId: string
description: string
methodDetails: ServiceDetails<A>

Generated using TypeDoc
+

Properties

canisterId: string
description: string
methodDetails: ServiceDetails<A>

Generated using TypeDoc
-

Interface ExtractedServiceFields<A>

interface ExtractedServiceFields<A> {
    canisterId: string;
    methodFields: ServiceFields<A, types.FunctionName<A>>;
}

Type Parameters

Properties

canisterId +

Interface ExtractedServiceFields<A>

interface ExtractedServiceFields<A> {
    canisterId: string;
    methodFields: ServiceFields<A, types.FunctionName<A>>;
}

Type Parameters

Properties

canisterId: string

Generated using TypeDoc
+

Properties

canisterId: string

Generated using TypeDoc
-

Interface ExtractedServiceResults<A>

interface ExtractedServiceResults<A> {
    canisterId: string;
    methodResult: ServiceResult<A>;
}

Type Parameters

Properties

canisterId +

Interface ExtractedServiceResults<A>

interface ExtractedServiceResults<A> {
    canisterId: string;
    methodResult: ServiceResult<A>;
}

Type Parameters

Properties

canisterId: string
methodResult: ServiceResult<A>

Generated using TypeDoc
+

Properties

canisterId: string
methodResult: ServiceResult<A>

Generated using TypeDoc
-

interface FieldDetails {
    __label: string;
    __type: FieldType;
    __description: string;
    [key: string]: string | boolean | undefined;
}

Hierarchy (view full)

Indexable

[key: string]: string | boolean | undefined

Properties

__label +
interface FieldDetails {
    __label: string;
    __type: FieldType;
    __description: string;
    [key: string]: string | boolean | undefined;
}

Hierarchy (view full)

Indexable

[key: string]: string | boolean | undefined

Properties

__label: string
__type: FieldType
__description: string

Generated using TypeDoc
+

Properties

__label: string
__type: FieldType
__description: string

Generated using TypeDoc
-

Interface FieldDetailsWithChild

interface FieldDetailsWithChild {
    __hidden?: boolean;
    __checked?: boolean;
    __label: string;
    __type: FieldType;
    __description: string;
    optional?: OtherDetails;
    vector?: OtherDetails;
    [key: string]: string | boolean | undefined | OtherDetails;
}

Indexable

[key: string]: string | boolean | undefined | OtherDetails

Properties

__hidden? +

Interface FieldDetailsWithChild

interface FieldDetailsWithChild {
    __hidden?: boolean;
    __checked?: boolean;
    __label: string;
    __type: FieldType;
    __description: string;
    optional?: OtherDetails;
    vector?: OtherDetails;
    [key: string]: string | boolean | undefined | OtherDetails;
}

Indexable

[key: string]: string | boolean | undefined | OtherDetails

Properties

__hidden?: boolean
__checked?: boolean
__label: string
__type: FieldType
__description: string
optional?: OtherDetails
vector?: OtherDetails

Generated using TypeDoc
+

Properties

__hidden?: boolean
__checked?: boolean
__label: string
__type: FieldType
__description: string
optional?: OtherDetails
vector?: OtherDetails

Generated using TypeDoc
-

interface InputDetails {
    __label: string;
    __type: FieldType;
    __description: string;
    __checked?: boolean;
    [key: string]: string | boolean | undefined;
}

Hierarchy (view full)

Indexable

[key: string]: string | boolean | undefined

Properties

__label +
interface InputDetails {
    __label: string;
    __type: FieldType;
    __description: string;
    __checked?: boolean;
    [key: string]: string | boolean | undefined;
}

Hierarchy (view full)

Indexable

[key: string]: string | boolean | undefined

Properties

__label: string
__type: FieldType
__description: string
__checked?: boolean

Generated using TypeDoc
+

Properties

__label: string
__type: FieldType
__description: string
__checked?: boolean

Generated using TypeDoc
-

Interface InputField<T>

interface InputField<T> {
    required: true;
    defaultValue: FieldTypeFromIDLType<T>;
    maxLength?: number;
    minLength?: number;
    type: FieldType;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Type Parameters

Hierarchy (view full)

Properties

required +

Interface InputField<T>

interface InputField<T> {
    required: true;
    defaultValue: FieldTypeFromIDLType<T>;
    maxLength?: number;
    minLength?: number;
    type: FieldType;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Type Parameters

Hierarchy (view full)

Properties

required: true
defaultValue: FieldTypeFromIDLType<T>
maxLength?: number
minLength?: number
type: FieldType
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
+

Properties

required: true
defaultValue: FieldTypeFromIDLType<T>
maxLength?: number
minLength?: number
type: FieldType
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
-

Interface MethodFields<A, M>

interface MethodFields<A, M> {
    functionName: M;
    functionType: types.FunctionType;
    fields: [] | AllFieldTypes<types.IDL.Type<any>>[];
    validate: ((value) => string | boolean);
    defaultValues: ServiceDefaultValues<A, M>;
}

Type Parameters

Properties

functionName +

Interface MethodFields<A, M>

interface MethodFields<A, M> {
    functionName: M;
    functionType: types.FunctionType;
    fields: [] | AllFieldTypes<types.IDL.Type<any>>[];
    validate: ((value) => string | boolean);
    defaultValues: ServiceDefaultValues<A, M>;
}

Type Parameters

Properties

functionName: M
functionType: types.FunctionType
fields: [] | AllFieldTypes<types.IDL.Type<any>>[]
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues: ServiceDefaultValues<A, M>

Generated using TypeDoc
+

Properties

functionName: M
functionType: types.FunctionType
fields: [] | AllFieldTypes<types.IDL.Type<any>>[]
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues: ServiceDefaultValues<A, M>

Generated using TypeDoc
-

interface NumberField {
    type: "number";
    min?: string | number;
    max?: string | number;
    required: true;
    defaultValue: string;
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

type +
interface NumberField {
    type: "number";
    min?: string | number;
    max?: string | number;
    required: true;
    defaultValue: string;
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

Properties

type: "number"
min?: string | number
max?: string | number
required: true
defaultValue: string
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
+

Properties

type: "number"
min?: string | number
max?: string | number
required: true
defaultValue: string
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
-

Interface OptionalFields

interface OptionalFields {
    type: "optional";
    field: AllFieldTypes<types.IDL.Type<any>>;
    defaultValue: [];
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

type +

Interface OptionalFields

interface OptionalFields {
    type: "optional";
    field: AllFieldTypes<types.IDL.Type<any>>;
    defaultValue: [];
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

type: "optional"
defaultValue: []
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
+

Properties

type: "optional"
defaultValue: []
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
-

Interface PrincipalField

interface PrincipalField {
    type: "principal";
    required: true;
    maxLength: number;
    minLength: number;
    defaultValue: string;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

type +

Interface PrincipalField

interface PrincipalField {
    type: "principal";
    required: true;
    maxLength: number;
    minLength: number;
    defaultValue: string;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

type: "principal"
required: true
maxLength: number
minLength: number
defaultValue: string
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
+

Properties

type: "principal"
required: true
maxLength: number
minLength: number
defaultValue: string
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
-

Interface RecordFields<T>

interface RecordFields<T> {
    type: "record";
    fields: AllFieldTypes<T>[];
    defaultValues: Record<string, FieldTypeFromIDLType<T>>;
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValue?: any;
}

Type Parameters

Hierarchy (view full)

Properties

type +

Interface RecordFields<T>

interface RecordFields<T> {
    type: "record";
    fields: AllFieldTypes<T>[];
    defaultValues: Record<string, FieldTypeFromIDLType<T>>;
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValue?: any;
}

Type Parameters

Hierarchy (view full)

Properties

type: "record"
fields: AllFieldTypes<T>[]
defaultValues: Record<string, FieldTypeFromIDLType<T>>
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValue?: any

Generated using TypeDoc
+

Properties

type: "record"
fields: AllFieldTypes<T>[]
defaultValues: Record<string, FieldTypeFromIDLType<T>>
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValue?: any

Generated using TypeDoc
-

Interface RecursiveFields

interface RecursiveFields {
    type: "recursive";
    name: string;
    extract: (() => VariantFields<types.IDL.Type<any>>);
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValue?: any;
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

type +

Interface RecursiveFields

interface RecursiveFields {
    type: "recursive";
    name: string;
    extract: (() => VariantFields<types.IDL.Type<any>>);
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValue?: any;
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

type: "recursive"
name: string
extract: (() => VariantFields<types.IDL.Type<any>>)

Type declaration

maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValue?: any
defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
+

Properties

type: "recursive"
name: string
extract: (() => VariantFields<types.IDL.Type<any>>)

Type declaration

maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValue?: any
defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
-

Interface ResultArrayData<A, M>

interface ResultArrayData<A, M> {
    label: string;
    value: types.ActorMethodReturnType<A[M]>[];
}

Type Parameters

Properties

label +

Interface ResultArrayData<A, M>

interface ResultArrayData<A, M> {
    label: string;
    value: types.ActorMethodReturnType<A[M]>[];
}

Type Parameters

Properties

Properties

label: string

Generated using TypeDoc
+

Properties

label: string

Generated using TypeDoc
-

Interface ResultRecordData<A, M>

interface ResultRecordData<A, M> {
    label: string;
    value: Record<string, types.ActorMethodReturnType<A[M]>>;
}

Type Parameters

Properties

label +

Interface ResultRecordData<A, M>

interface ResultRecordData<A, M> {
    label: string;
    value: Record<string, types.ActorMethodReturnType<A[M]>>;
}

Type Parameters

Properties

Properties

label: string

Generated using TypeDoc
+

Properties

label: string

Generated using TypeDoc
-

Interface TupleFields<T>

interface TupleFields<T> {
    type: "tuple";
    fields: AllFieldTypes<T>[];
    defaultValues: FieldTypeFromIDLType<T>[];
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValue?: any;
}

Type Parameters

Hierarchy (view full)

Properties

type +

Interface TupleFields<T>

interface TupleFields<T> {
    type: "tuple";
    fields: AllFieldTypes<T>[];
    defaultValues: FieldTypeFromIDLType<T>[];
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValue?: any;
}

Type Parameters

Hierarchy (view full)

Properties

type: "tuple"
fields: AllFieldTypes<T>[]
defaultValues: FieldTypeFromIDLType<T>[]
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValue?: any

Generated using TypeDoc
+

Properties

type: "tuple"
fields: AllFieldTypes<T>[]
defaultValues: FieldTypeFromIDLType<T>[]
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValue?: any

Generated using TypeDoc
-

Interface VariantFields<T>

interface VariantFields<T> {
    type: "variant";
    options: string[];
    defaultValue: string;
    fields: AllFieldTypes<T>[];
    defaultValues: FieldTypeFromIDLType<T>;
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
}

Type Parameters

Hierarchy (view full)

Properties

type +

Interface VariantFields<T>

interface VariantFields<T> {
    type: "variant";
    options: string[];
    defaultValue: string;
    fields: AllFieldTypes<T>[];
    defaultValues: FieldTypeFromIDLType<T>;
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
}

Type Parameters

Hierarchy (view full)

Properties

Properties

type: "variant"
options: string[]
defaultValue: string
fields: AllFieldTypes<T>[]
defaultValues: FieldTypeFromIDLType<T>
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

Generated using TypeDoc
+

Properties

type: "variant"
options: string[]
defaultValue: string
fields: AllFieldTypes<T>[]
defaultValues: FieldTypeFromIDLType<T>
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

Generated using TypeDoc
-

interface VectorFields {
    type: "vector";
    field: AllFieldTypes<types.IDL.Type<any>>;
    defaultValue: [];
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

type +
interface VectorFields {
    type: "vector";
    field: AllFieldTypes<types.IDL.Type<any>>;
    defaultValue: [];
    maxLength?: number;
    minLength?: number;
    label: string;
    validate: ((value) => string | boolean);
    defaultValues?: any[] | Record<string, any>;
}

Hierarchy (view full)

Properties

type: "vector"
defaultValue: []
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
+

Properties

type: "vector"
defaultValue: []
maxLength?: number
minLength?: number
label: string
validate: ((value) => string | boolean)

Type declaration

    • (value): string | boolean
    • Parameters

      • value: any

      Returns string | boolean

defaultValues?: any[] | Record<string, any>

Generated using TypeDoc
-

Type alias LogoutOptions

LogoutOptions: {
    returnTo?: string;
}

Type declaration

  • Optional returnTo?: string

Generated using TypeDoc
+classes | ic-reactor +

Generated using TypeDoc
-

Namespace tools

Index

Variables

IC_HOST_NETWORK_URI +

Generated using TypeDoc
-

Namespace types

Index

Namespaces

References

Re-exports ActorManager
Re-exports AgentManager

Generated using TypeDoc
-

Namespace core

Index

Main

createCandidAdapter +

Generated using TypeDoc
-

Namespace helpers

Index

Functions

getActorHooks -getAgentHooks -getAuthHooks +

Generated using TypeDoc

Module react

@ic-reactor/react is a comprehensive React library designed to streamline interactions with the Internet Computer (IC) blockchain. It provides React hooks and utilities for efficient state management, authentication, and interaction with IC actors.

Features

  • React Hooks Integration: Custom hooks for managing blockchain actor states and authentication within React applications.
  • +
  • Type-Safe Actor Interactions: Type-safe interaction with IC actors using the provided actor declaration file.
  • Efficient State Management: Utilize the power of Zustand for global state management in React components.
  • Asynchronous Data Handling: Easy handling of asynchronous operations related to IC actors.
  • Authentication Support: Integrated hooks for managing authentication with the IC blockchain.
  • @@ -15,29 +16,26 @@

Usage

Here's a simple example to get you started:

First, create an actor declaration file:

-
// store.ts
import { canisterId, idlFactory, actor } from "declaration/actor"
import { createReactor } from "@ic-reactor/react"

type Actor = typeof actor

export const { useActorStore, useAuthClient, useQueryCall } =
createReactor<Actor>({
canisterId: "rrkah-fqaaa-aaaaa-aaaaq-cai",
idlFactory,
host: "https://localhost:4943",
}) +
// actor.ts
import { canisterId, idlFactory, actor } from "declaration/actor"
import { createReactor } from "@ic-reactor/react"

type Actor = typeof actor

export const { useActorStore, useAuthClient, useQueryCall } =
createReactor<Actor>({
canisterId,
idlFactory,
host: "https://localhost:4943",
})

Then, use the useQueryCall hook to call your canister method:

-
// Balance.tsx
import { useQueryCall } from "./store"

const Balance = ({ principal }) => {
const { call, data, loading, error } = useQueryCall({
functionName: "get_balance",
args: [principal],
refetchInterval: 1000,
refetchOnMount: true,
onLoading: () => console.log("Loading..."),
onSuccess: (data) => console.log("Success!", data),
onError: (error) => console.log("Error!", error),
})

return (
<div>
<button onClick={() => call()} disabled={loading}>
{loading ? "Loading..." : "Refresh"}
</button>
{loading && <p>Loading...</p>}
{data && <p>Balance: {data}</p>}
{error && <p>Error: {error}</p>}
</div>
)
}

export default Balance +
// Balance.tsx
import { useQueryCall } from "./actor"

const Balance = ({ principal }) => {
const { call, data, loading, error } = useQueryCall({
functionName: "get_balance",
args: [principal],
refetchInterval: 1000,
refetchOnMount: true,
onLoading: () => console.log("Loading..."),
onSuccess: (data) => console.log("Success!", data),
onError: (error) => console.log("Error!", error),
})

return (
<div>
<button onClick={call} disabled={loading}>
{loading ? "Loading..." : "Refresh"}
</button>
{loading && <p>Loading...</p>}
{data && <p>Balance: {data}</p>}
{error && <p>Error: {error}</p>}
</div>
)
}

export default Balance

Authentication

@ic-reactor/react provides a custom hook for managing authentication with the IC blockchain. To use it, first create an authentication declaration file:

-
// Login.tsx
import { useAuthClient } from "./store"

const Login = () => {
const {
login,
logout,
loginLoading,
loginError,
identity,
authenticating,
authenticated,
} = useAuthClient()

return (
<div>
<h2>Login:</h2>
<div>
{loginLoading && <div>Loading...</div>}
{loginError ? <div>{JSON.stringify(loginError)}</div> : null}
{identity && <div>{identity.getPrincipal().toText()}</div>}
</div>
{authenticated ? (
<div>
<button onClick={() => logout()}>Logout</button>
</div>
) : (
<div>
<button
onClick={() =>
login({
identityProvider:
process.env.DFX_NETWORK === "ic"
? "https://identity.ic0.app/#authorize"
: "http://rdmx6-jaaaa-aaaaa-aaadq-cai.localhost:4943/#authorize",
})
}
disabled={authenticating}
>
Login
</button>
</div>
)}
</div>
)
}

export default Login +
// Login.tsx
import { useAuthClient } from "./actor"

const Login = () => {
const {
login,
logout,
loginLoading,
loginError,
identity,
authenticating,
authenticated,
} = useAuthClient()

return (
<div>
<h2>Login:</h2>
<div>
{loginLoading && <div>Loading...</div>}
{loginError ? <div>{JSON.stringify(loginError)}</div> : null}
{identity && <div>{identity.getPrincipal().toText()}</div>}
</div>
{authenticated ? (
<div>
<button onClick={logout}>Logout</button>
</div>
) : (
<div>
<button onClick={login} disabled={authenticating}>
Login
</button>
</div>
)}
</div>
)
}

export default Login

Index

Namespaces

Functions

Functions

Generated using TypeDoc
-

Namespace types

Index

Namespaces

IDL +

Namespace types

Index

Namespaces

Classes

Interfaces

Type Aliases

Generated using TypeDoc
-

Namespace helper

Index

Functions

extractAndSortArgs +

Generated using TypeDoc
-

Namespace types

Index

Interfaces

ExtractedServiceDetails +

Generated using TypeDoc
-

Type alias ActorCallFunction<A, M>

ActorCallFunction<A, M>: ((replaceArgs?) => Promise<types.ActorMethodReturnType<A[M]>>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorCallFunction<A, M>

ActorCallFunction<A, M>: ((replaceArgs?) => Promise<types.ActorMethodReturnType<A[M]>>)

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorGetStateFunction<A, M>

ActorGetStateFunction<A, M>: {
    (key): types.ActorMethodReturnType<A[M]>;
    (key): boolean;
    (key): undefined | Error;
    (): {
        data: types.ActorMethodReturnType<A[M]> | undefined;
        loading: boolean;
        error: Error | undefined;
    };
}

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorGetStateFunction<A, M>

ActorGetStateFunction<A, M>: {
    (key): types.ActorMethodReturnType<A[M]>;
    (key): boolean;
    (key): undefined | Error;
    (): {
        data: types.ActorMethodReturnType<A[M]> | undefined;
        loading: boolean;
        error: Error | undefined;
    };
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorMethodCall<A>

ActorMethodCall<A>: (<M>(functionName, ...args) => types.ActorUpdateReturn<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorMethodCall<A>

ActorMethodCall<A>: (<M>(functionName, ...args) => types.ActorUpdateReturnType<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
-

Generated using TypeDoc
+ActorMethodParameters | ic-reactor +

Type alias ActorMethodParameters<T>

ActorMethodParameters<T>: T extends types.ActorMethod<infer Args, any>
    ? Args
    : never

Type Parameters

  • T

Generated using TypeDoc
-

Type alias ActorMethodReturnType<T>

ActorMethodReturnType<T>: T extends types.ActorMethod<any, infer Ret>
    ? Ret
    : never

Type Parameters

  • T

Generated using TypeDoc
+

Type alias ActorMethodReturnType<T>

ActorMethodReturnType<T>: T extends types.ActorMethod<any, infer Ret>
    ? Ret
    : never

Type Parameters

  • T

Generated using TypeDoc
-

Type alias ActorMethodStates<A>

ActorMethodStates<A>: {
    [M in types.FunctionName<A>]: types.ActorMethodState<A, M>
}

Type Parameters

Generated using TypeDoc
+

Type alias ActorMethodStates<A>

ActorMethodStates<A>: {
    [M in types.FunctionName<A>]: types.ActorMethodState<A, M>
}

Type Parameters

Generated using TypeDoc
-

Type alias ActorQuery<A>

ActorQuery<A>: (<M>(options) => types.ActorQueryReturn<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorQuery<A>

ActorQuery<A>: (<M>(config) => types.ActorQueryReturnType<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorQueryParameters<A, M>

ActorQueryParameters<A, M>: {
    functionName: M;
    args?: types.ActorMethodParameters<A[M]>;
    refetchOnMount?: boolean;
    refetchInterval?: number | false;
}

Type Parameters

Type declaration

Generated using TypeDoc
+ + +

\ No newline at end of file diff --git a/types/core.types.ActorQueryReturn.html b/types/core.types.ActorQueryReturnType.html similarity index 58% rename from types/core.types.ActorQueryReturn.html rename to types/core.types.ActorQueryReturnType.html index f89282f870..74ef5f5020 100644 --- a/types/core.types.ActorQueryReturn.html +++ b/types/core.types.ActorQueryReturnType.html @@ -1,8 +1,8 @@ -ActorQueryReturn | ic-reactor -

Type alias ActorQueryReturn<A, M>

ActorQueryReturn<A, M>: {
    intervalId: NodeJS.Timeout | null;
    requestHash: string;
    getState: types.ActorGetStateFunction<A, M>;
    subscribe: types.ActorSubscribeFunction<A, M>;
    call: types.ActorCallFunction<A, M>;
    dataPromise: Promise<types.ActorMethodReturnType<A[M]>>;
}

Type Parameters

Type declaration

Generated using TypeDoc
+ActorQueryReturnType | ic-reactor +

Type alias ActorQueryReturnType<A, M>

ActorQueryReturnType<A, M>: {
    intervalId: NodeJS.Timeout | null;
    requestHash: string;
    getState: types.ActorGetStateFunction<A, M>;
    subscribe: types.ActorSubscribeFunction<A, M>;
    call: types.ActorCallFunction<A, M>;
    dataPromise: Promise<types.ActorMethodReturnType<A[M]>>;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorState<A>

ActorState<A>: {
    initialized: boolean;
    initializing: boolean;
    error: Error | undefined;
    methodState: types.ActorMethodStates<A>;
}

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorState<A>

ActorState<A>: {
    initialized: boolean;
    initializing: boolean;
    error: Error | undefined;
    methodState: types.ActorMethodStates<A>;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorStore<A>

ActorStore<A>: StoreApi<types.ActorState<A>>

Type Parameters

Generated using TypeDoc
+

Type alias ActorStore<A>

ActorStore<A>: StoreApi<types.ActorState<A>>

Type Parameters

Generated using TypeDoc
-

Type alias ActorSubscribeFunction<A, M>

ActorSubscribeFunction<A, M>: ((callback) => (() => void))

Type Parameters

Type declaration

    • (callback): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

Generated using TypeDoc
+

Type alias ActorSubscribeFunction<A, M>

ActorSubscribeFunction<A, M>: ((callback) => (() => void))

Type Parameters

Type declaration

    • (callback): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

Generated using TypeDoc
-

Type alias ActorUpdate<A>

ActorUpdate<A>: (<M>(options) => types.ActorUpdateReturn<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorUpdate<A>

ActorUpdate<A>: (<M>(config) => types.ActorUpdateReturnType<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorUpdateArgs<A, M>

ActorUpdateArgs<A, M>: {
    functionName: M;
    args?: types.ActorMethodArgs<A[M]>;
}

Type Parameters

Type declaration

Generated using TypeDoc
+ActorUpdateParameters | ic-reactor +

Type alias ActorUpdateParameters<A, M>

ActorUpdateParameters<A, M>: {
    functionName: M;
    args?: types.ActorMethodParameters<A[M]>;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorUpdateReturn<A, M>

ActorUpdateReturn<A, M>: {
    requestHash: string;
    getState: types.ActorGetStateFunction<A, M>;
    subscribe: types.ActorSubscribeFunction<A, M>;
    call: types.ActorCallFunction<A, M>;
}

Type Parameters

Type declaration

Generated using TypeDoc
+ActorUpdateReturnType | ic-reactor +

Type alias ActorUpdateReturnType<A, M>

ActorUpdateReturnType<A, M>: {
    requestHash: string;
    getState: types.ActorGetStateFunction<A, M>;
    subscribe: types.ActorSubscribeFunction<A, M>;
    call: types.ActorCallFunction<A, M>;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias AgentStore

AgentStore: StoreApi<types.AgentState>

Generated using TypeDoc
+

Generated using TypeDoc
-

Type alias AuthStore

AuthStore: StoreApi<types.AuthState>

Generated using TypeDoc
+

Generated using TypeDoc
-

Type alias BaseActor<T>

BaseActor<T>: types.ActorSubclass<T>

Type Parameters

Generated using TypeDoc
+

Generated using TypeDoc
-

Type alias CallActorMethod<A>

CallActorMethod<A>: (<M>(functionName, ...args) => Promise<types.ActorMethodReturnType<A[M]>>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias CallActorMethod<A>

CallActorMethod<A>: (<M>(functionName, ...args) => Promise<types.ActorMethodReturnType<A[M]>>)

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias CanisterId

CanisterId: string | types.Principal

Generated using TypeDoc
+

Generated using TypeDoc
-

Type alias FunctionName<A>

FunctionName<A>: keyof A & string

Type Parameters

Generated using TypeDoc
+

Type alias FunctionName<A>

FunctionName<A>: keyof A & string

Type Parameters

Generated using TypeDoc
-

Type alias FunctionType

FunctionType: "query" | "update"

Generated using TypeDoc
+

Type alias FunctionType

FunctionType: "query" | "update"

Generated using TypeDoc
-

Type alias VisitService<A, M>

VisitService<A, M>: {
    [K in M]: (<V>(extractorClass, data?) => ReturnType<V["visitFunc"]>)
}

Type Parameters

Generated using TypeDoc
+

Type alias VisitService<A, M>

VisitService<A, M>: {
    [K in M]: (<V>(extractorClass, data?) => ReturnType<V["visitFunc"]>)
}

Type Parameters

Generated using TypeDoc
-

Type alias VisitorType<V>

VisitorType<V>: V extends types.IDL.Visitor<infer D, infer R>
    ? {
        data: D;
        returnType: R;
    }
    : never

Type Parameters

  • V

Generated using TypeDoc
+

Type alias VisitorType<V>

VisitorType<V>: V extends types.IDL.Visitor<infer D, infer R>
    ? {
        data: D;
        returnType: R;
    }
    : never

Type Parameters

  • V

Generated using TypeDoc
-

Type alias ActorCallFunction<A, M>

ActorCallFunction<A, M>: ((replaceArgs?) => Promise<types.ActorMethodReturnType<A[M]>>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorCallFunction<A, M>

ActorCallFunction<A, M>: ((replaceArgs?) => Promise<types.ActorMethodReturnType<A[M]>>)

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorCallState<A, M>

ActorCallState<A, M>: {
    data: types.ActorMethodReturnType<A[M]> | undefined;
    error: Error | undefined;
    loading: boolean;
}

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorCallState<A, M>

ActorCallState<A, M>: {
    data: types.ActorMethodReturnType<A[M]> | undefined;
    error: Error | undefined;
    loading: boolean;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorGetStateFunction<A, M>

ActorGetStateFunction<A, M>: {
    (key): types.ActorMethodReturnType<A[M]>;
    (key): boolean;
    (key): undefined | Error;
    (): {
        data: types.ActorMethodReturnType<A[M]> | undefined;
        loading: boolean;
        error: Error | undefined;
    };
}

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorGetStateFunction<A, M>

ActorGetStateFunction<A, M>: {
    (key): types.ActorMethodReturnType<A[M]>;
    (key): boolean;
    (key): undefined | Error;
    (): {
        data: types.ActorMethodReturnType<A[M]> | undefined;
        loading: boolean;
        error: Error | undefined;
    };
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorMethodCall<A>

ActorMethodCall<A>: (<M>(functionName, ...args) => types.ActorUpdateReturn<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorMethodCall<A>

ActorMethodCall<A>: (<M>(functionName, ...args) => types.ActorUpdateReturnType<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorMethodArgs<T>

ActorMethodArgs<T>: T extends types.ActorMethod<infer Args, any>
    ? Args
    : never

Type Parameters

  • T

Generated using TypeDoc
+ActorMethodParameters | ic-reactor +

Type alias ActorMethodParameters<T>

ActorMethodParameters<T>: T extends types.ActorMethod<infer Args, any>
    ? Args
    : never

Type Parameters

  • T

Generated using TypeDoc
-

Type alias ActorMethodReturnType<T>

ActorMethodReturnType<T>: T extends types.ActorMethod<any, infer Ret>
    ? Ret
    : never

Type Parameters

  • T

Generated using TypeDoc
+

Type alias ActorMethodReturnType<T>

ActorMethodReturnType<T>: T extends types.ActorMethod<any, infer Ret>
    ? Ret
    : never

Type Parameters

  • T

Generated using TypeDoc
-

Type alias ActorMethodStates<A>

ActorMethodStates<A>: {
    [M in types.FunctionName<A>]: types.ActorMethodState<A, M>
}

Type Parameters

Generated using TypeDoc
+

Type alias ActorMethodStates<A>

ActorMethodStates<A>: {
    [M in types.FunctionName<A>]: types.ActorMethodState<A, M>
}

Type Parameters

Generated using TypeDoc
-

Type alias ActorQuery<A>

ActorQuery<A>: (<M>(options) => types.ActorQueryReturn<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorQuery<A>

ActorQuery<A>: (<M>(config) => types.ActorQueryReturnType<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
-

  • Provides a set of React hooks designed for interacting with actors in an Internet Computer (IC) project using the React framework and Zustand for state management.

    -

    Type Parameters

    Parameters

    • actorManager: ActorManager<A>

      An instance of ActorManager containing methods and properties to manage actors, including the actorStore, canisterId, visitFunction, callMethod, and initialize function.

      -

    Returns ActorHooks<A>

    An object containing several hooks and utility functions for interacting with actors, managing state, and invoking actor methods.

    -

    Hooks included:

    -
      -
    • initialize: Function to initialize actor management.
    • -
    • useActorState: Hook for accessing the actor's state including the canister ID.
    • -
    • useVisitMethod: Hook for memoizing a method visit service for a given actor method name.
    • -
    • useReactorCall: Hook for making calls to actor methods with support for loading states, errors, and custom event handlers.
    • -
    • useQueryCall: Hook specifically designed for query calls to actors with features such as automatic refetching on mount and at specified intervals.
    • -
    • useUpdateCall: Alias for useReactorCall, tailored for update calls to actors.
    • -
    • useMethodCall: Combines useVisitMethod and useReactorCall for a streamlined experience when calling actor methods, including visitation and state management.
    • -
    -

    Each hook is designed to simplify the process of interacting with actors in IC projects by abstracting away the complexity of state management, error handling, and method invocation.

    -

Generated using TypeDoc
+ActorQueryParameters | ic-reactor +

Type alias ActorQueryParameters<A, M>

ActorQueryParameters<A, M>: {
    functionName: M;
    args?: types.ActorMethodParameters<A[M]>;
    refetchOnMount?: boolean;
    refetchInterval?: number | false;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorQueryReturn<A, M>

ActorQueryReturn<A, M>: {
    intervalId: NodeJS.Timeout | null;
    requestHash: string;
    getState: types.ActorGetStateFunction<A, M>;
    subscribe: types.ActorSubscribeFunction<A, M>;
    call: types.ActorCallFunction<A, M>;
    dataPromise: Promise<types.ActorMethodReturnType<A[M]>>;
}

Type Parameters

Type declaration

Generated using TypeDoc
+ActorQueryReturnType | ic-reactor +

Type alias ActorQueryReturnType<A, M>

ActorQueryReturnType<A, M>: {
    intervalId: NodeJS.Timeout | null;
    requestHash: string;
    getState: types.ActorGetStateFunction<A, M>;
    subscribe: types.ActorSubscribeFunction<A, M>;
    call: types.ActorCallFunction<A, M>;
    dataPromise: Promise<types.ActorMethodReturnType<A[M]>>;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorState<A>

ActorState<A>: {
    initialized: boolean;
    initializing: boolean;
    error: Error | undefined;
    methodState: types.ActorMethodStates<A>;
}

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorState<A>

ActorState<A>: {
    initialized: boolean;
    initializing: boolean;
    error: Error | undefined;
    methodState: types.ActorMethodStates<A>;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorStore<A>

ActorStore<A>: StoreApi<types.ActorState<A>>

Type Parameters

Generated using TypeDoc
+

Type alias ActorStore<A>

ActorStore<A>: StoreApi<types.ActorState<A>>

Type Parameters

Generated using TypeDoc
-

Type alias ActorSubscribeFunction<A, M>

ActorSubscribeFunction<A, M>: ((callback) => (() => void))

Type Parameters

Type declaration

    • (callback): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

Generated using TypeDoc
+

Type alias ActorSubscribeFunction<A, M>

ActorSubscribeFunction<A, M>: ((callback) => (() => void))

Type Parameters

Type declaration

    • (callback): (() => void)
    • Parameters

      Returns (() => void)

        • (): void
        • Returns void

Generated using TypeDoc
-

Type alias ActorUpdate<A>

ActorUpdate<A>: (<M>(options) => types.ActorUpdateReturn<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias ActorUpdate<A>

ActorUpdate<A>: (<M>(config) => types.ActorUpdateReturnType<A, M>)

Type Parameters

Type declaration

Generated using TypeDoc
-

Function extractActorHooks

Generated using TypeDoc
+ActorUpdateParameters | ic-reactor +

Type alias ActorUpdateParameters<A, M>

ActorUpdateParameters<A, M>: {
    functionName: M;
    args?: types.ActorMethodParameters<A[M]>;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias ActorUpdateReturn<A, M>

ActorUpdateReturn<A, M>: {
    requestHash: string;
    getState: types.ActorGetStateFunction<A, M>;
    subscribe: types.ActorSubscribeFunction<A, M>;
    call: types.ActorCallFunction<A, M>;
}

Type Parameters

Type declaration

Generated using TypeDoc
+ActorUpdateReturnType | ic-reactor +

Type alias ActorUpdateReturnType<A, M>

ActorUpdateReturnType<A, M>: {
    requestHash: string;
    getState: types.ActorGetStateFunction<A, M>;
    subscribe: types.ActorSubscribeFunction<A, M>;
    call: types.ActorCallFunction<A, M>;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias AgentStore

AgentStore: StoreApi<types.AgentState>

Generated using TypeDoc
+

Type alias AgentStore

AgentStore: StoreApi<types.AgentState>

Generated using TypeDoc
-

Type alias AuthStore

AuthStore: StoreApi<types.AuthState>

Generated using TypeDoc
+

Type alias AuthStore

AuthStore: StoreApi<types.AuthState>

Generated using TypeDoc
-

Type alias BaseActor<T>

BaseActor<T>: types.ActorSubclass<T>

Type Parameters

Generated using TypeDoc
+

Type alias BaseActor<T>

BaseActor<T>: types.ActorSubclass<T>

Type Parameters

Generated using TypeDoc
-

Type alias CallActorMethod<A>

CallActorMethod<A>: (<M>(functionName, ...args) => Promise<types.ActorMethodReturnType<A[M]>>)

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias CallActorMethod<A>

CallActorMethod<A>: (<M>(functionName, ...args) => Promise<types.ActorMethodReturnType<A[M]>>)

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias CanisterId

CanisterId: string | types.Principal

Generated using TypeDoc
+

Type alias CanisterId

CanisterId: string | types.Principal

Generated using TypeDoc
-

Type alias FunctionName<A>

FunctionName<A>: keyof A & string

Type Parameters

Generated using TypeDoc
+

Type alias FunctionName<A>

FunctionName<A>: keyof A & string

Type Parameters

Generated using TypeDoc
-

Type alias FunctionType

FunctionType: "query" | "update"

Generated using TypeDoc
+

Type alias FunctionType

FunctionType: "query" | "update"

Generated using TypeDoc
-

Type alias LoginOptions

LoginOptions: AuthClientLoginOptions

Generated using TypeDoc
+LoginParameters | ic-reactor +

Generated using TypeDoc
-

Type alias LoginState

LoginState: {
    loading: boolean;
    error: Error | null;
}

Type declaration

  • loading: boolean
  • error: Error | null

Generated using TypeDoc
+

Type alias LoginState

LoginState: {
    loading: boolean;
    error: Error | null;
}

Type declaration

  • loading: boolean
  • error: Error | null

Generated using TypeDoc
-

Type alias ActorQueryArgs<A, M>

ActorQueryArgs<A, M>: {
    functionName: M;
    args?: types.ActorMethodArgs<A[M]>;
    refetchOnMount?: boolean;
    refetchInterval?: number | false;
}

Type Parameters

Type declaration

  • functionName: M
  • Optional args?: types.ActorMethodArgs<A[M]>
  • Optional refetchOnMount?: boolean
  • Optional refetchInterval?: number | false

Generated using TypeDoc
+LogoutParameters | ic-reactor +

Type alias LogoutParameters

LogoutParameters: {
    returnTo?: string;
}

Type declaration

  • Optional returnTo?: string

Generated using TypeDoc
-

Type alias ReactorCallArgs<A, M>

ReactorCallArgs<A, M>: {
    functionName: M;
    args?: types.ActorMethodArgs<A[M]>;
    onLoading?: ((loading) => void);
    onError?: ((error) => void);
    onSuccess?: ((data) => void);
    throwOnError?: boolean;
}

Type Parameters

Type declaration

  • functionName: M
  • Optional args?: types.ActorMethodArgs<A[M]>
  • Optional onLoading?: ((loading) => void)
      • (loading): void
      • Parameters

        • loading: boolean

        Returns void

  • Optional onError?: ((error) => void)
      • (error): void
      • Parameters

        Returns void

  • Optional onSuccess?: ((data) => void)
  • Optional throwOnError?: boolean

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/types/react.types.UseMethodCall.html b/types/react.types.UseMethodCall.html index 41ba7c04c7..b53d4e62ff 100644 --- a/types/react.types.UseMethodCall.html +++ b/types/react.types.UseMethodCall.html @@ -1,8 +1,8 @@ UseMethodCall | ic-reactor -

Type alias UseMethodCall<A>

UseMethodCall<A>: (<M>(args) => UseMethodCallReturn<A, M>)

Type Parameters

  • A

Type declaration

Generated using TypeDoc
+

Type alias UseMethodCall<A>

UseMethodCall<A>: (<M>(args) => UseMethodCallReturnType<A, M>)

Type Parameters

  • A

Type declaration

Generated using TypeDoc
-

Type alias UseMethodCallArg<A, M>

UseMethodCallArg<A, M>: ReactorCallArgs<A, M>

Type Parameters

Generated using TypeDoc
- - -

\ No newline at end of file diff --git a/types/react.types.ReactorCall.html b/types/react.types.UseMethodCallParameters.html similarity index 55% rename from types/react.types.ReactorCall.html rename to types/react.types.UseMethodCallParameters.html index f189da3195..19d740bb24 100644 --- a/types/react.types.ReactorCall.html +++ b/types/react.types.UseMethodCallParameters.html @@ -1,8 +1,8 @@ -ReactorCall | ic-reactor -

Type alias ReactorCall<A>

ReactorCall<A>: (<M>(args) => ReactorCallReturn<A, M>)

Type Parameters

  • A

Type declaration

Generated using TypeDoc
+UseMethodCallParameters | ic-reactor +

Type alias UseMethodCallParameters<A, M>

UseMethodCallParameters<A, M>: {
    functionName: M;
    args?: types.ActorMethodParameters<A[M]>;
    onLoading?: ((loading) => void);
    onError?: ((error) => void);
    onSuccess?: ((data) => void);
    throwOnError?: boolean;
}

Type Parameters

Type declaration

  • functionName: M
  • Optional args?: types.ActorMethodParameters<A[M]>
  • Optional onLoading?: ((loading) => void)
      • (loading): void
      • Parameters

        • loading: boolean

        Returns void

  • Optional onError?: ((error) => void)
      • (error): void
      • Parameters

        Returns void

  • Optional onSuccess?: ((data) => void)
  • Optional throwOnError?: boolean

Generated using TypeDoc
-

Type alias UseQueryCall<A>

UseQueryCall<A>: (<M>(args) => ReactorCallReturn<A, M>)

Type Parameters

  • A

Type declaration

Generated using TypeDoc
+

Type alias UseQueryCall<A>

UseQueryCall<A>: (<M>(args) => UseMethodCallReturnType<A, M>)

Type Parameters

  • A

Type declaration

Generated using TypeDoc
-

Type alias UseUpdateCall<A>

UseUpdateCall<A>: (<M>(args) => ReactorCallReturn<A, M>)

Type Parameters

  • A

Type declaration

Generated using TypeDoc
+

Type alias UseUpdateCall<A>

UseUpdateCall<A>: (<M>(args) => UseMethodCallReturnType<A, M>)

Type Parameters

  • A

Type declaration

Generated using TypeDoc
-

Type alias VisitService<A, M>

VisitService<A, M>: {
    [K in M]: (<V>(extractorClass, data?) => ReturnType<V["visitFunc"]>)
}

Type Parameters

Generated using TypeDoc
+

Type alias VisitService<A, M>

VisitService<A, M>: {
    [K in M]: (<V>(extractorClass, data?) => ReturnType<V["visitFunc"]>)
}

Type Parameters

Generated using TypeDoc
-

Type alias VisitorType<V>

VisitorType<V>: V extends types.IDL.Visitor<infer D, infer R>
    ? {
        data: D;
        returnType: R;
    }
    : never

Type Parameters

  • V

Generated using TypeDoc
+

Type alias VisitorType<V>

VisitorType<V>: V extends types.IDL.Visitor<infer D, infer R>
    ? {
        data: D;
        returnType: R;
    }
    : never

Type Parameters

  • V

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Type alias DynamicFieldType<T>

DynamicFieldType<T>: T extends "record"
    ? RecordFields<types.IDL.Type>
    : T extends "variant"
        ? VariantFields<types.IDL.Type>
        : T extends "tuple"
            ? TupleFields<types.IDL.Type>
            : T extends "optional"
                ? OptionalFields
                : T extends "vector"
                    ? VectorFields
                    : T extends "recursive"
                        ? RecursiveFields
                        : T extends "unknown"
                            ? InputField<types.IDL.Type>
                            : T extends "text"
                                ? InputField<types.IDL.TextClass>
                                : T extends "number"
                                    ? NumberField
                                    : T extends "principal"
                                        ? PrincipalField
                                        : T extends "boolean"
                                            ? InputField<types.IDL.BoolClass>
                                            : T extends "null"
                                                ? InputField<types.IDL.NullClass>
                                                : never

Type Parameters

Generated using TypeDoc
+

Type alias DynamicFieldType<T>

DynamicFieldType<T>: T extends "record"
    ? RecordFields<types.IDL.Type>
    : T extends "variant"
        ? VariantFields<types.IDL.Type>
        : T extends "tuple"
            ? TupleFields<types.IDL.Type>
            : T extends "optional"
                ? OptionalFields
                : T extends "vector"
                    ? VectorFields
                    : T extends "recursive"
                        ? RecursiveFields
                        : T extends "unknown"
                            ? InputField<types.IDL.Type>
                            : T extends "text"
                                ? InputField<types.IDL.TextClass>
                                : T extends "number"
                                    ? NumberField
                                    : T extends "principal"
                                        ? PrincipalField
                                        : T extends "boolean"
                                            ? InputField<types.IDL.BoolClass>
                                            : T extends "null"
                                                ? InputField<types.IDL.NullClass>
                                                : never

Type Parameters

Generated using TypeDoc
-

Type alias DynamicFieldTypeByClass<T>

DynamicFieldTypeByClass<T>: T extends types.IDL.RecordClass
    ? RecordFields<T>
    : T extends types.IDL.TupleClass<types.IDL.Type[]>
        ? TupleFields<T>
        : T extends types.IDL.VariantClass
            ? VariantFields<T>
            : T extends types.IDL.VecClass<types.IDL.Type>
                ? VectorFields
                : T extends types.IDL.OptClass<types.IDL.Type>
                    ? OptionalFields
                    : T extends types.IDL.RecClass<types.IDL.Type>
                        ? RecursiveFields
                        : T extends types.IDL.PrincipalClass
                            ? PrincipalField
                            : T extends AllNumberTypes
                                ? NumberField
                                : InputField<T>

Type Parameters

Generated using TypeDoc
+

Type alias DynamicFieldTypeByClass<T>

DynamicFieldTypeByClass<T>: T extends types.IDL.RecordClass
    ? RecordFields<T>
    : T extends types.IDL.TupleClass<types.IDL.Type[]>
        ? TupleFields<T>
        : T extends types.IDL.VariantClass
            ? VariantFields<T>
            : T extends types.IDL.VecClass<types.IDL.Type>
                ? VectorFields
                : T extends types.IDL.OptClass<types.IDL.Type>
                    ? OptionalFields
                    : T extends types.IDL.RecClass<types.IDL.Type>
                        ? RecursiveFields
                        : T extends types.IDL.PrincipalClass
                            ? PrincipalField
                            : T extends AllNumberTypes
                                ? NumberField
                                : InputField<T>

Type Parameters

Generated using TypeDoc
-

Type alias ExtraInputFormFields

ExtraInputFormFields: Partial<{
    maxLength: number;
    minLength: number;
}>

Type declaration

  • maxLength: number
  • minLength: number

Generated using TypeDoc
+

Type alias ExtraInputFormFields

ExtraInputFormFields: Partial<{
    maxLength: number;
    minLength: number;
}>

Type declaration

  • maxLength: number
  • minLength: number

Generated using TypeDoc
-

FieldType: "record" | "variant" | "tuple" | "optional" | "vector" | "recursive" | "unknown" | "text" | "number" | "principal" | "boolean" | "null"

Generated using TypeDoc
+

FieldType: "record" | "variant" | "tuple" | "optional" | "vector" | "recursive" | "unknown" | "text" | "number" | "principal" | "boolean" | "null"

Generated using TypeDoc
-

Type alias FieldTypeFromIDLType<T>

FieldTypeFromIDLType<T>: T extends types.IDL.Type
    ? ReturnType<T["decodeValue"]>
    : types.IDL.Type

Type Parameters

  • T

Generated using TypeDoc
+

Type alias FieldTypeFromIDLType<T>

FieldTypeFromIDLType<T>: T extends types.IDL.Type
    ? ReturnType<T["decodeValue"]>
    : types.IDL.Type

Type Parameters

  • T

Generated using TypeDoc
-

Type alias FunctionCategory

FunctionCategory: "home" | "wallet" | "governance" | "setting"

Generated using TypeDoc
+

Type alias FunctionCategory

FunctionCategory: "home" | "wallet" | "governance" | "setting"

Generated using TypeDoc
-

Type alias MethodDefaultValues<T>

MethodDefaultValues<T>: {
    [key: `arg${number}`]: FieldTypeFromIDLType<T>;
}

Type Parameters

  • T = string

Type declaration

Generated using TypeDoc
+

Type alias MethodDefaultValues<T>

MethodDefaultValues<T>: {
    [key: `arg${number}`]: FieldTypeFromIDLType<T>;
}

Type Parameters

  • T = string

Type declaration

Generated using TypeDoc
-

Type alias MethodDetails<A>

MethodDetails<A>: {
    functionType: types.FunctionType;
    functionName: types.FunctionName<A>;
    category: FunctionCategory;
    order: number;
    __label: string;
    __description: string;
    [key: `arg${number}`]: FieldDetailsWithChild;
}

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias MethodDetails<A>

MethodDetails<A>: {
    functionType: types.FunctionType;
    functionName: types.FunctionName<A>;
    category: FunctionCategory;
    order: number;
    __label: string;
    __description: string;
    [key: `arg${number}`]: FieldDetailsWithChild;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias MethodResult<A, M>

MethodResult<A, M>: {
    type: ReturnDataType;
    label: string;
    value?: MethodResultValue<A, M>;
    values?: MethodResult<A, M>[];
    description: string[] | string;
}

Type Parameters

Type declaration

Generated using TypeDoc
+

Type alias MethodResult<A, M>

MethodResult<A, M>: {
    type: ReturnDataType;
    label: string;
    value?: MethodResultValue<A, M>;
    values?: MethodResult<A, M>[];
    description: string[] | string;
}

Type Parameters

Type declaration

Generated using TypeDoc
-

Type alias MethodResultValue<A, M>

MethodResultValue<A, M>: types.ActorMethodReturnType<A[M]> | MethodResult<A, M> | number | string | boolean | types.Principal | Uint8Array | null

Type Parameters

Generated using TypeDoc
+

Type alias MethodResultValue<A, M>

MethodResultValue<A, M>: types.ActorMethodReturnType<A[M]> | MethodResult<A, M> | number | string | boolean | types.Principal | Uint8Array | null

Type Parameters

Generated using TypeDoc
-

Generated using TypeDoc
+

Generated using TypeDoc
-

Type alias ReturnDataType

ReturnDataType: "record" | "variant" | "tuple" | "optional" | "vector" | "recursive" | "unknown" | "text" | "number" | "principal" | "boolean" | "null" | "blob" | "url" | "image" | "normal" | "table"

Generated using TypeDoc
+

Type alias ReturnDataType

ReturnDataType: "record" | "variant" | "tuple" | "optional" | "vector" | "recursive" | "unknown" | "text" | "number" | "principal" | "boolean" | "null" | "blob" | "url" | "image" | "normal" | "table"

Generated using TypeDoc
-

Type alias ServiceDefaultValues<A, M>

ServiceDefaultValues<A, M>: {
    [key in M]: MethodDefaultValues<M>
}

Type Parameters

Generated using TypeDoc
+

Type alias ServiceDefaultValues<A, M>

ServiceDefaultValues<A, M>: {
    [key in M]: MethodDefaultValues<M>
}

Type Parameters

Generated using TypeDoc
-

Type alias ServiceDetails<A>

ServiceDetails<A>: {
    [K in types.FunctionName<A>]: (<ExtractorClass>(extractorClass?) => MethodDetails<A>)
}

Type Parameters

Generated using TypeDoc
+

Type alias ServiceDetails<A>

ServiceDetails<A>: {
    [K in types.FunctionName<A>]: (<ExtractorClass>(extractorClass?) => MethodDetails<A>)
}

Type Parameters

Generated using TypeDoc
-

Type alias ServiceFields<A, M>

ServiceFields<A, M>: {
    [key in M]: (<ExtractorClass>(extractorClass?) => MethodFields<A, M>)
}

Type Parameters

Generated using TypeDoc
+

Type alias ServiceFields<A, M>

ServiceFields<A, M>: {
    [key in M]: (<ExtractorClass>(extractorClass?) => MethodFields<A, M>)
}

Type Parameters

Generated using TypeDoc
-

Type alias ServiceResult<A>

ServiceResult<A>: {
    [K in types.FunctionName<A>]: (<ExtractorClass>(data, extractorClass?) => MethodResult<A>)
}

Type Parameters

Generated using TypeDoc
+

Type alias ServiceResult<A>

ServiceResult<A>: {
    [K in types.FunctionName<A>]: (<ExtractorClass>(data, extractorClass?) => MethodResult<A>)
}

Type Parameters

Generated using TypeDoc
-

Variable DEFAULT_IC_DIDJS_IDConst

DEFAULT_IC_DIDJS_ID: "a4gq6-oaaaa-aaaab-qaa4q-cai" = "a4gq6-oaaaa-aaaab-qaa4q-cai"

Generated using TypeDoc
+

Variable DEFAULT_IC_DIDJS_IDConst

DEFAULT_IC_DIDJS_ID: "a4gq6-oaaaa-aaaab-qaa4q-cai" = "a4gq6-oaaaa-aaaab-qaa4q-cai"

Generated using TypeDoc
-

Variable DEFAULT_LOCAL_DIDJS_IDConst

DEFAULT_LOCAL_DIDJS_ID: "bd3sg-teaaa-aaaaa-qaaba-cai" = "bd3sg-teaaa-aaaaa-qaaba-cai"

Generated using TypeDoc
+

Variable DEFAULT_LOCAL_DIDJS_IDConst

DEFAULT_LOCAL_DIDJS_ID: "bd3sg-teaaa-aaaaa-qaaba-cai" = "bd3sg-teaaa-aaaaa-qaaba-cai"

Generated using TypeDoc
-

Variable IC_HOST_NETWORK_URIConst

IC_HOST_NETWORK_URI: "https://ic0.app" = "https://ic0.app"

Generated using TypeDoc
+

Variable IC_HOST_NETWORK_URIConst

IC_HOST_NETWORK_URI: "https://ic0.app" = "https://ic0.app"

Generated using TypeDoc
-

Variable IC_INTERNET_IDENTITY_PROVIDERConst

IC_INTERNET_IDENTITY_PROVIDER: "https://identity.ic0.app/#authorize" = "https://identity.ic0.app/#authorize"

Generated using TypeDoc
+

Variable IC_INTERNET_IDENTITY_PROVIDERConst

IC_INTERNET_IDENTITY_PROVIDER: "https://identity.ic0.app/#authorize" = "https://identity.ic0.app/#authorize"

Generated using TypeDoc
-

Variable LOCAL_HOST_NETWORK_URIConst

LOCAL_HOST_NETWORK_URI: "http://127.0.0.1:4943" = "http://127.0.0.1:4943"

Generated using TypeDoc
+

Variable LOCAL_HOST_NETWORK_URIConst

LOCAL_HOST_NETWORK_URI: "http://127.0.0.1:4943" = "http://127.0.0.1:4943"

Generated using TypeDoc
-

Variable LOCAL_INTERNET_IDENTITY_PROVIDERConst

LOCAL_INTERNET_IDENTITY_PROVIDER: "http://rdmx6-jaaaa-aaaaa-aaadq-cai.localhost:4943/#authorize" = "http://rdmx6-jaaaa-aaaaa-aaadq-cai.localhost:4943/#authorize"

Generated using TypeDoc
+

Variable LOCAL_INTERNET_IDENTITY_PROVIDERConst

LOCAL_INTERNET_IDENTITY_PROVIDER: "http://rdmx6-jaaaa-aaaaa-aaadq-cai.localhost:4943/#authorize" = "http://rdmx6-jaaaa-aaaaa-aaadq-cai.localhost:4943/#authorize"

Generated using TypeDoc

Variable BoolConst

Generated using TypeDoc

Variable EmptyConst

Generated using TypeDoc

Variable Float32Const

Generated using TypeDoc

Variable Float64Const

Generated using TypeDoc

Variable IntConst

Generated using TypeDoc

Variable Int16Const

Generated using TypeDoc

Variable Int32Const

Generated using TypeDoc

Variable Int64Const

Generated using TypeDoc

Variable Int8Const

Generated using TypeDoc

Variable NatConst

Generated using TypeDoc

Variable Nat16Const

Generated using TypeDoc

Variable Nat32Const

Generated using TypeDoc

Variable Nat64Const

Generated using TypeDoc

Variable Nat8Const

Generated using TypeDoc

Variable NullConst

Generated using TypeDoc

Variable PrincipalConst

Generated using TypeDoc

Variable ReservedConst

Generated using TypeDoc

Variable TextConst

Generated using TypeDoc

Variable BoolConst

Generated using TypeDoc

Variable EmptyConst

Generated using TypeDoc

Variable Float32Const

Generated using TypeDoc

Variable Float64Const

Generated using TypeDoc

Variable IntConst

Generated using TypeDoc

Variable Int16Const

Generated using TypeDoc

Variable Int32Const

Generated using TypeDoc

Variable Int64Const

Generated using TypeDoc

Variable Int8Const

Generated using TypeDoc

Variable NatConst

Generated using TypeDoc

Variable Nat16Const

Generated using TypeDoc

Variable Nat32Const

Generated using TypeDoc

Variable Nat64Const

Generated using TypeDoc

Variable Nat8Const

Generated using TypeDoc

Variable NullConst

Generated using TypeDoc

Variable PrincipalConst

Generated using TypeDoc

Variable ReservedConst

Generated using TypeDoc

Variable TextConst

Generated using TypeDoc