本文整理匯總了TypeScript中src/dataLoaders/utils/pluginConfigs.createNewPlugin函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript createNewPlugin函數的具體用法?TypeScript createNewPlugin怎麽用?TypeScript createNewPlugin使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了createNewPlugin函數的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: createNewPlugin
telegrafPlugins: state.telegrafPlugins.map(tp => {
if (tp.name === action.payload.pluginName) {
const plugin = _.get(tp, 'plugin', createNewPlugin(tp.name))
const config = _.get(
plugin,
['config', action.payload.fieldName],
[]
)
const updatedConfigFieldValue: string[] = [
...config,
action.payload.value,
]
return {
...tp,
plugin: updateConfigFields(
plugin,
action.payload.fieldName,
updatedConfigFieldValue
),
}
}
return tp
}),
示例2: getConfigFields
telegrafPlugins: state.telegrafPlugins.map(tp => {
const name = _.get(tp, 'name')
if (name === action.payload.telegrafPlugin) {
const configFields = getConfigFields(name)
if (!configFields) {
return {...tp, configured: ConfigurationState.Configured}
}
const plugin = getDeep<Plugin>(tp, 'plugin', createNewPlugin(name))
const config = _.get(plugin, 'config', {})
let isValidConfig = true
Object.entries(configFields).forEach(
([fieldName, {type: fieldType, isRequired}]) => {
if (isRequired) {
const fieldValue = config[fieldName]
switch (fieldType) {
case ConfigFieldType.Uri:
isValidConfig = validateURI(fieldValue as string)
break
case ConfigFieldType.String:
isValidConfig = (fieldValue as string) !== ''
break
case ConfigFieldType.StringArray:
isValidConfig = !!(fieldValue as string[]).length
break
case ConfigFieldType.UriArray:
isValidConfig =
!!(fieldValue as string[]).length &&
!fieldValue.find(uri => !validateURI(uri))
break
}
}
}
)
if (!isValidConfig || _.isEmpty(config)) {
return {
...tp,
configured: ConfigurationState.InvalidConfiguration,
}
} else {
return {...tp, configured: ConfigurationState.Configured}
}
}
return {...tp}
}),