Skip to main content

No project description provided

Project description

polywrap-client-config-builder

A utility class for building the PolywrapClient config.

Supports building configs using method chaining or imperatively.

Quickstart

Initialize

Initialize a ClientConfigBuilder using the constructor

# start with a blank slate (typical usage)
builder = ClientConfigBuilder()

Configure

Add client configuration with add, or flexibly mix and match builder configuration methods to add and remove configuration items.

# add multiple items to the configuration using the catch-all `add` method
builder.add(
    BuilderConfig(
        envs={},
        interfaces={},
        redirects={},
        wrappers={},
        packages={},
        resolvers=[]
    )
)

// add or remove items by chaining method calls
builder
    .add_package("wrap://plugin/package", test_plugin({}))
    .remove_package("wrap://plugin/package")
    .add_packages(
      {
        "wrap://plugin/http": http_plugin({}),
        "wrap://plugin/filesystem": file_system_plugin({}),
      }
    )

Build

Finally, build a ClientConfig to pass to the PolywrapClient constructor.

# accepted by the PolywrapClient
config = builder.build()

# build with a custom cache
config = builder.build({
  wrapperCache: WrapperCache(),
})

# or build with a custom resolver
coreClientConfig = builder.build({
  resolver: RecursiveResolver(...),
})

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page