one
Version:
One is a React framework for web, iOS, and Android apps.
1 lines • 2.12 kB
Source Map (JSON)
{"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"}