本文整理汇总了TypeScript中@kbn/config-schema.schema.contextRef方法的典型用法代码示例。如果您正苦于以下问题:TypeScript schema.contextRef方法的具体用法?TypeScript schema.contextRef怎么用?TypeScript schema.contextRef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@kbn/config-schema.schema
的用法示例。
在下文中一共展示了schema.contextRef方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: test
test('correctly passes context', async () => {
mockPackage.raw = {
branch: 'feature-v1',
version: 'v1',
build: {
distributable: true,
number: 100,
sha: 'feature-v1-build-sha',
},
};
const env = new Env('/kibana', getEnvOptions());
const config$ = new BehaviorSubject(new ObjectToConfigAdapter({ foo: {} }));
const schemaDefinition = schema.object({
branchRef: schema.string({
defaultValue: schema.contextRef('branch'),
}),
buildNumRef: schema.number({
defaultValue: schema.contextRef('buildNum'),
}),
buildShaRef: schema.string({
defaultValue: schema.contextRef('buildSha'),
}),
devRef: schema.boolean({ defaultValue: schema.contextRef('dev') }),
prodRef: schema.boolean({ defaultValue: schema.contextRef('prod') }),
versionRef: schema.string({
defaultValue: schema.contextRef('version'),
}),
});
const configService = new ConfigService(config$, env, logger);
await configService.setSchema('foo', schemaDefinition);
const value$ = configService.atPath('foo');
expect(await value$.pipe(first()).toPromise()).toMatchSnapshot();
});
示例2: match
const match = (regex: RegExp, errorMsg: string) => (str: string) =>
regex.test(str) ? undefined : errorMsg;
export const config = {
path: 'server',
schema: schema.object(
{
autoListen: schema.boolean({ defaultValue: true }),
basePath: schema.maybe(
schema.string({
validate: match(validBasePathRegex, "must start with a slash, don't end with one"),
})
),
cors: schema.conditional(
schema.contextRef('dev'),
true,
schema.object(
{
origin: schema.arrayOf(schema.string()),
},
{
defaultValue: {
origin: ['*://localhost:9876'], // karma test server
},
}
),
schema.boolean({ defaultValue: false })
),
host: schema.string({
defaultValue: 'localhost',