@ic-reactor/react 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,14 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import { type ReActorHooks } from "./index";
3
+ import { IDL } from "@dfinity/candid";
4
+ import { ActorSubclass, CreateReActorOptions } from "@ic-reactor/store";
5
+ export type ActorContextType<A = ActorSubclass<any>> = ReActorHooks<A>;
6
+ export declare const ActorContext: React.Context<ActorContextType<any> | null>;
7
+ type UseReActorType = <A = ActorSubclass<any>>() => ActorContextType<A>;
8
+ export declare const useActor: UseReActorType;
9
+ interface ActorProviderProps extends PropsWithChildren, Omit<CreateReActorOptions, "idlFactory"> {
10
+ idlFactory?: IDL.InterfaceFactory;
11
+ loadingComponent?: React.ReactNode;
12
+ }
13
+ export declare const ActorProvider: React.FC<ActorProviderProps>;
14
+ export {};
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __rest = (this && this.__rest) || function (s, e) {
35
+ var t = {};
36
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
37
+ t[p] = s[p];
38
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
39
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
40
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
41
+ t[p[i]] = s[p[i]];
42
+ }
43
+ return t;
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.ActorProvider = exports.useActor = exports.ActorContext = void 0;
47
+ const react_1 = __importStar(require("react"));
48
+ const index_1 = require("./index");
49
+ const store_1 = require("@ic-reactor/store");
50
+ const agentContext_1 = require("./agentContext");
51
+ exports.ActorContext = (0, react_1.createContext)(null);
52
+ const useActor = () => {
53
+ const context = (0, react_1.useContext)(exports.ActorContext);
54
+ if (!context) {
55
+ throw new Error("useReActor must be used within a ActorProvider");
56
+ }
57
+ return context;
58
+ };
59
+ exports.useActor = useActor;
60
+ const ActorProvider = (_a) => {
61
+ var { children, canisterId, loadingComponent = react_1.default.createElement("div", null, "Loading...") } = _a, config = __rest(_a, ["children", "canisterId", "loadingComponent"]);
62
+ const agentManager = (0, agentContext_1.useAgentManager)();
63
+ const [didJs, setDidJS] = (0, react_1.useState)();
64
+ const fetchDidJs = (0, react_1.useCallback)(() => __awaiter(void 0, void 0, void 0, function* () {
65
+ if (!canisterId) {
66
+ throw new Error("canisterId is required");
67
+ }
68
+ const agent = agentManager.getAgent();
69
+ (0, store_1.getDidJsFromMetadata)(agent, canisterId).then((idlFactory) => __awaiter(void 0, void 0, void 0, function* () {
70
+ if (!idlFactory) {
71
+ try {
72
+ idlFactory = yield (0, store_1.getDidJsFromTmpHack)(agent, canisterId);
73
+ }
74
+ catch (err) {
75
+ if (/no query method/.test(err)) {
76
+ console.warn(err);
77
+ idlFactory = undefined;
78
+ }
79
+ else {
80
+ throw err;
81
+ }
82
+ }
83
+ if (!idlFactory) {
84
+ console.warn("No query method found for canister", canisterId);
85
+ }
86
+ }
87
+ setDidJS(idlFactory);
88
+ }));
89
+ return didJs;
90
+ }), [canisterId]);
91
+ (0, react_1.useEffect)(() => {
92
+ const { idlFactory } = config;
93
+ if (idlFactory) {
94
+ setDidJS({ idlFactory });
95
+ return;
96
+ }
97
+ fetchDidJs();
98
+ }, [fetchDidJs, config.idlFactory]);
99
+ const hooks = (0, react_1.useMemo)(() => {
100
+ if (!didJs) {
101
+ return null;
102
+ }
103
+ try {
104
+ return (0, index_1.createReActor)({
105
+ idlFactory: didJs.idlFactory,
106
+ agentManager,
107
+ canisterId,
108
+ withDevtools: config.withDevtools,
109
+ });
110
+ }
111
+ catch (err) {
112
+ console.error(err);
113
+ return null;
114
+ }
115
+ }, [canisterId, agentManager, didJs]);
116
+ return (react_1.default.createElement(exports.ActorContext.Provider, { value: hooks }, hooks === null ? loadingComponent : children));
117
+ };
118
+ exports.ActorProvider = ActorProvider;
@@ -0,0 +1,14 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import { AgentManager, AgentManagerOptions } from "@ic-reactor/store";
3
+ import { getAuthHooks } from "./hooks/auth";
4
+ export type AgentContextType = ReturnType<typeof getAuthHooks> & {
5
+ agentManager: AgentManager;
6
+ };
7
+ export declare const AgentContext: React.Context<AgentContextType | null>;
8
+ export declare const useAgent: () => AgentContextType;
9
+ export declare const useAgentManager: () => AgentManager;
10
+ interface ReActorProviderProps extends PropsWithChildren, AgentManagerOptions {
11
+ agentManager?: AgentManager;
12
+ }
13
+ export declare const AgentProvider: React.FC<ReActorProviderProps>;
14
+ export {};
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.AgentProvider = exports.useAgentManager = exports.useAgent = exports.AgentContext = void 0;
38
+ const react_1 = __importStar(require("react"));
39
+ const store_1 = require("@ic-reactor/store");
40
+ const auth_1 = require("./hooks/auth");
41
+ exports.AgentContext = (0, react_1.createContext)(null);
42
+ const useAgent = () => {
43
+ const context = (0, react_1.useContext)(exports.AgentContext);
44
+ if (!context) {
45
+ throw new Error("useAgent must be used within a AgentProvider");
46
+ }
47
+ return context;
48
+ };
49
+ exports.useAgent = useAgent;
50
+ const useAgentManager = () => {
51
+ const context = (0, react_1.useContext)(exports.AgentContext);
52
+ if (!context) {
53
+ throw new Error("useAgentManager must be used within a AgentProvider");
54
+ }
55
+ return context.agentManager;
56
+ };
57
+ exports.useAgentManager = useAgentManager;
58
+ const AgentProvider = (_a) => {
59
+ var { children } = _a, config = __rest(_a, ["children"]);
60
+ const agentManager = (0, react_1.useRef)(config.agentManager || (0, store_1.createAgentManager)(config));
61
+ const hooks = (0, react_1.useMemo)(() => {
62
+ const hooks = (0, auth_1.getAuthHooks)(agentManager.current);
63
+ return Object.assign(Object.assign({}, hooks), { agentManager: agentManager.current });
64
+ }, []);
65
+ return react_1.default.createElement(exports.AgentContext.Provider, { value: hooks }, children);
66
+ };
67
+ exports.AgentProvider = AgentProvider;
@@ -0,0 +1,16 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import { type ActorHooks } from "../index";
3
+ import { IDL } from "@dfinity/candid";
4
+ import { ActorSubclass, ActorManagerOptions } from "@ic-reactor/store";
5
+ import { AgentContextType } from "./agent";
6
+ export type ActorContextType<A = ActorSubclass<any>> = ActorHooks<A>;
7
+ export declare const ActorContext: React.Context<ActorContextType<any> | null>;
8
+ type UseActorType = <A = ActorSubclass<any>>() => ActorContextType<A>;
9
+ export declare const useActor: UseActorType;
10
+ interface ActorProviderProps extends PropsWithChildren, Omit<ActorManagerOptions, "idlFactory" | "agentManager"> {
11
+ agentContext?: AgentContextType;
12
+ idlFactory?: IDL.InterfaceFactory;
13
+ loadingComponent?: React.ReactNode;
14
+ }
15
+ export declare const ActorProvider: React.FC<ActorProviderProps>;
16
+ export {};
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __rest = (this && this.__rest) || function (s, e) {
35
+ var t = {};
36
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
37
+ t[p] = s[p];
38
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
39
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
40
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
41
+ t[p[i]] = s[p[i]];
42
+ }
43
+ return t;
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.ActorProvider = exports.useActor = exports.ActorContext = void 0;
47
+ const react_1 = __importStar(require("react"));
48
+ const index_1 = require("../index");
49
+ const store_1 = require("@ic-reactor/store");
50
+ const agent_1 = require("./agent");
51
+ exports.ActorContext = (0, react_1.createContext)(null);
52
+ const useActor = () => {
53
+ const context = (0, react_1.useContext)(exports.ActorContext);
54
+ if (!context) {
55
+ throw new Error("useActor must be used within a ActorProvider");
56
+ }
57
+ return context;
58
+ };
59
+ exports.useActor = useActor;
60
+ const ActorProvider = (_a) => {
61
+ var { children, canisterId, agentContext, loadingComponent = react_1.default.createElement("div", null, "Loading...") } = _a, config = __rest(_a, ["children", "canisterId", "agentContext", "loadingComponent"]);
62
+ const agentManager = (0, agent_1.useAgentManager)(agentContext);
63
+ const [didJs, setDidJS] = (0, react_1.useState)();
64
+ const [fetching, setFetching] = (0, react_1.useState)(false);
65
+ const fetchDidJs = (0, react_1.useCallback)(() => __awaiter(void 0, void 0, void 0, function* () {
66
+ if (!canisterId) {
67
+ throw new Error("canisterId is required");
68
+ }
69
+ if (fetching) {
70
+ return;
71
+ }
72
+ setFetching(true);
73
+ const agent = agentManager.getAgent();
74
+ (0, store_1.getDidJsFromMetadata)(agent, canisterId).then((idlFactory) => __awaiter(void 0, void 0, void 0, function* () {
75
+ if (!idlFactory) {
76
+ try {
77
+ idlFactory = yield (0, store_1.getDidJsFromTmpHack)(agent, canisterId);
78
+ }
79
+ catch (err) {
80
+ if (/no query method/.test(err)) {
81
+ console.warn(err);
82
+ idlFactory = undefined;
83
+ }
84
+ else {
85
+ throw err;
86
+ }
87
+ }
88
+ if (!idlFactory) {
89
+ console.warn("No query method found for canister", canisterId);
90
+ }
91
+ }
92
+ setDidJS(idlFactory);
93
+ setFetching(false);
94
+ }));
95
+ }), [canisterId, agentManager]);
96
+ (0, react_1.useEffect)(() => {
97
+ const { idlFactory } = config;
98
+ if (idlFactory) {
99
+ setDidJS({ idlFactory });
100
+ return;
101
+ }
102
+ console.log("idlFactory not provided, fetching from canister...");
103
+ fetchDidJs();
104
+ }, [fetchDidJs, config.idlFactory]);
105
+ const hooks = (0, react_1.useMemo)(() => {
106
+ if (!didJs) {
107
+ return null;
108
+ }
109
+ try {
110
+ return (0, index_1.createReActor)({
111
+ idlFactory: didJs.idlFactory,
112
+ agentManager,
113
+ canisterId,
114
+ withDevtools: config.withDevtools,
115
+ });
116
+ }
117
+ catch (err) {
118
+ console.error(err);
119
+ return null;
120
+ }
121
+ }, [canisterId, agentManager, didJs]);
122
+ return (react_1.default.createElement(exports.ActorContext.Provider, { value: hooks }, fetching || hooks === null ? loadingComponent : children));
123
+ };
124
+ exports.ActorProvider = ActorProvider;
@@ -0,0 +1,15 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import { AgentManager, AgentManagerOptions } from "@ic-reactor/store";
3
+ import { getAuthHooks } from "../hooks/auth";
4
+ export type AgentContextValue = ReturnType<typeof getAuthHooks> & {
5
+ agentManager: AgentManager;
6
+ };
7
+ export type AgentContextType = React.Context<AgentContextValue | null>;
8
+ export declare const AgentContext: React.Context<AgentContextValue | null>;
9
+ export declare const useAgent: (agentContext?: AgentContextType) => AgentContextValue;
10
+ export declare const useAgentManager: (agentContext?: AgentContextType) => AgentManager;
11
+ interface ReActorProviderProps extends PropsWithChildren, AgentManagerOptions {
12
+ agentManager?: AgentManager;
13
+ }
14
+ export declare const AgentProvider: React.FC<ReActorProviderProps>;
15
+ export {};
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.AgentProvider = exports.useAgentManager = exports.useAgent = exports.AgentContext = void 0;
38
+ const react_1 = __importStar(require("react"));
39
+ const store_1 = require("@ic-reactor/store");
40
+ const auth_1 = require("../hooks/auth");
41
+ exports.AgentContext = (0, react_1.createContext)(null);
42
+ const useAgent = (agentContext) => {
43
+ const context = (0, react_1.useContext)(agentContext || exports.AgentContext);
44
+ if (!context) {
45
+ throw new Error("useAgent must be used within a AgentProvider");
46
+ }
47
+ return context;
48
+ };
49
+ exports.useAgent = useAgent;
50
+ const useAgentManager = (agentContext) => {
51
+ const context = (0, react_1.useContext)(agentContext || exports.AgentContext);
52
+ if (!context) {
53
+ throw new Error("useAgentManager must be used within a AgentProvider");
54
+ }
55
+ return context.agentManager;
56
+ };
57
+ exports.useAgentManager = useAgentManager;
58
+ const AgentProvider = (_a) => {
59
+ var { children } = _a, config = __rest(_a, ["children"]);
60
+ const agentManager = (0, react_1.useRef)(config.agentManager || (0, store_1.createAgentManager)(config));
61
+ const hooks = (0, react_1.useMemo)(() => {
62
+ const hooks = (0, auth_1.getAuthHooks)(agentManager.current);
63
+ return Object.assign(Object.assign({}, hooks), { agentManager: agentManager.current });
64
+ }, []);
65
+ return react_1.default.createElement(exports.AgentContext.Provider, { value: hooks }, children);
66
+ };
67
+ exports.AgentProvider = AgentProvider;
@@ -1,14 +1,14 @@
1
1
  import type { ExtractActorMethodArgs, ActorManager, ActorMethodField } from "@ic-reactor/store";
