@ovok/native 1.13.0 → 1.14.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.
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +48 -27
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +14 -41
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-delivery.js +75 -0
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-delivery.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +2 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/series-recorder.js +9 -5
- package/lib/commonjs/modules/bt-management/services/series-recorder.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/series-slots.js +9 -2
- package/lib/commonjs/modules/bt-management/services/series-slots.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/healthkit-series.js +4 -1
- package/lib/commonjs/modules/data-sync/utils/healthkit-series.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +48 -27
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +15 -42
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-delivery.js +70 -0
- package/lib/module/modules/bt-management/services/background-sync/background-sync-delivery.js.map +1 -0
- package/lib/module/modules/bt-management/services/bt-manager.js +2 -1
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/series-recorder.js +10 -6
- package/lib/module/modules/bt-management/services/series-recorder.js.map +1 -1
- package/lib/module/modules/bt-management/services/series-slots.js +8 -2
- package/lib/module/modules/bt-management/services/series-slots.js.map +1 -1
- package/lib/module/modules/data-sync/utils/healthkit-series.js +4 -1
- package/lib/module/modules/data-sync/utils/healthkit-series.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-delivery.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-delivery.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-delivery.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-delivery.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts +3 -1
- package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts +4 -1
- package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { IDLE_CLOSE_MS, isLive,
|
|
3
|
+
import { hasEnded, IDLE_CLOSE_MS, isLive, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult } from "./series-slots.js";
|
|
4
4
|
|
|
5
5
|
// ponytail: open series are stored at most this often, so a killed app loses up to 30 s of values; store on
|
|
6
6
|
// every value if that matters more than the writes.
|
|
@@ -30,8 +30,9 @@ class SeriesRecorder {
|
|
|
30
30
|
return false;
|
|
31
31
|
}
|
|
32
32
|
const key = `${deviceData.id}:${reading.measurementTypeKey}`;
|
|
33
|
+
const ownerKey = this.options.getOwnerKey?.();
|
|
33
34
|
let series = this.open.get(key);
|
|
34
|
-
if (series && (
|
|
35
|
+
if (series && hasEnded(series, now, ownerKey)) {
|
|
35
36
|
this.close(key);
|
|
36
37
|
series = undefined;
|
|
37
38
|
}
|
|
@@ -41,7 +42,10 @@ class SeriesRecorder {
|
|
|
41
42
|
measurementTypeKey: reading.measurementTypeKey,
|
|
42
43
|
start: Math.floor(now / SLOT_MS) * SLOT_MS,
|
|
43
44
|
updatedAt: now,
|
|
44
|
-
values: {}
|
|
45
|
+
values: {},
|
|
46
|
+
...(ownerKey && {
|
|
47
|
+
ownerKey
|
|
48
|
+
})
|
|
45
49
|
};
|
|
46
50
|
this.open.set(key, series);
|
|
47
51
|
}
|
|
@@ -68,10 +72,10 @@ class SeriesRecorder {
|
|
|
68
72
|
return true;
|
|
69
73
|
};
|
|
70
74
|
|
|
71
|
-
/** Closes every series that
|
|
75
|
+
/** Closes every series that's over: quiet, full, or another account's (handed to that account). Call it now and then. */
|
|
72
76
|
closeIdle = () => {
|
|
73
77
|
const now = this.now();
|
|
74
|
-
[...this.open.entries()].filter(([, series]) => now
|
|
78
|
+
[...this.open.entries()].filter(([, series]) => hasEnded(series, now, this.options.getOwnerKey?.())).forEach(([key]) => this.close(key));
|
|
75
79
|
};
|
|
76
80
|
|
|
77
81
|
/** Hands closed series to `receiver`, those waiting and those still to close; `undefined` makes them wait. */
|
|
@@ -117,7 +121,7 @@ class SeriesRecorder {
|
|
|
117
121
|
void this.store();
|
|
118
122
|
};
|
|
119
123
|
changed = () => {
|
|
120
|
-
this.snapshot = [...this.open.values()].map(toOpenSeries);
|
|
124
|
+
this.snapshot = [...this.open.values()].filter(series => series.ownerKey === this.options.getOwnerKey?.()).map(toOpenSeries);
|
|
121
125
|
this.listeners.forEach(listener => listener());
|
|
122
126
|
};
|
|
123
127
|
storeSoon = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["hasEnded","IDLE_CLOSE_MS","isLive","NOT_MEASURED","readStored","slotCount","SLOT_MS","toOpenSeries","toResult","STORE_EVERY_MS","DEFAULT_SERIES_KEY","SeriesRecorder","open","Map","closed","listeners","Set","snapshot","storing","Promise","resolve","constructor","options","restored","restore","add","deviceData","reading","now","key","id","measurementTypeKey","ownerKey","getOwnerKey","series","get","close","undefined","start","Math","floor","updatedAt","values","set","current","slot","Object","entries","forEach","property","value","Number","isFinite","has","length","push","changed","storeSoon","closeIdle","filter","deliverTo","receiver","then","deliver","getOpen","subscribe","listener","delete","destroy","clearTimeout","storeTimer","store","Date","ready","map","storage","setTimeout","state","setItem","storageKey","JSON","stringify","catch"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/series-recorder.ts"],"mappings":";;AAMA,SACEA,QAAQ,EACRC,aAAa,EACbC,MAAM,EACNC,YAAY,EACZC,UAAU,EAGVC,SAAS,EACTC,OAAO,EACPC,YAAY,EACZC,QAAQ,QACH,mBAAgB;;AAEvB;AACA;AACA,MAAMC,cAAc,GAAG,MAAM;AAE7B,MAAMC,kBAAkB,GAAG,qBAAqB;AAoBhD;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,CAAC;EACFC,IAAI,GAAG,IAAIC,GAAG,CAA0B,CAAC;EAClDC,MAAM,GAAsB,EAAE;EACrBC,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;EAC1CC,QAAQ,GAA0B,EAAE;EAGpCC,OAAO,GAAkBC,OAAO,CAACC,OAAO,CAAC,CAAC;EAG3CC,WAAWA,CAAkBC,OAA8B,GAAG,CAAC,CAAC,EAAE;IAAA,KAArCA,OAA8B,GAA9BA,OAA8B;IAChE,IAAI,CAACC,QAAQ,GAAG,IAAI,CAACC,OAAO,CAAC,CAAC;EAChC;;EAEA;EACOC,GAAG,GAAGA,CAACC,UAAsB,EAAEC,OAAgB,KAAc;IAClE,MAAMC,GAAG,GAAG,IAAI,CAACA,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC1B,MAAM,CAACyB,OAAO,EAAEC,GAAG,CAAC,EAAE;MACzB,OAAO,KAAK;IACd;IAEA,MAAMC,GAAG,GAAG,GAAGH,UAAU,CAACI,EAAE,IAAIH,OAAO,CAACI,kBAAkB,EAAE;IAC5D,MAAMC,QAAQ,GAAG,IAAI,CAACV,OAAO,CAACW,WAAW,GAAG,CAAC;IAC7C,IAAIC,MAAM,GAAG,IAAI,CAACtB,IAAI,CAACuB,GAAG,CAACN,GAAG,CAAC;IAE/B,IAAIK,MAAM,IAAIlC,QAAQ,CAACkC,MAAM,EAAEN,GAAG,EAAEI,QAAQ,CAAC,EAAE;MAC7C,IAAI,CAACI,KAAK,CAACP,GAAG,CAAC;MACfK,MAAM,GAAGG,SAAS;IACpB;IAEA,IAAI,CAACH,MAAM,EAAE;MACXA,MAAM,GAAG;QACPR,UAAU;QACVK,kBAAkB,EAAEJ,OAAO,CAACI,kBAAkB;QAC9CO,KAAK,EAAEC,IAAI,CAACC,KAAK,CAACZ,GAAG,GAAGtB,OAAO,CAAC,GAAGA,OAAO;QAC1CmC,SAAS,EAAEb,GAAG;QACdc,MAAM,EAAE,CAAC,CAAC;QACV,IAAIV,QAAQ,IAAI;UAAEA;QAAS,CAAC;MAC9B,CAAC;MACD,IAAI,CAACpB,IAAI,CAAC+B,GAAG,CAACd,GAAG,EAAEK,MAAM,CAAC;IAC5B;IAEA,MAAMU,OAAO,GAAGV,MAAM;IACtB,MAAMW,IAAI,GAAGN,IAAI,CAACC,KAAK,CAAC,CAACZ,GAAG,GAAGgB,OAAO,CAACN,KAAK,IAAIhC,OAAO,CAAC;IAExDwC,MAAM,CAACC,OAAO,CAACpB,OAAO,CAAC,CAACqB,OAAO,CAAC,CAAC,CAACC,QAAQ,EAAEC,KAAK,CAAC,KAAK;MACrD,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAI/C,YAAY,CAACkD,GAAG,CAACJ,QAAQ,CAAC,EAAE;QACtF;MACF;MAEA,MAAMP,MAAM,GAAIE,OAAO,CAACF,MAAM,CAACO,QAAQ,CAAC,KAAK,EAAG;MAEhD,OAAOP,MAAM,CAACY,MAAM,IAAIT,IAAI,EAAE;QAC5BH,MAAM,CAACa,IAAI,CAAC,IAAI,CAAC;MACnB;;MAEA;MACAb,MAAM,CAACG,IAAI,CAAC,GAAGK,KAAK;IACtB,CAAC,CAAC;;IAEF;IACAN,OAAO,CAAClB,UAAU,GAAGA,UAAU;IAC/BkB,OAAO,CAACH,SAAS,GAAGb,GAAG;IACvB,IAAI,CAAC4B,OAAO,CAAC,CAAC;IACd,IAAI,CAACC,SAAS,CAAC,CAAC;IAEhB,OAAO,IAAI;EACb,CAAC;;EAED;EACOC,SAAS,GAAGA,CAAA,KAAY;IAC7B,MAAM9B,GAAG,GAAG,IAAI,CAACA,GAAG,CAAC,CAAC;IAEtB,CAAC,GAAG,IAAI,CAAChB,IAAI,CAACmC,OAAO,CAAC,CAAC,CAAC,CACrBY,MAAM,CAAC,CAAC,GAAGzB,MAAM,CAAC,KAAKlC,QAAQ,CAACkC,MAAM,EAAEN,GAAG,EAAE,IAAI,CAACN,OAAO,CAACW,WAAW,GAAG,CAAC,CAAC,CAAC,CAC3Ee,OAAO,CAAC,CAAC,CAACnB,GAAG,CAAC,KAAK,IAAI,CAACO,KAAK,CAACP,GAAG,CAAC,CAAC;EACxC,CAAC;;EAED;EACO+B,SAAS,GAAIC,QAAmE,IAAW;IAChG,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IACxB,KAAK,IAAI,CAACtC,QAAQ,CAACuC,IAAI,CAAC,MAAM,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC;EAC/C,CAAC;;EAED;EACOC,OAAO,GAAGA,CAAA,KAA6B,IAAI,CAAC/C,QAAQ;EAEpDgD,SAAS,GAAIC,QAAoB,IAAmB;IACzD,IAAI,CAACnD,SAAS,CAACU,GAAG,CAACyC,QAAQ,CAAC;IAE5B,OAAO,MAAM;MACX,IAAI,CAACnD,SAAS,CAACoD,MAAM,CAACD,QAAQ,CAAC;IACjC,CAAC;EACH,CAAC;;EAED;EACOE,OAAO,GAAGA,CAAA,KAAqB;IACpCC,YAAY,CAAC,IAAI,CAACC,UAAU,CAAC;IAC7B,IAAI,CAACA,UAAU,GAAGjC,SAAS;IAE3B,OAAO,IAAI,CAACkC,KAAK,CAAC,CAAC;EACrB,CAAC;EAEO3C,GAAG,GAAGA,CAAA,KAAc,IAAI,CAACN,OAAO,CAACM,GAAG,GAAG,CAAC,IAAI4C,IAAI,CAAC5C,GAAG,CAAC,CAAC;EAEtDQ,KAAK,GAAIP,GAAW,IAAW;IACrC,MAAMK,MAAM,GAAG,IAAI,CAACtB,IAAI,CAACuB,GAAG,CAACN,GAAG,CAAC;IAEjC,IAAI,CAACjB,IAAI,CAACuD,MAAM,CAACtC,GAAG,CAAC;IAErB,IAAIK,MAAM,IAAI7B,SAAS,CAAC6B,MAAM,CAAC,GAAG,CAAC,EAAE;MACnC,IAAI,CAACpB,MAAM,CAACyC,IAAI,CAACrB,MAAM,CAAC;IAC1B;IAEA,IAAI,CAACsB,OAAO,CAAC,CAAC;IACd,IAAI,CAACO,OAAO,CAAC,CAAC;IACd,KAAK,IAAI,CAACQ,KAAK,CAAC,CAAC;EACnB,CAAC;EAEOR,OAAO,GAAGA,CAAA,KAAY;IAC5B,MAAMF,QAAQ,GAAG,IAAI,CAACA,QAAQ;IAE9B,IAAI,CAACA,QAAQ,IAAI,IAAI,CAAC/C,MAAM,CAACwC,MAAM,KAAK,CAAC,EAAE;MACzC;IACF;IAEA,MAAMmB,KAAK,GAAG,IAAI,CAAC3D,MAAM;IAEzB,IAAI,CAACA,MAAM,GAAG,EAAE;IAChB2D,KAAK,CAACzB,OAAO,CAAEd,MAAM,IAAK2B,QAAQ,CAACrD,QAAQ,CAAC0B,MAAM,CAAC,CAAC,CAAC;IACrD,KAAK,IAAI,CAACqC,KAAK,CAAC,CAAC;EACnB,CAAC;EAEOf,OAAO,GAAGA,CAAA,KAAY;IAC5B,IAAI,CAACvC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAACL,IAAI,CAAC8B,MAAM,CAAC,CAAC,CAAC,CAACiB,MAAM,CAAEzB,MAAM,IAAKA,MAAM,CAACF,QAAQ,KAAK,IAAI,CAACV,OAAO,CAACW,WAAW,GAAG,CAAC,CAAC,CAACyC,GAAG,CAACnE,YAAY,CAAC;IAC9H,IAAI,CAACQ,SAAS,CAACiC,OAAO,CAAEkB,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EAClD,CAAC;EAEOT,SAAS,GAAGA,CAAA,KAAY;IAC9B,IAAI,CAAC,IAAI,CAACnC,OAAO,CAACqD,OAAO,IAAI,IAAI,CAACL,UAAU,EAAE;MAC5C;IACF;IAEA,IAAI,CAACA,UAAU,GAAGM,UAAU,CAAC,MAAM;MACjC,IAAI,CAACN,UAAU,GAAGjC,SAAS;MAC3B,KAAK,IAAI,CAACkC,KAAK,CAAC,CAAC;IACnB,CAAC,EAAE9D,cAAc,CAAC;EACpB,CAAC;;EAED;EACQ8D,KAAK,GAAGA,CAAA,KAAqB;IACnC,MAAMI,OAAO,GAAG,IAAI,CAACrD,OAAO,CAACqD,OAAO;IAEpC,IAAI,CAACA,OAAO,EAAE;MACZ,OAAOxD,OAAO,CAACC,OAAO,CAAC,CAAC;IAC1B;IAEA,IAAI,CAACF,OAAO,GAAG,IAAI,CAACA,OAAO,CACxB4C,IAAI,CAAC,MAAM,IAAI,CAACvC,QAAQ,CAAC,CACzBuC,IAAI,CAAC,MAAM;MACV,MAAMe,KAAmB,GAAG;QAAEjE,IAAI,EAAE,CAAC,GAAG,IAAI,CAACA,IAAI,CAAC8B,MAAM,CAAC,CAAC,CAAC;QAAE5B,MAAM,EAAE,IAAI,CAACA;MAAO,CAAC;MAElF,OAAO6D,OAAO,CAACG,OAAO,CAAC,IAAI,CAACxD,OAAO,CAACyD,UAAU,IAAIrE,kBAAkB,EAAEsE,IAAI,CAACC,SAAS,CAACJ,KAAK,CAAC,CAAC;IAC9F,CAAC,CAAC,CACDK,KAAK,CAAC,MAAM7C,SAAS,CAAC;IAEzB,OAAO,IAAI,CAACnB,OAAO;EACrB,CAAC;;EAED;AACF;AACA;AACA;EACUM,OAAO,GAAG,MAAAA,CAAA,KAA2B;IAC3C,MAAMmD,OAAO,GAAG,IAAI,CAACrD,OAAO,CAACqD,OAAO;IAEpC,IAAI,CAACA,OAAO,EAAE;MACZ;IACF;IAEA,MAAME,KAAK,GAAG,MAAMzE,UAAU,CAAeuE,OAAO,EAAE,IAAI,CAACrD,OAAO,CAACyD,UAAU,IAAIrE,kBAAkB,CAAC;IACpG,MAAMkB,GAAG,GAAG,IAAI,CAACA,GAAG,CAAC,CAAC;IAEtB,IAAI,CAACd,MAAM,CAACyC,IAAI,CAAC,IAAIsB,KAAK,EAAE/D,MAAM,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC+D,KAAK,EAAEjE,IAAI,IAAI,EAAE,EAAEoC,OAAO,CAAEd,MAAM,IAAK;MACtC,MAAML,GAAG,GAAG,GAAGK,MAAM,CAACR,UAAU,CAACI,EAAE,IAAII,MAAM,CAACH,kBAAkB,EAAE;MAElE,IAAI,IAAI,CAACnB,IAAI,CAACyC,GAAG,CAACxB,GAAG,CAAC,IAAID,GAAG,GAAGM,MAAM,CAACO,SAAS,IAAIxC,aAAa,EAAE;QACjE,IAAI,CAACa,MAAM,CAACyC,IAAI,CAACrB,MAAM,CAAC;MAC1B,CAAC,MAAM;QACL,IAAI,CAACtB,IAAI,CAAC+B,GAAG,CAACd,GAAG,EAAEK,MAAM,CAAC;MAC5B;IACF,CAAC,CAAC;IACF,IAAI,CAACsB,OAAO,CAAC,CAAC;EAChB,CAAC;AACH;AAEA,SAAS7C,cAAc","ignoreList":[]}
|
|
@@ -15,6 +15,9 @@ const NOT_MEASURED = new Set(["memorySlot"]);
|
|
|
15
15
|
|
|
16
16
|
/** Whether a reading is a live value rather than a stored record dated earlier. */
|
|
17
17
|
const isLive = (reading, now) => !(reading.recordedAt instanceof Date) || Math.abs(now - reading.recordedAt.getTime()) <= LIVE_TOLERANCE_MS;
|
|
18
|
+
|
|
19
|
+
/** Whether a series takes no more values: it went quiet, is full, or was recorded for another account. */
|
|
20
|
+
const hasEnded = (series, now, ownerKey) => series.ownerKey !== ownerKey || now - series.updatedAt >= IDLE_CLOSE_MS || now - series.start >= MAX_SLOTS * SLOT_MS;
|
|
18
21
|
const slotCount = series => Math.max(0, ...Object.values(series.values).map(values => values.length));
|
|
19
22
|
|
|
20
23
|
/** Every property's values, all as long as the series. */
|
|
@@ -57,7 +60,10 @@ const toResult = series => {
|
|
|
57
60
|
start,
|
|
58
61
|
periodMs: SLOT_MS,
|
|
59
62
|
values
|
|
60
|
-
}
|
|
63
|
+
},
|
|
64
|
+
...(series.ownerKey && {
|
|
65
|
+
recordedFor: series.ownerKey
|
|
66
|
+
})
|
|
61
67
|
};
|
|
62
68
|
};
|
|
63
69
|
|
|
@@ -81,5 +87,5 @@ const readStored = async (storage, key) => {
|
|
|
81
87
|
return undefined;
|
|
82
88
|
}
|
|
83
89
|
};
|
|
84
|
-
export { IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult };
|
|
90
|
+
export { hasEnded, IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult };
|
|
85
91
|
//# sourceMappingURL=series-slots.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SLOT_MS","MAX_SLOTS","IDLE_CLOSE_MS","LIVE_TOLERANCE_MS","NOT_MEASURED","Set","isLive","reading","now","recordedAt","Date","Math","abs","getTime","
|
|
1
|
+
{"version":3,"names":["SLOT_MS","MAX_SLOTS","IDLE_CLOSE_MS","LIVE_TOLERANCE_MS","NOT_MEASURED","Set","isLive","reading","now","recordedAt","Date","Math","abs","getTime","hasEnded","series","ownerKey","updatedAt","start","slotCount","max","Object","values","map","length","paddedValues","fromEntries","entries","property","Array","fill","lastValue","slot","value","undefined","lastValues","flatMap","last","meanValues","slots","present","filter","reduce","total","toResult","id","deviceData","sn","measurementTypeKey","toISOString","data","periodMs","recordedFor","toOpenSeries","latest","readStored","storage","key","stored","getItem","JSON","parse"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/series-slots.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,9 @@ import { finishedHourWindows, toHourlySeries } from "./hourly-series.js";
|
|
|
11
11
|
*/
|
|
12
12
|
const getHealthKitSeries = async (typeIdentifier, startDate) => {
|
|
13
13
|
const unit = healthUnitFor(typeIdentifier);
|
|
14
|
+
|
|
15
|
+
// HealthKit gives a percentage as a fraction (0.97); a reading of it says 97 %, as a single sample's does.
|
|
16
|
+
const scale = unit === "%" ? 100 : 1;
|
|
14
17
|
const minutes = [];
|
|
15
18
|
for (const {
|
|
16
19
|
from,
|
|
@@ -26,7 +29,7 @@ const getHealthKitSeries = async (typeIdentifier, startDate) => {
|
|
|
26
29
|
if (value !== undefined) {
|
|
27
30
|
minutes.push({
|
|
28
31
|
start: new Date(from.getTime() + index * SERIES_SLOT_MS),
|
|
29
|
-
value
|
|
32
|
+
value: value * scale
|
|
30
33
|
});
|
|
31
34
|
}
|
|
32
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Healthkit","HKStatisticsOptions","SERIES_SLOT_MS","healthUnitFor","finishedHourWindows","toHourlySeries","getHealthKitSeries","typeIdentifier","startDate","unit","minutes","from","to","statistics","queryStatisticsCollectionForQuantity","discreteAverage","minute","forEach","statistic","index","value","averageQuantity","quantity","undefined","push","start","Date","getTime","data","anchor"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/healthkit-series.ts"],"mappings":";;AAAA,OAAOA,SAAS,IAA8BC,mBAAmB,QAAQ,oCAAoC;AAE7G,SAASC,cAAc,QAAQ,iBAAc;AAG7C,SAASC,aAAa,QAAQ,mBAAgB;AAC9C,SAASC,mBAAmB,EAAeC,cAAc,QAAQ,oBAAiB;;AAElF;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,MAAAA,CACzBC,cAAwC,EACxCC,SAAe,KAC8C;EAC7D,MAAMC,IAAI,GAAGN,aAAa,CAACI,cAAc,CAAC;
|
|
1
|
+
{"version":3,"names":["Healthkit","HKStatisticsOptions","SERIES_SLOT_MS","healthUnitFor","finishedHourWindows","toHourlySeries","getHealthKitSeries","typeIdentifier","startDate","unit","scale","minutes","from","to","statistics","queryStatisticsCollectionForQuantity","discreteAverage","minute","forEach","statistic","index","value","averageQuantity","quantity","undefined","push","start","Date","getTime","data","anchor"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/healthkit-series.ts"],"mappings":";;AAAA,OAAOA,SAAS,IAA8BC,mBAAmB,QAAQ,oCAAoC;AAE7G,SAASC,cAAc,QAAQ,iBAAc;AAG7C,SAASC,aAAa,QAAQ,mBAAgB;AAC9C,SAASC,mBAAmB,EAAeC,cAAc,QAAQ,oBAAiB;;AAElF;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,MAAAA,CACzBC,cAAwC,EACxCC,SAAe,KAC8C;EAC7D,MAAMC,IAAI,GAAGN,aAAa,CAACI,cAAc,CAAC;;EAE1C;EACA,MAAMG,KAAK,GAAGD,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;EACpC,MAAME,OAAsB,GAAG,EAAE;EAEjC,KAAK,MAAM;IAAEC,IAAI;IAAEC;EAAG,CAAC,IAAIT,mBAAmB,CAACI,SAAS,CAAC,EAAE;IACzD,MAAMM,UAAU,GAAG,MAAMd,SAAS,CAACe,oCAAoC,CACrER,cAAc,EACd,CAACN,mBAAmB,CAACe,eAAe,CAAC,EACrCJ,IAAI,EACJ;MAAEK,MAAM,EAAE;IAAE,CAAC,EACbL,IAAI,EACJC,EAAE,EACFJ,IACF,CAAC;;IAED;IACAK,UAAU,CAACI,OAAO,CAAC,CAACC,SAAS,EAAEC,KAAK,KAAK;MACvC,MAAMC,KAAK,GAAGF,SAAS,CAACG,eAAe,EAAEC,QAAQ;MAEjD,IAAIF,KAAK,KAAKG,SAAS,EAAE;QACvBb,OAAO,CAACc,IAAI,CAAC;UAAEC,KAAK,EAAE,IAAIC,IAAI,CAACf,IAAI,CAACgB,OAAO,CAAC,CAAC,GAAGR,KAAK,GAAGlB,cAAc,CAAC;UAAEmB,KAAK,EAAEA,KAAK,GAAGX;QAAM,CAAC,CAAC;MAClG;IACF,CAAC,CAAC;EACJ;EAEA,OAAO;IAAEmB,IAAI,EAAExB,cAAc,CAACE,cAAc,EAAEE,IAAI,IAAI,GAAG,EAAEE,OAAO,CAAC;IAAEmB,MAAM,EAAEN;EAAU,CAAC;AAC1F,CAAC;AAED,SAASlB,kBAAkB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,
|
|
1
|
+
{"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,sBAiiBF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-sync-coordinator.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"background-sync-coordinator.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAGL,iBAAiB,EAGlB,MAAM,yBAAyB,CAAC;AAEjC,+GAA+G;AAC/G,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG;IACxE,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACvC,CAAC;AAWF,cAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS;IACjD,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;gBAEhC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAI1C,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAInD,OAAO,GAAI,QAAQ,cAAc,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CA6BzD;IAEK,KAAK,GAAI,UAAS,0BAA+B,KAAG,OAAO,CAAC,IAAI,CAAC,CAOnE;IAEL;;;OAGG;IACI,SAAS,QAAO,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAgB;IAEzE,4GAA4G;IACrG,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAUrD;IAEF,OAAO,CAAC,OAAO,CAeb;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,UAAU,CAoEhB;CACH;AAED,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,CAAC;AACxD,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StoredBackgroundSyncItem } from "./background-sync-queue";
|
|
2
|
+
import { BackgroundSyncOptions } from "../../types/background-sync";
|
|
3
|
+
import { DeviceKey } from "../../types/device-key";
|
|
4
|
+
/** Hands every due result to `onResults` at once; whether they were all accepted, and so taken off the queue. */
|
|
5
|
+
declare const deliverTogether: <T extends DeviceKey>(queue: StoredBackgroundSyncItem<T>[], due: StoredBackgroundSyncItem<T>[], syncOptions: BackgroundSyncOptions<T>) => Promise<boolean>;
|
|
6
|
+
/** Hands one result to `onResult`: off the queue once accepted, otherwise tried again later, or kept as exhausted. */
|
|
7
|
+
declare const deliver: <T extends DeviceKey>(queue: StoredBackgroundSyncItem<T>[], item: StoredBackgroundSyncItem<T>, syncOptions: BackgroundSyncOptions<T>) => Promise<void>;
|
|
8
|
+
export { deliver, deliverTogether };
|
|
9
|
+
//# sourceMappingURL=background-sync-delivery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-sync-delivery.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/background-sync/background-sync-delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGxE,OAAO,EAAE,qBAAqB,EAAwB,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,iHAAiH;AACjH,QAAA,MAAM,eAAe,GAAU,CAAC,SAAS,SAAS,EAChD,OAAO,wBAAwB,CAAC,CAAC,CAAC,EAAE,EACpC,KAAK,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAClC,aAAa,qBAAqB,CAAC,CAAC,CAAC,KACpC,OAAO,CAAC,OAAO,CAoBjB,CAAC;AAEF,sHAAsH;AACtH,QAAA,MAAM,OAAO,GAAU,CAAC,SAAS,SAAS,EACxC,OAAO,wBAAwB,CAAC,CAAC,CAAC,EAAE,EACpC,MAAM,wBAAwB,CAAC,CAAC,CAAC,EACjC,aAAa,qBAAqB,CAAC,CAAC,CAAC,KACpC,OAAO,CAAC,IAAI,CA4Cd,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -27,6 +27,8 @@ interface BTManagerOptions {
|
|
|
27
27
|
* results queue in. Without it they live in memory, and a closed app loses the series it was recording.
|
|
28
28
|
*/
|
|
29
29
|
seriesStorage?: BackgroundSyncStorage;
|
|
30
|
+
/** The signed-in account, which each series is recorded for. */
|
|
31
|
+
getOwnerKey?: () => string | undefined;
|
|
30
32
|
clockSync?: ClockSyncOptions;
|
|
31
33
|
/** Connect one newly discovered device automatically after the scan settles. */
|
|
32
34
|
autoConnect?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EACV,MAAM,EAIP,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,UAAU,gBAAgB;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE7D;;;OAGG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ interface SeriesRecorderOptions {
|
|
|
9
9
|
storage?: BackgroundSyncStorage;
|
|
10
10
|
storageKey?: string;
|
|
11
11
|
now?: () => number;
|
|
12
|
+
/** The signed-in account: a series is recorded for it and queued for it, even if someone else signs in meanwhile. */
|
|
13
|
+
getOwnerKey?: () => string | undefined;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* Keeps each device's live values of a kind as a series of one-second slots, for a result policy of `"series"`. A
|
|
@@ -29,7 +31,7 @@ declare class SeriesRecorder {
|
|
|
29
31
|
constructor(options?: SeriesRecorderOptions);
|
|
30
32
|
/** Records a reading's values, or returns false for a stored record, which isn't part of a series. */
|
|
31
33
|
add: (deviceData: DeviceData, reading: Reading) => boolean;
|
|
32
|
-
/** Closes every series that
|
|
34
|
+
/** Closes every series that's over: quiet, full, or another account's (handed to that account). Call it now and then. */
|
|
33
35
|
closeIdle: () => void;
|
|
34
36
|
/** Hands closed series to `receiver`, those waiting and those still to close; `undefined` makes them wait. */
|
|
35
37
|
deliverTo: (receiver: ((result: ResultCallback<DeviceKey>) => void) | undefined) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"series-recorder.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAML,OAAO,EAMR,MAAM,gBAAgB,CAAC;AAexB,UAAU,qBAAqB;IAE7B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"series-recorder.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAML,OAAO,EAMR,MAAM,gBAAgB,CAAC;AAexB,UAAU,qBAAqB;IAE7B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAEnB,qHAAqH;IACrH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;;;;GAKG;AACH,cAAM,cAAc;IAUC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,QAAQ,CAA4D;IAC5E,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAEL,OAAO,GAAE,qBAA0B;IAIvE,sGAAsG;IAC/F,GAAG,GAAI,YAAY,UAAU,EAAE,SAAS,OAAO,KAAG,OAAO,CAqD9D;IAEF,yHAAyH;IAClH,SAAS,QAAO,IAAI,CAMzB;IAEF,8GAA8G;IACvG,SAAS,GAAI,UAAU,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,KAAG,IAAI,CAG5F;IAEF,sGAAsG;IAC/F,OAAO,QAAO,SAAS,UAAU,EAAE,CAAkB;IAErD,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAMrD;IAEF,+FAA+F;IACxF,OAAO,QAAO,OAAO,CAAC,IAAI,CAAC,CAKhC;IAEF,OAAO,CAAC,GAAG,CAAoD;IAE/D,OAAO,CAAC,KAAK,CAYX;IAEF,OAAO,CAAC,OAAO,CAYb;IAEF,OAAO,CAAC,OAAO,CAGb;IAEF,OAAO,CAAC,SAAS,CASf;IAEF,6EAA6E;IAC7E,OAAO,CAAC,KAAK,CAiBX;IAEF;;;OAGG;IACH,OAAO,CAAC,OAAO,CAqBb;CACH;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -17,6 +17,7 @@ type Reading = {
|
|
|
17
17
|
/** A series as it is kept and stored: plain JSON. */
|
|
18
18
|
interface RecordingSeries {
|
|
19
19
|
deviceData: DeviceData;
|
|
20
|
+
ownerKey?: string;
|
|
20
21
|
measurementTypeKey: MeasurementTypeKey;
|
|
21
22
|
start: number;
|
|
22
23
|
updatedAt: number;
|
|
@@ -24,6 +25,8 @@ interface RecordingSeries {
|
|
|
24
25
|
}
|
|
25
26
|
/** Whether a reading is a live value rather than a stored record dated earlier. */
|
|
26
27
|
declare const isLive: (reading: Reading, now: number) => boolean;
|
|
28
|
+
/** Whether a series takes no more values: it went quiet, is full, or was recorded for another account. */
|
|
29
|
+
declare const hasEnded: (series: RecordingSeries, now: number, ownerKey: string | undefined) => boolean;
|
|
27
30
|
declare const slotCount: (series: RecordingSeries) => number;
|
|
28
31
|
/** A closed series as a result: its values in `series`, their means in `data`. */
|
|
29
32
|
declare const toResult: (series: RecordingSeries) => ResultCallback<DeviceKey>;
|
|
@@ -31,6 +34,6 @@ declare const toResult: (series: RecordingSeries) => ResultCallback<DeviceKey>;
|
|
|
31
34
|
declare const toOpenSeries: (series: RecordingSeries) => OpenSeries;
|
|
32
35
|
/** What an earlier run stored, or `undefined` when nothing readable was. */
|
|
33
36
|
declare const readStored: <T>(storage: BackgroundSyncStorage, key: string) => Promise<T | undefined>;
|
|
34
|
-
export { IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult, };
|
|
37
|
+
export { hasEnded, IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult, };
|
|
35
38
|
export type { Reading, RecordingSeries };
|
|
36
39
|
//# sourceMappingURL=series-slots.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"series-slots.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAsB,MAAM,0BAA0B,CAAC;AAE9E,iGAAiG;AACjG,QAAA,MAAM,OAAO,OAAQ,CAAC;AACtB,QAAA,MAAM,SAAS,OAAQ,CAAC;AACxB,QAAA,MAAM,aAAa,QAAc,CAAC;AAMlC,gFAAgF;AAChF,QAAA,MAAM,YAAY,aAA0B,CAAC;AAE7C,KAAK,OAAO,GAAG;IAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF,qDAAqD;AACrD,UAAU,eAAe;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC9C;AAID,mFAAmF;AACnF,QAAA,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,KAAK,MAAM,KAAG,OAEmB,CAAC;AAEpE,QAAA,MAAM,SAAS,GAAI,QAAQ,eAAe,KAAG,MACgC,CAAC;AA8C9E,kFAAkF;AAClF,QAAA,MAAM,QAAQ,GAAI,QAAQ,eAAe,KAAG,cAAc,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"series-slots.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAsB,MAAM,0BAA0B,CAAC;AAE9E,iGAAiG;AACjG,QAAA,MAAM,OAAO,OAAQ,CAAC;AACtB,QAAA,MAAM,SAAS,OAAQ,CAAC;AACxB,QAAA,MAAM,aAAa,QAAc,CAAC;AAMlC,gFAAgF;AAChF,QAAA,MAAM,YAAY,aAA0B,CAAC;AAE7C,KAAK,OAAO,GAAG;IAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF,qDAAqD;AACrD,UAAU,eAAe;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC9C;AAID,mFAAmF;AACnF,QAAA,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,KAAK,MAAM,KAAG,OAEmB,CAAC;AAEpE,0GAA0G;AAC1G,QAAA,MAAM,QAAQ,GAAI,QAAQ,eAAe,EAAE,KAAK,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,OAC+B,CAAC;AAEvH,QAAA,MAAM,SAAS,GAAI,QAAQ,eAAe,KAAG,MACgC,CAAC;AA8C9E,kFAAkF;AAClF,QAAA,MAAM,QAAQ,GAAI,QAAQ,eAAe,KAAG,cAAc,CAAC,SAAS,CAenE,CAAC;AAEF,kDAAkD;AAClD,QAAA,MAAM,YAAY,GAAI,QAAQ,eAAe,KAAG,UAQ9C,CAAC;AAEH,4EAA4E;AAC5E,QAAA,MAAM,UAAU,GAAU,CAAC,EAAE,SAAS,qBAAqB,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAQ/F,CAAC;AAEF,OAAO,EACL,QAAQ,EACR,aAAa,EACb,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,CAAC;AACF,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -23,6 +23,12 @@ interface BackgroundSyncOptions<T extends DeviceKey = DeviceKey> {
|
|
|
23
23
|
storage: BackgroundSyncStorage;
|
|
24
24
|
/** Called after a result is persisted. Resolve only after the result is accepted. */
|
|
25
25
|
onResult: (result: BackgroundSyncResult<T>) => Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Takes every result that is due at once, so a device emptying its memory is saved in a few requests rather than one
|
|
28
|
+
* a reading. Resolve only after all of them are accepted. When it rejects, each is delivered by `onResult` on its
|
|
29
|
+
* own, so one that can't be saved doesn't hold back the rest; delivering a result twice must be harmless.
|
|
30
|
+
*/
|
|
31
|
+
onResults?: (results: BackgroundSyncResult<T>[]) => Promise<void>;
|
|
26
32
|
/**
|
|
27
33
|
* Returns the stable, opaque key for the account currently able to accept a
|
|
28
34
|
* result. Required at runtime before queueing or delivering account-owned data.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/background-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,UAAU,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC5D,SAAQ,cAAc,CAAC,CAAC,CAAC;IAEzB,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IAEjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAE7D,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mGAAmG;IACnG,OAAO,EAAE,qBAAqB,CAAC;IAE/B,qFAAqF;IACrF,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAEvC,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sFAAsF;IACtF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,wCAAwC,CAAC;KAC9D,CAAC;IAEF,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAE9D,0EAA0E;QAC1E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAC5D,IAAI,CAAC,EACD,uBAAuB,CAAC,MAAM,CAAC,GAC/B,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5E,CAAC;IAEF,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"background-sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/background-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,UAAU,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC5D,SAAQ,cAAc,CAAC,CAAC,CAAC;IAEzB,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IAEjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAE7D,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mGAAmG;IACnG,OAAO,EAAE,qBAAqB,CAAC;IAE/B,qFAAqF;IACrF,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAEvC,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sFAAsF;IACtF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,wCAAwC,CAAC;KAC9D,CAAC;IAEF,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAE9D,0EAA0E;QAC1E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAC5D,IAAI,CAAC,EACD,uBAAuB,CAAC,MAAM,CAAC,GAC/B,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5E,CAAC;IAEF,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -16,6 +16,11 @@ interface ResultCallback<T extends DeviceKey> {
|
|
|
16
16
|
* `data` then holds each property's mean, from the series' start.
|
|
17
17
|
*/
|
|
18
18
|
series?: MeasurementSeries;
|
|
19
|
+
/**
|
|
20
|
+
* The account a series was recorded for. It closes later, perhaps after someone else signs in, and is queued for
|
|
21
|
+
* this account, not for whoever is signed in then.
|
|
22
|
+
*/
|
|
23
|
+
recordedFor?: string;
|
|
19
24
|
}
|
|
20
25
|
export type { ResultCallback, ResultCallbackData };
|
|
21
26
|
//# sourceMappingURL=result-callback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-callback.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAClD,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GACnB,KAAK,CAAC;AAEV,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,YAAY,CACzD,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC;AAEF,UAAU,cAAc,CAAC,CAAC,SAAS,SAAS;IAE1C,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"result-callback.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAClD,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GACnB,KAAK,CAAC;AAEV,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,YAAY,CACzD,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC;AAEF,UAAU,cAAc,CAAC,CAAC,SAAS,SAAS;IAE1C,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"healthkit-series.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/utils/healthkit-series.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,wBAAwB,EAAuB,MAAM,oCAAoC,CAAC;AAG9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GACtB,gBAAgB,wBAAwB,EACxC,WAAW,IAAI,KACd,OAAO,CAAC;IAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"healthkit-series.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/utils/healthkit-series.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,wBAAwB,EAAuB,MAAM,oCAAoC,CAAC;AAG9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GACtB,gBAAgB,wBAAwB,EACxC,WAAW,IAAI,KACd,OAAO,CAAC;IAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CA6BzD,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,
|
|
1
|
+
{"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,sBAiiBF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-sync-coordinator.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"background-sync-coordinator.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAGL,iBAAiB,EAGlB,MAAM,yBAAyB,CAAC;AAEjC,+GAA+G;AAC/G,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG;IACxE,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACvC,CAAC;AAWF,cAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS;IACjD,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;gBAEhC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAI1C,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAInD,OAAO,GAAI,QAAQ,cAAc,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CA6BzD;IAEK,KAAK,GAAI,UAAS,0BAA+B,KAAG,OAAO,CAAC,IAAI,CAAC,CAOnE;IAEL;;;OAGG;IACI,SAAS,QAAO,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAgB;IAEzE,4GAA4G;IACrG,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAUrD;IAEF,OAAO,CAAC,OAAO,CAeb;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,UAAU,CAoEhB;CACH;AAED,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,CAAC;AACxD,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StoredBackgroundSyncItem } from "./background-sync-queue";
|
|
2
|
+
import { BackgroundSyncOptions } from "../../types/background-sync";
|
|
3
|
+
import { DeviceKey } from "../../types/device-key";
|
|
4
|
+
/** Hands every due result to `onResults` at once; whether they were all accepted, and so taken off the queue. */
|
|
5
|
+
declare const deliverTogether: <T extends DeviceKey>(queue: StoredBackgroundSyncItem<T>[], due: StoredBackgroundSyncItem<T>[], syncOptions: BackgroundSyncOptions<T>) => Promise<boolean>;
|
|
6
|
+
/** Hands one result to `onResult`: off the queue once accepted, otherwise tried again later, or kept as exhausted. */
|
|
7
|
+
declare const deliver: <T extends DeviceKey>(queue: StoredBackgroundSyncItem<T>[], item: StoredBackgroundSyncItem<T>, syncOptions: BackgroundSyncOptions<T>) => Promise<void>;
|
|
8
|
+
export { deliver, deliverTogether };
|
|
9
|
+
//# sourceMappingURL=background-sync-delivery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-sync-delivery.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/background-sync/background-sync-delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGxE,OAAO,EAAE,qBAAqB,EAAwB,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,iHAAiH;AACjH,QAAA,MAAM,eAAe,GAAU,CAAC,SAAS,SAAS,EAChD,OAAO,wBAAwB,CAAC,CAAC,CAAC,EAAE,EACpC,KAAK,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAClC,aAAa,qBAAqB,CAAC,CAAC,CAAC,KACpC,OAAO,CAAC,OAAO,CAoBjB,CAAC;AAEF,sHAAsH;AACtH,QAAA,MAAM,OAAO,GAAU,CAAC,SAAS,SAAS,EACxC,OAAO,wBAAwB,CAAC,CAAC,CAAC,EAAE,EACpC,MAAM,wBAAwB,CAAC,CAAC,CAAC,EACjC,aAAa,qBAAqB,CAAC,CAAC,CAAC,KACpC,OAAO,CAAC,IAAI,CA4Cd,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -27,6 +27,8 @@ interface BTManagerOptions {
|
|
|
27
27
|
* results queue in. Without it they live in memory, and a closed app loses the series it was recording.
|
|
28
28
|
*/
|
|
29
29
|
seriesStorage?: BackgroundSyncStorage;
|
|
30
|
+
/** The signed-in account, which each series is recorded for. */
|
|
31
|
+
getOwnerKey?: () => string | undefined;
|
|
30
32
|
clockSync?: ClockSyncOptions;
|
|
31
33
|
/** Connect one newly discovered device automatically after the scan settles. */
|
|
32
34
|
autoConnect?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EACV,MAAM,EAIP,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,UAAU,gBAAgB;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE7D;;;OAGG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ interface SeriesRecorderOptions {
|
|
|
9
9
|
storage?: BackgroundSyncStorage;
|
|
10
10
|
storageKey?: string;
|
|
11
11
|
now?: () => number;
|
|
12
|
+
/** The signed-in account: a series is recorded for it and queued for it, even if someone else signs in meanwhile. */
|
|
13
|
+
getOwnerKey?: () => string | undefined;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* Keeps each device's live values of a kind as a series of one-second slots, for a result policy of `"series"`. A
|
|
@@ -29,7 +31,7 @@ declare class SeriesRecorder {
|
|
|
29
31
|
constructor(options?: SeriesRecorderOptions);
|
|
30
32
|
/** Records a reading's values, or returns false for a stored record, which isn't part of a series. */
|
|
31
33
|
add: (deviceData: DeviceData, reading: Reading) => boolean;
|
|
32
|
-
/** Closes every series that
|
|
34
|
+
/** Closes every series that's over: quiet, full, or another account's (handed to that account). Call it now and then. */
|
|
33
35
|
closeIdle: () => void;
|
|
34
36
|
/** Hands closed series to `receiver`, those waiting and those still to close; `undefined` makes them wait. */
|
|
35
37
|
deliverTo: (receiver: ((result: ResultCallback<DeviceKey>) => void) | undefined) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"series-recorder.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAML,OAAO,EAMR,MAAM,gBAAgB,CAAC;AAexB,UAAU,qBAAqB;IAE7B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"series-recorder.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAML,OAAO,EAMR,MAAM,gBAAgB,CAAC;AAexB,UAAU,qBAAqB;IAE7B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAEnB,qHAAqH;IACrH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;;;;GAKG;AACH,cAAM,cAAc;IAUC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,QAAQ,CAA4D;IAC5E,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAEL,OAAO,GAAE,qBAA0B;IAIvE,sGAAsG;IAC/F,GAAG,GAAI,YAAY,UAAU,EAAE,SAAS,OAAO,KAAG,OAAO,CAqD9D;IAEF,yHAAyH;IAClH,SAAS,QAAO,IAAI,CAMzB;IAEF,8GAA8G;IACvG,SAAS,GAAI,UAAU,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,KAAG,IAAI,CAG5F;IAEF,sGAAsG;IAC/F,OAAO,QAAO,SAAS,UAAU,EAAE,CAAkB;IAErD,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAMrD;IAEF,+FAA+F;IACxF,OAAO,QAAO,OAAO,CAAC,IAAI,CAAC,CAKhC;IAEF,OAAO,CAAC,GAAG,CAAoD;IAE/D,OAAO,CAAC,KAAK,CAYX;IAEF,OAAO,CAAC,OAAO,CAYb;IAEF,OAAO,CAAC,OAAO,CAGb;IAEF,OAAO,CAAC,SAAS,CASf;IAEF,6EAA6E;IAC7E,OAAO,CAAC,KAAK,CAiBX;IAEF;;;OAGG;IACH,OAAO,CAAC,OAAO,CAqBb;CACH;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -17,6 +17,7 @@ type Reading = {
|
|
|
17
17
|
/** A series as it is kept and stored: plain JSON. */
|
|
18
18
|
interface RecordingSeries {
|
|
19
19
|
deviceData: DeviceData;
|
|
20
|
+
ownerKey?: string;
|
|
20
21
|
measurementTypeKey: MeasurementTypeKey;
|
|
21
22
|
start: number;
|
|
22
23
|
updatedAt: number;
|
|
@@ -24,6 +25,8 @@ interface RecordingSeries {
|
|
|
24
25
|
}
|
|
25
26
|
/** Whether a reading is a live value rather than a stored record dated earlier. */
|
|
26
27
|
declare const isLive: (reading: Reading, now: number) => boolean;
|
|
28
|
+
/** Whether a series takes no more values: it went quiet, is full, or was recorded for another account. */
|
|
29
|
+
declare const hasEnded: (series: RecordingSeries, now: number, ownerKey: string | undefined) => boolean;
|
|
27
30
|
declare const slotCount: (series: RecordingSeries) => number;
|
|
28
31
|
/** A closed series as a result: its values in `series`, their means in `data`. */
|
|
29
32
|
declare const toResult: (series: RecordingSeries) => ResultCallback<DeviceKey>;
|
|
@@ -31,6 +34,6 @@ declare const toResult: (series: RecordingSeries) => ResultCallback<DeviceKey>;
|
|
|
31
34
|
declare const toOpenSeries: (series: RecordingSeries) => OpenSeries;
|
|
32
35
|
/** What an earlier run stored, or `undefined` when nothing readable was. */
|
|
33
36
|
declare const readStored: <T>(storage: BackgroundSyncStorage, key: string) => Promise<T | undefined>;
|
|
34
|
-
export { IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult, };
|
|
37
|
+
export { hasEnded, IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult, };
|
|
35
38
|
export type { Reading, RecordingSeries };
|
|
36
39
|
//# sourceMappingURL=series-slots.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"series-slots.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAsB,MAAM,0BAA0B,CAAC;AAE9E,iGAAiG;AACjG,QAAA,MAAM,OAAO,OAAQ,CAAC;AACtB,QAAA,MAAM,SAAS,OAAQ,CAAC;AACxB,QAAA,MAAM,aAAa,QAAc,CAAC;AAMlC,gFAAgF;AAChF,QAAA,MAAM,YAAY,aAA0B,CAAC;AAE7C,KAAK,OAAO,GAAG;IAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF,qDAAqD;AACrD,UAAU,eAAe;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC9C;AAID,mFAAmF;AACnF,QAAA,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,KAAK,MAAM,KAAG,OAEmB,CAAC;AAEpE,QAAA,MAAM,SAAS,GAAI,QAAQ,eAAe,KAAG,MACgC,CAAC;AA8C9E,kFAAkF;AAClF,QAAA,MAAM,QAAQ,GAAI,QAAQ,eAAe,KAAG,cAAc,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"series-slots.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAsB,MAAM,0BAA0B,CAAC;AAE9E,iGAAiG;AACjG,QAAA,MAAM,OAAO,OAAQ,CAAC;AACtB,QAAA,MAAM,SAAS,OAAQ,CAAC;AACxB,QAAA,MAAM,aAAa,QAAc,CAAC;AAMlC,gFAAgF;AAChF,QAAA,MAAM,YAAY,aAA0B,CAAC;AAE7C,KAAK,OAAO,GAAG;IAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF,qDAAqD;AACrD,UAAU,eAAe;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC9C;AAID,mFAAmF;AACnF,QAAA,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,KAAK,MAAM,KAAG,OAEmB,CAAC;AAEpE,0GAA0G;AAC1G,QAAA,MAAM,QAAQ,GAAI,QAAQ,eAAe,EAAE,KAAK,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,OAC+B,CAAC;AAEvH,QAAA,MAAM,SAAS,GAAI,QAAQ,eAAe,KAAG,MACgC,CAAC;AA8C9E,kFAAkF;AAClF,QAAA,MAAM,QAAQ,GAAI,QAAQ,eAAe,KAAG,cAAc,CAAC,SAAS,CAenE,CAAC;AAEF,kDAAkD;AAClD,QAAA,MAAM,YAAY,GAAI,QAAQ,eAAe,KAAG,UAQ9C,CAAC;AAEH,4EAA4E;AAC5E,QAAA,MAAM,UAAU,GAAU,CAAC,EAAE,SAAS,qBAAqB,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAQ/F,CAAC;AAEF,OAAO,EACL,QAAQ,EACR,aAAa,EACb,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,CAAC;AACF,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -23,6 +23,12 @@ interface BackgroundSyncOptions<T extends DeviceKey = DeviceKey> {
|
|
|
23
23
|
storage: BackgroundSyncStorage;
|
|
24
24
|
/** Called after a result is persisted. Resolve only after the result is accepted. */
|
|
25
25
|
onResult: (result: BackgroundSyncResult<T>) => Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Takes every result that is due at once, so a device emptying its memory is saved in a few requests rather than one
|
|
28
|
+
* a reading. Resolve only after all of them are accepted. When it rejects, each is delivered by `onResult` on its
|
|
29
|
+
* own, so one that can't be saved doesn't hold back the rest; delivering a result twice must be harmless.
|
|
30
|
+
*/
|
|
31
|
+
onResults?: (results: BackgroundSyncResult<T>[]) => Promise<void>;
|
|
26
32
|
/**
|
|
27
33
|
* Returns the stable, opaque key for the account currently able to accept a
|
|
28
34
|
* result. Required at runtime before queueing or delivering account-owned data.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/background-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,UAAU,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC5D,SAAQ,cAAc,CAAC,CAAC,CAAC;IAEzB,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IAEjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAE7D,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mGAAmG;IACnG,OAAO,EAAE,qBAAqB,CAAC;IAE/B,qFAAqF;IACrF,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAEvC,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sFAAsF;IACtF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,wCAAwC,CAAC;KAC9D,CAAC;IAEF,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAE9D,0EAA0E;QAC1E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAC5D,IAAI,CAAC,EACD,uBAAuB,CAAC,MAAM,CAAC,GAC/B,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5E,CAAC;IAEF,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"background-sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/background-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,UAAU,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC5D,SAAQ,cAAc,CAAC,CAAC,CAAC;IAEzB,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IAEjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAE7D,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mGAAmG;IACnG,OAAO,EAAE,qBAAqB,CAAC;IAE/B,qFAAqF;IACrF,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAEvC,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sFAAsF;IACtF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,wCAAwC,CAAC;KAC9D,CAAC;IAEF,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAE9D,0EAA0E;QAC1E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAC5D,IAAI,CAAC,EACD,uBAAuB,CAAC,MAAM,CAAC,GAC/B,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5E,CAAC;IAEF,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -16,6 +16,11 @@ interface ResultCallback<T extends DeviceKey> {
|
|
|
16
16
|
* `data` then holds each property's mean, from the series' start.
|
|
17
17
|
*/
|
|
18
18
|
series?: MeasurementSeries;
|
|
19
|
+
/**
|
|
20
|
+
* The account a series was recorded for. It closes later, perhaps after someone else signs in, and is queued for
|
|
21
|
+
* this account, not for whoever is signed in then.
|
|
22
|
+
*/
|
|
23
|
+
recordedFor?: string;
|
|
19
24
|
}
|
|
20
25
|
export type { ResultCallback, ResultCallbackData };
|
|
21
26
|
//# sourceMappingURL=result-callback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-callback.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAClD,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GACnB,KAAK,CAAC;AAEV,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,YAAY,CACzD,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC;AAEF,UAAU,cAAc,CAAC,CAAC,SAAS,SAAS;IAE1C,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"result-callback.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAClD,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GACnB,KAAK,CAAC;AAEV,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,YAAY,CACzD,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC;AAEF,UAAU,cAAc,CAAC,CAAC,SAAS,SAAS;IAE1C,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"healthkit-series.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/utils/healthkit-series.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,wBAAwB,EAAuB,MAAM,oCAAoC,CAAC;AAG9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GACtB,gBAAgB,wBAAwB,EACxC,WAAW,IAAI,KACd,OAAO,CAAC;IAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"healthkit-series.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/utils/healthkit-series.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,wBAAwB,EAAuB,MAAM,oCAAoC,CAAC;AAG9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GACtB,gBAAgB,wBAAwB,EACxC,WAAW,IAAI,KACd,OAAO,CAAC;IAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CA6BzD,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|