@bitsocial/bitsocial-react-hooks 0.1.14 → 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 +14 -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 +38 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkc-js-mock.js","sourceRoot":"","sources":["../../../src/lib/pkc-js/pkc-js-mock.ts"],"names":[],"mappings":"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","sourcesContent":["import EventEmitter from \"events\";\nimport type { PkcResolveAuthorNameOptions, PkcResolveAuthorNameResult } from \"../pkc-types\";\n\nconst loadingTime = 10;\nexport const simulateLoadingTime = () => new Promise((r) => setTimeout(r, loadingTime));\n\n// keep a list of created and edited owner communities\n// to reinitialize them with pkc.createCommunity()\nlet createdOwnerCommunities: any = {};\nlet editedOwnerCommunities: any = {};\n\n// reset the pkc-js global state in between tests\nexport const resetPkcJsMock = () => {\n createdOwnerCommunities = {};\n editedOwnerCommunities = {};\n};\nexport const debugPkcJsMock = () => {\n console.log({ createdOwnerCommunities, editedOwnerCommunities });\n};\n\nclass NameResolverClient extends EventEmitter {\n state = \"stopped\";\n}\n\nexport class PKC extends EventEmitter {\n nameResolvers: any[];\n _clientsManager: {\n clients: {\n nameResolvers: { [resolverKey: string]: NameResolverClient };\n };\n };\n\n constructor(options: any = {}) {\n super();\n this.nameResolvers = options?.nameResolvers || [];\n this._clientsManager = {\n clients: {\n nameResolvers: this.nameResolvers.reduce(\n (resolverClients: { [resolverKey: string]: NameResolverClient }, resolver: any) => ({\n ...resolverClients,\n [resolver.key]: new NameResolverClient(),\n }),\n {},\n ),\n },\n };\n }\n\n async resolveAuthorAddress(options: { address: string }) {\n const resolver = this.nameResolvers.find((nameResolver) =>\n nameResolver?.canResolve?.({ name: options.address }),\n );\n const resolverClient = resolver && this._clientsManager.clients.nameResolvers[resolver.key];\n if (resolverClient) {\n resolverClient.state = \"resolving-author-name\";\n resolverClient.emit(\"statechange\", resolverClient.state);\n }\n await simulateLoadingTime();\n if (resolverClient) {\n resolverClient.state = \"stopped\";\n resolverClient.emit(\"statechange\", resolverClient.state);\n }\n return \"resolved author address\";\n }\n\n async resolveAuthorName(\n options: PkcResolveAuthorNameOptions,\n ): Promise<PkcResolveAuthorNameResult> {\n const resolvedAuthorName = await this.resolveAuthorAddress({ address: options.name });\n return { resolvedAuthorName };\n }\n\n async createSigner() {\n return {\n privateKey: \"private key\",\n address: \"address\",\n };\n }\n\n async createCommunity(createCommunityOptions: any) {\n if (!createCommunityOptions) {\n createCommunityOptions = {};\n }\n const communityIdentifier =\n createCommunityOptions.address ||\n createCommunityOptions.name ||\n createCommunityOptions.publicKey;\n\n // no address provided so probably a user creating an owner community\n if (!communityIdentifier) {\n createCommunityOptions = {\n ...createCommunityOptions,\n address: \"created community address\",\n };\n // createdCommunityAddresses.push('created community address')\n createdOwnerCommunities[createCommunityOptions.address] = { ...createCommunityOptions };\n }\n // only address provided, so could be a previously created owner community\n // add props from previously created sub\n else if (\n createdOwnerCommunities[createCommunityOptions.address] &&\n JSON.stringify(Object.keys(createCommunityOptions)) === '[\"address\"]'\n ) {\n for (const prop in createdOwnerCommunities[createCommunityOptions.address]) {\n if (createdOwnerCommunities[createCommunityOptions.address][prop]) {\n createCommunityOptions[prop] =\n createdOwnerCommunities[createCommunityOptions.address][prop];\n }\n }\n }\n\n // add edited props if owner community was edited in the past\n if (editedOwnerCommunities[createCommunityOptions.address]) {\n for (const prop in editedOwnerCommunities[createCommunityOptions.address]) {\n if (editedOwnerCommunities[createCommunityOptions.address][prop]) {\n createCommunityOptions[prop] =\n editedOwnerCommunities[createCommunityOptions.address][prop];\n }\n }\n }\n\n return new Community(createCommunityOptions);\n }\n\n async getCommunity(options: { address: string }) {\n const address = options?.address;\n await simulateLoadingTime();\n const createCommunityOptions = { address };\n const community: any = new Community(createCommunityOptions);\n community.title = community.address + \" title\";\n const hotPageCid = community.address + \" page cid hot\";\n community.posts.pages.hot = community.posts.pageToGet(hotPageCid);\n community.posts.pageCids = {\n hot: hotPageCid,\n topAll: community.address + \" page cid topAll\",\n new: community.address + \" page cid new\",\n active: community.address + \" page cid active\",\n };\n community.modQueue.pageCids = {\n pendingApproval: community.address + \" page cid pendingApproval\",\n };\n return community;\n }\n\n // TODO: implement event communitieschange\n get communities() {\n return [\n ...new Set([\n \"list community address 1\",\n \"list community address 2\",\n ...Object.keys(createdOwnerCommunities),\n ]),\n ];\n }\n\n async createComment(createCommentOptions: any) {\n return new Comment(createCommentOptions);\n }\n\n async getComment(options: { cid: string }) {\n const cid = options?.cid;\n await simulateLoadingTime();\n const createCommentOptions = {\n cid,\n // useComment() requires timestamp or will use account comment instead of comment from store\n timestamp: 1670000000,\n ...this.commentToGet(cid),\n };\n return new Comment(createCommentOptions);\n }\n\n // mock this method to get a comment with different content, timestamp, address, etc\n commentToGet(commentCid?: string) {\n return {\n // content: 'mock some content'\n // author: {address: 'mock some address'},\n // timestamp: 1234\n };\n }\n\n async createVote() {\n return new Vote();\n }\n\n async createCommentEdit(createCommentEditOptions: any) {\n return new CommentEdit(createCommentEditOptions);\n }\n\n async createCommentModeration(createCommentModerationOptions: any) {\n return new CommentModeration(createCommentModerationOptions);\n }\n\n async createCommunityEdit(createCommunityEditOptions: any) {\n return new CommunityEdit(createCommunityEditOptions);\n }\n\n async fetchCid(options: { cid: string }) {\n const cid = options?.cid;\n if (cid?.startsWith(\"statscid\")) {\n return JSON.stringify({ hourActiveUserCount: 1 });\n }\n throw Error(`pkc.fetchCid not implemented in pkc-js mock for cid '${cid}'`);\n }\n\n async pubsubSubscribe(communityAddress: string) {}\n async pubsubUnsubscribe(communityAddress: string) {}\n\n clients = (() => {\n const pkcRpcClients = {\n \"http://localhost:9138\": new PkcRpcClient(),\n };\n return {\n pkcRpcClients,\n };\n })();\n\n async validateComment(comment: any, validateCommentOptions: any) {}\n}\n\nclass PkcRpcClient extends EventEmitter {\n state = \"connecting\";\n settings: any = undefined;\n constructor() {\n super();\n // simulate connecting to the rpc\n setTimeout(() => {\n this.state = \"connected\";\n this.settings = { challenges: {} };\n this.emit(\"statechange\", this.state);\n this.emit(\"settingschange\", this.settings);\n }, 10);\n }\n\n async setSettings(settings: any) {\n this.settings = settings;\n this.emit(\"settingschange\", this.settings);\n }\n}\n\nexport class Pages {\n pageCids: any = {};\n pages: any = {};\n community: any;\n comment: any;\n\n constructor(pagesOptions?: any) {\n Object.defineProperty(this, \"community\", {\n value: pagesOptions?.community,\n enumerable: false,\n });\n Object.defineProperty(this, \"comment\", { value: pagesOptions?.comment, enumerable: false });\n }\n\n async getPage(options: { cid: string }) {\n const cid = options?.cid;\n // need to wait twice otherwise react renders too fast and fetches too many pages in advance\n await simulateLoadingTime();\n return this.pageToGet(cid);\n }\n\n async validatePage(page: any) {}\n\n // mock this method to get pages with different content, or use to getPage without simulated loading time\n pageToGet(pageCid: string) {\n const communityAddress = this.community?.address || this.comment?.communityAddress;\n const isPendingApprovalPage = pageCid.includes(\"pendingApproval\");\n const page: any = {\n nextCid: communityAddress + \" \" + pageCid + \" - next page cid\",\n comments: [],\n };\n const postCount = 100;\n let index = 0;\n while (index++ < postCount) {\n const comment: any = {\n timestamp: index,\n cid: pageCid + \" comment cid \" + index,\n communityAddress,\n upvoteCount: index,\n downvoteCount: 10,\n author: {\n address: pageCid + \" author address \" + index,\n },\n updatedAt: index,\n };\n if (isPendingApprovalPage) {\n comment.pendingApproval = true;\n }\n page.comments.push(comment);\n }\n return page;\n }\n}\n\nexport class Community extends EventEmitter {\n updateCalledTimes = 0;\n updating = false;\n firstUpdate = true;\n address: string | undefined;\n title: string | undefined;\n description: string | undefined;\n posts: Pages;\n modQueue: Pages;\n updatedAt: number | undefined;\n statsCid: string | undefined;\n state: string;\n updatingState: string;\n\n constructor(createCommunityOptions?: any) {\n super();\n this.address =\n createCommunityOptions?.address ||\n createCommunityOptions?.name ||\n createCommunityOptions?.publicKey;\n this.title = createCommunityOptions?.title;\n this.description = createCommunityOptions?.description;\n this.statsCid = \"statscid\";\n this.state = \"stopped\";\n this.updatingState = \"stopped\";\n this.updatedAt = createCommunityOptions?.updatedAt;\n\n this.posts = new Pages({ community: this });\n // add community.posts from createCommunityOptions\n if (createCommunityOptions?.posts?.pages) {\n this.posts.pages = createCommunityOptions?.posts?.pages;\n }\n if (createCommunityOptions?.posts?.pageCids) {\n this.posts.pageCids = createCommunityOptions?.posts?.pageCids;\n }\n\n this.modQueue = new Pages({ community: this });\n // add community.modQueue from createCommunityOptions\n if (createCommunityOptions?.modQueue?.pageCids) {\n this.modQueue.pageCids = createCommunityOptions?.modQueue?.pageCids;\n }\n\n if (createCommunityOptions) {\n for (const prop in createCommunityOptions) {\n if (createCommunityOptions[prop] !== undefined) {\n const descriptor =\n Object.getOwnPropertyDescriptor(this, prop) ||\n Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this), prop);\n if (descriptor && !descriptor.writable && !descriptor.set) {\n continue;\n }\n // @ts-ignore\n this[prop] = createCommunityOptions[prop];\n }\n }\n }\n\n const lookupKeys = [\"address\", \"name\", \"publicKey\"];\n const createCommunityOptionKeys = Object.keys(createCommunityOptions || {});\n const hasLookupIdentifier = Boolean(\n createCommunityOptions?.address ||\n createCommunityOptions?.name ||\n createCommunityOptions?.publicKey,\n );\n const lookupOnly =\n hasLookupIdentifier &&\n createCommunityOptionKeys.length > 0 &&\n createCommunityOptionKeys.every((key) => lookupKeys.includes(key));\n\n // only trigger a first update for lookup-only remote community instances\n if (!lookupOnly) {\n this.firstUpdate = false;\n }\n }\n\n async update() {\n this.updateCalledTimes++;\n if (!this.address) {\n throw Error(`can't update without community.address`);\n }\n // don't update twice\n if (this.updating) {\n return;\n }\n this.updating = true;\n\n this.state = \"updating\";\n this.updatingState = \"fetching-ipns\";\n this.emit(\"statechange\", \"updating\");\n this.emit(\"updatingstatechange\", \"fetching-ipns\");\n\n simulateLoadingTime().then(() => {\n this.simulateUpdateEvent();\n });\n }\n\n async delete() {\n if (this.address) {\n delete createdOwnerCommunities[this.address];\n delete editedOwnerCommunities[this.address];\n }\n }\n\n simulateUpdateEvent() {\n if (this.firstUpdate) {\n this.simulateFirstUpdateEvent();\n return;\n }\n\n this.description = this.address + \" description updated\";\n // @ts-ignore\n this.updatedAt = this.updatedAt + 1;\n\n this.updating = false;\n this.updatingState = \"succeeded\";\n this.emit(\"update\", this);\n this.emit(\"updatingstatechange\", \"succeeded\");\n }\n\n // the first update event adds all the field from getCommunity\n async simulateFirstUpdateEvent() {\n this.firstUpdate = false;\n this.updatedAt = Math.floor(Date.now() / 1000);\n\n this.title = this.address + \" title\";\n const hotPageCid = this.address + \" page cid hot\";\n this.posts.pages.hot = this.posts.pageToGet(hotPageCid);\n this.posts.pageCids = {\n hot: hotPageCid,\n topAll: this.address + \" page cid topAll\",\n new: this.address + \" page cid new\",\n active: this.address + \" page cid active\",\n };\n this.modQueue.pageCids = {\n pendingApproval: this.address + \" page cid pendingApproval\",\n };\n\n // simulate the ipns update\n this.updatingState = \"succeeded\";\n this.emit(\"update\", this);\n this.emit(\"updatingstatechange\", \"succeeded\");\n\n // simulate the next update\n this.updatingState = \"fetching-ipns\";\n this.emit(\"updatingstatechange\", \"fetching-ipns\");\n simulateLoadingTime().then(() => {\n this.simulateUpdateEvent();\n });\n }\n\n // use getting to easily mock it\n get roles() {\n return this.rolesToGet();\n }\n\n // mock this method to get different roles\n rolesToGet() {\n return {};\n }\n\n async edit(editCommunityOptions: any) {\n if (!this.address || typeof this.address !== \"string\") {\n throw Error(`can't community.edit with no community.address`);\n }\n const previousAddress = this.address;\n\n // do community.edit\n for (const prop in editCommunityOptions) {\n if (editCommunityOptions[prop] !== undefined) {\n const descriptor =\n Object.getOwnPropertyDescriptor(this, prop) ||\n Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this), prop);\n if (descriptor && !descriptor.writable && !descriptor.set) {\n continue;\n }\n // @ts-ignore\n this[prop] = editCommunityOptions[prop];\n }\n }\n\n // keep a list of edited communities to reinitialize\n // them with pkc.createCommunity()\n editedOwnerCommunities[this.address] = {\n address: this.address,\n title: this.title,\n description: this.description,\n };\n\n // handle change of community.address\n if (editCommunityOptions.address) {\n // apply address change to editedOwnerCommunities\n editedOwnerCommunities[previousAddress] = {\n address: this.address,\n title: this.title,\n description: this.description,\n };\n delete editedOwnerCommunities[previousAddress];\n\n // apply address change to createdOwnerCommunities\n createdOwnerCommunities[this.address] = {\n ...createdOwnerCommunities[previousAddress],\n address: this.address,\n };\n delete createdOwnerCommunities[previousAddress];\n }\n }\n}\n// make roles enumarable so it acts like a regular prop\nObject.defineProperty(Community.prototype, \"roles\", { enumerable: true });\n\nlet challengeRequestCount = 0;\nlet challengeAnswerCount = 0;\n\nclass Publication extends EventEmitter {\n timestamp: number | undefined;\n content: string | undefined;\n cid: string | undefined;\n challengeRequestId = `r${++challengeRequestCount}`;\n challengeAnswerId = `a${++challengeAnswerCount}`;\n state: string | undefined;\n publishingState: string | undefined;\n\n async publish() {\n this.state = \"publishing\";\n this.publishingState = \"publishing-challenge-request\";\n this.emit(\"statechange\", \"publishing\");\n this.emit(\"publishingstatechange\", \"publishing-challenge-request\");\n\n await simulateLoadingTime();\n this.simulateChallengeEvent();\n }\n\n simulateChallengeEvent() {\n this.publishingState = \"waiting-challenge-answers\";\n this.emit(\"publishingstatechange\", \"waiting-challenge-answers\");\n\n const challenge = { type: \"text\", challenge: \"2+2=?\" };\n const challengeMessage = {\n type: \"CHALLENGE\",\n challengeRequestId: this.challengeRequestId,\n challenges: [challenge],\n };\n this.emit(\"challenge\", challengeMessage, this);\n }\n\n async publishChallengeAnswers(challengeAnswers: string[]) {\n this.publishingState = \"publishing-challenge-answer\";\n this.emit(\"publishingstatechange\", \"publishing-challenge-answer\");\n\n await simulateLoadingTime();\n this.publishingState = \"waiting-challenge-verification\";\n this.emit(\"publishingstatechange\", \"waiting-challenge-verification\");\n\n await simulateLoadingTime();\n this.simulateChallengeVerificationEvent();\n }\n\n simulateChallengeVerificationEvent() {\n // if publication has content, create cid for this content and add it to comment and challengeVerificationMessage\n this.cid = this.content && `${this.content} cid`;\n const commentUpdate = this.cid && { cid: this.cid };\n\n const challengeVerificationMessage = {\n type: \"CHALLENGEVERIFICATION\",\n challengeRequestId: this.challengeRequestId,\n challengeAnswerId: this.challengeAnswerId,\n challengeSuccess: true,\n commentUpdate,\n };\n this.emit(\"challengeverification\", challengeVerificationMessage, this);\n\n this.publishingState = \"succeeded\";\n this.emit(\"publishingstatechange\", \"succeeded\");\n }\n\n stop() {\n if (this.state === \"publishing\" || this.publishingState !== \"stopped\") {\n this.state = \"stopped\";\n this.publishingState = \"stopped\";\n this.emit(\"statechange\", \"stopped\");\n this.emit(\"publishingstatechange\", \"stopped\");\n }\n if ((this as any).updating || (this as any).updatingState !== \"stopped\") {\n (this as any).state = \"stopped\";\n (this as any).updating = false;\n (this as any).updatingState = \"stopped\";\n this.emit(\"statechange\", \"stopped\");\n this.emit(\"updatingstatechange\", \"stopped\");\n }\n }\n}\n\nexport class Comment extends Publication {\n updateCalledTimes = 0;\n updating = false;\n author: any;\n upvoteCount: number | undefined;\n downvoteCount: number | undefined;\n content: string | undefined;\n parentCid: string | undefined;\n replies: any;\n updatedAt: number | undefined;\n communityAddress: string | undefined;\n state: string;\n updatingState: string;\n publishingState: string;\n\n constructor(createCommentOptions?: any) {\n super();\n this.cid = createCommentOptions?.cid;\n this.upvoteCount = createCommentOptions?.upvoteCount;\n this.downvoteCount = createCommentOptions?.downvoteCount;\n this.content = createCommentOptions?.content;\n this.author = createCommentOptions?.author;\n this.timestamp = createCommentOptions?.timestamp;\n this.parentCid = createCommentOptions?.parentCid;\n this.communityAddress = createCommentOptions?.communityAddress;\n this.state = \"stopped\";\n this.updatingState = \"stopped\";\n this.publishingState = \"stopped\";\n\n if (createCommentOptions?.author?.address) {\n this.author.shortAddress = `short ${createCommentOptions.author.address}`;\n }\n\n this.replies = new Pages({ comment: this });\n\n // add comment.replies from createCommentOptions\n if (createCommentOptions?.replies?.pages) {\n this.replies.pages = createCommentOptions?.replies?.pages;\n }\n if (createCommentOptions?.replies?.pageCids) {\n this.replies.pageCids = createCommentOptions?.replies?.pageCids;\n }\n }\n\n async update() {\n this.updateCalledTimes++;\n if (this.updateCalledTimes > 5) {\n throw Error(\n \"with the current hooks, comment.update() should be called maximum 5 times, this number might change if the hooks change and is only there to catch bugs, the real comment.update() can be called infinite times\",\n );\n }\n // don't update twice\n if (this.updating) {\n return;\n }\n this.updating = true;\n\n this.state = \"updating\";\n this.updatingState = \"fetching-ipfs\";\n this.emit(\"statechange\", \"updating\");\n this.emit(\"updatingstatechange\", \"fetching-ipfs\");\n\n simulateLoadingTime().then(() => {\n this.simulateUpdateEvent();\n });\n }\n\n simulateUpdateEvent() {\n if (!this.updating) {\n return;\n }\n // if timestamp isn't defined, simulate fetching the comment ipfs\n if (!this.timestamp) {\n this.simulateFetchCommentIpfsUpdateEvent();\n return;\n }\n\n // simulate finding vote counts on an IPNS record\n this.upvoteCount = typeof this.upvoteCount === \"number\" ? this.upvoteCount + 2 : 3;\n this.downvoteCount = typeof this.downvoteCount === \"number\" ? this.downvoteCount + 1 : 1;\n this.updatedAt = Math.floor(Date.now() / 1000);\n\n this.updatingState = \"succeeded\";\n this.emit(\"update\", this);\n this.emit(\"updatingstatechange\", \"succeeded\");\n }\n\n async simulateFetchCommentIpfsUpdateEvent() {\n if (!this.updating) {\n return;\n }\n // use pkc.getComment() so mocking PKC.prototype.getComment works\n const commentIpfs = await new PKC().getComment({ cid: this.cid || \"\" });\n if (!this.updating) {\n return;\n }\n this.content = commentIpfs.content;\n this.author = commentIpfs.author;\n this.timestamp = commentIpfs.timestamp;\n this.parentCid = commentIpfs.parentCid;\n this.communityAddress = commentIpfs.communityAddress;\n\n // simulate the ipns update\n this.updatingState = \"fetching-update-ipns\";\n this.emit(\"update\", this);\n this.emit(\"updatingstatechange\", \"fetching-update-ipns\");\n simulateLoadingTime().then(() => {\n this.simulateUpdateEvent();\n });\n }\n}\n\nexport class Vote extends Publication {}\n\nexport class CommentEdit extends Publication {}\n\nexport class CommentModeration extends Publication {}\n\nexport class CommunityEdit extends Publication {}\n\nconst createPkc: any = async (...args: any) => {\n return new PKC(...args);\n};\n\ncreatePkc.getShortAddress = (options: { address: string }) => {\n const address = options?.address;\n if (address.includes(\".\")) {\n return address;\n }\n return address.substring(2, 14);\n};\n\ncreatePkc.getShortCid = (options: { cid: string }) => {\n const cid = options?.cid;\n return cid.substring(2, 14);\n};\n\nexport default createPkc;\n"]}
|
|
1
|
+
{"version":3,"file":"pkc-js-mock.js","sourceRoot":"","sources":["../../../src/lib/pkc-js/pkc-js-mock.ts"],"names":[],"mappings":"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","sourcesContent":["import EventEmitter from \"events\";\nimport type { PkcResolveAuthorNameOptions, PkcResolveAuthorNameResult } from \"../pkc-types\";\n\nconst loadingTime = 10;\nexport const simulateLoadingTime = () => new Promise((r) => setTimeout(r, loadingTime));\n\n// keep a list of created and edited owner communities\n// to reinitialize them with pkc.createCommunity()\nlet createdOwnerCommunities: any = {};\nlet editedOwnerCommunities: any = {};\n\n// reset the pkc-js global state in between tests\nexport const resetPkcJsMock = () => {\n createdOwnerCommunities = {};\n editedOwnerCommunities = {};\n};\nexport const debugPkcJsMock = () => {\n console.log({ createdOwnerCommunities, editedOwnerCommunities });\n};\n\nclass NameResolverClient extends EventEmitter {\n state = \"stopped\";\n}\n\nexport class PKC extends EventEmitter {\n nameResolvers: any[];\n _clientsManager: {\n clients: {\n nameResolvers: { [resolverKey: string]: NameResolverClient };\n };\n };\n\n constructor(options: any = {}) {\n super();\n this.nameResolvers = options?.nameResolvers || [];\n this._clientsManager = {\n clients: {\n nameResolvers: this.nameResolvers.reduce(\n (resolverClients: { [resolverKey: string]: NameResolverClient }, resolver: any) => ({\n ...resolverClients,\n [resolver.key]: new NameResolverClient(),\n }),\n {},\n ),\n },\n };\n }\n\n async resolveAuthorAddress(options: { address: string }) {\n const resolver = this.nameResolvers.find((nameResolver) =>\n nameResolver?.canResolve?.({ name: options.address }),\n );\n const resolverClient = resolver && this._clientsManager.clients.nameResolvers[resolver.key];\n if (resolverClient) {\n resolverClient.state = \"resolving-author-name\";\n resolverClient.emit(\"statechange\", resolverClient.state);\n }\n await simulateLoadingTime();\n if (resolverClient) {\n resolverClient.state = \"stopped\";\n resolverClient.emit(\"statechange\", resolverClient.state);\n }\n return \"resolved author address\";\n }\n\n async resolveAuthorName(\n options: PkcResolveAuthorNameOptions,\n ): Promise<PkcResolveAuthorNameResult> {\n const resolvedAuthorName = await this.resolveAuthorAddress({ address: options.name });\n return { resolvedAuthorName };\n }\n\n async createSigner() {\n return {\n privateKey: \"private key\",\n address: \"address\",\n };\n }\n\n async createCommunity(createCommunityOptions: any) {\n if (!createCommunityOptions) {\n createCommunityOptions = {};\n }\n const communityIdentifier =\n createCommunityOptions.address ||\n createCommunityOptions.name ||\n createCommunityOptions.publicKey;\n\n // no address provided so probably a user creating an owner community\n if (!communityIdentifier) {\n createCommunityOptions = {\n ...createCommunityOptions,\n address: \"created community address\",\n };\n // createdCommunityAddresses.push('created community address')\n createdOwnerCommunities[createCommunityOptions.address] = { ...createCommunityOptions };\n }\n // only address provided, so could be a previously created owner community\n // add props from previously created sub\n else if (\n createdOwnerCommunities[createCommunityOptions.address] &&\n JSON.stringify(Object.keys(createCommunityOptions)) === '[\"address\"]'\n ) {\n for (const prop in createdOwnerCommunities[createCommunityOptions.address]) {\n if (createdOwnerCommunities[createCommunityOptions.address][prop]) {\n createCommunityOptions[prop] =\n createdOwnerCommunities[createCommunityOptions.address][prop];\n }\n }\n }\n\n // add edited props if owner community was edited in the past\n if (editedOwnerCommunities[createCommunityOptions.address]) {\n for (const prop in editedOwnerCommunities[createCommunityOptions.address]) {\n if (editedOwnerCommunities[createCommunityOptions.address][prop]) {\n createCommunityOptions[prop] =\n editedOwnerCommunities[createCommunityOptions.address][prop];\n }\n }\n }\n\n return new Community(createCommunityOptions);\n }\n\n async getCommunity(options: { address: string }) {\n const address = options?.address;\n await simulateLoadingTime();\n const createCommunityOptions = { address };\n const community: any = new Community(createCommunityOptions);\n community.title = community.address + \" title\";\n const hotPageCid = community.address + \" page cid hot\";\n community.posts.pages.hot = community.posts.pageToGet(hotPageCid);\n community.posts.pageCids = {\n hot: hotPageCid,\n topAll: community.address + \" page cid topAll\",\n new: community.address + \" page cid new\",\n active: community.address + \" page cid active\",\n };\n community.modQueue.pageCids = {\n pendingApproval: community.address + \" page cid pendingApproval\",\n };\n return community;\n }\n\n // TODO: implement event communitieschange\n get communities() {\n return [\n ...new Set([\n \"list community address 1\",\n \"list community address 2\",\n ...Object.keys(createdOwnerCommunities),\n ]),\n ];\n }\n\n async createComment(createCommentOptions: any) {\n return new Comment(createCommentOptions);\n }\n\n async getComment(options: { cid: string }) {\n const cid = options?.cid;\n await simulateLoadingTime();\n const createCommentOptions = {\n cid,\n // useComment() requires timestamp or will use account comment instead of comment from store\n timestamp: 1670000000,\n ...this.commentToGet(cid),\n };\n return new Comment(createCommentOptions);\n }\n\n // mock this method to get a comment with different content, timestamp, address, etc\n commentToGet(commentCid?: string) {\n return {\n // content: 'mock some content'\n // author: {address: 'mock some address'},\n // timestamp: 1234\n };\n }\n\n async createVote() {\n return new Vote();\n }\n\n async createCommentEdit(createCommentEditOptions: any) {\n return new CommentEdit(createCommentEditOptions);\n }\n\n async createCommentModeration(createCommentModerationOptions: any) {\n return new CommentModeration(createCommentModerationOptions);\n }\n\n async createCommunityEdit(createCommunityEditOptions: any) {\n return new CommunityEdit(createCommunityEditOptions);\n }\n\n async fetchCid(options: { cid: string }) {\n const cid = options?.cid;\n if (cid?.startsWith(\"statscid\")) {\n return JSON.stringify({ hourActiveUserCount: 1 });\n }\n throw Error(`pkc.fetchCid not implemented in pkc-js mock for cid '${cid}'`);\n }\n\n async pubsubSubscribe(communityAddress: string) {}\n async pubsubUnsubscribe(communityAddress: string) {}\n\n clients = (() => {\n const pkcRpcClients = {\n \"http://localhost:9138\": new PkcRpcClient(),\n };\n return {\n pkcRpcClients,\n };\n })();\n\n async validateComment(comment: any, validateCommentOptions: any) {}\n}\n\nclass PkcRpcClient extends EventEmitter {\n state = \"connecting\";\n settings: any = undefined;\n constructor() {\n super();\n // simulate connecting to the rpc\n setTimeout(() => {\n this.state = \"connected\";\n this.settings = { challenges: {} };\n this.emit(\"statechange\", this.state);\n this.emit(\"settingschange\", this.settings);\n }, 10);\n }\n\n async setSettings(settings: any) {\n this.settings = settings;\n this.emit(\"settingschange\", this.settings);\n }\n}\n\nexport class Pages {\n pageCids: any = {};\n pages: any = {};\n community: any;\n comment: any;\n\n constructor(pagesOptions?: any) {\n Object.defineProperty(this, \"community\", {\n value: pagesOptions?.community,\n enumerable: false,\n });\n Object.defineProperty(this, \"comment\", { value: pagesOptions?.comment, enumerable: false });\n }\n\n async getPage(options: { cid: string }) {\n const cid = options?.cid;\n // need to wait twice otherwise react renders too fast and fetches too many pages in advance\n await simulateLoadingTime();\n return this.pageToGet(cid);\n }\n\n async validatePage(page: any) {}\n\n // mock this method to get pages with different content, or use to getPage without simulated loading time\n pageToGet(pageCid: string) {\n const communityAddress = this.community?.address || this.comment?.communityAddress;\n const isPendingApprovalPage = pageCid.includes(\"pendingApproval\");\n const page: any = {\n nextCid: communityAddress + \" \" + pageCid + \" - next page cid\",\n comments: [],\n };\n const postCount = 100;\n let index = 0;\n while (index++ < postCount) {\n const comment: any = {\n timestamp: index,\n cid: pageCid + \" comment cid \" + index,\n communityAddress,\n upvoteCount: index,\n downvoteCount: 10,\n author: {\n address: pageCid + \" author address \" + index,\n },\n updatedAt: index,\n };\n if (isPendingApprovalPage) {\n comment.pendingApproval = true;\n }\n page.comments.push(comment);\n }\n return page;\n }\n}\n\nexport class Community extends EventEmitter {\n updateCalledTimes = 0;\n updating = false;\n firstUpdate = true;\n address: string | undefined;\n publicKey: string | undefined;\n title: string | undefined;\n description: string | undefined;\n posts: Pages;\n modQueue: Pages;\n exportRecords: any[];\n updatedAt: number | undefined;\n statsCid: string | undefined;\n state: string;\n updatingState: string;\n\n constructor(createCommunityOptions?: any) {\n super();\n this.address =\n createCommunityOptions?.address ||\n createCommunityOptions?.name ||\n createCommunityOptions?.publicKey;\n this.publicKey = createCommunityOptions?.publicKey || this.address;\n this.title = createCommunityOptions?.title;\n this.description = createCommunityOptions?.description;\n this.statsCid = \"statscid\";\n this.state = \"stopped\";\n this.updatingState = \"stopped\";\n this.updatedAt = createCommunityOptions?.updatedAt;\n this.exportRecords = [];\n\n this.posts = new Pages({ community: this });\n // add community.posts from createCommunityOptions\n if (createCommunityOptions?.posts?.pages) {\n this.posts.pages = createCommunityOptions?.posts?.pages;\n }\n if (createCommunityOptions?.posts?.pageCids) {\n this.posts.pageCids = createCommunityOptions?.posts?.pageCids;\n }\n\n this.modQueue = new Pages({ community: this });\n // add community.modQueue from createCommunityOptions\n if (createCommunityOptions?.modQueue?.pageCids) {\n this.modQueue.pageCids = createCommunityOptions?.modQueue?.pageCids;\n }\n\n if (createCommunityOptions) {\n for (const prop in createCommunityOptions) {\n if (createCommunityOptions[prop] !== undefined) {\n const descriptor =\n Object.getOwnPropertyDescriptor(this, prop) ||\n Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this), prop);\n if (descriptor && !descriptor.writable && !descriptor.set) {\n continue;\n }\n // @ts-ignore\n this[prop] = createCommunityOptions[prop];\n }\n }\n }\n\n const lookupKeys = [\"address\", \"name\", \"publicKey\"];\n const createCommunityOptionKeys = Object.keys(createCommunityOptions || {});\n const hasLookupIdentifier = Boolean(\n createCommunityOptions?.address ||\n createCommunityOptions?.name ||\n createCommunityOptions?.publicKey,\n );\n const lookupOnly =\n hasLookupIdentifier &&\n createCommunityOptionKeys.length > 0 &&\n createCommunityOptionKeys.every((key) => lookupKeys.includes(key));\n\n // only trigger a first update for lookup-only remote community instances\n if (!lookupOnly) {\n this.firstUpdate = false;\n }\n }\n\n async update() {\n this.updateCalledTimes++;\n if (!this.address) {\n throw Error(`can't update without community.address`);\n }\n // don't update twice\n if (this.updating) {\n return;\n }\n this.updating = true;\n\n this.state = \"updating\";\n this.updatingState = \"fetching-ipns\";\n this.emit(\"statechange\", \"updating\");\n this.emit(\"updatingstatechange\", \"fetching-ipns\");\n\n simulateLoadingTime().then(() => {\n this.simulateUpdateEvent();\n });\n }\n\n async delete() {\n if (this.address) {\n delete createdOwnerCommunities[this.address];\n delete editedOwnerCommunities[this.address];\n }\n }\n\n get exports() {\n return this.exportRecords.map((record) => ({ ...record }));\n }\n\n async export(exportCommunityOptions: any = {}) {\n if (!this.address) {\n throw Error(`can't community.export with no community.address`);\n }\n const exportRecord = {\n exportId: `${this.address} export ${this.exportRecords.length + 1}`,\n name: this.address,\n publicKey: this.publicKey || this.address,\n includePrivateKey: exportCommunityOptions.includePrivateKey === true,\n progress: 1,\n url: `file://${this.address}.zip`,\n };\n this.exportRecords.push(exportRecord);\n this.emit(\"exportschange\", this.exports);\n return { exportId: exportRecord.exportId };\n }\n\n simulateUpdateEvent() {\n if (this.firstUpdate) {\n this.simulateFirstUpdateEvent();\n return;\n }\n\n this.description = this.address + \" description updated\";\n // @ts-ignore\n this.updatedAt = this.updatedAt + 1;\n\n this.updating = false;\n this.updatingState = \"succeeded\";\n this.emit(\"update\", this);\n this.emit(\"updatingstatechange\", \"succeeded\");\n }\n\n // the first update event adds all the field from getCommunity\n async simulateFirstUpdateEvent() {\n this.firstUpdate = false;\n this.updatedAt = Math.floor(Date.now() / 1000);\n\n this.title = this.address + \" title\";\n const hotPageCid = this.address + \" page cid hot\";\n this.posts.pages.hot = this.posts.pageToGet(hotPageCid);\n this.posts.pageCids = {\n hot: hotPageCid,\n topAll: this.address + \" page cid topAll\",\n new: this.address + \" page cid new\",\n active: this.address + \" page cid active\",\n };\n this.modQueue.pageCids = {\n pendingApproval: this.address + \" page cid pendingApproval\",\n };\n\n // simulate the ipns update\n this.updatingState = \"succeeded\";\n this.emit(\"update\", this);\n this.emit(\"updatingstatechange\", \"succeeded\");\n\n // simulate the next update\n this.updatingState = \"fetching-ipns\";\n this.emit(\"updatingstatechange\", \"fetching-ipns\");\n simulateLoadingTime().then(() => {\n this.simulateUpdateEvent();\n });\n }\n\n // use getting to easily mock it\n get roles() {\n return this.rolesToGet();\n }\n\n // mock this method to get different roles\n rolesToGet() {\n return {};\n }\n\n async edit(editCommunityOptions: any) {\n if (!this.address || typeof this.address !== \"string\") {\n throw Error(`can't community.edit with no community.address`);\n }\n const previousAddress = this.address;\n\n // do community.edit\n for (const prop in editCommunityOptions) {\n if (editCommunityOptions[prop] !== undefined) {\n const descriptor =\n Object.getOwnPropertyDescriptor(this, prop) ||\n Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this), prop);\n if (descriptor && !descriptor.writable && !descriptor.set) {\n continue;\n }\n // @ts-ignore\n this[prop] = editCommunityOptions[prop];\n }\n }\n\n // keep a list of edited communities to reinitialize\n // them with pkc.createCommunity()\n editedOwnerCommunities[this.address] = {\n address: this.address,\n title: this.title,\n description: this.description,\n };\n\n // handle change of community.address\n if (editCommunityOptions.address) {\n // apply address change to editedOwnerCommunities\n editedOwnerCommunities[previousAddress] = {\n address: this.address,\n title: this.title,\n description: this.description,\n };\n delete editedOwnerCommunities[previousAddress];\n\n // apply address change to createdOwnerCommunities\n createdOwnerCommunities[this.address] = {\n ...createdOwnerCommunities[previousAddress],\n address: this.address,\n };\n delete createdOwnerCommunities[previousAddress];\n }\n }\n}\n// make roles enumarable so it acts like a regular prop\nObject.defineProperty(Community.prototype, \"roles\", { enumerable: true });\n\nlet challengeRequestCount = 0;\nlet challengeAnswerCount = 0;\n\nclass Publication extends EventEmitter {\n timestamp: number | undefined;\n content: string | undefined;\n cid: string | undefined;\n challengeRequestId = `r${++challengeRequestCount}`;\n challengeAnswerId = `a${++challengeAnswerCount}`;\n state: string | undefined;\n publishingState: string | undefined;\n\n async publish() {\n this.state = \"publishing\";\n this.publishingState = \"publishing-challenge-request\";\n this.emit(\"statechange\", \"publishing\");\n this.emit(\"publishingstatechange\", \"publishing-challenge-request\");\n\n await simulateLoadingTime();\n this.simulateChallengeEvent();\n }\n\n simulateChallengeEvent() {\n this.publishingState = \"waiting-challenge-answers\";\n this.emit(\"publishingstatechange\", \"waiting-challenge-answers\");\n\n const challenge = { type: \"text\", challenge: \"2+2=?\" };\n const challengeMessage = {\n type: \"CHALLENGE\",\n challengeRequestId: this.challengeRequestId,\n challenges: [challenge],\n };\n this.emit(\"challenge\", challengeMessage, this);\n }\n\n async publishChallengeAnswers(challengeAnswers: string[]) {\n this.publishingState = \"publishing-challenge-answer\";\n this.emit(\"publishingstatechange\", \"publishing-challenge-answer\");\n\n await simulateLoadingTime();\n this.publishingState = \"waiting-challenge-verification\";\n this.emit(\"publishingstatechange\", \"waiting-challenge-verification\");\n\n await simulateLoadingTime();\n this.simulateChallengeVerificationEvent();\n }\n\n simulateChallengeVerificationEvent() {\n // if publication has content, create cid for this content and add it to comment and challengeVerificationMessage\n this.cid = this.content && `${this.content} cid`;\n const commentUpdate = this.cid && { cid: this.cid };\n\n const challengeVerificationMessage = {\n type: \"CHALLENGEVERIFICATION\",\n challengeRequestId: this.challengeRequestId,\n challengeAnswerId: this.challengeAnswerId,\n challengeSuccess: true,\n commentUpdate,\n };\n this.emit(\"challengeverification\", challengeVerificationMessage, this);\n\n this.publishingState = \"succeeded\";\n this.emit(\"publishingstatechange\", \"succeeded\");\n }\n\n stop() {\n if (this.state === \"publishing\" || this.publishingState !== \"stopped\") {\n this.state = \"stopped\";\n this.publishingState = \"stopped\";\n this.emit(\"statechange\", \"stopped\");\n this.emit(\"publishingstatechange\", \"stopped\");\n }\n if ((this as any).updating || (this as any).updatingState !== \"stopped\") {\n (this as any).state = \"stopped\";\n (this as any).updating = false;\n (this as any).updatingState = \"stopped\";\n this.emit(\"statechange\", \"stopped\");\n this.emit(\"updatingstatechange\", \"stopped\");\n }\n }\n}\n\nexport class Comment extends Publication {\n updateCalledTimes = 0;\n updating = false;\n author: any;\n upvoteCount: number | undefined;\n downvoteCount: number | undefined;\n content: string | undefined;\n parentCid: string | undefined;\n replies: any;\n updatedAt: number | undefined;\n communityAddress: string | undefined;\n state: string;\n updatingState: string;\n publishingState: string;\n\n constructor(createCommentOptions?: any) {\n super();\n this.cid = createCommentOptions?.cid;\n this.upvoteCount = createCommentOptions?.upvoteCount;\n this.downvoteCount = createCommentOptions?.downvoteCount;\n this.content = createCommentOptions?.content;\n this.author = createCommentOptions?.author;\n this.timestamp = createCommentOptions?.timestamp;\n this.parentCid = createCommentOptions?.parentCid;\n this.communityAddress = createCommentOptions?.communityAddress;\n this.state = \"stopped\";\n this.updatingState = \"stopped\";\n this.publishingState = \"stopped\";\n\n if (createCommentOptions?.author?.address) {\n this.author.shortAddress = `short ${createCommentOptions.author.address}`;\n }\n\n this.replies = new Pages({ comment: this });\n\n // add comment.replies from createCommentOptions\n if (createCommentOptions?.replies?.pages) {\n this.replies.pages = createCommentOptions?.replies?.pages;\n }\n if (createCommentOptions?.replies?.pageCids) {\n this.replies.pageCids = createCommentOptions?.replies?.pageCids;\n }\n }\n\n async update() {\n this.updateCalledTimes++;\n if (this.updateCalledTimes > 5) {\n throw Error(\n \"with the current hooks, comment.update() should be called maximum 5 times, this number might change if the hooks change and is only there to catch bugs, the real comment.update() can be called infinite times\",\n );\n }\n // don't update twice\n if (this.updating) {\n return;\n }\n this.updating = true;\n\n this.state = \"updating\";\n this.updatingState = \"fetching-ipfs\";\n this.emit(\"statechange\", \"updating\");\n this.emit(\"updatingstatechange\", \"fetching-ipfs\");\n\n simulateLoadingTime().then(() => {\n this.simulateUpdateEvent();\n });\n }\n\n simulateUpdateEvent() {\n if (!this.updating) {\n return;\n }\n // if timestamp isn't defined, simulate fetching the comment ipfs\n if (!this.timestamp) {\n this.simulateFetchCommentIpfsUpdateEvent();\n return;\n }\n\n // simulate finding vote counts on an IPNS record\n this.upvoteCount = typeof this.upvoteCount === \"number\" ? this.upvoteCount + 2 : 3;\n this.downvoteCount = typeof this.downvoteCount === \"number\" ? this.downvoteCount + 1 : 1;\n this.updatedAt = Math.floor(Date.now() / 1000);\n\n this.updatingState = \"succeeded\";\n this.emit(\"update\", this);\n this.emit(\"updatingstatechange\", \"succeeded\");\n }\n\n async simulateFetchCommentIpfsUpdateEvent() {\n if (!this.updating) {\n return;\n }\n // use pkc.getComment() so mocking PKC.prototype.getComment works\n const commentIpfs = await new PKC().getComment({ cid: this.cid || \"\" });\n if (!this.updating) {\n return;\n }\n this.content = commentIpfs.content;\n this.author = commentIpfs.author;\n this.timestamp = commentIpfs.timestamp;\n this.parentCid = commentIpfs.parentCid;\n this.communityAddress = commentIpfs.communityAddress;\n\n // simulate the ipns update\n this.updatingState = \"fetching-update-ipns\";\n this.emit(\"update\", this);\n this.emit(\"updatingstatechange\", \"fetching-update-ipns\");\n simulateLoadingTime().then(() => {\n this.simulateUpdateEvent();\n });\n }\n}\n\nexport class Vote extends Publication {}\n\nexport class CommentEdit extends Publication {}\n\nexport class CommentModeration extends Publication {}\n\nexport class CommunityEdit extends Publication {}\n\nconst createPkc: any = async (...args: any) => {\n return new PKC(...args);\n};\n\ncreatePkc.getShortAddress = (options: { address: string }) => {\n const address = options?.address;\n if (address.includes(\".\")) {\n return address;\n }\n return address.substring(2, 14);\n};\n\ncreatePkc.getShortCid = (options: { cid: string }) => {\n const cid = options?.cid;\n return cid.substring(2, 14);\n};\n\nexport default createPkc;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Account, PublishCommentOptions, PublishVoteOptions, PublishCommentEditOptions, PublishCommentModerationOptions, PublishCommunityEditOptions, CreateCommunityOptions } from "../../types.js";
|
|
1
|
+
import { Account, PublishCommentOptions, PublishVoteOptions, PublishCommentEditOptions, PublishCommentModerationOptions, PublishCommunityEditOptions, CreateCommunityOptions, ExportCommunityOptions, CommunityExport } from "../../types.js";
|
|
2
2
|
/** Returns state update or {} when accountComment not yet in state (no-op). Exported for coverage. */
|
|
3
3
|
export declare const maybeUpdateAccountComment: (accountsComments: Record<string, any[]>, accountId: string, index: number, updater: (accountComments: any[], accountComment: any) => void) => {
|
|
4
4
|
accountsComments?: undefined;
|
|
@@ -29,6 +29,7 @@ export declare const setAccount: (account: Account) => Promise<void>;
|
|
|
29
29
|
export declare const setAccountsOrder: (newOrderedAccountNames: string[]) => Promise<void>;
|
|
30
30
|
export declare const importAccount: (serializedAccount: string) => Promise<void>;
|
|
31
31
|
export declare const exportAccount: (accountName?: string) => Promise<string>;
|
|
32
|
+
export declare const exportCommunity: (communityAddressOrAddresses?: string | string[], exportCommunityOptions?: ExportCommunityOptions, accountName?: string) => Promise<CommunityExport[]>;
|
|
32
33
|
export declare const subscribe: (communityAddress: string, accountName?: string) => Promise<void>;
|
|
33
34
|
export declare const unsubscribe: (communityAddress: string, accountName?: string) => Promise<void>;
|
|
34
35
|
export declare const blockAddress: (address: string, accountName?: string) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts-actions.d.ts","sourceRoot":"","sources":["../../../src/stores/accounts/accounts-actions.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,OAAO,EAEP,qBAAqB,EAGrB,kBAAkB,EAClB,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,sBAAsB,
|
|
1
|
+
{"version":3,"file":"accounts-actions.d.ts","sourceRoot":"","sources":["../../../src/stores/accounts/accounts-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ import chain from "../../lib/chain/index.js";
|
|
|
18
18
|
import assert from "assert";
|
|
19
19
|
const log = Logger("bitsocial-react-hooks:accounts:stores");
|
|
20
20
|
import * as accountsActionsInternal from "./accounts-actions-internal.js";
|
|
21
|
-
import { backfillPublicationCommunityAddress, createPkcCommunityEdit, getPkcCommunityAddresses, normalizeCommunityEditOptionsForPkc, normalizePublicationOptionsForStore, normalizePublicationOptionsForPkc, } from "../../lib/pkc-compat.js";
|
|
21
|
+
import { backfillPublicationCommunityAddress, createPkcCommunity, createPkcCommunityEdit, getPkcCommunityAddresses, normalizeCommunityEditOptionsForPkc, normalizePublicationOptionsForStore, normalizePublicationOptionsForPkc, } from "../../lib/pkc-compat.js";
|
|
22
22
|
import { getAccountCommentsIndex, getAccountCommunities, getCommentCidsToAccountsComments, getAccountEditPropertySummary, fetchCommentLinkDimensions, getAccountCommentDepth, addShortAddressesToAccountComment, sanitizeAccountCommentForState, sanitizeStoredAccountComment, } from "./utils.js";
|
|
23
23
|
import isEqual from "lodash.isequal";
|
|
24
24
|
import { v4 as uuid } from "uuid";
|
|
@@ -515,6 +515,43 @@ export const exportAccount = (accountName) => __awaiter(void 0, void 0, void 0,
|
|
|
515
515
|
log("accountsActions.exportAccount", { exportedAccountJson });
|
|
516
516
|
return exportedAccountJson;
|
|
517
517
|
});
|
|
518
|
+
const getCommunityAddressesToExport = (communityAddressOrAddresses, account) => {
|
|
519
|
+
if (Array.isArray(communityAddressOrAddresses)) {
|
|
520
|
+
return communityAddressOrAddresses;
|
|
521
|
+
}
|
|
522
|
+
if (communityAddressOrAddresses) {
|
|
523
|
+
return [communityAddressOrAddresses];
|
|
524
|
+
}
|
|
525
|
+
return getPkcCommunityAddresses(account.pkc);
|
|
526
|
+
};
|
|
527
|
+
export const exportCommunity = (communityAddressOrAddresses_1, ...args_1) => __awaiter(void 0, [communityAddressOrAddresses_1, ...args_1], void 0, function* (communityAddressOrAddresses, exportCommunityOptions = {}, accountName) {
|
|
528
|
+
const { accounts, accountNamesToAccountIds, activeAccountId } = accountsStore.getState();
|
|
529
|
+
assert(accounts && accountNamesToAccountIds && activeAccountId, `can't use accountsStore.accountsActions before initialized`);
|
|
530
|
+
assert(!exportCommunityOptions || typeof exportCommunityOptions === "object", `accountsActions.exportCommunity invalid exportCommunityOptions argument '${exportCommunityOptions}'`);
|
|
531
|
+
let account = accounts[activeAccountId];
|
|
532
|
+
if (accountName) {
|
|
533
|
+
const accountId = accountNamesToAccountIds[accountName];
|
|
534
|
+
account = accounts[accountId];
|
|
535
|
+
}
|
|
536
|
+
assert(account === null || account === void 0 ? void 0 : account.id, `accountsActions.exportCommunity account.id '${account === null || account === void 0 ? void 0 : account.id}' doesn't exist, activeAccountId '${activeAccountId}' accountName '${accountName}'`);
|
|
537
|
+
const communityAddresses = getCommunityAddressesToExport(communityAddressOrAddresses, account);
|
|
538
|
+
assert(communityAddresses.length > 0, `accountsActions.exportCommunity no community addresses to export`);
|
|
539
|
+
for (const communityAddress of communityAddresses) {
|
|
540
|
+
assert(communityAddress && typeof communityAddress === "string", `accountsActions.exportCommunity invalid communityAddress '${communityAddress}'`);
|
|
541
|
+
}
|
|
542
|
+
const communityExports = yield Promise.all([...new Set(communityAddresses)].map((communityAddress) => __awaiter(void 0, void 0, void 0, function* () {
|
|
543
|
+
const community = yield createPkcCommunity(account.pkc, { address: communityAddress });
|
|
544
|
+
assert(typeof (community === null || community === void 0 ? void 0 : community.export) === "function", `accountsActions.exportCommunity community.export missing for communityAddress '${communityAddress}'`);
|
|
545
|
+
const exportedCommunity = yield community.export(exportCommunityOptions);
|
|
546
|
+
return Object.assign(Object.assign({}, exportedCommunity), { communityAddress });
|
|
547
|
+
})));
|
|
548
|
+
log("accountsActions.exportCommunity", {
|
|
549
|
+
communityAddresses,
|
|
550
|
+
includePrivateKey: exportCommunityOptions.includePrivateKey === true,
|
|
551
|
+
communityExportCount: communityExports.length,
|
|
552
|
+
});
|
|
553
|
+
return communityExports;
|
|
554
|
+
});
|
|
518
555
|
export const subscribe = (communityAddress, accountName) => __awaiter(void 0, void 0, void 0, function* () {
|
|
519
556
|
const { accounts, accountNamesToAccountIds, activeAccountId } = accountsStore.getState();
|
|
520
557
|
assert(communityAddress && typeof communityAddress === "string", `accountsActions.subscribe invalid communityAddress '${communityAddress}'`);
|