@bitsocial/bitsocial-react-hooks 0.1.13 → 0.1.15
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.
- package/CHANGELOG.md +23 -0
- package/README.md +34 -0
- package/dist/hooks/actions/actions.d.ts +2 -1
- package/dist/hooks/actions/actions.d.ts.map +1 -1
- package/dist/hooks/actions/actions.js +54 -0
- package/dist/hooks/actions/actions.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/pkc-js/pkc-js-mock.d.ts +6 -0
- package/dist/lib/pkc-js/pkc-js-mock.d.ts.map +1 -1
- package/dist/lib/pkc-js/pkc-js-mock.js +23 -0
- package/dist/lib/pkc-js/pkc-js-mock.js.map +1 -1
- package/dist/stores/accounts/accounts-actions.d.ts +2 -1
- package/dist/stores/accounts/accounts-actions.d.ts.map +1 -1
- package/dist/stores/accounts/accounts-actions.js +56 -1
- package/dist/stores/accounts/accounts-actions.js.map +1 -1
- package/dist/stores/comments/comments-store.d.ts.map +1 -1
- package/dist/stores/comments/comments-store.js +65 -1
- package/dist/stores/comments/comments-store.js.map +1 -1
- package/dist/types.d.ts +27 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
## [0.1.15](https://github.com/bitsocialnet/bitsocial-react-hooks/compare/v0.1.14...v0.1.15) (2026-06-07)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **comments:** continue sparse comment updates before stopping ([#61](https://github.com/bitsocialnet/bitsocial-react-hooks/issues/61)) ([0d20b32](https://github.com/bitsocialnet/bitsocial-react-hooks/commit/0d20b32ad90a2e0e09936a3e24dd8722c079037b))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **actions:** add community export hook ([#62](https://github.com/bitsocialnet/bitsocial-react-hooks/issues/62)) ([f6a9616](https://github.com/bitsocialnet/bitsocial-react-hooks/commit/f6a961665b10fbadc9bb3b94917b45df6aafdc77))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## [0.1.14](https://github.com/bitsocialnet/bitsocial-react-hooks/compare/v0.1.13...v0.1.14) (2026-06-04)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **accounts:** preserve challenge comment updates ([#60](https://github.com/bitsocialnet/bitsocial-react-hooks/issues/60)) ([73022ef](https://github.com/bitsocialnet/bitsocial-react-hooks/commit/73022ef34db7e4020a023c22f7d2bbd1c7fed0fe))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
1
24
|
## [0.1.13](https://github.com/bitsocialnet/bitsocial-react-hooks/compare/v0.1.12...v0.1.13) (2026-05-27)
|
|
2
25
|
|
|
3
26
|
|
package/README.md
CHANGED
|
@@ -171,6 +171,13 @@ usePublishCommentEdit(options: UsePublishCommentEditOptions): UsePublishCommentE
|
|
|
171
171
|
usePublishCommentModeration(options: UsePublishCommentModerationOptions): UsePublishCommentModerationResult
|
|
172
172
|
usePublishCommunityEdit(options: UsePublishCommunityEditOptions): UsePublishCommunityEditResult
|
|
173
173
|
useCreateCommunity(options: CreateCommunityOptions): {createdCommunity: Community | undefined, createCommunity: Function}
|
|
174
|
+
useExportCommunity(options?: UseExportCommunityOptions): {
|
|
175
|
+
communityExports: {communityAddress: string, exportId: string}[],
|
|
176
|
+
exportCommunity: () => Promise<void>,
|
|
177
|
+
state: string,
|
|
178
|
+
error: Error | undefined,
|
|
179
|
+
errors: Error[]
|
|
180
|
+
}
|
|
174
181
|
```
|
|
175
182
|
|
|
176
183
|
#### States Hooks
|
|
@@ -1120,6 +1127,33 @@ const communities = useCommunities({
|
|
|
1120
1127
|
const _community = useCommunity({ community: { name: createdCommunity.address } });
|
|
1121
1128
|
```
|
|
1122
1129
|
|
|
1130
|
+
#### (Desktop only) Export communities
|
|
1131
|
+
|
|
1132
|
+
```jsx
|
|
1133
|
+
// Export one community.
|
|
1134
|
+
const { communityExports, exportCommunity, state, error } = useExportCommunity({
|
|
1135
|
+
communityAddress: "your-community-address.eth",
|
|
1136
|
+
});
|
|
1137
|
+
await exportCommunity();
|
|
1138
|
+
|
|
1139
|
+
// Export several communities at the same time.
|
|
1140
|
+
const exportMany = useExportCommunity({
|
|
1141
|
+
communityAddresses: ["community-1.eth", "community-2.eth"],
|
|
1142
|
+
});
|
|
1143
|
+
await exportMany.exportCommunity();
|
|
1144
|
+
|
|
1145
|
+
// Export every community listed by the active account's pkc client.
|
|
1146
|
+
const exportAll = useExportCommunity();
|
|
1147
|
+
await exportAll.exportCommunity();
|
|
1148
|
+
|
|
1149
|
+
if (state === "succeeded") {
|
|
1150
|
+
console.log("started exports", communityExports);
|
|
1151
|
+
}
|
|
1152
|
+
if (state === "failed") {
|
|
1153
|
+
console.log("failed to start export", error.message);
|
|
1154
|
+
}
|
|
1155
|
+
```
|
|
1156
|
+
|
|
1123
1157
|
#### (Desktop only) List the communities you created
|
|
1124
1158
|
|
|
1125
1159
|
```jsx
|
|
@@ -7,7 +7,7 @@ export declare function handlePublishErrorWhenAbandoned(activeRequestIdRef: {
|
|
|
7
7
|
}, requestId: number, error: Error, setErrors: Dispatch<SetStateAction<Error[]>>, onError?: (e: Error) => void): void;
|
|
8
8
|
/** For usePublishVote catch. Exported for coverage. */
|
|
9
9
|
export declare function handlePublishVoteError(error: Error, setErrors: Dispatch<SetStateAction<Error[]>>, onError?: (e: Error) => void): void;
|
|
10
|
-
import type { UseSubscribeOptions, UseSubscribeResult, UsePublishCommentOptions, UsePublishCommentResult, UseBlockOptions, UseBlockResult, UseCreateCommunityOptions, UseCreateCommunityResult, UsePublishVoteOptions, UsePublishVoteResult, UsePublishCommentEditOptions, UsePublishCommentEditResult, UsePublishCommentModerationOptions, UsePublishCommentModerationResult, UsePublishCommunityEditOptions, UsePublishCommunityEditResult } from "../../types.js";
|
|
10
|
+
import type { UseSubscribeOptions, UseSubscribeResult, UsePublishCommentOptions, UsePublishCommentResult, UseBlockOptions, UseBlockResult, UseCreateCommunityOptions, UseCreateCommunityResult, UseExportCommunityOptions, UseExportCommunityResult, UsePublishVoteOptions, UsePublishVoteResult, UsePublishCommentEditOptions, UsePublishCommentEditResult, UsePublishCommentModerationOptions, UsePublishCommentModerationResult, UsePublishCommunityEditOptions, UsePublishCommunityEditResult } from "../../types.js";
|
|
11
11
|
export declare function useSubscribe(options?: UseSubscribeOptions): UseSubscribeResult;
|
|
12
12
|
export declare function useBlock(options?: UseBlockOptions): UseBlockResult;
|
|
13
13
|
export declare function usePublishComment(options?: UsePublishCommentOptions): UsePublishCommentResult;
|
|
@@ -16,4 +16,5 @@ export declare function usePublishCommentEdit(options?: UsePublishCommentEditOpt
|
|
|
16
16
|
export declare function usePublishCommentModeration(options?: UsePublishCommentModerationOptions): UsePublishCommentModerationResult;
|
|
17
17
|
export declare function usePublishCommunityEdit(options?: UsePublishCommunityEditOptions): UsePublishCommunityEditResult;
|
|
18
18
|
export declare function useCreateCommunity(options?: UseCreateCommunityOptions): UseCreateCommunityResult;
|
|
19
|
+
export declare function useExportCommunity(options?: UseExportCommunityOptions): UseExportCommunityResult;
|
|
19
20
|
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/hooks/actions/actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAOtD,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAChE,WAAW,EAAE,MAAM,OAAO,EAC1B,EAAE,EAAE,CAAC,GACJ,CAAC,CAKH;AAID,wFAAwF;AACxF,wBAAgB,+BAA+B,CAC7C,kBAAkB,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACnD,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAC5C,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAC3B,IAAI,CAIN;AAED,uDAAuD;AACvD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAC5C,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAC3B,IAAI,CAGN;AACD,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,kCAAkC,EAClC,iCAAiC,EACjC,8BAA8B,EAC9B,6BAA6B,
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/hooks/actions/actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAOtD,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAChE,WAAW,EAAE,MAAM,OAAO,EAC1B,EAAE,EAAE,CAAC,GACJ,CAAC,CAKH;AAID,wFAAwF;AACxF,wBAAgB,+BAA+B,CAC7C,kBAAkB,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACnD,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAC5C,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAC3B,IAAI,CAIN;AAED,uDAAuD;AACvD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAC5C,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAC3B,IAAI,CAGN;AACD,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,kCAAkC,EAClC,iCAAiC,EACjC,8BAA8B,EAC9B,6BAA6B,EAU9B,MAAM,aAAa,CAAC;AASrB,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CA+C9E;AAED,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAiElE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,uBAAuB,CAwH7F;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAiFpF;AAED,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,4BAA4B,GACrC,2BAA2B,CAoF7B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,kCAAkC,GAC3C,iCAAiC,CAsFnC;AAED,wBAAgB,uBAAuB,CACrC,OAAO,CAAC,EAAE,8BAA8B,GACvC,6BAA6B,CAwF/B;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,wBAAwB,CA4ChG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,wBAAwB,CAoEhG"}
|
|
@@ -549,4 +549,58 @@ export function useCreateCommunity(options) {
|
|
|
549
549
|
errors,
|
|
550
550
|
}), [state, errors, createdCommunity, options, accountName]);
|
|
551
551
|
}
|
|
552
|
+
export function useExportCommunity(options) {
|
|
553
|
+
assert(!options || typeof options === "object", `useExportCommunity options argument '${options}' not an object`);
|
|
554
|
+
const _a = options || {}, { accountName, communityAddress, communityAddresses, onError } = _a, exportCommunityOptions = __rest(_a, ["accountName", "communityAddress", "communityAddresses", "onError"]);
|
|
555
|
+
const accountsActions = useAccountsStore((state) => state.accountsActions);
|
|
556
|
+
const accountId = useAccountId(accountName);
|
|
557
|
+
const [errors, setErrors] = useState([]);
|
|
558
|
+
const [exportingState, setExportingState] = useState();
|
|
559
|
+
const [communityExports, setCommunityExports] = useState([]);
|
|
560
|
+
const targetCommunityAddresses = communityAddresses || (communityAddress ? [communityAddress] : undefined);
|
|
561
|
+
const exportContextKey = JSON.stringify([
|
|
562
|
+
accountId || null,
|
|
563
|
+
targetCommunityAddresses || null,
|
|
564
|
+
exportCommunityOptions.includePrivateKey === true,
|
|
565
|
+
exportCommunityOptions.exportPath,
|
|
566
|
+
]);
|
|
567
|
+
const previousExportContextKeyRef = useRef(exportContextKey);
|
|
568
|
+
const exportContextVersionRef = useRef(0);
|
|
569
|
+
if (previousExportContextKeyRef.current !== exportContextKey) {
|
|
570
|
+
previousExportContextKeyRef.current = exportContextKey;
|
|
571
|
+
exportContextVersionRef.current += 1;
|
|
572
|
+
}
|
|
573
|
+
const [exportingContext, setExportingContext] = useState();
|
|
574
|
+
let initialState = "initializing";
|
|
575
|
+
if (accountId) {
|
|
576
|
+
initialState = "ready";
|
|
577
|
+
}
|
|
578
|
+
const hasCurrentExportState = accountId &&
|
|
579
|
+
(exportingContext === null || exportingContext === void 0 ? void 0 : exportingContext.key) === exportContextKey &&
|
|
580
|
+
exportingContext.version === exportContextVersionRef.current;
|
|
581
|
+
const exportCommunity = () => __awaiter(this, void 0, void 0, function* () {
|
|
582
|
+
try {
|
|
583
|
+
setExportingContext({
|
|
584
|
+
key: exportContextKey,
|
|
585
|
+
version: exportContextVersionRef.current,
|
|
586
|
+
});
|
|
587
|
+
setExportingState("exporting");
|
|
588
|
+
const communityExports = yield accountsActions.exportCommunity(targetCommunityAddresses, exportCommunityOptions, accountName);
|
|
589
|
+
setCommunityExports(communityExports);
|
|
590
|
+
setExportingState("succeeded");
|
|
591
|
+
}
|
|
592
|
+
catch (e) {
|
|
593
|
+
setExportingState("failed");
|
|
594
|
+
setErrors((errors) => [...errors, e]);
|
|
595
|
+
onError === null || onError === void 0 ? void 0 : onError(e);
|
|
596
|
+
}
|
|
597
|
+
});
|
|
598
|
+
return {
|
|
599
|
+
communityExports: hasCurrentExportState ? communityExports : [],
|
|
600
|
+
exportCommunity,
|
|
601
|
+
state: hasCurrentExportState ? exportingState : initialState,
|
|
602
|
+
error: hasCurrentExportState ? errors[errors.length - 1] : undefined,
|
|
603
|
+
errors: hasCurrentExportState ? errors : [],
|
|
604
|
+
};
|
|
605
|
+
}
|
|
552
606
|
//# sourceMappingURL=actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/actions/actions.ts"],"names":[],"mappings":"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","sourcesContent":["import { useMemo, useRef, useState } from \"react\";\nimport type { Dispatch, SetStateAction } from \"react\";\nimport useAccountsStore from \"../../stores/accounts\";\nimport Logger from \"@pkcprotocol/pkc-logger\";\nconst log = Logger(\"bitsocial-react-hooks:actions:hooks\");\nimport assert from \"assert\";\nimport { useAccount, useAccountId } from \"../accounts\";\n\n/** Wraps a callback to no-op when guard returns false. Exported for coverage. */\nexport function withGuardActive<T extends (...args: any[]) => void>(\n guardActive: () => boolean,\n fn: T,\n): T {\n return ((...args: Parameters<T>) => {\n if (!guardActive()) return;\n return fn(...args);\n }) as T;\n}\n\nconst noop = () => {};\n\n/** For usePublishComment: when abandoned, catch should no-op. Exported for coverage. */\nexport function handlePublishErrorWhenAbandoned(\n activeRequestIdRef: { current: number | undefined },\n requestId: number,\n error: Error,\n setErrors: Dispatch<SetStateAction<Error[]>>,\n onError?: (e: Error) => void,\n): void {\n if (activeRequestIdRef.current !== requestId) return;\n setErrors((errors) => [...errors, error]);\n (onError ?? noop)(error);\n}\n\n/** For usePublishVote catch. Exported for coverage. */\nexport function handlePublishVoteError(\n error: Error,\n setErrors: Dispatch<SetStateAction<Error[]>>,\n onError?: (e: Error) => void,\n): void {\n setErrors((errors) => [...errors, error]);\n (onError ?? noop)(error);\n}\nimport type {\n UseSubscribeOptions,\n UseSubscribeResult,\n UsePublishCommentOptions,\n UsePublishCommentResult,\n UseBlockOptions,\n UseBlockResult,\n UseCreateCommunityOptions,\n UseCreateCommunityResult,\n UsePublishVoteOptions,\n UsePublishVoteResult,\n UsePublishCommentEditOptions,\n UsePublishCommentEditResult,\n UsePublishCommentModerationOptions,\n UsePublishCommentModerationResult,\n UsePublishCommunityEditOptions,\n UsePublishCommunityEditResult,\n Challenge,\n ChallengeVerification,\n Comment,\n CommentEdit,\n CommentModeration,\n CommunityEdit,\n Vote,\n Community,\n} from \"../../types\";\n\ntype PublishChallengeAnswers = (challengeAnswers: string[]) => Promise<void>;\nconst publishChallengeAnswersNotReady: PublishChallengeAnswers = async (challengeAnswers) => {\n throw Error(\n `can't call publishChallengeAnswers() before result.challenge is defined (before the challenge message is received)`,\n );\n};\n\nexport function useSubscribe(options?: UseSubscribeOptions): UseSubscribeResult {\n assert(\n !options || typeof options === \"object\",\n `useSubscribe options argument '${options}' not an object`,\n );\n const { communityAddress, accountName, onError } = options || {};\n const account = useAccount({ accountName });\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n let state = \"initializing\";\n let subscribed: boolean | undefined;\n\n // before the account and communityAddress is defined, nothing can happen\n if (account && communityAddress) {\n state = \"ready\";\n subscribed = Boolean(account.subscriptions?.includes(communityAddress));\n }\n\n const subscribe = async () => {\n try {\n await accountsActions.subscribe(communityAddress, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n const unsubscribe = async () => {\n try {\n await accountsActions.unsubscribe(communityAddress, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n subscribed,\n subscribe,\n unsubscribe,\n state,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, subscribed, errors, communityAddress, accountName],\n );\n}\n\nexport function useBlock(options?: UseBlockOptions): UseBlockResult {\n assert(\n !options || typeof options === \"object\",\n `useBlock options argument '${options}' not an object`,\n );\n const { address, cid, accountName, onError } = options || {};\n if (address && cid) {\n throw Error(\n `can't useBlock with both an address '${address}' and cid '${cid}' argument at the same time`,\n );\n }\n const account = useAccount({ accountName });\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n let state = \"initializing\";\n let blocked: boolean | undefined;\n\n // before the account and address is defined, nothing can happen\n if (account && (address || cid)) {\n state = \"ready\";\n if (address) {\n blocked = Boolean(account.blockedAddresses[address]);\n }\n if (cid) {\n blocked = Boolean(account.blockedCids[cid]);\n }\n }\n\n const block = async () => {\n try {\n if (cid) {\n await accountsActions.blockCid(cid, accountName);\n } else {\n await accountsActions.blockAddress(address, accountName);\n }\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n const unblock = async () => {\n try {\n if (cid) {\n await accountsActions.unblockCid(cid, accountName);\n } else {\n await accountsActions.unblockAddress(address, accountName);\n }\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n blocked,\n block,\n unblock,\n state,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, blocked, errors, address, accountName],\n );\n}\n\nexport function usePublishComment(options?: UsePublishCommentOptions): UsePublishCommentResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishComment options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [index, setIndex] = useState<number>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n const indexRef = useRef<number | undefined>(undefined);\n const publishRequestIdRef = useRef(0);\n const activePublishRequestIdRef = useRef<number | undefined>(undefined);\n const guardActive = () => activePublishRequestIdRef.current !== undefined;\n publishCommentOptions._onPendingCommentIndex = withGuardActive(\n guardActive,\n (pendingIndex: number) => {\n indexRef.current = pendingIndex;\n setIndex(pendingIndex);\n },\n );\n\n let initialState = \"initializing\";\n if (accountId && options) initialState = \"ready\";\n\n const originalOnError = publishCommentOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n (originalOnError ?? noop)(error);\n };\n publishCommentOptions.onError = onError;\n\n const originalOnChallenge = publishCommentOptions.onChallenge;\n publishCommentOptions.onChallenge = withGuardActive(\n guardActive,\n async (challenge: Challenge, comment: Comment) => {\n setPublishChallengeAnswers(() => comment?.publishChallengeAnswers.bind(comment));\n setChallenge(challenge);\n (originalOnChallenge ?? noop)(challenge, comment);\n },\n );\n\n const originalOnChallengeVerification = publishCommentOptions.onChallengeVerification;\n publishCommentOptions.onChallengeVerification = withGuardActive(\n guardActive,\n async (challengeVerification: ChallengeVerification, comment: Comment) => {\n setChallengeVerification(challengeVerification);\n (originalOnChallengeVerification ?? noop)(challengeVerification, comment);\n },\n );\n\n publishCommentOptions.onPublishingStateChange = withGuardActive(\n guardActive,\n (publishingState: string) => setPublishingState(publishingState),\n );\n\n const publishComment = async () => {\n const requestId = publishRequestIdRef.current + 1;\n publishRequestIdRef.current = requestId;\n activePublishRequestIdRef.current = requestId;\n try {\n const { index } = await accountsActions.publishComment(publishCommentOptions, accountName);\n if (activePublishRequestIdRef.current !== requestId) {\n return;\n }\n indexRef.current = index;\n setIndex(index);\n } catch (e: any) {\n handlePublishErrorWhenAbandoned(\n activePublishRequestIdRef,\n requestId,\n e,\n setErrors,\n originalOnError,\n );\n }\n };\n\n const abandonPublish = async () => {\n activePublishRequestIdRef.current = undefined;\n const idx = indexRef.current;\n if (idx !== undefined) {\n await accountsActions.deleteComment(idx, accountName);\n }\n indexRef.current = undefined;\n setChallenge(undefined);\n setChallengeVerification(undefined);\n setPublishChallengeAnswers(undefined);\n setIndex(undefined);\n setPublishingState(undefined);\n };\n\n return useMemo(\n () => ({\n index,\n challenge,\n challengeVerification,\n publishComment,\n abandonPublish,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n index,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishVote(options?: UsePublishVoteOptions): UsePublishVoteResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishVote options argument '${options}' not an object`,\n );\n const { accountName, ...publishVoteOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishVoteOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishVoteOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishVoteOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, vote: Vote) => {\n setPublishChallengeAnswers(() => vote?.publishChallengeAnswers.bind(vote));\n setChallenge(challenge);\n (originalOnChallenge ?? (() => {}))(challenge, vote);\n };\n publishVoteOptions.onChallenge = onChallenge;\n\n const originalOnChallengeVerification = publishVoteOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n vote: Vote,\n ) => {\n setChallengeVerification(challengeVerification);\n (originalOnChallengeVerification ?? noop)(challengeVerification, vote);\n };\n publishVoteOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishVoteOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishVote = async () => {\n try {\n await accountsActions.publishVote(publishVoteOptions, accountName);\n } catch (e: any) {\n handlePublishVoteError(e, setErrors, originalOnError);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishVote,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommentEdit(\n options?: UsePublishCommentEditOptions,\n): UsePublishCommentEditResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommentEdit options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentEditOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommentEditOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommentEditOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommentEditOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, commentEdit: CommentEdit) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() => commentEdit?.publishChallengeAnswers.bind(commentEdit));\n setChallenge(challenge);\n originalOnChallenge?.(challenge, commentEdit);\n };\n publishCommentEditOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommentEditOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n commentEdit: CommentEdit,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, commentEdit);\n };\n publishCommentEditOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommentEditOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommentEdit = async () => {\n try {\n await accountsActions.publishCommentEdit(publishCommentEditOptions, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommentEdit,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommentModeration(\n options?: UsePublishCommentModerationOptions,\n): UsePublishCommentModerationResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommentModeration options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentModerationOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommentModerationOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommentModerationOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommentModerationOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, commentModeration: CommentModeration) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() =>\n commentModeration?.publishChallengeAnswers.bind(commentModeration),\n );\n setChallenge(challenge);\n originalOnChallenge?.(challenge, commentModeration);\n };\n publishCommentModerationOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommentModerationOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n commentModeration: CommentModeration,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, commentModeration);\n };\n publishCommentModerationOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommentModerationOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommentModeration = async () => {\n try {\n await accountsActions.publishCommentModeration(publishCommentModerationOptions, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommentModeration,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommunityEdit(\n options?: UsePublishCommunityEditOptions,\n): UsePublishCommunityEditResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommunityEdit options argument '${options}' not an object`,\n );\n const { accountName, communityAddress, ...publishCommunityEditOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && communityAddress) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommunityEditOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommunityEditOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommunityEditOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, communityEdit: CommunityEdit) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() => communityEdit?.publishChallengeAnswers.bind(communityEdit));\n setChallenge(challenge);\n originalOnChallenge?.(challenge, communityEdit);\n };\n publishCommunityEditOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommunityEditOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n communityEdit: CommunityEdit,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, communityEdit);\n };\n publishCommunityEditOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommunityEditOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommunityEdit = async () => {\n try {\n await accountsActions.publishCommunityEdit(\n communityAddress,\n publishCommunityEditOptions,\n accountName,\n );\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommunityEdit,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function useCreateCommunity(options?: UseCreateCommunityOptions): UseCreateCommunityResult {\n assert(\n !options || typeof options === \"object\",\n `useCreateCommunity options argument '${options}' not an object`,\n );\n const { accountName, onError, ...createCommunityOptions } = options || {};\n const accountId = useAccountId(accountName);\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n const [state, setState] = useState<string>();\n const [createdCommunity, setCreatedCommunity] = useState<Community>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n const createCommunity = async () => {\n try {\n setState(\"creating\");\n const createdCommunity = await accountsActions.createCommunity(\n createCommunityOptions,\n accountName,\n );\n setCreatedCommunity(createdCommunity);\n setState(\"succeeded\");\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n setState(\"failed\");\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n createdCommunity,\n createCommunity,\n state: state || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, errors, createdCommunity, options, accountName],\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/actions/actions.ts"],"names":[],"mappings":"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","sourcesContent":["import { useMemo, useRef, useState } from \"react\";\nimport type { Dispatch, SetStateAction } from \"react\";\nimport useAccountsStore from \"../../stores/accounts\";\nimport Logger from \"@pkcprotocol/pkc-logger\";\nconst log = Logger(\"bitsocial-react-hooks:actions:hooks\");\nimport assert from \"assert\";\nimport { useAccount, useAccountId } from \"../accounts\";\n\n/** Wraps a callback to no-op when guard returns false. Exported for coverage. */\nexport function withGuardActive<T extends (...args: any[]) => void>(\n guardActive: () => boolean,\n fn: T,\n): T {\n return ((...args: Parameters<T>) => {\n if (!guardActive()) return;\n return fn(...args);\n }) as T;\n}\n\nconst noop = () => {};\n\n/** For usePublishComment: when abandoned, catch should no-op. Exported for coverage. */\nexport function handlePublishErrorWhenAbandoned(\n activeRequestIdRef: { current: number | undefined },\n requestId: number,\n error: Error,\n setErrors: Dispatch<SetStateAction<Error[]>>,\n onError?: (e: Error) => void,\n): void {\n if (activeRequestIdRef.current !== requestId) return;\n setErrors((errors) => [...errors, error]);\n (onError ?? noop)(error);\n}\n\n/** For usePublishVote catch. Exported for coverage. */\nexport function handlePublishVoteError(\n error: Error,\n setErrors: Dispatch<SetStateAction<Error[]>>,\n onError?: (e: Error) => void,\n): void {\n setErrors((errors) => [...errors, error]);\n (onError ?? noop)(error);\n}\nimport type {\n UseSubscribeOptions,\n UseSubscribeResult,\n UsePublishCommentOptions,\n UsePublishCommentResult,\n UseBlockOptions,\n UseBlockResult,\n UseCreateCommunityOptions,\n UseCreateCommunityResult,\n UseExportCommunityOptions,\n UseExportCommunityResult,\n UsePublishVoteOptions,\n UsePublishVoteResult,\n UsePublishCommentEditOptions,\n UsePublishCommentEditResult,\n UsePublishCommentModerationOptions,\n UsePublishCommentModerationResult,\n UsePublishCommunityEditOptions,\n UsePublishCommunityEditResult,\n Challenge,\n ChallengeVerification,\n Comment,\n CommentEdit,\n CommentModeration,\n CommunityEdit,\n Vote,\n Community,\n CommunityExport,\n} from \"../../types\";\n\ntype PublishChallengeAnswers = (challengeAnswers: string[]) => Promise<void>;\nconst publishChallengeAnswersNotReady: PublishChallengeAnswers = async (challengeAnswers) => {\n throw Error(\n `can't call publishChallengeAnswers() before result.challenge is defined (before the challenge message is received)`,\n );\n};\n\nexport function useSubscribe(options?: UseSubscribeOptions): UseSubscribeResult {\n assert(\n !options || typeof options === \"object\",\n `useSubscribe options argument '${options}' not an object`,\n );\n const { communityAddress, accountName, onError } = options || {};\n const account = useAccount({ accountName });\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n let state = \"initializing\";\n let subscribed: boolean | undefined;\n\n // before the account and communityAddress is defined, nothing can happen\n if (account && communityAddress) {\n state = \"ready\";\n subscribed = Boolean(account.subscriptions?.includes(communityAddress));\n }\n\n const subscribe = async () => {\n try {\n await accountsActions.subscribe(communityAddress, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n const unsubscribe = async () => {\n try {\n await accountsActions.unsubscribe(communityAddress, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n subscribed,\n subscribe,\n unsubscribe,\n state,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, subscribed, errors, communityAddress, accountName],\n );\n}\n\nexport function useBlock(options?: UseBlockOptions): UseBlockResult {\n assert(\n !options || typeof options === \"object\",\n `useBlock options argument '${options}' not an object`,\n );\n const { address, cid, accountName, onError } = options || {};\n if (address && cid) {\n throw Error(\n `can't useBlock with both an address '${address}' and cid '${cid}' argument at the same time`,\n );\n }\n const account = useAccount({ accountName });\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n let state = \"initializing\";\n let blocked: boolean | undefined;\n\n // before the account and address is defined, nothing can happen\n if (account && (address || cid)) {\n state = \"ready\";\n if (address) {\n blocked = Boolean(account.blockedAddresses[address]);\n }\n if (cid) {\n blocked = Boolean(account.blockedCids[cid]);\n }\n }\n\n const block = async () => {\n try {\n if (cid) {\n await accountsActions.blockCid(cid, accountName);\n } else {\n await accountsActions.blockAddress(address, accountName);\n }\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n const unblock = async () => {\n try {\n if (cid) {\n await accountsActions.unblockCid(cid, accountName);\n } else {\n await accountsActions.unblockAddress(address, accountName);\n }\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n blocked,\n block,\n unblock,\n state,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, blocked, errors, address, accountName],\n );\n}\n\nexport function usePublishComment(options?: UsePublishCommentOptions): UsePublishCommentResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishComment options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [index, setIndex] = useState<number>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n const indexRef = useRef<number | undefined>(undefined);\n const publishRequestIdRef = useRef(0);\n const activePublishRequestIdRef = useRef<number | undefined>(undefined);\n const guardActive = () => activePublishRequestIdRef.current !== undefined;\n publishCommentOptions._onPendingCommentIndex = withGuardActive(\n guardActive,\n (pendingIndex: number) => {\n indexRef.current = pendingIndex;\n setIndex(pendingIndex);\n },\n );\n\n let initialState = \"initializing\";\n if (accountId && options) initialState = \"ready\";\n\n const originalOnError = publishCommentOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n (originalOnError ?? noop)(error);\n };\n publishCommentOptions.onError = onError;\n\n const originalOnChallenge = publishCommentOptions.onChallenge;\n publishCommentOptions.onChallenge = withGuardActive(\n guardActive,\n async (challenge: Challenge, comment: Comment) => {\n setPublishChallengeAnswers(() => comment?.publishChallengeAnswers.bind(comment));\n setChallenge(challenge);\n (originalOnChallenge ?? noop)(challenge, comment);\n },\n );\n\n const originalOnChallengeVerification = publishCommentOptions.onChallengeVerification;\n publishCommentOptions.onChallengeVerification = withGuardActive(\n guardActive,\n async (challengeVerification: ChallengeVerification, comment: Comment) => {\n setChallengeVerification(challengeVerification);\n (originalOnChallengeVerification ?? noop)(challengeVerification, comment);\n },\n );\n\n publishCommentOptions.onPublishingStateChange = withGuardActive(\n guardActive,\n (publishingState: string) => setPublishingState(publishingState),\n );\n\n const publishComment = async () => {\n const requestId = publishRequestIdRef.current + 1;\n publishRequestIdRef.current = requestId;\n activePublishRequestIdRef.current = requestId;\n try {\n const { index } = await accountsActions.publishComment(publishCommentOptions, accountName);\n if (activePublishRequestIdRef.current !== requestId) {\n return;\n }\n indexRef.current = index;\n setIndex(index);\n } catch (e: any) {\n handlePublishErrorWhenAbandoned(\n activePublishRequestIdRef,\n requestId,\n e,\n setErrors,\n originalOnError,\n );\n }\n };\n\n const abandonPublish = async () => {\n activePublishRequestIdRef.current = undefined;\n const idx = indexRef.current;\n if (idx !== undefined) {\n await accountsActions.deleteComment(idx, accountName);\n }\n indexRef.current = undefined;\n setChallenge(undefined);\n setChallengeVerification(undefined);\n setPublishChallengeAnswers(undefined);\n setIndex(undefined);\n setPublishingState(undefined);\n };\n\n return useMemo(\n () => ({\n index,\n challenge,\n challengeVerification,\n publishComment,\n abandonPublish,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n index,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishVote(options?: UsePublishVoteOptions): UsePublishVoteResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishVote options argument '${options}' not an object`,\n );\n const { accountName, ...publishVoteOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishVoteOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishVoteOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishVoteOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, vote: Vote) => {\n setPublishChallengeAnswers(() => vote?.publishChallengeAnswers.bind(vote));\n setChallenge(challenge);\n (originalOnChallenge ?? (() => {}))(challenge, vote);\n };\n publishVoteOptions.onChallenge = onChallenge;\n\n const originalOnChallengeVerification = publishVoteOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n vote: Vote,\n ) => {\n setChallengeVerification(challengeVerification);\n (originalOnChallengeVerification ?? noop)(challengeVerification, vote);\n };\n publishVoteOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishVoteOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishVote = async () => {\n try {\n await accountsActions.publishVote(publishVoteOptions, accountName);\n } catch (e: any) {\n handlePublishVoteError(e, setErrors, originalOnError);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishVote,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommentEdit(\n options?: UsePublishCommentEditOptions,\n): UsePublishCommentEditResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommentEdit options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentEditOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommentEditOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommentEditOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommentEditOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, commentEdit: CommentEdit) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() => commentEdit?.publishChallengeAnswers.bind(commentEdit));\n setChallenge(challenge);\n originalOnChallenge?.(challenge, commentEdit);\n };\n publishCommentEditOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommentEditOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n commentEdit: CommentEdit,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, commentEdit);\n };\n publishCommentEditOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommentEditOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommentEdit = async () => {\n try {\n await accountsActions.publishCommentEdit(publishCommentEditOptions, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommentEdit,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommentModeration(\n options?: UsePublishCommentModerationOptions,\n): UsePublishCommentModerationResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommentModeration options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentModerationOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommentModerationOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommentModerationOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommentModerationOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, commentModeration: CommentModeration) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() =>\n commentModeration?.publishChallengeAnswers.bind(commentModeration),\n );\n setChallenge(challenge);\n originalOnChallenge?.(challenge, commentModeration);\n };\n publishCommentModerationOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommentModerationOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n commentModeration: CommentModeration,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, commentModeration);\n };\n publishCommentModerationOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommentModerationOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommentModeration = async () => {\n try {\n await accountsActions.publishCommentModeration(publishCommentModerationOptions, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommentModeration,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommunityEdit(\n options?: UsePublishCommunityEditOptions,\n): UsePublishCommunityEditResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommunityEdit options argument '${options}' not an object`,\n );\n const { accountName, communityAddress, ...publishCommunityEditOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && communityAddress) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommunityEditOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommunityEditOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommunityEditOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, communityEdit: CommunityEdit) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() => communityEdit?.publishChallengeAnswers.bind(communityEdit));\n setChallenge(challenge);\n originalOnChallenge?.(challenge, communityEdit);\n };\n publishCommunityEditOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommunityEditOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n communityEdit: CommunityEdit,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, communityEdit);\n };\n publishCommunityEditOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommunityEditOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommunityEdit = async () => {\n try {\n await accountsActions.publishCommunityEdit(\n communityAddress,\n publishCommunityEditOptions,\n accountName,\n );\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommunityEdit,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function useCreateCommunity(options?: UseCreateCommunityOptions): UseCreateCommunityResult {\n assert(\n !options || typeof options === \"object\",\n `useCreateCommunity options argument '${options}' not an object`,\n );\n const { accountName, onError, ...createCommunityOptions } = options || {};\n const accountId = useAccountId(accountName);\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n const [state, setState] = useState<string>();\n const [createdCommunity, setCreatedCommunity] = useState<Community>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n const createCommunity = async () => {\n try {\n setState(\"creating\");\n const createdCommunity = await accountsActions.createCommunity(\n createCommunityOptions,\n accountName,\n );\n setCreatedCommunity(createdCommunity);\n setState(\"succeeded\");\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n setState(\"failed\");\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n createdCommunity,\n createCommunity,\n state: state || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, errors, createdCommunity, options, accountName],\n );\n}\n\nexport function useExportCommunity(options?: UseExportCommunityOptions): UseExportCommunityResult {\n assert(\n !options || typeof options === \"object\",\n `useExportCommunity options argument '${options}' not an object`,\n );\n const { accountName, communityAddress, communityAddresses, onError, ...exportCommunityOptions } =\n options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [exportingState, setExportingState] = useState<string>();\n const [communityExports, setCommunityExports] = useState<CommunityExport[]>([]);\n const targetCommunityAddresses =\n communityAddresses || (communityAddress ? [communityAddress] : undefined);\n const exportContextKey = JSON.stringify([\n accountId || null,\n targetCommunityAddresses || null,\n exportCommunityOptions.includePrivateKey === true,\n exportCommunityOptions.exportPath,\n ]);\n const previousExportContextKeyRef = useRef(exportContextKey);\n const exportContextVersionRef = useRef(0);\n if (previousExportContextKeyRef.current !== exportContextKey) {\n previousExportContextKeyRef.current = exportContextKey;\n exportContextVersionRef.current += 1;\n }\n const [exportingContext, setExportingContext] = useState<{\n key: string;\n version: number;\n }>();\n\n let initialState = \"initializing\";\n if (accountId) {\n initialState = \"ready\";\n }\n const hasCurrentExportState =\n accountId &&\n exportingContext?.key === exportContextKey &&\n exportingContext.version === exportContextVersionRef.current;\n\n const exportCommunity = async () => {\n try {\n setExportingContext({\n key: exportContextKey,\n version: exportContextVersionRef.current,\n });\n setExportingState(\"exporting\");\n const communityExports = await accountsActions.exportCommunity(\n targetCommunityAddresses,\n exportCommunityOptions,\n accountName,\n );\n setCommunityExports(communityExports);\n setExportingState(\"succeeded\");\n } catch (e: any) {\n setExportingState(\"failed\");\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return {\n communityExports: hasCurrentExportState ? communityExports : [],\n exportCommunity,\n state: hasCurrentExportState ? exportingState! : initialState,\n error: hasCurrentExportState ? errors[errors.length - 1] : undefined,\n errors: hasCurrentExportState ? errors : [],\n };\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { useReplies } from "./hooks/replies.js";
|
|
|
4
4
|
import { useCommunity, useCommunities, useCommunityStats, useListCommunities, useResolvedCommunityAddress } from "./hooks/communities.js";
|
|
5
5
|
import { useFeed, useBufferedFeeds } from "./hooks/feeds/index.js";
|
|
6
6
|
import { useAuthor, useAuthorComments, useAuthorAvatar, useResolvedAuthorAddress, useAuthorAddress, setAuthorAvatarsWhitelistedTokenAddresses, resetAuthorAddressCacheForTesting } from "./hooks/authors/index.js";
|
|
7
|
-
import { useSubscribe, useBlock, usePublishComment, usePublishVote, useCreateCommunity, usePublishCommentEdit, usePublishCommentModeration, usePublishCommunityEdit } from "./hooks/actions/index.js";
|
|
7
|
+
import { useSubscribe, useBlock, usePublishComment, usePublishVote, useCreateCommunity, usePublishCommentEdit, usePublishCommentModeration, usePublishCommunityEdit, useExportCommunity } from "./hooks/actions/index.js";
|
|
8
8
|
import { createAccount, deleteAccount, deleteComment, setAccount, setActiveAccount, setAccountsOrder, importAccount, exportAccount, deleteCommunity } from "./stores/accounts/accounts-actions.js";
|
|
9
9
|
import { useClientsStates, useCommunitiesStates } from "./hooks/states.js";
|
|
10
10
|
import { usePkcRpcSettings } from "./hooks/pkc-rpc.js";
|
|
@@ -12,7 +12,7 @@ import { getEthWalletFromPkcPrivateKey, getEthPrivateKeyFromPkcPrivateKey, valid
|
|
|
12
12
|
import { setPkcJs, restorePkcJs } from "./lib/pkc-js/index.js";
|
|
13
13
|
import { deleteDatabases, deleteCaches } from "./lib/debug-utils.js";
|
|
14
14
|
export * from "./types.js";
|
|
15
|
-
export { useAccount, useAccounts, useAccountComment, useAccountComments, useAccountVotes, useAccountVote, useAccountEdits, useAccountCommunities, useNotifications, usePubsubSubscribe, useComment, useComments, useEditedComment, useValidateComment, useReplies, useCommunity, useCommunities, useCommunityStats, useListCommunities, useResolvedCommunityAddress, useAuthor, useAuthorComments, useAuthorAvatar, useResolvedAuthorAddress, useAuthorAddress, setAuthorAvatarsWhitelistedTokenAddresses, resetAuthorAddressCacheForTesting, useFeed, useBufferedFeeds, useSubscribe, useBlock, usePublishComment, usePublishVote, usePublishCommentEdit, usePublishCommentModeration, usePublishCommunityEdit, useCreateCommunity, createAccount, deleteAccount, deleteComment, setAccount, setActiveAccount, setAccountsOrder, importAccount, exportAccount, deleteCommunity, useClientsStates, useCommunitiesStates, usePkcRpcSettings, getEthWalletFromPkcPrivateKey, getEthPrivateKeyFromPkcPrivateKey, validateEthWallet, setPkcJs, restorePkcJs, deleteDatabases, deleteCaches, };
|
|
15
|
+
export { useAccount, useAccounts, useAccountComment, useAccountComments, useAccountVotes, useAccountVote, useAccountEdits, useAccountCommunities, useNotifications, usePubsubSubscribe, useComment, useComments, useEditedComment, useValidateComment, useReplies, useCommunity, useCommunities, useCommunityStats, useListCommunities, useResolvedCommunityAddress, useAuthor, useAuthorComments, useAuthorAvatar, useResolvedAuthorAddress, useAuthorAddress, setAuthorAvatarsWhitelistedTokenAddresses, resetAuthorAddressCacheForTesting, useFeed, useBufferedFeeds, useSubscribe, useBlock, usePublishComment, usePublishVote, usePublishCommentEdit, usePublishCommentModeration, usePublishCommunityEdit, useCreateCommunity, useExportCommunity, createAccount, deleteAccount, deleteComment, setAccount, setActiveAccount, setAccountsOrder, importAccount, exportAccount, deleteCommunity, useClientsStates, useCommunitiesStates, usePkcRpcSettings, getEthWalletFromPkcPrivateKey, getEthPrivateKeyFromPkcPrivateKey, validateEthWallet, setPkcJs, restorePkcJs, deleteDatabases, deleteCaches, };
|
|
16
16
|
declare const hooks: {
|
|
17
17
|
useAccount: typeof useAccount;
|
|
18
18
|
useAccounts: typeof useAccounts;
|
|
@@ -51,6 +51,7 @@ declare const hooks: {
|
|
|
51
51
|
usePublishCommentModeration: typeof usePublishCommentModeration;
|
|
52
52
|
usePublishCommunityEdit: typeof usePublishCommunityEdit;
|
|
53
53
|
useCreateCommunity: typeof useCreateCommunity;
|
|
54
|
+
useExportCommunity: typeof useExportCommunity;
|
|
54
55
|
createAccount: (accountName?: string) => Promise<void>;
|
|
55
56
|
deleteAccount: (accountName?: string) => Promise<void>;
|
|
56
57
|
deleteComment: (commentCidOrAccountCommentIndex: string | number, accountName?: string) => Promise<void>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG/E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG1D,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,yCAAyC,EACzC,iCAAiC,EAClC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG/E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG1D,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,yCAAyC,EACzC,iCAAiC,EAClC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGlE,cAAc,SAAS,CAAC;AAGxB,OAAO,EAEL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAElB,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAElB,UAAU,EAEV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAE3B,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,yCAAyC,EACzC,iCAAiC,EAEjC,OAAO,EACP,gBAAgB,EAEhB,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAElB,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EAEf,gBAAgB,EAChB,oBAAoB,EAEpB,iBAAiB,EAEjB,6BAA6B,EAC7B,iCAAiC,EACjC,iBAAiB,EAEjB,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,GACb,CAAC;AAGF,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEV,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import { useFeed, useBufferedFeeds } from "./hooks/feeds/index.js";
|
|
|
13
13
|
// authors
|
|
14
14
|
import { useAuthor, useAuthorComments, useAuthorAvatar, useResolvedAuthorAddress, useAuthorAddress, setAuthorAvatarsWhitelistedTokenAddresses, resetAuthorAddressCacheForTesting, } from "./hooks/authors/index.js";
|
|
15
15
|
// actions
|
|
16
|
-
import { useSubscribe, useBlock, usePublishComment, usePublishVote, useCreateCommunity, usePublishCommentEdit, usePublishCommentModeration, usePublishCommunityEdit, } from "./hooks/actions/index.js";
|
|
16
|
+
import { useSubscribe, useBlock, usePublishComment, usePublishVote, useCreateCommunity, usePublishCommentEdit, usePublishCommentModeration, usePublishCommunityEdit, useExportCommunity, } from "./hooks/actions/index.js";
|
|
17
17
|
// actions that don't have their own hooks yet
|
|
18
18
|
import { createAccount, deleteAccount, deleteComment, setAccount, setActiveAccount, setAccountsOrder, importAccount, exportAccount, deleteCommunity, } from "./stores/accounts/accounts-actions.js";
|
|
19
19
|
// states
|
|
@@ -42,7 +42,7 @@ useAuthor, useAuthorComments, useAuthorAvatar, useResolvedAuthorAddress, useAuth
|
|
|
42
42
|
// feeds
|
|
43
43
|
useFeed, useBufferedFeeds,
|
|
44
44
|
// actions
|
|
45
|
-
useSubscribe, useBlock, usePublishComment, usePublishVote, usePublishCommentEdit, usePublishCommentModeration, usePublishCommunityEdit, useCreateCommunity,
|
|
45
|
+
useSubscribe, useBlock, usePublishComment, usePublishVote, usePublishCommentEdit, usePublishCommentModeration, usePublishCommunityEdit, useCreateCommunity, useExportCommunity,
|
|
46
46
|
// actions that don't have their own hooks yet
|
|
47
47
|
createAccount, deleteAccount, deleteComment, setAccount, setActiveAccount, setAccountsOrder, importAccount, exportAccount, deleteCommunity,
|
|
48
48
|
// states
|
|
@@ -99,6 +99,7 @@ const hooks = {
|
|
|
99
99
|
usePublishCommentModeration,
|
|
100
100
|
usePublishCommunityEdit,
|
|
101
101
|
useCreateCommunity,
|
|
102
|
+
useExportCommunity,
|
|
102
103
|
// actions that don't have their own hooks yet
|
|
103
104
|
createAccount,
|
|
104
105
|
deleteAccount,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,QAAQ,EAAE,CAAC;AAEX,WAAW;AACX,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,WAAW;AACX,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,cAAc;AACd,OAAO,EACL,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,QAAQ;AACR,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE1D,UAAU;AACV,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,yCAAyC,EACzC,iCAAiC,GAClC,MAAM,iBAAiB,CAAC;AAEzB,UAAU;AACV,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import polyfill from \"./lib/polyfill\";\npolyfill();\n\n// accounts\nimport {\n useAccount,\n useAccounts,\n useAccountComment,\n useAccountComments,\n useAccountVotes,\n useAccountVote,\n useAccountEdits,\n useEditedComment,\n useNotifications,\n useAccountCommunities,\n usePubsubSubscribe,\n} from \"./hooks/accounts\";\n\n// comments\nimport { useComment, useComments, useValidateComment } from \"./hooks/comments\";\n\n// replies\nimport { useReplies } from \"./hooks/replies\";\n\n// communities\nimport {\n useCommunity,\n useCommunities,\n useCommunityStats,\n useListCommunities,\n useResolvedCommunityAddress,\n} from \"./hooks/communities\";\n\n// feeds\nimport { useFeed, useBufferedFeeds } from \"./hooks/feeds\";\n\n// authors\nimport {\n useAuthor,\n useAuthorComments,\n useAuthorAvatar,\n useResolvedAuthorAddress,\n useAuthorAddress,\n setAuthorAvatarsWhitelistedTokenAddresses,\n resetAuthorAddressCacheForTesting,\n} from \"./hooks/authors\";\n\n// actions\nimport {\n useSubscribe,\n useBlock,\n usePublishComment,\n usePublishVote,\n useCreateCommunity,\n usePublishCommentEdit,\n usePublishCommentModeration,\n usePublishCommunityEdit,\n useExportCommunity,\n} from \"./hooks/actions\";\n\n// actions that don't have their own hooks yet\nimport {\n createAccount,\n deleteAccount,\n deleteComment,\n setAccount,\n setActiveAccount,\n setAccountsOrder,\n importAccount,\n exportAccount,\n deleteCommunity,\n} from \"./stores/accounts/accounts-actions\";\n\n// states\nimport { useClientsStates, useCommunitiesStates } from \"./hooks/states\";\n\n// pkc-rpc\nimport { usePkcRpcSettings } from \"./hooks/pkc-rpc\";\n\n// chain\nimport {\n getEthWalletFromPkcPrivateKey,\n getEthPrivateKeyFromPkcPrivateKey,\n validateEthWallet,\n} from \"./lib/chain\";\n\n// utils\nimport { setPkcJs, restorePkcJs } from \"./lib/pkc-js\";\nimport { deleteDatabases, deleteCaches } from \"./lib/debug-utils\";\n\n// types\nexport * from \"./types\";\n\n// IMPORTANT: should be the same as 'export default hooks'\nexport {\n // accounts\n useAccount,\n useAccounts,\n useAccountComment,\n useAccountComments,\n useAccountVotes,\n useAccountVote,\n useAccountEdits,\n useAccountCommunities,\n useNotifications,\n usePubsubSubscribe,\n // comments\n useComment,\n useComments,\n useEditedComment,\n useValidateComment,\n // replies\n useReplies,\n // communities\n useCommunity,\n useCommunities,\n useCommunityStats,\n useListCommunities,\n useResolvedCommunityAddress,\n // authors\n useAuthor,\n useAuthorComments,\n useAuthorAvatar,\n useResolvedAuthorAddress,\n useAuthorAddress,\n setAuthorAvatarsWhitelistedTokenAddresses,\n resetAuthorAddressCacheForTesting,\n // feeds\n useFeed,\n useBufferedFeeds,\n // actions\n useSubscribe,\n useBlock,\n usePublishComment,\n usePublishVote,\n usePublishCommentEdit,\n usePublishCommentModeration,\n usePublishCommunityEdit,\n useCreateCommunity,\n useExportCommunity,\n // actions that don't have their own hooks yet\n createAccount,\n deleteAccount,\n deleteComment,\n setAccount,\n setActiveAccount,\n setAccountsOrder,\n importAccount,\n exportAccount,\n deleteCommunity,\n // states\n useClientsStates,\n useCommunitiesStates,\n // pkc-rpc\n usePkcRpcSettings,\n // chain\n getEthWalletFromPkcPrivateKey,\n getEthPrivateKeyFromPkcPrivateKey,\n validateEthWallet,\n // utils\n setPkcJs,\n restorePkcJs,\n deleteDatabases,\n deleteCaches,\n};\n\n// IMPORTANT: should be the same as 'export {}'\nconst hooks = {\n // accounts\n useAccount,\n useAccounts,\n useAccountComment,\n useAccountComments,\n useAccountVotes,\n useAccountVote,\n useAccountEdits,\n useAccountCommunities,\n useNotifications,\n usePubsubSubscribe,\n // comments\n useComment,\n useComments,\n useEditedComment,\n useValidateComment,\n // replies\n useReplies,\n // communities\n useCommunity,\n useCommunities,\n useCommunityStats,\n useListCommunities,\n useResolvedCommunityAddress,\n // authors\n useAuthor,\n useAuthorComments,\n useAuthorAvatar,\n useResolvedAuthorAddress,\n useAuthorAddress,\n setAuthorAvatarsWhitelistedTokenAddresses,\n resetAuthorAddressCacheForTesting,\n // feeds\n useFeed,\n useBufferedFeeds,\n // actions\n useSubscribe,\n useBlock,\n usePublishComment,\n usePublishVote,\n usePublishCommentEdit,\n usePublishCommentModeration,\n usePublishCommunityEdit,\n useCreateCommunity,\n useExportCommunity,\n // actions that don't have their own hooks yet\n createAccount,\n deleteAccount,\n deleteComment,\n setAccount,\n setActiveAccount,\n setAccountsOrder,\n importAccount,\n exportAccount,\n deleteCommunity,\n // states\n useClientsStates,\n useCommunitiesStates,\n // pkc-rpc\n usePkcRpcSettings,\n // chain\n getEthWalletFromPkcPrivateKey,\n getEthPrivateKeyFromPkcPrivateKey,\n validateEthWallet,\n // utils\n setPkcJs,\n restorePkcJs,\n deleteDatabases,\n deleteCaches,\n};\n\nexport default hooks;\n"]}
|
|
@@ -73,10 +73,12 @@ export declare class Community extends EventEmitter {
|
|
|
73
73
|
updating: boolean;
|
|
74
74
|
firstUpdate: boolean;
|
|
75
75
|
address: string | undefined;
|
|
76
|
+
publicKey: string | undefined;
|
|
76
77
|
title: string | undefined;
|
|
77
78
|
description: string | undefined;
|
|
78
79
|
posts: Pages;
|
|
79
80
|
modQueue: Pages;
|
|
81
|
+
exportRecords: any[];
|
|
80
82
|
updatedAt: number | undefined;
|
|
81
83
|
statsCid: string | undefined;
|
|
82
84
|
state: string;
|
|
@@ -84,6 +86,10 @@ export declare class Community extends EventEmitter {
|
|
|
84
86
|
constructor(createCommunityOptions?: any);
|
|
85
87
|
update(): Promise<void>;
|
|
86
88
|
delete(): Promise<void>;
|
|
89
|
+
get exports(): any[];
|
|
90
|
+
export(exportCommunityOptions?: any): Promise<{
|
|
91
|
+
exportId: string;
|
|
92
|
+
}>;
|
|
87
93
|
simulateUpdateEvent(): void;
|
|
88
94
|
simulateFirstUpdateEvent(): Promise<void>;
|
|
89
95
|
get roles(): {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkc-js-mock.d.ts","sourceRoot":"","sources":["../../../src/lib/pkc-js/pkc-js-mock.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAG5F,eAAO,MAAM,mBAAmB,wBAAuD,CAAC;AAQxF,eAAO,MAAM,cAAc,YAG1B,CAAC;AACF,eAAO,MAAM,cAAc,YAE1B,CAAC;AAEF,cAAM,kBAAmB,SAAQ,YAAY;IAC3C,KAAK,SAAa;CACnB;AAED,qBAAa,GAAI,SAAQ,YAAY;IACnC,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,eAAe,EAAE;QACf,OAAO,EAAE;YACP,aAAa,EAAE;gBAAE,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAAA;aAAE,CAAC;SAC9D,CAAC;KACH,CAAC;gBAEU,OAAO,GAAE,GAAQ;IAgBvB,oBAAoB,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IAiBjD,iBAAiB,CACrB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC;IAKhC,YAAY;;;;IAOZ,eAAe,CAAC,sBAAsB,EAAE,GAAG;IA6C3C,YAAY,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IAqB/C,IAAI,WAAW,aAQd;IAEK,aAAa,CAAC,oBAAoB,EAAE,GAAG;IAIvC,UAAU,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IAazC,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM;IAQ1B,UAAU;IAIV,iBAAiB,CAAC,wBAAwB,EAAE,GAAG;IAI/C,uBAAuB,CAAC,8BAA8B,EAAE,GAAG;IAI3D,mBAAmB,CAAC,0BAA0B,EAAE,GAAG;IAInD,QAAQ,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IAQjC,eAAe,CAAC,gBAAgB,EAAE,MAAM;IACxC,iBAAiB,CAAC,gBAAgB,EAAE,MAAM;IAEhD,OAAO;;;;MAOF;IAEC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG;CAChE;AAED,cAAM,YAAa,SAAQ,YAAY;IACrC,KAAK,SAAgB;IACrB,QAAQ,EAAE,GAAG,CAAa;;IAYpB,WAAW,CAAC,QAAQ,EAAE,GAAG;CAIhC;AAED,qBAAa,KAAK;IAChB,QAAQ,EAAE,GAAG,CAAM;IACnB,KAAK,EAAE,GAAG,CAAM;IAChB,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;gBAED,YAAY,CAAC,EAAE,GAAG;IAQxB,OAAO,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IAOhC,YAAY,CAAC,IAAI,EAAE,GAAG;IAG5B,SAAS,CAAC,OAAO,EAAE,MAAM;CA4B1B;AAED,qBAAa,SAAU,SAAQ,YAAY;IACzC,iBAAiB,SAAK;IACtB,QAAQ,UAAS;IACjB,WAAW,UAAQ;IACnB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;gBAEV,sBAAsB,CAAC,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"pkc-js-mock.d.ts","sourceRoot":"","sources":["../../../src/lib/pkc-js/pkc-js-mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -289,12 +289,14 @@ export class Community extends EventEmitter {
|
|
|
289
289
|
(createCommunityOptions === null || createCommunityOptions === void 0 ? void 0 : createCommunityOptions.address) ||
|
|
290
290
|
(createCommunityOptions === null || createCommunityOptions === void 0 ? void 0 : createCommunityOptions.name) ||
|
|
291
291
|
(createCommunityOptions === null || createCommunityOptions === void 0 ? void 0 : createCommunityOptions.publicKey);
|
|
292
|
+
this.publicKey = (createCommunityOptions === null || createCommunityOptions === void 0 ? void 0 : createCommunityOptions.publicKey) || this.address;
|
|
292
293
|
this.title = createCommunityOptions === null || createCommunityOptions === void 0 ? void 0 : createCommunityOptions.title;
|
|
293
294
|
this.description = createCommunityOptions === null || createCommunityOptions === void 0 ? void 0 : createCommunityOptions.description;
|
|
294
295
|
this.statsCid = "statscid";
|
|
295
296
|
this.state = "stopped";
|
|
296
297
|
this.updatingState = "stopped";
|
|
297
298
|
this.updatedAt = createCommunityOptions === null || createCommunityOptions === void 0 ? void 0 : createCommunityOptions.updatedAt;
|
|
299
|
+
this.exportRecords = [];
|
|
298
300
|
this.posts = new Pages({ community: this });
|
|
299
301
|
// add community.posts from createCommunityOptions
|
|
300
302
|
if ((_a = createCommunityOptions === null || createCommunityOptions === void 0 ? void 0 : createCommunityOptions.posts) === null || _a === void 0 ? void 0 : _a.pages) {
|
|
@@ -362,6 +364,27 @@ export class Community extends EventEmitter {
|
|
|
362
364
|
}
|
|
363
365
|
});
|
|
364
366
|
}
|
|
367
|
+
get exports() {
|
|
368
|
+
return this.exportRecords.map((record) => (Object.assign({}, record)));
|
|
369
|
+
}
|
|
370
|
+
export() {
|
|
371
|
+
return __awaiter(this, arguments, void 0, function* (exportCommunityOptions = {}) {
|
|
372
|
+
if (!this.address) {
|
|
373
|
+
throw Error(`can't community.export with no community.address`);
|
|
374
|
+
}
|
|
375
|
+
const exportRecord = {
|
|
376
|
+
exportId: `${this.address} export ${this.exportRecords.length + 1}`,
|
|
377
|
+
name: this.address,
|
|
378
|
+
publicKey: this.publicKey || this.address,
|
|
379
|
+
includePrivateKey: exportCommunityOptions.includePrivateKey === true,
|
|
380
|
+
progress: 1,
|
|
381
|
+
url: `file://${this.address}.zip`,
|
|
382
|
+
};
|
|
383
|
+
this.exportRecords.push(exportRecord);
|
|
384
|
+
this.emit("exportschange", this.exports);
|
|
385
|
+
return { exportId: exportRecord.exportId };
|
|
386
|
+
});
|
|
387
|
+
}
|
|
365
388
|
simulateUpdateEvent() {
|
|
366
389
|
if (this.firstUpdate) {
|
|
367
390
|
this.simulateFirstUpdateEvent();
|