翻转客户端浏览器
[尖叫声] 这个SDK已经贬值,不会继续前进. 请使用新的 翻转客户端 JS SDK 换句话说.
这个 flipt-client-browser 库中包含用于翻转的 JavaScript/ TypeScript 源代码 客户端评价 用于浏览器的客户端.
安装
npm install @flipt-io/flipt-client-browser
使用量
在您的 JavaScript/ Typescript 代码中, 您可以导入此客户端并以此方式使用 :
import { FliptEvaluationClient } from '@flipt-io/flipt-client-browser';
// namespace is the first positional argument and is optional here and will have a value of "default" if not specified.
// options is the second positional argument and is also optional, the structure is:
// {
// "url": "http://localhost:8080",
// "authentication": {
// "clientToken": "secret"
// }
// }
//
const fliptEvaluationClient = await FliptEvaluationClient.init('default', {
url: 'http://localhost:8080',
authentication: {
clientToken
}
});
const variant = fliptEvaluationClient.evaluateVariant('flag1', 'someentity', {
fizz: 'buzz'
});
console.log(variant);
初始化参数
这个 FliptEvaluationClient 构造器接受两个可选参数:
namespace: 获取旗下状态的命名空间 。 如果不提供,客户端将默认为default名称空间.options: 实例ClientOptions类型,用于支持客户端的若干选项。 其结构是:url: 上游翻转实例的 URL。 如果不提供,客户端将默认为http://localhost:8080。 。 。 .authentication: 与上游翻转实例通信时使用的认证策略。 如果不提供,客户端将默认为没有认证. 见 认证 用于提供更多信息.reference编号: 参考文献 用于获取旗帜状态。 如果不提供参考文献,则不使用参考文献.fetcher执行 获取器 界面,用于请求旗帜状态时。 如果没有提供,则使用浏览器的默认取取器fetchAPI 密码 将被使用.errorStrategy: 获取旗帜状态时所用的错误策略 。 如果不提供,客户端将默认失败. 见 错误策略 用于提供更多信息.
认证
这个 FliptEvaluationClient 支持下列认证战略:
错误策略
客户 errorStrategy 选项支持以下错误策略:
fail: 如果无法获取旗下状态, 客户端会出错 。 这是默认行为.fallback:客户端将保持最后已知的好状态,并在出错时使用该状态进行评价.
自定义获取器
这个 FliptEvaluationClient 支持自定义获取器。 这允许您从自定义源获取旗下状态, 或者覆盖 HTTP 头 .
取取器可以传递给 FliptEvaluationClient 初始化函数 .
const fliptEvaluationClient = await FliptEvaluationClient.init('default', {
url: 'http://localhost:8080',
authentication: {
clientToken
},
fetcher: customFetcher
});
获取器是一个需要可选的函数 IFetcherOpts 参数并返回 a Promise 决心 Response 对象.
州管理层
这个 FliptEvaluationClient 类从 Flipt 实例中拉出旗帜状态 url b. 《公约》 options 在即时状态下的对象.
为了更新旗下状态,你可以打电话给 refresh 方法 FliptEvaluationClient 课.
[注] 这个
refresh方法返回布尔表示国旗状态是否改变.
// Refresh the flag state
let changed = await fliptEvaluationClient.refresh();
if (changed) {
// Do something
}
ETag 支持
默认取取器使用 Etag HTTP 标题 以减少向 Flipt 实例提出的请求数量。 在旗下状态不经常更新且您想要减少服务器上负载的情景中,这很有用.
要禁用ETag 支持, 您可以执行 自定义获取器 不使用ETags.
发展
刚才
这个库使用WebAssem(WASM)层与Flipt服务器交互. 它用 Rust 写成,并使用 wasm-bindgen 财务报告和审定财务报表 wasm-pack 工具。 我们用 JavaScript API 将已建成的WASM 层包裹起来,以便于在浏览器环境中使用.
先决条件
构建
npm run build
测试
npm install
npm test
捐款
欢迎捐款! 请随意打开一个问题或提交拉出请求.
许可证
本项目根据以下规定获得许可证: MIT 许可证。 。 。 .