diff --git a/CHANGELOG.md b/CHANGELOG.md index c693d6b5a..9d98ff945 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,14 @@ * Valid config bundle packages are expected to export a `bundle` value, which is of type `Bundle`. ## Breaking Changes +**`@polywrap/client-config-builder-js`:** +* [PR-47](https://github.com/polywrap/javascript-client/pull/47) **Renaming For Improved Accuracy** + * Renamed `ClientConfigBuilder` to `PolywrapClientConfigBuilder` + * Renamed `IClientConfigBuilder` to `ClientConfigBuilder` + * Renamed `addWrapper(s)` to `setWrapper(s)` + * Renamed `addPackage(s)` to `setPackage(s)` + * Renamed `addRedirect(s)` to `setRedirect(s)` + **`@polywrap/core-js`:** * [PR-32](https://github.com/polywrap/javascript-client/pull/32) **Rename `getEnvFromUriHistory` to `getEnvFromResolutionPath`** diff --git a/packages/client/README.md b/packages/client/README.md index 9d5ca0b14..7ac6fdf34 100644 --- a/packages/client/README.md +++ b/packages/client/README.md @@ -30,7 +30,7 @@ Use the PolywrapClient [constructor](#constructor) to instantiate the client wit Use the `@polywrap/client-config-builder-js` package to build a custom configuration for your project. ```ts - const config = new ClientConfigBuilder().addDefaults().build(); + const config = new PolywrapClientConfigBuilder().addDefaults().build(); const client = new PolywrapClient(config); ``` @@ -57,7 +57,7 @@ Invoke a wrapper. ## Configuration -Below you will find a reference of object definitions which can be used to configure the Polywrap client. Please note that the intended way of configuring the client is to use the `ClientConfigBuilder`, as explained above. +Below you will find a reference of object definitions which can be used to configure the Polywrap client. Please note that the intended way of configuring the client is to use the `PolywrapClientConfigBuilder`, as explained above. ## PolywrapClient diff --git a/packages/client/examples/quickstart.ts b/packages/client/examples/quickstart.ts index 4872b7381..2968f4273 100644 --- a/packages/client/examples/quickstart.ts +++ b/packages/client/examples/quickstart.ts @@ -1,4 +1,4 @@ -import { ClientConfigBuilder, PolywrapClient } from "../build"; +import { PolywrapClientConfigBuilder, PolywrapClient } from "../build"; export function instantiate(): PolywrapClient { // /* $: quickstart-instantiate */ import { PolywrapClient } from "@polywrap/client-js"; @@ -11,7 +11,7 @@ export function instantiate(): PolywrapClient { export function configure(): PolywrapClient { // $start: quickstart-configure - const config = new ClientConfigBuilder().addDefaults().build(); + const config = new PolywrapClientConfigBuilder().addDefaults().build(); const client = new PolywrapClient(config); // $end diff --git a/packages/client/readme/README.md b/packages/client/readme/README.md index 237221ea0..7d1d5496f 100644 --- a/packages/client/readme/README.md +++ b/packages/client/readme/README.md @@ -43,7 +43,7 @@ $snippet: quickstart-invoke ## Configuration -Below you will find a reference of object definitions which can be used to configure the Polywrap client. Please note that the intended way of configuring the client is to use the `ClientConfigBuilder`, as explained above. +Below you will find a reference of object definitions which can be used to configure the Polywrap client. Please note that the intended way of configuring the client is to use the `PolywrapClientConfigBuilder`, as explained above. ## PolywrapClient diff --git a/packages/client/src/PolywrapClient.ts b/packages/client/src/PolywrapClient.ts index 978bb0686..164cc3176 100644 --- a/packages/client/src/PolywrapClient.ts +++ b/packages/client/src/PolywrapClient.ts @@ -24,7 +24,7 @@ import { WrapManifest, } from "@polywrap/wrap-manifest-types-js"; import { Tracer, TracerConfig } from "@polywrap/tracing-js"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; export class PolywrapClient extends PolywrapCoreClient { // $start: PolywrapClient-constructor @@ -34,7 +34,7 @@ export class PolywrapClient extends PolywrapCoreClient { * @param config - a client configuration */ constructor(config?: CoreClientConfig) /* $ */ { - super(config ?? new ClientConfigBuilder().addDefaults().build()); + super(config ?? new PolywrapClientConfigBuilder().addDefaults().build()); } /** diff --git a/packages/client/src/__tests__/core/embedded-package.spec.ts b/packages/client/src/__tests__/core/embedded-package.spec.ts index 66b0f872d..d3cd5b7b1 100644 --- a/packages/client/src/__tests__/core/embedded-package.spec.ts +++ b/packages/client/src/__tests__/core/embedded-package.spec.ts @@ -5,7 +5,7 @@ import { InMemoryFileReader, WasmPackage } from "@polywrap/wasm-js"; import { IWrapPackage } from "@polywrap/core-js"; import { Result, ResultErr, ResultOk } from "@polywrap/result"; import { PolywrapClient } from "../../PolywrapClient"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; jest.setTimeout(200000); @@ -20,9 +20,9 @@ describe("Embedded package", () => { ); let wrapPackage = WasmPackage.from(manifestBuffer, wasmModuleBuffer); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addPackage(wrapperUri, wrapPackage) + .setPackage(wrapperUri, wrapPackage) .build(); const client = new PolywrapClient(config); @@ -141,9 +141,9 @@ const testEmbeddedPackageWithFile = async ( filePath: string, fileText: string ) => { - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addPackage(wrapperUri, wrapPackage) + .setPackage(wrapperUri, wrapPackage) .build(); const client = new PolywrapClient(config); diff --git a/packages/client/src/__tests__/core/embedded-wrapper.spec.ts b/packages/client/src/__tests__/core/embedded-wrapper.spec.ts index 425571e3a..088387094 100644 --- a/packages/client/src/__tests__/core/embedded-wrapper.spec.ts +++ b/packages/client/src/__tests__/core/embedded-wrapper.spec.ts @@ -5,7 +5,7 @@ import { WasmWrapper, InMemoryFileReader } from "@polywrap/wasm-js"; import { Wrapper } from "@polywrap/core-js"; import { Result, ResultErr, ResultOk } from "@polywrap/result"; import { PolywrapClient } from "../../PolywrapClient"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; jest.setTimeout(200000); @@ -22,9 +22,9 @@ describe("Embedded wrapper", () => { wasmModuleBuffer ); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addWrapper(simpleWrapperUri, wrapper) + .setWrapper(simpleWrapperUri, wrapper) .build(); const client = new PolywrapClient(config); @@ -135,9 +135,9 @@ const testEmbeddedWrapperWithFile = async ( filePath: string, fileText: string ) => { - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addWrapper(simpleWrapperUri, wrapper) + .setWrapper(simpleWrapperUri, wrapper) .build(); const client = new PolywrapClient(config); diff --git a/packages/client/src/__tests__/core/error-structure.spec.ts b/packages/client/src/__tests__/core/error-structure.spec.ts index 8cf7da425..5b129dd42 100644 --- a/packages/client/src/__tests__/core/error-structure.spec.ts +++ b/packages/client/src/__tests__/core/error-structure.spec.ts @@ -8,7 +8,7 @@ import { WrapError, WrapErrorCode } from "@polywrap/core-js"; import { mockPluginRegistration } from "../helpers"; import { msgpackDecode, msgpackEncode } from "@polywrap/msgpack-js"; import { - ClientConfigBuilder, + PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; import * as SysBundle from "@polywrap/sys-config-bundle-js"; @@ -162,9 +162,9 @@ describe("Error structure", () => { }); test("Subinvoke error two layers deep", async () => { - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirects({ + .setRedirects({ "ens/imported-invoke.eth": asInvokeWrapperUri.uri, "ens/imported-subinvoke.eth": asSubinvokeWrapperUri.uri, }) @@ -338,9 +338,9 @@ describe("Error structure", () => { }); test("Subinvoke error two layers deep", async () => { - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirects({ + .setRedirects({ "ens/imported-invoke.eth": rsInvokeWrapperUri.uri, "ens/imported-subinvoke.eth": rsSubinvokeWrapperUri.uri, }) @@ -405,9 +405,9 @@ describe("Error structure", () => { describe("Plugin wrapper", () => { const createClient = async () => { const mockPlugin = mockPluginRegistration("plugin/mock") - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addPackage(mockPlugin.uri.uri, mockPlugin.package) + .setPackage(mockPlugin.uri.uri, mockPlugin.package) .build(); return new PolywrapClient(config); }; diff --git a/packages/client/src/__tests__/core/sanity.spec.ts b/packages/client/src/__tests__/core/sanity.spec.ts index 0526c75db..2995f9e9f 100644 --- a/packages/client/src/__tests__/core/sanity.spec.ts +++ b/packages/client/src/__tests__/core/sanity.spec.ts @@ -6,7 +6,7 @@ import { IUriPackage, IUriRedirect } from "@polywrap/core-js"; import { ResultErr } from "@polywrap/result"; import { StaticResolver, UriResolverLike } from "@polywrap/uri-resolvers-js"; import { WasmPackage } from "@polywrap/wasm-js"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; import { CoreClientConfig } from "@polywrap/core-js"; jest.setTimeout(200000); @@ -14,7 +14,7 @@ jest.setTimeout(200000); describe("sanity", () => { test("default client config", () => { const clientConfig = new PolywrapClient().getConfig(); - const expectedConfig = new ClientConfigBuilder().addDefaults().build(); + const expectedConfig = new PolywrapClientConfigBuilder().addDefaults().build(); expect( JSON.stringify(clientConfig, null, 2) diff --git a/packages/client/src/__tests__/core/type-test-cases.ts b/packages/client/src/__tests__/core/type-test-cases.ts index e94ef49d6..4e5d388cb 100644 --- a/packages/client/src/__tests__/core/type-test-cases.ts +++ b/packages/client/src/__tests__/core/type-test-cases.ts @@ -2,15 +2,15 @@ import { memoryStoragePlugin, ErrResult } from "../helpers"; import { PolywrapClient } from "../../PolywrapClient"; import BigNumber from "bignumber.js"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; import { GetPathToTestWrappers } from "@polywrap/test-cases"; export const typeTestCases = (implementation: string) => { describe("types test cases", () => { test(`asyncify ${implementation}`, async () => { - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addPackage( + .setPackage( "wrap://ens/memory-storage.polywrap.eth", memoryStoragePlugin() ) diff --git a/packages/client/src/__tests__/core/uri-resolution.spec.ts b/packages/client/src/__tests__/core/uri-resolution.spec.ts index 7adc14e1a..dff3e94db 100644 --- a/packages/client/src/__tests__/core/uri-resolution.spec.ts +++ b/packages/client/src/__tests__/core/uri-resolution.spec.ts @@ -5,7 +5,7 @@ import { UriResolutionResult, } from "@polywrap/core-js"; import { Result } from "@polywrap/result"; -import { PolywrapClient, ClientConfigBuilder } from "../../"; +import { PolywrapClient, PolywrapClientConfigBuilder } from "../../"; jest.setTimeout(200000); @@ -54,7 +54,7 @@ describe("URI resolution", () => { const fromUri = new Uri(`test/from.eth`); const redirectUri = new Uri(`test/to.eth`); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() .addResolver({ tryResolveUri: async (uri: Uri) => { diff --git a/packages/client/src/__tests__/core/wasm-wrapper.spec.ts b/packages/client/src/__tests__/core/wasm-wrapper.spec.ts index f1e0508ba..d87868ed5 100644 --- a/packages/client/src/__tests__/core/wasm-wrapper.spec.ts +++ b/packages/client/src/__tests__/core/wasm-wrapper.spec.ts @@ -5,7 +5,7 @@ import { Uri, PolywrapClient, IWrapPackage } from "../.."; import { WrapManifest } from "@polywrap/wrap-manifest-types-js"; import { PluginModule, PluginPackage } from "@polywrap/plugin-js"; import { UriResolver } from "@polywrap/uri-resolvers-js"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; import { mockPluginRegistration, ErrResult } from "../helpers"; jest.setTimeout(200000); @@ -94,10 +94,10 @@ describe("wasm-wrapper", () => { }); it("should invoke wrapper with custom redirects", async () => { - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect(wrapperUri.uri, "wrap://ens/mock.polywrap.eth") - .addPackage("wrap://ens/mock.polywrap.eth", mockPlugin()) + .setRedirect(wrapperUri.uri, "wrap://ens/mock.polywrap.eth") + .setPackage("wrap://ens/mock.polywrap.eth", mockPlugin()) .build(); const client = new PolywrapClient(config); @@ -116,7 +116,7 @@ describe("wasm-wrapper", () => { }); it("should allow clone + reconfigure of redirects", async () => { - let builder = new ClientConfigBuilder() + let builder = new PolywrapClientConfigBuilder() .add({ packages: { "wrap://ens/mock.polywrap.eth": mockPlugin() }, }) diff --git a/packages/client/src/__tests__/core/wrap-features/env-case.ts b/packages/client/src/__tests__/core/wrap-features/env-case.ts index 8e97acb96..a9b1307c3 100644 --- a/packages/client/src/__tests__/core/wrap-features/env-case.ts +++ b/packages/client/src/__tests__/core/wrap-features/env-case.ts @@ -2,7 +2,7 @@ import { PluginPackage } from "@polywrap/plugin-js"; import { RecursiveResolver } from "@polywrap/uri-resolvers-js"; import { PolywrapClient } from "../../../PolywrapClient"; import { mockPluginRegistration } from "../../helpers"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; import { Uri, UriMap } from "@polywrap/core-js"; import { GetPathToTestWrappers } from "@polywrap/test-cases"; @@ -14,7 +14,7 @@ export const envTestCases = (implementation: string) => { const wrapperPath = `${GetPathToTestWrappers()}/env-type/00-main/implementations/${implementation}`; const wrapperUri = Uri.from(`file/${wrapperPath}`); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() .build(); @@ -52,7 +52,7 @@ export const envTestCases = (implementation: string) => { [wrapperUri.uri]: env }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() .addEnvs(envs) .build(); @@ -108,7 +108,7 @@ export const envTestCases = (implementation: string) => { [wrapperUri.uri]: env }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() .addEnvs(envs) .build(); @@ -128,7 +128,7 @@ export const envTestCases = (implementation: string) => { const wrapperPath = `${GetPathToTestWrappers()}/env-type/00-main/implementations/${implementation}`; const wrapperUri = Uri.from(`file/${wrapperPath}`); - const config = new ClientConfigBuilder().addDefaults().build(); + const config = new PolywrapClientConfigBuilder().addDefaults().build(); const client = new PolywrapClient(config); const result = await client.invoke({ @@ -177,7 +177,7 @@ export const envTestCases = (implementation: string) => { [wrapperUri.uri]: env }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() .addEnvs(envs) .build(); @@ -197,7 +197,7 @@ export const envTestCases = (implementation: string) => { const wrapperPath = `${GetPathToTestWrappers()}/env-type/00-main/implementations/${implementation}`; const wrapperUri = Uri.from(`file/${wrapperPath}`); - const config = new ClientConfigBuilder().addDefaults().build(); + const config = new PolywrapClientConfigBuilder().addDefaults().build(); const client = new PolywrapClient(config); const result = await client.invoke({ @@ -248,10 +248,10 @@ export const envTestCases = (implementation: string) => { [envUri.uri]: env }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() .addEnvs(envs) - .addRedirect(redirectFromUri.uri, wrapperUri.uri) + .setRedirect(redirectFromUri.uri, wrapperUri.uri) .build(); const client = new PolywrapClient(config); @@ -276,9 +276,9 @@ export const envTestCases = (implementation: string) => { const { uri: subinvokerUri } = Uri.from(`file/${subinvokerPath}`); const { uri: subinvokedUri } = Uri.from(`file/${subinvokedPath}`); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect("mock/main", subinvokedUri) + .setRedirect("mock/main", subinvokedUri) .build(); const client = new PolywrapClient(config); @@ -317,9 +317,9 @@ export const envTestCases = (implementation: string) => { "mock/main": subinvokedEnv }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect("mock/main", subinvokedUri) + .setRedirect("mock/main", subinvokedUri) .addEnvs(envs) .build(); @@ -376,9 +376,9 @@ export const envTestCases = (implementation: string) => { "mock/main": subinvokedEnv }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect("mock/main", subinvokedUri) + .setRedirect("mock/main", subinvokedUri) .addEnvs(envs) .build(); @@ -399,9 +399,9 @@ export const envTestCases = (implementation: string) => { const { uri: subinvokerUri } = Uri.from(`file/${subinvokerPath}`); const { uri: subinvokedUri } = Uri.from(`file/${subinvokedPath}`); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect("mock/main", subinvokedUri) + .setRedirect("mock/main", subinvokedUri) .build(); const client = new PolywrapClient(config); @@ -453,9 +453,9 @@ export const envTestCases = (implementation: string) => { "mock/main": subinvokedEnv }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect("mock/main", subinvokedUri) + .setRedirect("mock/main", subinvokedUri) .addEnvs(envs) .build(); const client = new PolywrapClient(config); @@ -475,9 +475,9 @@ export const envTestCases = (implementation: string) => { const { uri: subinvokerUri } = Uri.from(`file/${subinvokerPath}`); const { uri: subinvokedUri } = Uri.from(`file/${subinvokedPath}`); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect("mock/main", subinvokedUri) + .setRedirect("mock/main", subinvokedUri) .build(); const client = new PolywrapClient(config); @@ -540,9 +540,9 @@ export const envTestCases = (implementation: string) => { "mock/main": subinvokedEnv }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect("mock/main", subinvokedUri) + .setRedirect("mock/main", subinvokedUri) .addEnvs(envs) .build(); const client = new PolywrapClient(config); diff --git a/packages/client/src/__tests__/core/wrap-features/interface-implementation-case.ts b/packages/client/src/__tests__/core/wrap-features/interface-implementation-case.ts index d50a7ebed..1588a5276 100644 --- a/packages/client/src/__tests__/core/wrap-features/interface-implementation-case.ts +++ b/packages/client/src/__tests__/core/wrap-features/interface-implementation-case.ts @@ -4,7 +4,7 @@ import { PolywrapClient, UriMap, } from "../../../index"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; import { UriResolver } from "@polywrap/uri-resolvers-js"; import { mockPluginRegistration } from "../../helpers"; import { GetPathToTestWrappers } from "@polywrap/test-cases"; @@ -18,7 +18,7 @@ export const interfaceInvokeCase = (implementation: string) => { const implementationPath = `${GetPathToTestWrappers()}/interface-invoke/01-implementation/implementations/${implementation}`; const implementationUri = `fs/${implementationPath}`; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() .addInterfaceImplementation(interfaceUri, implementationUri) .build(); @@ -159,7 +159,7 @@ export const interfaceInvokeCase = (implementation: string) => { const implementationUri1 = Uri.from("wrap://ens/implementation1.eth"); const implementationUri2 = Uri.from("wrap://ens/implementation2.eth"); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() .addInterfaceImplementations(interfaceUri.uri, [ implementationUri1.uri, @@ -181,7 +181,7 @@ export const interfaceInvokeCase = (implementation: string) => { const implementationUri1 = Uri.from("wrap://ens/implementation1.eth"); const implementationUri2 = Uri.from("wrap://ens/implementation2.eth"); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() .addInterfaceImplementations(interfaceUri.uri, [ implementationUri1.uri, @@ -192,7 +192,7 @@ export const interfaceInvokeCase = (implementation: string) => { const implementationUris = (client.getInterfaces() ?? new UriMap).get(interfaceUri); - const defaultClientConfig = new ClientConfigBuilder().addDefaults().build(); + const defaultClientConfig = new PolywrapClientConfigBuilder().addDefaults().build(); expect(implementationUris).toEqual([ ...((defaultClientConfig.interfaces ?? new UriMap).get(interfaceUri) || []), @@ -271,9 +271,9 @@ export const interfaceInvokeCase = (implementation: string) => { "wrap://mock/some-implementation2" ); - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect(oldInterfaceUri.uri, newInterfaceUri.uri) + .setRedirect(oldInterfaceUri.uri, newInterfaceUri.uri) .addInterfaceImplementation(oldInterfaceUri.uri, implementation1Uri.uri) .addInterfaceImplementation(newInterfaceUri.uri, implementation2Uri.uri) .build(); diff --git a/packages/client/src/__tests__/core/wrap-features/subinvoke-case.ts b/packages/client/src/__tests__/core/wrap-features/subinvoke-case.ts index 022278789..fe4ae34b9 100644 --- a/packages/client/src/__tests__/core/wrap-features/subinvoke-case.ts +++ b/packages/client/src/__tests__/core/wrap-features/subinvoke-case.ts @@ -1,5 +1,5 @@ import { GetPathToTestWrappers } from "@polywrap/test-cases"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; import { PolywrapClient } from "../../../PolywrapClient"; export const subinvokeCase = (implementation: string) => { @@ -8,9 +8,9 @@ export const subinvokeCase = (implementation: string) => { const subinvokeUri = `file/${GetPathToTestWrappers()}/subinvoke/00-subinvoke/implementations/${implementation}`; const wrapperUri = `file/${GetPathToTestWrappers()}/subinvoke/01-invoke/implementations/${implementation}`; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addDefaults() - .addRedirect("ens/imported-subinvoke.eth", subinvokeUri) + .setRedirect("ens/imported-subinvoke.eth", subinvokeUri) .build(); const client = new PolywrapClient(config); diff --git a/packages/config-builder/README.md b/packages/config-builder/README.md index 14c7ef4fd..2453f8174 100644 --- a/packages/config-builder/README.md +++ b/packages/config-builder/README.md @@ -12,12 +12,12 @@ Initialize a ClientConfigBuilder using the [constructor](#constructor) ```typescript // start with a blank slate (typical usage) - const builder = new ClientConfigBuilder(); + const builder = new PolywrapClientConfigBuilder(); ``` ### Configure -Add client configuration with [add](#add), or flexibly mix and match builder [configuration methods](#addwrapper) to add and remove configuration items. +Add client configuration with [add](#add), or flexibly mix and match builder [configuration methods](#setWrapper) to add and remove configuration items. ```typescript // add multiple items to the configuration using the catch-all `add` method @@ -32,9 +32,9 @@ Add client configuration with [add](#add), or flexibly mix and match builder [co // add or remove items by chaining method calls builder - .addPackage("wrap://plugin/package", httpPlugin({})) + .setPackage("wrap://plugin/package", httpPlugin({})) .removePackage("wrap://plugin/package") - .addPackages({ + .setPackages({ "wrap://plugin/http": httpPlugin({}), "wrap://plugin/filesystem": fileSystemPlugin({}), }); @@ -71,7 +71,7 @@ A complete example using all or most of the available methods. ```typescript // init - const builder = new ClientConfigBuilder(); + const builder = new PolywrapClientConfigBuilder(); // add the default bundle first to override its entries later builder.addDefaults(); @@ -88,7 +88,7 @@ A complete example using all or most of the available methods. // add and remove wrappers builder - .addWrapper( + .setWrapper( "wrap://ens/wrapper.eth", await WasmWrapper.from( new Uint8Array([1, 2, 3]), @@ -96,7 +96,7 @@ A complete example using all or most of the available methods. ) ) .removeWrapper("wrap://ens/wrapper.eth") - .addWrappers({ + .setWrappers({ "wrap://ens/wrapper.eth": await WasmWrapper.from( new Uint8Array([1, 2, 3]), new Uint8Array([1, 2, 3]) @@ -105,9 +105,9 @@ A complete example using all or most of the available methods. // add and remove wrap packages builder - .addPackage("wrap://plugin/package", httpPlugin({})) + .setPackage("wrap://plugin/package", httpPlugin({})) .removePackage("wrap://plugin/package") - .addPackages({ + .setPackages({ "wrap://plugin/package": httpPlugin({}), }); @@ -138,9 +138,9 @@ A complete example using all or most of the available methods. // add or remove URI redirects builder - .addRedirect("wrap://ens/from.eth", "wrap://ens/to.eth") + .setRedirect("wrap://ens/from.eth", "wrap://ens/to.eth") .removeRedirect("wrap://ens/from.eth") - .addRedirects({ + .setRedirects({ "wrap://ens/from.eth": "wrap://ens/to.eth", }); @@ -159,7 +159,7 @@ A complete example using all or most of the available methods. ### Constructor ```ts /** - * Instantiate a ClientConfigBuilder + * Instantiate a PolywrapClientConfigBuilder */ constructor() ``` @@ -168,36 +168,36 @@ A complete example using all or most of the available methods. ```ts /** * Add a partial BuilderConfig - * This is equivalent to calling each of the plural add functions: `addEnvs`, `addWrappers`, etc. + * This is equivalent to calling each of the plural add functions: `addEnvs`, `setWrappers`, etc. * * @param config: a partial BuilderConfig - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - add(config: Partial): IClientConfigBuilder; + add(config: Partial): ClientConfigBuilder; ``` -### addWrapper +### setWrapper ```ts /** * Add an embedded wrapper * * @param uri: uri of wrapper * @param wrapper: wrapper to be added - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addWrapper(uri: string, wrapper: Wrapper): IClientConfigBuilder; + setWrapper(uri: string, wrapper: Wrapper): ClientConfigBuilder; ``` -### addWrappers +### setWrappers ```ts /** * Add one or more embedded wrappers. - * This is equivalent to calling addWrapper for each wrapper. + * This is equivalent to calling setWrapper for each wrapper. * * @param uriWrappers: an object where keys are uris and wrappers are value - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addWrappers(uriWrappers: Record): IClientConfigBuilder; + setWrappers(uriWrappers: Record): ClientConfigBuilder; ``` ### removeWrapper @@ -206,33 +206,33 @@ A complete example using all or most of the available methods. * Remove an embedded wrapper * * @param uri: the wrapper's URI - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - removeWrapper(uri: string): IClientConfigBuilder; + removeWrapper(uri: string): ClientConfigBuilder; ``` -### addPackage +### setPackage ```ts /** * Add an embedded wrap package * * @param uri: uri of wrapper * @param wrapPackage: package to be added - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addPackage(uri: string, wrapPackage: IWrapPackage): IClientConfigBuilder; + setPackage(uri: string, wrapPackage: IWrapPackage): ClientConfigBuilder; ``` -### addPackages +### setPackages ```ts /** * Add one or more embedded wrap packages - * This is equivalent to calling addPackage for each package + * This is equivalent to calling setPackage for each package * * @param uriPackages: an object where keys are uris and packages are value - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addPackages(uriPackages: Record): IClientConfigBuilder; + setPackages(uriPackages: Record): ClientConfigBuilder; ``` ### removePackage @@ -241,9 +241,9 @@ A complete example using all or most of the available methods. * Remove an embedded wrap package * * @param uri: the package's URI - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - removePackage(uri: string): IClientConfigBuilder; + removePackage(uri: string): ClientConfigBuilder; ``` ### addEnv @@ -254,9 +254,9 @@ A complete example using all or most of the available methods. * * @param uri: the wrapper's URI to associate with the Env * @param env: an object with the env variables for the uri - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addEnv(uri: string, env: Record): IClientConfigBuilder; + addEnv(uri: string, env: Record): ClientConfigBuilder; ``` ### addEnvs @@ -266,11 +266,11 @@ A complete example using all or most of the available methods. * This is equivalent to calling addEnv for each Env * * @param uriEnvs: and object where key is the uri and value is the another object with the env variables for the uri - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ addEnvs( uriEnvs: Record> - ): IClientConfigBuilder; + ): ClientConfigBuilder; ``` ### removeEnv @@ -279,9 +279,9 @@ A complete example using all or most of the available methods. * Remove an Env * * @param uri: the URI associated with the Env - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - removeEnv(uri: string): IClientConfigBuilder; + removeEnv(uri: string): ClientConfigBuilder; ``` ### setEnv @@ -292,9 +292,9 @@ A complete example using all or most of the available methods. * * @param uri: the wrapper's URI to associate with the Env * @param env: an object with the environment variables for the uri - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - setEnv(uri: string, env: Record): IClientConfigBuilder; + setEnv(uri: string, env: Record): ClientConfigBuilder; ``` ### addInterfaceImplementation @@ -304,12 +304,12 @@ A complete example using all or most of the available methods. * * @param interfaceUri: the URI of the interface * @param implementationUri: the URI of the implementation - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ addInterfaceImplementation( interfaceUri: string, implementationUri: string - ): IClientConfigBuilder; + ): ClientConfigBuilder; ``` ### addInterfaceImplementations @@ -319,12 +319,12 @@ A complete example using all or most of the available methods. * * @param interfaceUri: the URI of the interface * @param implementationUris: a list of URIs for the implementations - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ addInterfaceImplementations( interfaceUri: string, implementationUris: Array - ): IClientConfigBuilder; + ): ClientConfigBuilder; ``` ### removeInterfaceImplementation @@ -334,35 +334,35 @@ A complete example using all or most of the available methods. * * @param interfaceUri: the URI of the interface * @param implementationUri: the URI of the implementation - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ removeInterfaceImplementation( interfaceUri: string, implementationUri: string - ): IClientConfigBuilder; + ): ClientConfigBuilder; ``` -### addRedirect +### setRedirect ```ts /** * Add a redirect from one URI to another * * @param from: the URI to redirect from * @param to: the URI to redirect to - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addRedirect(from: string, to: string): IClientConfigBuilder; + setRedirect(from: string, to: string): ClientConfigBuilder; ``` -### addRedirects +### setRedirects ```ts /** * Add an array of URI redirects * * @param redirects: an object where key is from and value is to - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addRedirects(redirects: Record): IClientConfigBuilder; + setRedirects(redirects: Record): ClientConfigBuilder; ``` ### removeRedirect @@ -371,9 +371,9 @@ A complete example using all or most of the available methods. * Remove a URI redirect * * @param from: the URI that is being redirected - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - removeRedirect(from: string): IClientConfigBuilder; + removeRedirect(from: string): ClientConfigBuilder; ``` ### addResolver @@ -390,9 +390,9 @@ A complete example using all or most of the available methods. * | UriResolverLike[]; * * @param resolver: A UriResolverLike - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addResolver(resolver: UriResolverLike): IClientConfigBuilder; + addResolver(resolver: UriResolverLike): ClientConfigBuilder; ``` ### addResolvers @@ -409,9 +409,9 @@ A complete example using all or most of the available methods. * | UriResolverLike[]; * * @param resolvers: A list of UriResolverLike - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addResolvers(resolvers: UriResolverLike[]): IClientConfigBuilder; + addResolvers(resolvers: UriResolverLike[]): ClientConfigBuilder; ``` ### addDefaults @@ -419,9 +419,9 @@ A complete example using all or most of the available methods. /** * Add the default configuration bundle * - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addDefaults(): IClientConfigBuilder; + addDefaults(): ClientConfigBuilder; ``` ### addBundle @@ -429,9 +429,9 @@ A complete example using all or most of the available methods. /** * Add a default configuration bundle * - * @returns Promise (mutated self) + * @returns Promise (mutated self) */ - addBundle(bundle: BundleName): IClientConfigBuilder; + addBundle(bundle: BundleName): ClientConfigBuilder; ``` ### build diff --git a/packages/config-builder/examples/quickstart.ts b/packages/config-builder/examples/quickstart.ts index bc099f197..aa8b6664d 100644 --- a/packages/config-builder/examples/quickstart.ts +++ b/packages/config-builder/examples/quickstart.ts @@ -1,4 +1,4 @@ -import { ClientConfigBuilder } from "../build"; +import { PolywrapClientConfigBuilder } from "../build"; // eslint-disable-next-line import/no-extraneous-dependencies import { WasmWrapper } from "@polywrap/wasm-js"; @@ -10,17 +10,17 @@ import { import { fileSystemPlugin } from "@polywrap/file-system-plugin-js"; import { CoreClientConfig } from "@polywrap/core-js"; -export function initialize(): ClientConfigBuilder { +export function initialize(): PolywrapClientConfigBuilder { // $start: quickstart-initialize // start with a blank slate (typical usage) - const builder = new ClientConfigBuilder(); + const builder = new PolywrapClientConfigBuilder(); // $end return builder; } -export function configure(): ClientConfigBuilder { - const builder = new ClientConfigBuilder(); +export function configure(): PolywrapClientConfigBuilder { + const builder = new PolywrapClientConfigBuilder(); // $start: quickstart-configure // add multiple items to the configuration using the catch-all `add` method @@ -35,9 +35,9 @@ export function configure(): ClientConfigBuilder { // add or remove items by chaining method calls builder - .addPackage("wrap://plugin/package", httpPlugin({})) + .setPackage("wrap://plugin/package", httpPlugin({})) .removePackage("wrap://plugin/package") - .addPackages({ + .setPackages({ "wrap://plugin/http": httpPlugin({}), "wrap://plugin/filesystem": fileSystemPlugin({}), }); @@ -50,8 +50,8 @@ export function configure(): ClientConfigBuilder { return builder; } -export function build(): ClientConfigBuilder | CoreClientConfig { - const builder = new ClientConfigBuilder(); +export function build(): PolywrapClientConfigBuilder | CoreClientConfig { + const builder = new PolywrapClientConfigBuilder(); // $start: quickstart-build // accepted by either the PolywrapClient or the PolywrapCoreClient @@ -74,7 +74,7 @@ export function build(): ClientConfigBuilder | CoreClientConfig { export async function example(): Promise { // $start: quickstart-example // init - const builder = new ClientConfigBuilder(); + const builder = new PolywrapClientConfigBuilder(); // add the default bundle first to override its entries later builder.addDefaults(); @@ -91,7 +91,7 @@ export async function example(): Promise { // add and remove wrappers builder - .addWrapper( + .setWrapper( "wrap://ens/wrapper.eth", await WasmWrapper.from( new Uint8Array([1, 2, 3]), @@ -99,7 +99,7 @@ export async function example(): Promise { ) ) .removeWrapper("wrap://ens/wrapper.eth") - .addWrappers({ + .setWrappers({ "wrap://ens/wrapper.eth": await WasmWrapper.from( new Uint8Array([1, 2, 3]), new Uint8Array([1, 2, 3]) @@ -108,9 +108,9 @@ export async function example(): Promise { // add and remove wrap packages builder - .addPackage("wrap://plugin/package", httpPlugin({})) + .setPackage("wrap://plugin/package", httpPlugin({})) .removePackage("wrap://plugin/package") - .addPackages({ + .setPackages({ "wrap://plugin/package": httpPlugin({}), }); @@ -141,9 +141,9 @@ export async function example(): Promise { // add or remove URI redirects builder - .addRedirect("wrap://ens/from.eth", "wrap://ens/to.eth") + .setRedirect("wrap://ens/from.eth", "wrap://ens/to.eth") .removeRedirect("wrap://ens/from.eth") - .addRedirects({ + .setRedirects({ "wrap://ens/from.eth": "wrap://ens/to.eth", }); diff --git a/packages/config-builder/readme/README.md b/packages/config-builder/readme/README.md index 27ce71b37..84f92f352 100644 --- a/packages/config-builder/readme/README.md +++ b/packages/config-builder/readme/README.md @@ -16,7 +16,7 @@ $snippet: quickstart-initialize ### Configure -Add client configuration with [add](#add), or flexibly mix and match builder [configuration methods](#addwrapper) to add and remove configuration items. +Add client configuration with [add](#add), or flexibly mix and match builder [configuration methods](#setWrapper) to add and remove configuration items. ```typescript $snippet: quickstart-configure @@ -55,112 +55,112 @@ $snippet: ClientConfigBuilder-constructor ### add ```ts -$snippet: IClientConfigBuilder-add +$snippet: ClientConfigBuilder-add ``` -### addWrapper +### setWrapper ```ts -$snippet: IClientConfigBuilder-addWrapper +$snippet: ClientConfigBuilder-setWrapper ``` -### addWrappers +### setWrappers ```ts -$snippet: IClientConfigBuilder-addWrappers +$snippet: ClientConfigBuilder-setWrappers ``` ### removeWrapper ```ts -$snippet: IClientConfigBuilder-removeWrapper +$snippet: ClientConfigBuilder-removeWrapper ``` -### addPackage +### setPackage ```ts -$snippet: IClientConfigBuilder-addPackage +$snippet: ClientConfigBuilder-setPackage ``` -### addPackages +### setPackages ```ts -$snippet: IClientConfigBuilder-addPackages +$snippet: ClientConfigBuilder-setPackages ``` ### removePackage ```ts -$snippet: IClientConfigBuilder-removePackage +$snippet: ClientConfigBuilder-removePackage ``` ### addEnv ```ts -$snippet: IClientConfigBuilder-addEnv +$snippet: ClientConfigBuilder-addEnv ``` ### addEnvs ```ts -$snippet: IClientConfigBuilder-addEnvs +$snippet: ClientConfigBuilder-addEnvs ``` ### removeEnv ```ts -$snippet: IClientConfigBuilder-removeEnv +$snippet: ClientConfigBuilder-removeEnv ``` ### setEnv ```ts -$snippet: IClientConfigBuilder-setEnv +$snippet: ClientConfigBuilder-setEnv ``` ### addInterfaceImplementation ```ts -$snippet: IClientConfigBuilder-addInterfaceImplementation +$snippet: ClientConfigBuilder-addInterfaceImplementation ``` ### addInterfaceImplementations ```ts -$snippet: IClientConfigBuilder-addInterfaceImplementations +$snippet: ClientConfigBuilder-addInterfaceImplementations ``` ### removeInterfaceImplementation ```ts -$snippet: IClientConfigBuilder-removeInterfaceImplementation +$snippet: ClientConfigBuilder-removeInterfaceImplementation ``` -### addRedirect +### setRedirect ```ts -$snippet: IClientConfigBuilder-addRedirect +$snippet: ClientConfigBuilder-setRedirect ``` -### addRedirects +### setRedirects ```ts -$snippet: IClientConfigBuilder-addRedirects +$snippet: ClientConfigBuilder-setRedirects ``` ### removeRedirect ```ts -$snippet: IClientConfigBuilder-removeRedirect +$snippet: ClientConfigBuilder-removeRedirect ``` ### addResolver ```ts -$snippet: IClientConfigBuilder-addResolver +$snippet: ClientConfigBuilder-addResolver ``` ### addResolvers ```ts -$snippet: IClientConfigBuilder-addResolvers +$snippet: ClientConfigBuilder-addResolvers ``` ### addDefaults ```ts -$snippet: IClientConfigBuilder-addDefaults +$snippet: ClientConfigBuilder-addDefaults ``` ### addBundle ```ts -$snippet: IClientConfigBuilder-addBundle +$snippet: ClientConfigBuilder-addBundle ``` ### build ```ts -$snippet: IClientConfigBuilder-build +$snippet: ClientConfigBuilder-build ``` ## Bundles diff --git a/packages/config-builder/src/BaseClientConfigBuilder.ts b/packages/config-builder/src/BaseClientConfigBuilder.ts index b2f827385..dab04ec15 100644 --- a/packages/config-builder/src/BaseClientConfigBuilder.ts +++ b/packages/config-builder/src/BaseClientConfigBuilder.ts @@ -1,4 +1,4 @@ -import { BuilderConfig, IClientConfigBuilder } from "./types"; +import { BuilderConfig, ClientConfigBuilder } from "./types"; import { BundleName } from "./bundles"; import { @@ -9,7 +9,7 @@ import { } from "@polywrap/core-js"; import { UriResolverLike } from "@polywrap/uri-resolvers-js"; -export abstract class BaseClientConfigBuilder implements IClientConfigBuilder { +export abstract class BaseClientConfigBuilder implements ClientConfigBuilder { protected _config: BuilderConfig = { envs: {}, interfaces: {}, @@ -19,29 +19,29 @@ export abstract class BaseClientConfigBuilder implements IClientConfigBuilder { resolvers: [], }; - abstract addDefaults(): IClientConfigBuilder; - abstract addBundle(bundle: BundleName): IClientConfigBuilder; + abstract addDefaults(): ClientConfigBuilder; + abstract addBundle(bundle: BundleName): ClientConfigBuilder; abstract build(): CoreClientConfig; get config(): BuilderConfig { return this._config; } - add(config: Partial): IClientConfigBuilder { + add(config: Partial): ClientConfigBuilder { if (config.envs) { this.addEnvs(config.envs); } if (config.redirects) { - this.addRedirects(config.redirects); + this.setRedirects(config.redirects); } if (config.wrappers) { - this.addWrappers(config.wrappers); + this.setWrappers(config.wrappers); } if (config.packages) { - this.addPackages(config.packages); + this.setPackages(config.packages); } if (config.interfaces) { @@ -59,47 +59,47 @@ export abstract class BaseClientConfigBuilder implements IClientConfigBuilder { return this; } - addWrapper(uri: string, wrapper: Wrapper): IClientConfigBuilder { + setWrapper(uri: string, wrapper: Wrapper): ClientConfigBuilder { this._config.wrappers[this.sanitizeUri(uri)] = wrapper; return this; } - addWrappers(uriWrappers: Record): IClientConfigBuilder { + setWrappers(uriWrappers: Record): ClientConfigBuilder { for (const uri in uriWrappers) { - this.addWrapper(this.sanitizeUri(uri), uriWrappers[uri]); + this.setWrapper(this.sanitizeUri(uri), uriWrappers[uri]); } return this; } - removeWrapper(uri: string): IClientConfigBuilder { + removeWrapper(uri: string): ClientConfigBuilder { delete this._config.wrappers[this.sanitizeUri(uri)]; return this; } - addPackage(uri: string, wrapPackage: IWrapPackage): IClientConfigBuilder { + setPackage(uri: string, wrapPackage: IWrapPackage): ClientConfigBuilder { this._config.packages[this.sanitizeUri(uri)] = wrapPackage; return this; } - addPackages(uriPackages: Record): IClientConfigBuilder { + setPackages(uriPackages: Record): ClientConfigBuilder { for (const uri in uriPackages) { - this.addPackage(this.sanitizeUri(uri), uriPackages[uri]); + this.setPackage(this.sanitizeUri(uri), uriPackages[uri]); } return this; } - removePackage(uri: string): IClientConfigBuilder { + removePackage(uri: string): ClientConfigBuilder { delete this._config.packages[this.sanitizeUri(uri)]; return this; } - addEnv(uri: string, env: Record): IClientConfigBuilder { + addEnv(uri: string, env: Record): ClientConfigBuilder { const sanitizedUri = this.sanitizeUri(uri); this._config.envs[sanitizedUri] = { ...this._config.envs[sanitizedUri], @@ -109,7 +109,7 @@ export abstract class BaseClientConfigBuilder implements IClientConfigBuilder { return this; } - addEnvs(envs: Record>): IClientConfigBuilder { + addEnvs(envs: Record>): ClientConfigBuilder { for (const [uri, env] of Object.entries(envs)) { this.addEnv(this.sanitizeUri(uri), env); } @@ -117,13 +117,13 @@ export abstract class BaseClientConfigBuilder implements IClientConfigBuilder { return this; } - removeEnv(uri: string): IClientConfigBuilder { + removeEnv(uri: string): ClientConfigBuilder { delete this._config.envs[this.sanitizeUri(uri)]; return this; } - setEnv(uri: string, env: Record): IClientConfigBuilder { + setEnv(uri: string, env: Record): ClientConfigBuilder { this._config.envs[this.sanitizeUri(uri)] = env; return this; @@ -132,7 +132,7 @@ export abstract class BaseClientConfigBuilder implements IClientConfigBuilder { addInterfaceImplementation( interfaceUri: string, implementationUri: string - ): IClientConfigBuilder { + ): ClientConfigBuilder { const existingInterface = this._config.interfaces[ this.sanitizeUri(interfaceUri) ]; @@ -151,7 +151,7 @@ export abstract class BaseClientConfigBuilder implements IClientConfigBuilder { addInterfaceImplementations( interfaceUri: string, implementationUris: Array | Set - ): IClientConfigBuilder { + ): ClientConfigBuilder { const existingInterface = this._config.interfaces[ this.sanitizeUri(interfaceUri) ]; @@ -175,7 +175,7 @@ export abstract class BaseClientConfigBuilder implements IClientConfigBuilder { removeInterfaceImplementation( interfaceUri: string, implementationUri: string - ): IClientConfigBuilder { + ): ClientConfigBuilder { const existingInterface = this._config.interfaces[ this.sanitizeUri(interfaceUri) ]; @@ -195,33 +195,33 @@ export abstract class BaseClientConfigBuilder implements IClientConfigBuilder { return this; } - addRedirect(from: string, to: string): IClientConfigBuilder { + setRedirect(from: string, to: string): ClientConfigBuilder { this._config.redirects[this.sanitizeUri(from)] = this.sanitizeUri(to); return this; } - addRedirects(redirects: Record): IClientConfigBuilder { + setRedirects(redirects: Record): ClientConfigBuilder { for (const uri in redirects) { - this.addRedirect(this.sanitizeUri(uri), this.sanitizeUri(redirects[uri])); + this.setRedirect(this.sanitizeUri(uri), this.sanitizeUri(redirects[uri])); } return this; } - removeRedirect(from: string): IClientConfigBuilder { + removeRedirect(from: string): ClientConfigBuilder { delete this._config.redirects[this.sanitizeUri(from)]; return this; } - addResolver(resolver: UriResolverLike): IClientConfigBuilder { + addResolver(resolver: UriResolverLike): ClientConfigBuilder { this._config.resolvers.push(resolver); return this; } - addResolvers(resolvers: UriResolverLike[]): IClientConfigBuilder { + addResolvers(resolvers: UriResolverLike[]): ClientConfigBuilder { for (const resolver of resolvers) { this.addResolver(resolver); } diff --git a/packages/config-builder/src/ClientConfigBuilder.ts b/packages/config-builder/src/PolywrapClientConfigBuilder.ts similarity index 91% rename from packages/config-builder/src/ClientConfigBuilder.ts rename to packages/config-builder/src/PolywrapClientConfigBuilder.ts index a339b6098..9768c3bca 100644 --- a/packages/config-builder/src/ClientConfigBuilder.ts +++ b/packages/config-builder/src/PolywrapClientConfigBuilder.ts @@ -1,6 +1,6 @@ import { addBundle, BundleName } from "./bundles"; import { BaseClientConfigBuilder } from "./BaseClientConfigBuilder"; -import { BuildOptions, IClientConfigBuilder, BuilderConfig } from "./types"; +import { BuildOptions, ClientConfigBuilder, BuilderConfig } from "./types"; import { CoreClientConfig, @@ -21,22 +21,22 @@ import { } from "@polywrap/uri-resolvers-js"; import { ExtendableUriResolver } from "@polywrap/uri-resolver-extensions-js"; -export class ClientConfigBuilder extends BaseClientConfigBuilder { +export class PolywrapClientConfigBuilder extends BaseClientConfigBuilder { // $start: ClientConfigBuilder-constructor /** - * Instantiate a ClientConfigBuilder + * Instantiate a PolywrapClientConfigBuilder */ constructor() /* $ */ { super(); } - addDefaults(): IClientConfigBuilder { + addDefaults(): ClientConfigBuilder { this.addBundle("sys"); this.addBundle("web3"); return this; } - addBundle(bundle: BundleName): IClientConfigBuilder { + addBundle(bundle: BundleName): ClientConfigBuilder { return addBundle(bundle, this); } diff --git a/packages/config-builder/src/__tests__/client-config-builder.spec.ts b/packages/config-builder/src/__tests__/client-config-builder.spec.ts index 61d27f653..1fa06154e 100644 --- a/packages/config-builder/src/__tests__/client-config-builder.spec.ts +++ b/packages/config-builder/src/__tests__/client-config-builder.spec.ts @@ -1,4 +1,4 @@ -import { ClientConfigBuilder } from "../ClientConfigBuilder"; +import { PolywrapClientConfigBuilder } from "../PolywrapClientConfigBuilder"; import { CoreClient, Uri, @@ -29,7 +29,7 @@ class MockUriResolver implements IUriResolver { } describe("Client config builder", () => { - const emptyBuilderConfig = new ClientConfigBuilder().config; + const emptyBuilderConfig = new PolywrapClientConfigBuilder().config; const testEnv1: Record> = { "wrap://ens/test.plugin.one": { test: "value" }, @@ -80,7 +80,7 @@ describe("Client config builder", () => { ); it("should build an empty partial config", () => { - const clientConfig = new ClientConfigBuilder().build(); + const clientConfig = new PolywrapClientConfigBuilder().build(); expect(clientConfig.envs).toStrictEqual(new UriMap()); expect(clientConfig.interfaces).toStrictEqual(new UriMap()); @@ -94,7 +94,7 @@ describe("Client config builder", () => { resolvers: [testUriResolver], }; - const builder = new ClientConfigBuilder().add(configObject); + const builder = new PolywrapClientConfigBuilder().add(configObject); const clientConfig = builder.build(); const builderConfig = builder.config; @@ -126,7 +126,7 @@ describe("Client config builder", () => { }); it("should succesfully add and merge two config objects and build", () => { - const builder = new ClientConfigBuilder() + const builder = new PolywrapClientConfigBuilder() .add({ envs: testEnv1, interfaces: testInterface1, @@ -174,7 +174,7 @@ describe("Client config builder", () => { }); it("should successfully add the default config", async () => { - const builder = new ClientConfigBuilder() + const builder = new PolywrapClientConfigBuilder() .addDefaults(); const config = builder.config; @@ -182,7 +182,7 @@ describe("Client config builder", () => { // Expect the default config to have the following bundles: // "sys", "web3" - const expectedConfig = new ClientConfigBuilder() + const expectedConfig = new PolywrapClientConfigBuilder() .addBundle("sys") .addBundle("web3") .config; @@ -201,7 +201,7 @@ describe("Client config builder", () => { }, }; - const config = new ClientConfigBuilder().addEnv(envUri, env).build(); + const config = new PolywrapClientConfigBuilder().addEnv(envUri, env).build(); if (!config.envs || config.envs.size !== 1) { fail(["Expected 1 env, received:", config.envs]); @@ -221,7 +221,7 @@ describe("Client config builder", () => { }, }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addEnv(envUri, env1) .addEnv(envUri, env2) .build(); @@ -236,7 +236,7 @@ describe("Client config builder", () => { }); it("should succesfully add two separate envs", () => { - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addEnv(Object.keys(testEnvs)[0], Object.values(testEnvs)[0]) .addEnv(Object.keys(testEnvs)[1], Object.values(testEnvs)[1]) .build(); @@ -254,7 +254,7 @@ describe("Client config builder", () => { }); it("should remove an env", () => { - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addEnv(Object.keys(testEnvs)[0], Object.values(testEnvs)[0]) .addEnv(Object.keys(testEnvs)[1], Object.values(testEnvs)[1]) .removeEnv(Object.keys(testEnvs)[0]) @@ -276,7 +276,7 @@ describe("Client config builder", () => { foo: "bar", }; - const config = new ClientConfigBuilder().setEnv(envUri, env).build(); + const config = new PolywrapClientConfigBuilder().setEnv(envUri, env).build(); if (!config.envs || config.envs.size !== 1) { fail(["Expected 1 env, received:", config.envs]); @@ -295,7 +295,7 @@ describe("Client config builder", () => { bar: "baz", }; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addEnv(envUri, env1) .setEnv(envUri, env2) .build(); @@ -311,7 +311,7 @@ describe("Client config builder", () => { const interfaceUri = "wrap://ens/some.interface.eth"; const implUri = "wrap://ens/interface.impl.eth"; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addInterfaceImplementation(interfaceUri, implUri) .build(); @@ -329,7 +329,7 @@ describe("Client config builder", () => { const implUri1 = "wrap://ens/interface.impl1.eth"; const implUri2 = "wrap://ens/interface.impl2.eth"; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addInterfaceImplementation(interfaceUri, implUri1) .addInterfaceImplementation(interfaceUri, implUri2) .build(); @@ -353,7 +353,7 @@ describe("Client config builder", () => { const implUri3 = "wrap://ens/interface.impl3.eth"; const implUri4 = "wrap://ens/interface.impl4.eth"; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addInterfaceImplementation(interfaceUri1, implUri1) .addInterfaceImplementation(interfaceUri2, implUri2) .addInterfaceImplementation(interfaceUri1, implUri3) @@ -377,7 +377,7 @@ describe("Client config builder", () => { const implUri1 = "wrap://ens/interface.impl1.eth"; const implUri2 = "wrap://ens/interface.impl2.eth"; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addInterfaceImplementations(interfaceUri, [implUri1, implUri2]) .build(); @@ -398,7 +398,7 @@ describe("Client config builder", () => { const implUri2 = "wrap://ens/interface.impl2.eth"; const implUri3 = "wrap://ens/interface.impl3.eth"; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addInterfaceImplementations(interfaceUri, [implUri1]) .addInterfaceImplementations(interfaceUri, [implUri2, implUri3]) .build(); @@ -427,7 +427,7 @@ describe("Client config builder", () => { const implUri5 = "wrap://ens/interface.impl5.eth"; const implUri6 = "wrap://ens/interface.impl6.eth"; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addInterfaceImplementation(interfaceUri1, implUri1) .addInterfaceImplementation(interfaceUri2, implUri2) .addInterfaceImplementations(interfaceUri1, [implUri3, implUri5]) @@ -458,7 +458,7 @@ describe("Client config builder", () => { const implUri1 = "wrap://ens/interface.impl1.eth"; const implUri2 = "wrap://ens/interface.impl2.eth"; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addInterfaceImplementations(interfaceUri1, [implUri1, implUri2]) .addInterfaceImplementations(interfaceUri2, [implUri1, implUri2]) .removeInterfaceImplementation(interfaceUri1, implUri2) @@ -482,7 +482,7 @@ describe("Client config builder", () => { const implUri1 = "wrap://ens/interface.impl1.eth"; const implUri2 = "wrap://ens/interface.impl2.eth"; - const config = new ClientConfigBuilder() + const config = new PolywrapClientConfigBuilder() .addInterfaceImplementations(interfaceUri1, [implUri1, implUri2]) .addInterfaceImplementations(interfaceUri2, [implUri1, implUri2]) .removeInterfaceImplementation(interfaceUri1, implUri1) @@ -504,7 +504,7 @@ describe("Client config builder", () => { const from = "wrap://ens/from.this.ens"; const to = "wrap://ens/to.that.ens"; - const builder = new ClientConfigBuilder().addRedirect(from, to); + const builder = new PolywrapClientConfigBuilder().setRedirect(from, to); const config = builder.build(); const builderConfig = builder.config; @@ -524,9 +524,9 @@ describe("Client config builder", () => { const from2 = "wrap://ens/from.this2.ens"; const to2 = "wrap://ens/to.that2.ens"; - const builder = new ClientConfigBuilder() - .addRedirect(from1, to1) - .addRedirect(from2, to2); + const builder = new PolywrapClientConfigBuilder() + .setRedirect(from1, to1) + .setRedirect(from2, to2); const config = builder.build(); const builderConfig = builder.config; @@ -547,10 +547,10 @@ describe("Client config builder", () => { const to1 = "wrap://ens/to.that1.ens"; const to2 = "wrap://ens/to.that2.ens"; - const builder = new ClientConfigBuilder() - .addRedirect(from1, to1) - .addRedirect(from2, to1) - .addRedirect(from1, to2); + const builder = new PolywrapClientConfigBuilder() + .setRedirect(from1, to1) + .setRedirect(from2, to1) + .setRedirect(from1, to2); const config = builder.build(); const builderConfig = builder.config; @@ -570,9 +570,9 @@ describe("Client config builder", () => { const to1 = "wrap://ens/to.that1.ens"; const from2 = "wrap://ens/from.this2.ens"; const to2 = "wrap://ens/to.that2.ens"; - const builder = new ClientConfigBuilder() - .addRedirect(from1, to1) - .addRedirect(from2, to2) + const builder = new PolywrapClientConfigBuilder() + .setRedirect(from1, to1) + .setRedirect(from2, to2) .removeRedirect(from1); const config = builder.build(); @@ -593,7 +593,7 @@ describe("Client config builder", () => { "wrap://ens/to.eth" ); - const builder = new ClientConfigBuilder().addResolver(uriResolver); + const builder = new PolywrapClientConfigBuilder().addResolver(uriResolver); const config = builder.build(); const builderConfig = builder.config; @@ -612,7 +612,7 @@ describe("Client config builder", () => { "wrap://ens/to2.eth" ); - const builder = new ClientConfigBuilder() + const builder = new PolywrapClientConfigBuilder() .addResolver(uriResolver1) .addResolver(uriResolver2); @@ -628,7 +628,7 @@ describe("Client config builder", () => { const shortUri = "ens/some1.wrapper.eth"; const longUri = "wrap://ens/some2.wrapper.eth"; - const builderConfig1 = new ClientConfigBuilder() + const builderConfig1 = new PolywrapClientConfigBuilder() .addEnv(shortUri, { foo: "bar" }) .addEnv(longUri, { bar: "baz" }).config; @@ -641,7 +641,7 @@ describe("Client config builder", () => { }, }); - const builderConfig2 = new ClientConfigBuilder() + const builderConfig2 = new PolywrapClientConfigBuilder() .add(builderConfig1) .removeEnv(shortUri).config; @@ -656,7 +656,7 @@ describe("Client config builder", () => { const shortUri = "ens/some1.wrapper.eth"; const longUri = "wrap://ens/some2.wrapper.eth"; - const builderConfig1 = new ClientConfigBuilder() + const builderConfig1 = new PolywrapClientConfigBuilder() .addInterfaceImplementation(shortUri, longUri) .addInterfaceImplementation(longUri, shortUri).config; @@ -665,7 +665,7 @@ describe("Client config builder", () => { [Uri.from(longUri).uri]: new Set([Uri.from(shortUri).uri]), }); - const builderConfig2 = new ClientConfigBuilder() + const builderConfig2 = new PolywrapClientConfigBuilder() .add(builderConfig1) .removeInterfaceImplementation(shortUri, longUri).config; @@ -678,16 +678,16 @@ describe("Client config builder", () => { const shortUri = "ens/some1.wrapper.eth"; const longUri = "wrap://ens/some2.wrapper.eth"; - const builderConfig1 = new ClientConfigBuilder() - .addRedirect(shortUri, longUri) - .addRedirect(longUri, shortUri).config; + const builderConfig1 = new PolywrapClientConfigBuilder() + .setRedirect(shortUri, longUri) + .setRedirect(longUri, shortUri).config; expect(builderConfig1.redirects).toStrictEqual({ [Uri.from(shortUri).uri]: Uri.from(longUri).uri, [Uri.from(longUri).uri]: Uri.from(shortUri).uri, }); - const builderConfig2 = new ClientConfigBuilder() + const builderConfig2 = new PolywrapClientConfigBuilder() .add(builderConfig1) .removeRedirect(shortUri).config; @@ -703,7 +703,7 @@ describe("Client config builder", () => { getManifest: jest.fn(), }; - const builderConfig = new ClientConfigBuilder().addPackage(uri, pkg).config; + const builderConfig = new PolywrapClientConfigBuilder().setPackage(uri, pkg).config; expect(builderConfig.packages).toStrictEqual({ [uri]: pkg, @@ -718,7 +718,7 @@ describe("Client config builder", () => { getManifest: jest.fn(), }; - const builderConfig = new ClientConfigBuilder().addPackages({ + const builderConfig = new PolywrapClientConfigBuilder().setPackages({ [uri1]: pkg, [uri2]: pkg, }).config; @@ -737,8 +737,8 @@ describe("Client config builder", () => { getManifest: jest.fn(), }; - const builderConfig = new ClientConfigBuilder() - .addPackages({ + const builderConfig = new PolywrapClientConfigBuilder() + .setPackages({ [uri1]: pkg, [uri2]: pkg, }) @@ -757,7 +757,7 @@ describe("Client config builder", () => { getManifest: jest.fn(), }; - const builderConfig1 = new ClientConfigBuilder().addPackages({ + const builderConfig1 = new PolywrapClientConfigBuilder().setPackages({ [shortUri]: pkg, [longUri]: pkg, }).config; @@ -767,7 +767,7 @@ describe("Client config builder", () => { [Uri.from(longUri).uri]: pkg, }); - const builderConfig2 = new ClientConfigBuilder() + const builderConfig2 = new PolywrapClientConfigBuilder() .add(builderConfig1) .removePackage(shortUri).config; @@ -784,7 +784,7 @@ describe("Client config builder", () => { invoke: jest.fn(), }; - const builderConfig = new ClientConfigBuilder().addWrapper(uri, wrapper) + const builderConfig = new PolywrapClientConfigBuilder().setWrapper(uri, wrapper) .config; expect(builderConfig.wrappers).toStrictEqual({ @@ -802,7 +802,7 @@ describe("Client config builder", () => { invoke: jest.fn(), }; - const builderConfig = new ClientConfigBuilder().addWrappers({ + const builderConfig = new PolywrapClientConfigBuilder().setWrappers({ [uri1]: wrapper, [uri2]: wrapper, }).config; @@ -823,8 +823,8 @@ describe("Client config builder", () => { invoke: jest.fn(), }; - const builderConfig = new ClientConfigBuilder() - .addWrappers({ + const builderConfig = new PolywrapClientConfigBuilder() + .setWrappers({ [uri1]: wrapper, [uri2]: wrapper, }) @@ -844,7 +844,7 @@ describe("Client config builder", () => { invoke: jest.fn(), }; - const builderConfig1 = new ClientConfigBuilder().addWrappers({ + const builderConfig1 = new PolywrapClientConfigBuilder().setWrappers({ [shortUri]: wrapper, [longUri]: wrapper, }).config; @@ -854,7 +854,7 @@ describe("Client config builder", () => { [Uri.from(longUri).uri]: wrapper, }); - const builderConfig2 = new ClientConfigBuilder() + const builderConfig2 = new PolywrapClientConfigBuilder() .add(builderConfig1) .removeWrapper(shortUri).config; diff --git a/packages/config-builder/src/bundles/index.ts b/packages/config-builder/src/bundles/index.ts index c438dcde9..51b19025f 100644 --- a/packages/config-builder/src/bundles/index.ts +++ b/packages/config-builder/src/bundles/index.ts @@ -1,4 +1,4 @@ -import { IClientConfigBuilder } from "../"; +import { ClientConfigBuilder } from "../"; import { Sys } from "./sys"; import { Web3 } from "./web3"; @@ -23,14 +23,14 @@ export function getBundle(name: BundleName): Bundle { export function addBundle( name: BundleName, - builder: IClientConfigBuilder -): IClientConfigBuilder { + builder: ClientConfigBuilder +): ClientConfigBuilder { const bundle = getBundle(name); for (const bundlePackage of Object.values(bundle)) { // Add package if (bundlePackage.package) { - builder.addPackage(bundlePackage.uri, bundlePackage.package); + builder.setPackage(bundlePackage.uri, bundlePackage.package); } // Add interface implementations @@ -43,7 +43,7 @@ export function addBundle( // Add all redirects if (bundlePackage.redirectFrom) { for (const redirectFrom of bundlePackage.redirectFrom) { - builder.addRedirect(redirectFrom, bundlePackage.uri); + builder.setRedirect(redirectFrom, bundlePackage.uri); } } diff --git a/packages/config-builder/src/index.ts b/packages/config-builder/src/index.ts index a9932dcdc..b71784731 100644 --- a/packages/config-builder/src/index.ts +++ b/packages/config-builder/src/index.ts @@ -1,4 +1,4 @@ export * from "./types"; export * from "./BaseClientConfigBuilder"; -export * from "./ClientConfigBuilder"; +export * from "./PolywrapClientConfigBuilder"; export * from "./bundles"; diff --git a/packages/config-builder/src/types/IClientConfigBuilder.ts b/packages/config-builder/src/types/ClientConfigBuilder.ts similarity index 56% rename from packages/config-builder/src/types/IClientConfigBuilder.ts rename to packages/config-builder/src/types/ClientConfigBuilder.ts index 08746f96d..5f6c6cb82 100644 --- a/packages/config-builder/src/types/IClientConfigBuilder.ts +++ b/packages/config-builder/src/types/ClientConfigBuilder.ts @@ -5,10 +5,10 @@ import { BundleName } from "../bundles"; import { CoreClientConfig, Wrapper, IWrapPackage } from "@polywrap/core-js"; import { UriResolverLike } from "@polywrap/uri-resolvers-js"; -export interface IClientConfigBuilder { +export interface ClientConfigBuilder { config: BuilderConfig; - // $start: IClientConfigBuilder-build + // $start: ClientConfigBuilder-build /** * Build a sanitized core client configuration that can be passed to the PolywrapClient or PolywrapCoreClient constructors * @@ -18,220 +18,220 @@ export interface IClientConfigBuilder { build(options?: BuildOptions): CoreClientConfig; // $end - // $start: IClientConfigBuilder-add + // $start: ClientConfigBuilder-add /** * Add a partial BuilderConfig - * This is equivalent to calling each of the plural add functions: `addEnvs`, `addWrappers`, etc. + * This is equivalent to calling each of the plural add functions: `addEnvs`, `setWrappers`, etc. * * @param config: a partial BuilderConfig - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - add(config: Partial): IClientConfigBuilder; + add(config: Partial): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addDefaults + // $start: ClientConfigBuilder-addDefaults /** * Add the default configuration bundle * - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addDefaults(): IClientConfigBuilder; + addDefaults(): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addBundle + // $start: ClientConfigBuilder-addBundle /** * Add a default configuration bundle * - * @returns Promise (mutated self) + * @returns Promise (mutated self) */ - addBundle(bundle: BundleName): IClientConfigBuilder; + addBundle(bundle: BundleName): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addWrapper + // $start: ClientConfigBuilder-setWrapper /** * Add an embedded wrapper * * @param uri: uri of wrapper * @param wrapper: wrapper to be added - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addWrapper(uri: string, wrapper: Wrapper): IClientConfigBuilder; + setWrapper(uri: string, wrapper: Wrapper): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addWrappers + // $start: ClientConfigBuilder-setWrappers /** * Add one or more embedded wrappers. - * This is equivalent to calling addWrapper for each wrapper. + * This is equivalent to calling setWrapper for each wrapper. * * @param uriWrappers: an object where keys are uris and wrappers are value - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addWrappers(uriWrappers: Record): IClientConfigBuilder; + setWrappers(uriWrappers: Record): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-removeWrapper + // $start: ClientConfigBuilder-removeWrapper /** * Remove an embedded wrapper * * @param uri: the wrapper's URI - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - removeWrapper(uri: string): IClientConfigBuilder; + removeWrapper(uri: string): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addPackage + // $start: ClientConfigBuilder-setPackage /** * Add an embedded wrap package * * @param uri: uri of wrapper * @param wrapPackage: package to be added - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addPackage(uri: string, wrapPackage: IWrapPackage): IClientConfigBuilder; + setPackage(uri: string, wrapPackage: IWrapPackage): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addPackages + // $start: ClientConfigBuilder-setPackages /** * Add one or more embedded wrap packages - * This is equivalent to calling addPackage for each package + * This is equivalent to calling setPackage for each package * * @param uriPackages: an object where keys are uris and packages are value - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addPackages(uriPackages: Record): IClientConfigBuilder; + setPackages(uriPackages: Record): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-removePackage + // $start: ClientConfigBuilder-removePackage /** * Remove an embedded wrap package * * @param uri: the package's URI - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - removePackage(uri: string): IClientConfigBuilder; + removePackage(uri: string): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addEnv + // $start: ClientConfigBuilder-addEnv /** * Add an Env. * If an Env is already associated with the uri, it is modified. * * @param uri: the wrapper's URI to associate with the Env * @param env: an object with the env variables for the uri - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addEnv(uri: string, env: Record): IClientConfigBuilder; + addEnv(uri: string, env: Record): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addEnvs + // $start: ClientConfigBuilder-addEnvs /** * Add one or more Envs * This is equivalent to calling addEnv for each Env * * @param uriEnvs: and object where key is the uri and value is the another object with the env variables for the uri - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ addEnvs( uriEnvs: Record> - ): IClientConfigBuilder; + ): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-removeEnv + // $start: ClientConfigBuilder-removeEnv /** * Remove an Env * * @param uri: the URI associated with the Env - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - removeEnv(uri: string): IClientConfigBuilder; + removeEnv(uri: string): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-setEnv + // $start: ClientConfigBuilder-setEnv /** * Add an Env. * If an Env is already associated with the uri, it is replaced. * * @param uri: the wrapper's URI to associate with the Env * @param env: an object with the environment variables for the uri - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - setEnv(uri: string, env: Record): IClientConfigBuilder; + setEnv(uri: string, env: Record): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addInterfaceImplementation + // $start: ClientConfigBuilder-addInterfaceImplementation /** * Register an implementation of a single interface * * @param interfaceUri: the URI of the interface * @param implementationUri: the URI of the implementation - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ addInterfaceImplementation( interfaceUri: string, implementationUri: string - ): IClientConfigBuilder; + ): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addInterfaceImplementations + // $start: ClientConfigBuilder-addInterfaceImplementations /** * Register one or more implementation of a single interface * * @param interfaceUri: the URI of the interface * @param implementationUris: a list of URIs for the implementations - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ addInterfaceImplementations( interfaceUri: string, implementationUris: Array - ): IClientConfigBuilder; + ): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-removeInterfaceImplementation + // $start: ClientConfigBuilder-removeInterfaceImplementation /** * Remove an implementation of a single interface * * @param interfaceUri: the URI of the interface * @param implementationUri: the URI of the implementation - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ removeInterfaceImplementation( interfaceUri: string, implementationUri: string - ): IClientConfigBuilder; + ): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addRedirect + // $start: ClientConfigBuilder-setRedirect /** * Add a redirect from one URI to another * * @param from: the URI to redirect from * @param to: the URI to redirect to - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addRedirect(from: string, to: string): IClientConfigBuilder; + setRedirect(from: string, to: string): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addRedirects + // $start: ClientConfigBuilder-setRedirects /** * Add an array of URI redirects * * @param redirects: an object where key is from and value is to - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addRedirects(redirects: Record): IClientConfigBuilder; + setRedirects(redirects: Record): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-removeRedirect + // $start: ClientConfigBuilder-removeRedirect /** * Remove a URI redirect * * @param from: the URI that is being redirected - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - removeRedirect(from: string): IClientConfigBuilder; + removeRedirect(from: string): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addResolver + // $start: ClientConfigBuilder-addResolver /** * Add a URI Resolver, capable of resolving a URI to a wrapper * @@ -244,12 +244,12 @@ export interface IClientConfigBuilder { * | UriResolverLike[]; * * @param resolver: A UriResolverLike - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addResolver(resolver: UriResolverLike): IClientConfigBuilder; + addResolver(resolver: UriResolverLike): ClientConfigBuilder; // $end - // $start: IClientConfigBuilder-addResolvers + // $start: ClientConfigBuilder-addResolvers /** * Add one or more URI Resolvers, capable of resolving URIs to wrappers * @@ -262,8 +262,8 @@ export interface IClientConfigBuilder { * | UriResolverLike[]; * * @param resolvers: A list of UriResolverLike - * @returns IClientConfigBuilder (mutated self) + * @returns ClientConfigBuilder (mutated self) */ - addResolvers(resolvers: UriResolverLike[]): IClientConfigBuilder; + addResolvers(resolvers: UriResolverLike[]): ClientConfigBuilder; // $end } diff --git a/packages/config-builder/src/types/index.ts b/packages/config-builder/src/types/index.ts index 2d1ce18b8..a0ee26879 100644 --- a/packages/config-builder/src/types/index.ts +++ b/packages/config-builder/src/types/index.ts @@ -1,3 +1,3 @@ export * from "./configs"; -export * from "./IClientConfigBuilder"; +export * from "./ClientConfigBuilder"; export * from "./BuildOptions"; diff --git a/packages/core-client/README.md b/packages/core-client/README.md index 78922e1fa..625dfa9a1 100644 --- a/packages/core-client/README.md +++ b/packages/core-client/README.md @@ -20,7 +20,7 @@ npm install --save @polywrap/core-client-js Use the `@polywrap/client-config-builder-js` package to build a CoreClientConfig for your project, then use the PolywrapCoreClient [constructor](#constructor) to instantiate the client with your config. ```ts - const config = new ClientConfigBuilder().addDefaults().build(); + const config = new PolywrapClientConfigBuilder().addDefaults().build(); const client = new PolywrapCoreClient(config); ``` @@ -34,8 +34,8 @@ Invoke a wrapper. uri: Uri.from("ens/helloworld.dev.polywrap.eth"), method: "logMessage", args: { - message: "Hello World!" - } + message: "Hello World!", + }, }); if (!result.ok) throw result.error; diff --git a/packages/core-client/examples/quickstart.ts b/packages/core-client/examples/quickstart.ts index c55ca0d4e..791687fd5 100644 --- a/packages/core-client/examples/quickstart.ts +++ b/packages/core-client/examples/quickstart.ts @@ -1,10 +1,11 @@ import { PolywrapCoreClient } from "../build"; -import { ClientConfigBuilder } from "@polywrap/client-config-builder-js"; + +import { PolywrapClientConfigBuilder } from "@polywrap/client-config-builder-js"; import { Uri } from "@polywrap/core-js"; export function instantiate(): PolywrapCoreClient { // $start: quickstart-instantiate - const config = new ClientConfigBuilder().addDefaults().build(); + const config = new PolywrapClientConfigBuilder().addDefaults().build(); const client = new PolywrapCoreClient(config); // $end @@ -13,7 +14,7 @@ export function instantiate(): PolywrapCoreClient { } export async function invoke(): Promise { - const config = new ClientConfigBuilder().addDefaults().build(); + const config = new PolywrapClientConfigBuilder().addDefaults().build(); const client = new PolywrapCoreClient(config); @@ -22,8 +23,8 @@ export async function invoke(): Promise { uri: Uri.from("ens/helloworld.dev.polywrap.eth"), method: "logMessage", args: { - message: "Hello World!" - } + message: "Hello World!", + }, }); if (!result.ok) throw result.error; diff --git a/packages/uri-resolver-extensions/README.md b/packages/uri-resolver-extensions/README.md index 8fa2ba782..3b1939cf8 100644 --- a/packages/uri-resolver-extensions/README.md +++ b/packages/uri-resolver-extensions/README.md @@ -16,7 +16,7 @@ npm install --save @polywrap/uri-resolver-extensions-js ## Usage -If you build a configuration for the Polywrap client using the `ClientConfigBuilder` in the `@polywrap/client-config-builder-js` package, the `ExtendableUriResovler` is included by default. In that case you only need to register implementations of the URI Resolver Extension interface. +If you build a configuration for the Polywrap client using the `PolywrapClientConfigBuilder` in the `@polywrap/client-config-builder-js` package, the `ExtendableUriResovler` is included by default. In that case you only need to register implementations of the URI Resolver Extension interface. Otherwise, you must also add the `ExtendableUriResolver` to your resolver. diff --git a/packages/uri-resolver-extensions/readme/README.md b/packages/uri-resolver-extensions/readme/README.md index d74282dbc..f2f87970b 100644 --- a/packages/uri-resolver-extensions/readme/README.md +++ b/packages/uri-resolver-extensions/readme/README.md @@ -16,7 +16,7 @@ npm install --save @polywrap/uri-resolver-extensions-js ## Usage -If you build a configuration for the Polywrap client using the `ClientConfigBuilder` in the `@polywrap/client-config-builder-js` package, the `ExtendableUriResovler` is included by default. In that case you only need to register implementations of the URI Resolver Extension interface. +If you build a configuration for the Polywrap client using the `PolywrapClientConfigBuilder` in the `@polywrap/client-config-builder-js` package, the `ExtendableUriResovler` is included by default. In that case you only need to register implementations of the URI Resolver Extension interface. Otherwise, you must also add the `ExtendableUriResolver` to your resolver. diff --git a/packages/uri-resolvers/README.md b/packages/uri-resolvers/README.md index 3af7dfe0d..b38cf049b 100644 --- a/packages/uri-resolvers/README.md +++ b/packages/uri-resolvers/README.md @@ -15,7 +15,7 @@ npm install --save @polywrap/uri-resolvers-js ## Usage -This example is similar to the default resolver used by the ClientConfigBuilder in the @polywrap/client-config-builder-js package. +This example is similar to the default resolver used by the PolywrapClientConfigBuilder in the @polywrap/client-config-builder-js package. ```ts const resolver = RecursiveResolver.from( diff --git a/packages/uri-resolvers/readme/README.md b/packages/uri-resolvers/readme/README.md index 061e27783..48386a2f4 100644 --- a/packages/uri-resolvers/readme/README.md +++ b/packages/uri-resolvers/readme/README.md @@ -15,7 +15,7 @@ npm install --save @polywrap/uri-resolvers-js ## Usage -This example is similar to the default resolver used by the ClientConfigBuilder in the @polywrap/client-config-builder-js package. +This example is similar to the default resolver used by the PolywrapClientConfigBuilder in the @polywrap/client-config-builder-js package. ```ts $snippet: quickstart-example