{"version":3,"file":"index.js","names":[],"sources":["esm/platform/light-sensor/index.js"],"sourcesContent":["import { assertLightSensorListener, assertUpdateInterval } from \"./validate\";\nfunction lightSensorCtor() {\n  if (typeof window === \"undefined\") return void 0;\n  const ctor = window.AmbientLightSensor;\n  return typeof ctor === \"function\" ? ctor : void 0;\n}\nfunction isAvailable() {\n  return lightSensorCtor() !== void 0;\n}\nfunction setUpdateInterval(intervalMs) {\n  assertUpdateInterval(intervalMs);\n}\nfunction addListener(listener) {\n  assertLightSensorListener(listener);\n  const Ctor = lightSensorCtor();\n  if (!Ctor) return { remove: () => {\n  } };\n  let sensor;\n  const onReading = () => {\n    if (sensor) listener({ illuminance: sensor.illuminance, timestamp: Date.now() / 1e3 });\n  };\n  try {\n    sensor = new Ctor();\n    sensor.addEventListener(\"reading\", onReading);\n    sensor.start();\n  } catch {\n    sensor = void 0;\n    return { remove: () => {\n    } };\n  }\n  return {\n    remove: () => {\n      sensor?.removeEventListener(\"reading\", onReading);\n      try {\n        sensor?.stop();\n      } catch {\n      }\n      sensor = void 0;\n    }\n  };\n}\nconst LightSensor = Object.freeze({\n  isAvailable,\n  setUpdateInterval,\n  addListener\n});\nexport {\n  LightSensor\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,SAAS,kBAAkB;CACzB,IAAI,OAAO,WAAW,aAAa,OAAO,KAAK;CAC/C,MAAM,OAAO,OAAO;CACpB,OAAO,OAAO,SAAS,aAAa,OAAO,KAAK;AAClD;AACA,SAAS,cAAc;CACrB,OAAO,gBAAgB,MAAM,KAAK;AACpC;AACA,SAAS,kBAAkB,YAAY;CACrC,qBAAqB,UAAU;AACjC;AACA,SAAS,YAAY,UAAU;CAC7B,0BAA0B,QAAQ;CAClC,MAAM,OAAO,gBAAgB;CAC7B,IAAI,CAAC,MAAM,OAAO,EAAE,cAAc,CAClC,EAAE;CACF,IAAI;CACJ,MAAM,kBAAkB;EACtB,IAAI,QAAQ,SAAS;GAAE,aAAa,OAAO;GAAa,WAAW,KAAK,IAAI,IAAI;EAAI,CAAC;CACvF;CACA,IAAI;EACF,SAAS,IAAI,KAAK;EAClB,OAAO,iBAAiB,WAAW,SAAS;EAC5C,OAAO,MAAM;CACf,QAAQ;EACN,SAAS,KAAK;EACd,OAAO,EAAE,cAAc,CACvB,EAAE;CACJ;CACA,OAAO,EACL,cAAc;EACZ,QAAQ,oBAAoB,WAAW,SAAS;EAChD,IAAI;GACF,QAAQ,KAAK;EACf,QAAQ,CACR;EACA,SAAS,KAAK;CAChB,EACF;AACF;AACA,MAAM,cAAc,OAAO,OAAO;CAChC;CACA;CACA;AACF,CAAC"}