@appeeky/expo-healthkit 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,+BAA+B,EAC/B,+BAA+B,EAC/B,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,IAAI,EACJ,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,WAAW,GACZ,MAAM,eAAe,CAAC;AAmCvB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AAGzB,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,SAAS,gBAAgB;IACvB,OAAO,QAAQ,CAAC,EAAE,KAAK,KAAK,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;AAC5D,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACxE,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,gBAAgB,EAAE,IAAI,mBAAmB,CAAC,qBAAqB,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAgC,EAAE;IAC3E,eAAe,EAAE,CAAC;IAClB,OAAO,mBAAmB,CAAC,oBAAoB,CAAC;QAC9C,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACnC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY;IACvD,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,MAAM,mBAAmB,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAwB,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,UAAgC,EAAE;IAElC,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,MAAM,mBAAmB,CAAC,gCAAgC,CAAC;QACjE,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACnC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;KACtC,CAAC,CAA+B,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA6B;IAE7B,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC;QAC7D,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KACtC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,MAAM;QACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;KACjC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAA2B;IACpE,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC;QAC7D,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KACtC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,MAAM;QACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;KACjC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAA+B,EAAE;IACnE,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC;QACtD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;QACrC,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,MAAM;QACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAChC,mBAAmB,EAAE,MAAM,CAAC,mBAA2D;KACxF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAyC,EAAE;IAE3C,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,uBAAuB,CAAC;QAChE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;QACrC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;KAChD,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,MAAM;QACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAChC,cAAc,EAAE,MAAM,CAAC,cAA2D;QAClF,cAAc,EAAE,MAAM,CAAC,cAA2D;KACnF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAuC,EAAE;IAEzC,eAAe,EAAE,CAAC;IAClB,OAAO,mBAAmB,CAAC,sBAAsB,CAAC;QAChD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAmC;IAEnC,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC;QAC7D,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KACtC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,MAAM;QACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;KACjC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAiC,EAAE;IAEnC,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC;QACxD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KACtC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,MAAM;QACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;KACjC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAiC;IAEjC,eAAe,EAAE,CAAC;IAClB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,CAAC;QACzD,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,KAAK;QACR,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5C,GAAG,QAAQ;YACX,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;SACvC,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,MAU1B;IACC,OAAO;QACL,GAAG,MAAM;QACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAgC;IACtE,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,CAAC;QAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KACtC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,MAAM;QACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;KAC/C,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAuC,EAAE;IAEzC,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC;QAC7D,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;QACrC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;KAC3C,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,MAAM;QACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;KACjC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,eAAe,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,eAAe,CAAC;QACtD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC;KAC9B,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,KAAK;QACR,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAyC;IAEzC,eAAe,EAAE,CAAC;IAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,yBAAyB,CAAC;QAClE,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC;QAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC;QACxB,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;QAC1B,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;QACtB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC;QACxB,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC;QAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC;KAC7B,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,KAAK;QACR,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;KAChC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA6B;IAC/D,eAAe,EAAE,CAAC;IAClB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC;QACrD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;KACpC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,MAAM;YACT,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAA2B;IAClE,eAAe,EAAE,CAAC;IAClB,OAAO,mBAAmB,CAAC,kBAAkB,CAAC;QAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QAClC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;QACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAA2B;IAClE,eAAe,EAAE,CAAC;IAClB,OAAO,mBAAmB,CAAC,kBAAkB,CAAC;QAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QAClC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;QACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAqB;IACrD,eAAe,EAAE,CAAC;IAClB,OAAO,mBAAmB,CAAC,WAAW,CAAC;QACrC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC/B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAA6B;IACjE,eAAe,EAAE,CAAC;IAClB,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3E,OAAO,mBAAmB,CAAC,eAAe,CAAC;QACzC,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,SAAS;QACT,OAAO;QACP,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC;YAC3D,OAAO,EAAE,cAAc,CACrB,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,EAC3D,MAAM,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CACtC;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA6B;IAC/D,eAAe,EAAE,CAAC;IAClB,OAAO,mBAAmB,CAAC,aAAa,CAAC;QACvC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,MAAM,mBAAmB,CAAC,gBAAgB,EAAE,CAAkB,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,MAAM,mBAAmB,CAAC,YAAY,EAAE,CAAc,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,eAAe,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,MAAM,mBAAmB,CAAC,sBAAsB,EAAE,CAAwB,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,MAAM,mBAAmB,CAAC,gBAAgB,EAAE,CAAkB,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,SAA0B;IAE1B,eAAe,EAAE,CAAC;IAClB,OAAO,mBAAmB,CAAC,wBAAwB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAY;IAC1D,eAAe,EAAE,CAAC;IAClB,OAAO,mBAAmB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B;IAChD,eAAe,EAAE,CAAC;IAClB,OAAO,mBAAmB,CAAC,4BAA4B,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAwB;IACpD,eAAe,EAAE,CAAC;IAClB,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,eAAe,EAAE,CAAC;IAClB,MAAM,mBAAmB,CAAC,oBAAoB,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA2C;IAC3E,OAAO,mBAAmB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,QAAQ,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,SAAS,GAAG;IAChB,WAAW;IACX,oBAAoB;IACpB,sBAAsB;IACtB,gCAAgC;IAChC,oBAAoB;IACpB,oBAAoB;IACpB,aAAa;IACb,uBAAuB;IACvB,sBAAsB;IACtB,oBAAoB;IACpB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,eAAe;IACf,yBAAyB;IACzB,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,sBAAsB;IACtB,gBAAgB;IAChB,wBAAwB;IACxB,yBAAyB;IACzB,4BAA4B;IAC5B,OAAO;IACP,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,qBAAqB;IACrB,aAAa;IACb,UAAU;IACV,mBAAmB;IACnB,YAAY;IACZ,IAAI;IACJ,mBAAmB;IACnB,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,mBAAmB;IACnB,0BAA0B;IAC1B,aAAa;IACb,SAAS;IACT,mBAAmB;IACnB,aAAa;IACb,+BAA+B;IAC/B,+BAA+B;CAChC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import { useEvent } from 'expo';\nimport { Platform } from 'react-native';\n\nimport ExpoHealthKitModule from './ExpoHealthKitModule';\nimport { fromIso, resolveEndDate, toIso, toOptionalIso } from './dates';\nimport { HealthKitUnavailableError } from './errors';\nimport {\n AuthorizationRequestStatus,\n AuthorizationStatus,\n BiologicalSex,\n BloodType,\n CategoryType,\n CharacteristicType,\n ClinicalType,\n CorrelationType,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n ElectrocardiogramType,\n AudiogramType,\n ActivitySummaryType,\n SeriesType,\n FitzpatrickSkinType,\n QuantityType,\n SleepAnalysisValue,\n StatisticsOption,\n Unit,\n UpdateFrequency,\n WheelchairUse,\n WorkoutActivityType,\n WorkoutType,\n} from './identifiers';\nimport type {\n AnchoredQueryOptions,\n AnchoredQueryResult,\n AuthorizationOptions,\n CategorySample,\n CategorySampleInput,\n ClinicalRecord,\n ClinicalRecordQueryOptions,\n Correlation,\n CorrelationInput,\n CorrelationQueryOptions,\n DeleteObjectsOptions,\n ElectrocardiogramQueryOptions,\n ElectrocardiogramSample,\n ActivitySummary,\n ActivitySummaryQueryOptions,\n AudiogramSample,\n DateRangeQueryOptions,\n HeartbeatSeriesQueryOptions,\n HeartbeatSeriesSample,\n QuantityQueryOptions,\n QuantitySample,\n SampleQueryOptions,\n QuantitySampleInput,\n Statistics,\n StatisticsCollectionQueryOptions,\n StatisticsQueryOptions,\n WorkoutInput,\n WorkoutQueryOptions,\n WorkoutRoute,\n WorkoutRouteQueryOptions,\n WorkoutSample,\n} from './types';\n\nexport * from './identifiers';\nexport * from './errors';\nexport type * from './types';\n\nconst HK_UNLIMITED = 0;\n\nfunction isHealthPlatform(): boolean {\n return Platform.OS === 'ios' || Platform.OS === 'android';\n}\n\nfunction assertAvailable(): void {\n if (!isHealthPlatform() || !ExpoHealthKitModule.isHealthDataAvailable()) {\n throw new HealthKitUnavailableError();\n }\n}\n\nexport function isAvailable(): boolean {\n return isHealthPlatform() && ExpoHealthKitModule.isHealthDataAvailable();\n}\n\nexport async function requestAuthorization(options: AuthorizationOptions = {}): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.requestAuthorization({\n toRead: [...(options.toRead ?? [])],\n toShare: [...(options.toShare ?? [])],\n });\n}\n\nexport async function getAuthorizationStatus(type: string): Promise<AuthorizationStatus> {\n assertAvailable();\n return (await ExpoHealthKitModule.getAuthorizationStatus(type)) as AuthorizationStatus;\n}\n\nexport async function getRequestStatusForAuthorization(\n options: AuthorizationOptions = {}\n): Promise<AuthorizationRequestStatus> {\n assertAvailable();\n return (await ExpoHealthKitModule.getRequestStatusForAuthorization({\n toRead: [...(options.toRead ?? [])],\n toShare: [...(options.toShare ?? [])],\n })) as AuthorizationRequestStatus;\n}\n\nexport async function queryQuantitySamples(\n options: QuantityQueryOptions\n): Promise<QuantitySample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryQuantitySamples({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryCategorySamples(options: SampleQueryOptions): Promise<CategorySample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryCategorySamples({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryWorkouts(options: WorkoutQueryOptions = {}): Promise<WorkoutSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryWorkouts({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n activityType: options.activityType,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n workoutActivityType: sample.workoutActivityType as WorkoutSample['workoutActivityType'],\n }));\n}\n\nexport async function queryElectrocardiograms(\n options: ElectrocardiogramQueryOptions = {}\n): Promise<ElectrocardiogramSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryElectrocardiograms({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n includeVoltage: options.includeVoltage ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n classification: sample.classification as ElectrocardiogramSample['classification'],\n symptomsStatus: sample.symptomsStatus as ElectrocardiogramSample['symptomsStatus'],\n }));\n}\n\nexport async function queryActivitySummaries(\n options: ActivitySummaryQueryOptions = {}\n): Promise<ActivitySummary[]> {\n assertAvailable();\n return ExpoHealthKitModule.queryActivitySummaries({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n });\n}\n\nexport async function queryClinicalRecords(\n options: ClinicalRecordQueryOptions\n): Promise<ClinicalRecord[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryClinicalRecords({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryAudiograms(\n options: DateRangeQueryOptions = {}\n): Promise<AudiogramSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryAudiograms({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryWorkoutRoute(\n options: WorkoutRouteQueryOptions\n): Promise<WorkoutRoute[]> {\n assertAvailable();\n const routes = await ExpoHealthKitModule.queryWorkoutRoute({\n workoutUUID: options.workoutUUID,\n });\n\n return routes.map((route) => ({\n ...route,\n startDate: fromIso(route.startDate),\n endDate: fromIso(route.endDate),\n locations: route.locations.map((location) => ({\n ...location,\n timestamp: fromIso(location.timestamp),\n })),\n }));\n}\n\nfunction mapQuantitySample(sample: {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}) {\n return {\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n };\n}\n\nexport async function queryCorrelations(options: CorrelationQueryOptions): Promise<Correlation[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryCorrelations({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n objects: sample.objects.map(mapQuantitySample),\n }));\n}\n\nexport async function queryHeartbeatSeries(\n options: HeartbeatSeriesQueryOptions = {}\n): Promise<HeartbeatSeriesSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryHeartbeatSeries({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n includeBeats: options.includeBeats ?? true,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryStatistics(options: StatisticsQueryOptions): Promise<Statistics> {\n assertAvailable();\n const stats = await ExpoHealthKitModule.queryStatistics({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n options: options.options ?? 0,\n });\n\n return {\n ...stats,\n startDate: fromIso(stats.startDate),\n endDate: fromIso(stats.endDate),\n };\n}\n\nexport async function queryStatisticsCollection(\n options: StatisticsCollectionQueryOptions\n): Promise<Statistics[]> {\n assertAvailable();\n const interval = options.interval ?? { day: 1 };\n const results = await ExpoHealthKitModule.queryStatisticsCollection({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n options: options.options ?? 0,\n year: interval.year ?? 0,\n month: interval.month ?? 0,\n day: interval.day ?? 0,\n hour: interval.hour ?? 0,\n minute: interval.minute ?? 0,\n second: interval.second ?? 0,\n });\n\n return results.map((stats) => ({\n ...stats,\n startDate: fromIso(stats.startDate),\n endDate: fromIso(stats.endDate),\n }));\n}\n\nexport async function queryAnchored(options: AnchoredQueryOptions): Promise<AnchoredQueryResult> {\n assertAvailable();\n const result = await ExpoHealthKitModule.queryAnchored({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n anchor: options.anchor ?? undefined,\n });\n\n return {\n added: result.added.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n })),\n deleted: result.deleted,\n anchor: result.anchor ?? null,\n };\n}\n\nexport async function saveQuantitySample(sample: QuantitySampleInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveQuantitySample({\n type: sample.type,\n unit: sample.unit,\n value: sample.value,\n startDate: toIso(sample.startDate),\n endDate: resolveEndDate(sample.startDate, sample.endDate),\n metadata: sample.metadata,\n });\n}\n\nexport async function saveCategorySample(sample: CategorySampleInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveCategorySample({\n type: sample.type,\n value: sample.value,\n startDate: toIso(sample.startDate),\n endDate: resolveEndDate(sample.startDate, sample.endDate),\n metadata: sample.metadata,\n });\n}\n\nexport async function saveWorkout(workout: WorkoutInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveWorkout({\n activityType: workout.activityType,\n startDate: toIso(workout.startDate),\n endDate: toIso(workout.endDate),\n energyBurned: workout.energyBurned,\n energyBurnedUnit: workout.energyBurnedUnit,\n distance: workout.distance,\n distanceUnit: workout.distanceUnit,\n metadata: workout.metadata,\n });\n}\n\nexport async function saveCorrelation(correlation: CorrelationInput): Promise<string> {\n assertAvailable();\n const startDate = toIso(correlation.startDate);\n const endDate = resolveEndDate(correlation.startDate, correlation.endDate);\n return ExpoHealthKitModule.saveCorrelation({\n type: correlation.type,\n startDate,\n endDate,\n objects: correlation.objects.map((object) => ({\n type: object.type,\n unit: object.unit,\n value: object.value,\n startDate: toIso(object.startDate ?? correlation.startDate),\n endDate: resolveEndDate(\n object.endDate ?? object.startDate ?? correlation.startDate,\n object.endDate ?? correlation.endDate\n ),\n metadata: object.metadata,\n })),\n metadata: correlation.metadata,\n });\n}\n\nexport async function deleteObjects(options: DeleteObjectsOptions): Promise<number> {\n assertAvailable();\n return ExpoHealthKitModule.deleteObjects({\n uuid: options.uuid,\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n });\n}\n\nexport async function getBiologicalSex(): Promise<BiologicalSex> {\n assertAvailable();\n return (await ExpoHealthKitModule.getBiologicalSex()) as BiologicalSex;\n}\n\nexport async function getBloodType(): Promise<BloodType> {\n assertAvailable();\n return (await ExpoHealthKitModule.getBloodType()) as BloodType;\n}\n\nexport async function getDateOfBirth(): Promise<Date | null> {\n assertAvailable();\n const value = await ExpoHealthKitModule.getDateOfBirth();\n return value ? fromIso(value) : null;\n}\n\nexport async function getFitzpatrickSkinType(): Promise<FitzpatrickSkinType> {\n assertAvailable();\n return (await ExpoHealthKitModule.getFitzpatrickSkinType()) as FitzpatrickSkinType;\n}\n\nexport async function getWheelchairUse(): Promise<WheelchairUse> {\n assertAvailable();\n return (await ExpoHealthKitModule.getWheelchairUse()) as WheelchairUse;\n}\n\nexport async function enableBackgroundDelivery(\n type: string,\n frequency: UpdateFrequency\n): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.enableBackgroundDelivery(type, frequency);\n}\n\nexport async function disableBackgroundDelivery(type: string): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.disableBackgroundDelivery(type);\n}\n\nexport async function disableAllBackgroundDelivery(): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.disableAllBackgroundDelivery();\n}\n\nexport async function observe(types: readonly string[]): Promise<void> {\n assertAvailable();\n await ExpoHealthKitModule.observeTypes([...types]);\n}\n\nexport async function clearObservers(): Promise<void> {\n assertAvailable();\n await ExpoHealthKitModule.clearObserverQueries();\n}\n\nexport function addUpdateListener(listener: (event: { type: string }) => void): { remove(): void } {\n return ExpoHealthKitModule.addListener('onUpdate', listener);\n}\n\nexport function useHealthKitUpdates() {\n return useEvent(ExpoHealthKitModule, 'onUpdate');\n}\n\nconst HealthKit = {\n isAvailable,\n requestAuthorization,\n getAuthorizationStatus,\n getRequestStatusForAuthorization,\n queryQuantitySamples,\n queryCategorySamples,\n queryWorkouts,\n queryElectrocardiograms,\n queryActivitySummaries,\n queryClinicalRecords,\n queryAudiograms,\n queryWorkoutRoute,\n queryCorrelations,\n queryHeartbeatSeries,\n queryStatistics,\n queryStatisticsCollection,\n queryAnchored,\n saveQuantitySample,\n saveCategorySample,\n saveWorkout,\n saveCorrelation,\n deleteObjects,\n getBiologicalSex,\n getBloodType,\n getDateOfBirth,\n getFitzpatrickSkinType,\n getWheelchairUse,\n enableBackgroundDelivery,\n disableBackgroundDelivery,\n disableAllBackgroundDelivery,\n observe,\n clearObservers,\n addUpdateListener,\n useHealthKitUpdates,\n QuantityType,\n CategoryType,\n CharacteristicType,\n CorrelationType,\n WorkoutType,\n ElectrocardiogramType,\n AudiogramType,\n SeriesType,\n ActivitySummaryType,\n ClinicalType,\n Unit,\n WorkoutActivityType,\n SleepAnalysisValue,\n UpdateFrequency,\n StatisticsOption,\n AuthorizationStatus,\n AuthorizationRequestStatus,\n BiologicalSex,\n BloodType,\n FitzpatrickSkinType,\n WheelchairUse,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n};\n\nexport default HealthKit;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\n\nimport ExpoHealthKitModule from './ExpoHealthKitModule';\nimport { fromIso, resolveEndDate, toIso, toOptionalIso } from './dates';\nimport { HealthKitUnavailableError } from './errors';\nimport {\n AuthorizationRequestStatus,\n AuthorizationStatus,\n BiologicalSex,\n BloodType,\n CategoryType,\n CharacteristicType,\n ClinicalType,\n CorrelationType,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n ElectrocardiogramType,\n AudiogramType,\n ActivitySummaryType,\n SeriesType,\n FitzpatrickSkinType,\n QuantityType,\n SleepAnalysisValue,\n StatisticsOption,\n Unit,\n UpdateFrequency,\n WheelchairUse,\n WorkoutActivityType,\n WorkoutType,\n} from './identifiers';\nimport type {\n AnchoredQueryOptions,\n AnchoredQueryResult,\n AuthorizationOptions,\n CategorySample,\n CategorySampleInput,\n ClinicalRecord,\n ClinicalRecordQueryOptions,\n Correlation,\n CorrelationInput,\n CorrelationQueryOptions,\n DeleteObjectsOptions,\n ElectrocardiogramQueryOptions,\n ElectrocardiogramSample,\n ActivitySummary,\n ActivitySummaryQueryOptions,\n AudiogramSample,\n DateRangeQueryOptions,\n HealthUpdateEvent,\n HealthUpdateListener,\n HeartbeatSeriesQueryOptions,\n HeartbeatSeriesSample,\n NativeHealthUpdateEvent,\n QuantityQueryOptions,\n QuantitySample,\n SampleQueryOptions,\n QuantitySampleInput,\n Statistics,\n StatisticsCollectionQueryOptions,\n StatisticsQueryOptions,\n WorkoutInput,\n WorkoutQueryOptions,\n WorkoutRoute,\n WorkoutRouteQueryOptions,\n WorkoutSample,\n} from './types';\n\nexport * from './identifiers';\nexport * from './errors';\nexport type * from './types';\n\nconst HK_UNLIMITED = 0;\n\nfunction isHealthPlatform(): boolean {\n return Platform.OS === 'ios' || Platform.OS === 'android';\n}\n\nfunction assertAvailable(): void {\n if (!isHealthPlatform() || !ExpoHealthKitModule.isHealthDataAvailable()) {\n throw new HealthKitUnavailableError();\n }\n}\n\nexport function isAvailable(): boolean {\n return isHealthPlatform() && ExpoHealthKitModule.isHealthDataAvailable();\n}\n\nexport async function requestAuthorization(options: AuthorizationOptions = {}): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.requestAuthorization({\n toRead: [...(options.toRead ?? [])],\n toShare: [...(options.toShare ?? [])],\n });\n}\n\nexport async function getAuthorizationStatus(type: string): Promise<AuthorizationStatus> {\n assertAvailable();\n return (await ExpoHealthKitModule.getAuthorizationStatus(type)) as AuthorizationStatus;\n}\n\nexport async function getRequestStatusForAuthorization(\n options: AuthorizationOptions = {}\n): Promise<AuthorizationRequestStatus> {\n assertAvailable();\n return (await ExpoHealthKitModule.getRequestStatusForAuthorization({\n toRead: [...(options.toRead ?? [])],\n toShare: [...(options.toShare ?? [])],\n })) as AuthorizationRequestStatus;\n}\n\nexport async function queryQuantitySamples(\n options: QuantityQueryOptions\n): Promise<QuantitySample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryQuantitySamples({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryCategorySamples(options: SampleQueryOptions): Promise<CategorySample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryCategorySamples({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryWorkouts(options: WorkoutQueryOptions = {}): Promise<WorkoutSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryWorkouts({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n activityType: options.activityType,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n workoutActivityType: sample.workoutActivityType as WorkoutSample['workoutActivityType'],\n }));\n}\n\nexport async function queryElectrocardiograms(\n options: ElectrocardiogramQueryOptions = {}\n): Promise<ElectrocardiogramSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryElectrocardiograms({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n includeVoltage: options.includeVoltage ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n classification: sample.classification as ElectrocardiogramSample['classification'],\n symptomsStatus: sample.symptomsStatus as ElectrocardiogramSample['symptomsStatus'],\n }));\n}\n\nexport async function queryActivitySummaries(\n options: ActivitySummaryQueryOptions = {}\n): Promise<ActivitySummary[]> {\n assertAvailable();\n return ExpoHealthKitModule.queryActivitySummaries({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n });\n}\n\nexport async function queryClinicalRecords(\n options: ClinicalRecordQueryOptions\n): Promise<ClinicalRecord[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryClinicalRecords({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryAudiograms(\n options: DateRangeQueryOptions = {}\n): Promise<AudiogramSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryAudiograms({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryWorkoutRoute(\n options: WorkoutRouteQueryOptions\n): Promise<WorkoutRoute[]> {\n assertAvailable();\n const routes = await ExpoHealthKitModule.queryWorkoutRoute({\n workoutUUID: options.workoutUUID,\n });\n\n return routes.map((route) => ({\n ...route,\n startDate: fromIso(route.startDate),\n endDate: fromIso(route.endDate),\n locations: route.locations.map((location) => ({\n ...location,\n timestamp: fromIso(location.timestamp),\n })),\n }));\n}\n\nfunction mapQuantitySample(sample: {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}) {\n return {\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n };\n}\n\nexport async function queryCorrelations(options: CorrelationQueryOptions): Promise<Correlation[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryCorrelations({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n objects: sample.objects.map(mapQuantitySample),\n }));\n}\n\nexport async function queryHeartbeatSeries(\n options: HeartbeatSeriesQueryOptions = {}\n): Promise<HeartbeatSeriesSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryHeartbeatSeries({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n includeBeats: options.includeBeats ?? true,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryStatistics(options: StatisticsQueryOptions): Promise<Statistics> {\n assertAvailable();\n const stats = await ExpoHealthKitModule.queryStatistics({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n options: options.options ?? 0,\n });\n\n return {\n ...stats,\n startDate: fromIso(stats.startDate),\n endDate: fromIso(stats.endDate),\n };\n}\n\nexport async function queryStatisticsCollection(\n options: StatisticsCollectionQueryOptions\n): Promise<Statistics[]> {\n assertAvailable();\n const interval = options.interval ?? { day: 1 };\n const results = await ExpoHealthKitModule.queryStatisticsCollection({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n options: options.options ?? 0,\n year: interval.year ?? 0,\n month: interval.month ?? 0,\n day: interval.day ?? 0,\n hour: interval.hour ?? 0,\n minute: interval.minute ?? 0,\n second: interval.second ?? 0,\n });\n\n return results.map((stats) => ({\n ...stats,\n startDate: fromIso(stats.startDate),\n endDate: fromIso(stats.endDate),\n }));\n}\n\nexport async function queryAnchored(options: AnchoredQueryOptions): Promise<AnchoredQueryResult> {\n assertAvailable();\n const result = await ExpoHealthKitModule.queryAnchored({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n anchor: options.anchor ?? undefined,\n });\n\n return {\n added: result.added.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n })),\n deleted: result.deleted,\n anchor: result.anchor ?? null,\n };\n}\n\nexport async function saveQuantitySample(sample: QuantitySampleInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveQuantitySample({\n type: sample.type,\n unit: sample.unit,\n value: sample.value,\n startDate: toIso(sample.startDate),\n endDate: resolveEndDate(sample.startDate, sample.endDate),\n metadata: sample.metadata,\n });\n}\n\nexport async function saveCategorySample(sample: CategorySampleInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveCategorySample({\n type: sample.type,\n value: sample.value,\n startDate: toIso(sample.startDate),\n endDate: resolveEndDate(sample.startDate, sample.endDate),\n metadata: sample.metadata,\n });\n}\n\nexport async function saveWorkout(workout: WorkoutInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveWorkout({\n activityType: workout.activityType,\n startDate: toIso(workout.startDate),\n endDate: toIso(workout.endDate),\n energyBurned: workout.energyBurned,\n energyBurnedUnit: workout.energyBurnedUnit,\n distance: workout.distance,\n distanceUnit: workout.distanceUnit,\n metadata: workout.metadata,\n });\n}\n\nexport async function saveCorrelation(correlation: CorrelationInput): Promise<string> {\n assertAvailable();\n const startDate = toIso(correlation.startDate);\n const endDate = resolveEndDate(correlation.startDate, correlation.endDate);\n return ExpoHealthKitModule.saveCorrelation({\n type: correlation.type,\n startDate,\n endDate,\n objects: correlation.objects.map((object) => ({\n type: object.type,\n unit: object.unit,\n value: object.value,\n startDate: toIso(object.startDate ?? correlation.startDate),\n endDate: resolveEndDate(\n object.endDate ?? object.startDate ?? correlation.startDate,\n object.endDate ?? correlation.endDate\n ),\n metadata: object.metadata,\n })),\n metadata: correlation.metadata,\n });\n}\n\nexport async function deleteObjects(options: DeleteObjectsOptions): Promise<number> {\n assertAvailable();\n return ExpoHealthKitModule.deleteObjects({\n uuid: options.uuid,\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n });\n}\n\nexport async function getBiologicalSex(): Promise<BiologicalSex> {\n assertAvailable();\n return (await ExpoHealthKitModule.getBiologicalSex()) as BiologicalSex;\n}\n\nexport async function getBloodType(): Promise<BloodType> {\n assertAvailable();\n return (await ExpoHealthKitModule.getBloodType()) as BloodType;\n}\n\nexport async function getDateOfBirth(): Promise<Date | null> {\n assertAvailable();\n const value = await ExpoHealthKitModule.getDateOfBirth();\n return value ? fromIso(value) : null;\n}\n\nexport async function getFitzpatrickSkinType(): Promise<FitzpatrickSkinType> {\n assertAvailable();\n return (await ExpoHealthKitModule.getFitzpatrickSkinType()) as FitzpatrickSkinType;\n}\n\nexport async function getWheelchairUse(): Promise<WheelchairUse> {\n assertAvailable();\n return (await ExpoHealthKitModule.getWheelchairUse()) as WheelchairUse;\n}\n\nexport async function enableBackgroundDelivery(\n type: string,\n frequency: UpdateFrequency\n): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.enableBackgroundDelivery(type, frequency);\n}\n\nexport async function disableBackgroundDelivery(type: string): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.disableBackgroundDelivery(type);\n}\n\nexport async function disableAllBackgroundDelivery(): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.disableAllBackgroundDelivery();\n}\n\nexport async function observe(types: readonly string[]): Promise<void> {\n assertAvailable();\n await ExpoHealthKitModule.observeTypes([...types]);\n}\n\nexport async function clearObservers(): Promise<void> {\n assertAvailable();\n await ExpoHealthKitModule.clearObserverQueries();\n}\n\n/**\n * Types currently registered with `observe`. Persisted natively on iOS, so it\n * reflects observers re-registered at cold launch too.\n */\nexport async function getObservedTypes(): Promise<string[]> {\n if (!isAvailable()) return [];\n return ExpoHealthKitModule.getObservedTypes();\n}\n\nconst updateListeners = new Set<HealthUpdateListener>();\nlet nativeUpdateSubscription: { remove(): void } | null = null;\n\nfunction runListener(listener: HealthUpdateListener, event: HealthUpdateEvent): Promise<void> {\n try {\n return Promise.resolve(listener(event));\n } catch (error) {\n return Promise.reject(error);\n }\n}\n\nfunction handleNativeUpdate(nativeEvent: NativeHealthUpdateEvent): void {\n const { token, type } = nativeEvent;\n const event: HealthUpdateEvent = { type };\n const results = [...updateListeners].map((listener) => runListener(listener, event));\n\n Promise.allSettled(results).then((settled) => {\n if (__DEV__) {\n for (const result of settled) {\n if (result.status === 'rejected') {\n console.warn('[expo-healthkit] update listener threw', result.reason);\n }\n }\n }\n if (token) {\n ExpoHealthKitModule.completeUpdate(token).catch(() => {});\n }\n });\n}\n\n/**\n * Subscribe to observer / background-delivery updates. Return a promise from the\n * listener to hold the iOS completion handler until your async work is done.\n */\nexport function addUpdateListener(listener: HealthUpdateListener): { remove(): void } {\n updateListeners.add(listener);\n if (!nativeUpdateSubscription) {\n nativeUpdateSubscription = ExpoHealthKitModule.addListener('onUpdate', handleNativeUpdate);\n }\n\n return {\n remove() {\n updateListeners.delete(listener);\n if (updateListeners.size === 0 && nativeUpdateSubscription) {\n nativeUpdateSubscription.remove();\n nativeUpdateSubscription = null;\n }\n },\n };\n}\n\nexport function useHealthKitUpdates(): HealthUpdateEvent | null {\n const [event, setEvent] = useState<HealthUpdateEvent | null>(null);\n\n useEffect(() => {\n const subscription = addUpdateListener((next) => setEvent(next));\n return () => subscription.remove();\n }, []);\n\n return event;\n}\n\nconst HealthKit = {\n isAvailable,\n requestAuthorization,\n getAuthorizationStatus,\n getRequestStatusForAuthorization,\n queryQuantitySamples,\n queryCategorySamples,\n queryWorkouts,\n queryElectrocardiograms,\n queryActivitySummaries,\n queryClinicalRecords,\n queryAudiograms,\n queryWorkoutRoute,\n queryCorrelations,\n queryHeartbeatSeries,\n queryStatistics,\n queryStatisticsCollection,\n queryAnchored,\n saveQuantitySample,\n saveCategorySample,\n saveWorkout,\n saveCorrelation,\n deleteObjects,\n getBiologicalSex,\n getBloodType,\n getDateOfBirth,\n getFitzpatrickSkinType,\n getWheelchairUse,\n enableBackgroundDelivery,\n disableBackgroundDelivery,\n disableAllBackgroundDelivery,\n observe,\n clearObservers,\n getObservedTypes,\n addUpdateListener,\n useHealthKitUpdates,\n QuantityType,\n CategoryType,\n CharacteristicType,\n CorrelationType,\n WorkoutType,\n ElectrocardiogramType,\n AudiogramType,\n SeriesType,\n ActivitySummaryType,\n ClinicalType,\n Unit,\n WorkoutActivityType,\n SleepAnalysisValue,\n UpdateFrequency,\n StatisticsOption,\n AuthorizationStatus,\n AuthorizationRequestStatus,\n BiologicalSex,\n BloodType,\n FitzpatrickSkinType,\n WheelchairUse,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n};\n\nexport default HealthKit;\n"]}
package/build/types.d.ts CHANGED
@@ -272,8 +272,18 @@ export interface AnchoredQueryResult {
272
272
  export interface HealthUpdateEvent {
273
273
  type: string;
274
274
  }
275
+ /**
276
+ * Return a promise to keep the app alive (and the HealthKit completion handler
277
+ * pending) until your async work finishes. Resolves are awaited across all
278
+ * listeners; native times out after ~25s regardless.
279
+ */
280
+ export type HealthUpdateListener = (event: HealthUpdateEvent) => void | Promise<void>;
281
+ export interface NativeHealthUpdateEvent extends HealthUpdateEvent {
282
+ /** Present on iOS. Passed back via `completeUpdate` once listeners finish. */
283
+ token?: string;
284
+ }
275
285
  export type ExpoHealthKitModuleEvents = {
276
- onUpdate: (event: HealthUpdateEvent) => void;
286
+ onUpdate: (event: NativeHealthUpdateEvent) => void;
277
287
  };
278
288
  export interface NativeAuthorizationOptions {
279
289
  toRead: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ClinicalType,\n CorrelationType,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n ObjectType,\n WorkoutActivityType,\n} from './identifiers';\n\nexport type DateInput = Date | string;\n\nexport interface AuthorizationOptions {\n toRead?: readonly ObjectType[];\n toShare?: readonly ObjectType[];\n}\n\nexport interface SampleQueryOptions {\n type: ObjectType;\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n}\n\nexport interface QuantityQueryOptions extends SampleQueryOptions {\n unit: string;\n}\n\nexport interface WorkoutQueryOptions {\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n activityType?: WorkoutActivityType;\n}\n\nexport interface StatisticsQueryOptions {\n type: ObjectType;\n unit: string;\n from?: DateInput;\n to?: DateInput;\n /** Bitmask of `StatisticsOption` values. Combine with bitwise OR. */\n options?: number;\n}\n\nexport interface DateInterval {\n year?: number;\n month?: number;\n day?: number;\n hour?: number;\n minute?: number;\n second?: number;\n}\n\nexport interface StatisticsCollectionQueryOptions extends StatisticsQueryOptions {\n interval?: DateInterval;\n}\n\nexport interface AnchoredQueryOptions extends SampleQueryOptions {\n unit?: string;\n /** Opaque token returned by a previous anchored query. */\n anchor?: string | null;\n}\n\nexport interface QuantitySampleInput {\n type: ObjectType;\n unit: string;\n value: number;\n startDate: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface CategorySampleInput {\n type: ObjectType;\n value: number;\n startDate: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface WorkoutInput {\n activityType: WorkoutActivityType;\n startDate: DateInput;\n endDate: DateInput;\n energyBurned?: number;\n energyBurnedUnit?: string;\n distance?: number;\n distanceUnit?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface DeleteObjectsOptions {\n uuid?: string;\n type?: ObjectType;\n from?: DateInput;\n to?: DateInput;\n}\n\nexport interface DateRangeQueryOptions {\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n}\n\nexport interface ElectrocardiogramQueryOptions extends DateRangeQueryOptions {\n includeVoltage?: boolean;\n}\n\nexport interface ActivitySummaryQueryOptions {\n from?: DateInput;\n to?: DateInput;\n}\n\nexport interface ClinicalRecordQueryOptions extends DateRangeQueryOptions {\n type: ClinicalType | (string & {});\n}\n\nexport interface WorkoutRouteQueryOptions {\n workoutUUID: string;\n}\n\nexport interface CorrelationQueryOptions extends DateRangeQueryOptions {\n type: CorrelationType | (string & {});\n}\n\nexport interface CorrelationObjectInput {\n type: ObjectType;\n unit: string;\n value: number;\n startDate?: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface CorrelationInput {\n type: CorrelationType | (string & {});\n startDate: DateInput;\n endDate?: DateInput;\n objects: readonly CorrelationObjectInput[];\n metadata?: Record<string, string>;\n}\n\nexport interface HeartbeatSeriesQueryOptions extends DateRangeQueryOptions {\n /** Default `true`. `false` returns series metadata without beat timestamps. */\n includeBeats?: boolean;\n}\n\nexport interface Correlation {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n objects: QuantitySample[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface Heartbeat {\n timeSinceSeriesStart: number;\n precededByGap: boolean;\n}\n\nexport interface HeartbeatSeriesSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n count: number;\n beats?: Heartbeat[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface QuantitySample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface CategorySample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n value: number;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface WorkoutSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n duration: number;\n workoutActivityType: WorkoutActivityType;\n totalEnergyBurned?: number;\n totalEnergyBurnedUnit?: string;\n totalDistance?: number;\n totalDistanceUnit?: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface ElectrocardiogramVoltageMeasurement {\n timeSinceSampleStart: number;\n voltage: number;\n unit: string;\n}\n\nexport interface ElectrocardiogramSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n classification: ElectrocardiogramClassification;\n symptomsStatus: ElectrocardiogramSymptomsStatus;\n averageHeartRate?: number;\n samplingFrequency?: number;\n numberOfVoltageMeasurements: number;\n voltageMeasurements?: ElectrocardiogramVoltageMeasurement[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface AudiogramSensitivityPoint {\n frequency: number;\n leftEarSensitivity?: number;\n rightEarSensitivity?: number;\n}\n\nexport interface AudiogramSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n sensitivityPoints: AudiogramSensitivityPoint[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface ActivitySummary {\n date: string;\n activeEnergyBurned: number;\n appleExerciseTime: number;\n appleStandHours: number;\n activeEnergyBurnedGoal: number;\n appleExerciseTimeGoal: number;\n appleStandHoursGoal: number;\n appleMoveTime?: number;\n appleMoveTimeGoal?: number;\n}\n\nexport interface ClinicalRecord {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n displayName: string;\n fhirResourceType?: string;\n fhirJson?: string;\n sourceName?: string;\n sourceId?: string;\n}\n\nexport interface WorkoutRouteLocation {\n latitude: number;\n longitude: number;\n altitude?: number;\n timestamp: Date;\n speed?: number;\n course?: number;\n}\n\nexport interface WorkoutRoute {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n locations: WorkoutRouteLocation[];\n}\n\nexport interface DeletedSample {\n uuid: string;\n type?: string;\n}\n\nexport interface Statistics {\n startDate: Date;\n endDate: Date;\n unit: string;\n sum?: number;\n min?: number;\n max?: number;\n average?: number;\n mostRecent?: number;\n}\n\nexport interface AnchoredQueryResult {\n added: QuantitySample[];\n deleted: DeletedSample[];\n anchor: string | null;\n}\n\nexport interface HealthUpdateEvent {\n type: string;\n}\n\nexport type ExpoHealthKitModuleEvents = {\n onUpdate: (event: HealthUpdateEvent) => void;\n};\n\nexport interface NativeAuthorizationOptions {\n toRead: string[];\n toShare: string[];\n}\n\nexport interface NativeQuantityQueryOptions {\n type: string;\n unit: string;\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeCategoryQueryOptions {\n type: string;\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeWorkoutQueryOptions {\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n activityType?: number;\n}\n\nexport interface NativeStatisticsQueryOptions {\n type: string;\n unit: string;\n from?: string;\n to?: string;\n options: number;\n}\n\nexport interface NativeStatisticsCollectionQueryOptions extends NativeStatisticsQueryOptions {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n}\n\nexport interface NativeAnchoredQueryOptions {\n type: string;\n unit?: string;\n from?: string;\n to?: string;\n limit: number;\n anchor?: string;\n}\n\nexport interface NativeQuantitySampleInput {\n type: string;\n unit: string;\n value: number;\n startDate: string;\n endDate: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeCategorySampleInput {\n type: string;\n value: number;\n startDate: string;\n endDate: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeWorkoutInput {\n activityType: number;\n startDate: string;\n endDate: string;\n energyBurned?: number;\n energyBurnedUnit?: string;\n distance?: number;\n distanceUnit?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeDeleteObjectsOptions {\n uuid?: string;\n type?: string;\n from?: string;\n to?: string;\n}\n\nexport interface NativeQuantitySample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeCategorySample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeWorkoutSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n duration: number;\n workoutActivityType: number;\n totalEnergyBurned?: number;\n totalEnergyBurnedUnit?: string;\n totalDistance?: number;\n totalDistanceUnit?: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeDeletedSample {\n uuid: string;\n type?: string;\n}\n\nexport interface NativeStatistics {\n startDate: string;\n endDate: string;\n unit: string;\n sum?: number;\n min?: number;\n max?: number;\n average?: number;\n mostRecent?: number;\n}\n\nexport interface NativeAnchoredQueryResult {\n added: NativeQuantitySample[];\n deleted: NativeDeletedSample[];\n anchor?: string;\n}\n\nexport interface NativeDateRangeQueryOptions {\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeElectrocardiogramQueryOptions extends NativeDateRangeQueryOptions {\n includeVoltage: boolean;\n}\n\nexport interface NativeActivitySummaryQueryOptions {\n from?: string;\n to?: string;\n}\n\nexport interface NativeClinicalRecordQueryOptions extends NativeDateRangeQueryOptions {\n type: string;\n}\n\nexport interface NativeWorkoutRouteQueryOptions {\n workoutUUID: string;\n}\n\nexport interface NativeElectrocardiogramVoltageMeasurement {\n timeSinceSampleStart: number;\n voltage: number;\n unit: string;\n}\n\nexport interface NativeElectrocardiogramSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n classification: number;\n symptomsStatus: number;\n averageHeartRate?: number;\n samplingFrequency?: number;\n numberOfVoltageMeasurements: number;\n voltageMeasurements?: NativeElectrocardiogramVoltageMeasurement[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeAudiogramSensitivityPoint {\n frequency: number;\n leftEarSensitivity?: number;\n rightEarSensitivity?: number;\n}\n\nexport interface NativeAudiogramSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n sensitivityPoints: NativeAudiogramSensitivityPoint[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeActivitySummary {\n date: string;\n activeEnergyBurned: number;\n appleExerciseTime: number;\n appleStandHours: number;\n activeEnergyBurnedGoal: number;\n appleExerciseTimeGoal: number;\n appleStandHoursGoal: number;\n appleMoveTime?: number;\n appleMoveTimeGoal?: number;\n}\n\nexport interface NativeClinicalRecord {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n displayName: string;\n fhirResourceType?: string;\n fhirJson?: string;\n sourceName?: string;\n sourceId?: string;\n}\n\nexport interface NativeWorkoutRouteLocation {\n latitude: number;\n longitude: number;\n altitude?: number;\n timestamp: string;\n speed?: number;\n course?: number;\n}\n\nexport interface NativeWorkoutRoute {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n locations: NativeWorkoutRouteLocation[];\n}\n\nexport interface NativeCorrelationQueryOptions extends NativeDateRangeQueryOptions {\n type: string;\n}\n\nexport interface NativeCorrelationInput {\n type: string;\n startDate: string;\n endDate: string;\n objects: NativeQuantitySampleInput[];\n metadata?: Record<string, string>;\n}\n\nexport interface NativeHeartbeatSeriesQueryOptions extends NativeDateRangeQueryOptions {\n includeBeats: boolean;\n}\n\nexport interface NativeCorrelation {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n objects: NativeQuantitySample[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeHeartbeat {\n timeSinceSeriesStart: number;\n precededByGap: boolean;\n}\n\nexport interface NativeHeartbeatSeriesSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n count: number;\n beats?: NativeHeartbeat[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ClinicalType,\n CorrelationType,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n ObjectType,\n WorkoutActivityType,\n} from './identifiers';\n\nexport type DateInput = Date | string;\n\nexport interface AuthorizationOptions {\n toRead?: readonly ObjectType[];\n toShare?: readonly ObjectType[];\n}\n\nexport interface SampleQueryOptions {\n type: ObjectType;\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n}\n\nexport interface QuantityQueryOptions extends SampleQueryOptions {\n unit: string;\n}\n\nexport interface WorkoutQueryOptions {\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n activityType?: WorkoutActivityType;\n}\n\nexport interface StatisticsQueryOptions {\n type: ObjectType;\n unit: string;\n from?: DateInput;\n to?: DateInput;\n /** Bitmask of `StatisticsOption` values. Combine with bitwise OR. */\n options?: number;\n}\n\nexport interface DateInterval {\n year?: number;\n month?: number;\n day?: number;\n hour?: number;\n minute?: number;\n second?: number;\n}\n\nexport interface StatisticsCollectionQueryOptions extends StatisticsQueryOptions {\n interval?: DateInterval;\n}\n\nexport interface AnchoredQueryOptions extends SampleQueryOptions {\n unit?: string;\n /** Opaque token returned by a previous anchored query. */\n anchor?: string | null;\n}\n\nexport interface QuantitySampleInput {\n type: ObjectType;\n unit: string;\n value: number;\n startDate: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface CategorySampleInput {\n type: ObjectType;\n value: number;\n startDate: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface WorkoutInput {\n activityType: WorkoutActivityType;\n startDate: DateInput;\n endDate: DateInput;\n energyBurned?: number;\n energyBurnedUnit?: string;\n distance?: number;\n distanceUnit?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface DeleteObjectsOptions {\n uuid?: string;\n type?: ObjectType;\n from?: DateInput;\n to?: DateInput;\n}\n\nexport interface DateRangeQueryOptions {\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n}\n\nexport interface ElectrocardiogramQueryOptions extends DateRangeQueryOptions {\n includeVoltage?: boolean;\n}\n\nexport interface ActivitySummaryQueryOptions {\n from?: DateInput;\n to?: DateInput;\n}\n\nexport interface ClinicalRecordQueryOptions extends DateRangeQueryOptions {\n type: ClinicalType | (string & {});\n}\n\nexport interface WorkoutRouteQueryOptions {\n workoutUUID: string;\n}\n\nexport interface CorrelationQueryOptions extends DateRangeQueryOptions {\n type: CorrelationType | (string & {});\n}\n\nexport interface CorrelationObjectInput {\n type: ObjectType;\n unit: string;\n value: number;\n startDate?: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface CorrelationInput {\n type: CorrelationType | (string & {});\n startDate: DateInput;\n endDate?: DateInput;\n objects: readonly CorrelationObjectInput[];\n metadata?: Record<string, string>;\n}\n\nexport interface HeartbeatSeriesQueryOptions extends DateRangeQueryOptions {\n /** Default `true`. `false` returns series metadata without beat timestamps. */\n includeBeats?: boolean;\n}\n\nexport interface Correlation {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n objects: QuantitySample[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface Heartbeat {\n timeSinceSeriesStart: number;\n precededByGap: boolean;\n}\n\nexport interface HeartbeatSeriesSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n count: number;\n beats?: Heartbeat[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface QuantitySample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface CategorySample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n value: number;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface WorkoutSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n duration: number;\n workoutActivityType: WorkoutActivityType;\n totalEnergyBurned?: number;\n totalEnergyBurnedUnit?: string;\n totalDistance?: number;\n totalDistanceUnit?: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface ElectrocardiogramVoltageMeasurement {\n timeSinceSampleStart: number;\n voltage: number;\n unit: string;\n}\n\nexport interface ElectrocardiogramSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n classification: ElectrocardiogramClassification;\n symptomsStatus: ElectrocardiogramSymptomsStatus;\n averageHeartRate?: number;\n samplingFrequency?: number;\n numberOfVoltageMeasurements: number;\n voltageMeasurements?: ElectrocardiogramVoltageMeasurement[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface AudiogramSensitivityPoint {\n frequency: number;\n leftEarSensitivity?: number;\n rightEarSensitivity?: number;\n}\n\nexport interface AudiogramSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n sensitivityPoints: AudiogramSensitivityPoint[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface ActivitySummary {\n date: string;\n activeEnergyBurned: number;\n appleExerciseTime: number;\n appleStandHours: number;\n activeEnergyBurnedGoal: number;\n appleExerciseTimeGoal: number;\n appleStandHoursGoal: number;\n appleMoveTime?: number;\n appleMoveTimeGoal?: number;\n}\n\nexport interface ClinicalRecord {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n displayName: string;\n fhirResourceType?: string;\n fhirJson?: string;\n sourceName?: string;\n sourceId?: string;\n}\n\nexport interface WorkoutRouteLocation {\n latitude: number;\n longitude: number;\n altitude?: number;\n timestamp: Date;\n speed?: number;\n course?: number;\n}\n\nexport interface WorkoutRoute {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n locations: WorkoutRouteLocation[];\n}\n\nexport interface DeletedSample {\n uuid: string;\n type?: string;\n}\n\nexport interface Statistics {\n startDate: Date;\n endDate: Date;\n unit: string;\n sum?: number;\n min?: number;\n max?: number;\n average?: number;\n mostRecent?: number;\n}\n\nexport interface AnchoredQueryResult {\n added: QuantitySample[];\n deleted: DeletedSample[];\n anchor: string | null;\n}\n\nexport interface HealthUpdateEvent {\n type: string;\n}\n\n/**\n * Return a promise to keep the app alive (and the HealthKit completion handler\n * pending) until your async work finishes. Resolves are awaited across all\n * listeners; native times out after ~25s regardless.\n */\nexport type HealthUpdateListener = (event: HealthUpdateEvent) => void | Promise<void>;\n\nexport interface NativeHealthUpdateEvent extends HealthUpdateEvent {\n /** Present on iOS. Passed back via `completeUpdate` once listeners finish. */\n token?: string;\n}\n\nexport type ExpoHealthKitModuleEvents = {\n onUpdate: (event: NativeHealthUpdateEvent) => void;\n};\n\nexport interface NativeAuthorizationOptions {\n toRead: string[];\n toShare: string[];\n}\n\nexport interface NativeQuantityQueryOptions {\n type: string;\n unit: string;\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeCategoryQueryOptions {\n type: string;\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeWorkoutQueryOptions {\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n activityType?: number;\n}\n\nexport interface NativeStatisticsQueryOptions {\n type: string;\n unit: string;\n from?: string;\n to?: string;\n options: number;\n}\n\nexport interface NativeStatisticsCollectionQueryOptions extends NativeStatisticsQueryOptions {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n}\n\nexport interface NativeAnchoredQueryOptions {\n type: string;\n unit?: string;\n from?: string;\n to?: string;\n limit: number;\n anchor?: string;\n}\n\nexport interface NativeQuantitySampleInput {\n type: string;\n unit: string;\n value: number;\n startDate: string;\n endDate: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeCategorySampleInput {\n type: string;\n value: number;\n startDate: string;\n endDate: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeWorkoutInput {\n activityType: number;\n startDate: string;\n endDate: string;\n energyBurned?: number;\n energyBurnedUnit?: string;\n distance?: number;\n distanceUnit?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeDeleteObjectsOptions {\n uuid?: string;\n type?: string;\n from?: string;\n to?: string;\n}\n\nexport interface NativeQuantitySample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeCategorySample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeWorkoutSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n duration: number;\n workoutActivityType: number;\n totalEnergyBurned?: number;\n totalEnergyBurnedUnit?: string;\n totalDistance?: number;\n totalDistanceUnit?: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeDeletedSample {\n uuid: string;\n type?: string;\n}\n\nexport interface NativeStatistics {\n startDate: string;\n endDate: string;\n unit: string;\n sum?: number;\n min?: number;\n max?: number;\n average?: number;\n mostRecent?: number;\n}\n\nexport interface NativeAnchoredQueryResult {\n added: NativeQuantitySample[];\n deleted: NativeDeletedSample[];\n anchor?: string;\n}\n\nexport interface NativeDateRangeQueryOptions {\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeElectrocardiogramQueryOptions extends NativeDateRangeQueryOptions {\n includeVoltage: boolean;\n}\n\nexport interface NativeActivitySummaryQueryOptions {\n from?: string;\n to?: string;\n}\n\nexport interface NativeClinicalRecordQueryOptions extends NativeDateRangeQueryOptions {\n type: string;\n}\n\nexport interface NativeWorkoutRouteQueryOptions {\n workoutUUID: string;\n}\n\nexport interface NativeElectrocardiogramVoltageMeasurement {\n timeSinceSampleStart: number;\n voltage: number;\n unit: string;\n}\n\nexport interface NativeElectrocardiogramSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n classification: number;\n symptomsStatus: number;\n averageHeartRate?: number;\n samplingFrequency?: number;\n numberOfVoltageMeasurements: number;\n voltageMeasurements?: NativeElectrocardiogramVoltageMeasurement[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeAudiogramSensitivityPoint {\n frequency: number;\n leftEarSensitivity?: number;\n rightEarSensitivity?: number;\n}\n\nexport interface NativeAudiogramSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n sensitivityPoints: NativeAudiogramSensitivityPoint[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeActivitySummary {\n date: string;\n activeEnergyBurned: number;\n appleExerciseTime: number;\n appleStandHours: number;\n activeEnergyBurnedGoal: number;\n appleExerciseTimeGoal: number;\n appleStandHoursGoal: number;\n appleMoveTime?: number;\n appleMoveTimeGoal?: number;\n}\n\nexport interface NativeClinicalRecord {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n displayName: string;\n fhirResourceType?: string;\n fhirJson?: string;\n sourceName?: string;\n sourceId?: string;\n}\n\nexport interface NativeWorkoutRouteLocation {\n latitude: number;\n longitude: number;\n altitude?: number;\n timestamp: string;\n speed?: number;\n course?: number;\n}\n\nexport interface NativeWorkoutRoute {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n locations: NativeWorkoutRouteLocation[];\n}\n\nexport interface NativeCorrelationQueryOptions extends NativeDateRangeQueryOptions {\n type: string;\n}\n\nexport interface NativeCorrelationInput {\n type: string;\n startDate: string;\n endDate: string;\n objects: NativeQuantitySampleInput[];\n metadata?: Record<string, string>;\n}\n\nexport interface NativeHeartbeatSeriesQueryOptions extends NativeDateRangeQueryOptions {\n includeBeats: boolean;\n}\n\nexport interface NativeCorrelation {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n objects: NativeQuantitySample[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeHeartbeat {\n timeSinceSeriesStart: number;\n precededByGap: boolean;\n}\n\nexport interface NativeHeartbeatSeriesSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n count: number;\n beats?: NativeHeartbeat[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n"]}
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "platforms": ["apple", "android"],
3
3
  "apple": {
4
- "modules": ["ExpoHealthKitModule"]
4
+ "modules": ["ExpoHealthKitModule"],
5
+ "appDelegateSubscribers": ["HealthKitAppDelegateSubscriber"]
5
6
  },
6
7
  "android": {
7
8
  "modules": ["expo.modules.healthkit.ExpoHealthKitModule"]
@@ -9,15 +9,13 @@ public class ExpoHealthKitModule: Module {
9
9
  Events("onUpdate")
10
10
 
11
11
  OnCreate {
12
- self.service.onUpdate = { type in
13
- self.sendEvent("onUpdate", [
14
- "type": type
15
- ])
16
- }
12
+ // Fallback for apps that don't run the Expo AppDelegate subscriber.
13
+ HealthKitObserverCenter.shared.restore()
17
14
  }
18
15
 
19
16
  OnDestroy {
20
- self.service.stopObserving()
17
+ // Observer queries intentionally survive module teardown (JS reload).
18
+ HealthKitObserverCenter.shared.setEmitter(nil)
21
19
  }
22
20
 
23
21
  Function("isHealthDataAvailable") {
@@ -141,15 +139,30 @@ public class ExpoHealthKitModule: Module {
141
139
  }
142
140
 
143
141
  AsyncFunction("observeTypes") { (types: [String]) in
144
- try self.service.startObserving(types)
142
+ try HealthKitObserverCenter.shared.observe(types)
145
143
  }
146
144
 
147
145
  AsyncFunction("clearObserverQueries") {
148
- self.service.stopObserving()
146
+ HealthKitObserverCenter.shared.clear()
147
+ }
148
+
149
+ AsyncFunction("getObservedTypes") {
150
+ HealthKitObserverCenter.shared.observedTypes()
151
+ }
152
+
153
+ AsyncFunction("completeUpdate") { (token: String) in
154
+ HealthKitObserverCenter.shared.completeUpdate(token: token)
155
+ }
156
+
157
+ OnStartObserving("onUpdate") {
158
+ HealthKitObserverCenter.shared.setEmitter { [weak self] event in
159
+ self?.sendEvent("onUpdate", event)
160
+ }
149
161
  }
150
162
 
151
163
  OnStopObserving("onUpdate") {
152
- self.service.stopObserving()
164
+ // Keep queries alive; only detach the JS sink so deliveries queue again.
165
+ HealthKitObserverCenter.shared.setEmitter(nil)
153
166
  }
154
167
  }
155
168
  }
@@ -0,0 +1,14 @@
1
+ import ExpoModulesCore
2
+
3
+ /// Re-registers persisted HealthKit observer queries as soon as the app process
4
+ /// starts, before the JS runtime boots. Required for background delivery to work
5
+ /// when iOS relaunches a killed app.
6
+ public final class HealthKitAppDelegateSubscriber: ExpoAppDelegateSubscriber {
7
+ public func application(
8
+ _ application: UIApplication,
9
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
10
+ ) -> Bool {
11
+ HealthKitObserverCenter.shared.restore()
12
+ return true
13
+ }
14
+ }
@@ -0,0 +1,199 @@
1
+ import HealthKit
2
+ import OSLog
3
+ import UIKit
4
+
5
+ private let observerLog = Logger(subsystem: "expo-healthkit", category: "observer")
6
+
7
+ /// Process-wide owner of `HKObserverQuery`s.
8
+ ///
9
+ /// Lives outside the Expo module instance so observers survive JS reloads and can be
10
+ /// re-registered from `application(_:didFinishLaunchingWithOptions:)` before the
11
+ /// JS runtime exists. Apple requires observer queries to be running at launch for
12
+ /// background delivery to wake a killed app.
13
+ ///
14
+ /// Each delivery is handed to JS as `{ type, token }`. The HealthKit completion handler
15
+ /// (plus a `UIBackgroundTask`) is held until JS calls `completeUpdate(token)` or the
16
+ /// timeout fires. Events that arrive before JS subscribes are queued and flushed when
17
+ /// the module starts observing `onUpdate`.
18
+ internal final class HealthKitObserverCenter {
19
+ static let shared = HealthKitObserverCenter()
20
+
21
+ private static let observedTypesKey = "expo.healthkit.observedTypes"
22
+ /// iOS grants roughly 30 seconds of background execution per delivery.
23
+ private static let completionTimeout: TimeInterval = 25
24
+ private static let maxQueuedEvents = 64
25
+
26
+ private struct PendingUpdate {
27
+ let handler: HKObserverQueryCompletionHandler
28
+ let backgroundTask: UIBackgroundTaskIdentifier
29
+ let timeout: DispatchWorkItem
30
+ }
31
+
32
+ private let store = HKHealthStore()
33
+ private let queue = DispatchQueue(label: "expo.healthkit.observer-center")
34
+
35
+ private var queries: [String: HKObserverQuery] = [:]
36
+ private var pending: [String: PendingUpdate] = [:]
37
+ private var queuedEvents: [[String: Any]] = []
38
+ private var emitter: (([String: Any]) -> Void)?
39
+
40
+ private init() {}
41
+
42
+ // MARK: - Public API
43
+
44
+ /// Replaces the observed set, persists it, and (re)starts queries.
45
+ func observe(_ identifiers: [String]) throws {
46
+ guard HKHealthStore.isHealthDataAvailable() else {
47
+ throw HealthUnavailableException()
48
+ }
49
+ let sampleTypes = try identifiers.map { ($0, try HealthKitIdentifiers.sampleType(for: $0)) }
50
+
51
+ queue.sync {
52
+ UserDefaults.standard.set(identifiers, forKey: Self.observedTypesKey)
53
+ // Same set already running (e.g. restored at launch): don't tear down and
54
+ // re-execute, which would make HealthKit fire every observer again.
55
+ if Set(identifiers) == Set(queries.keys) {
56
+ observerLog.notice("observe: \(identifiers.count) type(s) already running, skipping restart")
57
+ return
58
+ }
59
+ stopAllQueriesLocked()
60
+ for (identifier, sampleType) in sampleTypes {
61
+ startQueryLocked(identifier: identifier, sampleType: sampleType)
62
+ }
63
+ }
64
+ }
65
+
66
+ /// Stops all queries and forgets the persisted set.
67
+ func clear() {
68
+ queue.sync {
69
+ stopAllQueriesLocked()
70
+ UserDefaults.standard.removeObject(forKey: Self.observedTypesKey)
71
+ }
72
+ }
73
+
74
+ func observedTypes() -> [String] {
75
+ UserDefaults.standard.stringArray(forKey: Self.observedTypesKey) ?? []
76
+ }
77
+
78
+ /// Re-registers persisted observers. Safe to call repeatedly; already-running
79
+ /// queries are left alone. Called from the AppDelegate subscriber at launch and
80
+ /// from the module's `OnCreate` as a fallback.
81
+ func restore() {
82
+ guard HKHealthStore.isHealthDataAvailable() else {
83
+ return
84
+ }
85
+ let identifiers = observedTypes()
86
+ guard !identifiers.isEmpty else {
87
+ return
88
+ }
89
+
90
+ queue.sync {
91
+ var restored = 0
92
+ for identifier in identifiers where queries[identifier] == nil {
93
+ guard let sampleType = try? HealthKitIdentifiers.sampleType(for: identifier) else {
94
+ continue
95
+ }
96
+ startQueryLocked(identifier: identifier, sampleType: sampleType)
97
+ restored += 1
98
+ }
99
+ observerLog.notice("restore: re-registered \(restored) observer(s), emitter=\(self.emitter != nil)")
100
+ }
101
+ }
102
+
103
+ /// Called by JS once its listeners have finished processing a delivery.
104
+ /// Unknown or already-completed tokens are ignored.
105
+ func completeUpdate(token: String) {
106
+ queue.sync {
107
+ finishLocked(token: token, reason: "js")
108
+ }
109
+ }
110
+
111
+ /// Wires (or unwires) the JS event sink. Setting a non-nil emitter flushes
112
+ /// any deliveries queued while JS was not listening.
113
+ func setEmitter(_ emitter: (([String: Any]) -> Void)?) {
114
+ queue.sync {
115
+ self.emitter = emitter
116
+ guard let emitter else {
117
+ return
118
+ }
119
+ let events = queuedEvents
120
+ queuedEvents.removeAll()
121
+ observerLog.notice("emitter attached, flushing \(events.count) queued event(s)")
122
+ for event in events {
123
+ emitter(event)
124
+ }
125
+ }
126
+ }
127
+
128
+ // MARK: - Internals (must run on `queue`)
129
+
130
+ private func startQueryLocked(identifier: String, sampleType: HKSampleType) {
131
+ let query = HKObserverQuery(sampleType: sampleType, predicate: nil) { [weak self] _, completionHandler, error in
132
+ guard let self else {
133
+ completionHandler()
134
+ return
135
+ }
136
+ if error != nil {
137
+ completionHandler()
138
+ return
139
+ }
140
+ self.handleDelivery(identifier: identifier, completionHandler: completionHandler)
141
+ }
142
+ queries[identifier] = query
143
+ store.execute(query)
144
+ }
145
+
146
+ private func stopAllQueriesLocked() {
147
+ for query in queries.values {
148
+ store.stop(query)
149
+ }
150
+ queries.removeAll()
151
+ }
152
+
153
+ private func handleDelivery(identifier: String, completionHandler: @escaping HKObserverQueryCompletionHandler) {
154
+ let token = UUID().uuidString
155
+
156
+ let backgroundTask = UIApplication.shared.beginBackgroundTask(withName: "expo-healthkit.\(identifier)") { [weak self] in
157
+ self?.queue.async {
158
+ self?.finishLocked(token: token, reason: "background-task-expired")
159
+ }
160
+ }
161
+
162
+ let timeout = DispatchWorkItem { [weak self] in
163
+ self?.finishLocked(token: token, reason: "timeout")
164
+ }
165
+
166
+ queue.async {
167
+ self.pending[token] = PendingUpdate(
168
+ handler: completionHandler,
169
+ backgroundTask: backgroundTask,
170
+ timeout: timeout
171
+ )
172
+ self.queue.asyncAfter(deadline: .now() + Self.completionTimeout, execute: timeout)
173
+
174
+ let event: [String: Any] = ["type": identifier, "token": token]
175
+ let appState = UIApplication.shared.applicationState.rawValue
176
+ observerLog.notice("delivery \(token, privacy: .public) for \(identifier, privacy: .public) appState=\(appState) emitter=\(self.emitter != nil)")
177
+ if let emitter = self.emitter {
178
+ emitter(event)
179
+ } else {
180
+ if self.queuedEvents.count >= Self.maxQueuedEvents {
181
+ self.queuedEvents.removeFirst()
182
+ }
183
+ self.queuedEvents.append(event)
184
+ }
185
+ }
186
+ }
187
+
188
+ private func finishLocked(token: String, reason: String) {
189
+ guard let update = pending.removeValue(forKey: token) else {
190
+ return
191
+ }
192
+ observerLog.notice("complete \(token, privacy: .public) reason=\(reason, privacy: .public)")
193
+ update.timeout.cancel()
194
+ update.handler()
195
+ if update.backgroundTask != .invalid {
196
+ UIApplication.shared.endBackgroundTask(update.backgroundTask)
197
+ }
198
+ }
199
+ }
@@ -2,9 +2,6 @@ import HealthKit
2
2
 
3
3
  internal final class HealthKitService {
4
4
  let store = HKHealthStore()
5
- var onUpdate: ((String) -> Void)?
6
-
7
- private var observerQueries: [String: HKObserverQuery] = [:]
8
5
 
9
6
  func executeQuery(_ query: HKQuery) throws {
10
7
  try catchingHealthKit {
@@ -432,31 +429,6 @@ internal final class HealthKitService {
432
429
  }
433
430
  }
434
431
 
435
- func startObserving(_ identifiers: [String]) throws {
436
- try ensureAvailable()
437
- stopObserving()
438
-
439
- for identifier in identifiers {
440
- let sampleType = try HealthKitIdentifiers.sampleType(for: identifier)
441
- let query = HKObserverQuery(sampleType: sampleType, predicate: nil) { [weak self] _, completionHandler, error in
442
- defer { completionHandler() }
443
- guard error == nil else {
444
- return
445
- }
446
- self?.onUpdate?(identifier)
447
- }
448
- observerQueries[identifier] = query
449
- try executeQuery(query)
450
- }
451
- }
452
-
453
- func stopObserving() {
454
- for query in observerQueries.values {
455
- store.stop(query)
456
- }
457
- observerQueries.removeAll()
458
- }
459
-
460
432
  func ensureAvailable() throws {
461
433
  if !isAvailable() {
462
434
  throw HealthUnavailableException()