From b69d4aa11385cd23bdcda2240f7e1ba507da44b8 Mon Sep 17 00:00:00 2001 From: Alan Shaw Date: Wed, 6 Sep 2023 15:09:45 +0200 Subject: [PATCH] fix: types for capability specific clients (#904) Screenshot 2023-09-06 at 12 17 57 These classes were not exported and so typescript was unable to determine the type. --- packages/w3up-client/src/client.js | 2 ++ packages/w3up-client/test/client.test.js | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/packages/w3up-client/src/client.js b/packages/w3up-client/src/client.js index a8e716e2a..78f906f8c 100644 --- a/packages/w3up-client/src/client.js +++ b/packages/w3up-client/src/client.js @@ -15,6 +15,8 @@ import { UploadClient } from './capability/upload.js' import { SpaceClient } from './capability/space.js' import { AccessClient } from './capability/access.js' +export { StoreClient, UploadClient, SpaceClient, AccessClient } + export class Client extends Base { /** * @param {import('@web3-storage/access').AgentData} agentData diff --git a/packages/w3up-client/test/client.test.js b/packages/w3up-client/test/client.test.js index 87e6038cd..b7c5a0c89 100644 --- a/packages/w3up-client/test/client.test.js +++ b/packages/w3up-client/test/client.test.js @@ -343,4 +343,19 @@ describe('Client', () => { assert.equal(alice.defaultProvider(), 'did:web:web3.storage') }) }) + + describe('capability', () => { + it('should allow typed access to capability specific clients', async () => { + const client = new Client(await AgentData.create()) + assert.equal(typeof client.capability.access.authorize, 'function') + assert.equal(typeof client.capability.access.claim, 'function') + assert.equal(typeof client.capability.space.info, 'function') + assert.equal(typeof client.capability.store.add, 'function') + assert.equal(typeof client.capability.store.list, 'function') + assert.equal(typeof client.capability.store.remove, 'function') + assert.equal(typeof client.capability.upload.add, 'function') + assert.equal(typeof client.capability.upload.list, 'function') + assert.equal(typeof client.capability.upload.remove, 'function') + }) + }) })