{
  "version": 10,
  "name": "International Space Station",
  "source": "endpoint",
  "tile": {
    "id": "68238E38-A015-5E35-A091-DE9BD2E5AB4F",
    "kind": "metric",
    "label": "ISS",
    "value": {
      "kind": "data",
      "value": "/altitude"
    },
    "maximum": {
      "kind": "literal",
      "value": "100"
    },
    "itemTitle": "/title",
    "itemSubtitle": "/subtitle",
    "icon": {
      "kind": "literal",
      "value": "location.north.line"
    },
    "iconPointSize": 14,
    "unit": "km",
    "format": "number",
    "decimals": 0
  },
  "popout": [
    {
      "id": "359BB331-64F6-5D2E-A558-1CD08B66A684",
      "kind": "metric",
      "label": "Above Earth",
      "value": {
        "kind": "data",
        "value": "/altitude"
      },
      "maximum": {
        "kind": "literal",
        "value": "100"
      },
      "itemTitle": "/title",
      "itemSubtitle": "/subtitle",
      "textSize": "large",
      "unit": "km",
      "format": "number",
      "decimals": 0
    },
    {
      "id": "6C372492-4A22-52D1-A4EE-C1E39922FC01",
      "kind": "metric",
      "label": "Orbital speed",
      "value": {
        "kind": "data",
        "value": "/speed"
      },
      "maximum": {
        "kind": "literal",
        "value": "100"
      },
      "itemTitle": "/title",
      "itemSubtitle": "/subtitle",
      "textSize": "medium",
      "layout": "horizontal",
      "unit": "km/h",
      "format": "number",
      "decimals": 0
    },
    {
      "id": "9C3CBFE4-D49E-522A-876B-2F8740E67848",
      "kind": "text",
      "label": "Current position",
      "value": {
        "kind": "data",
        "value": "/position"
      },
      "maximum": {
        "kind": "literal",
        "value": "100"
      },
      "itemTitle": "/title",
      "itemSubtitle": "/subtitle",
      "icon": {
        "kind": "literal",
        "value": "globe.europe.africa"
      },
      "iconPointSize": 14
    }
  ],
  "inputs": [],
  "transform": "function transform(response) {\n  for (const field of [\"altitude\", \"velocity\", \"latitude\", \"longitude\", \"timestamp\"]) {\n    if (!Number.isFinite(response[field])) throw new Error(\"The ISS feed is missing \" + field + \".\");\n  }\n  const coordinate = (value, positive, negative) => Math.abs(value).toFixed(1) + \"\u00b0 \" + (value >= 0 ? positive : negative);\n  return {\n    altitude: response.altitude,\n    speed: response.velocity,\n    position: coordinate(response.latitude, \"N\", \"S\") + \" \u00b7 \" + coordinate(response.longitude, \"E\", \"W\"),\n    sunlight: response.visibility === \"daylight\" ? \"In sunlight\" : response.visibility === \"eclipsed\" ? \"Earth\u2019s shadow\" : \"Unknown\",\n    sunlightIcon: response.visibility === \"daylight\" ? \"sun.max\" : \"moon.stars\",\n    observedAt: response.timestamp\n  };\n}\n"
}
