@bitsocial/bitsocial-react-hooks 0.1.0 → 0.1.1
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/dist/hooks/authors/authors.js +4 -4
- package/dist/hooks/authors/authors.js.map +1 -1
- package/dist/lib/pkc-compat.d.ts +9 -3
- package/dist/lib/pkc-compat.d.ts.map +1 -1
- package/dist/lib/pkc-compat.js +24 -4
- package/dist/lib/pkc-compat.js.map +1 -1
- package/dist/lib/pkc-js/pkc-js-mock-content.d.ts.map +1 -1
- package/dist/lib/pkc-js/pkc-js-mock-content.js +2 -1
- package/dist/lib/pkc-js/pkc-js-mock-content.js.map +1 -1
- package/dist/lib/pkc-js/pkc-js-mock.d.ts +2 -3
- package/dist/lib/pkc-js/pkc-js-mock.d.ts.map +1 -1
- package/dist/lib/pkc-js/pkc-js-mock.js +2 -1
- package/dist/lib/pkc-js/pkc-js-mock.js.map +1 -1
- package/dist/lib/pkc-types.d.ts +6 -0
- package/dist/lib/pkc-types.d.ts.map +1 -0
- package/dist/lib/pkc-types.js +2 -0
- package/dist/lib/pkc-types.js.map +1 -0
- package/package.json +1 -1
|
@@ -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\";\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(options: { address: string }) {\n return this.resolveAuthorAddress(options);\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.updateCalledTimes > 1) {\n throw Error(\n \"with the current hooks, community.update() should be called maximum 1 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 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.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 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.updateCalledTimes > 1) {\n throw Error(\n \"with the current hooks, community.update() should be called maximum 1 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 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.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"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type PkcJs from "@pkcprotocol/pkc-js";
|
|
2
|
+
export type PkcClient = Awaited<ReturnType<typeof PkcJs>>;
|
|
3
|
+
export type PkcResolveAuthorName = PkcClient["resolveAuthorName"];
|
|
4
|
+
export type PkcResolveAuthorNameOptions = Parameters<PkcResolveAuthorName>[0];
|
|
5
|
+
export type PkcResolveAuthorNameResult = Awaited<ReturnType<PkcResolveAuthorName>>;
|
|
6
|
+
//# sourceMappingURL=pkc-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pkc-types.d.ts","sourceRoot":"","sources":["../../src/lib/pkc-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAC;AAE7C,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAClE,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pkc-types.js","sourceRoot":"","sources":["../../src/lib/pkc-types.ts"],"names":[],"mappings":"","sourcesContent":["import type PkcJs from \"@pkcprotocol/pkc-js\";\n\nexport type PkcClient = Awaited<ReturnType<typeof PkcJs>>;\nexport type PkcResolveAuthorName = PkcClient[\"resolveAuthorName\"];\nexport type PkcResolveAuthorNameOptions = Parameters<PkcResolveAuthorName>[0];\nexport type PkcResolveAuthorNameResult = Awaited<ReturnType<PkcResolveAuthorName>>;\n"]}
|