@polywrap/asyncify-js
Advanced tools
Changelog
Polywrap Origin (0.12.0)
@polywrap/sys-config-bundle-js
:
wrapscan.io/
URIs is now possible by simply adding the "sys" bundle to your client's configuration.wrapscanResolver
, ipfsResolver
, and ipfsHttpClient
.github.com/
URIs is now possible by simply adding the "sys" bundle to your client's configuration.URI.txt
file located in the directory you're linking to on GitHub.@polywrap/client-js
:
wrapscan.io/
based URIs.ens/
URIs have been deprecated, but resolving ens/
URIs is still supported.@polywrap/core-js
:
../
.Changelog
Polywrap Origin (0.11.0)
@polywrap/core-js
:
https://domain.com/path
). The non-wrap scheme will be used as the authority, and all other contents will be shifted into the path.https://domain.com/path
into wrap://https/domain.com/path
ipfs://QmHASH
into wrap://ipfs/QmHASH
@polywrap/client-config-builder-js
:
DefaultBundle
has been broken apart into two separate bundles: sys
and web3
.addBundle(...)
has been added to the ClientConfigBuilder
interface.addDefaults()
now calls addBundle("sys")
and addBundle("web3")
internally.@polywrap/sys-config-bundle-js
:
logger
, datetime
, concurrent
, http
, httpResolver
fileSystem
, fileSystemResolver
.@polywrap/web3-config-bundle-js
:
ethereumProviderV1
, ethereumProviderV2
, ipfsHttpClient
, ipfsResolver
, ensTextRecordResolver
, ensResolver
, ensIpfsContenthashResolver
.@polywrap/config-bundle-types-js
:
bundle
value, which is of type Bundle
.@polywrap/client-config-builder-js
:
ClientConfigBuilder
to PolywrapClientConfigBuilder
IClientConfigBuilder
to ClientConfigBuilder
addWrapper(s)
to setWrapper(s)
addPackage(s)
to setPackage(s)
addRedirect(s)
to setRedirect(s)
@polywrap/core-js
:
getEnvFromUriHistory
to getEnvFromResolutionPath
@polywrap/client-js
@polywrap/client-cofig-builder-js
@polywrap/plugin-js
as a Dependency
@polywrap/wasm-js
:
Changelog
Polywrap Origin (0.10.1)
@polywrap/wasm-js
:
resolutionContext
to the WasmWrapper
's state.resolutionContext
through to all subinvocations.@polywrap/client-config-builder-js
tryResolveUri
Now Returns Wrap Packages
PackageToWrapperResolver
has been removed from the default config bundle.@polywrap/core-client-js
:
@polywrap/plugin-js
:
Changelog
Polywrap Origin (0.10.0)
@polywrap/client-js
:
wrap://
URIs.wrap://ens/uniswap.wraps.eth:v3
wrap/
WrapError
structure, helping debug common client error scenarios.validate(uri, options)
method to the PolywrapClient
class, allowing users to guarantee the client can communicate with the provided wrapper located at the provided URI.@polywrap/client-config-builder-js
:
wrap://ens/wraps.eth:ens-text-record-uri-resolver-ext@1.0.0
wrap://ens/wraps.eth:http-uri-resolver-ext@1.0.0
wrap://ens/wraps.eth:file-system-uri-resolver-ext@1.0.0
wrap://ens/wraps.eth:ens-uri-resolver-ext@1.0.0
wrap://ens/wraps.eth:ens-ipfs-contenthash-uri-resolver-ext@1.0.0
BuildOptions
to build method in IClientConfigBuilder
ipfs-http-client
@ wrap://ens/wraps.eth:ipfs-http-client@1.0.0
async-ipfs-uri-resolver-ext
@ wrap://ens/wraps.eth:async-ipfs-uri-resolver-ext@1.0.1
build(...)
method now accepts a single argument of type BuildOptions
.wrap://ens/wrappers.polywrap.eth:concurrent@1.0.0
interface, and adds the concurrent-plugin-js
package @ wrap://plugin/concurrent
as an implementation.wrap://ens/wrappers.polywrap.eth:logger@1.0.0
interface, and adds the @polywrap/logger-plugin-js
package @ wrap://plugin/logger
as an implementation.ens-text-record-resolver
to Default Config Bundle
ens-text-record-resolver
wrapper @ wrap://ipfs/QmfRCVA1MSAjUbrXXjya4xA9QHkbWeiKRsT7Um1cvrR7FY
has been added to the default client config bundle. This resolver enables ENS, text-record based, WRAP URI resolution. The text-record's key must be prepended with the wrap/...
identifier. For example, the URI wrap://ens/domain.eth:foo
maps to domain.eth
's wrap/foo
text record. The wrap/foo
text-record's value must contain another valid WRAP URI. For examples, see dev.polywrap.eth.addRedirects
, addWrappers
, addPackages
methods to the ClientConfigBuilder
, so users can add many items at once.buildDefault
to the ClientConfigBuilder
which builds a ClientConfig
using default resolvers.@polywrap/plugin-js
:
env
To PluginModule
Invocation Method Arguments
PluginModule
invocation methods will now be given an env
the method's arguments.PluginPackage.from
.
manifest
and a PluginModule
, or an inline PluginModule
.@polywrap/uri-resolvers-js
:
ResolutionResultCacheResolver
.WrapperCacheResolver
, which caches wrappers (URI => Wrapper), this resolver caches the result of the resolution process: URI, wrapper, package or error (URI => URI, URI => wrapper, URI => package, URI => error).RequestSynchronizerResolver
can be used to reuse parallel requests for the same URI, this way, only the first one needs to do the work (e.g. a network request) while others will await that same promise.StaticResolver
and StaticResolver.from
to optimize building resolvers with IUriRedirect
, IUriWrapper
and IUriPackage
.@polywrap/uri-resolver-extensions-js
:
ExtendableUriResolver
has been updated to get uri-resolver-ext implementations from the following interface URIs:
wrap://ens/wraps.eth:uri-resolver-ext@1.1.0
wrap://ens/wraps.eth:uri-resolver-ext@1.0.0
@polywrap/core-js
:
WrapError
structure that improves debugging ability for common client error scenarios.GetImplementationsOptions
now accepts an optional resolution context, to be used to handle infinite recursion when a resolver uses getImplementations
GetImplementationsOptions
now accepts an optional applyResolution
. This can be used to apply URI resolution to interfaces.@polywrap/logging-js
:
@polywrap/logging-js
Package
@polywrap/logging-js
package from the logging lib previously in the CLI's codebase.@polywrap/http-plugin-js
:
formData: [FormDataEntry!]
property on the Request
object.@polywrap/client-js
:
PolywrapClient
PolywrapClient
now simply accepts a CoreClientConfig
, which is expected to come from the config builder.client.query(...)
& client.subscribe(...)
methods.PolywrapClient
config when using noDefaults: true
no longer accepts redirects
(Since redirects have been removed from CoreClientConfig
).noDefaults: false
no longer accepts a plugins
field, but it accepts wrappers
and packages
.
resolver
field has been replaced with resolvers
, since with default client the resolver used is the RecursiveResolver
with the PackageToWrapperCacheResolver
.noDefaults: true
, no longer accepts a plugins
field. It is expected that devs using this option will manually configure their own resolver.getPlugins
and getPluginByUri
. Will add getWrapper
, getWrapperByUri
, getPackage
, getPackageByUri
, in a follow up PR.createPolywrapClient
function has been deprecated.PolywrapClient
's constructor now accepts only an optional CoreClientConfig
type as its configuration object.ClientConfigBuilder
found in @polywrap/client-config-builder-js
and exported by @polywrap/client-js
in order to set up their client configurations.@polywrap/client-config-builder-js
:
BuilderConfig
Object
ClientConfigBuilder
now uses a specific BuilderConfig
that is easier for users to work with. It will then be turned into a CoreClientConfig
through the use of the build()
method.ClientConfigBuilder.build()
buildCoreConfig()
to build()
, which returns a CoreClientConfig
instance.wrap://ens/http.polywrap.eth
interface and wrapper have been removed from the default configuration bundle.wrap://ens/logger.core.polywrap.eth
interface and the wrap://ens/js-logger.polywrap.eth
plugin wrapper have both been removed from the default configuration bundle.wrap://ens/ethereum.polywrap.eth
URI + wrap has been removed from the default configuration bundle.wrap://ens/ipfs.polywrap.eth
& wrap://ens/ipfs-resolver.polywrap.eth
URIs + wraps have been removed from the default configuration bundle.buildCoreConfig
no longer returns a CoreClientConfig
with redirects since redirects are no longer a part of CoreClientConfig
.removeUriRedirect(...)
to removeRedirePR-15e
pluginsand a
resolver, but now has
wrappers,
packagesand
resolvers`CustomClientConfig
, which can be used with defaults from the PolywrapClient
, but can not be used if noDefaults: true
is passed to the PolywrapClient
constructor.addPlugin
from the ClientConfigBuilder
, users can now use addWrapper
or addPackage
where appropriate.@polywrap/plugin-js
:
env
Property From PluginModule
PluginModule
instances no longer have an env
property, and instead will be given an env
within the invocation method's arguments.@polywrap/core-js
:
CoreClientConfig
now ReadonlyUriMap
s for its interface
and env
properties.redirects
are no longer a part of CoreClientConfig
.getRedirects
are no longer a part of CoreClient
.getUriResolver
on CoreClient
has been renamed to getResolver
.getImplementations
returns a promise now.GetImplementationsOptions
no longer accepts applyRedirects
. This has been replaces with applyResolution
.applyRedirects
helper function has been replaced with applyResolution
.UriRedirect
to IUriRedirect
to match IUriWrapper
and IUriPackage
IUriRedirect
, IUriWrapper
and IUriPackage
are now generic and their generic param implements Uri | string
options
argument from client.getManifest
method since all wrappers have a deserialized manifest@polywrap/uri-resolvers-js
:
PackageToWrapperCacheResolver
Into Two Resolvers
PackageToWrapperCacheResolver
has been split into the PackageToWrapperResolver
& WrapperCacheResolver
resolvers.LegacyRedirectsResolver
has been removed.buildUriResolver
with UriResolver.from
RecursiveResolver
and PackageToWrapperCacheResolver
now accept a concrete IUriResolver
while their static from
methods accept a UriResolverLike
PluginsResolver
and PluginResolver
, users can now use WrapperResolver
or PackageResolver
@polywrap/uri-resolver-extensions-js
:
ExtendableUriResolver
no longer supports the legacy interface URI wrap://ens/uri-resolver.core.polywrap.eth
.@polywrap/react
:
plugins
on the PolywrapProvider
with wrappers
and packages
@polywrap/http-plugin-js
:
@polywrap/fs-plugin-js
:
@polywrap/ws-plugin-js
:
@polywrap/ethereum-plugin-js
:
@polywrap/ipfs-plugin-js
:
@polywrap/http-interface
:
@polywrap/file-system-interface
:
@polywrap/core-js
:
WrapError
now correctly parses Rust unwrap errors
.unwrap()
on a Rust result that contains an error, Rust will panic with an error message that contains the Err. For fidelity to the original Err, Rust inserts escape characters in the string. For example, "\n" becomes "\n". This behavior was not being handled correctly by WrapError's string parsing logic.@polywrap/uri-resolvers-extensions-js
:
null
URI Resolver Extension Return Results
MaybeUriOrManifest
& getFile
interfaces to properly reflect the URI resolver extension interface.