は、それは、唯一のConfiguration[]
か...args: Configuration[]
を受け入れることができwebpack-mergeは、最初のパラメータまたは要素の広がりとして一つだけのアレイと関数の宣言を記述する方法
smart(...configuration | [...configuration])
からこの機能を検討してConfiguration
を返します。
この機能にはどのような種類がありますか?
UPDATE:
私はWebPACKのマージのためのタイピングを作りたいです。
これは私がこれまで持っているものである...
declare module 'webpack-merge' {
import { Configuration } from 'webpack'
type StrategyType = 'prepend' | 'append' | 'replace'
type StrategyMap = { [feild: string]: StrategyType }
type ConfigurationFolder = (
conf?: Configuration[],
...args: Configuration[]) => Configuration
export const merge: ConfigurationFolder
export const multiple: ConfigurationFolder
export const smart: ConfigurationFolder
export const smartStrategy: (options: StrategyMap) => ConfigurationFolder
export const unique: ConfigurationFolder
export default merge
}
...しかし、予想通り、それはdoesntの仕事。私が欲しいもの
import * as webpackMerge from 'webpack-merge'
const webpackConfig = webpackMerge.smartStrategy({ entry: 'replace' })(
configs,
baseConfig
# must fail here: only one `Configuration[]` as first param,
# or only `Configuration, Configuration, Configuration, ....`
)
アップデート2
:ここ
はテストですclass Configuration { }
type Func = (...configuration: Configuration[]) => Configuration;
// usage
const myFunc: Func = (...configuration: Configuration[]) => {
return new Configuration();
}
const conf = new Configuration;
const confs = [conf];
const r1 = myFunc(confs); // right
const r2 = myFunc(conf); // right
const r3 = myFunc(conf, conf); // right
const f1 = myFunc(confs, confs); // must fail, cause can accept only one array
const f2 = myFunc(conf, confs); // must fail, cause or array, or spread
const f3 = myFunc(confs, conf); // must fail, same
Here is a playable version of what I want.
わかりませんでした。何をしたいですか? –
@PronoyMukherjee Updated – bjornmelgaard