New mobile/ directory with Capacitor project: - Configurable server URL launcher (default: app.pedshub.com) - Android: foreground service + wake lock for background recording (AudioRecordingService preserved from existing TWA) - iOS: background audio mode + microphone permission - App ID: com.pedshub.scribe - Both platforms initialized and synced Existing android/ TWA project untouched — this is a separate project. Build: cd mobile && npx cap open android (or ios)
39 lines
1 KiB
JavaScript
39 lines
1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.formatHrTime = exports.dropWhile = exports.enforceLF = exports.identity = void 0;
|
|
function identity(v) {
|
|
return v;
|
|
}
|
|
exports.identity = identity;
|
|
function enforceLF(str) {
|
|
return str.match(/[\r\n]$/) ? str : str + '\n';
|
|
}
|
|
exports.enforceLF = enforceLF;
|
|
function dropWhile(array, predicate = v => !!v) {
|
|
let done = false;
|
|
return array.filter(item => {
|
|
if (done) {
|
|
return true;
|
|
}
|
|
if (predicate(item)) {
|
|
return false;
|
|
}
|
|
else {
|
|
done = true;
|
|
return true;
|
|
}
|
|
});
|
|
}
|
|
exports.dropWhile = dropWhile;
|
|
const TIME_UNITS = ['s', 'ms', 'μs'];
|
|
function formatHrTime(hrtime) {
|
|
let time = hrtime[0] + hrtime[1] / 1e9;
|
|
let index = 0;
|
|
for (; index < TIME_UNITS.length - 1; index++, time *= 1000) {
|
|
if (time >= 1) {
|
|
break;
|
|
}
|
|
}
|
|
return time.toFixed(2) + TIME_UNITS[index];
|
|
}
|
|
exports.formatHrTime = formatHrTime;
|