本文整理汇总了TypeScript中@kbn/config-schema.schema.arrayOf方法的典型用法代码示例。如果您正苦于以下问题:TypeScript schema.arrayOf方法的具体用法?TypeScript schema.arrayOf怎么用?TypeScript schema.arrayOf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@kbn/config-schema.schema
的用法示例。
在下文中一共展示了schema.arrayOf方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
const hostURISchema = schema.uri({ scheme: ['http', 'https'] });
export const DEFAULT_API_VERSION = 'master';
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({
示例2:
import { schema, TypeOf } from '@kbn/config-schema';
import { Env } from '../config';
export type PluginsConfigType = TypeOf<typeof config.schema>;
export const config = {
path: 'plugins',
schema: schema.object({
initialize: schema.boolean({ defaultValue: true }),
/**
* Defines an array of directories where another plugin should be loaded from.
* Should only be used in a development environment.
*/
paths: schema.arrayOf(schema.string(), { defaultValue: [] }),
}),
};
/** @internal */
export class PluginsConfig {
/**
* Indicates whether or not plugins should be initialized.
*/
public readonly initialize: boolean;
/**
* Defines directories that we should scan for the plugin subdirectories.
*/
public readonly pluginSearchPaths: ReadonlyArray<string>;
示例3:
// `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 }
),
},
示例4: match
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',
hostname: true,
}),
maxPayload: schema.byteSize({
defaultValue: '1048576b',