@polywrap/client-config-builder-js
Advanced tools
Comparing version 0.10.1 to 0.11.0
@@ -1,29 +0,31 @@ | ||
import { BuilderConfig, IClientConfigBuilder } from "./types"; | ||
import { BuilderConfig, ClientConfigBuilder } from "./types"; | ||
import { BundleName } from "./bundles"; | ||
import { CoreClientConfig, Wrapper, IWrapPackage } from "@polywrap/core-js"; | ||
import { UriResolverLike } from "@polywrap/uri-resolvers-js"; | ||
export declare abstract class BaseClientConfigBuilder implements IClientConfigBuilder { | ||
export declare abstract class BaseClientConfigBuilder implements ClientConfigBuilder { | ||
protected _config: BuilderConfig; | ||
abstract addDefaults(): IClientConfigBuilder; | ||
abstract addDefaults(): ClientConfigBuilder; | ||
abstract addBundle(bundle: BundleName): ClientConfigBuilder; | ||
abstract build(): CoreClientConfig; | ||
get config(): BuilderConfig; | ||
add(config: Partial<BuilderConfig>): IClientConfigBuilder; | ||
addWrapper(uri: string, wrapper: Wrapper): IClientConfigBuilder; | ||
addWrappers(uriWrappers: Record<string, Wrapper>): IClientConfigBuilder; | ||
removeWrapper(uri: string): IClientConfigBuilder; | ||
addPackage(uri: string, wrapPackage: IWrapPackage): IClientConfigBuilder; | ||
addPackages(uriPackages: Record<string, IWrapPackage>): IClientConfigBuilder; | ||
removePackage(uri: string): IClientConfigBuilder; | ||
addEnv(uri: string, env: Record<string, unknown>): IClientConfigBuilder; | ||
addEnvs(envs: Record<string, Record<string, unknown>>): IClientConfigBuilder; | ||
removeEnv(uri: string): IClientConfigBuilder; | ||
setEnv(uri: string, env: Record<string, unknown>): IClientConfigBuilder; | ||
addInterfaceImplementation(interfaceUri: string, implementationUri: string): IClientConfigBuilder; | ||
addInterfaceImplementations(interfaceUri: string, implementationUris: Array<string> | Set<string>): IClientConfigBuilder; | ||
removeInterfaceImplementation(interfaceUri: string, implementationUri: string): IClientConfigBuilder; | ||
addRedirect(from: string, to: string): IClientConfigBuilder; | ||
addRedirects(redirects: Record<string, string>): IClientConfigBuilder; | ||
removeRedirect(from: string): IClientConfigBuilder; | ||
addResolver(resolver: UriResolverLike): IClientConfigBuilder; | ||
addResolvers(resolvers: UriResolverLike[]): IClientConfigBuilder; | ||
add(config: Partial<BuilderConfig>): ClientConfigBuilder; | ||
setWrapper(uri: string, wrapper: Wrapper): ClientConfigBuilder; | ||
setWrappers(uriWrappers: Record<string, Wrapper>): ClientConfigBuilder; | ||
removeWrapper(uri: string): ClientConfigBuilder; | ||
setPackage(uri: string, wrapPackage: IWrapPackage): ClientConfigBuilder; | ||
setPackages(uriPackages: Record<string, IWrapPackage>): ClientConfigBuilder; | ||
removePackage(uri: string): ClientConfigBuilder; | ||
addEnv(uri: string, env: Record<string, unknown>): ClientConfigBuilder; | ||
addEnvs(envs: Record<string, Record<string, unknown>>): ClientConfigBuilder; | ||
removeEnv(uri: string): ClientConfigBuilder; | ||
setEnv(uri: string, env: Record<string, unknown>): ClientConfigBuilder; | ||
addInterfaceImplementation(interfaceUri: string, implementationUri: string): ClientConfigBuilder; | ||
addInterfaceImplementations(interfaceUri: string, implementationUris: Array<string> | Set<string>): ClientConfigBuilder; | ||
removeInterfaceImplementation(interfaceUri: string, implementationUri: string): ClientConfigBuilder; | ||
setRedirect(from: string, to: string): ClientConfigBuilder; | ||
setRedirects(redirects: Record<string, string>): ClientConfigBuilder; | ||
removeRedirect(from: string): ClientConfigBuilder; | ||
addResolver(resolver: UriResolverLike): ClientConfigBuilder; | ||
addResolvers(resolvers: UriResolverLike[]): ClientConfigBuilder; | ||
private sanitizeUri; | ||
} |
@@ -76,9 +76,9 @@ "use strict"; | ||
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); | ||
} | ||
@@ -105,9 +105,9 @@ if (config.interfaces) { | ||
}; | ||
BaseClientConfigBuilder.prototype.addWrapper = function (uri, wrapper) { | ||
BaseClientConfigBuilder.prototype.setWrapper = function (uri, wrapper) { | ||
this._config.wrappers[this.sanitizeUri(uri)] = wrapper; | ||
return this; | ||
}; | ||
BaseClientConfigBuilder.prototype.addWrappers = function (uriWrappers) { | ||
BaseClientConfigBuilder.prototype.setWrappers = function (uriWrappers) { | ||
for (var uri in uriWrappers) { | ||
this.addWrapper(this.sanitizeUri(uri), uriWrappers[uri]); | ||
this.setWrapper(this.sanitizeUri(uri), uriWrappers[uri]); | ||
} | ||
@@ -120,9 +120,9 @@ return this; | ||
}; | ||
BaseClientConfigBuilder.prototype.addPackage = function (uri, wrapPackage) { | ||
BaseClientConfigBuilder.prototype.setPackage = function (uri, wrapPackage) { | ||
this._config.packages[this.sanitizeUri(uri)] = wrapPackage; | ||
return this; | ||
}; | ||
BaseClientConfigBuilder.prototype.addPackages = function (uriPackages) { | ||
BaseClientConfigBuilder.prototype.setPackages = function (uriPackages) { | ||
for (var uri in uriPackages) { | ||
this.addPackage(this.sanitizeUri(uri), uriPackages[uri]); | ||
this.setPackage(this.sanitizeUri(uri), uriPackages[uri]); | ||
} | ||
@@ -217,9 +217,9 @@ return this; | ||
}; | ||
BaseClientConfigBuilder.prototype.addRedirect = function (from, to) { | ||
BaseClientConfigBuilder.prototype.setRedirect = function (from, to) { | ||
this._config.redirects[this.sanitizeUri(from)] = this.sanitizeUri(to); | ||
return this; | ||
}; | ||
BaseClientConfigBuilder.prototype.addRedirects = function (redirects) { | ||
BaseClientConfigBuilder.prototype.setRedirects = function (redirects) { | ||
for (var uri in redirects) { | ||
this.addRedirect(this.sanitizeUri(uri), this.sanitizeUri(redirects[uri])); | ||
this.setRedirect(this.sanitizeUri(uri), this.sanitizeUri(redirects[uri])); | ||
} | ||
@@ -226,0 +226,0 @@ return this; |
@@ -1,1 +0,8 @@ | ||
export * as DefaultBundle from "./default"; | ||
import { ClientConfigBuilder } from "../"; | ||
import { Sys } from "./sys"; | ||
import { Web3 } from "./web3"; | ||
import { Bundle } from "@polywrap/config-bundle-types-js"; | ||
export { Sys, Web3 }; | ||
export type BundleName = "sys" | "web3"; | ||
export declare function getBundle(name: BundleName): Bundle; | ||
export declare function addBundle(name: BundleName, builder: ClientConfigBuilder): ClientConfigBuilder; |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
var __values = (this && this.__values) || function(o) { | ||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; | ||
if (m) return m.call(o); | ||
if (o && typeof o.length === "number") return { | ||
next: function () { | ||
if (o && i >= o.length) o = void 0; | ||
return { value: o && o[i++], done: !o }; | ||
} | ||
}; | ||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.DefaultBundle = void 0; | ||
exports.DefaultBundle = __importStar(require("./default")); | ||
exports.addBundle = exports.getBundle = exports.Web3 = exports.Sys = void 0; | ||
var sys_1 = require("./sys"); | ||
Object.defineProperty(exports, "Sys", { enumerable: true, get: function () { return sys_1.Sys; } }); | ||
var web3_1 = require("./web3"); | ||
Object.defineProperty(exports, "Web3", { enumerable: true, get: function () { return web3_1.Web3; } }); | ||
/* $ */ | ||
function getBundle(name) { | ||
switch (name) { | ||
case "sys": | ||
return sys_1.Sys.bundle; | ||
case "web3": | ||
return web3_1.Web3.bundle; | ||
default: | ||
throw Error("Unknown bundle name \"".concat(name, "\".")); | ||
} | ||
} | ||
exports.getBundle = getBundle; | ||
function addBundle(name, builder) { | ||
var e_1, _a, e_2, _b, e_3, _c; | ||
var bundle = getBundle(name); | ||
try { | ||
for (var _d = __values(Object.values(bundle)), _e = _d.next(); !_e.done; _e = _d.next()) { | ||
var bundlePackage = _e.value; | ||
// Add package | ||
if (bundlePackage.package) { | ||
builder.setPackage(bundlePackage.uri, bundlePackage.package); | ||
} | ||
// Add interface implementations | ||
if (bundlePackage.implements) { | ||
try { | ||
for (var _f = (e_2 = void 0, __values(bundlePackage.implements)), _g = _f.next(); !_g.done; _g = _f.next()) { | ||
var interfaceUri = _g.value; | ||
builder.addInterfaceImplementation(interfaceUri, bundlePackage.uri); | ||
} | ||
} | ||
catch (e_2_1) { e_2 = { error: e_2_1 }; } | ||
finally { | ||
try { | ||
if (_g && !_g.done && (_b = _f.return)) _b.call(_f); | ||
} | ||
finally { if (e_2) throw e_2.error; } | ||
} | ||
} | ||
// Add all redirects | ||
if (bundlePackage.redirectFrom) { | ||
try { | ||
for (var _h = (e_3 = void 0, __values(bundlePackage.redirectFrom)), _j = _h.next(); !_j.done; _j = _h.next()) { | ||
var redirectFrom = _j.value; | ||
builder.setRedirect(redirectFrom, bundlePackage.uri); | ||
} | ||
} | ||
catch (e_3_1) { e_3 = { error: e_3_1 }; } | ||
finally { | ||
try { | ||
if (_j && !_j.done && (_c = _h.return)) _c.call(_h); | ||
} | ||
finally { if (e_3) throw e_3.error; } | ||
} | ||
} | ||
// Add environment | ||
if (bundlePackage.env) { | ||
builder.addEnv(bundlePackage.uri, bundlePackage.env); | ||
} | ||
} | ||
} | ||
catch (e_1_1) { e_1 = { error: e_1_1 }; } | ||
finally { | ||
try { | ||
if (_e && !_e.done && (_a = _d.return)) _a.call(_d); | ||
} | ||
finally { if (e_1) throw e_1.error; } | ||
} | ||
return builder; | ||
} | ||
exports.addBundle = addBundle; | ||
//# sourceMappingURL=index.js.map |
export * from "./types"; | ||
export * from "./BaseClientConfigBuilder"; | ||
export * from "./ClientConfigBuilder"; | ||
export * from "./PolywrapClientConfigBuilder"; | ||
export * from "./bundles"; |
@@ -19,4 +19,4 @@ "use strict"; | ||
__exportStar(require("./BaseClientConfigBuilder"), exports); | ||
__exportStar(require("./ClientConfigBuilder"), exports); | ||
__exportStar(require("./PolywrapClientConfigBuilder"), exports); | ||
__exportStar(require("./bundles"), exports); | ||
//# sourceMappingURL=index.js.map |
export * from "./configs"; | ||
export * from "./IClientConfigBuilder"; | ||
export * from "./ClientConfigBuilder"; | ||
export * from "./BuildOptions"; |
@@ -18,4 +18,4 @@ "use strict"; | ||
__exportStar(require("./configs"), exports); | ||
__exportStar(require("./IClientConfigBuilder"), exports); | ||
__exportStar(require("./ClientConfigBuilder"), exports); | ||
__exportStar(require("./BuildOptions"), exports); | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@polywrap/client-config-builder-js", | ||
"description": "Polywrap JavaScript Client configuration", | ||
"version": "0.10.1", | ||
"version": "0.11.0", | ||
"license": "MIT", | ||
@@ -15,9 +15,8 @@ "repository": { | ||
"scripts": { | ||
"build": "yarn embed:wrappers && yarn build:fast", | ||
"build": "yarn build:fast", | ||
"build:docs": "yarn build:snippets && yarn build:readme", | ||
"build:fast": "rimraf ./build && tsc --project tsconfig.build.json", | ||
"embed:wrappers": "ts-node ./scripts/embed-wrappers.ts", | ||
"lint": "eslint --color -c ../../.eslintrc.js src/", | ||
"test": "jest --passWithNoTests --runInBand --verbose --config ../../jest.config.js --rootDir .", | ||
"test:watch": "yarn test -- --watch", | ||
"test": "jest --passWithNoTests --runInBand --verbose --rootDir . --config ../../jest.config.js", | ||
"test:watch": "yarn test --watch", | ||
"build:snippets": "tsc --project ./examples/tsconfig.examples.json", | ||
@@ -27,13 +26,10 @@ "build:readme": "yarn doc-snippets combine" | ||
"dependencies": { | ||
"@polywrap/concurrent-plugin-js": "~0.10.0", | ||
"@polywrap/core-js": "0.10.1", | ||
"@polywrap/ethereum-provider-js": "npm:@polywrap/ethereum-provider-js@~0.3.1", | ||
"@polywrap/ethereum-provider-js-v1": "npm:@polywrap/ethereum-provider-js@~0.2.4", | ||
"@polywrap/file-system-plugin-js": "~0.10.0", | ||
"@polywrap/http-plugin-js": "~0.10.0", | ||
"@polywrap/logger-plugin-js": "~0.10.1", | ||
"@polywrap/uri-resolver-extensions-js": "0.10.1", | ||
"@polywrap/uri-resolvers-js": "0.10.1", | ||
"@polywrap/wasm-js": "0.10.1", | ||
"base64-to-uint8array": "1.0.0" | ||
"@polywrap/config-bundle-types-js": "0.11.0", | ||
"@polywrap/core-js": "0.11.0", | ||
"@polywrap/plugin-js": "0.11.0", | ||
"@polywrap/sys-config-bundle-js": "0.11.0", | ||
"@polywrap/uri-resolver-extensions-js": "0.11.0", | ||
"@polywrap/uri-resolvers-js": "0.11.0", | ||
"@polywrap/wasm-js": "0.11.0", | ||
"@polywrap/web3-config-bundle-js": "0.11.0" | ||
}, | ||
@@ -50,3 +46,2 @@ "devDependencies": { | ||
}, | ||
"gitHead": "7346adaf5adb7e6bbb70d9247583e995650d390a", | ||
"publishConfig": { | ||
@@ -53,0 +48,0 @@ "access": "public" |
313
README.md
@@ -15,3 +15,3 @@ # PolywrapClient Config Builder | ||
// start with a blank slate (typical usage) | ||
const builder = new ClientConfigBuilder(); | ||
const builder = new PolywrapClientConfigBuilder(); | ||
``` | ||
@@ -21,3 +21,3 @@ | ||
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. | ||
@@ -37,7 +37,7 @@ ```typescript | ||
builder | ||
.addPackage("wrap://plugin/package", httpPlugin({})) | ||
.setPackage("wrap://plugin/package", httpPlugin({}) as IWrapPackage) | ||
.removePackage("wrap://plugin/package") | ||
.addPackages({ | ||
"wrap://plugin/http": httpPlugin({}), | ||
"wrap://plugin/filesystem": fileSystemPlugin({}), | ||
.setPackages({ | ||
"wrap://plugin/http": httpPlugin({}) as IWrapPackage, | ||
"wrap://plugin/filesystem": fileSystemPlugin({}) as IWrapPackage, | ||
}); | ||
@@ -75,5 +75,5 @@ ``` | ||
```typescript= | ||
```typescript | ||
// init | ||
const builder = new ClientConfigBuilder(); | ||
const builder = new PolywrapClientConfigBuilder(); | ||
@@ -95,3 +95,3 @@ // add the default bundle first to override its entries later | ||
builder | ||
.addWrapper( | ||
.setWrapper( | ||
"wrap://ens/wrapper.eth", | ||
@@ -104,3 +104,3 @@ await WasmWrapper.from( | ||
.removeWrapper("wrap://ens/wrapper.eth") | ||
.addWrappers({ | ||
.setWrappers({ | ||
"wrap://ens/wrapper.eth": await WasmWrapper.from( | ||
@@ -114,6 +114,6 @@ new Uint8Array([1, 2, 3]), | ||
builder | ||
.addPackage("wrap://plugin/package", httpPlugin({})) | ||
.setPackage("wrap://plugin/package", httpPlugin({}) as IWrapPackage) | ||
.removePackage("wrap://plugin/package") | ||
.addPackages({ | ||
"wrap://plugin/package": httpPlugin({}), | ||
.setPackages({ | ||
"wrap://plugin/package": httpPlugin({}) as IWrapPackage, | ||
}); | ||
@@ -148,5 +148,5 @@ | ||
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", | ||
@@ -170,3 +170,3 @@ }); | ||
/** | ||
* Instantiate a ClientConfigBuilder | ||
* Instantiate a PolywrapClientConfigBuilder | ||
*/ | ||
@@ -180,11 +180,11 @@ constructor() | ||
* 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<BuilderConfig>): IClientConfigBuilder; | ||
add(config: Partial<BuilderConfig>): ClientConfigBuilder; | ||
``` | ||
### addWrapper | ||
### setWrapper | ||
```ts | ||
@@ -196,17 +196,17 @@ /** | ||
* @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<string, Wrapper>): IClientConfigBuilder; | ||
setWrappers(uriWrappers: Record<string, Wrapper>): ClientConfigBuilder; | ||
``` | ||
@@ -220,8 +220,8 @@ | ||
* @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 | ||
@@ -233,17 +233,17 @@ /** | ||
* @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<string, IWrapPackage>): IClientConfigBuilder; | ||
setPackages(uriPackages: Record<string, IWrapPackage>): ClientConfigBuilder; | ||
``` | ||
@@ -257,5 +257,5 @@ | ||
* @param uri: the package's URI | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
removePackage(uri: string): IClientConfigBuilder; | ||
removePackage(uri: string): ClientConfigBuilder; | ||
``` | ||
@@ -271,5 +271,5 @@ | ||
* @param env: an object with the env variables for the uri | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
addEnv(uri: string, env: Record<string, unknown>): IClientConfigBuilder; | ||
addEnv(uri: string, env: Record<string, unknown>): ClientConfigBuilder; | ||
``` | ||
@@ -284,7 +284,7 @@ | ||
* @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<string, Record<string, unknown>> | ||
): IClientConfigBuilder; | ||
): ClientConfigBuilder; | ||
``` | ||
@@ -298,5 +298,5 @@ | ||
* @param uri: the URI associated with the Env | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
removeEnv(uri: string): IClientConfigBuilder; | ||
removeEnv(uri: string): ClientConfigBuilder; | ||
``` | ||
@@ -312,5 +312,5 @@ | ||
* @param env: an object with the environment variables for the uri | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
setEnv(uri: string, env: Record<string, unknown>): IClientConfigBuilder; | ||
setEnv(uri: string, env: Record<string, unknown>): ClientConfigBuilder; | ||
``` | ||
@@ -325,3 +325,3 @@ | ||
* @param implementationUri: the URI of the implementation | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
@@ -331,3 +331,3 @@ addInterfaceImplementation( | ||
implementationUri: string | ||
): IClientConfigBuilder; | ||
): ClientConfigBuilder; | ||
``` | ||
@@ -342,3 +342,3 @@ | ||
* @param implementationUris: a list of URIs for the implementations | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
@@ -348,3 +348,3 @@ addInterfaceImplementations( | ||
implementationUris: Array<string> | ||
): IClientConfigBuilder; | ||
): ClientConfigBuilder; | ||
``` | ||
@@ -359,3 +359,3 @@ | ||
* @param implementationUri: the URI of the implementation | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
@@ -365,6 +365,6 @@ removeInterfaceImplementation( | ||
implementationUri: string | ||
): IClientConfigBuilder; | ||
): ClientConfigBuilder; | ||
``` | ||
### addRedirect | ||
### setRedirect | ||
```ts | ||
@@ -376,8 +376,8 @@ /** | ||
* @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 | ||
@@ -388,5 +388,5 @@ /** | ||
* @param redirects: an object where key is from and value is to | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
addRedirects(redirects: Record<string, string>): IClientConfigBuilder; | ||
setRedirects(redirects: Record<string, string>): ClientConfigBuilder; | ||
``` | ||
@@ -400,5 +400,5 @@ | ||
* @param from: the URI that is being redirected | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
removeRedirect(from: string): IClientConfigBuilder; | ||
removeRedirect(from: string): ClientConfigBuilder; | ||
``` | ||
@@ -420,5 +420,5 @@ | ||
* @param resolver: A UriResolverLike | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
addResolver(resolver: UriResolverLike): IClientConfigBuilder; | ||
addResolver(resolver: UriResolverLike): ClientConfigBuilder; | ||
``` | ||
@@ -440,5 +440,5 @@ | ||
* @param resolvers: A list of UriResolverLike | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
addResolvers(resolvers: UriResolverLike[]): IClientConfigBuilder; | ||
addResolvers(resolvers: UriResolverLike[]): ClientConfigBuilder; | ||
``` | ||
@@ -451,7 +451,17 @@ | ||
* | ||
* @returns IClientConfigBuilder (mutated self) | ||
* @returns ClientConfigBuilder (mutated self) | ||
*/ | ||
addDefaults(): IClientConfigBuilder; | ||
addDefaults(): ClientConfigBuilder; | ||
``` | ||
### addBundle | ||
```ts | ||
/** | ||
* Add a default configuration bundle | ||
* | ||
* @returns Promise<ClientConfigBuilder> (mutated self) | ||
*/ | ||
addBundle(bundle: BundleName): ClientConfigBuilder; | ||
``` | ||
### build | ||
@@ -470,172 +480,7 @@ ```ts | ||
### Bundle: DefaultConfig | ||
```ts | ||
export const ipfsProviders: string[] = [ | ||
"https://ipfs.wrappers.io", | ||
"https://ipfs.io", | ||
]; | ||
export type BundleName = "sys" | "web3"; | ||
interface IDefaultEmbed { | ||
uri: Uri; | ||
package: IWrapPackage; | ||
source: Uri; | ||
} | ||
interface IDefaultEmbeds { | ||
ipfsHttpClient: IDefaultEmbed; | ||
ipfsResolver: IDefaultEmbed; | ||
} | ||
export const embeds: IDefaultEmbeds = { | ||
ipfsHttpClient: { | ||
uri: Uri.from("embed/ipfs-http-client@1.0.0"), | ||
package: ipfsHttpClient.wasmPackage, | ||
source: Uri.from("ens/wraps.eth:ipfs-http-client@1.0.0"), | ||
}, | ||
ipfsResolver: { | ||
uri: Uri.from("embed/async-ipfs-uri-resolver-ext@1.0.1"), | ||
package: ipfsResolver.wasmPackage, | ||
source: Uri.from("ens/wraps.eth:async-ipfs-uri-resolver-ext@1.0.1"), | ||
}, | ||
}; | ||
type UriResolverExtBootloader = [IDefaultEmbed, IUriRedirect, ...Uri[]]; | ||
export const uriResolverExts: UriResolverExtBootloader = [ | ||
embeds.ipfsResolver, | ||
{ | ||
from: Uri.from("ens/wraps.eth:ens-text-record-uri-resolver-ext@1.0.1"), | ||
to: Uri.from("ipfs/QmXcHWtKkfrFmcczdMSXH7udsSyV3UJeoWzkaUqGBm1oYs"), | ||
}, | ||
Uri.from("ens/wraps.eth:http-uri-resolver-ext@1.0.1"), | ||
Uri.from("ens/wraps.eth:file-system-uri-resolver-ext@1.0.1"), | ||
Uri.from("ens/wraps.eth:ens-uri-resolver-ext@1.0.1"), | ||
Uri.from("ens/wraps.eth:ens-ipfs-contenthash-uri-resolver-ext@1.0.1"), | ||
]; | ||
interface IDefaultPlugin { | ||
uri: Uri; | ||
plugin: IWrapPackage; | ||
implements: Uri[]; | ||
} | ||
interface IDefaultPlugins { | ||
logger: IDefaultPlugin; | ||
http: IDefaultPlugin; | ||
fileSystem: IDefaultPlugin; | ||
concurrent: IDefaultPlugin; | ||
ethereumProviderV1: IDefaultPlugin; | ||
ethereumProviderV2: IDefaultPlugin; | ||
} | ||
export const plugins: IDefaultPlugins = { | ||
logger: { | ||
uri: Uri.from("plugin/logger@1.0.0"), | ||
plugin: loggerPlugin({}), | ||
implements: [Uri.from("ens/wraps.eth:logger@1.0.0")], | ||
}, | ||
http: { | ||
uri: Uri.from("plugin/http@1.1.0"), | ||
plugin: httpPlugin({}), | ||
implements: [ | ||
Uri.from("ens/wraps.eth:http@1.1.0"), | ||
Uri.from("ens/wraps.eth:http@1.0.0"), | ||
], | ||
}, | ||
fileSystem: { | ||
uri: Uri.from("plugin/file-system@1.0.0"), | ||
plugin: fileSystemPlugin({}), | ||
implements: [Uri.from("ens/wraps.eth:file-system@1.0.0")], | ||
}, | ||
concurrent: { | ||
uri: Uri.from("plugin/concurrent@1.0.0"), | ||
plugin: concurrentPromisePlugin({}), | ||
implements: [Uri.from("ens/wraps.eth:concurrent@1.0.0")], | ||
}, | ||
ethereumProviderV1: { | ||
uri: Uri.from("plugin/ethereum-provider@1.1.0"), | ||
plugin: EthProviderV1.plugin({ | ||
connections: new EthProviderV1.Connections({ | ||
networks: { | ||
mainnet: new EthProviderV1.Connection({ | ||
provider: | ||
"https://mainnet.infura.io/v3/b00b2c2cc09c487685e9fb061256d6a6", | ||
}), | ||
goerli: new EthProviderV1.Connection({ | ||
provider: | ||
"https://goerli.infura.io/v3/b00b2c2cc09c487685e9fb061256d6a6", | ||
}), | ||
}, | ||
}), | ||
}), | ||
implements: [ | ||
Uri.from("ens/wraps.eth:ethereum-provider@1.1.0"), | ||
Uri.from("ens/wraps.eth:ethereum-provider@1.0.0"), | ||
], | ||
}, | ||
ethereumProviderV2: { | ||
uri: Uri.from("plugin/ethereum-provider@2.0.0"), | ||
plugin: EthProvider.plugin({ | ||
connections: new EthProvider.Connections({ | ||
networks: { | ||
mainnet: new EthProvider.Connection({ | ||
provider: | ||
"https://mainnet.infura.io/v3/b00b2c2cc09c487685e9fb061256d6a6", | ||
}), | ||
goerli: new EthProvider.Connection({ | ||
provider: | ||
"https://goerli.infura.io/v3/b00b2c2cc09c487685e9fb061256d6a6", | ||
}), | ||
}, | ||
}), | ||
}), | ||
implements: [Uri.from("ens/wraps.eth:ethereum-provider@2.0.0")], | ||
}, | ||
}; | ||
export function getConfig(): BuilderConfig { | ||
const builder = new ClientConfigBuilder(); | ||
// Add all embedded packages | ||
for (const embed of Object.values(embeds)) { | ||
builder.addPackage(embed.uri.uri, embed.package); | ||
// Add source redirect | ||
builder.addRedirect(embed.source.uri, embed.uri.uri); | ||
// Add source implementation | ||
builder.addInterfaceImplementation(embed.source.uri, embed.uri.uri); | ||
} | ||
// Add all plugin packages | ||
for (const plugin of Object.values(plugins)) { | ||
builder.addPackage(plugin.uri.uri, plugin.plugin); | ||
// Add all interface implementations & redirects | ||
for (const interfaceUri of plugin.implements) { | ||
builder.addInterfaceImplementation(interfaceUri.uri, plugin.uri.uri); | ||
builder.addRedirect(interfaceUri.uri, plugin.uri.uri); | ||
} | ||
} | ||
// Add all uri-resolver-ext interface implementations | ||
builder.addInterfaceImplementations( | ||
ExtendableUriResolver.defaultExtInterfaceUris[0].uri, | ||
[ | ||
uriResolverExts[0].source.uri, | ||
uriResolverExts[1].from.uri, | ||
...uriResolverExts.slice(2).map((x: Uri) => x.uri), | ||
] | ||
); | ||
builder.addRedirect(uriResolverExts[1].from.uri, uriResolverExts[1].to.uri); | ||
// Configure the ipfs-uri-resolver provider endpoints & retry counts | ||
builder.addEnv(embeds.ipfsResolver.source.uri, { | ||
provider: ipfsProviders[0], | ||
fallbackProviders: ipfsProviders.slice(1), | ||
retries: { tryResolveUri: 2, getFile: 2 }, | ||
}); | ||
return builder.config; | ||
} | ||
``` | ||
``` | ||
* [sys](https://www.npmjs.com/package/@polywrap/sys-config-bundle-js) | ||
* [web3](https://www.npmjs.com/package/@polywrap/web3-config-bundle-js) |
@@ -19,3 +19,3 @@ # PolywrapClient Config Builder | ||
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. | ||
@@ -44,3 +44,3 @@ ```typescript | ||
```typescript= | ||
```typescript | ||
$snippet: quickstart-example | ||
@@ -60,13 +60,13 @@ ``` | ||
```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 | ||
``` | ||
@@ -76,13 +76,13 @@ | ||
```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 | ||
``` | ||
@@ -92,3 +92,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-removePackage | ||
$snippet: ClientConfigBuilder-removePackage | ||
``` | ||
@@ -98,3 +98,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-addEnv | ||
$snippet: ClientConfigBuilder-addEnv | ||
``` | ||
@@ -104,3 +104,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-addEnvs | ||
$snippet: ClientConfigBuilder-addEnvs | ||
``` | ||
@@ -110,3 +110,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-removeEnv | ||
$snippet: ClientConfigBuilder-removeEnv | ||
``` | ||
@@ -116,3 +116,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-setEnv | ||
$snippet: ClientConfigBuilder-setEnv | ||
``` | ||
@@ -122,3 +122,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-addInterfaceImplementation | ||
$snippet: ClientConfigBuilder-addInterfaceImplementation | ||
``` | ||
@@ -128,3 +128,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-addInterfaceImplementations | ||
$snippet: ClientConfigBuilder-addInterfaceImplementations | ||
``` | ||
@@ -134,13 +134,13 @@ | ||
```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 | ||
``` | ||
@@ -150,3 +150,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-removeRedirect | ||
$snippet: ClientConfigBuilder-removeRedirect | ||
``` | ||
@@ -156,3 +156,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-addResolver | ||
$snippet: ClientConfigBuilder-addResolver | ||
``` | ||
@@ -162,3 +162,3 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-addResolvers | ||
$snippet: ClientConfigBuilder-addResolvers | ||
``` | ||
@@ -168,8 +168,13 @@ | ||
```ts | ||
$snippet: IClientConfigBuilder-addDefaults | ||
$snippet: ClientConfigBuilder-addDefaults | ||
``` | ||
### addBundle | ||
```ts | ||
$snippet: ClientConfigBuilder-addBundle | ||
``` | ||
### build | ||
```ts | ||
$snippet: IClientConfigBuilder-build | ||
$snippet: ClientConfigBuilder-build | ||
``` | ||
@@ -179,5 +184,6 @@ | ||
### Bundle: DefaultConfig | ||
```ts | ||
$snippet: getDefaultConfig | ||
``` | ||
$snippet: Bundles-bundleNames | ||
``` | ||
* [sys](https://www.npmjs.com/package/@polywrap/sys-config-bundle-js) | ||
* [web3](https://www.npmjs.com/package/@polywrap/web3-config-bundle-js) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
8
2
0
65450
36
905
456
1
+ Added@polywrap/plugin-js@0.11.0
+ Added@polywrap/asyncify-js@0.11.0(transitive)
+ Added@polywrap/config-bundle-types-js@0.11.0(transitive)
+ Added@polywrap/core-js@0.11.0(transitive)
+ Added@polywrap/datetime-plugin-js@0.10.1(transitive)
+ Added@polywrap/msgpack-js@0.10.0-pre.100.11.0(transitive)
+ Added@polywrap/plugin-js@0.10.0-pre.100.10.10.11.0(transitive)
+ Added@polywrap/result@0.10.0-pre.100.11.0(transitive)
+ Added@polywrap/sys-config-bundle-js@0.11.0(transitive)
+ Added@polywrap/tracing-js@0.10.0-pre.100.11.0(transitive)
+ Added@polywrap/uri-resolver-extensions-js@0.11.0(transitive)
+ Added@polywrap/uri-resolvers-js@0.11.0(transitive)
+ Added@polywrap/wasm-js@0.11.0(transitive)
+ Added@polywrap/web3-config-bundle-js@0.11.0(transitive)
+ Added@polywrap/wrap-manifest-types-js@0.10.0-pre.100.11.0(transitive)
+ Addedajv@8.12.0(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
+ Addedjson-schema-traverse@1.0.0(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedrequire-from-string@2.0.2(transitive)
+ Addedsemver@7.3.8(transitive)
+ Addeduri-js@4.4.1(transitive)
- Removed@polywrap/ethereum-provider-js@npm:@polywrap/ethereum-provider-js@~0.3.1
- Removed@polywrap/ethereum-provider-js-v1@npm:@polywrap/ethereum-provider-js@~0.2.4
- Removed@polywrap/http-plugin-js@~0.10.0
- Removed@polywrap/logger-plugin-js@~0.10.1
- Removedbase64-to-uint8array@1.0.0
- Removed@polywrap/asyncify-js@0.10.1(transitive)
- Removed@polywrap/uri-resolver-extensions-js@0.10.1(transitive)
- Removed@polywrap/uri-resolvers-js@0.10.1(transitive)
- Removed@polywrap/wasm-js@0.10.1(transitive)
Updated@polywrap/core-js@0.11.0
Updated@polywrap/wasm-js@0.11.0