当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript schema.maybe方法代码示例

本文整理汇总了TypeScript中@kbn/config-schema.schema.maybe方法的典型用法代码示例。如果您正苦于以下问题:TypeScript schema.maybe方法的具体用法?TypeScript schema.maybe怎么用?TypeScript schema.maybe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在@kbn/config-schema.schema的用法示例。


在下文中一共展示了schema.maybe方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1:

import { schema, TypeOf } from '@kbn/config-schema';
import crypto from 'crypto';

// `crypto` type definitions doesn't currently include `crypto.constants`, see
// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/fa5baf1733f49cf26228a4e509914572c1b74adf/types/node/v6/index.d.ts#L3412
const cryptoConstants = (crypto as any).constants;

const protocolMap = new Map<string, number>([
  ['TLSv1', cryptoConstants.SSL_OP_NO_TLSv1],
  ['TLSv1.1', cryptoConstants.SSL_OP_NO_TLSv1_1],
  ['TLSv1.2', cryptoConstants.SSL_OP_NO_TLSv1_2],
]);

export const sslSchema = schema.object(
  {
    certificate: schema.maybe(schema.string()),
    certificateAuthorities: schema.maybe(
      schema.oneOf([schema.arrayOf(schema.string()), schema.string()])
    ),
    cipherSuites: schema.arrayOf(schema.string(), {
      defaultValue: cryptoConstants.defaultCoreCipherList.split(':'),
    }),
    enabled: schema.boolean({
      defaultValue: false,
    }),
    key: schema.maybe(schema.string()),
    keyPassphrase: schema.maybe(schema.string()),
    redirectHttpFromPort: schema.maybe(schema.number()),
    supportedProtocols: schema.arrayOf(
      schema.oneOf([schema.literal('TLSv1'), schema.literal('TLSv1.1'), schema.literal('TLSv1.2')]),
      { defaultValue: ['TLSv1.1', 'TLSv1.2'], minSize: 1 }
开发者ID:elastic,项目名称:kibana,代码行数:31,代码来源:ssl_config.ts

示例2:

export type ElasticsearchConfigType = TypeOf<typeof config.schema>;
type SslConfigSchema = ElasticsearchConfigType['ssl'];

export const config = {
  path: 'elasticsearch',
  schema: schema.object({
    sniffOnStart: schema.boolean({ defaultValue: false }),
    sniffInterval: schema.oneOf([schema.duration(), schema.literal(false)], {
      defaultValue: false,
    }),
    sniffOnConnectionFault: schema.boolean({ defaultValue: false }),
    hosts: schema.oneOf([hostURISchema, schema.arrayOf(hostURISchema, { minSize: 1 })], {
      defaultValue: 'http://localhost:9200',
    }),
    preserveHost: schema.boolean({ defaultValue: true }),
    username: schema.maybe(schema.string()),
    password: schema.maybe(schema.string()),
    requestHeadersWhitelist: schema.oneOf([schema.string(), schema.arrayOf(schema.string())], {
      defaultValue: ['authorization'],
    }),
    customHeaders: schema.recordOf(schema.string(), schema.string(), { defaultValue: {} }),
    shardTimeout: schema.duration({ defaultValue: '30s' }),
    requestTimeout: schema.duration({ defaultValue: '30s' }),
    pingTimeout: schema.duration({ defaultValue: schema.siblingRef('requestTimeout') }),
    startupTimeout: schema.duration({ defaultValue: '5s' }),
    logQueries: schema.boolean({ defaultValue: false }),
    ssl: schema.object({
      verificationMode: schema.oneOf(
        [schema.literal('none'), schema.literal('certificate'), schema.literal('full')],
        { defaultValue: 'full' }
      ),
开发者ID:elastic,项目名称:kibana,代码行数:31,代码来源:elasticsearch_config.ts

示例3: match

import { Env } from '../config';
import { SslConfig, sslSchema } from './ssl_config';

const validBasePathRegex = /(^$|^\/.*[^\/]$)/;

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
            },
          }
        ),
开发者ID:elastic,项目名称:kibana,代码行数:31,代码来源:http_config.ts


注:本文中的@kbn/config-schema.schema.maybe方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。