@dderevjanik/termux-api
Version:
This library allows you to interact with your Android device from Node.js using termux-api
40 lines (39 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.smsList = smsList;
const child_process_1 = require("child_process");
/**
* List sms messages
*
* **Requires permission:** `android.permission.READ_SMS` and `android.permission.READ_CONTACTS`
*/
async function smsList(options = {}) {
const opts = {
limit: 10,
offset: 0,
type: "all",
...options,
};
return new Promise((resolve, reject) => {
const command = `termux-sms-list -l ${opts.limit} -o ${opts.offset} -t ${opts.type}`;
(0, child_process_1.exec)(command, (error, stdout, stderr) => {
if (error) {
return reject(`Error: ${error.message}`);
}
if (stderr) {
return reject(`Error: ${stderr}`);
}
const output = stdout.trim();
if (output.length === 0) {
return reject(`Error: No messages found`);
}
try {
const messages = JSON.parse(output);
return resolve(messages);
}
catch (e) {
return reject(`Error: ${e.message}`);
}
});
});
}