DataWeave モジュールの型の再利用

他の DataWeave モジュールで宣言されている型を再利用するには、​import​ ディレクティブを使用します。

DataWeave モジュール (​dw/Weather.dwl​):
%dw 2.0
type Weather = "cloudy" | "sunny" | "rainy" | "stormy"
type DetailedWeather = {temperature: Number, weather: Weather}

それらのインポートされた型は、DataWeave の他の型のように、変数と関数の制約や、パターン一致および実行時の型のチェックの制約として使用できます。

DataWeave スクリプト:
%dw 2.0
output json
import * from dw::Weather


fun weatherMessage(todayWeather: Weather) =
    "The weather for today is: " ++ todayWeather
var worstPossibleWeather: DetailedWeather = {temperature: -10, weather: "stormy"}
---
{
    a: weatherMessage("sunny"),
    b: worstPossibleWeather.weather is Weather
}