2
- import type { ReActorUseQueryArgs, ReActorUseUpdateArgs } from "../types";
3
- export declare const getActorHooks: <A extends unknown>({ methodFields, actorStore, callMethod, }: ActorManager<A>) => {
4
- useQueryCall: <M extends keyof A>({ autoRefresh, refreshInterval, disableInitialCall, ...rest }: ReActorUseQueryArgs<A, M>) => {
2
+ import type { ActorUseQueryArgs, ActorUseUpdateArgs } from "../types";
3
+ export declare const getActorHooks: <A extends unknown>({ methodFields, canisterId, actorStore, callMethod, }: ActorManager<A>) => {
4
+ useQueryCall: <M extends keyof A>({ autoRefresh, refreshInterval, disableInitialCall, ...rest }: ActorUseQueryArgs<A, M>) => {
5
5
  data: import("@ic-reactor/store").ExtractActorMethodReturnType<A[M]> | undefined;
6
6
  error: Error | undefined;
7
7
  loading: boolean;
8
8
  field: ActorMethodField<A> | undefined;
9
9
  call: (replaceArgs?: ExtractActorMethodArgs<A[M]> | undefined) => Promise<import("@ic-reactor/store").ExtractActorMethodReturnType<A[M]> | undefined>;
10
10
  };
11
- useUpdateCall: <M_1 extends keyof A>(args: ReActorUseUpdateArgs<A, M_1>) => {
11
+ useUpdateCall: <M_1 extends keyof A>(args: ActorUseUpdateArgs<A, M_1>) => {
12
12
  data: import("@ic-reactor/store").ExtractActorMethodReturnType<A[M_1]> | undefined;
13
13
  error: Error | undefined;
14
14
  loading: boolean;
@@ -16,6 +16,7 @@ export declare const getActorHooks: <A extends unknown>({ methodFields, actorSto
16
16
  field: ActorMethodField<A> | undefined;
17
17
  };
18
18
  useActorStore: () => {
19
+ canisterId: import("@ic-reactor/store").CanisterId;
19
20
  initialized: boolean;
20
21
  initializing: boolean;
21
22
  error: Error | undefined;
@@ -23,10 +23,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.getActorHooks = void 0;
24
24
  const react_1 = require("react");
25
25
  const zustand_1 = require("zustand");
26
- const getActorHooks = ({ methodFields, actorStore, callMethod, }) => {
26
+ const getActorHooks = ({ methodFields, canisterId, actorStore, callMethod, }) => {
27
27
  const useActorStore = () => {
28
28
  const actorState = (0, zustand_1.useStore)(actorStore, (state) => state);
29
- return Object.assign({}, actorState);
29
+ return Object.assign(Object.assign({}, actorState), { canisterId });
30
30
  };
31
31
  const useMethodFields = () => {
32
32
  return methodFields;
@@ -1,6 +1,7 @@
1
1
  import type { AuthClientLoginOptions } from "@dfinity/auth-client";
2
2
  import type { AgentManager } from "@ic-reactor/store";
3
- export declare const getAuthHooks: ({ authStore, authenticate }: AgentManager) => {
3
+ export declare const getAuthHooks: (agentManager: AgentManager) => {
4
+ useAgentManager: () => AgentManager;
4
5
  useAuthStore: () => import("@ic-reactor/store").ActorAuthState;
5
6
  useAuthClient: () => {
6
7
  authClient: import("@dfinity/auth-client").AuthClient | null;
@@ -12,7 +12,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getAuthHooks = void 0;
13
13
  const react_1 = require("react");
14
14
  const zustand_1 = require("zustand");
15
- const getAuthHooks = ({ authStore, authenticate }) => {
15
+ const getAuthHooks = (agentManager) => {
16
+ const { authenticate, authStore } = agentManager;
17
+ const useAgentManager = () => {
18
+ return agentManager;
19
+ };
16
20
  const useAuthStore = () => {
17
21
  const authState = (0, zustand_1.useStore)(authStore, (state) => state);
18
22
  return authState;
@@ -64,6 +68,7 @@ const getAuthHooks = ({ authStore, authenticate }) => {
64
68
  };
65
69
  };
66
70
  return {
71
+ useAgentManager,
67
72
  useAuthStore,
68
73
  useAuthClient,
69
74
  };
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { ActorSubclass, CreateReActorOptions } from "@ic-reactor/store";
2
2
  import { getActorHooks } from "./hooks/actor";
3
3
  import { getAuthHooks } from "./hooks/auth";
4
4
  export { createReActorStore, createAgentManager, createActorManager, } from "@ic-reactor/store";
5
- export * from "./context";
6
- export type ReActorHooks<A extends ActorSubclass<any>> = ReturnType<typeof getActorHooks<A>> & ReturnType<typeof getAuthHooks>;
7
- export type CreateReactorOptions = Omit<CreateReActorOptions, "isLocal">;
8
- export declare const createReActor: <A extends unknown>(options: Omit<CreateReActorOptions, "isLocal">) => ReActorHooks<A>;
5
+ export * from "./context/agent";
6
+ export * from "./context/actor";
7
+ export type ActorHooks<A extends ActorSubclass<any>> = ReturnType<typeof getActorHooks<A>> & ReturnType<typeof getAuthHooks>;
8
+ export declare const createReActor: <A extends unknown>({ isLocal, ...options }: CreateReActorOptions) => ActorHooks<A>;
package/dist/index.js CHANGED
@@ -13,6 +13,17 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
13
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
+ var __rest = (this && this.__rest) || function (s, e) {
17
+ var t = {};
18
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
19
+ t[p] = s[p];
20
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
21
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
22
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
23
+ t[p[i]] = s[p[i]];
24
+ }
25
+ return t;
26
+ };
16
27
  Object.defineProperty(exports, "__esModule", { value: true });
17
28
  exports.createReActor = exports.createActorManager = exports.createAgentManager = exports.createReActorStore = void 0;
18
29
  const store_1 = require("@ic-reactor/store");
@@ -22,15 +33,20 @@ var store_2 = require("@ic-reactor/store");
22
33
  Object.defineProperty(exports, "createReActorStore", { enumerable: true, get: function () { return store_2.createReActorStore; } });
23
34
  Object.defineProperty(exports, "createAgentManager", { enumerable: true, get: function () { return store_2.createAgentManager; } });
24
35
  Object.defineProperty(exports, "createActorManager", { enumerable: true, get: function () { return store_2.createActorManager; } });
25
- __exportStar(require("./context"), exports);
26
- const createReActor = (options) => {
27
- const isLocal = typeof process !== "undefined" &&
28
- (process.env.NODE_ENV === "development" ||
29
- process.env.DFX_NETWORK === "local");
36
+ __exportStar(require("./context/agent"), exports);
37
+ __exportStar(require("./context/actor"), exports);
38
+ const createReActor = (_a) => {
39
+ var { isLocal } = _a, options = __rest(_a, ["isLocal"]);
40
+ isLocal =
41
+ isLocal ||
42
+ (typeof process !== "undefined" &&
43
+ (process.env.NODE_ENV === "development" ||
44
+ process.env.DFX_NETWORK === "local"));
30
45
  const actorManager = (0, store_1.createReActorStore)(Object.assign({ isLocal }, options));
31
- const { useAuthClient, useAuthStore } = (0, auth_1.getAuthHooks)(actorManager.agentManager);
46
+ const { useAuthClient, useAgentManager, useAuthStore } = (0, auth_1.getAuthHooks)(actorManager.agentManager);
32
47
  const { useActorStore, useQueryCall, useMethodField, useMethodFields, useUpdateCall, } = (0, actor_1.getActorHooks)(actorManager);
33
48
  return {
49
+ useAgentManager,
34
50
  useMethodFields,
35
51
  useMethodField,
36
52
  useActorStore,
package/dist/types.d.ts CHANGED
@@ -1,21 +1,21 @@
1
1
  import type { ExtractActorMethodArgs, ExtractActorMethodReturnType } from "@ic-reactor/store";
2
2
  export type * from "@ic-reactor/store";
3
- export type ReActorCallArgs<A, M extends keyof A> = {
3
+ export type ActorCallArgs<A, M extends keyof A> = {
4
4
  functionName: M & string;
5
5
  args?: ExtractActorMethodArgs<A[M]>;
6
6
  onLoading?: (loading: boolean) => void;
7
7
  onError?: (error: Error | unknown) => void;
8
8
  onSuccess?: (data: ExtractActorMethodReturnType<A[M]> | undefined) => void;
9
9
  };
10
- export type ReActorHookState<A, M extends keyof A> = {
10
+ export type ActorHookState<A, M extends keyof A> = {
11
11
  data: ExtractActorMethodReturnType<A[M]> | undefined;
12
12
  error: Error | undefined;
13
13
  loading: boolean;
14
14
  };
15
- export interface ReActorUseQueryArgs<A, M extends keyof A> extends ReActorCallArgs<A, M> {
15
+ export interface ActorUseQueryArgs<A, M extends keyof A> extends ActorCallArgs<A, M> {
16
16
  disableInitialCall?: boolean;
17
17
  autoRefresh?: boolean;
18
18
  refreshInterval?: number;
19
19
  }
20
- export interface ReActorUseUpdateArgs<A, M extends keyof A> extends ReActorCallArgs<A, M> {
20
+ export interface ActorUseUpdateArgs<A, M extends keyof A> extends ActorCallArgs<A, M> {
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ic-reactor/react",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "A React library for interacting with Dfinity actors",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  "node": ">=10"
36
36
  },
37
37
  "dependencies": {
38
- "@ic-reactor/store": "^0.3.2",
38
+ "@ic-reactor/store": "^0.3.3",
39
39
  "zustand-utils": "^1.3"
40
40
  },
41
41
  "peerDependencies": {
@@ -48,5 +48,5 @@
48
48
  "react": ">=16.8",
49
49
  "zustand": "4.4"
50
50
  },
51
- "gitHead": "c0f19f81424e7a3df7f422cf4ee127e44a8140f5"
51
+ "gitHead": "9768339c7383901e042511420867cca3f762e664"
52
52
  }