Pustaka queries
Pustaka queriesAmbil data prakiraan cuaca AS untuk beberapa lokasi

Ambil data prakiraan cuaca AS untuk beberapa lokasi

Query ini terhubung ke API Layanan Cuaca Nasional AS dan mengambil data prakiraan cuaca untuk beberapa lokasi dengan koordinat yang diberikan (melalui variabel $coordinatesList, yang merupakan daftar objek JSON dengan entri lat dan long).

query GenerateLocationURLs(
  # List of JSON objects with entries `lat` and `long`
  # eg: [ { "lat": 39.7456, "long": -97.0892 }, { "lat": 34.7456, "long": -77.0892 } ]
  $coordinatesList: [JSONObject!]!
) {
  coordinatesList: _echo(value: $coordinatesList)
    @underEachArrayItem(
      passValueOnwardsAs: "coordinates"
      affectDirectivesUnderPos: [1, 2, 3, 4]
    )
      @applyField(
        name: "_objectProperty",
        arguments: {
          by: { key: "lat" }
          object: $coordinates
        },
        passOnwardsAs: "lat"
      )
      @applyField(
        name: "_objectProperty",
        arguments: {
          by: { key: "long" }
          object: $coordinates
        },
        passOnwardsAs: "long"
      )
      @applyField(
        name: "_sprintf",
        arguments: {
          string: "https://api.weather.gov/points/%s,%s",
          values: [$lat, $long]
        }
        passOnwardsAs: "locationURL"
      )
      @applyField(
        name: "_echo",
        arguments: {
          value: {
            url: $locationURL
          }
        }
        setResultInResponse: true
      )
    @export(as: "coordinatesListInput")
}
 
query FetchUSWeatherDataForLocations
  @depends(on: "GenerateLocationURLs")
{
  _sendJSONObjectItemHTTPRequests(inputs: $coordinatesListInput)
}